Merge commit 'add5e8b9bc' into sync-6.x-to-master220213

# Conflicts: easy
#	appserver/admingui/devtests/hudson.xml
#	appserver/admingui/devtests/pom.xml
#	appserver/admingui/devtests/run_test.sh
#	appserver/pom.xml
#	nucleus/parent/pom.xml

Signed-off-by: David Matějček <dmatej@seznam.cz>
diff --git a/.gitignore b/.gitignore
index ae055f2..b326fa7 100644
--- a/.gitignore
+++ b/.gitignore
@@ -17,3 +17,18 @@
 appserver/security/jaspic-provider-framework/auth.conf
 appserver/tests/appserv-tests/devtests/web/JSESSIONID
 /bundles/
+appserver/tests/appserv-tests/devtests/**/count.txt
+appserver/tests/appserv-tests/devtests/connector/v3/testdb/
+appserver/tests/appserv-tests/devtests/connector/v3/**/*.log
+appserver/tests/appserv-tests/devtests/connector/v3/**/*.lck
+appserver/tests/appserv-tests/devtests/connector/v3/**/*.ctrl
+appserver/tests/appserv-tests/devtests/connector/v3/**/*.dat
+appserver/tests/appserv-tests/devtests/connector/v3/**/README_DO_NOT*.txt
+appserver/tests/appserv-tests/devtests/connector/v3/**/service.properties
+appserver/tests/appserv-tests/devtests/connector/**/*.[rj]ar
+appserver/tests/appserv-tests/devtests/connector/**/tmp-*/
+appserver/tests/appserv-tests/devtests/connector/**/seg0/
+
+appserver/tests/appserv-tests/devtests/jdbc/jpa-dsd/client/Client.java
+appserver/tests/appserv-tests/devtests/jdbc/jpa-dsd/ejb/SfulBean.java
+
diff --git a/Jenkinsfile b/Jenkinsfile
index 8ff6f63..6b567d9 100644
--- a/Jenkinsfile
+++ b/Jenkinsfile
@@ -31,7 +31,14 @@
   "ejb_group_1",
   "ejb_group_2",
   "ejb_group_3",
-  "ejb_group_embedded"
+  "ejb_group_embedded",
+  "batch_all",
+  "connector_group_1",
+  "connector_group_2",
+  "connector_group_3",
+  "connector_group_4",
+  "jdbc_all",
+  "persistence_all"
 ]
 
 def parallelStagesMap = jobs.collectEntries {
@@ -95,16 +102,16 @@
       node(label) {
         stage("${job}") {
           container('glassfish-build') {
-            retry(5) {
-              sleep 1
-              checkout scm
-            }
             unstash 'build-bundles'
+            sh """
+              mkdir -p ${WORKSPACE}/appserver/tests
+              tar -xzf ${WORKSPACE}/bundles/appserv_tests.tar.gz -C ${WORKSPACE}/appserver/tests
+            """
             try {
               timeout(time: 1, unit: 'HOURS') {
                 sh """
-                  export CLASSPATH=$WORKSPACE/glassfish6/javadb
-                  ./appserver/tests/gftest.sh run_test ${job}
+                  export CLASSPATH=${WORKSPACE}/glassfish6/javadb
+                  ${WORKSPACE}/appserver/tests/gftest.sh run_test ${job}
                 """
               }
             } finally {
@@ -258,7 +265,9 @@
               # Until we fix ANTLR in cmp-support-sqlstore, broken in parallel builds. Just -Pfast after the fix.
               mvn clean install -Pfastest,staging -T4C
               ./gfbuild.sh archive_bundles
-              ls -la ./bundles
+              mvn clean
+              tar -c -C ${WORKSPACE}/appserver/tests common_test.sh gftest.sh appserv-tests quicklook | gzip --fast > ${WORKSPACE}/bundles/appserv_tests.tar.gz
+              ls -la ${WORKSPACE}/bundles
             '''
             archiveArtifacts artifacts: 'bundles/*.zip'
             stash includes: 'bundles/*', name: 'build-bundles'
diff --git a/appserver/admingui/devtests/README.txt b/appserver/admingui/devtests/README.txt
deleted file mode 100644
index c410279..0000000
--- a/appserver/admingui/devtests/README.txt
+++ /dev/null
@@ -1,15 +0,0 @@
-To Run these tests:
-
-    Start your server (admin port should be on port 4848)
-    > .../asadmin start-domain
-    > mvn test
-
-To Run individual test: mvn -Dtest=<TEST_CLASSNAME>  test 
-    > mvn -Dtest=JdbcTest test 
-
-
-To Run single or multiple method within the same class: mvn -Dtest=<TEST_CLASSNAME> -Dmethod=<method-name>,<method-name>
-    > mvn -Dtest=ClusterTest -Dmethod=testClusterInstancesTab,testMigrateEjbTimers
-
-To learn how to write the devtests,  refer to this blog:
-http://blogs.steeplesoft.com/2010/03/writing-selenium-tests-for-the-glassfish-admin-console/
diff --git a/appserver/admingui/devtests/hudson.xml b/appserver/admingui/devtests/hudson.xml
deleted file mode 100644
index 8e00bb6..0000000
--- a/appserver/admingui/devtests/hudson.xml
+++ /dev/null
@@ -1,185 +0,0 @@
-<!--
-
-    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
-    http://www.eclipse.org/legal/epl-2.0.
-
-    This Source Code may also be made available under the following Secondary
-    Licenses when the conditions for such availability set forth in the
-    Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
-    version 2 with the GNU Classpath Exception, which is available at
-    https://www.gnu.org/software/classpath/license.html.
-
-    SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
-
--->
-
-<!--
-    To use this file, the Maven Ant tasks and Ant Contrib must be added to the local Ant installation
--->
-
-<project name="GlassFish Admin Console Dev Test Hudson Helper" default="test" basedir="."
-         xmlns:artifact="antlib:org.apache.maven.artifact.ant">
-
-    <tstamp/>
-    <property file="test.properties"/>
-    <property environment="env"/>
-
-    <property name="install.dir" value="binaries/${TSTAMP}"/>
-    <property name="server.dir" value="${install.dir}/glassfish7"/>
-    <property name="maven.dir" value="${install.dir}/${maven.version}"/>
-    <property name="glassfish.download.dir" value="."/>
-    <property name="glassfish.download" value="${glassfish.download.dir}/glassfish.zip"/>
-
-    <property name="http.proxyHost" value=""/>
-    <property name="http.proxyPort" value=""/>
-
-    <property name="BROWSER" value="firefox"/>
-    <property name="GUI_ADMIN_PORT" value="4848"/>
-    <property name="DOMAIN" value="domain1"/>
-    <property name="RELEASEAFTER" value="true"/>
-    <property name="SLOWDOWN" value="true"/>
-
-    <property name="env.ADMIN_PORT" value="14848"/>
-    <property name="env.INSTANCE_PORT" value="18080"/>
-    <property name="env.JMS_PORT" value="17676"/>
-    <property name="env.JMX_PORT" value="18686"/>
-    <property name="env.ORB_PORT" value="13700"/>
-    <property name="env.SSL_PORT" value="18181"/>
-    <property name="env.ORB_SSL_PORT" value="13820"/>
-    <property name="env.ORB_SSL_MUTUALAUTH_PORT" value="13920"/>
-    <property name="env.OSGI_SHELL" value="16666"/>
-    <property name="env.DEBUGGER_PORT" value="19009"/>
-
-    <property name="env.MAVEN_HOME" value="${user.home}/.m2"/>
-
-    <property name="ant.contrib.url"
-              value="http://mirrors.ibiblio.org/pub/mirrors/maven2/ant-contrib/ant-contrib/1.0b3/ant-contrib-1.0b3.jar"/>
-    <property name="maven.ant.tasks.url"
-              value="https://repo1.maven.org/maven2/org/apache/maven/maven-ant-tasks/2.1.1/maven-ant-tasks-2.1.1.jar"/>
-    <property name="glassfish.dist.url"
-              value="http://hudson.glassfish.org/job/gf-trunk-build-continuous/lastSuccessfulBuild/artifact/bundles/glassfish.zip"/>
-
-    <target name="download">
-        <get src="${glassfish.dist.url}" dest="${glassfish.download}" usetimestamp="true"/>
-
-        <delete dir="binaries" failonerror="false" />
-        <mkdir dir="${install.dir}"/>
-        <unzip src="${glassfish.download}" dest="${install.dir}"/>
-        <if>
-            <not>
-                <os family="windows"/>
-            </not>
-            <then>
-                <chmod perm="a+x" file="${executable}"/>
-                <chmod perm="a+x" file="${server.dir}/glassfish/bin/asadmin"/>
-            </then>
-        </if>
-        <antcall target="shutdown-server"/>
-    </target>
-
-    <target name="setup">
-        <get src="${ant.contrib.url}" dest="ant-contrib.jar" skipexisting="true"/>
-        <get src="${maven.ant.tasks.url}" dest="maven-ant-tasks.jar" skipexisting="true"/>
-        <taskdef resource="net/sf/antcontrib/antlib.xml" classpath="ant-contrib.jar"/>
-        <typedef resource="org/apache/maven/artifact/ant/antlib.xml" uri="antlib:org.apache.maven.artifact.ant"
-                 classpath="maven-ant-tasks.jar"/>
-
-        <if>
-            <os family="windows"/>
-            <then>
-                <property name="executable" value="${server.dir}/bin/asadmin.bat"/>
-            </then>
-            <else>
-                <property name="executable" value="${server.dir}/bin/asadmin"/>
-            </else>
-        </if>
-    </target>
-
-    <target name="recreate-domain" depends="shutdown-server">
-        <echo>
-            Port assigments:
-            Admin port: ${env.ADMIN_PORT}
-            Instance port: ${env.INSTANCE_PORT}
-            JMS Port: ${env.JMS_PORT}
-            JMX Port: ${env.JMX_PORT}
-            ORB Port: ${env.ORB_PORT}
-            SSL Port: ${env.SSL_PORT}
-            ORB SSL Port: ${env.ORB_SSL_PORT}
-            ORB SSL Mutual Auth Port: ${env.ORB_SSL_MUTUALAUTH_PORT}
-            OSGi Shell: ${env.OSGI_SHELL}
-            JAVA Debugger Port: ${env.DEBUGGER_PORT}
-        </echo>
-
-        <exec executable="${executable}">
-            <arg value="--port"/>
-            <arg value="${env.ADMIN_PORT}"/>
-            <arg value="delete-domain"/>
-            <arg value="${DOMAIN}"/>
-        </exec>
-
-        <delete dir="${server.dir}/glassfish/domains/domain1" failonerror="false" deleteonexit="true"/>
-
-        <exec executable="${executable}">
-            <arg value="--port"/>
-            <arg value="${env.ADMIN_PORT}"/>
-            <arg value="create-domain"/>
-            <arg value="--adminport"/>
-            <arg value="${env.ADMIN_PORT}"/>
-            <arg value="--nopassword=true"/>
-            <arg value="--domainproperties"/>
-            <arg value="jms.port=${env.JMS_PORT}:domain.jmxPort=${env.JMX_PORT}:orb.listener.port=${env.ORB_PORT}:http.ssl.port=${env.SSL_PORT}:orb.ssl.port=${env.ORB_SSL_PORT}:orb.mutualauth.port=${env.ORB_SSL_MUTUALAUTH_PORT}:osgi.shell.telnet.port=${env.OSGI_SHELL}:java.debugger.port=${env.DEBUGGER_PORT}"/>
-            <arg value="--instanceport"/>
-            <arg value="${env.INSTANCE_PORT}"/>
-            <arg value="${DOMAIN}"/>
-        </exec>
-    </target>
-
-    <target name="start-server" depends="recreate-domain">
-        <echo message="***** Starting GlassFish"/>
-        <exec executable="${executable}">
-            <arg value="start-domain"/>
-            <arg value="${DOMAIN}"/>
-        </exec>
-    </target>
-
-    <target name="test" depends="setup,download">
-        <trycatch>
-            <try>
-                <antcall target="start-server"/>
-                <artifact:mvn pom="pom.xml" fork="true" mavenHome="${env.MAVEN_HOME}" failonerror="false" resultproperty="test.result">
-                    <arg value="-Dhttp.proxyHost=${http.proxyHost}"/>
-                    <arg value="-Dhttp.proxyPort=${http.proxyPort}"/>
-                    <arg value="-Dadmin.port=${env.ADMIN_PORT}"/>
-                    <arg value="-Dinstance.port=${env.INSTANCE_PORT}"/>
-                    <arg value="-Dbrowser=${BROWSER}"/>
-                    <arg value="-DreleaseAfter=${RELEASEAFTER}"/>
-                    <arg value="-DslowDown=${SLOWDOWN}"/>
-                    <arg value="-Dtest=${testClasses}"/>
-                    <arg value="test"/>
-                </artifact:mvn>
-            </try>
-            <finally>
-                <antcall target="shutdown-server"/>
-                <delete dir="${install.dir}" failonerror="false" deleteonexit="true"/>
-            </finally>
-        </trycatch>
-        <fail message="The test run failed.  Please see the console output for details.">
-            <condition>
-                <not>
-                    <equals arg1="${test.result}" arg2="0"/>
-                </not>
-            </condition>
-        </fail>
-    </target>
-
-    <target name="shutdown-server">
-        <echo message="***** Stopping GlassFish"/>
-        <exec executable="${executable}">
-            <arg value="stop-domain"/>
-            <arg value="${DOMAIN}"/>
-        </exec>
-    </target>
-</project>
diff --git a/appserver/admingui/devtests/pom.xml b/appserver/admingui/devtests/pom.xml
deleted file mode 100644
index dffdc43..0000000
--- a/appserver/admingui/devtests/pom.xml
+++ /dev/null
@@ -1,204 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
-
-    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
-    http://www.eclipse.org/legal/epl-2.0.
-
-    This Source Code may also be made available under the following Secondary
-    Licenses when the conditions for such availability set forth in the
-    Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
-    version 2 with the GNU Classpath Exception, which is available 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.admingui</groupId>
-        <artifactId>admingui</artifactId>
-        <version>7.0.0-SNAPSHOT</version>
-        <relativePath>../pom.xml</relativePath>
-    </parent>
-
-    <artifactId>console-devtests</artifactId>
-    <packaging>jar</packaging>
-    <name>Admin Console Dev Tests</name>
-    <description>This module contains the dev tests for the admin console</description>
-
-    <developers>
-        <!-- See parent POM -->
-    </developers>
-
-    <properties>
-        <selenium.version>3.141.59</selenium.version>
-        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
-    </properties>
-
-    <dependencies>
-        <dependency>
-            <groupId>${project.groupId}</groupId>
-            <artifactId>console-common</artifactId>
-            <version>${project.version}</version>
-            <scope>test</scope>
-        </dependency>
-        <dependency>
-            <groupId>${project.groupId}</groupId>
-            <artifactId>console-cluster-plugin</artifactId>
-            <version>${project.version}</version>
-            <scope>test</scope>
-        </dependency>
-        <dependency>
-            <groupId>${project.groupId}</groupId>
-            <artifactId>console-core</artifactId>
-            <version>${project.version}</version>
-            <scope>test</scope>
-        </dependency>
-        <dependency>
-            <groupId>${project.groupId}</groupId>
-            <artifactId>console-jts-plugin</artifactId>
-            <version>${project.version}</version>
-            <scope>test</scope>
-        </dependency>
-        <dependency>
-            <groupId>${project.groupId}</groupId>
-            <artifactId>console-jca-plugin</artifactId>
-            <version>${project.version}</version>
-            <scope>test</scope>
-        </dependency>
-        <dependency>
-            <groupId>${project.groupId}</groupId>
-            <artifactId>console-common-full-plugin</artifactId>
-            <version>${project.version}</version>
-            <scope>test</scope>
-        </dependency>
-        <dependency>
-            <groupId>${project.groupId}</groupId>
-            <artifactId>console-jdbc-plugin</artifactId>
-            <version>${project.version}</version>
-            <scope>test</scope>
-        </dependency>
-        <dependency>
-            <groupId>${project.groupId}</groupId>
-            <artifactId>console-web-plugin</artifactId>
-            <version>${project.version}</version>
-            <scope>test</scope>
-        </dependency>
-        <dependency>
-            <groupId>${project.groupId}</groupId>
-            <artifactId>console-ejb-lite-plugin</artifactId>
-            <version>${project.version}</version>
-            <scope>test</scope>
-        </dependency>
-        <dependency>
-            <groupId>${project.groupId}</groupId>
-            <artifactId>console-ejb-plugin</artifactId>
-            <version>${project.version}</version>
-            <scope>test</scope>
-        </dependency>
-        <dependency>
-            <groupId>${project.groupId}</groupId>
-            <artifactId>console-corba-plugin</artifactId>
-            <version>${project.version}</version>
-            <scope>test</scope>
-        </dependency>
-        <dependency>
-            <groupId>${project.groupId}</groupId>
-            <artifactId>console-jms-plugin</artifactId>
-            <version>${project.version}</version>
-            <scope>test</scope>
-        </dependency>
-        <dependency>
-            <groupId>${project.groupId}</groupId>
-            <artifactId>console-community-branding-plugin</artifactId>
-            <version>${project.version}</version>
-            <scope>test</scope>
-        </dependency>
-        <dependency>
-            <groupId>org.glassfish.jersey.core</groupId>
-            <artifactId>jersey-client</artifactId>
-            <scope>test</scope>
-        </dependency>
-        <dependency>
-            <groupId>org.apache.httpcomponents</groupId>
-            <artifactId>httpclient</artifactId>
-            <version>4.3.3</version>
-        </dependency>
-        <dependency>
-            <groupId>junit</groupId>
-            <artifactId>junit</artifactId>
-            <version>4.13.2</version>
-            <scope>test</scope>
-        </dependency>
-        <dependency>
-            <groupId>org.seleniumhq.selenium</groupId>
-            <artifactId>selenium-server</artifactId>
-            <version>${selenium.version}</version>
-            <exclusions>
-                <exclusion>
-                    <groupId>org.testng</groupId>
-                    <artifactId>testng</artifactId>
-                </exclusion>
-            </exclusions>
-        </dependency>
-        <dependency>
-            <groupId>org.seleniumhq.selenium</groupId>
-            <artifactId>selenium-leg-rc</artifactId>
-            <version>${selenium.version}</version>
-        </dependency>
-        <dependency>
-            <groupId>net.sourceforge.htmlunit</groupId>
-            <artifactId>htmlunit</artifactId>
-            <version>2.8</version>
-            <scope>test</scope>
-        </dependency>
-    </dependencies>
-    <build>
-        <defaultGoal>install</defaultGoal>
-        <pluginManagement>
-            <plugins>
-            <!--
-            <plugin>
-              <groupId>org.codehaus.mojo</groupId>
-              <artifactId>selenium-maven-plugin</artifactId>
-              <version>1.1</version>
-            </plugin>
-            -->
-            </plugins>
-        </pluginManagement>
-        <plugins>
-            <plugin>
-                <artifactId>maven-deploy-plugin</artifactId>
-                <configuration>
-                    <skip>true</skip>
-                </configuration>
-            </plugin>
-            <plugin>
-                <artifactId>maven-jar-plugin</artifactId>
-                <executions>
-                    <execution>
-                        <id>package-tests</id>
-                        <phase>package</phase>
-                        <goals>
-                            <goal>test-jar</goal>
-                        </goals>
-                    </execution>
-                </executions>
-                <configuration>
-                    <archive>
-                        <manifest>
-                            <addClasspath>true</addClasspath>
-                        </manifest>
-                    </archive>
-                </configuration>
-            </plugin>
-        </plugins>
-    </build>
-</project>
diff --git a/appserver/admingui/devtests/run_test.sh b/appserver/admingui/devtests/run_test.sh
deleted file mode 100755
index 12bc1bb..0000000
--- a/appserver/admingui/devtests/run_test.sh
+++ /dev/null
@@ -1,79 +0,0 @@
-#!/bin/bash -ex
-#
-# 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
-# http://www.eclipse.org/legal/epl-2.0.
-#
-# This Source Code may also be made available under the following Secondary
-# Licenses when the conditions for such availability set forth in the
-# Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
-# version 2 with the GNU Classpath Exception, which is available at
-# https://www.gnu.org/software/classpath/license.html.
-#
-# SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
-#
-
-list_test_ids(){
-  echo admingui_all
-}
-
-merge_junit_xmls(){
-  JUD_DIR=${1}
-  JUD=${WORKSPACE}/results/junitreports/test_results_junit.xml
-  rm -f ${JUD} || true
-  echo "<?xml version=\"1.0\" encoding=\"UTF-8\"?>" >> ${JUD}
-  echo "<testsuites>" >> ${JUD}
-  find ${JUD_DIR} -name "*.xml" -type f -exec cat '{}' \; | ${SED} 's/<?xml version=\"1.0\" encoding=\"UTF-8\" ?>//g' >> ${JUD}
-  echo -e "\n</testsuites>" >> ${JUD}
-}
-
-test_run(){
-  export PWD=$(date | md5sum | cut -d' ' -f 1)
-  touch ${APS_HOME}/password.txt
-  chmod 600 ${APS_HOME}/password.txt
-  echo "AS_ADMIN_PASSWORD=" > ${APS_HOME}/password.txt
-  echo "AS_ADMIN_NEWPASSWORD=${PWD}" >> ${APS_HOME}/password.txt
-  LOCKFILE=${S1AS_HOME}/domains/domain1/imq/instances/imqbroker/lockv
-  if [ -f ${LOCKFILE} ];then
-    rm ${LOCKFILE}
-  fi
-  ${S1AS_HOME}/bin/asadmin --user admin --passwordfile ${APS_HOME}/password.txt change-admin-password
-  ${S1AS_HOME}/bin/asadmin start-domain
-  echo "AS_ADMIN_PASSWORD=${PWD}" > ${APS_HOME}/password.txt
-  ${S1AS_HOME}/bin/asadmin --passwordfile ${APS_HOME}/password.txt enable-secure-admin
-  ${S1AS_HOME}/bin/asadmin restart-domain
-  cd ${APS_HOME}/../../admingui/devtests/
-  export DISPLAY=127.0.0.1:1
-  mvn -DsecureAdmin=true -Dpasswordfile=${APS_HOME}/password.txt test | tee ${TEST_RUN_LOG}
-  ${S1AS_HOME}/bin/asadmin stop-domain
-  rm -rf ${APS_HOME}/password.txt
-}
-
-run_test_id(){
-  source `dirname ${0}`/../../tests/common_test.sh
-  kill_process
-  unzip_test_resources ${WORKSPACE}/bundles/glassfish.zip
-  cd `dirname ${0}`
-  test_init
-  test_run
-  merge_junit_xmls ${WORKSPACE}/appserver/admingui/devtests/target/surefire-reports
-  change_junit_report_class_names
-}
-
-post_test_run(){
-  cp $TEST_RUN_LOG ${WORKSPACE}/results/ || true
-  cp ${WORKSPACE}/glassfish7/glassfish/domains/domain1/logs/server.log* ${WORKSPACE}/results/ || true
-  cp ${WORKSPACE}/appserver/admingui/devtests/target/surefire-reports/*.png ${WORKSPACE}/results/ || true
-}
-
-OPT=${1}
-TEST_ID=$2
-case ${OPT} in
-  list_test_ids )
-    list_test_ids;;
-  run_test_id )
-    trap post_test_run SIGTERM SIGABRT EXIT
-    run_test_id ${TEST_ID} ;;
-esac
diff --git a/appserver/admingui/devtests/src/test/java/org/glassfish/admingui/devtests/AdminObjectTest.java b/appserver/admingui/devtests/src/test/java/org/glassfish/admingui/devtests/AdminObjectTest.java
deleted file mode 100644
index 365f532..0000000
--- a/appserver/admingui/devtests/src/test/java/org/glassfish/admingui/devtests/AdminObjectTest.java
+++ /dev/null
@@ -1,165 +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.admingui.devtests;
-
-import static org.junit.Assert.assertTrue;
-import org.junit.Test;
-
-public class AdminObjectTest extends BaseSeleniumTestClass {
-    private static final String TRIGGER_ADMIN_OBJECT_RESOURCES = "i18njca.adminObjectResources.pageTitleHelp";
-
-    private static final String TRIGGER_NEW_ADMIN_OBJECT_RESOURCE = "i18njca.adminObject.NewPageTitleHelp";
-
-    public static final String TRIGGER_EDIT_ADMIN_OBJECT_RESOURCE = "i18njca.adminObjectResource.editPageHelp";
-
-    @Test
-    public void testAdminObjectResources() throws Exception {
-        final String resName = "adminObject" + generateRandomString();
-        final String description = "Admin Object Resource - " + resName;
-
-        StandaloneTest standaloneTest = new StandaloneTest();
-        ClusterTest clusterTest = new ClusterTest();
-        standaloneTest.deleteAllStandaloneInstances();
-        clusterTest.deleteAllClusters();
-
-        //Go to Admin Object Resources Page.
-        clickAndWait("treeForm:tree:resources:Connectors:adminObjectResources:adminObjectResources_link", TRIGGER_ADMIN_OBJECT_RESOURCES);
-
-        //New Admin Object Resources
-        clickAndWait("propertyForm:resourcesTable:topActionsGroup1:newButton", TRIGGER_NEW_ADMIN_OBJECT_RESOURCE);
-
-        setFieldValue("form:propertySheet:propertSectionTextField:nameNew:name", resName);
-        setFieldValue("form:propertySheet:propertSectionTextField:descriptionProp:descAdaptor", description);
-        int count = addTableRow("form:basicTable", "form:basicTable:topActionsGroup1:addButton");
-
-        setFieldValue("form:basicTable:rowGroup1:0:col2:col1St", "property" + generateRandomString());
-        setFieldValue("form:basicTable:rowGroup1:0:col3:col1St", "value");
-        //setFieldValue("form:basicTable:rowGroup1:0:col4:col1St", "description");
-        int emptyCount = getTableRowCountByValue("form:basicTable", "", "col3:col1St", false);
-        count = count - emptyCount;
-        clickAndWait("form:propertyContentPage:topButtons:newButton", TRIGGER_ADMIN_OBJECT_RESOURCES);
-
-        assertTrue(isTextPresent(resName));
-        assertTrue(isTextPresent(description));
-        clickAndWait(getLinkIdByLinkText("propertyForm:resourcesTable", resName), TRIGGER_EDIT_ADMIN_OBJECT_RESOURCE);
-        assertTableRowCount("propertyForm:basicTable", count);
-
-        clickAndWait("propertyForm:propertyContentPage:topButtons:cancelButton", TRIGGER_ADMIN_OBJECT_RESOURCES);
-
-        testDisableButton(resName,
-                "propertyForm:resourcesTable",
-                "propertyForm:resourcesTable:topActionsGroup1:button3",
-                "propertyForm:propertySheet:propertSectionTextField:statusProp:enabled",
-                "propertyForm:propertyContentPage:topButtons:cancelButton",
-                TRIGGER_ADMIN_OBJECT_RESOURCES,
-                TRIGGER_EDIT_ADMIN_OBJECT_RESOURCE,
-                "off");
-        testEnableButton(resName,
-                "propertyForm:resourcesTable",
-                "propertyForm:resourcesTable:topActionsGroup1:button2",
-                "propertyForm:propertySheet:propertSectionTextField:statusProp:enabled",
-                "propertyForm:propertyContentPage:topButtons:cancelButton",
-                TRIGGER_ADMIN_OBJECT_RESOURCES,
-                TRIGGER_EDIT_ADMIN_OBJECT_RESOURCE,
-                "on");
-
-        deleteRow("propertyForm:resourcesTable:topActionsGroup1:button1", "propertyForm:resourcesTable", resName);
-    }
-
-    @Test
-    public void testAdminObjectResourcesWithTargets() {
-        final String resName = "adminObject" + generateRandomString();
-        final String description = "Admin Object Resource - " + resName;
-        final String instanceName = "standalone" + generateRandomString();
-        final String enableStatus = "Enabled on 2 of 2 Target(s)";
-        final String disableStatus = "Enabled on 0 of 2 Target(s)";
-
-        StandaloneTest instanceTest = new StandaloneTest();
-        ClusterTest clusterTest = new ClusterTest();
-
-        instanceTest.deleteAllStandaloneInstances();
-        clusterTest.deleteAllClusters();
-
-        instanceTest.createStandAloneInstance(instanceName);
-
-        //Go to Admin Object Resources Page.
-        clickAndWait("treeForm:tree:resources:Connectors:adminObjectResources:adminObjectResources_link", TRIGGER_ADMIN_OBJECT_RESOURCES);
-
-        //New Admin Object Resources
-        clickAndWait("propertyForm:resourcesTable:topActionsGroup1:newButton", TRIGGER_NEW_ADMIN_OBJECT_RESOURCE);
-
-        setFieldValue("form:propertySheet:propertSectionTextField:nameNew:name", resName);
-        setFieldValue("form:propertySheet:propertSectionTextField:descriptionProp:descAdaptor", description);
-        int count = addTableRow("form:basicTable", "form:basicTable:topActionsGroup1:addButton");
-
-        setFieldValue("form:basicTable:rowGroup1:0:col2:col1St", "property" + generateRandomString());
-        setFieldValue("form:basicTable:rowGroup1:0:col3:col1St", "value");
-        //setFieldValue("form:basicTable:rowGroup1:0:col4:col1St", "description");
-
-        int emptyCount = getTableRowCountByValue("form:basicTable", "", "col3:col1St", false);
-        count = count - emptyCount;
-
-        addSelectSelection("form:targetSection:targetSectionId:addRemoveProp:commonAddRemove_available", instanceName);
-        addSelectSelection("form:targetSection:targetSectionId:addRemoveProp:commonAddRemove_available", "server");
-        pressButton("form:targetSection:targetSectionId:addRemoveProp:commonAddRemove:commonAddRemove_addButton");
-
-        clickAndWait("form:propertyContentPage:topButtons:newButton", TRIGGER_ADMIN_OBJECT_RESOURCES);
-
-        assertTrue(isTextPresent(resName));
-        assertTrue(isTextPresent(description));
-        clickAndWait(getLinkIdByLinkText("propertyForm:resourcesTable", resName), TRIGGER_EDIT_ADMIN_OBJECT_RESOURCE);
-        assertTableRowCount("propertyForm:basicTable", count);
-
-        clickAndWait("propertyForm:propertyContentPage:topButtons:cancelButton", TRIGGER_ADMIN_OBJECT_RESOURCES);
-
-        testDisableButton(resName,
-                "propertyForm:resourcesTable",
-                "propertyForm:resourcesTable:topActionsGroup1:button3",
-                "propertyForm:propertySheet:propertSectionTextField:statusProp2:enabledStr",
-                "propertyForm:propertyContentPage:topButtons:cancelButton",
-                TRIGGER_ADMIN_OBJECT_RESOURCES,
-                TRIGGER_EDIT_ADMIN_OBJECT_RESOURCE,
-                disableStatus);
-        testEnableButton(resName,
-                "propertyForm:resourcesTable",
-                "propertyForm:resourcesTable:topActionsGroup1:button2",
-                "propertyForm:propertySheet:propertSectionTextField:statusProp2:enabledStr",
-                "propertyForm:propertyContentPage:topButtons:cancelButton",
-                TRIGGER_ADMIN_OBJECT_RESOURCES,
-                TRIGGER_EDIT_ADMIN_OBJECT_RESOURCE,
-                enableStatus);
-
-        testManageTargets("treeForm:tree:resources:Connectors:adminObjectResources:adminObjectResources_link",
-                "propertyForm:resourcesTable",
-                "propertyForm:targetTable:topActionsGroup1:button2",
-                "propertyForm:targetTable:topActionsGroup1:button3",
-                "propertyForm:propertySheet:propertSectionTextField:statusProp2:enabledStr",
-                "propertyForm:resEditTabs:general",
-                "propertyForm:resEditTabs:targetTab",
-                TRIGGER_ADMIN_OBJECT_RESOURCES,
-                TRIGGER_EDIT_ADMIN_OBJECT_RESOURCE,
-                resName,
-                instanceName);
-
-        // Delete admin object resource
-        deleteRow("propertyForm:resourcesTable:topActionsGroup1:button1", "propertyForm:resourcesTable", resName);
-
-        //Delete the instance
-        clickAndWait("treeForm:tree:standaloneTreeNode:standaloneTreeNode_link", instanceTest.TRIGGER_INSTANCES_PAGE);
-        deleteRow("propertyForm:instancesTable:topActionsGroup1:button1", "propertyForm:instancesTable", instanceName);
-    }
-}
diff --git a/appserver/admingui/devtests/src/test/java/org/glassfish/admingui/devtests/AdminServiceTest.java b/appserver/admingui/devtests/src/test/java/org/glassfish/admingui/devtests/AdminServiceTest.java
deleted file mode 100644
index c103c88..0000000
--- a/appserver/admingui/devtests/src/test/java/org/glassfish/admingui/devtests/AdminServiceTest.java
+++ /dev/null
@@ -1,87 +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.admingui.devtests;
-
-import org.junit.Test;
-
-import static org.junit.Assert.assertEquals;
-
-public class AdminServiceTest extends BaseSeleniumTestClass {
-    private static final String TRIGGER_EDIT_JMX_CONNECTOR = "Edit JMX Connector";
-    private static final String TRIGGER_SSL = "Requires the client to authenticate itself to the server";
-
-    @Test
-    public void testEditJmxConntector() {
-        String address = generateRandomNumber(255)+"."+generateRandomNumber(255)+"."+generateRandomNumber(255)+"."+generateRandomNumber(255);
-        clickAndWait("treeForm:tree:configurations:server-config:adminService:adminService_link", TRIGGER_EDIT_JMX_CONNECTOR);
-        markCheckbox("form1:propertySheet:propertySheetSection:SecurityProp:Security");
-        setFieldValue("form1:propertySheet:propertySheetSection:AddressProp:Address", address);
-        int count = addTableRow("form1:basicTable","form1:basicTable:topActionsGroup1:addSharedTableButton");
-        setFieldValue("form1:basicTable:rowGroup1:0:col2:col1St", "property"+generateRandomString());
-        setFieldValue("form1:basicTable:rowGroup1:0:col3:col1St", "value");
-        setFieldValue("form1:basicTable:rowGroup1:0:col4:col1St", "description");
-        clickAndWait("form1:propertyContentPage:topButtons:saveButton", TRIGGER_NEW_VALUES_SAVED);
-        clickAndWait("form1:jmxConnectorTab:jmxSSLEdit", TRIGGER_SSL);
-        clickAndWait("treeForm:tree:configurations:server-config:adminService:adminService_link", TRIGGER_EDIT_JMX_CONNECTOR);
-        assertEquals(address, getFieldValue("form1:propertySheet:propertySheetSection:AddressProp:Address"));
-        assertTableRowCount("form1:basicTable", count);
-    }
-
-    @Test
-    public void testSsl() {
-        final String nickname = "nickname"+generateRandomString();
-        final String keystore = "keystore"+generateRandomString()+".jks";
-        final String maxCertLength = Integer.toString(generateRandomNumber(10));
-
-        SecurityTest securityTest = new SecurityTest();
-        securityTest.enableSecureAdministration(true);
-        try {
-            clickAndWait("treeForm:tree:configurations:server-config:adminService:adminService_link", TRIGGER_EDIT_JMX_CONNECTOR);
-            clickAndWait("form1:jmxConnectorTab:jmxSSLEdit", TRIGGER_SSL);
-
-            clearCheckbox("propertyForm:propertySheet:propertySheetSection:SSL3Prop:SSL3");
-            clearCheckbox("propertyForm:propertySheet:propertySheetSection:TLSProp:TLS");
-            markCheckbox("propertyForm:propertySheet:propertySheetSection:ClientAuthProp:ClientAuth");
-            setFieldValue("propertyForm:propertySheet:propertySheetSection:CertNicknameProp:CertNickname", nickname);
-            setFieldValue("propertyForm:propertySheet:propertySheetSection:keystore:keystore", keystore);
-            setFieldValue("propertyForm:propertySheet:propertySheetSection:maxCertLength:maxCertLength", maxCertLength);
-//        selenium.click("propertyForm:propertySheet:sun_propertySheetSection433:CommonCiphersProp:commonAddRemove:commonAddRemove_addAllButton");
-//        selenium.click("propertyForm:propertySheet:sun_propertySheetSection433:EphemeralCiphersProp:ephemeralAddRemove:ephemeralAddRemove_addAllButton");
-//        selenium.click("propertyForm:propertySheet:sun_propertySheetSection433:OtherCiphersProp:otherAddRemove:otherAddRemove_addAllButton");
-            if (isElementPresent("propertyForm:propertyContentPage:topButtons:newButton")) {
-                clickAndWait("propertyForm:propertyContentPage:topButtons:newButton", TRIGGER_NEW_VALUES_SAVED);
-            } else {
-                clickAndWait("propertyForm:propertyContentPage:topButtons:saveButton", TRIGGER_NEW_VALUES_SAVED);
-            }
-            clickAndWait("treeForm:tree:configurations:server-config:adminService:adminService_link", TRIGGER_EDIT_JMX_CONNECTOR);
-            clickAndWait("form1:jmxConnectorTab:jmxSSLEdit", TRIGGER_SSL);
-
-            assertEquals(false, isChecked("propertyForm:propertySheet:propertySheetSection:SSL3Prop:SSL3"));
-            assertEquals(false, isChecked("propertyForm:propertySheet:propertySheetSection:TLSProp:TLS"));
-            assertEquals(true, isChecked("propertyForm:propertySheet:propertySheetSection:ClientAuthProp:ClientAuth"));
-            assertEquals(nickname, getFieldValue("propertyForm:propertySheet:propertySheetSection:CertNicknameProp:CertNickname"));
-            assertEquals(keystore, getFieldValue("propertyForm:propertySheet:propertySheetSection:keystore:keystore"));
-            assertEquals(maxCertLength, getFieldValue("propertyForm:propertySheet:propertySheetSection:maxCertLength:maxCertLength"));
-//        assertTrue(selenium.isTextPresent("SSL_RSA_WITH_RC4_128_MD5 SSL_RSA_WITH_RC4_128_SHA TLS_RSA_WITH_AES_128_CBC_SHA TLS_RSA_WITH_AES_256_CBC_SHA SSL_RSA_WITH_3DES_EDE_CBC_SHA __________________________________"));
-//        assertTrue(selenium.isTextPresent("TLS_DHE_RSA_WITH_AES_128_CBC_SHA TLS_DHE_RSA_WITH_AES_256_CBC_SHA SSL_DHE_RSA_WITH_3DES_EDE_CBC_SHA TLS_DHE_DSS_WITH_AES_128_CBC_SHA TLS_DHE_DSS_WITH_AES_256_CBC_SHA SSL_DHE_DSS_WITH_3DES_EDE_CBC_SHA ______________________________________"));
-//        assertTrue(selenium.isTextPresent("SSL_RSA_WITH_DES_CBC_SHA SSL_DHE_RSA_WITH_DES_CBC_SHA SSL_DHE_DSS_WITH_DES_CBC_SHA SSL_RSA_EXPORT_WITH_RC4_40_MD5 SSL_RSA_EXPORT_WITH_DES40_CBC_SHA SSL_DHE_RSA_EXPORT_WITH_DES40_CBC_SHA SSL_DHE_DSS_EXPORT_WITH_DES40_CBC_SHA __________________________________________"));
-
-         } finally {
-             securityTest.enableSecureAdministration(false);
-         }
-    }
-}
diff --git a/appserver/admingui/devtests/src/test/java/org/glassfish/admingui/devtests/AppScopedResourcesTest.java b/appserver/admingui/devtests/src/test/java/org/glassfish/admingui/devtests/AppScopedResourcesTest.java
deleted file mode 100644
index ea3990f..0000000
--- a/appserver/admingui/devtests/src/test/java/org/glassfish/admingui/devtests/AppScopedResourcesTest.java
+++ /dev/null
@@ -1,447 +0,0 @@
-/*
- * Copyright (c) 2011, 2018 Oracle and/or its affiliates. All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v. 2.0, which is available at
- * http://www.eclipse.org/legal/epl-2.0.
- *
- * This Source Code may also be made available under the following Secondary
- * Licenses when the conditions for such availability set forth in the
- * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
- * version 2 with the GNU Classpath Exception, which is available at
- * 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.admingui.devtests;
-
-import org.junit.Test;
-
-import java.io.File;
-import java.net.MalformedURLException;
-
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertTrue;
-
-/**
- *
- * @author sumasri
- */
-public class AppScopedResourcesTest extends BaseSeleniumTestClass {
-    private static final String TRIGGER_APPLICATIONS = "Applications can be enterprise or web applications, or various kinds of modules.";
-    private static final String TRIGGER_EDIT_APPLICATION = "Modify an existing application or module.";
-    private static final String TRIGGER_RESOURCES_APPLICATION = "View application scoped resources for the application.";
-    private static final String TRIGGER_TARGETS_APPLICATION = "List application targets.";
-
-    private static final String ELEMENT_APP_NAME = "form:war:psection:nameProp:appName";
-    private static final String ELEMENT_UNDEPLOY_BUTTON = "propertyForm:deployTable:topActionsGroup1:button1";
-    private static final String ELEMENT_DEPLOY_TABLE = "propertyForm:deployTable";
-    private static final String ELEMENT_UPLOAD_BUTTON = "form:title:topButtons:uploadButton";
-    private static final String ELEMENT_FILE_FIELD = "form:sheet1:section1:prop1:fileupload";
-    private static final String ELEMENT_DEPLOY_BUTTON = "propertyForm:deployTable:topActionsGroup1:deployButton";
-    private static final String ELEMENT_APPLICATIONS = "treeForm:tree:applications:applications_link";
-    private static final String ELEMENT_APPLICATION_RESOURCES_TAB = "propertyForm:appGeneralTabs:resourcesTab";
-    private static final String ELEMENT_APPLICATION_TARGETS_TAB = "propertyForm:appGeneralTabs:targetTab";
-    private static final String ELEMENT_APP_RESOURCES_TABLE = "propertyForm:appScopedResources";
-
-    @Test
-    public void testAppScopedResApp() {
-        final String applicationName = generateRandomString();
-        deployApp(applicationName);
-        undeployApp(applicationName);
-    }
-
-    @Test
-    public void testJdbcAppScopedresources() {
-        final String applicationName = generateRandomString();
-        try {
-        deployApp(applicationName);
-
-        testJDBCPool(applicationName, "jdbcPool", "app");
-        testJDBCPool(applicationName, "jdbcPool", "module");
-
-        testJDBCResource(applicationName, "jdbcRes", "app");
-        testJDBCResource(applicationName, "jdbcRes", "module");
-
-        undeployApp(applicationName);
-        }catch(Exception e) {
-            undeployApp(applicationName);
-        }
-    }
-
-    @Test
-    public void testConnectorAppScopedresources() {
-        final String applicationName = generateRandomString();
-        try{
-        deployApp(applicationName);
-        goToApplicationResourcesTab(applicationName);
-
-        testConnectorPool(applicationName, "connectorPool", "app");
-        testConnectorPool(applicationName, "connectorPool", "module");
-
-        testConnectorResource(applicationName, "connectorRes", "app");
-        testConnectorResource(applicationName, "connectorRes", "module");
-
-        testAdminObjectResource(applicationName, "jms/adminObjectRes", "app");
-        testAdminObjectResource(applicationName, "jms/adminObjectRes", "module");
-
-        testWorkSecurityMap(applicationName, "workSecurityMap", "app");
-        testWorkSecurityMap(applicationName, "workSecurityMap", "module");
-
-        undeployApp(applicationName);
-        }catch(Exception e) {
-            undeployApp(applicationName);
-        }
-    }
-
-    @Test
-    public void testJndiAppScopedresources() {
-        final String applicationName = generateRandomString();
-        try{
-        deployApp(applicationName);
-
-        testCustomResource(applicationName, "customRes", "app");
-        testCustomResource(applicationName, "customRes", "module");
-
-        testExternalResource(applicationName, "externalRes", "app");
-        testExternalResource(applicationName, "externalRes", "module");
-
-        undeployApp(applicationName);
-        }catch(Exception e) {
-            undeployApp(applicationName);
-        }
-    }
-
-    @Test
-    public void testJavaMailAppScopedresources() {
-        final String applicationName = generateRandomString();
-        try{
-        deployApp(applicationName);
-
-        testMailResource(applicationName, "mailRes", "app");
-        testMailResource(applicationName, "mailRes", "module");
-
-        undeployApp(applicationName);
-        }catch(Exception e) {
-            undeployApp(applicationName);
-        }
-    }
-
-    @Test
-    public void testResourceAdapterConfigAppScopedresources() {
-        final String applicationName = generateRandomString();
-        try{
-        deployApp(applicationName);
-
-        testResourceAdapterConfig(applicationName, "jmsra");
-
-        undeployApp(applicationName);
-        }catch(Exception e) {
-            undeployApp(applicationName);
-        }
-    }
-
-    @Test
-    public void testMonitoringAppScopedresources() {
-        final String applicationName = generateRandomString();
-        try{
-        deployApp(applicationName);
-
-        monitoringAppScopedResource("connectorPool", "module");
-        monitoringAppScopedResource("jdbcPool", "module");
-
-        undeployApp(applicationName);
-        }catch(Exception e) {
-            undeployApp(applicationName);
-        }
-    }
-
-    @Test
-    public void deployAppWithTargets() {
-        final String applicationName = "app" + generateRandomString();
-        final String TRIGGER_MANAGE_TARGETS = "Manage Targets";
-        final String enableMessage = "i18n.msg.enableOnTargetsSuccessful";
-        final String disableMessage = "i18n.msg.disableOnTargetsSuccessful";
-        final String tableSelectMutlipleId = "propertyForm:targetTable:_tableActionsTop:_selectMultipleButton:_selectMultipleButton_image";
-        final String dropdownId = "propertyForm:targetTable:topActionsGroup1:dropdown1";
-
-        String instanceName = "in" + generateRandomString() ;
-        clearTargets();
-        StandaloneTest instance = new StandaloneTest();
-        instance.createStandAloneInstance(instanceName);
-
-        deploy(applicationName);
-
-        goToApplicationTargetsTab(applicationName);
-        clickAndWait("propertyForm:targetTable:topActionsGroup1:manageTargetButton", TRIGGER_MANAGE_TARGETS);
-        pressButton("form:targetSection:targetSectionId:addRemoveProp:commonAddRemove:commonAddRemove_addAllButton");
-        clickAndWait("form:propertyContentPage:topButtons:saveButton", TRIGGER_NEW_VALUES_SAVED);
-
-        pressButton(tableSelectMutlipleId);
-        selectDropdownOption(dropdownId, "Enable");
-        waitForPageLoad(enableMessage, TIMEOUT);
-        pressButton(tableSelectMutlipleId);
-        selectDropdownOption(dropdownId, "Disable");
-        waitForPageLoad(disableMessage, TIMEOUT);
-
-        undeployApp(applicationName);
-        clearTargets();
-    }
-
-    private void clearTargets() {
-        StandaloneTest standaloneTest = new StandaloneTest();
-        ClusterTest clusterTest = new ClusterTest();
-        standaloneTest.deleteAllStandaloneInstances();
-        clusterTest.deleteAllClusters();
-    }
-
-    public void deployApp(String applicationName) {
-        clearTargets();
-        deploy(applicationName);
-    }
-
-    private void deploy(String applicationName) {
-
-        clickAndWait("treeForm:tree:applications:applications_link", TRIGGER_APPLICATIONS);
-        int preCount = this.getTableRowCount(ELEMENT_DEPLOY_TABLE);
-
-        // hrm
-        clickAndWaitForElement(ELEMENT_DEPLOY_BUTTON, ELEMENT_FILE_FIELD);
-        File war = new File("src/test/resources/JavaEEApp.ear");
-        try {
-            selectFile(ELEMENT_FILE_FIELD, war.toURL().toString());
-        } catch (MalformedURLException e) {
-           e.printStackTrace();  //To change body of catch statement use File | Settings | File Templates.
-        }
-
-        assertEquals("JavaEEApp", getFieldValue(ELEMENT_APP_NAME));
-
-        setFieldValue(ELEMENT_APP_NAME, applicationName);
-
-        clickAndWait(ELEMENT_UPLOAD_BUTTON, TRIGGER_APPLICATIONS, true);
-        String conf = "";
-        if (isAlertPresent()) {
-            conf = getAlertText();
-        }
-        int postCount = this.getTableRowCount(ELEMENT_DEPLOY_TABLE);
-        assertTrue (preCount < postCount);
-        reset();
-    }
-
-    private void undeployApp(String applicationName) {
-        // Undeploy application
-        clickAndWait("treeForm:tree:applications:applications_link", TRIGGER_APPLICATIONS);
-        int preCount = this.getTableRowCount(ELEMENT_DEPLOY_TABLE);
-        int appCount = this.getTableRowCountByValue(ELEMENT_DEPLOY_TABLE, applicationName, "col1");
-        if (appCount == 0) {
-            return;
-        }
-        chooseOkOnNextConfirmation();
-        selectTableRowByValue(ELEMENT_DEPLOY_TABLE, applicationName);
-        pressButton(ELEMENT_UNDEPLOY_BUTTON);
-        getConfirmation();
-        waitForTableRowCount(ELEMENT_DEPLOY_TABLE, (preCount-1));
-        int postUndeployCount = this.getTableRowCount(ELEMENT_DEPLOY_TABLE);
-        assertTrue (preCount > postUndeployCount);
-    }
-
-    private void goToApplicationResourcesTab(String appName) {
-        clickAndWait(ELEMENT_APPLICATIONS, TRIGGER_APPLICATIONS);
-        waitForPageLoad(appName, 60000);
-        clickAndWait(getLinkIdByLinkText(ELEMENT_DEPLOY_TABLE, appName), TRIGGER_EDIT_APPLICATION);
-        clickAndWait(ELEMENT_APPLICATION_RESOURCES_TAB, TRIGGER_RESOURCES_APPLICATION);
-    }
-
-    private void goToApplicationTargetsTab(String appName) {
-        clickAndWait(ELEMENT_APPLICATIONS, TRIGGER_APPLICATIONS);
-        waitForPageLoad(appName, 60000);
-        clickAndWait(getLinkIdByLinkText(ELEMENT_DEPLOY_TABLE, appName), TRIGGER_EDIT_APPLICATION);
-        clickAndWait(ELEMENT_APPLICATION_TARGETS_TAB, TRIGGER_TARGETS_APPLICATION);
-    }
-
-    public String getResName(String resName, String appScope) {
-        if(appScope.equals("app")) {
-            resName = "java:app/" + resName;
-        } else if(appScope.equals("module")) {
-            resName = "java:module/" + resName;
-        }
-        return resName;
-    }
-
-    private void testJDBCPool(String appName, String resName, String appScope) {
-        resName = getResName(resName, appScope);
-        goToApplicationResourcesTab(appName);
-        //JDBC Pool general page
-        clickAndWait(getLinkIdByLinkText(ELEMENT_APP_RESOURCES_TABLE, resName), JdbcTest.TRIGGER_EDIT_JDBC_CONNECTION_POOL);
-        setFieldValue("propertyForm:sheet:generalSheet:descProp:desc", resName+" description");
-        clickAndWait("propertyForm:propertyContentPage:topButtons:saveButton", TRIGGER_NEW_VALUES_SAVED);
-        //JDBC Pool Advanced Page
-        clickAndWait("propertyForm:jdbcPoolSet:advanceTab", JdbcTest.TRIGGER_ADVANCE_JDBC_CONNECTION_POOL);
-        setFieldValue("propertyForm:propertySheet:connectionPropertySheet:p1:va", "1");
-        clickAndWait("propertyForm:propertyContentPage:topButtons:saveButton", TRIGGER_NEW_VALUES_SAVED);
-        //JDBC Pool Properties
-        clickAndWait("propertyForm:jdbcPoolSet:propertyTab", JdbcTest.TRIGGER_PROPS_JDBC_CONNECTION_POOL);
-        int count = addTableRow("propertyForm:basicTable", "propertyForm:basicTable:topActionsGroup1:addSharedTableButton");
-        setFieldValue("propertyForm:basicTable:rowGroup1:0:col2:col1St", "property"+generateRandomString());
-        setFieldValue("propertyForm:basicTable:rowGroup1:0:col3:col1St", "value");
-        setFieldValue("propertyForm:basicTable:rowGroup1:0:col4:col1St", "description");
-        clickAndWait("propertyForm:propertyContentPage:topButtons:saveButton", TRIGGER_NEW_VALUES_SAVED);
-        assertTableRowCount("propertyForm:basicTable", count);
-
-        clickAndWait("propertyForm:propertyContentPage:topButtons:cancelButton", TRIGGER_RESOURCES_APPLICATION);
-    }
-
-    private void testJDBCResource(String appName, String resName, String appScope) {
-        resName = getResName(resName, appScope);
-        goToApplicationResourcesTab(appName);
-        //JDBC Resource Edit Page
-        clickAndWait(getLinkIdByLinkText(ELEMENT_APP_RESOURCES_TABLE, resName), JdbcTest.TRIGGER_EDIT_JDBC_RESOURCE);
-        setFieldValue("propertyForm:propertySheet:propertSectionTextField:descProp:desc", resName+" description");
-        int count = addTableRow("propertyForm:basicTable", "propertyForm:basicTable:topActionsGroup1:addSharedTableButton");
-        setFieldValue("propertyForm:basicTable:rowGroup1:0:col2:col1St", "property"+generateRandomString());
-        setFieldValue("propertyForm:basicTable:rowGroup1:0:col3:col1St", "value");
-        setFieldValue("propertyForm:basicTable:rowGroup1:0:col4:col1St", "description");
-        clickAndWait("propertyForm:propertyContentPage:topButtons:saveButton", TRIGGER_NEW_VALUES_SAVED);
-        assertTableRowCount("propertyForm:basicTable", count);
-
-        clickAndWait("propertyForm:propertyContentPage:topButtons:cancelButton", TRIGGER_RESOURCES_APPLICATION);
-    }
-
-    private void testCustomResource(String appName, String resName, String appScope) {
-        resName = getResName(resName, appScope);
-        goToApplicationResourcesTab(appName);
-        //Custom Resource Edit Page
-        clickAndWait(getLinkIdByLinkText(ELEMENT_APP_RESOURCES_TABLE, resName), JndiTest.TRIGGER_EDIT_CUSTOM_RESOURCE);
-        setFieldValue("form1:propertySheet:propertSectionTextField:descProp:desc", resName+" description");
-        int count = addTableRow("form1:basicTable", "form1:basicTable:topActionsGroup1:addSharedTableButton");
-        setFieldValue("form1:basicTable:rowGroup1:0:col2:col1St", "property"+generateRandomString());
-        setFieldValue("form1:basicTable:rowGroup1:0:col3:col1St", "value");
-        setFieldValue("form1:basicTable:rowGroup1:0:col4:col1St", "description");
-        clickAndWait("form1:propertyContentPage:topButtons:saveButton", TRIGGER_NEW_VALUES_SAVED);
-        assertTableRowCount("form1:basicTable", count);
-
-        clickAndWait("form1:propertyContentPage:topButtons:cancelButton", TRIGGER_RESOURCES_APPLICATION);
-    }
-
-    private void testExternalResource(String appName, String resName, String appScope) {
-        resName = getResName(resName, appScope);
-        goToApplicationResourcesTab(appName);
-        //JNDI Enternal Resource Edit Page
-        clickAndWait(getLinkIdByLinkText(ELEMENT_APP_RESOURCES_TABLE, resName), JndiTest.TRIGGER_EDIT_EXTERNAL_RESOURCE);
-        setFieldValue("form:propertySheet:propertSectionTextField:descProp:desc", resName+" description");
-        int count = addTableRow("form:basicTable", "form:basicTable:topActionsGroup1:addSharedTableButton");
-        setFieldValue("form:basicTable:rowGroup1:0:col2:col1St", "property"+generateRandomString());
-        setFieldValue("form:basicTable:rowGroup1:0:col3:col1St", "value");
-        setFieldValue("form:basicTable:rowGroup1:0:col4:col1St", "description");
-        clickAndWait("form:propertyContentPage:topButtons:saveButton", TRIGGER_NEW_VALUES_SAVED);
-        assertTableRowCount("form:basicTable", count);
-
-        clickAndWait("form:propertyContentPage:topButtons:cancelButton", TRIGGER_RESOURCES_APPLICATION);
-    }
-
-    private void testMailResource(String appName, String resName, String appScope) {
-        resName = getResName(resName, appScope);
-        goToApplicationResourcesTab(appName);
-        //Mail Resource Edit Page
-        clickAndWait(getLinkIdByLinkText(ELEMENT_APP_RESOURCES_TABLE, resName), JavaMailTest.TRIGGER_EDIT_JAVAMAIL_SESSION);
-        setFieldValue("propertyForm:propertySheet:propertSectionTextField:descProp:desc", resName+" description");
-        int count = addTableRow("propertyForm:basicTable", "propertyForm:basicTable:topActionsGroup1:addSharedTableButton");
-        setFieldValue("propertyForm:basicTable:rowGroup1:0:col2:col1St", "property"+generateRandomString());
-        setFieldValue("propertyForm:basicTable:rowGroup1:0:col3:col1St", "value");
-        setFieldValue("propertyForm:basicTable:rowGroup1:0:col4:col1St", "description");
-        clickAndWait("propertyForm:propertyContentPage:topButtons:saveButton", TRIGGER_NEW_VALUES_SAVED);
-        assertTableRowCount("propertyForm:basicTable", count);
-
-        clickAndWait("propertyForm:propertyContentPage:topButtons:cancelButton", TRIGGER_RESOURCES_APPLICATION);
-    }
-
-    private void testWorkSecurityMap(String appName, String resName, String appScope) {
-        resName = getResName(resName, appScope);
-        goToApplicationResourcesTab(appName);
-        //Work Security Map Edit Page
-        clickAndWait(getLinkIdByLinkText(ELEMENT_APP_RESOURCES_TABLE, resName), WorkSecurityMapTest.TRIGGER_EDIT_WORK_SECURITY_MAP);
-        setFieldValue("propertyForm:propertySheet:propertSectionTextField:descriptionProp:descAdaptor", resName+" description");
-        clickAndWait("propertyForm:propertyContentPage:topButtons:saveButton", TRIGGER_NEW_VALUES_SAVED);
-
-        clickAndWait("propertyForm:propertyContentPage:topButtons:cancelButton", TRIGGER_RESOURCES_APPLICATION);
-    }
-
-    private void testConnectorPool(String appName, String resName, String appScope) {
-        resName = getResName(resName, appScope);
-        goToApplicationResourcesTab(appName);
-        //Connector Pool general page
-        clickAndWait(getLinkIdByLinkText(ELEMENT_APP_RESOURCES_TABLE, resName), ConnectorsTest.TRIGGER_EDIT_CONNECTOR_CONNECTION_POOL);
-        setFieldValue("propertyForm:propertySheet:generalPropertySheet:descProp:desc", resName+" description");
-        clickAndWait("propertyForm:propertyContentPage:topButtons:saveButton", TRIGGER_NEW_VALUES_SAVED);
-        //Connector Pool Advanced Page
-        clickAndWait("propertyForm:connectorPoolSet:advanceTab", ConnectorsTest.TRIGGER_ADVANCE_CONNECTOR_CONNECTION_POOL);
-        setFieldValue("propertyForm:connectionPropertySheet:p1:va", "1");
-        clickAndWait("propertyForm:propertyContentPage:topButtons:saveButton", TRIGGER_NEW_VALUES_SAVED);
-        //Connector Pool Properties
-        clickAndWait("propertyForm:connectorPoolSet:propertyTab", ConnectorsTest.TRIGGER_PROPS_CONNECTOR_CONNECTION_POOL);
-        int count = addTableRow("propertyForm:basicTable", "propertyForm:basicTable:topActionsGroup1:addSharedTableButton");
-        setFieldValue("propertyForm:basicTable:rowGroup1:0:col2:col1St", "property"+generateRandomString());
-        setFieldValue("propertyForm:basicTable:rowGroup1:0:col3:col1St", "value");
-        setFieldValue("propertyForm:basicTable:rowGroup1:0:col4:col1St", "description");
-        clickAndWait("propertyForm:propertyContentPage:topButtons:saveButton", TRIGGER_NEW_VALUES_SAVED);
-        assertTableRowCount("propertyForm:basicTable", count);
-
-        clickAndWait("propertyForm:propertyContentPage:topButtons:cancelButton", TRIGGER_RESOURCES_APPLICATION);
-    }
-
-    private void testConnectorResource(String appName, String resName, String appScope) {
-        resName = getResName(resName, appScope);
-        goToApplicationResourcesTab(appName);
-        //Connector Resource Edit Page
-        clickAndWait(getLinkIdByLinkText(ELEMENT_APP_RESOURCES_TABLE, resName), ConnectorsTest.TRIGGER_EDIT_CONNECTOR_RESOURCE);
-        setFieldValue("propertyForm:propertySheet:propertSectionTextField:descProp:desc", resName+" description");
-        int count = addTableRow("propertyForm:basicTable", "propertyForm:basicTable:topActionsGroup1:addSharedTableButton");
-        setFieldValue("propertyForm:basicTable:rowGroup1:0:col2:col1St", "property"+generateRandomString());
-        setFieldValue("propertyForm:basicTable:rowGroup1:0:col3:col1St", "value");
-        setFieldValue("propertyForm:basicTable:rowGroup1:0:col4:col1St", "description");
-        clickAndWait("propertyForm:propertyContentPage:topButtons:saveButton", TRIGGER_NEW_VALUES_SAVED);
-        assertTableRowCount("propertyForm:basicTable", count);
-
-        clickAndWait("propertyForm:propertyContentPage:topButtons:cancelButton", TRIGGER_RESOURCES_APPLICATION);
-    }
-
-    private void testResourceAdapterConfig(String appName, String resName) {
-        java.util.List<String> resAdapterConfigIds = getTableRowsByValue(ELEMENT_APP_RESOURCES_TABLE, resName, "resName");
-        //Resource Adapter config Edit Page
-        for (String resAdapterConfigId : resAdapterConfigIds) {
-            goToApplicationResourcesTab(appName);
-            clickAndWait(resAdapterConfigId, ResourceAdapterConfigsTest.TRIGGER_EDIT_RESOURCE_ADAPTER_CONFIG);
-            int count = addTableRow("propertyForm:basicTable", "propertyForm:basicTable:topActionsGroup1:addSharedTableButton");
-            setFieldValue("propertyForm:basicTable:rowGroup1:0:col2:col1St", "property"+generateRandomString());
-            setFieldValue("propertyForm:basicTable:rowGroup1:0:col3:col1St", "value");
-            setFieldValue("propertyForm:basicTable:rowGroup1:0:col4:col1St", "description");
-            clickAndWait("propertyForm:propertyContentPage:topButtons:saveButton", TRIGGER_NEW_VALUES_SAVED);
-            assertTableRowCount("propertyForm:basicTable", count);
-
-            clickAndWait("propertyForm:proprtyContentPage:topButtons:cancelButton", TRIGGER_RESOURCES_APPLICATION);
-        }
-    }
-
-    private void testAdminObjectResource(String appName, String resName, String appScope) {
-        resName = getResName(resName, appScope);
-        goToApplicationResourcesTab(appName);
-        //Admin Object Resource Edit Page
-        clickAndWait(getLinkIdByLinkText(ELEMENT_APP_RESOURCES_TABLE, resName), AdminObjectTest.TRIGGER_EDIT_ADMIN_OBJECT_RESOURCE);
-        setFieldValue("propertyForm:propertySheet:propertSectionTextField:descriptionProp:descAdaptor", resName+" description");
-        int count = addTableRow("propertyForm:basicTable", "propertyForm:basicTable:topActionsGroup1:addSharedTableButton");
-        setFieldValue("propertyForm:basicTable:rowGroup1:0:col2:col1St", "property"+generateRandomString());
-        setFieldValue("propertyForm:basicTable:rowGroup1:0:col3:col1St", "value");
-        setFieldValue("propertyForm:basicTable:rowGroup1:0:col4:col1St", "description");
-        clickAndWait("propertyForm:propertyContentPage:topButtons:saveButton", TRIGGER_NEW_VALUES_SAVED);
-        assertTableRowCount("propertyForm:basicTable", count);
-
-        clickAndWait("propertyForm:propertyContentPage:topButtons:cancelButton", TRIGGER_RESOURCES_APPLICATION);
-    }
-
-    private void monitoringAppScopedResource(String resName, String appScope) {
-        MonitoringTest monitorTest = new MonitoringTest();
-        resName = getResName(resName, appScope);
-        monitorTest.appScopedResourcesMonitoring("server", "server", resName);
-    }
-}
diff --git a/appserver/admingui/devtests/src/test/java/org/glassfish/admingui/devtests/ApplicationTest.java b/appserver/admingui/devtests/src/test/java/org/glassfish/admingui/devtests/ApplicationTest.java
deleted file mode 100644
index 61aa765..0000000
--- a/appserver/admingui/devtests/src/test/java/org/glassfish/admingui/devtests/ApplicationTest.java
+++ /dev/null
@@ -1,148 +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.admingui.devtests;
-
-import org.junit.Test;
-
-import java.io.File;
-import java.net.MalformedURLException;
-
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertTrue;
-
-/**
- * Created by IntelliJ IDEA.
- * User: jasonlee
- * Date: Mar 22, 2010
- * Time: 4:31:08 PM
- * To change this template use File | Settings | File Templates.
- */
-public class ApplicationTest extends BaseSeleniumTestClass {
-    private static final String TRIGGER_APPLICATIONS = "Applications can be enterprise or web applications, or various kinds of modules.";
-    private static final String TRIGGER_APPLICATIONS_DEPLOY = "Packaged File to Be Uploaded to the Server";
-    private static final String TRIGGER_APPLICATION_DISABLED = "Selected application(s) has been disabled.";
-    private static final String TRIGGER_EDIT_APPLICATION = "Edit Application";
-    private static final String TRIGGER_APPLICATION_ENABLED = "Selected application(s) has been enabled.";
-
-    private static final String ELEMENT_STATUS = "propertyForm:propertySheet:propertSectionTextField:statusProp:status";
-    private static final String ELEMENT_APP_NAME = "form:war:psection:nameProp:appName";
-    private static final String ELEMENT_CONTEXT_ROOT = "form:war:psection:cxp:ctx";
-    private static final String ELEMENT_UNDEPLOY_BUTTON = "propertyForm:deployTable:topActionsGroup1:button1";
-    private static final String ELEMENT_DEPLOY_TABLE = "propertyForm:deployTable";
-    private static final String ELEMENT_ENABLE_BUTTON = "propertyForm:deployTable:topActionsGroup1:button2";
-    private static final String ELEMENT_CANCEL_BUTTON = "propertyForm:propertyContentPage:topButtons:cancelButton";
-    private static final String ELEMENT_DISABLE_BUTTON = "propertyForm:deployTable:topActionsGroup1:button3";
-    private static final String ELEMENT_UPLOAD_BUTTON = "form:title:topButtons:uploadButton";
-    private static final String ELEMENT_FILE_FIELD = "form:sheet1:section1:prop1:fileupload";
-    private static final String ELEMENT_DEPLOY_BUTTON = "propertyForm:deployTable:topActionsGroup1:deployButton";
-    private static final String TRIGGER_SUCCESS = "New values successfully saved";
-    private static final String TRIGGER_DOMAIN_ATTRIBUTES = "Domain Attributes";
-    private static final String TRIGGER_DOMAIN_LOGS = "i18nc.domainLogs.PageHelp";
-    private static final String TRIGGER_APPLICATION_CONFIGURATION = "Enable reloading so that changes to deployed applications";
-
-    //The following test will pass ONLY if there is no cluster or standalone instance.  This is for "PE" profile
-    //TODO: We may need to DELETE all cluster and standalone instance in the beginning of this test.
-
-    //@Test
-    public void testDeployWar() {
-        final String applicationName = generateRandomString();
-        clickAndWait("treeForm:tree:applications:applications_link", TRIGGER_APPLICATIONS);
-        int preCount = this.getTableRowCount(ELEMENT_DEPLOY_TABLE);
-
-        // hrm
-        clickAndWaitForElement(ELEMENT_DEPLOY_BUTTON, ELEMENT_FILE_FIELD);
-        File war = new File("src/test/resources/test.war");
-        try {
-            selectFile(ELEMENT_FILE_FIELD, war.toURL().toString());
-        } catch (MalformedURLException e) {
-            e.printStackTrace();  //To change body of catch statement use File | Settings | File Templates.
-        }
-
-        assertEquals("", getFieldValue(ELEMENT_CONTEXT_ROOT));
-        assertEquals("test", getFieldValue(ELEMENT_APP_NAME));
-
-        setFieldValue(ELEMENT_CONTEXT_ROOT, "");
-        setFieldValue(ELEMENT_APP_NAME, applicationName);
-
-        clickAndWait(ELEMENT_UPLOAD_BUTTON, TRIGGER_APPLICATIONS);
-        String conf = "";
-        if (isAlertPresent()) {
-            conf = getAlertText();
-        }
-        int postCount = this.getTableRowCount(ELEMENT_DEPLOY_TABLE);
-        assertTrue (preCount < postCount);
-
-        clickAndWait("propertyForm:deployTable:rowGroup1:0:col4:link", applicationName);
-
-        // Disable application
-        selectTableRowByValue(ELEMENT_DEPLOY_TABLE, applicationName);
-        clickAndWait(ELEMENT_DISABLE_BUTTON, TRIGGER_APPLICATION_DISABLED);
-        clickAndWait(getLinkIdByLinkText(ELEMENT_DEPLOY_TABLE, applicationName), TRIGGER_EDIT_APPLICATION);
-        assertEquals("off", getFieldValue(ELEMENT_STATUS));
-        clickAndWait(ELEMENT_CANCEL_BUTTON, TRIGGER_APPLICATIONS);
-
-//        testDisableButton(applicationName, ELEMENT_DEPLOY_TABLE, ELEMENT_DISABLE_BUTTON, ELEMENT_STATUS, ELEMENT_CANCEL_BUTTON, TRIGGER_APPLICATIONS, TRIGGER_EDIT_APPLICATION);
-
-
-        // Enable Application
-        selectTableRowByValue(ELEMENT_DEPLOY_TABLE, applicationName);
-        clickAndWait(ELEMENT_ENABLE_BUTTON, TRIGGER_APPLICATION_ENABLED, 300);
-        clickAndWait(getLinkIdByLinkText(ELEMENT_DEPLOY_TABLE, applicationName), TRIGGER_EDIT_APPLICATION);
-        assertEquals("on", getFieldValue(ELEMENT_STATUS));
-        clickAndWait(ELEMENT_CANCEL_BUTTON, TRIGGER_APPLICATIONS);
-
-
-//        testEnableButton(applicationName, ELEMENT_DEPLOY_TABLE, ELEMENT_ENABLE_BUTTON, ELEMENT_STATUS, ELEMENT_CANCEL_BUTTON, TRIGGER_APPLICATIONS, TRIGGER_EDIT_APPLICATION);
-
-        // Undeploy application
-        chooseOkOnNextConfirmation();
-        selectTableRowByValue(ELEMENT_DEPLOY_TABLE, applicationName);
-        pressButton(ELEMENT_UNDEPLOY_BUTTON);
-        getConfirmation();
-        waitForPageLoad(applicationName, true);
-        int postUndeployCount = this.getTableRowCount(ELEMENT_DEPLOY_TABLE);
-        assertTrue (preCount == postUndeployCount);
-    }
-
-    @Test
-    public void testApplicationConfiguration() {
-        final String adminTimeout = Integer.toString(generateRandomNumber(100));
-        clickAndWait("treeForm:tree:nodes:nodes_link", TRIGGER_DOMAIN_ATTRIBUTES);
-        clickAndWait("propertyForm:domainTabs:appConfig", TRIGGER_APPLICATION_CONFIGURATION);
-        setFieldValue("propertyForm:propertySheet:propertSectionTextField:AdminTimeoutProp:AdminTimeout", adminTimeout);
-        clickAndWait("propertyForm:propertyContentPage:topButtons:saveButton", TRIGGER_SUCCESS);
-        assertEquals(adminTimeout, getFieldValue("propertyForm:propertySheet:propertSectionTextField:AdminTimeoutProp:AdminTimeout"));
-    }
-
-    @Test
-    public void testDomainAttributes() {
-        clickAndWait("treeForm:tree:nodes:nodes_link", TRIGGER_DOMAIN_ATTRIBUTES);
-        setFieldValue("propertyForm:propertySheet:propertSectionTextField:localeProp:Locale", "en_UK");
-        clickAndWait("propertyForm:propertyContentPage:topButtons:saveButton", TRIGGER_SUCCESS);
-        assertEquals("en_UK", getFieldValue("propertyForm:propertySheet:propertSectionTextField:localeProp:Locale"));
-    }
-
-    @Test
-    public void testDomainLogs() {
-        clickAndWait("treeForm:tree:nodes:nodes_link", TRIGGER_DOMAIN_ATTRIBUTES);
-        clickAndWait("propertyForm:domainTabs:domainLogs", resolveTriggerText(TRIGGER_DOMAIN_LOGS));
-        // click download, but ignore it (selenium can't interect with Save File dialog
-        pressButton("form:propertyContentPage:topButtons:collectLogFiles");
-        // if above is broken, assertion will fail
-        assertTrue(isTextPresent(TRIGGER_DOMAIN_LOGS));
-    }
-}
diff --git a/appserver/admingui/devtests/src/test/java/org/glassfish/admingui/devtests/AvailabilityServiceTest.java b/appserver/admingui/devtests/src/test/java/org/glassfish/admingui/devtests/AvailabilityServiceTest.java
deleted file mode 100644
index 1e88041..0000000
--- a/appserver/admingui/devtests/src/test/java/org/glassfish/admingui/devtests/AvailabilityServiceTest.java
+++ /dev/null
@@ -1,135 +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.admingui.devtests;
-
-import org.junit.Assert;
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertTrue;
-import org.junit.Test;
-
-public class AvailabilityServiceTest extends BaseSeleniumTestClass {
-    public static final String ID_AVAILABILITY_SERVICE_TREE_NODE = "treeForm:tree:configurations:default-config:availabilityService:availabilityService_link";
-    private static final String ID_DEFAULT_CONFIG_TURNER = "treeForm:tree:configurations:default-config:default-config_turner:default-config_turner_image";
-    private static final String TRIGGER_AVAILABILTY_SERVICE_NODE = "i18ncs.tree.availsvc";
-    private static final String TRIGGER_AVAILABILTY_SERVICE_PAGE = "i18ncs.availabilty.TitlePageHelp";
-    private static final String TRIGGER_WEB_AVAILABILTY = "i18n_web.availability.webContainerAvailabilityInfo";
-    private static final String TRIGGER_EJB_AVAILABILTY = "i18n_ejb.availability.ejbContainerAvailabilityInfo";
-    private static final String TRIGGER_JMS_AVAILABILTY = "i18njms.availability.jmsAvailabilityInfo";
-//    private static final String TRIGGER_SUCCESS_MSG = "New values successfully saved";
-
-    @Test
-    public void testAvailabilityService() {
-        // Expand node
-        if (!isTextPresent(TRIGGER_AVAILABILTY_SERVICE_NODE)) {
-            clickAndWait(ID_DEFAULT_CONFIG_TURNER, TRIGGER_AVAILABILTY_SERVICE_NODE);
-        }
-        clickAndWait(ID_AVAILABILITY_SERVICE_TREE_NODE, TRIGGER_AVAILABILTY_SERVICE_PAGE);
-
-        int count = addTableRow("propertyForm:basicTable", "propertyForm:basicTable:topActionsGroup1:addSharedTableButton");
-        setFieldValue("propertyForm:basicTable:rowGroup1:0:col2:col1St", generateRandomString());
-        setFieldValue("propertyForm:basicTable:rowGroup1:0:col3:col1St", generateRandomString());
-        setFieldValue("propertyForm:basicTable:rowGroup1:0:col4:col1St", generateRandomString());
-        clickAndWait("propertyForm:propertyContentPage:topButtons:saveButton", TRIGGER_NEW_VALUES_SAVED);
-        assertTableRowCount("propertyForm:basicTable", count);
-        deleteAllTableRows("propertyForm:basicTable", 1);
-        clickAndWait("propertyForm:propertyContentPage:topButtons:saveButton", TRIGGER_NEW_VALUES_SAVED);
-    }
-
-    @Test
-    public void testWebContainerAvailability() {
-        if (!isTextPresent(TRIGGER_AVAILABILTY_SERVICE_NODE)) {
-            clickAndWait(ID_DEFAULT_CONFIG_TURNER, TRIGGER_AVAILABILTY_SERVICE_NODE);
-        }
-        clickAndWait(ID_AVAILABILITY_SERVICE_TREE_NODE, TRIGGER_AVAILABILTY_SERVICE_PAGE);
-        clickAndWait("propertyForm:availabilityTabs:webAvailabilityTab", TRIGGER_WEB_AVAILABILTY);
-
-        int count = addTableRow("propertyForm:basicTable", "propertyForm:basicTable:topActionsGroup1:addSharedTableButton");
-        setFieldValue("propertyForm:basicTable:rowGroup1:0:col2:col1St", generateRandomString());
-        setFieldValue("propertyForm:basicTable:rowGroup1:0:col3:col1St", generateRandomString());
-        setFieldValue("propertyForm:basicTable:rowGroup1:0:col4:col1St", generateRandomString());
-        clickAndWait("propertyForm:propertyContentPage:topButtons:saveButton", TRIGGER_NEW_VALUES_SAVED);
-        assertTableRowCount("propertyForm:basicTable", count);
-        deleteAllTableRows("propertyForm:basicTable", 1);
-        clickAndWait("propertyForm:propertyContentPage:topButtons:saveButton", TRIGGER_NEW_VALUES_SAVED);
-    }
-
-    @Test
-    public void testEjbContainerAvailability() {
-        if (!isTextPresent(TRIGGER_AVAILABILTY_SERVICE_NODE)) {
-            clickAndWait(ID_DEFAULT_CONFIG_TURNER, TRIGGER_AVAILABILTY_SERVICE_NODE);
-        }
-        clickAndWait(ID_AVAILABILITY_SERVICE_TREE_NODE, TRIGGER_AVAILABILTY_SERVICE_PAGE);
-        clickAndWait("propertyForm:availabilityTabs:ejbAvailabilityTab", TRIGGER_EJB_AVAILABILTY);
-
-        int count = addTableRow("propertyForm:basicTable", "propertyForm:basicTable:topActionsGroup1:addSharedTableButton");
-        setFieldValue("propertyForm:basicTable:rowGroup1:0:col2:col1St", generateRandomString());
-        setFieldValue("propertyForm:basicTable:rowGroup1:0:col3:col1St", generateRandomString());
-        setFieldValue("propertyForm:basicTable:rowGroup1:0:col4:col1St", generateRandomString());
-        clickAndWait("propertyForm:propertyContentPage:topButtons:saveButton", TRIGGER_NEW_VALUES_SAVED);
-        assertTableRowCount("propertyForm:basicTable", count);
-        deleteAllTableRows("propertyForm:basicTable", 1);
-        clickAndWait("propertyForm:propertyContentPage:topButtons:saveButton", TRIGGER_NEW_VALUES_SAVED);
-    }
-
-    @Test
-    public void testJMSAvailability() {
-        final String clusterName = "cluster" + generateRandomString();
-        final String CLUSTER_TYPE = "enhanced";
-        final String DB_VENDOR = "mysql";
-        final String DB_USER = generateRandomString();
-        final String DB_URL = "jdbc:mysql://hostname:portno/dbname?password=" + generateRandomString();
-        final String DB_PASSWORD = generateRandomString();
-
-        ClusterTest ct = new ClusterTest();
-        ct.createCluster(clusterName);
-
-        try {
-            String TRIGGER_AVAILABILTY_SERVICE_PAGE_LINK = "treeForm:tree:configurations:" + clusterName + "-config:availabilityService:availabilityService_link";
-            clickAndWaitForElement("Masthead:homeLink", TRIGGER_AVAILABILTY_SERVICE_PAGE_LINK);
-            clickAndWait(TRIGGER_AVAILABILTY_SERVICE_PAGE_LINK, TRIGGER_AVAILABILTY_SERVICE_PAGE);
-            clickAndWait("propertyForm:availabilityTabs:jmsAvailabilityTab", TRIGGER_JMS_AVAILABILTY);
-
-            markCheckbox("propertyForm:propertySheet:propertSectionTextField:AvailabilityEnabledProp:avail");
-//            selectDropdownOption("propertyForm:propertySheet:propertSectionTextField:ClusterTypeProp:clusterType", CLUSTER_TYPE);
-
-            setFieldValue("propertyForm:propertySheet:propertSectionTextField:DbVendorProp:DbVendor", DB_VENDOR);
-            setFieldValue("propertyForm:propertySheet:propertSectionTextField:DbUserNameProp:DbUserName", DB_USER);
-            setFieldValue("propertyForm:propertySheet:propertSectionTextField:DbUrlProp:DbUrl", DB_URL);
-            setFieldValue("propertyForm:propertySheet:propertSectionTextField:DbPasswordProp:DbPassword", DB_PASSWORD);
-
-            clickAndWait("propertyForm:propertyContentPage:topButtons:saveButton", TRIGGER_NEW_VALUES_SAVED);
-
-        clickAndWait("propertyForm:availabilityTabs:availabilityTab", TRIGGER_AVAILABILTY_SERVICE_PAGE);
-        clickAndWait("propertyForm:availabilityTabs:jmsAvailabilityTab", TRIGGER_JMS_AVAILABILTY);
-
-            assertTrue(selenium.isChecked("propertyForm:propertySheet:propertSectionTextField:AvailabilityEnabledProp:avail"));
-            assertEquals(DB_VENDOR, getFieldValue("propertyForm:propertySheet:propertSectionTextField:DbVendorProp:DbVendor"));
-            assertEquals(DB_USER, getFieldValue("propertyForm:propertySheet:propertSectionTextField:DbUserNameProp:DbUserName"));
-            assertEquals(DB_PASSWORD, getFieldValue("propertyForm:propertySheet:propertSectionTextField:DbPasswordProp:DbPassword"));
-            assertEquals(DB_URL, getFieldValue("propertyForm:propertySheet:propertSectionTextField:DbUrlProp:DbUrl"));
-
-            int count = addTableRow("propertyForm:basicTable", "propertyForm:basicTable:topActionsGroup1:addSharedTableButton");
-            setFieldValue("propertyForm:basicTable:rowGroup1:0:col2:col1St", generateRandomString());
-            setFieldValue("propertyForm:basicTable:rowGroup1:0:col3:col1St", generateRandomString());
-            setFieldValue("propertyForm:basicTable:rowGroup1:0:col4:col1St", generateRandomString());
-            clickAndWait("propertyForm:propertyContentPage:topButtons:saveButton", TRIGGER_NEW_VALUES_SAVED);
-            assertTableRowCount("propertyForm:basicTable", count);
-        } finally {
-            ct.deleteAllClusters();
-        }
-    }
-}
diff --git a/appserver/admingui/devtests/src/test/java/org/glassfish/admingui/devtests/BaseSeleniumTestClass.java b/appserver/admingui/devtests/src/test/java/org/glassfish/admingui/devtests/BaseSeleniumTestClass.java
deleted file mode 100644
index ab65318..0000000
--- a/appserver/admingui/devtests/src/test/java/org/glassfish/admingui/devtests/BaseSeleniumTestClass.java
+++ /dev/null
@@ -1,1215 +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.admingui.devtests;
-
-import com.google.common.base.Function;
-import com.thoughtworks.selenium.Selenium;
-import com.thoughtworks.selenium.SeleniumException;
-import org.junit.*;
-import org.openqa.selenium.*;
-
-import java.io.*;
-import java.math.BigInteger;
-import java.net.InetAddress;
-import java.net.URL;
-import java.security.SecureRandom;
-import java.util.*;
-import java.util.concurrent.TimeUnit;
-import java.util.logging.Level;
-import java.util.logging.Logger;
-import org.apache.commons.io.FileUtils;
-import org.glassfish.admingui.common.util.RestUtil;
-import org.glassfish.admingui.devtests.util.ElementFinder;
-import org.glassfish.admingui.devtests.util.SeleniumHelper;
-import org.openqa.selenium.support.ui.ExpectedCondition;
-import org.openqa.selenium.support.ui.WebDriverWait;
-
-public class BaseSeleniumTestClass {
-    public static final String CURRENT_WINDOW = "selenium.browserbot.getCurrentWindow()";
-    public static final int TIMEOUT_CALLBACK_LOOP = 1000;
-    public static final String TRIGGER_NEW_VALUES_SAVED = "New values successfully saved.";
-    public static final String TRIGGER_COMMON_TASKS = "Common Tasks";
-    public static final String TRIGGER_REGISTRATION_PAGE = "Receive patch information and bug updates, screencasts and tutorials, support and training offerings, and more";
-    public static final String TRIGGER_ERROR_OCCURED = "An error has occurred";
-    public static final boolean DEBUG = Boolean.parseBoolean(SeleniumHelper.getParameter("debug", "false"));
-    @Rule
-    public SpecificTestRule specificTestRule = new SpecificTestRule();
-    public static final boolean IS_SECURE_ADMIN_ENABLED = Boolean.parseBoolean(System.getProperty("secureAdmin"));
-    protected static final int TIMEOUT = 300;
-    protected static final int BUTTON_TIMEOUT = 300;
-    protected static final Logger logger = Logger.getLogger(BaseSeleniumTestClass.class.getName());
-    protected static Selenium selenium;
-    protected static WebDriver driver;
-    private static String currentTestClass = "";
-    private boolean processingLogin = false;
-    private static final String AJAX_INDICATOR = "ajaxIndicator";
-    private static final Map<String, String> bundles = new HashMap<String, String>() {
-
-        {
-            put("i18n", "org.glassfish.admingui.core.Strings"); // core
-            put("i18nUC", "org.glassfish.updatecenter.admingui.Strings"); // update center
-            put("i18n_corba", "org.glassfish.corba.admingui.Strings");
-            put("i18n_ejb", "org.glassfish.ejb.admingui.Strings");
-            put("i18n_ejbLite", "org.glassfish.ejb-lite.admingui.Strings");
-            put("i18n_jts", "org.glassfish.jts.admingui.Strings"); // JTS
-            put("i18n_web", "org.glassfish.web.admingui.Strings"); // WEB
-            put("common", "org.glassfish.common.admingui.Strings");
-            put("i18nc", "org.glassfish.common.admingui.Strings"); // common -- apparently we use both in the app :|
-            put("i18nce", "org.glassfish.admingui.community-theme.Strings");
-            put("i18ncs", "org.glassfish.cluster.admingui.Strings"); // cluster
-            put("i18njca", "org.glassfish.jca.admingui.Strings"); // JCA
-            put("i18njdbc", "org.glassfish.jdbc.admingui.Strings"); // JDBC
-            put("i18njmail", "org.glassfish.full.admingui.Strings");
-            put("i18njms", "org.glassfish.jms.admingui.Strings"); // JMS
-            put("theme", "org.glassfish.admingui.community-theme.Strings");
-
-            // TODO: These conflict with core and should probably be changed in the pages
-            //put("i18n", "org.glassfish.common.admingui.Strings");
-            //put("i18n", "org.glassfish.web.admingui.Strings");
-            //put("i18nc", "org.glassfish.web.admingui.Strings");
-        }
-    };
-    private static final SeleniumHelper helper = SeleniumHelper.getInstance();
-    private ElementFinder elementFinder;
-
-    public BaseSeleniumTestClass() {
-        driver = helper.getDriver();
-        selenium = helper.getSeleniumInstance();
-        elementFinder = helper.getElementFinder();
-
-        if (Boolean.parseBoolean(SeleniumHelper.getParameter("slowDown", "false"))) {
-            driver.manage().timeouts().implicitlyWait(500, TimeUnit.MILLISECONDS);
-        }
-    }
-
-    @BeforeClass
-    public static void setUp() throws Exception {
-        if (!DEBUG) {
-            //RestUtil.post(helper.getBaseUrl() + "/management/domain/rotate-log", new HashMap<String, Object>());
-        }
-    }
-
-    @AfterClass
-    public static void captureLog() {
-        try {
-            helper.releaseSeleniumInstance();
-
-            if (!currentTestClass.isEmpty() && !DEBUG) {
-                String hostName = InetAddress.getLocalHost().getCanonicalHostName();
-                URL url = new URL("http://" + hostName + ":" + SeleniumHelper.getParameter("admin.port", "4848") + "/management/domain/view-log");
-                InputStream is = url.openStream();
-                PrintWriter out = new PrintWriter(new BufferedWriter(new FileWriter("target/surefire-reports/" + currentTestClass + "-server.log")));
-                BufferedReader in = new BufferedReader(new InputStreamReader(is));
-                String line = in.readLine();
-                while (line != null) {
-                    out.write(line + System.getProperty("line.separator"));
-                    line = in.readLine();
-                }
-                in.close();
-                out.close();
-            }
-        } catch (FileNotFoundException fnfe) {
-            //
-        } catch (Exception ex) {
-            //Logger.getLogger(BaseSeleniumTestClass.class.getName()).log(Level.INFO, null, ex);
-        }
-    }
-
-    @Before
-    public void reset() {
-        selenium = helper.getSeleniumInstance();
-        currentTestClass = this.getClass().getName();
-        openAndWait(helper.getBaseUrl(), TRIGGER_COMMON_TASKS);
-    }
-
-    @After
-    public void afterTest() {
-        if (Boolean.parseBoolean(SeleniumHelper.getParameter("releaseAfter", "false"))) {
-            helper.releaseSeleniumInstance();
-        }
-    }
-
-    // *************************************************************************
-    // Wrappers for Selenium API
-    // *************************************************************************
-    /**
-     * Returns the current value for the specified field
-     * @see DefaultSelenium.getValue(String)
-     * @param elem
-     * @return
-     */
-    public String getFieldValue(String elem) {
-        waitForElement(elem);
-        return selenium.getValue(elem);
-    }
-    /**
-     * Types the specified text into the requested element
-     * @param elem
-     * @param text
-     */
-    public void setFieldValue(String elem, String text) {
-        waitForElement(elem);
-        selenium.focus(elem);
-        selenium.type(elem, text);
-    }
-
-    /**
-     * Gets the text of an element.
-     * @see DefaultSelenium.getText(String)
-     * @param elem
-     * @return
-     */
-    public String getText(String elem) {
-        waitForElement(elem);
-        return selenium.getText(elem);
-    }
-
-    /**
-     * Deelects (unchecks) the specified checkbox.  After calling this method, the
-     * checkbox will be unchecked regardless of its initial state.
-     * @param elem
-     */
-    public void markCheckbox(String elem) {
-        waitForElement(elem);
-        selenium.check(elem);
-    }
-
-    /**
-     * Selects (checks) the specified checkbox.  After calling this method, the
-     * checkbox will be checked regardless of its initial state.
-     * @param elem
-     */
-    public void clearCheckbox(String elem) {
-        waitForElement(elem);
-        selenium.uncheck(elem);
-    }
-
-    public void pressButton(final String button) {
-        waitForElement(button);
-        new ExceptionSwallowingLoop<Void>() {
-            @Override
-            public Void operation() {
-                selenium.click(button);
-                return null;
-            }
-        }.get();
-    }
-
-    /**
-     * Return the selected value of the specified select element
-     * @param elem
-     * @return
-     */
-    public String getSelectedValue(String elem) {
-        waitForElement(elem);
-        return selenium.getSelectedValue(elem);
-    }
-
-    /**
-     * Returns true is the specified element is present on the page
-     * @param elem
-     * @return
-     */
-    public boolean isElementPresent(String elem) {
-        return selenium.isElementPresent(elem);
-    }
-
-    protected String captureScreenshot() {
-        return SeleniumHelper.captureScreenshot();
-    }
-
-    /**
-     * Select the option requested in the given select element
-     * @param id
-     * @param label
-     */
-    protected void selectDropdownOption(String id, String label) {
-        try {
-            label = resolveTriggerText(label);
-            waitForElement(id);
-            selenium.select(id, "label="+label);
-        } catch (SeleniumException se) {
-            try {
-                selenium.select(id, "value=" + label);
-            } catch (SeleniumException se1) {
-                logger.log(Level.INFO, "An invalid option was requested.  Here are the valid options:");
-                for (String option : selenium.getSelectOptions(id)) {
-                    logger.log(Level.INFO, "\t{0}", option);
-                }
-                throw se1;
-            }
-        }
-    }
-
-    /**
-     * Add a selection to the given select element
-     * @param elem
-     * @param label
-     */
-    protected void addSelectSelection(String elem, String label) {
-        try {
-            label = resolveTriggerText(label);
-            waitForElement(elem);
-            selenium.addSelection(elem, "label="+label);
-        } catch (SeleniumException se) {
-            logger.info("An invalid option was requested.  Here are the valid options:");
-            for (String option : selenium.getSelectOptions(elem)) {
-                logger.log(Level.INFO, "\t{0}", option);
-            }
-            throw se;
-        }
-    }
-
-    /**
-     * Returns true if the specified checkbox is selected
-     * @param elem
-     * @return
-     */
-    protected boolean isChecked(String elem) {
-        waitForElement(elem);
-        return selenium.isChecked(elem);
-    }
-
-    protected void selectFile(String uploadElement, String archivePath) {
-        //Switch to frame
-        driver.switchTo().frame(driver.findElement(By.tagName("iframe")));
-        WebDriverWait wait = new WebDriverWait(driver, 5);
-
-        // while the following loop runs, the DOM changes -
-        // page is refreshed, or element is removed and re-added
-        wait.until(presenceOfElementLocated(By.id(uploadElement)));
-        //Select the file path for upload.
-        driver.findElement(By.id(uploadElement)).sendKeys(archivePath);
-    }
-
-    protected boolean isAlertPresent() {
-        return selenium.isAlertPresent();
-    }
-
-    protected boolean isConfirmationPresent() {
-        return selenium.isConfirmationPresent();
-    }
-
-    protected String getAlertText() {
-        return selenium.getAlert();
-    }
-
-    protected void chooseOkOnNextConfirmation() {
-        selenium.chooseOkOnNextConfirmation();
-    }
-
-    protected String getConfirmation() {
-        String confirmation = null;
-        if (isConfirmationPresent()) {
-            confirmation = selenium.getConfirmation();
-        }
-        return confirmation;
-    }
-
-    protected void waitForPopUp(String windowId, String timeout) {
-        selenium.waitForPopUp(windowId, timeout);
-    }
-
-    protected void selectWindow(String windowId) {
-            selenium.selectWindow(windowId);
-    }
-
-    protected String getSelectedLabel(String elem) {
-        waitForElement(elem);
-        return selenium.getSelectedLabel(elem);
-    }
-
-    protected void open(String url) {
-        selenium.open(url);
-    }
-
-    protected void submitForm(String formId) {
-        selenium.submit(formId);
-    }
-
-    // *************************************************************************
-    // Wrappers for Selenium API
-    // *************************************************************************
-
-    protected String generateRandomString() {
-        SecureRandom random = new SecureRandom();
-
-        // prepend a letter to insure valid JSF ID, which is causing failures in some areas
-        return "a" + new BigInteger(130, random).toString(16);
-    }
-
-    protected int generateRandomNumber() {
-        Random r = new Random();
-        return Math.abs(r.nextInt()) + 1;
-    }
-
-    protected int generateRandomNumber(int max) {
-        Random r = new Random();
-        return Math.abs(r.nextInt(max - 1)) + 1;
-    }
-
-    protected int generateRandomNumber(int min, int max) {
-        Random r = new Random();
-        return Math.abs(r.nextInt(max + 1 - min)) + min;
-    }
-
-    protected <T> T selectRandomItem(T... items) {
-        Random r = new Random();
-
-        return items[r.nextInt(items.length)];
-    }
-
-    protected int getTableRowCount(String id) {
-        String text = getText(id);
-        int count = Integer.parseInt(text.substring(text.indexOf("(") + 1, text.indexOf(")")));
-
-        return count;
-    }
-
-    protected void openAndWait(String url, String triggerText) {
-        openAndWait(url, triggerText, TIMEOUT);
-    }
-
-    public void openAndWait(String url, String triggerText, int timeout) {
-        open(url);
-        // wait for 2 minutes, as that should be enough time to insure that the admin console app has been deployed by the server
-        waitForPageLoad(triggerText, timeout);
-    }
-
-    public void openAndWaitForHomePage(String url, String triggerText, int timeout) {
-        open(url);
-        if (IS_SECURE_ADMIN_ENABLED) {
-            try {
-                waitForLoginPageLoad(timeout);
-                String passwordFile = SeleniumHelper.getParameter("passwordfile", "");
-                String password = FileUtils.readFileToString(new File(passwordFile));
-                if(password.isEmpty() || !(password.startsWith("AS_ADMIN_PASSWORD=")) || password.length() <= 18) {
-                  throw new Exception("Password is not set correctly.");
-                } else {
-                    int index = password.indexOf("=");
-                    password = password.substring(index + 1, password.length() - 1);
-                }
-                handleLogin("admin", password, triggerText);
-            } catch (IOException ex) {
-                Logger.getLogger(BaseSeleniumTestClass.class.getName()).log(Level.SEVERE, null, ex);
-            } catch (Exception ex) {
-                Logger.getLogger(BaseSeleniumTestClass.class.getName()).log(Level.SEVERE, null, ex);
-            }
-        } else {
-          waitForPageLoad(triggerText, timeout);
-       }
-    }
-
-    /**
-     * Click the specified element and wait for the specified trigger text on the resulting page, timing out TIMEOUT seconds.
-     *
-     * @param triggerText
-     */
-    protected void clickAndWait(String id, String triggerText) {
-        clickAndWait(id, triggerText, TIMEOUT);
-    }
-
-    protected void clickAndWait(String id, String triggerText, int seconds) {
-        log ("Clicking on {0} \"{1}\"", id, triggerText);
-        waitForElement(id);
-        insureElementIsVisible(id);
-        pressButton(id);
-        waitForPageLoad(triggerText, seconds);
-    }
-
-    protected void clickAndWait(String id, String triggerText, boolean switchFromFrame) {
-        log ("Clicking on {0} \"{1}\"", id, triggerText);
-        waitForElement(id);
-        insureElementIsVisible(id);
-        pressButton(id);
-        if(switchFromFrame){ driver.switchTo().defaultContent();}
-        waitForPageLoad(triggerText, TIMEOUT);
-    }
-
-    protected void clickAndWait(String id, WaitForLoadCallBack callback) {
-        waitForElement(id);
-        insureElementIsVisible(id);
-        pressButton(id);
-        waitForLoad(TIMEOUT, callback);
-    }
-
-    protected void clickAndWaitForElement(String clickId, final String elementId) {
-        pressButton(clickId);
-        waitForLoad(60, new WaitForLoadCallBack() {
-            @Override
-            public boolean executeTest() {
-                if (isElementPresent(elementId)) {
-                    return true;
-                }
-
-                return false;
-            }
-
-        });
-    }
-
-    protected void clickAndWaitForButtonEnabled(String id) {
-        pressButton(id);
-        waitForButtonEnabled(id);
-    }
-
-    protected void clickLink(String linkText) {
-        driver.findElement(By.linkText(linkText)).click();
-    }
-
-    protected void sleep(int millis) {
-        try {
-            Thread.sleep(millis);
-        } catch (InterruptedException e) {
-        }
-    }
-
-    /**
-     * Cause the test to wait for the page to load.  This will be used, for example, after an initial page load
-     * (selenium.open) or after an Ajaxy navigation request has been made.
-     *
-     * @param triggerText The text that should appear on the page when it has finished loading
-     * @param timeout     How long to wait (in seconds)
-     */
-    protected void waitForPageLoad(String triggerText, int timeout) {
-        waitForLoad(timeout, new PageLoadCallBack(triggerText, false));
-    }
-
-    protected void waitForPageLoad(final String triggerText, final boolean textShouldBeMissing) {
-        waitForPageLoad(triggerText, TIMEOUT, textShouldBeMissing);
-    }
-
-    protected void waitForPageLoad(final String triggerText, final int timeout, final boolean textShouldBeMissing) {
-        waitForLoad(timeout, new PageLoadCallBack(triggerText, textShouldBeMissing));
-    }
-
-    protected void waitForLoad(int timeoutInSeconds, WaitForLoadCallBack callback) {
-        for (int seconds = 0;; seconds++) {
-            if (seconds >= (timeoutInSeconds)) {
-                Assert.fail("The operation timed out waiting for the page to load.");
-            }
-
-            WebElement ajaxPanel = (WebElement) elementFinder.findElement(By.id(AJAX_INDICATOR), TIMEOUT,
-                    new ExpectedCondition<Boolean>() {
-
-                        @Override
-                        public Boolean apply(WebDriver driver) {
-                            try {
-                                WebElement ajaxPanel = (WebElement) driver.findElement(By.id(AJAX_INDICATOR));
-                                return !ajaxPanel.isDisplayed();
-                            } catch (Exception e) {
-                                return false;
-                            }
-                        }
-                    });
-//                if (!ajaxPanel.isDisplayed()) {
-            if (callback.executeTest()) {
-                break;
-            }
-//                }
-
-            sleep(TIMEOUT_CALLBACK_LOOP);
-        }
-    }
-
-    // The login page doesn't have the ajax indicator, so we must treat it differently
-    protected void waitForLoginPageLoad(int timeoutInSeconds) {
-        for (int seconds = 0;; seconds++) {
-            if (seconds >= (30)) {
-                Assert.fail("The operation timed out waiting for the login page to load.");
-            }
-
-            boolean loginFormIsDisplayed = false;
-
-            try {
-                loginFormIsDisplayed = isElementPresent("j_username") || isElementPresent("Login.username");
-            } catch (Exception ex) {
-            }
-            if (loginFormIsDisplayed) {
-                break;
-            }
-
-            sleep(TIMEOUT_CALLBACK_LOOP);
-        }
-    }
-
-    protected void handleLogin() {
-        handleLogin("admin", "", TRIGGER_COMMON_TASKS);
-    }
-
-    protected void handleLogin(String userName, String password, String triggerText) {
-        processingLogin = true;
-        setFieldValue("Login.username", userName);
-        setFieldValue("Login.password", password);
-        clickAndWait("loginButton", triggerText);
-        processingLogin = false;
-    }
-
-    protected void waitForButtonEnabled(String buttonId) {
-        waitForLoad(BUTTON_TIMEOUT, new ButtonDisabledStateCallBack(buttonId, false));
-    }
-
-    protected void waitForButtonEnabledMessage(String buttonId) {
-        String enabledMessage = "i18n.msg.enableResourceSuccessful";
-        waitForLoad(BUTTON_TIMEOUT, new ButtonDisabledStateCallBack(buttonId, false));
-        waitForPageLoad(enabledMessage, TIMEOUT);
-    }
-
-    protected void waitForButtonDisabled(String buttonId) {
-        waitForLoad(BUTTON_TIMEOUT, new ButtonDisabledStateCallBack(buttonId, true));
-    }
-
-    protected void waitForButtonDisabledMessage(String buttonId) {
-        String disabledMessage = "i18n.msg.disableResourceSuccessful";
-        waitForLoad(BUTTON_TIMEOUT, new ButtonDisabledStateCallBack(buttonId, true));
-        waitForPageLoad(disabledMessage, TIMEOUT);
-    }
-
-    protected void waitForCondition(String js, int timeOutInMillis) {
-        selenium.waitForCondition(CURRENT_WINDOW + "." + js, Integer.toString(timeOutInMillis));
-    }
-
-    protected void deleteRow(String buttonId, String tableId, String triggerText) {
-        deleteRow(buttonId, tableId, triggerText, "col0", "col1");
-    }
-
-    protected void deleteRow(final String buttonId, final String tableId, final String triggerText, final String selectColId, final String valueColId) {
-        rowActionWithConfirm(buttonId, tableId, triggerText, selectColId, valueColId);
-        waitForLoad(TIMEOUT, new DeleteRowCallBack(tableId, triggerText, valueColId));
-//        waitForPageLoad(triggerText, true);
-    }
-
-    protected void rowActionWithConfirm(String buttonId, String tableId, String triggerText) {
-        rowActionWithConfirm(buttonId, tableId, triggerText, "col0", "col1");
-    }
-
-    protected void rowActionWithConfirm(String buttonId, String tableId, String triggerText, String selectColId, String valueColId) {
-        // A defensive getConfirmation()
-        getConfirmation();
-        chooseOkOnNextConfirmation();
-        selectTableRowByValue(tableId, triggerText, selectColId, valueColId);
-        sleep(500); // argh!
-        waitForButtonEnabled(buttonId);
-        pressButton(buttonId);
-        getConfirmation();
-        sleep(500); // argh!
-        waitForButtonDisabled(buttonId);
-    }
-
-    /**
-     * This method will scan the all ths links for the link with the given text.  We can't rely on a link's position
-     * in the table, as row order may vary (if, for example, a prior test run left data behind).  If the link is not
-     * found, null is returned, so the calling code may need to check the return value prior to use.
-     *
-     * @param baseId
-     * @param value
-     * @return
-     */
-    protected String getLinkIdByLinkText(final String baseId, final String value) {
-        final ExceptionSwallowingLoop<String> loop = new ExceptionSwallowingLoop<String>() {
-            @Override
-            public String operation() {
-                WebElement link = elementFinder.findElement(By.id(baseId).linkText(value), TIMEOUT);
-                return (link == null) ? null : (String) link.getAttribute("id");
-            }
-        };
-        return loop.get();
-    }
-
-    protected boolean isTextPresent(String text) {
-        return selenium.isTextPresent(resolveTriggerText(text));
-    }
-
-    protected void selectTableRowByValue(String tableId, String value) {
-        selectTableRowByValue(tableId, value, "col0", "col1");
-    }
-
-    protected void selectTableRowByValue(String tableId, String value, String selectColId, String valueColId) {
-        List<String> rows = getTableRowsByValue(tableId, value, valueColId);
-        for (String row : rows) {
-            // It seems this must be click for the JS to fire in the browser
-            final String id = row + ":" + selectColId + ":select";
-            selectTableRow(row, selectColId);
-        }
-    }
-
-    /**
-     * @See selectTableRowByValue(String tableId, String value, String selectColId, String valueColId);
-     * @param baseId
-     * @param value
-     * @return
-     */
-    protected int selectTableRowsByValue(String baseId, String value) {
-        return selectTableRowsByValue(baseId, value, "col0", "col1");
-    }
-
-    /**
-     * For the given table, this method will select each row whose value in the specified column
-     * matched the value given, returning the number of rows selected.
-     */
-    protected int selectTableRowsByValue(String tableId, String value, String selectColId, String valueColId) {
-        List<String> rows = getTableRowsByValue(tableId, value, valueColId);
-        if (!rows.isEmpty()) {
-            for (String row : rows) {
-                selectTableRow(row, selectColId);
-            }
-        }
-
-        return rows.size();
-    }
-
-    private void selectTableRow(String rowId, String colId) {
-        boolean rowHighlighted = false;
-
-        int iterations = 0;
-        this.log("Clicking on {0} in row {1} and making it sure it is highlighted", colId, rowId);
-        while (!rowHighlighted && (iterations <= 50)) {
-            selenium.click(rowId + ":" + colId + ":select");
-            markCheckbox(rowId + ":" + colId + ":select");
-            sleep(500);
-            String rowClass = selenium.getAttribute("identifier="+rowId+"@class");
-            rowHighlighted = ((rowClass != null) && (rowClass.contains("TblSelRow_sun4")));
-            iterations++;
-        }
-
-        if (iterations >= 50) {
-            Assert.fail("Timed out wait for row in " + rowId + " to be selected");
-        }
-    }
-
-    protected void deleteAllTableRows(String tableId, int colId) {
-        String deleteButtonId = tableId + ":topActionsGroup1:button1";
-        selectAllTableRows(tableId, colId);
-        waitForButtonEnabled(deleteButtonId);
-        chooseOkOnNextConfirmation();
-        pressButton(deleteButtonId);
-        getConfirmation();
-        this.waitForButtonDisabled(deleteButtonId);
-    }
-
-    protected void selectAllTableRows(String tableId, int colId) {
-        int count = getTableRowCount(tableId);
-        for (int i = 0 ; i < count; i++) {
-            selenium.click(tableId+":rowGroup1:" + i +":col" + colId + ":select");
-            markCheckbox(tableId+":rowGroup1:" + i +":col" + colId + ":select");
-        }
-    }
-
-    // TODO: write javadocs for this
-    protected String getTableRowByValue(String tableId, String value, String valueColId) {
-        try {
-            int row = 0;
-            while (true) { // iterate over any rows
-                // Assume one row group for now and hope it doesn't bite us
-                String text = getText(tableId + ":rowGroup1:" + row + ":" + valueColId);
-                if (text.equals(value)) {
-                    return tableId + ":rowGroup1:" + row + ":";
-                }
-                row++;
-            }
-        } catch (Exception e) {
-            Assert.fail("The specified row was not found: " + value);
-            return "";
-        }
-    }
-
-    protected List<String> getTableRowsByValue(String tableId, String value, String valueColId) {
-        List<String> rows = new ArrayList<String>();
-        try {
-            int row = 0;
-            while (true) { // iterate over any rows
-                // Assume one row group for now and hope it doesn't bite us
-                String text = getText(tableId + ":rowGroup1:" + row + ":" + valueColId);
-                if (text.contains(value)) {
-                    rows.add(tableId + ":rowGroup1:" + row);
-                }
-                row++;
-            }
-        } catch (Exception e) {
-        }
-
-        return rows;
-    }
-
-    // TODO: write javadocs for this
-    protected int getTableRowCountByValue(String tableId, String value, String valueColId, Boolean isLabel) {
-        int tableCount = getTableRowCount(tableId);
-        int selectedCount = 0;
-        try {
-            for (int i = 0; i < tableCount; i++) {
-                String text = "";
-                if (isLabel) {
-                    text = getText(tableId + ":rowGroup1:" + i + ":" + valueColId);
-                } else {
-                    text = getFieldValue(tableId + ":rowGroup1:" + i + ":" + valueColId);
-                }
-                if (text.equals(value)) {
-                    selectedCount++;
-                }
-            }
-        } catch (Exception e) {
-            Assert.fail("The specified row was not found: " + value);
-            return 0;
-        }
-        return selectedCount;
-    }
-
-    protected int getTableRowCountByValue(String tableId, String value, String valueColId) {
-        return getTableRowCountByValue(tableId, value, valueColId, true);
-    }
-
-    protected List<String> getTableColumnValues(String tableId, String columnId) {
-        List<String> values = new ArrayList<String>();
-        int tableCount = getTableRowCount(tableId);
-        try {
-            int row = 0;
-            while (true) { // iterate over any rows
-                // Assume one row group for now and hope it doesn't bite us
-                values.add(getText(tableId + ":rowGroup1:" + row + ":" + columnId));
-                row++;
-            }
-        } catch (Exception e) {
-        }
-
-        return values;
-    }
-
-    protected boolean tableContainsRow(String tableId, String columnId, String value) {
-        return getTableRowCountByValue(tableId, value, columnId) > 0;
-    }
-
-    protected int addTableRow(String tableId, String buttonId) {
-        return addTableRow(tableId, buttonId, "Additional Properties");
-    }
-
-    protected int addTableRow(String tableId, String buttonId, String countLabel) {
-        int count = getTableRowCount(tableId);
-        clickAndWait(buttonId, new AddTableRowCallBack(tableId, count));
-        return ++count;
-    }
-
-    protected void assertTableRowCount(String tableId, int count) {
-        Assert.assertEquals(count, getTableRowCount(tableId));
-    }
-
-    protected void waitForTableRowCount(String tableID, int count) {
-        waitForLoad(TIMEOUT, new TableRowCountCallBack(tableID, count));
-    }
-
-    // Look at all those params. Maybe this isn't such a hot idea.
-    /**
-     * @param resourceName
-     * @param tableId
-     * @param enableButtonId
-     * @param statusID
-     * @param backToTableButtonId
-     * @param tableTriggerText
-     * @param editTriggerText
-     */
-    protected void testEnableButton(String resourceName,
-            String tableId,
-            String enableButtonId,
-            String statusID,
-            String backToTableButtonId,
-            String tableTriggerText,
-            String editTriggerText,
-            String statusMsg) {
-        testEnableDisableButton(resourceName, tableId, enableButtonId, statusID, backToTableButtonId, tableTriggerText, editTriggerText, statusMsg);
-    }
-
-    protected void testDisableButton(String resourceName,
-            String tableId,
-            String disableButtonId,
-            String statusId,
-            String backToTableButtonId,
-            String tableTriggerText,
-            String editTriggerText,
-            String statusMsg) {
-        testEnableDisableButton(resourceName, tableId, disableButtonId, statusId, backToTableButtonId, tableTriggerText, editTriggerText, statusMsg);
-    }
-
-    private void testEnableDisableButton(String resourceName,
-            String tableId,
-            String enableButtonId,
-            String statusId,
-            String backToTableButtonId,
-            String tableTriggerText,
-            String editTriggerText,
-            String state) {
-        sleep(TIMEOUT_CALLBACK_LOOP); // yuck
-        selectTableRowByValue(tableId, resourceName);
-        waitForButtonEnabled(enableButtonId);
-        pressButton(enableButtonId);
-        waitForButtonDisabled(enableButtonId);
-        waitForPageLoad(resourceName, false);
-        clickAndWait(getLinkIdByLinkText(tableId, resourceName), editTriggerText);
-        // TODO: this is an ugly, ugly hack and needs to be cleaned up
-        if(state.contains("Target")) {
-            Assert.assertEquals(state, getText(statusId));
-        } else {
-            if ("on".equals(state) || "off".equals(state)) {
-                Assert.assertEquals("on".equals(state), isChecked(statusId));
-            } else {
-                Assert.assertEquals(state, getFieldValue(statusId));
-            }
-        }
-        clickAndWait(backToTableButtonId, tableTriggerText);
-    }
-
-    protected void testEnableOrDisableTarget(String tableSelectMutlipleId,
-            String enableButtonId,
-            String generalTabId,
-            String targetTabId,
-            String statusId,
-            String generalTriggerText,
-            String targetTriggerText,
-            String state,
-            String enableResourceOnTargetsStatus) {
-        pressButton(tableSelectMutlipleId);
-        waitForButtonEnabled(enableButtonId);
-        pressButton(enableButtonId);
-        waitForButtonDisabled(enableButtonId);
-        waitForPageLoad(enableResourceOnTargetsStatus, TIMEOUT);
-
-        clickAndWait(generalTabId, generalTriggerText);
-        Assert.assertEquals(state, getText(statusId));
-
-        clickAndWait(targetTabId, targetTriggerText);
-    }
-
-    protected void testManageTargets(String resourcesLinkId,
-            String resourcesTableId,
-            String enableButtonId,
-            String disableButtonId,
-            String enableOrDisableTextFieldId,
-            String resGeneralTabId,
-            String resTargetTabId,
-            String resourcesTriggerText,
-            String resEditTriggerText,
-            String jndiName,
-            String instanceName) {
-        final String TRIGGER_EDIT_RESOURCE_TARGETS = "Resource Targets";
-        final String enableStatus = "Enabled on 2 of 2 Target(s)";
-        final String disableStatus = "Enabled on 0 of 2 Target(s)";
-        final String TRIGGER_MANAGE_TARGETS = "Manage Resource Targets";
-        final String enableResourceOnTargetsStatus = "i18n.msg.enableResourceOnTargetsSuccessful";
-        final String disableResourceOnTargetsStatus = "i18n.msg.disableResourceOnTargetsSuccessful";
-        final String DEFAULT_SERVER = "server";
-
-        reset();
-        clickAndWait(resourcesLinkId, resourcesTriggerText);
-        waitForPageLoad(jndiName, false);
-        clickAndWait(getLinkIdByLinkText(resourcesTableId, jndiName), resEditTriggerText);
-        //Click on the target tab and verify whether the target is in the target table or not.
-        clickAndWait(resTargetTabId, TRIGGER_EDIT_RESOURCE_TARGETS);
-        Assert.assertTrue(isTextPresent(instanceName));
-
-        //Disable all targets
-        testEnableOrDisableTarget("propertyForm:targetTable:_tableActionsTop:_selectMultipleButton:_selectMultipleButton_image",
-                disableButtonId,
-                resGeneralTabId,
-                resTargetTabId,
-                enableOrDisableTextFieldId,
-                resEditTriggerText,
-                TRIGGER_EDIT_RESOURCE_TARGETS,
-                disableStatus,
-                disableResourceOnTargetsStatus);
-
-        //Enable all targets
-        testEnableOrDisableTarget("propertyForm:targetTable:_tableActionsTop:_selectMultipleButton:_selectMultipleButton_image",
-                enableButtonId,
-                resGeneralTabId,
-                resTargetTabId,
-                enableOrDisableTextFieldId,
-                resEditTriggerText,
-                TRIGGER_EDIT_RESOURCE_TARGETS,
-                enableStatus,
-                enableResourceOnTargetsStatus);
-
-        //Test the manage targets : Remove the server from targets.
-        clickAndWait("propertyForm:targetTable:topActionsGroup1:manageTargetButton", TRIGGER_MANAGE_TARGETS);
-        addSelectSelection("form:targetSection:targetSectionId:addRemoveProp:commonAddRemove_selected", DEFAULT_SERVER);
-        pressButton("form:targetSection:targetSectionId:addRemoveProp:commonAddRemove:commonAddRemove_removeButton");
-        clickAndWait("form:propertyContentPage:topButtons:saveButton", TRIGGER_NEW_VALUES_SAVED);
-
-        //Test the issue : 13280
-        //If server instance is not one of the target, edit resource was failing. Fixed that and added a test
-        clickAndWait(resourcesLinkId, resourcesTriggerText);
-        waitForPageLoad(jndiName, false);
-        clickAndWait(getLinkIdByLinkText(resourcesTableId, jndiName), resEditTriggerText);
-        Assert.assertTrue(isTextPresent(jndiName));
-        clickAndWait(resTargetTabId, TRIGGER_EDIT_RESOURCE_TARGETS);
-
-        //Test the manage targets : Remove the instance and add the server.
-        clickAndWait("propertyForm:targetTable:topActionsGroup1:manageTargetButton", TRIGGER_MANAGE_TARGETS);
-        addSelectSelection("form:targetSection:targetSectionId:addRemoveProp:commonAddRemove_selected", instanceName);
-        waitForButtonEnabled("form:targetSection:targetSectionId:addRemoveProp:commonAddRemove:commonAddRemove_removeButton");
-        pressButton("form:targetSection:targetSectionId:addRemoveProp:commonAddRemove:commonAddRemove_removeButton");
-        waitForButtonDisabled("form:targetSection:targetSectionId:addRemoveProp:commonAddRemove:commonAddRemove_removeButton");
-        selenium.removeAllSelections("form:targetSection:targetSectionId:addRemoveProp:commonAddRemove_available");
-
-        addSelectSelection("form:targetSection:targetSectionId:addRemoveProp:commonAddRemove_available", DEFAULT_SERVER);
-        waitForButtonEnabled("form:targetSection:targetSectionId:addRemoveProp:commonAddRemove:commonAddRemove_addButton");
-        pressButton("form:targetSection:targetSectionId:addRemoveProp:commonAddRemove:commonAddRemove_addButton");
-        waitForButtonDisabled("form:targetSection:targetSectionId:addRemoveProp:commonAddRemove:commonAddRemove_addButton");
-        clickAndWait("form:propertyContentPage:topButtons:saveButton", TRIGGER_NEW_VALUES_SAVED);
-        waitForPageLoad(instanceName, false);
-        Assert.assertTrue(isTextPresent(DEFAULT_SERVER));
-
-        //Go Back to Resources Page
-        clickAndWait(resourcesLinkId, resourcesTriggerText);
-    }
-
-    protected void logDebugMessage(String message) {
-        if (DEBUG) {
-            logger.info(message);
-        }
-    }
-
-    protected String resolveTriggerText(String original) {
-        String triggerText = original;
-        int index = original.indexOf(".");
-        if (index > -1) {
-            String bundleName = original.substring(0, index);
-            String key = original.substring(index + 1);
-            String bundle = bundles.get(bundleName);
-            if (bundle != null) {
-                ResourceBundle res = ResourceBundle.getBundle(bundle);
-                if (res != null) {
-                    // Strip out HTML. Hopefully this will be robust enough
-                    triggerText = res.getString(key).replaceAll("<.*?>", "");
-                } else {
-                    Logger.getLogger(BaseSeleniumTestClass.class.getName()).log(Level.WARNING, null, "An invalid resource bundle was specified: " + original);
-                }
-            }
-        }
-        return triggerText;
-    }
-
-    protected void log(String message, String... args) {
-        if (DEBUG) {
-            String[] temp = new String[args.length];
-            for (int i = 0; i < args.length; i++) {
-                temp[i] = resolveTriggerText(args[i]);
-            }
-            logger.log(Level.INFO, message, temp);
-        }
-    }
-
-    protected void waitForElement(String elem) {
-        // times out after 5 seconds
-        WebDriverWait wait = new WebDriverWait(driver, 5);
-
-        // while the following loop runs, the DOM changes -
-        // page is refreshed, or element is removed and re-added
-        wait.until(presenceOfElementLocated(By.id(elem)));
-        selenium.focus(elem);
-    }
-
-    private static Function<WebDriver, WebElement> presenceOfElementLocated(final By locator) {
-        return new Function<WebDriver, WebElement>() {
-            @Override
-            public WebElement apply(WebDriver driver) {
-                return driver.findElement(locator);
-            }
-        };
-    }
-
-    private void insureElementIsVisible (final String id) {
-        if (!id.contains("treeForm:tree")) {
-            return;
-        }
-
-        try {
-            WebElement element = (WebElement) elementFinder.findElement(By.id(id), TIMEOUT);
-            //driver.findElement(By.id(id));
-            if (element.isDisplayed()) {
-                return;
-            }
-        } catch (StaleElementReferenceException sere) {
-        }
-
-        final String parentId = id.substring(0, id.lastIndexOf(":"));
-        final WebElement parentElement = (WebElement) elementFinder.findElement(By.id(parentId), TIMEOUT);
-//                driver.findElement(By.id(parentId));
-        if (!parentElement.isDisplayed()) {
-            insureElementIsVisible(parentId);
-            String grandParentId = parentId.substring(0, parentId.lastIndexOf(":"));
-            String nodeId = grandParentId.substring(grandParentId.lastIndexOf(":") + 1);
-            pressButton(grandParentId + ":" + nodeId + "_turner");
-        }
-    }
-
-    class PageLoadCallBack implements WaitForLoadCallBack {
-        boolean textShouldBeMissing;
-        String triggerText;
-
-        public PageLoadCallBack(String triggerText, boolean textShouldBeMissing) {
-            this.textShouldBeMissing = textShouldBeMissing;
-            this.triggerText = resolveTriggerText(triggerText);
-        }
-
-
-        @Override
-        public boolean executeTest() {
-            boolean found = false;
-            try {
-                if (isElementPresent("j_username") && !processingLogin) {
-                    handleLogin();
-                }
-                if (!textShouldBeMissing) {
-                    boolean visible = false;
-                    final List<WebElement> elements = driver.findElements(By.xpath("//*[contains(text(), \"" +
-                            triggerText.replace("\"", "\\\"") + "\")]"));
-                    if (!elements.isEmpty()) {
-                        for (WebElement e : elements) {
-                            if (e.isDisplayed()) {
-                                visible = true;
-                            }
-                        }
-                    } else {
-                        visible = true;
-                    }
-
-                    if (isTextPresent(triggerText) && visible) {
-                        found = true;
-                    }
-                } else if (!isTextPresent(triggerText)) {
-                        found = true;
-
-                } else {
-                    if (isTextPresent("RuntimeException")) {
-                        Assert.fail("Exception detected on page. Please check the logs for details");
-                    }
-                }
-            } catch (SeleniumException se) {
-                String message = se.getMessage();
-                if (!"ERROR: Couldn't access document.body.  Is this HTML page fully loaded?".equals(message)) {
-                    Assert.fail(message);
-                }
-            }
-
-            return found;
-        }
-    };
-
-    class DeleteRowCallBack implements WaitForLoadCallBack {
-        private String tableId;
-        private String tableRowValue;
-        private String tableColId;
-
-        public DeleteRowCallBack(String tableId, String tableRowValue, String tableColId) {
-            this.tableId = tableId;
-            this.tableRowValue = tableRowValue;
-            this.tableColId = tableColId;
-        }
-
-        @Override
-        public boolean executeTest() {
-            try {
-                List<String> rows = getTableRowsByValue(tableId, tableRowValue, tableColId);
-                return rows.isEmpty();
-            } catch (SeleniumException se) {
-                return false;
-            }
-        }
-
-    }
-
-    class AddTableRowCallBack implements WaitForLoadCallBack {
-        private final String tableId;
-        private final int initialCount;
-
-        public AddTableRowCallBack(String tableId, int initialCount) {
-            this.tableId = tableId;
-            this.initialCount = initialCount;
-        }
-
-        @Override
-        public boolean executeTest() {
-            try {
-                int count = getTableRowCount(tableId);
-                return count > initialCount;
-            } catch (Exception e) {
-                return false;
-            }
-        }
-    };
-
-    class TableRowCountCallBack implements WaitForLoadCallBack {
-        private String tableId;
-        private int expectedCount;
-
-        public TableRowCountCallBack(String tableId, int expectedCount) {
-            this.tableId = tableId;
-            this.expectedCount = expectedCount;
-        }
-
-        @Override
-        public boolean executeTest() {
-            try {
-                int count = getTableRowCount(tableId);
-                return (count == expectedCount);
-            } catch (SeleniumException se) {
-                return false;
-            }
-        }
-    }
-
-    class ButtonDisabledStateCallBack implements WaitForLoadCallBack {
-        private String buttonId;
-        private boolean desiredState;
-
-        public ButtonDisabledStateCallBack(String buttonId, boolean desiredState) {
-            this.buttonId = buttonId;
-            this.desiredState = desiredState;
-        }
-
-        @Override
-        public boolean executeTest() {
-//            String attr = selenium.getEval("this.browserbot.findElement('id=" + buttonId + "').disabled"); // "Classic" Selenium
-            try {
-                String attr =
-                        driver.findElement(By.id(buttonId)).getAttribute("disabled"); // WebDriver-backed Selenium
-                return (Boolean.parseBoolean(attr) == desiredState);
-            } catch (Exception ex) {
-                return false;
-            }
-        }
-    }
-
-    abstract class ExceptionSwallowingLoop<T> {
-        public T get() {
-            T value = null;
-            boolean success = false;
-            int count = 0;
-            while (!success && (count < TIMEOUT /2 )) {
-                try {
-                    value = operation();
-                    success = true;
-                } catch (Exception e) {
-                    logger.log(Level.FINE, "Exception caught (''{0}''). Sleeping...", e.getMessage());
-                    count++;
-                }
-            }
-
-            return value;
-        }
-
-        public abstract T operation();
-    }
-}
diff --git a/appserver/admingui/devtests/src/test/java/org/glassfish/admingui/devtests/ClusterTest.java b/appserver/admingui/devtests/src/test/java/org/glassfish/admingui/devtests/ClusterTest.java
deleted file mode 100644
index 04da5e2..0000000
--- a/appserver/admingui/devtests/src/test/java/org/glassfish/admingui/devtests/ClusterTest.java
+++ /dev/null
@@ -1,450 +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.admingui.devtests;
-
-import java.util.List;
-import org.junit.Assert;
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertFalse;
-import static org.junit.Assert.assertTrue;
-import org.junit.Test;
-
-/**
- *
- * @author anilam
- */
-public class ClusterTest extends BaseSeleniumTestClass {
-
-    public static final String ID_CLUSTERS_TABLE = "propertyForm:clustersTable";
-    public static final String ID_CLUSTERS_TABLE_DELETE_BUTTON = "propertyForm:clustersTable:topActionsGroup1:button1";
-    public static final String ID_CLUSTERS_TABLE_SELECT_ALL_BUTTON = "propertyForm:clustersTable:_tableActionsTop:_selectMultipleButton";
-    public static final String ID_CLUSTERS_TABLE_STOP_BUTTON = "propertyForm:clustersTable:topActionsGroup1:button3";
-    public static final String TRIGGER_CLUSTER_NO_RUNNING_INSTANCES = "i18ncs.cluster.migrateEjbTimersNoRunningInstance";
-    public static final String TRIGGER_CONFIGURATION_TEXT = "i18n.configuration.pageTitleHelp";
-    public static final String TRIGGER_MIGRATE_EJB_TIMERS = "i18ncs.cluster.migrateEjbTimersHelp";
-    public static final String TRIGGER_CLUSTER_PAGE = "i18ncs.clusters.PageTitleHelp";
-    public static final String TRIGGER_NEW_CLUSTER_PAGE = "i18ncs.clusterNew.PageTitleHelp";
-    public static final String TRIGGER_CLUSTER_GENERAL_PAGE = "i18ncs.cluster.GeneralTitleHelp";
-    public static final String TRIGGER_CLUSTER_INSTANCE_NEW_PAGE = "i18ncs.clusterInstanceNew.PageTitleHelp";
-    public static final String TRIGGER_CLUSTER_INSTANCES_PAGE = "i18ncs.cluster.InstancesTitleHelp";
-    public static final String TRIGGER_CLUSTER_RESOURCES_PAGE = "i18ncs.cluster.ResourcesTitleHelp";
-    public static final String TRIGGER_CLUSTER_SYSTEM_PROPERTIES = "i18ncs.cluster.ClusterSystemProperties";
-
-    @Test
-    public void testStartAndStopClusterWithOneInstance() {
-        String clusterName = "clusterName" + generateRandomString();
-        String instanceName1 = "instanceName" + generateRandomString();
-        createCluster(clusterName, instanceName1);
-
-        // Verify cluster information in table
-        String prefix = getTableRowByValue(ID_CLUSTERS_TABLE, clusterName, "col1");
-        assertEquals(clusterName, getText(prefix + "col1:link"));
-        assertEquals(clusterName + "-config", getText(prefix + "col2:configlink"));
-        assertEquals(instanceName1, getText(prefix + "col3:iLink"));
-
-        // Start the cluster and verify
-        rowActionWithConfirm("propertyForm:clustersTable:topActionsGroup1:button2", ID_CLUSTERS_TABLE, clusterName);
-        waitForButtonDisabled("propertyForm:clustersTable:topActionsGroup1:button2");
-        prefix = getTableRowByValue(ID_CLUSTERS_TABLE, clusterName, "col1");
-        assertTrue((getText(prefix + "col3").indexOf("Running") != -1));
-
-        // Stop the cluster and verify
-        rowActionWithConfirm("propertyForm:clustersTable:topActionsGroup1:button3", ID_CLUSTERS_TABLE, clusterName);
-        waitForButtonDisabled("propertyForm:clustersTable:topActionsGroup1:button3");
-        assertTrue((getText(prefix + "col3").indexOf("Stopped") != -1));
-
-        deleteCluster(clusterName);
-    }
-
-    @Test
-    public void testMigrateEjbTimers() {
-        String clusterName = "clusterName" + generateRandomString();
-        String instanceName1 = "instanceName" + generateRandomString();
-        String instanceName2 = "instanceName" + generateRandomString();
-        createCluster(clusterName, instanceName1, instanceName2);
-
-        clickAndWait(getLinkIdByLinkText(ID_CLUSTERS_TABLE, clusterName), TRIGGER_CLUSTER_GENERAL_PAGE);
-        clickAndWait("propertyForm:clusterTabs:clusterInst", TRIGGER_CLUSTER_INSTANCES_PAGE);
-
-        startClusterInstance(instanceName1);
-
-        clickAndWait("propertyForm:clusterTabs:general", TRIGGER_CLUSTER_GENERAL_PAGE);
-        clickAndWait("propertyForm:migrateTimesButton", TRIGGER_MIGRATE_EJB_TIMERS);
-        Assert.assertFalse(isTextPresent(TRIGGER_CLUSTER_NO_RUNNING_INSTANCES));
-        selectDropdownOption("propertyForm:propertySheet:propertSectionTextField:clusterSourceProp:source", instanceName2);
-        selectDropdownOption("propertyForm:propertySheet:propertSectionTextField:clusterDestProp:dest", instanceName1);
-
-        clickAndWait("propertyForm:propertyContentPage:topButtons:saveButton", "Migrated 0 timers");
-        clickAndWait("propertyForm:clusterTabs:clusterInst", TRIGGER_CLUSTER_INSTANCES_PAGE);
-
-//        stopClusterInstance(instanceName1);
-        deleteCluster(clusterName);
-    }
-
-    @Test
-    public void verifyClusterGeneralInformationPage() {
-        String clusterName = "clusterName" + generateRandomString();
-        String instanceName1 = "instanceName" + generateRandomString();
-        String instanceName2 = "instanceName" + generateRandomString();
-        createCluster(clusterName, instanceName1, instanceName2);
-
-        clickAndWait(getLinkIdByLinkText(ID_CLUSTERS_TABLE, clusterName), TRIGGER_CLUSTER_GENERAL_PAGE);
-        assertEquals(clusterName, getText("propertyForm:propertySheet:propertSectionTextField:clusterNameProp:clusterName"));
-
-        //ensure config link is fine.
-        //TODO:  how to ensure thats the correct configuration page ?
-        assertEquals(clusterName + "-config", getText("propertyForm:propertySheet:propertSectionTextField:configNameProp:configlink"));
-        clickAndWait("propertyForm:propertySheet:propertSectionTextField:configNameProp:configlink", TRIGGER_CONFIGURATION_TEXT);
-
-        //Back to the Clusters page,  ensure default value is there.
-        clickAndWait("treeForm:tree:clusterTreeNode:clusterTreeNode_link", TRIGGER_CLUSTER_PAGE);
-        clickAndWait(getLinkIdByLinkText(ID_CLUSTERS_TABLE, clusterName), TRIGGER_CLUSTER_GENERAL_PAGE);
-        //TODO: should try to use the String key
-        assertEquals("2 instances are stopped", getText("propertyForm:propertySheet:propertSectionTextField:instanceStatusProp:instanceStatusStopped"));
-
-        //change value
-        setFieldValue("propertyForm:propertySheet:propertSectionTextField:gmsMulticastPort:gmsMulticastPort", "12345");
-        setFieldValue("propertyForm:propertySheet:propertSectionTextField:gmsMulticastAddress:gmsMulticastAddress", "123.234.456.88");
-        setFieldValue("propertyForm:propertySheet:propertSectionTextField:GmsBindInterfaceAddress:GmsBindInterfaceAddress", "${ABCDE}");
-        clearCheckbox("propertyForm:propertySheet:propertSectionTextField:gmsEnabledProp:gmscb");
-        clickAndWait("propertyForm:propertyContentPage:topButtons:saveButton", TRIGGER_NEW_VALUES_SAVED);
-
-        //ensure value is saved correctly
-        assertEquals("12345", getFieldValue("propertyForm:propertySheet:propertSectionTextField:gmsMulticastPort:gmsMulticastPort"));
-        assertEquals("123.234.456.88", getFieldValue("propertyForm:propertySheet:propertSectionTextField:gmsMulticastAddress:gmsMulticastAddress"));
-        assertEquals("${ABCDE}", getFieldValue("propertyForm:propertySheet:propertSectionTextField:GmsBindInterfaceAddress:GmsBindInterfaceAddress"));
-        assertEquals(false, isChecked("propertyForm:propertySheet:propertSectionTextField:gmsEnabledProp:gmscb"));
-
-        deleteCluster(clusterName);
-    }
-
-    @Test
-    public void testClusterInstancesTab() {
-        String clusterName = "clusterName" + generateRandomString();
-        String instanceName1 = "instanceName" + generateRandomString();
-        String instanceName2 = "instanceName" + generateRandomString();
-        createCluster(clusterName, instanceName1);
-
-        gotoClusterInstancesPage(clusterName);
-
-        assertTrue(isTextPresent(instanceName1));
-
-        clickAndWait("propertyForm:instancesTable:topActionsGroup1:newButton", TRIGGER_CLUSTER_INSTANCE_NEW_PAGE);
-        setFieldValue("propertyForm:propertySheet:propertSectionTextField:NameTextProp:NameText", instanceName2);
-        clickAndWait("propertyForm:propertyContentPage:topButtons:newButton", TRIGGER_CLUSTER_INSTANCES_PAGE);
-        assertTrue(isTextPresent(instanceName2));
-
-        deleteCluster(clusterName);
-    }
-
-    @Test
-    public void testProperties() {
-        String clusterName = "clusterName" + generateRandomString();
-        String instanceName1 = "instanceName" + generateRandomString();
-        createCluster(clusterName, instanceName1);
-
-        clickAndWait(getLinkIdByLinkText(ID_CLUSTERS_TABLE, clusterName), TRIGGER_CLUSTER_GENERAL_PAGE);
-        assertEquals(clusterName, getText("propertyForm:propertySheet:propertSectionTextField:clusterNameProp:clusterName"));
-
-        // Go to properties tab
-        clickAndWait("propertyForm:clusterTabs:clusterProps", TRIGGER_CLUSTER_SYSTEM_PROPERTIES);
-        int sysPropCount = addTableRow("propertyForm:sysPropsTable", "propertyForm:sysPropsTable:topActionsGroup1:addSharedTableButton");
-        setFieldValue("propertyForm:sysPropsTable:rowGroup1:0:col2:col1St", "property" + generateRandomString());
-        setFieldValue("propertyForm:sysPropsTable:rowGroup1:0:overrideValCol:overrideVal", "value");
-        clickAndWait("propertyForm:clusterSysPropsPage:topButtons:saveButton", TRIGGER_NEW_VALUES_SAVED);
-
-        // Go to cluster props page
-        pressButton("propertyForm:clusterTabs:clusterProps:clusterInstanceProps");
-        waitForPageLoad(TRIGGER_CLUSTER_SYSTEM_PROPERTIES, TIMEOUT, true);
-
-        int clusterPropCount = addTableRow("propertyForm:basicTable", "propertyForm:basicTable:topActionsGroup1:addSharedTableButton");
-        setFieldValue("propertyForm:basicTable:rowGroup1:0:col2:col1St", "property" + generateRandomString());
-        setFieldValue("propertyForm:basicTable:rowGroup1:0:col3:col1St", "value");
-        clickAndWait("propertyForm:propertyContentPage:topButtons:saveButton", TRIGGER_NEW_VALUES_SAVED);
-
-        // Verify that properties were persisted
-        clickAndWait("propertyForm:clusterTabs:clusterProps:clusterSystemProps", TRIGGER_CLUSTER_SYSTEM_PROPERTIES);
-        assertTableRowCount("propertyForm:sysPropsTable", sysPropCount);
-        pressButton("propertyForm:clusterTabs:clusterProps:clusterInstanceProps");
-        waitForPageLoad(TRIGGER_CLUSTER_SYSTEM_PROPERTIES, TIMEOUT, true);
-        assertTableRowCount("propertyForm:basicTable", clusterPropCount);
-
-        deleteCluster(clusterName);
-    }
-
-    @Test
-    public void testMultiDeleteClusters() {
-        String clusterName1 = "cluster" + generateRandomString();
-        String clusterName2 = "cluster" + generateRandomString();
-
-        createCluster(clusterName1);
-        createCluster(clusterName2);
-        deleteAllClusters();
-
-        assertEquals(0, getTableRowsByValue(ID_CLUSTERS_TABLE, clusterName1, "col1").size());
-        assertEquals(0, getTableRowsByValue(ID_CLUSTERS_TABLE, clusterName2, "col1").size());
-    }
-
-    @Test
-    public void testClusterWithJmsOptions() {
-        String clusterName = "cluster" + generateRandomString();
-        try {
-            gotoClusterPage();
-            clickAndWait("propertyForm:clustersTable:topActionsGroup1:newButton", TRIGGER_NEW_CLUSTER_PAGE);
-            setFieldValue("propertyForm:propertySheet:propertySectionTextField:NameTextProp:NameText", clusterName);
-
-            markCheckbox("propertyForm:propertySheet:propertySectionTextField:jmsConfigTypeProp:optCustom:optCustom_label");
-
-            waitForPageLoad("i18ncs.cluster.jms.ClusterTypeName", TIMEOUT);
-
-            selenium.check("propertyForm:jmsTypePropertySheet:jmsTypeSection:jmsTypeProp:optLocal");
-            selenium.check("propertyForm:jmsPropertySheet:configureJmsClusterSection:ClusterTypeProp:optConventional");
-    //        selectDropdownOption("propertyForm:jmsPropertySheet:configureJmsClusterSection:ClusterTypeProp:clusterType", "Conventional");
-
-            selectDropdownOption("propertyForm:jmsPropertySheet:configureJmsClusterSection:ConfigStoreTypeProp:configStoreType", "Master Broker");
-            selectDropdownOption("propertyForm:jmsPropertySheet:configureJmsClusterSection:MessageStoreTypeProp:messageStoreType", "File");
-            setFieldValue("propertyForm:jmsPropertySheet:configureJmsClusterSection:PropertiesProp:properties", "prop1=value1:prop2=value2\\:with\\:colons:prop3=value3");
-
-        addTableRow("propertyForm:basicTable", "propertyForm:basicTable:topActionsGroup1:addSharedTableButton",
-                "Server Instances to Be Created");
-        setFieldValue("propertyForm:basicTable:rowGroup1:0:col2:name", clusterName + "in1");
-        addTableRow("propertyForm:basicTable", "propertyForm:basicTable:topActionsGroup1:addSharedTableButton",
-                "Server Instances to Be Created");
-        setFieldValue("propertyForm:basicTable:rowGroup1:0:col2:name", clusterName + "in2");
-
-            clickAndWait("propertyForm:propertyContentPage:topButtons:newButton", TRIGGER_CLUSTER_PAGE);
-            assertTrue(isTextPresent(clusterName));
-        } finally {
-            deleteCluster(clusterName);
-        }
-    }
-
-    @Test
-    public void testClusterWithEnhancedJmsOptions() {
-        String clusterName = "cluster" + generateRandomString();
-        try {
-            gotoClusterPage();
-            clickAndWait("propertyForm:clustersTable:topActionsGroup1:newButton", TRIGGER_NEW_CLUSTER_PAGE);
-            setFieldValue("propertyForm:propertySheet:propertySectionTextField:NameTextProp:NameText", clusterName);
-            markCheckbox("propertyForm:propertySheet:propertySectionTextField:jmsConfigTypeProp:optCustom:optCustom_label");
-            waitForPageLoad("i18ncs.cluster.jms.ClusterTypeName", TIMEOUT);
-
-            clickAndWait("propertyForm:jmsTypePropertySheet:jmsTypeSection:jmsTypeProp:optLocal", "i18ncs.cluster.jms.mqClusterTypeEnhanced");
-            selenium.check("propertyForm:jmsPropertySheet:configureJmsClusterSection:ClusterTypeProp:optEnhanced");
-
-            setFieldValue("propertyForm:jmsPropertySheet:configureJmsClusterSection:DbVendorProp:dbVendor", "mysql");
-            setFieldValue("propertyForm:jmsPropertySheet:configureJmsClusterSection:DbUserProp:dbUser", "root");
-            setFieldValue("propertyForm:jmsPropertySheet:configureJmsClusterSection:DbUrlProp:dbUrl", "jdbc:mysql://hostname:portno/dbname?password=xxx");
-
-            addTableRow("propertyForm:basicTable", "propertyForm:basicTable:topActionsGroup1:addSharedTableButton",
-                    "Server Instances to Be Created");
-            setFieldValue("propertyForm:basicTable:rowGroup1:0:col2:name", clusterName + "in1");
-            addTableRow("propertyForm:basicTable", "propertyForm:basicTable:topActionsGroup1:addSharedTableButton",
-                    "Server Instances to Be Created");
-            setFieldValue("propertyForm:basicTable:rowGroup1:0:col2:name", clusterName + "in2");
-
-            clickAndWait("propertyForm:propertyContentPage:topButtons:newButton", TRIGGER_CLUSTER_PAGE);
-            assertTrue(isTextPresent(clusterName));
-        } finally {
-            deleteCluster(clusterName);
-        }
-    }
-
-    @Test
-    public void testClusterWithBadJmsOptions() {
-        String clusterName = "cluster" + generateRandomString();
-        gotoClusterPage();
-        clickAndWait("propertyForm:clustersTable:topActionsGroup1:newButton", TRIGGER_NEW_CLUSTER_PAGE);
-        setFieldValue("propertyForm:propertySheet:propertySectionTextField:NameTextProp:NameText", clusterName);
-        markCheckbox("propertyForm:propertySheet:propertySectionTextField:jmsConfigTypeProp:optCustom:optCustom_label");
-        waitForPageLoad("i18ncs.cluster.jms.ClusterTypeName", TIMEOUT);
-
-        clickAndWait("propertyForm:jmsTypePropertySheet:jmsTypeSection:jmsTypeProp:optLocal", "i18ncs.cluster.jms.mqClusterTypeEnhanced");
-        selenium.check("propertyForm:jmsPropertySheet:configureJmsClusterSection:ClusterTypeProp:optConventional");
-//        selectDropdownOption("propertyForm:jmsPropertySheet:configureJmsClusterSection:ClusterTypeProp:clusterType", "Conventional");
-
-        selectDropdownOption("propertyForm:jmsPropertySheet:configureJmsClusterSection:ConfigStoreTypeProp:configStoreType", "Master Broker");
-        selectDropdownOption("propertyForm:jmsPropertySheet:configureJmsClusterSection:MessageStoreTypeProp:messageStoreType", "JDBC");
-
-        addTableRow("propertyForm:basicTable", "propertyForm:basicTable:topActionsGroup1:addSharedTableButton",
-                "Server Instances to Be Created");
-        setFieldValue("propertyForm:basicTable:rowGroup1:0:col2:name", clusterName + "in1");
-        addTableRow("propertyForm:basicTable", "propertyForm:basicTable:topActionsGroup1:addSharedTableButton",
-                "Server Instances to Be Created");
-        setFieldValue("propertyForm:basicTable:rowGroup1:0:col2:name", clusterName + "in2");
-
-        clickAndWait("propertyForm:propertyContentPage:topButtons:newButton", "An error occurred");
-        gotoClusterPage();
-        assertFalse(isTextPresent(clusterName));
-    }
-
-    public void gotoClusterPage() {
-        reset();
-        clickAndWait("treeForm:tree:clusterTreeNode:clusterTreeNode_link", TRIGGER_CLUSTER_PAGE);
-    }
-
-    public void gotoClusterInstancesPage(String clusterName) {
-        gotoClusterPage();
-        clickAndWait(getLinkIdByLinkText(ID_CLUSTERS_TABLE, clusterName), TRIGGER_CLUSTER_GENERAL_PAGE);
-        clickAndWait("propertyForm:clusterTabs:clusterInst", TRIGGER_CLUSTER_INSTANCES_PAGE);
-    }
-
-    @Test
-    public void testClusterResourcesPage() {
-        final String jndiName = "jdbcResource" + generateRandomString();
-        String target = "cluster" + generateRandomString();
-        final String description = "devtest test for cluster->resources page- " + jndiName;
-        final String tableID = "propertyForm:resourcesTable";
-
-        JdbcTest jdbcTest = new JdbcTest();
-        jdbcTest.createJDBCResource(jndiName, description, target, MonitoringTest.TARGET_CLUSTER_TYPE);
-
-        goToClusterResourcesPage(target);
-        assertTrue(isTextPresent(jndiName));
-
-        int jdbcCount = getTableRowCountByValue(tableID, "JDBC Resources", "col3:type");
-        int customCount = getTableRowCountByValue(tableID, "Custom Resources", "col3:type");
-
-        selectDropdownOption("propertyForm:resourcesTable:topActionsGroup1:filter_list", "Custom Resources");
-        waitForTableRowCount(tableID, customCount);
-
-        goToClusterResourcesPage(target);
-
-        selectDropdownOption("propertyForm:resourcesTable:topActionsGroup1:filter_list", "JDBC Resources");
-        waitForTableRowCount(tableID, jdbcCount);
-
-        goToClusterResourcesPage(target);
-
-        selectTableRowByValue("propertyForm:resourcesTable", jndiName);
-        pressButton("propertyForm:resourcesTable:topActionsGroup1:button1");
-        waitForButtonEnabledMessage("propertyForm:resourcesTable:topActionsGroup1:button1");
-        jdbcTest.deleteJDBCResource(jndiName, target, MonitoringTest.TARGET_CLUSTER_TYPE);
-    }
-
-    public void createCluster(String clusterName, String... instanceNames) {
-        gotoClusterPage();
-        clickAndWait("propertyForm:clustersTable:topActionsGroup1:newButton", TRIGGER_NEW_CLUSTER_PAGE);
-        setFieldValue("propertyForm:propertySheet:propertySectionTextField:NameTextProp:NameText", clusterName);
-
-        if (instanceNames != null) {
-            for (String instanceName : instanceNames) {
-                if (instanceName != null && !instanceName.equals("")) {
-                    addTableRow("propertyForm:basicTable", "propertyForm:basicTable:topActionsGroup1:addSharedTableButton",
-                            "Server Instances to Be Created");
-                    setFieldValue("propertyForm:basicTable:rowGroup1:0:col2:name", instanceName);
-//                    createClusterInstance(clusterName, instanceName);
-                }
-            }
-        }
-        clickAndWait("propertyForm:propertyContentPage:topButtons:newButton", TRIGGER_CLUSTER_PAGE);
-    }
-
-    public void createClusterInstance(String clusterName, String instanceName) {
-        gotoClusterInstancesPage(clusterName);
-        clickAndWait("propertyForm:instancesTable:topActionsGroup1:newButton", "Name of the node machine on which the server instance will reside");
-        setFieldValue("propertyForm:propertySheet:propertSectionTextField:NameTextProp:NameText", instanceName);
-        clickAndWait("propertyForm:propertyContentPage:topButtons:newButton", TRIGGER_CLUSTER_INSTANCES_PAGE);
-        Assert.assertNotNull(this.getTableRowByValue("propertyForm:instancesTable", instanceName, "col1"));
-    }
-
-    public void deleteCluster(String clusterName) {
-        gotoClusterPage();
-        rowActionWithConfirm(ID_CLUSTERS_TABLE_STOP_BUTTON, ID_CLUSTERS_TABLE, clusterName);
-        deleteRow(ID_CLUSTERS_TABLE_DELETE_BUTTON, ID_CLUSTERS_TABLE, clusterName);
-    }
-
-    public void deleteAllClusters() {
-        gotoClusterPage();
-
-        if (getTableRowCount(ID_CLUSTERS_TABLE) == 0) {
-            return;
-        }
-
-
-        List<String> rows = getTableRowsByValue(ID_CLUSTERS_TABLE, "Running", "col3");
-        if (!rows.isEmpty()) {
-            // Stop all instances
-            for (String row : rows) {
-                String clusterName = getText(row + ":col1");
-                this.selectTableRowByValue(ID_CLUSTERS_TABLE, clusterName);
-                //rowActionWithConfirm(ID_CLUSTERS_TABLE_STOP_BUTTON, ID_CLUSTERS_TABLE, clusterName);
-//                selenium.click(ID_CLUSTERS_TABLE_SELECT_ALL_BUTTON);
-//                waitForButtonEnabled(ID_CLUSTERS_TABLE_STOP_BUTTON);
-//                selenium.chooseOkOnNextConfirmation();
-//                selenium.click(ID_CLUSTERS_TABLE_STOP_BUTTON);
-//                if (selenium.isConfirmationPresent()) {
-//                    selenium.getConfirmation();
-//                }
-//                waitForButtonDisabled(ID_CLUSTERS_TABLE_STOP_BUTTON);
-            }
-            waitForButtonEnabled(ID_CLUSTERS_TABLE_STOP_BUTTON);
-            chooseOkOnNextConfirmation();
-            pressButton(ID_CLUSTERS_TABLE_STOP_BUTTON);
-            if (isConfirmationPresent()) {
-                getConfirmation();
-            }
-            waitForButtonDisabled(ID_CLUSTERS_TABLE_STOP_BUTTON);
-        }
-
-        deleteAllTableRows(ID_CLUSTERS_TABLE, 0);
-        // Delete all clusters
-        // FIXME: We're iterating through these one at a time, because we are occasionally getting a
-        // "false" failure, where a cluster was deleted, but the server was unable to delete
-        // some files, so it returns an error, which causes the loop in deleteAllTableRows()
-        // to exit early
-//        List<String> clusters = getTableColumnValues(ID_CLUSTERS_TABLE, "col1");
-//        for (String clusterName : clusters) {
-////            gotoClusterPage();
-//            rowActionWithConfirm(ID_CLUSTERS_TABLE_DELETE_BUTTON, ID_CLUSTERS_TABLE, clusterName);
-//        }
-        assertTableRowCount(ID_CLUSTERS_TABLE, 0);
-    }
-
-    public void startClusterInstance(String instanceName) {
-        rowActionWithConfirm("propertyForm:instancesTable:topActionsGroup1:button2", "propertyForm:instancesTable", instanceName);
-        waitForCondition("document.getElementById('propertyForm:instancesTable:topActionsGroup1:button2').value != 'Processing...'", 300000);
-    }
-
-    public void stopClusterInstance(String instanceName) {
-        rowActionWithConfirm("propertyForm:instancesTable:topActionsGroup1:button3", "propertyForm:instancesTable", instanceName);
-        waitForCondition("document.getElementById('propertyForm:instancesTable:topActionsGroup1:button3').value != 'Processing...'", 300000);
-    }
-
-    public void stopAllClusterInstances(String clusterName) {
-        gotoClusterInstancesPage(clusterName);
-
-        if (isTextPresent("Server Instances (0)")) {
-            return;
-        }
-
-        if (selectTableRowsByValue("propertyForm:instancesTable", "Running", "col0", "col6") > 0) {
-            waitForButtonEnabled("propertyForm:instancesTable:topActionsGroup1:button3");
-            chooseOkOnNextConfirmation();
-            pressButton("propertyForm:instancesTable:topActionsGroup1:button3");
-            if (isConfirmationPresent()) {
-                getConfirmation();
-            }
-            this.waitForButtonDisabled("propertyForm:instancesTable:topActionsGroup1:button3");
-        }
-    }
-    private void goToClusterResourcesPage(String clusterName) {
-        reset();
-        clickAndWait("treeForm:tree:clusterTreeNode:clusterTreeNode_link", TRIGGER_CLUSTER_PAGE);
-        clickAndWait(getLinkIdByLinkText(ID_CLUSTERS_TABLE, clusterName), TRIGGER_CLUSTER_GENERAL_PAGE);
-        clickAndWait("propertyForm:clusterTabs:clusterResources", TRIGGER_CLUSTER_RESOURCES_PAGE);
-    }
-}
diff --git a/appserver/admingui/devtests/src/test/java/org/glassfish/admingui/devtests/ConfigTest.java b/appserver/admingui/devtests/src/test/java/org/glassfish/admingui/devtests/ConfigTest.java
deleted file mode 100644
index 42b9593..0000000
--- a/appserver/admingui/devtests/src/test/java/org/glassfish/admingui/devtests/ConfigTest.java
+++ /dev/null
@@ -1,38 +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.admingui.devtests;
-
-import org.junit.Test;
-
-import static org.junit.Assert.assertTrue;
-
-public class ConfigTest extends BaseSeleniumTestClass {
-    private static final String TRIGGER_CONFIGURATION = "i18nc.configurations.PageTitleHelp";
-    private static final String TRIGGER_NEW_CONFIGURATION = "i18nc.configurations.NewPageTitle";
-
-    @Test
-    public void testConfig() {
-        final String configName= "test-config-"+generateRandomString();
-        clickAndWait("treeForm:tree:configurations:configurations_link", TRIGGER_CONFIGURATION);
-        clickAndWait("propertyForm:configs:topActionsGroup1:newButton", TRIGGER_NEW_CONFIGURATION);
-        setFieldValue("propertyForm:propertySheet:propertSectionTextField:NameProp:Name", configName);
-        clickAndWait("propertyForm:propertyContentPage:topButtons:okButton", TRIGGER_CONFIGURATION);
-        assertTrue(isTextPresent(configName));
-
-        deleteRow("propertyForm:configs:topActionsGroup1:button1", "propertyForm:configs", configName);
-    }
-}
diff --git a/appserver/admingui/devtests/src/test/java/org/glassfish/admingui/devtests/ConnectorServiceTest.java b/appserver/admingui/devtests/src/test/java/org/glassfish/admingui/devtests/ConnectorServiceTest.java
deleted file mode 100644
index 6e2424a..0000000
--- a/appserver/admingui/devtests/src/test/java/org/glassfish/admingui/devtests/ConnectorServiceTest.java
+++ /dev/null
@@ -1,52 +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.admingui.devtests;
-
-import org.junit.Test;
-
-import static org.junit.Assert.assertEquals;
-
-/**
- * Created by IntelliJ IDEA.
- * User: jasonlee
- * Date: Mar 12, 2010
- * Time: 2:38:16 PM
- * To change this template use File | Settings | File Templates.
- */
-public class ConnectorServiceTest extends BaseSeleniumTestClass {
-    private static final String TRIGGER_CONNECTOR_SERVICE = "The policy to be used for loading classes.";
-
-    @Test
-    public void testConnectorService() {
-        clickAndWait("treeForm:tree:configurations:server-config:connectorService:connectorService_link", TRIGGER_CONNECTOR_SERVICE);
-
-        String policy = "derived";
-        if (getFieldValue("propertyForm:propertySheet:propertSectionTextField:ClassLoadingPolicy:ClassLoadingPolicy").equals(policy)) {
-            policy = "global";
-        }
-        final String timeout = Integer.toString(generateRandomNumber(120));
-
-        setFieldValue("propertyForm:propertySheet:propertSectionTextField:timeout:tiimeout", timeout);
-        selectDropdownOption("propertyForm:propertySheet:propertSectionTextField:ClassLoadingPolicy:ClassLoadingPolicy", policy);
-        clickAndWait("propertyForm:propertyContentPage:topButtons:saveButton", TRIGGER_NEW_VALUES_SAVED);
-        reset();
-        clickAndWait("treeForm:tree:configurations:server-config:connectorService:connectorService_link", TRIGGER_CONNECTOR_SERVICE);
-        assertEquals(timeout, getFieldValue("propertyForm:propertySheet:propertSectionTextField:timeout:tiimeout"));
-        assertEquals(policy, getFieldValue("propertyForm:propertySheet:propertSectionTextField:ClassLoadingPolicy:ClassLoadingPolicy"));
-
-    }
-}
diff --git a/appserver/admingui/devtests/src/test/java/org/glassfish/admingui/devtests/ConnectorsTest.java b/appserver/admingui/devtests/src/test/java/org/glassfish/admingui/devtests/ConnectorsTest.java
deleted file mode 100644
index e1b5e1a..0000000
--- a/appserver/admingui/devtests/src/test/java/org/glassfish/admingui/devtests/ConnectorsTest.java
+++ /dev/null
@@ -1,251 +0,0 @@
-/*
- * 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
- * http://www.eclipse.org/legal/epl-2.0.
- *
- * This Source Code may also be made available under the following Secondary
- * Licenses when the conditions for such availability set forth in the
- * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
- * version 2 with the GNU Classpath Exception, which is available at
- * 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.admingui.devtests;
-
-import org.junit.Assert;
-import org.junit.Test;
-
-import static org.junit.Assert.assertTrue;
-
-public class ConnectorsTest extends BaseSeleniumTestClass {
-    private static final String TRIGGER_CONNECTOR_CONNECTION_POOLS = "i18njca.connectorConnectionPools.pageTitleHelp";
-    private static final String TRIGGER_NEW_CONNECTOR_CONNECTION_POOL_STEP_1 = "i18njca.connectorConnectionPool.step1PageTitle";
-    private static final String TRIGGER_NEW_CONNECTOR_CONNECTION_POOL_STEP_2 = "i18njca.connectorConnectionPool.step2PageTitle";
-    public static final String TRIGGER_EDIT_CONNECTOR_CONNECTION_POOL = "i18njca.connectorConnectionPool.editPageTitleHelp";
-    public static final String TRIGGER_ADVANCE_CONNECTOR_CONNECTION_POOL = "i18njca.connectorConnectionPool.advancePageTitleHelp";
-    public static final String TRIGGER_PROPS_CONNECTOR_CONNECTION_POOL = "i18njca.connectorConnectionPool.propertyPageTitleHelp";
-    private static final String TRIGGER_CONNECTOR_RESOURCE = "i18njca.connectorResources.pageTitleHelp";
-    private static final String TRIGGER_NEW_CONNECTOR_RESOURCE = "i18njca.connectorResource.newPageTitle";
-    public static final String TRIGGER_EDIT_CONNECTOR_RESOURCE = "i18njca.connectorResource.editPageTitle";
-
-    public static final String TRIGGER_CONNECTOR_SECURITY_MAPS = "i18njca.connectorSecurityMaps.pageTitle";
-    private static final String TRIGGER_NEW_CONNECTOR_SECURITY_MAP = "i18njca.connectorSecurityMap.newPageTitle";
-    private static final String TRIGGER_EDIT_CONNECTOR_SECURITY_MAP = "i18njca.connectorSecurityMap.editPageTitle";
-
-    @Test
-    public void testConnectorResources() {
-        String testPool = "connectorPool" + generateRandomString();
-        String testConnector = "connectorResource" + generateRandomString();
-
-        StandaloneTest standaloneTest = new StandaloneTest();
-        ClusterTest clusterTest = new ClusterTest();
-        standaloneTest.deleteAllStandaloneInstances();
-        clusterTest.deleteAllClusters();
-
-        clickAndWait("treeForm:tree:resources:Connectors:connectorConnectionPools:connectorConnectionPools_link", TRIGGER_CONNECTOR_CONNECTION_POOLS);
-
-        // Create new connection connection pool
-        clickAndWait("propertyForm:poolTable:topActionsGroup1:newButton", TRIGGER_NEW_CONNECTOR_CONNECTION_POOL_STEP_1);
-
-        setFieldValue("propertyForm:propertySheet:generalPropertySheet:jndiProp:name", testPool);
-        selectDropdownOption("propertyForm:propertySheet:generalPropertySheet:resAdapterProp:db", "jmsra");
-        waitForCondition("document.getElementById('propertyForm:propertySheet:generalPropertySheet:connectionDefProp:db').value != ''", 10000);
-
-        selectDropdownOption("propertyForm:propertySheet:generalPropertySheet:connectionDefProp:db", "jakarta.jms.QueueConnectionFactory");
-        waitForButtonEnabled("propertyForm:title:topButtons:nextButton");
-
-        clickAndWait("propertyForm:title:topButtons:nextButton", TRIGGER_NEW_CONNECTOR_CONNECTION_POOL_STEP_2);
-
-        selectDropdownOption("propertyForm:propertySheet:poolPropertySheet:transprop:trans", "NoTransaction");
-        clickAndWait("propertyForm:propertyContentPage:topButtons:finishButton", TRIGGER_CONNECTOR_CONNECTION_POOLS);
-        assertTrue(isTextPresent(testPool));
-
-        // Create new connector resource which uses this new pool
-        clickAndWait("treeForm:tree:resources:Connectors:connectorResources:connectorResources_link", TRIGGER_CONNECTOR_RESOURCE);
-
-        clickAndWait("propertyForm:resourcesTable:topActionsGroup1:newButton", TRIGGER_NEW_CONNECTOR_RESOURCE);
-
-        setFieldValue("form:propertySheet:propertSectionTextField:jndiTextProp:jnditext", testConnector);
-        selectDropdownOption("form:propertySheet:propertSectionTextField:poolNameProp:PoolName", testPool);
-
-        clickAndWait("form:propertyContentPage:topButtons:newButton", TRIGGER_CONNECTOR_RESOURCE);
-
-        // Disable resource
-        testDisableButton(testConnector,
-                "propertyForm:resourcesTable",
-                "propertyForm:resourcesTable:topActionsGroup1:button3",
-                "propertyForm:propertySheet:propertSectionTextField:statusProp:enabled",
-                "propertyForm:propertyContentPage:topButtons:cancelButton",
-                TRIGGER_CONNECTOR_RESOURCE,
-                TRIGGER_EDIT_CONNECTOR_RESOURCE,
-                "off");
-
-        // Enable resource
-        testEnableButton(testConnector,
-                "propertyForm:resourcesTable",
-                "propertyForm:resourcesTable:topActionsGroup1:button2",
-                "propertyForm:propertySheet:propertSectionTextField:statusProp:enabled",
-                "propertyForm:propertyContentPage:topButtons:cancelButton",
-                TRIGGER_CONNECTOR_RESOURCE,
-                TRIGGER_EDIT_CONNECTOR_RESOURCE,
-                "on");
-
-        // Delete connector resource
-        deleteRow("propertyForm:resourcesTable:topActionsGroup1:button1", "propertyForm:resourcesTable", testConnector);
-
-        // Delete connector connection pool
-        clickAndWait("treeForm:tree:resources:Connectors:connectorConnectionPools:connectorConnectionPools_link", TRIGGER_CONNECTOR_CONNECTION_POOLS);
-
-        deleteRow("propertyForm:poolTable:topActionsGroup1:button1", "propertyForm:poolTable", testPool);
-    }
-
-    @Test
-    public void testConnectorResourcesWithTargets() {
-        String testPool = "connectorPool" + generateRandomString();
-        String testConnector = "connectorResource" + generateRandomString();
-        final String instanceName = "standalone" + generateRandomString();
-        final String enableStatus = "Enabled on 2 of 2 Target(s)";
-        final String disableStatus = "Enabled on 0 of 2 Target(s)";
-
-        clickAndWait("treeForm:tree:resources:Connectors:connectorConnectionPools:connectorConnectionPools_link", TRIGGER_CONNECTOR_CONNECTION_POOLS);
-
-        // Create new connection connection pool
-        clickAndWait("propertyForm:poolTable:topActionsGroup1:newButton", TRIGGER_NEW_CONNECTOR_CONNECTION_POOL_STEP_1);
-
-        setFieldValue("propertyForm:propertySheet:generalPropertySheet:jndiProp:name", testPool);
-        selectDropdownOption("propertyForm:propertySheet:generalPropertySheet:resAdapterProp:db", "jmsra");
-        waitForCondition("document.getElementById('propertyForm:propertySheet:generalPropertySheet:connectionDefProp:db').value != ''", 10000);
-
-        selectDropdownOption("propertyForm:propertySheet:generalPropertySheet:connectionDefProp:db", "jakarta.jms.QueueConnectionFactory");
-        waitForButtonEnabled("propertyForm:title:topButtons:nextButton");
-
-        clickAndWait("propertyForm:title:topButtons:nextButton", TRIGGER_NEW_CONNECTOR_CONNECTION_POOL_STEP_2);
-
-        selectDropdownOption("propertyForm:propertySheet:poolPropertySheet:transprop:trans", "NoTransaction");
-        clickAndWait("propertyForm:propertyContentPage:topButtons:finishButton", TRIGGER_CONNECTOR_CONNECTION_POOLS);
-        assertTrue(isTextPresent(testPool));
-
-        StandaloneTest instanceTest = new StandaloneTest();
-        instanceTest.createStandAloneInstance(instanceName);
-
-        // Create new connector resource which uses this new pool
-        clickAndWait("treeForm:tree:resources:Connectors:connectorResources:connectorResources_link", TRIGGER_CONNECTOR_RESOURCE);
-
-        clickAndWait("propertyForm:resourcesTable:topActionsGroup1:newButton", TRIGGER_NEW_CONNECTOR_RESOURCE);
-
-        setFieldValue("form:propertySheet:propertSectionTextField:jndiTextProp:jnditext", testConnector);
-        selectDropdownOption("form:propertySheet:propertSectionTextField:poolNameProp:PoolName", testPool);
-
-        int count = addTableRow("form:basicTable", "form:basicTable:topActionsGroup1:addSharedTableButton");
-        setFieldValue("form:basicTable:rowGroup1:0:col2:col1St", "property" + generateRandomString());
-        setFieldValue("form:basicTable:rowGroup1:0:col3:col1St", "value");
-        setFieldValue("form:basicTable:rowGroup1:0:col4:col1St", "description");
-
-        addSelectSelection("form:targetSection:targetSectionId:addRemoveProp:commonAddRemove_available", instanceName);
-        addSelectSelection("form:targetSection:targetSectionId:addRemoveProp:commonAddRemove_available", "server");
-        pressButton("form:targetSection:targetSectionId:addRemoveProp:commonAddRemove:commonAddRemove_addButton");
-
-        clickAndWait("form:propertyContentPage:topButtons:newButton", TRIGGER_CONNECTOR_RESOURCE);
-
-        assertTrue(isTextPresent(testConnector));
-
-        clickAndWait(getLinkIdByLinkText("propertyForm:resourcesTable", testConnector), TRIGGER_EDIT_CONNECTOR_RESOURCE);
-
-        assertTableRowCount("propertyForm:basicTable", count);
-        clickAndWait("propertyForm:propertyContentPage:topButtons:cancelButton", TRIGGER_CONNECTOR_RESOURCE);
-
-        // Disable resource
-        testDisableButton(testConnector,
-                "propertyForm:resourcesTable",
-                "propertyForm:resourcesTable:topActionsGroup1:button3",
-                "propertyForm:propertySheet:propertSectionTextField:statusProp2:enabledStr",
-                "propertyForm:propertyContentPage:topButtons:cancelButton",
-                TRIGGER_CONNECTOR_RESOURCE,
-                TRIGGER_EDIT_CONNECTOR_RESOURCE,
-                disableStatus);
-        // Enable resource
-        testEnableButton(testConnector,
-                "propertyForm:resourcesTable",
-                "propertyForm:resourcesTable:topActionsGroup1:button2",
-                "propertyForm:propertySheet:propertSectionTextField:statusProp2:enabledStr",
-                "propertyForm:propertyContentPage:topButtons:cancelButton",
-                TRIGGER_CONNECTOR_RESOURCE,
-                TRIGGER_EDIT_CONNECTOR_RESOURCE,
-                enableStatus);
-
-        testManageTargets("treeForm:tree:resources:Connectors:connectorResources:connectorResources_link",
-                          "propertyForm:resourcesTable",
-                          "propertyForm:targetTable:topActionsGroup1:button2",
-                          "propertyForm:targetTable:topActionsGroup1:button3",
-                          "propertyForm:propertySheet:propertSectionTextField:statusProp2:enabledStr",
-                          "propertyForm:resEditTabs:general",
-                          "propertyForm:resEditTabs:targetTab",
-                          TRIGGER_CONNECTOR_RESOURCE,
-                          TRIGGER_EDIT_CONNECTOR_RESOURCE,
-                          testConnector,
-                          instanceName);
-
-        // Delete connector resource
-        deleteRow("propertyForm:resourcesTable:topActionsGroup1:button1", "propertyForm:resourcesTable", testConnector);
-
-        // Delete connector connection pool
-        clickAndWait("treeForm:tree:resources:Connectors:connectorConnectionPools:connectorConnectionPools_link", TRIGGER_CONNECTOR_CONNECTION_POOLS);
-        deleteRow("propertyForm:poolTable:topActionsGroup1:button1", "propertyForm:poolTable", testPool);
-
-        //Delete the instance
-        clickAndWait("treeForm:tree:standaloneTreeNode:standaloneTreeNode_link", instanceTest.TRIGGER_INSTANCES_PAGE);
-        deleteRow("propertyForm:instancesTable:topActionsGroup1:button1", "propertyForm:instancesTable", instanceName);
-    }
-
-    @Test
-    public void testConnectorSecurityMaps() {
-        String testPool = generateRandomString();
-        String testSecurityMap = generateRandomString();
-        String testGroup = generateRandomString();
-        String testPassword = generateRandomString();
-        String testUserName = generateRandomString();
-
-        clickAndWait("treeForm:tree:resources:Connectors:connectorConnectionPools:connectorConnectionPools_link", TRIGGER_CONNECTOR_CONNECTION_POOLS);
-
-        // Create new connection connection pool
-        clickAndWait("propertyForm:poolTable:topActionsGroup1:newButton", TRIGGER_NEW_CONNECTOR_CONNECTION_POOL_STEP_1);
-
-        setFieldValue("propertyForm:propertySheet:generalPropertySheet:jndiProp:name", testPool);
-        selectDropdownOption("propertyForm:propertySheet:generalPropertySheet:resAdapterProp:db", "jmsra");
-        waitForCondition("document.getElementById('propertyForm:propertySheet:generalPropertySheet:connectionDefProp:db').value != ''", 10000);
-
-        selectDropdownOption("propertyForm:propertySheet:generalPropertySheet:connectionDefProp:db", "jakarta.jms.QueueConnectionFactory");
-        waitForButtonEnabled("propertyForm:title:topButtons:nextButton");
-
-        clickAndWait("propertyForm:title:topButtons:nextButton", TRIGGER_NEW_CONNECTOR_CONNECTION_POOL_STEP_2);
-
-        selectDropdownOption("propertyForm:propertySheet:poolPropertySheet:transprop:trans", "NoTransaction");
-        clickAndWait("propertyForm:propertyContentPage:topButtons:finishButton", TRIGGER_CONNECTOR_CONNECTION_POOLS);
-        assertTrue(isTextPresent(testPool));
-        //Create Connector Security Map
-        clickAndWait(getLinkIdByLinkText("propertyForm:poolTable", testPool), TRIGGER_EDIT_CONNECTOR_CONNECTION_POOL);
-        clickAndWait("propertyForm:connectorPoolSet:securityMapTab", TRIGGER_CONNECTOR_SECURITY_MAPS);
-        clickAndWait("propertyForm:resourcesTable:topActionsGroup1:newButton", TRIGGER_NEW_CONNECTOR_SECURITY_MAP);
-
-        setFieldValue("propertyForm:propertySheet:propertSectionTextField:mapNameNew:mapName", testSecurityMap);
-        setFieldValue("propertyForm:propertySheet:propertSectionTextField:groupProp:group", testGroup);
-        setFieldValue("propertyForm:propertySheet:propertSectionTextField2:userNameEdit:userNameEdit", testUserName);
-        setFieldValue("propertyForm:propertySheet:propertSectionTextField2:passwordEdit:passwordEdit", testPassword);
-        clickAndWait("propertyForm:propertyContentPage:topButtons:newButton", TRIGGER_CONNECTOR_SECURITY_MAPS);
-
-        clickAndWait(getLinkIdByLinkText("propertyForm:resourcesTable", testSecurityMap), TRIGGER_EDIT_CONNECTOR_SECURITY_MAP);
-        Assert.assertEquals(testGroup, getFieldValue("propertyForm:propertySheet:propertSectionTextField:groupProp:group"));
-        clickAndWait("propertyForm:propertyContentPage:topButtons:cancelButton", TRIGGER_CONNECTOR_SECURITY_MAPS);
-
-        //Delete Connector Security Maps
-        deleteRow("propertyForm:resourcesTable:topActionsGroup1:button1", "propertyForm:resourcesTable", testSecurityMap);
-
-        // Delete connector connection pool
-        clickAndWait("treeForm:tree:resources:Connectors:connectorConnectionPools:connectorConnectionPools_link", TRIGGER_CONNECTOR_CONNECTION_POOLS);
-        deleteRow("propertyForm:poolTable:topActionsGroup1:button1", "propertyForm:poolTable", testPool);
-    }
-}
diff --git a/appserver/admingui/devtests/src/test/java/org/glassfish/admingui/devtests/EjbContainerTest.java b/appserver/admingui/devtests/src/test/java/org/glassfish/admingui/devtests/EjbContainerTest.java
deleted file mode 100644
index 88d0994..0000000
--- a/appserver/admingui/devtests/src/test/java/org/glassfish/admingui/devtests/EjbContainerTest.java
+++ /dev/null
@@ -1,167 +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.admingui.devtests;
-
-import org.junit.Test;
-
-import static org.junit.Assert.assertEquals;
-
-public class EjbContainerTest extends BaseSeleniumTestClass {
-    private static final String TAB_EJB_SETTINGS = "i18n_ejbLite.headings.ejbSettings";
-    private static final String TAB_MDB_SETTINGS = "i18n_ejb.headings.ejbMdbSettings";
-    private static final String TAB_EJB_TIMER_SERVICE = "i18n_ejb.ejb.ejbTimerSettingsInfo";
-
-    @Test
-    public void testEjbSettings() {
-        final String minSize = Integer.toString(generateRandomNumber(64));
-        final String maxSize = Integer.toString(generateRandomNumber(64));
-        final String poolResize = Integer.toString(generateRandomNumber(64));
-        final String timeout = Integer.toString(generateRandomNumber(600));
-
-        clickAndWait("treeForm:tree:configurations:server-config:ejbContainer:ejbContainer_link", TAB_EJB_SETTINGS);
-
-        setFieldValue("form1:propertySheet:poolSettingSection:MinSizeProp:MinSize", minSize);
-        setFieldValue("form1:propertySheet:poolSettingSection:MaxSizeProp:MaxSize", maxSize);
-        setFieldValue("form1:propertySheet:poolSettingSection:PoolResizeProp:PoolResize", poolResize);
-        setFieldValue("form1:propertySheet:poolSettingSection:TimeoutProp:Timeout", timeout);
-        int count = addTableRow("form1:basicTable", "form1:basicTable:topActionsGroup1:addSharedTableButton");
-        setFieldValue("form1:basicTable:rowGroup1:0:col2:col1St", "property"+generateRandomString());
-        setFieldValue("form1:basicTable:rowGroup1:0:col3:col1St", "value");
-        setFieldValue("form1:basicTable:rowGroup1:0:col4:col1St", "description");
-        clickAndWait("form1:propertyContentPage:topButtons:saveButton", TRIGGER_NEW_VALUES_SAVED);
-        clickAndWait("form1:ejbContainerTabs:mdbSettingsTab", TAB_MDB_SETTINGS);
-        clickAndWait("form1:ejbContainerTabs:ejbSettingsTab", TAB_EJB_SETTINGS);
-        assertEquals(minSize, getFieldValue("form1:propertySheet:poolSettingSection:MinSizeProp:MinSize"));
-        assertEquals(maxSize, getFieldValue("form1:propertySheet:poolSettingSection:MaxSizeProp:MaxSize"));
-        assertEquals(poolResize, getFieldValue("form1:propertySheet:poolSettingSection:PoolResizeProp:PoolResize"));
-        assertEquals(timeout, getFieldValue("form1:propertySheet:poolSettingSection:TimeoutProp:Timeout"));
-        assertTableRowCount("form1:basicTable", count);
-    }
-
-    @Test
-    public void testMdbSettings() {
-        final String minSize = Integer.toString(generateRandomNumber(64));
-        final String maxSize = Integer.toString(generateRandomNumber(64));
-        final String poolResize = Integer.toString(generateRandomNumber(64));
-        final String timeout = Integer.toString(generateRandomNumber(600));
-
-        clickAndWait("treeForm:tree:configurations:server-config:ejbContainer:ejbContainer_link", TAB_EJB_SETTINGS);
-        clickAndWait("form1:ejbContainerTabs:mdbSettingsTab", TAB_MDB_SETTINGS);
-
-        setFieldValue("form1:propertySheet:propertySectionTextField:MinSizeProp:MinSize", minSize);
-        setFieldValue("form1:propertySheet:propertySectionTextField:MaxSizeProp:MaxSize", maxSize);
-        setFieldValue("form1:propertySheet:propertySectionTextField:PoolResizeProp:PoolResize", poolResize);
-        setFieldValue("form1:propertySheet:propertySectionTextField:TimeoutProp:Timeout", timeout);
-        int count = addTableRow("form1:basicTable", "form1:basicTable:topActionsGroup1:addSharedTableButton");
-
-        setFieldValue("form1:basicTable:rowGroup1:0:col2:col1St", "property"+generateRandomString());
-        setFieldValue("form1:basicTable:rowGroup1:0:col3:col1St", "value");
-        setFieldValue("form1:basicTable:rowGroup1:0:col4:col1St", "description");
-        clickAndWait("form1:propertyContentPage:topButtons:saveButton", TRIGGER_NEW_VALUES_SAVED);
-
-        clickAndWait("treeForm:tree:configurations:server-config:ejbContainer:ejbContainer_link", TAB_EJB_SETTINGS);
-        clickAndWait("form1:ejbContainerTabs:mdbSettingsTab", TAB_MDB_SETTINGS);
-
-        assertEquals(minSize, getFieldValue("form1:propertySheet:propertySectionTextField:MinSizeProp:MinSize"));
-        assertEquals(maxSize, getFieldValue("form1:propertySheet:propertySectionTextField:MaxSizeProp:MaxSize"));
-        assertEquals(poolResize, getFieldValue("form1:propertySheet:propertySectionTextField:PoolResizeProp:PoolResize"));
-        assertEquals(timeout, getFieldValue("form1:propertySheet:propertySectionTextField:TimeoutProp:Timeout"));
-        assertTableRowCount("form1:basicTable", count);
-    }
-
-    @Test
-    public void testEjbTimerService() {
-        final String minDelivery = Integer.toString(generateRandomNumber(5000));
-        final String maxRedelivery = Integer.toString(generateRandomNumber(10));
-        final String redeliveryInterval = Integer.toString(generateRandomNumber(20000));
-        final String timerDatasource = "jndi/" + generateRandomString();
-
-        clickAndWait("treeForm:tree:configurations:server-config:ejbContainer:ejbContainer_link", TAB_EJB_SETTINGS);
-        clickAndWait("form1:ejbContainerTabs:ejbTimerTab", TAB_EJB_TIMER_SERVICE);
-
-        setFieldValue("form1:propertySheet:propertySectionTextField:MinDeliveryProp:MinDelivery", minDelivery);
-        setFieldValue("form1:propertySheet:propertySectionTextField:MaxRedeliveryProp:MaxRedelivery", maxRedelivery);
-        setFieldValue("form1:propertySheet:propertySectionTextField:RedeliveryIntrProp:RedeliveryIntr", redeliveryInterval);
-        setFieldValue("form1:propertySheet:propertySectionTextField:TimerDatasourceProp:TimerDatasource", timerDatasource);
-        clickAndWait("form1:propertyContentPage:topButtons:saveButton", TRIGGER_NEW_VALUES_SAVED);
-
-        clickAndWait("form1:ejbContainerTabs:mdbSettingsTab", TAB_MDB_SETTINGS);
-        clickAndWait("form1:ejbContainerTabs:ejbTimerTab", TAB_EJB_TIMER_SERVICE);
-
-        assertEquals(minDelivery, getFieldValue("form1:propertySheet:propertySectionTextField:MinDeliveryProp:MinDelivery"));
-        assertEquals(maxRedelivery, getFieldValue("form1:propertySheet:propertySectionTextField:MaxRedeliveryProp:MaxRedelivery"));
-        assertEquals(redeliveryInterval, getFieldValue("form1:propertySheet:propertySectionTextField:RedeliveryIntrProp:RedeliveryIntr"));
-        assertEquals(timerDatasource, getFieldValue("form1:propertySheet:propertySectionTextField:TimerDatasourceProp:TimerDatasource"));
-
-        // Clean up after ourselves, just because... :)
-        setFieldValue("form1:propertySheet:propertySectionTextField:MinDeliveryProp:MinDelivery", "1000");
-        setFieldValue("form1:propertySheet:propertySectionTextField:MaxRedeliveryProp:MaxRedelivery", "1");
-        setFieldValue("form1:propertySheet:propertySectionTextField:RedeliveryIntrProp:RedeliveryIntr", "5000");
-        setFieldValue("form1:propertySheet:propertySectionTextField:TimerDatasourceProp:TimerDatasource", "");
-        clickAndWait("form1:propertyContentPage:topButtons:saveButton", TRIGGER_NEW_VALUES_SAVED);
-    }
-
-    //Test that the default button in EJB Settings will fill in the default value when pressed.
-    @Test
-    public void testEjbSettingsDefault() {
-
-        //Go to EJB Settings page, enter some random value
-        clickAndWait("treeForm:tree:configurations:server-config:ejbContainer:ejbContainer_link", TAB_EJB_SETTINGS);
-        markCheckbox("form1:propertySheet:generalPropertySection:commitOptionProp:optC");
-        setFieldValue("form1:propertySheet:poolSettingSection:MinSizeProp:MinSize", "2");
-        setFieldValue("form1:propertySheet:poolSettingSection:MaxSizeProp:MaxSize", "34");
-        setFieldValue("form1:propertySheet:poolSettingSection:PoolResizeProp:PoolResize", "10");
-        setFieldValue("form1:propertySheet:poolSettingSection:TimeoutProp:Timeout", "666");
-        setFieldValue("form1:propertySheet:cacheSettingSection:MaxCacheProp:MaxCache", "520");
-        setFieldValue("form1:propertySheet:cacheSettingSection:CacheResizeProp:CacheResize", "36");
-        setFieldValue("form1:propertySheet:cacheSettingSection:RemTimoutProp:RemTimout", "5454");
-        selectDropdownOption("form1:propertySheet:cacheSettingSection:RemPolicyProp:RemPolicy", "First In First Out (fifo)");
-        setFieldValue("form1:propertySheet:cacheSettingSection:CacheIdleProp:CacheIdle", "666");
-
-        //Save this, goto another tab and back
-        clickAndWait("form1:propertyContentPage:topButtons:saveButton", TRIGGER_NEW_VALUES_SAVED);
-        clickAndWait("form1:ejbContainerTabs:mdbSettingsTab", TAB_MDB_SETTINGS);
-        clickAndWait("form1:ejbContainerTabs:ejbSettingsTab", TAB_EJB_SETTINGS);
-
-        //Now, click the default button and ensure all the default values are filled in
-        //The default value should match whats specified in the config bean.
-        //Save and come back to the page to assert.
-
-        //Location should not be changed by the default button
-        String location = getFieldValue("form1:propertySheet:generalPropertySection:SessionStoreProp:SessionStore");
-
-        //We are testing that default button fills in the correct default value, not testing if the Save button works.
-        //no need to click Save for this test.
-        clickAndWaitForButtonEnabled("form1:propertyContentPage:loadDefaultsButton");
-
-        assertEquals(location, getFieldValue("form1:propertySheet:generalPropertySection:SessionStoreProp:SessionStore"));
-
-        assertEquals(true, isChecked("form1:propertySheet:generalPropertySection:commitOptionProp:optB"));
-        assertEquals("0", getFieldValue("form1:propertySheet:poolSettingSection:MinSizeProp:MinSize"));
-        assertEquals("32", getFieldValue("form1:propertySheet:poolSettingSection:MaxSizeProp:MaxSize"));
-        assertEquals("8", getFieldValue("form1:propertySheet:poolSettingSection:PoolResizeProp:PoolResize"));
-        assertEquals("600", getFieldValue("form1:propertySheet:poolSettingSection:TimeoutProp:Timeout"));
-        assertEquals("512", getFieldValue("form1:propertySheet:cacheSettingSection:MaxCacheProp:MaxCache"));
-        assertEquals("32", getFieldValue("form1:propertySheet:cacheSettingSection:CacheResizeProp:CacheResize"));
-        assertEquals("5400", getFieldValue("form1:propertySheet:cacheSettingSection:RemTimoutProp:RemTimout"));
-        assertEquals("nru", getFieldValue("form1:propertySheet:cacheSettingSection:RemPolicyProp:RemPolicy"));
-        assertEquals("600", getFieldValue("form1:propertySheet:cacheSettingSection:CacheIdleProp:CacheIdle"));
-
-        //will be nice to have the default value back for the server.
-        clickAndWait("form1:propertyContentPage:topButtons:saveButton", TRIGGER_NEW_VALUES_SAVED);
-    }
-}
diff --git a/appserver/admingui/devtests/src/test/java/org/glassfish/admingui/devtests/EnterpriseServerTest.java b/appserver/admingui/devtests/src/test/java/org/glassfish/admingui/devtests/EnterpriseServerTest.java
deleted file mode 100644
index fea450a..0000000
--- a/appserver/admingui/devtests/src/test/java/org/glassfish/admingui/devtests/EnterpriseServerTest.java
+++ /dev/null
@@ -1,151 +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.admingui.devtests;
-
-import org.junit.Assert;
-import org.junit.Test;
-
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertTrue;
-
-public class EnterpriseServerTest extends BaseSeleniumTestClass {
-    public static final String TRIGGER_ADVANCED_APPLICATIONS_CONFIGURATION = "i18nc.domain.AppsConfigPageHelp";
-    public static final String TRIGGER_GENERAL_INFORMATION = "i18n.instance.GeneralTitle";
-    public static final String TRIGGER_ADVANCED_DOMAIN_ATTRIBUTES = "i18nc.domain.DomainAttrsPageTitleHelp";
-    public static final String TRIGGER_SYSTEM_PROPERTIES = "i18n.common.AdditionalProperties"; // There is no page help on sysprops pages anymore, it seems
-    public static final String TRIGGER_RESOURCES = "i18nc.resourcesTarget.pageTitleHelp";
-
-    // Disabling this test.  I'm not sure where this is trying to go.  jdl 10/6/10
-//    @Test
-    public void testAdvancedApplicationsConfiguration() {
-        final String property = generateRandomString();
-        final String value = property + "value";
-        final String description = property + "description";
-
-        gotoDasPage();
-        clickAndWait("propertyForm:serverInstTabs:advanced", TRIGGER_ADVANCED_APPLICATIONS_CONFIGURATION);
-        setFieldValue("propertyForm:propertySheet:propertSectionTextField:reloadIntervalProp:ReloadInterval", "5");
-        setFieldValue("propertyForm:propertySheet:propertSectionTextField:AdminTimeoutProp:AdminTimeout", "30");
-
-        int count = addTableRow("propertyForm:basicTable", "propertyForm:basicTable:topActionsGroup1:addSharedTableButton");
-
-        setFieldValue("propertyForm:basicTable:rowGroup1:0:col2:col1St", property);
-        setFieldValue("propertyForm:basicTable:rowGroup1:0:col3:col1St", value);
-        setFieldValue("propertyForm:basicTable:rowGroup1:0:col4:col1St", description);
-
-        clickAndWait("propertyForm:propertyContentPage:topButtons:saveButton", TRIGGER_NEW_VALUES_SAVED);
-
-        clickAndWait("propertyForm:serverInstTabs:advanced:domainAttrs", TRIGGER_ADVANCED_DOMAIN_ATTRIBUTES);
-        clickAndWait("propertyForm:serverInstTabs:advanced:appConfig", TRIGGER_ADVANCED_APPLICATIONS_CONFIGURATION);
-
-        assertEquals("5", getFieldValue("propertyForm:propertySheet:propertSectionTextField:reloadIntervalProp:ReloadInterval"));
-        assertEquals("30", getFieldValue("propertyForm:propertySheet:propertSectionTextField:AdminTimeoutProp:AdminTimeout"));
-
-        assertTableRowCount("propertyForm:basicTable", count);
-    }
-
-    @Test
-    public void testAdvancedDomainAttributes() {
-        clickAndWait("treeForm:tree:nodes:nodes_link", TRIGGER_ADVANCED_DOMAIN_ATTRIBUTES);
-        setFieldValue("propertyForm:propertySheet:propertSectionTextField:localeProp:Locale", "fr");
-        clickAndWait("propertyForm:propertyContentPage:topButtons:saveButton", TRIGGER_NEW_VALUES_SAVED);
-
-        clickAndWait("propertyForm:domainTabs:appConfig", TRIGGER_ADVANCED_APPLICATIONS_CONFIGURATION);
-        clickAndWait("propertyForm:domainTabs:domainAttrs", TRIGGER_ADVANCED_DOMAIN_ATTRIBUTES);
-
-        assertEquals("fr", getFieldValue("propertyForm:propertySheet:propertSectionTextField:localeProp:Locale"));
-        setFieldValue("propertyForm:propertySheet:propertSectionTextField:localeProp:Locale", "");
-        clickAndWait("propertyForm:propertyContentPage:topButtons:saveButton", TRIGGER_NEW_VALUES_SAVED);
-    }
-
-    @Test
-    public void testSystemProperties() {
-        final String property = generateRandomString();
-        final String value = property + "value";
-        final String description = property + "description";
-
-        gotoDasPage();
-        clickAndWait("propertyForm:serverInstTabs:serverInstProps", TRIGGER_SYSTEM_PROPERTIES);
-
-        int count = addTableRow("propertyForm:sysPropsTable", "propertyForm:sysPropsTable:topActionsGroup1:addSharedTableButton");
-        setFieldValue("propertyForm:sysPropsTable:rowGroup1:0:col2:col1St", property);
-        setFieldValue("propertyForm:sysPropsTable:rowGroup1:0:overrideValCol:overrideVal", value);
-
-        clickAndWait("propertyForm:SysPropsPage:topButtons:topButtons:saveButton", TRIGGER_NEW_VALUES_SAVED);
-        gotoDasPage();
-        clickAndWait("propertyForm:serverInstTabs:serverInstProps", TRIGGER_SYSTEM_PROPERTIES);
-
-        assertTableRowCount("propertyForm:sysPropsTable", count);
-    }
-
-    @Test
-    public void testServerResourcesPage() {
-        final String jndiName = "jdbcResource"+generateRandomString();
-        final String description = "devtest test for server->resources page- " + jndiName;
-        final String tableID = "propertyForm:resourcesTable";
-
-        StandaloneTest standaloneTest = new StandaloneTest();
-        ClusterTest clusterTest = new ClusterTest();
-        standaloneTest.deleteAllStandaloneInstances();
-        clusterTest.deleteAllClusters();
-
-        JdbcTest jdbcTest = new JdbcTest();
-        jdbcTest.createJDBCResource(jndiName, description, "server", MonitoringTest.TARGET_SERVER_TYPE);
-
-        gotoServerResourcesPage();
-        waitForPageLoad(jndiName, TIMEOUT);
-        assertTrue(isTextPresent(jndiName));
-
-        int jdbcCount = getTableRowCountByValue(tableID, "JDBC Resources", "col3:type");
-        int customCount = getTableRowCountByValue(tableID, "Custom Resources", "col3:type");
-
-        selectDropdownOption("propertyForm:resourcesTable:topActionsGroup1:filter_list", "Custom Resources");
-        waitForTableRowCount(tableID, customCount);
-
-        gotoServerResourcesPage();
-
-        selectDropdownOption("propertyForm:resourcesTable:topActionsGroup1:filter_list", "JDBC Resources");
-        waitForTableRowCount(tableID, jdbcCount);
-
-        gotoServerResourcesPage();
-        selectTableRowByValue("propertyForm:resourcesTable", jndiName);
-        pressButton("propertyForm:resourcesTable:topActionsGroup1:button1");
-        waitForButtonEnabledMessage("propertyForm:resourcesTable:topActionsGroup1:button1");
-
-        gotoServerResourcesPage();
-        selectTableRowByValue("propertyForm:resourcesTable", jndiName);
-        pressButton("propertyForm:resourcesTable:topActionsGroup1:button2");
-        waitForButtonDisabledMessage("propertyForm:resourcesTable:topActionsGroup1:button1");
-
-        /*selenium.select("propertyForm:resourcesTable:topActionsGroup1:actions", "JDBC Resources");
-        waitForPageLoad(JdbcTest.TRIGGER_NEW_JDBC_RESOURCE, true);
-        clickAndWait("form:propertyContentPage:topButtons:cancelButton", JdbcTest.TRIGGER_JDBC_RESOURCES);*/
-
-        jdbcTest.deleteJDBCResource(jndiName, "server", MonitoringTest.TARGET_SERVER_TYPE);
-    }
-
-    public void gotoDasPage() {
-        clickAndWait("treeForm:tree:applicationServer:applicationServer_link", TRIGGER_GENERAL_INFORMATION);
-    }
-
-    private void gotoServerResourcesPage() {
-        reset();
-        gotoDasPage();
-        clickAndWait("propertyForm:serverInstTabs:resources", TRIGGER_RESOURCES);
-        waitForElement("propertyForm:resourcesTable");
-    }
-}
diff --git a/appserver/admingui/devtests/src/test/java/org/glassfish/admingui/devtests/GMSTest.java b/appserver/admingui/devtests/src/test/java/org/glassfish/admingui/devtests/GMSTest.java
deleted file mode 100644
index e95cb1b..0000000
--- a/appserver/admingui/devtests/src/test/java/org/glassfish/admingui/devtests/GMSTest.java
+++ /dev/null
@@ -1,45 +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.admingui.devtests;
-
-import org.junit.Test;
-
-import static org.junit.Assert.assertEquals;
-
-public class GMSTest extends BaseSeleniumTestClass {
-    private static final String TRIGGER_GMS = "i18ncs.gms.TitlePageHelp";
-    private static final String TRIGGER_CONFIGURATION = "i18ncs.common.ConfigurationCol";
-
-    @Test
-    public void testConfig() {
-        final String protocolMaxTrial = Integer.toString(generateRandomNumber(100));
-        clickAndWait("treeForm:tree:configurations:default-config:default-config_turner:default-config_turner_image", TRIGGER_CONFIGURATION);
-        clickAndWait("treeForm:tree:configurations:default-config:gms:gms_link", TRIGGER_GMS);
-        setFieldValue("propertyForm:propertySheet:propertSectionTextField:fdMax:fdMax", protocolMaxTrial);
-        clickAndWait("propertyForm:propertyContentPage:topButtons:saveButton", TRIGGER_NEW_VALUES_SAVED);
-        assertEquals(protocolMaxTrial, getFieldValue("propertyForm:propertySheet:propertSectionTextField:fdMax:fdMax"));
-
-        int count = addTableRow("propertyForm:basicTable", "propertyForm:basicTable:topActionsGroup1:addSharedTableButton");
-        setFieldValue("propertyForm:basicTable:rowGroup1:0:col2:col1St", "a");
-        setFieldValue("propertyForm:basicTable:rowGroup1:0:col3:col1St", "b");
-        setFieldValue("propertyForm:basicTable:rowGroup1:0:col4:col1St", "c");
-        clickAndWait("propertyForm:propertyContentPage:topButtons:saveButton", TRIGGER_NEW_VALUES_SAVED);
-        assertTableRowCount("propertyForm:basicTable", count);
-        deleteAllTableRows("propertyForm:basicTable", 1);
-        clickAndWait("propertyForm:propertyContentPage:topButtons:saveButton", TRIGGER_NEW_VALUES_SAVED);
-    }
-}
diff --git a/appserver/admingui/devtests/src/test/java/org/glassfish/admingui/devtests/HttpServiceTest.java b/appserver/admingui/devtests/src/test/java/org/glassfish/admingui/devtests/HttpServiceTest.java
deleted file mode 100644
index ac4ae7e..0000000
--- a/appserver/admingui/devtests/src/test/java/org/glassfish/admingui/devtests/HttpServiceTest.java
+++ /dev/null
@@ -1,55 +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.admingui.devtests;
-
-import org.junit.Test;
-
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertTrue;
-
-public class HttpServiceTest extends BaseSeleniumTestClass {
-    private static final String TRIGGER_HTTP_SERVICE = "i18n_web.httpService.pageTitleHelp";
-
-    @Test
-    public void testHttpService() {
-        final String interval = Integer.toString(generateRandomNumber(2880));
-        final String maxFiles = Integer.toString(generateRandomNumber(50));
-        final String bufferSize = Integer.toString(generateRandomNumber(65536));
-        final String logWriteInterval = Integer.toString(generateRandomNumber(600));
-
-        clickAndWait("treeForm:tree:configurations:server-config:httpService:httpService_link", TRIGGER_HTTP_SERVICE);
-        markCheckbox("form1:propertySheet:http:acLog:ssoEnabled");
-        markCheckbox("form1:propertySheet:accessLog:acLog:accessLoggingEnabled");
-        setFieldValue("form1:propertySheet:accessLog:intervalProp:Interval", interval);
-        setFieldValue("form1:propertySheet:accessLog:MaxHistoryFiles:MaxHistoryFiles", maxFiles);
-        setFieldValue("form1:propertySheet:accessLog:accessLogBufferSize:accessLogBufferSize", bufferSize);
-        setFieldValue("form1:propertySheet:accessLog:accessLogWriteInterval:accessLogWriteInterval", logWriteInterval);
-        int count = addTableRow("form1:basicTable", "form1:basicTable:topActionsGroup1:addSharedTableButton");
-        setFieldValue("form1:basicTable:rowGroup1:0:col2:col1St", "property"+generateRandomString());
-        setFieldValue("form1:basicTable:rowGroup1:0:col3:col1St", "value");
-        setFieldValue("form1:basicTable:rowGroup1:0:col4:col1St", "description");
-        clickAndWait("form1:propertyContentPage:topButtons:saveButton", TRIGGER_NEW_VALUES_SAVED);
-        reset();
-        clickAndWait("treeForm:tree:configurations:server-config:httpService:httpService_link", TRIGGER_HTTP_SERVICE);
-        assertEquals(true, isChecked("form1:propertySheet:http:acLog:ssoEnabled"));
-        assertEquals(interval, getFieldValue("form1:propertySheet:accessLog:intervalProp:Interval"));
-        assertEquals(maxFiles, getFieldValue("form1:propertySheet:accessLog:MaxHistoryFiles:MaxHistoryFiles"));
-        assertEquals(bufferSize, getFieldValue("form1:propertySheet:accessLog:accessLogBufferSize:accessLogBufferSize"));
-        assertEquals(logWriteInterval, getFieldValue("form1:propertySheet:accessLog:accessLogWriteInterval:accessLogWriteInterval"));
-        assertTableRowCount("form1:basicTable", count);
-    }
-}
diff --git a/appserver/admingui/devtests/src/test/java/org/glassfish/admingui/devtests/IiopListenerTest.java b/appserver/admingui/devtests/src/test/java/org/glassfish/admingui/devtests/IiopListenerTest.java
deleted file mode 100644
index 1497ad8..0000000
--- a/appserver/admingui/devtests/src/test/java/org/glassfish/admingui/devtests/IiopListenerTest.java
+++ /dev/null
@@ -1,125 +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.admingui.devtests;
-
-import org.junit.Test;
-
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertTrue;
-
-public class IiopListenerTest extends BaseSeleniumTestClass {
-    private static final String TRIGGER_IIOP_LISTENERS = "i18n_corba.iiopListeners.ListPageHelp";
-    private static final String TRIGGER_NEW_IIOP_LISTENER = "i18n_corba.iiopListener.newPageTitle";
-    private static final String TRIGGER_EDIT_IIOP_LISTENER = "i18n_corba.iiopListener.editPageTitle";
-    private static final String TRIGGER_ORB = "i18n_corba.orb.OrbInfo";
-    private static final String TRIGGER_EDIT_IIOP_SSL = "i18n_corba.sslPageTitleHelp";
-
-    //@Test
-    public void testAddIiopListener() {
-        final String iiopName = "testIiopListener" + generateRandomString();
-        final String networkAddress = "0.0.0.0";
-        final String listenerPort = Integer.toString(generateRandomNumber(32768));;
-        final String certName = "s1as";
-
-        SecurityTest securityTest = new SecurityTest();
-        securityTest.enableSecureAdministration(true);
-        try{
-        clickAndWait("treeForm:tree:configurations:server-config:orb:iiopListeners:iiopListeners_link", TRIGGER_IIOP_LISTENERS);
-        clickAndWait("propertyForm:configs:topActionsGroup1:newButton", TRIGGER_NEW_IIOP_LISTENER);
-        setFieldValue("propertyForm:propertySheet:generalSettingsSetion:IiopNameTextProp:IiopNameText", iiopName);
-        setFieldValue("propertyForm:propertySheet:generalSettingsSetion:NetwkAddrProp:NetwkAddr", networkAddress);
-        setFieldValue("propertyForm:propertySheet:generalSettingsSetion:ListenerPortProp:ListenerPort", listenerPort);
-
-        int count = addTableRow("propertyForm:basicTable", "propertyForm:basicTable:topActionsGroup1:addSharedTableButton");
-        setFieldValue("propertyForm:basicTable:rowGroup1:0:col2:col1St", "a");
-        setFieldValue("propertyForm:basicTable:rowGroup1:0:col3:col1St", "b");
-        setFieldValue("propertyForm:basicTable:rowGroup1:0:col4:col1St", "c");
-        clickAndWait("propertyForm:propertyContentPage:topButtons:newButton", TRIGGER_IIOP_LISTENERS);
-        assertTrue(isTextPresent(iiopName));
-
-        clickAndWait(getLinkIdByLinkText("propertyForm:configs", iiopName), TRIGGER_EDIT_IIOP_LISTENER);
-        assertEquals(networkAddress, getFieldValue("propertyForm:propertySheet:generalSettingsSetion:NetwkAddrProp:NetwkAddr"));
-        assertEquals(listenerPort, getFieldValue("propertyForm:propertySheet:generalSettingsSetion:ListenerPortProp:ListenerPort"));
-
-        assertTableRowCount("propertyForm:basicTable", count);
-
-        // access the SSL Page
-        clickAndWait("propertyForm:iiopTab:sslEdit", TRIGGER_EDIT_IIOP_SSL);
-        setFieldValue("propertyForm:propertySheet:propertySheetSection:CertNicknameProp:CertNickname", certName);
-        clickAndWait("propertyForm:propertyContentPage:topButtons:saveButton", TRIGGER_NEW_VALUES_SAVED);
-        assertEquals(certName, getFieldValue("propertyForm:propertySheet:propertySheetSection:CertNicknameProp:CertNickname"));
-
-        clickAndWait("propertyForm:propertyContentPage:topButtons:cancelButton", TRIGGER_IIOP_LISTENERS);
-
-        deleteRow("propertyForm:configs:topActionsGroup1:button1", "propertyForm:configs", iiopName);
-        } finally{ securityTest.enableSecureAdministration(false); }
-    }
-
-    @Test
-    public void testORB() {
-        final String totalConn = "1048";
-        final String maxMsgSize = "2048";
-        clickAndWait("treeForm:tree:configurations:server-config:orb:orb_link", TRIGGER_ORB);
-        setFieldValue("form1:propertySheet:propertySectionTextField:TotalConnsProp:TotalConns", totalConn);
-        selectDropdownOption("form1:propertySheet:propertySectionTextField:MaxMsgSizeProp:MaxMsgSize", maxMsgSize);
-        clickAndWait("form1:propertyContentPage:topButtons:saveButton", TRIGGER_NEW_VALUES_SAVED);
-        assertEquals(totalConn, getFieldValue("form1:propertySheet:propertySectionTextField:TotalConnsProp:TotalConns"));
-        assertEquals(maxMsgSize, getFieldValue("form1:propertySheet:propertySectionTextField:MaxMsgSizeProp:MaxMsgSize"));
-
-        // Load default button functionality is broken in all pages, once fixed need to uncomment
-        //clickAndWaitForButtonEnabled("form1:propertyContentPage:loadDefaultsButton");
-        //assertEquals("1024", getFieldValue("form1:propertySheet:propertySectionTextField:TotalConnsProp:TotalConns"));
-        //assertEquals("1024", getFieldValue("form1:propertySheet:propertySectionTextField:MaxMsgSizeProp:MaxMsgSize"));
-    }
-
-    @Test
-    public void testSSLIiopListener() {
-        final String iiopName = "testIiopListener" + generateRandomString();
-        final String networkAddress = "0.0.0.0";
-        final String listenerPort = Integer.toString(generateRandomNumber(32768));;
-        final String certName = "s1as";
-
-        clickAndWait("treeForm:tree:configurations:server-config:orb:iiopListeners:iiopListeners_link", TRIGGER_IIOP_LISTENERS);
-        clickAndWait("propertyForm:configs:topActionsGroup1:newButton", TRIGGER_NEW_IIOP_LISTENER);
-        setFieldValue("propertyForm:propertySheet:generalSettingsSetion:IiopNameTextProp:IiopNameText", iiopName);
-        setFieldValue("propertyForm:propertySheet:generalSettingsSetion:NetwkAddrProp:NetwkAddr", networkAddress);
-        setFieldValue("propertyForm:propertySheet:generalSettingsSetion:ListenerPortProp:ListenerPort", listenerPort);
-
-        int count = addTableRow("propertyForm:basicTable", "propertyForm:basicTable:topActionsGroup1:addSharedTableButton");
-        setFieldValue("propertyForm:basicTable:rowGroup1:0:col2:col1St", "a");
-        setFieldValue("propertyForm:basicTable:rowGroup1:0:col3:col1St", "b");
-        setFieldValue("propertyForm:basicTable:rowGroup1:0:col4:col1St", "c");
-        clickAndWait("propertyForm:propertyContentPage:topButtons:newButton", TRIGGER_IIOP_LISTENERS);
-        assertTrue(isTextPresent(iiopName));
-
-        clickAndWait(getLinkIdByLinkText("propertyForm:configs", iiopName), TRIGGER_EDIT_IIOP_LISTENER);
-        assertEquals(networkAddress, getFieldValue("propertyForm:propertySheet:generalSettingsSetion:NetwkAddrProp:NetwkAddr"));
-        assertEquals(listenerPort, getFieldValue("propertyForm:propertySheet:generalSettingsSetion:ListenerPortProp:ListenerPort"));
-
-        assertTableRowCount("propertyForm:basicTable", count);
-
-        // access the SSL Page
-        clickAndWait("propertyForm:iiopTab:sslEdit", TRIGGER_EDIT_IIOP_SSL);
-        setFieldValue("propertyForm:propertySheet:propertySheetSection:CertNicknameProp:CertNickname", certName);
-        clickAndWait("propertyForm:propertyContentPage:topButtons:newButton", TRIGGER_NEW_VALUES_SAVED);
-        assertEquals(certName, getFieldValue("propertyForm:propertySheet:propertySheetSection:CertNicknameProp:CertNickname"));
-
-        clickAndWait("propertyForm:propertyContentPage:topButtons:cancelButton", TRIGGER_IIOP_LISTENERS);
-
-        deleteRow("propertyForm:configs:topActionsGroup1:button1", "propertyForm:configs", iiopName);
-    }
-}
diff --git a/appserver/admingui/devtests/src/test/java/org/glassfish/admingui/devtests/JVMReportTest.java b/appserver/admingui/devtests/src/test/java/org/glassfish/admingui/devtests/JVMReportTest.java
deleted file mode 100644
index ea5fb99..0000000
--- a/appserver/admingui/devtests/src/test/java/org/glassfish/admingui/devtests/JVMReportTest.java
+++ /dev/null
@@ -1,36 +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.admingui.devtests;
-
-import org.junit.Test;
-
-import static org.junit.Assert.assertEquals;
-
-public class JVMReportTest extends BaseSeleniumTestClass {
-    private static final String TRIGGER_SERVER = "General Information";
-    private static final String TRIGGER_JVM = "server";
-
-
-    @Test
-    public void testJVMLink() {
-        clickAndWait("treeForm:tree:applicationServer:applicationServer_link", TRIGGER_SERVER);
-        isTextPresent("JVM Report");
-        clickAndWait("propertyForm:propertySheet:serverGeneralPropSheet:jvmProp:jvmlink", TRIGGER_JVM);
-        isTextPresent("Operating System Information");
-    }
-}
-
diff --git a/appserver/admingui/devtests/src/test/java/org/glassfish/admingui/devtests/JavaMailTest.java b/appserver/admingui/devtests/src/test/java/org/glassfish/admingui/devtests/JavaMailTest.java
deleted file mode 100644
index 9b5611e..0000000
--- a/appserver/admingui/devtests/src/test/java/org/glassfish/admingui/devtests/JavaMailTest.java
+++ /dev/null
@@ -1,152 +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.admingui.devtests;
-
-import org.junit.Test;
-
-import static org.junit.Assert.assertFalse;
-import static org.junit.Assert.assertTrue;
-
-
-public class JavaMailTest extends BaseSeleniumTestClass {
-    private static final String TRIGGER_JAVA_MAIL = "i18njmail.javaMailSessions.pageTitleHelp";
-    private static final String TRIGGER_NEW_JAVAMAIL_SESSION = "i18njmail.javaMail.newPageTitleHelp";
-    public static final String TRIGGER_EDIT_JAVAMAIL_SESSION = "i18njmail.javaMail.editPageTitleHelp";
-
-    @Test
-    public void createMailResource() {
-        final String resourceName = "javaMail" + generateRandomString();
-        final String description = resourceName + " description";
-
-        StandaloneTest standaloneTest = new StandaloneTest();
-        ClusterTest clusterTest = new ClusterTest();
-        standaloneTest.deleteAllStandaloneInstances();
-        clusterTest.deleteAllClusters();
-
-        clickAndWait("treeForm:tree:resources:mailResources:mailResources_link", TRIGGER_JAVA_MAIL);
-        clickAndWait("propertyForm:resourcesTable:topActionsGroup1:newButton", TRIGGER_NEW_JAVAMAIL_SESSION);
-
-        setFieldValue("form:propertySheet:propertSectionTextField:nameNew:name", resourceName);
-        setFieldValue("form:propertySheet:propertSectionTextField:hostProp:host", "localhost");
-        setFieldValue("form:propertySheet:propertSectionTextField:userProp:user", "user");
-        setFieldValue("form:propertySheet:propertSectionTextField:fromProp:from", "return@test.com");
-        setFieldValue("form:propertySheet:propertSectionTextField:descProp:desc", description);
-        int count = addTableRow("form:basicTable", "form:basicTable:topActionsGroup1:addSharedTableButton");
-
-        setFieldValue("form:basicTable:rowGroup1:0:col2:col1St", "property"+generateRandomString());
-        setFieldValue("form:basicTable:rowGroup1:0:col3:col1St", "value");
-        setFieldValue("form:basicTable:rowGroup1:0:col4:col1St", "description");
-        clickAndWait("form:propertyContentPage:topButtons:newButton", TRIGGER_JAVA_MAIL);
-
-        assertTrue(isTextPresent(resourceName));
-
-        clickAndWait(getLinkIdByLinkText("propertyForm:resourcesTable", resourceName), TRIGGER_EDIT_JAVAMAIL_SESSION);
-        assertTableRowCount("propertyForm:basicTable", count);
-        clickAndWait("propertyForm:propertyContentPage:topButtons:cancelButton", TRIGGER_JAVA_MAIL);
-
-        testDisableButton(resourceName,
-                "propertyForm:resourcesTable",
-                "propertyForm:resourcesTable:topActionsGroup1:button3",
-                "propertyForm:propertySheet:propertSectionTextField:statusProp:enabled",
-                "propertyForm:propertyContentPage:topButtons:cancelButton",
-                TRIGGER_JAVA_MAIL,
-                TRIGGER_EDIT_JAVAMAIL_SESSION,
-                "off");
-        testEnableButton(resourceName,
-                "propertyForm:resourcesTable",
-                "propertyForm:resourcesTable:topActionsGroup1:button2",
-                "propertyForm:propertySheet:propertSectionTextField:statusProp:enabled",
-                "propertyForm:propertyContentPage:topButtons:cancelButton",
-                TRIGGER_JAVA_MAIL,
-                TRIGGER_EDIT_JAVAMAIL_SESSION,
-                "on");
-
-        deleteRow("propertyForm:resourcesTable:topActionsGroup1:button1", "propertyForm:resourcesTable", resourceName);
-    }
-
-    @Test
-    public void createMailResourceWithTargets() {
-        final String resourceName = "javaMail" + generateRandomString();
-        final String description = resourceName + " description";
-        final String instanceName = "standalone" + generateRandomString();
-        final String enableStatus = "Enabled on 2 of 2 Target(s)";
-        final String disableStatus = "Enabled on 0 of 2 Target(s)";
-
-        StandaloneTest instanceTest = new StandaloneTest();
-        instanceTest.createStandAloneInstance(instanceName);
-
-        clickAndWait("treeForm:tree:resources:mailResources:mailResources_link", TRIGGER_JAVA_MAIL);
-        clickAndWait("propertyForm:resourcesTable:topActionsGroup1:newButton", TRIGGER_NEW_JAVAMAIL_SESSION);
-
-        setFieldValue("form:propertySheet:propertSectionTextField:nameNew:name", resourceName);
-        setFieldValue("form:propertySheet:propertSectionTextField:hostProp:host", "localhost");
-        setFieldValue("form:propertySheet:propertSectionTextField:userProp:user", "user");
-        setFieldValue("form:propertySheet:propertSectionTextField:fromProp:from", "return@test.com");
-        setFieldValue("form:propertySheet:propertSectionTextField:descProp:desc", description);
-        int count = addTableRow("form:basicTable", "form:basicTable:topActionsGroup1:addSharedTableButton");
-
-        setFieldValue("form:basicTable:rowGroup1:0:col2:col1St", "property" + generateRandomString());
-        setFieldValue("form:basicTable:rowGroup1:0:col3:col1St", "value");
-        setFieldValue("form:basicTable:rowGroup1:0:col4:col1St", "description");
-
-        addSelectSelection("form:targetSection:targetSectionId:addRemoveProp:commonAddRemove_available", instanceName);
-        addSelectSelection("form:targetSection:targetSectionId:addRemoveProp:commonAddRemove_available", "server");
-        pressButton("form:targetSection:targetSectionId:addRemoveProp:commonAddRemove:commonAddRemove_addButton");
-
-        clickAndWait("form:propertyContentPage:topButtons:newButton", TRIGGER_JAVA_MAIL);
-
-        assertTrue(isTextPresent(resourceName));
-
-        clickAndWait(getLinkIdByLinkText("propertyForm:resourcesTable", resourceName), TRIGGER_EDIT_JAVAMAIL_SESSION);
-        assertTableRowCount("propertyForm:basicTable", count);
-        clickAndWait("propertyForm:propertyContentPage:topButtons:cancelButton", TRIGGER_JAVA_MAIL);
-
-        testDisableButton(resourceName,
-                "propertyForm:resourcesTable",
-                "propertyForm:resourcesTable:topActionsGroup1:button3",
-                "propertyForm:propertySheet:propertSectionTextField:statusProp2:enabledStr",
-                "propertyForm:propertyContentPage:topButtons:cancelButton",
-                TRIGGER_JAVA_MAIL,
-                TRIGGER_EDIT_JAVAMAIL_SESSION,
-                disableStatus);
-        testEnableButton(resourceName,
-                "propertyForm:resourcesTable",
-                "propertyForm:resourcesTable:topActionsGroup1:button2",
-                "propertyForm:propertySheet:propertSectionTextField:statusProp2:enabledStr",
-                "propertyForm:propertyContentPage:topButtons:cancelButton",
-                TRIGGER_JAVA_MAIL,
-                TRIGGER_EDIT_JAVAMAIL_SESSION,
-                enableStatus);
-        testManageTargets("treeForm:tree:resources:mailResources:mailResources_link",
-                          "propertyForm:resourcesTable",
-                          "propertyForm:targetTable:topActionsGroup1:button2",
-                          "propertyForm:targetTable:topActionsGroup1:button3",
-                          "propertyForm:propertySheet:propertSectionTextField:statusProp2:enabledStr",
-                          "propertyForm:resEditTabs:general",
-                          "propertyForm:resEditTabs:targetTab",
-                          TRIGGER_JAVA_MAIL,
-                          TRIGGER_EDIT_JAVAMAIL_SESSION,
-                          resourceName,
-                          instanceName);
-
-        deleteRow("propertyForm:resourcesTable:topActionsGroup1:button1", "propertyForm:resourcesTable", resourceName);
-        //Delete the instance
-        clickAndWait("treeForm:tree:standaloneTreeNode:standaloneTreeNode_link", instanceTest.TRIGGER_INSTANCES_PAGE);
-        deleteRow("propertyForm:instancesTable:topActionsGroup1:button1", "propertyForm:instancesTable", instanceName);
-        assertFalse(tableContainsRow("propertyForm:instancesTable", "col0", instanceName));
-    }
-}
diff --git a/appserver/admingui/devtests/src/test/java/org/glassfish/admingui/devtests/JavaMessageServiceTest.java b/appserver/admingui/devtests/src/test/java/org/glassfish/admingui/devtests/JavaMessageServiceTest.java
deleted file mode 100644
index d69ac70..0000000
--- a/appserver/admingui/devtests/src/test/java/org/glassfish/admingui/devtests/JavaMessageServiceTest.java
+++ /dev/null
@@ -1,215 +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.admingui.devtests;
-
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertFalse;
-import static org.junit.Assert.assertTrue;
-import org.junit.Test;
-
-public class JavaMessageServiceTest extends BaseSeleniumTestClass {
-
-    public static final String DEFAULT_JMS_HOST = "default_JMS_host";
-    private static final String TRIGGER_GENERAL_INFORMATION = "i18n.instance.GeneralTitle";
-    private static final String TRIGGER_JMS_SERVICE = "i18njms.jms.PageHelp";
-    private static final String TRIGGER_JMS_HOSTS = "i18njms.jmsHosts.ListPageHelp";
-    private static final String TRIGGER_NEW_JMS_HOST = "i18njms.newJmsHost.NewJmsHost";
-    private static final String TRIGGER_JMS_PHYSICAL_DESTINATIONS = "i18njms.jmsPhysDestinations.pageHelp";
-    private static final String TRIGGER_NEW_JMS_PHYSICAL_DESTINATION = "i18njms.jmsPhysDestinations.newPageTitle";
-    private static final String TRIGGER_EDIT_JMS_PHYSICAL_DESTINATION = "i18njms.jmsPhysDestinations.editPageTitle";
-    private static final String TRIGGER_FLUSH = "i18njms.jmsPhysDestinations.purged";
-
-    @Test
-    public void testJmsService() {
-        final String timeout = Integer.toString(generateRandomNumber(90));
-        final String interval = Integer.toString(generateRandomNumber(10));
-        final String attempts = Integer.toString(generateRandomNumber(10));
-
-        clickAndWait("treeForm:tree:configurations:server-config:jmsConfiguration:jmsConfiguration_link", TRIGGER_JMS_SERVICE);
-        setFieldValue("propertyForm:propertyContentPage:propertySheet:propertSectionTextField:timeoutProp:Timeout", timeout);
-        setFieldValue("propertyForm:propertyContentPage:propertySheet:propertSectionTextField:intervalProp:Interval", interval);
-        setFieldValue("propertyForm:propertyContentPage:propertySheet:propertSectionTextField:attemptsProp:Attempts", attempts);
-        selectDropdownOption("propertyForm:propertyContentPage:propertySheet:propertSectionTextField:behaviorProp:Behavior", "priority");
-
-        int count = addTableRow("propertyForm:propertyContentPage:basicTable", "propertyForm:propertyContentPage:basicTable:topActionsGroup1:addSharedTableButton");
-        setFieldValue("propertyForm:propertyContentPage:basicTable:rowGroup1:0:col2:col1St", "property" + generateRandomString());
-        setFieldValue("propertyForm:propertyContentPage:basicTable:rowGroup1:0:col3:col1St", "value");
-        clickAndWait("propertyForm:propertyContentPage:topButtons:saveButton", TRIGGER_NEW_VALUES_SAVED);
-
-        clickAndWait("treeForm:tree:configurations:server-config:jmsConfiguration:jmsHosts:jmsHosts_link", TRIGGER_JMS_HOSTS);
-        clickAndWait("treeForm:tree:configurations:server-config:jmsConfiguration:jmsConfiguration_link", TRIGGER_JMS_SERVICE);
-
-        assertEquals(timeout, getFieldValue("propertyForm:propertyContentPage:propertySheet:propertSectionTextField:timeoutProp:Timeout"));
-        assertEquals(interval, getFieldValue("propertyForm:propertyContentPage:propertySheet:propertSectionTextField:intervalProp:Interval"));
-        assertEquals(attempts, getFieldValue("propertyForm:propertyContentPage:propertySheet:propertSectionTextField:attemptsProp:Attempts"));
-        assertTableRowCount("propertyForm:propertyContentPage:basicTable", count);
-    }
-
-    @Test
-    public void testJmsHosts() {
-        String hostText = "host" + generateRandomString();
-        String host = "somemachine" + generateRandomNumber(1000);
-        String port = Integer.toString(generateRandomNumber(32768));
-
-        clickAndWait("treeForm:tree:configurations:server-config:jmsConfiguration:jmsHosts:jmsHosts_link", TRIGGER_JMS_HOSTS);
-        clickAndWait("propertyForm:configs:topActionsGroup1:newButton", TRIGGER_NEW_JMS_HOST);
-        setFieldValue("propertyForm:propertySheet:propertSectionTextField:JmsHostTextProp:JmsHostText", hostText);
-        setFieldValue("propertyForm:propertySheet:propertSectionTextField:HostProp:Host", host);
-        setFieldValue("propertyForm:propertySheet:propertSectionTextField:PortProp:Port", port);
-        setFieldValue("propertyForm:propertySheet:propertSectionTextField:AdminUserProp:AdminUser", "admin");
-        setFieldValue("propertyForm:propertySheet:propertSectionTextField:newPasswordProp:NewPassword", "admin");
-        setFieldValue("propertyForm:propertySheet:propertSectionTextField:confirmPasswordProp:ConfirmPassword", "admin");
-        clickAndWait("propertyForm:propertyContentPage:topButtons:newButton", TRIGGER_NEW_VALUES_SAVED);
-        clickAndWait(this.getLinkIdByLinkText("propertyForm:configs", hostText), "Edit JMS Host");
-        assertTrue(isTextPresent(hostText));
-        assertEquals(host, getFieldValue("propertyForm:propertySheet:propertSectionTextField:HostProp:Host"));
-        clickAndWait("propertyForm:propertyContentPage:topButtons:cancelButton", TRIGGER_JMS_HOSTS);
-        deleteRow("propertyForm:configs:topActionsGroup1:button1", "propertyForm:configs", hostText, "col0", "colName");
-    }
-
-    @Test
-    public void testJmsHostInNonServerConfig() {
-        String hostText = "host" + generateRandomString();
-        String instanceName = "in" + generateRandomString();
-        final String LINK_HOSTS = "treeForm:tree:configurations:" + instanceName + "-config:jmsConfiguration:jmsHosts:jmsHosts_link";
-
-        StandaloneTest sat = new StandaloneTest();
-        sat.deleteAllStandaloneInstances();
-        sat.createStandAloneInstance(instanceName);
-        sat.startInstance(instanceName);
-
-        // Create new JMS Host for the standalone instance's config
-        clickAndWaitForElement("Masthead:homeLink", LINK_HOSTS);
-        clickAndWait(LINK_HOSTS, TRIGGER_JMS_HOSTS);
-        clickAndWait("propertyForm:configs:topActionsGroup1:newButton", TRIGGER_NEW_JMS_HOST);
-        setFieldValue("propertyForm:propertySheet:propertSectionTextField:JmsHostTextProp:JmsHostText", hostText);
-        setFieldValue("propertyForm:propertySheet:propertSectionTextField:HostProp:Host", "localhost");
-        clickAndWait("propertyForm:propertyContentPage:topButtons:newButton", TRIGGER_NEW_VALUES_SAVED);
-
-        // Verify that the host is not visible to the DAS
-        reset();
-        clickAndWait("treeForm:tree:configurations:server-config:jmsConfiguration:jmsHosts:jmsHosts_link", TRIGGER_JMS_HOSTS);
-        assertFalse(isTextPresent(hostText));
-
-        // Delete the default host for the SA instance
-        reset();
-        clickAndWait(LINK_HOSTS, TRIGGER_JMS_HOSTS);
-        deleteRow("propertyForm:configs:topActionsGroup1:button1", "propertyForm:configs", DEFAULT_JMS_HOST, "col0", "colName");
-
-        // Verify that the DAS still has the default JMS Host
-        reset();
-        clickAndWait("treeForm:tree:configurations:server-config:jmsConfiguration:jmsHosts:jmsHosts_link", TRIGGER_JMS_HOSTS);
-        assertTrue(isTextPresent(DEFAULT_JMS_HOST));
-
-        // Delete SA config's new host
-        reset();
-        clickAndWait(LINK_HOSTS, TRIGGER_JMS_HOSTS);
-        deleteRow("propertyForm:configs:topActionsGroup1:button1", "propertyForm:configs", hostText, "col0", "colName");
-
-        sat.deleteAllStandaloneInstances();
-    }
-
-    @Test
-    public void testJmsPhysicalDestinations() {
-        final String name = "dest" + generateRandomString();
-        final String maxUnconsumed = Integer.toString(generateRandomNumber(100));
-        final String maxMessageSize = Integer.toString(generateRandomNumber(100));
-        final String maxTotalMemory = Integer.toString(generateRandomNumber(100));
-        final String maxProducers = Integer.toString(generateRandomNumber(500));
-        final String consumerFlowLimit = Integer.toString(generateRandomNumber(5000));
-        final String instanceName = "in" + generateRandomString();
-
-        StandaloneTest sat = new StandaloneTest();
-        sat.deleteAllStandaloneInstances();
-        sat.createStandAloneInstance(instanceName);
-        sat.startInstance(instanceName);
-
-        clickAndWait(getLinkIdByLinkText(sat.ID_INSTANCE_TABLE, instanceName), sat.TRIGGER_GENERAL_INFO_PAGE);
-        clickAndWait("propertyForm:standaloneInstanceTabs:jmsPhysDest", TRIGGER_JMS_PHYSICAL_DESTINATIONS);
-        clickAndWait("propertyForm:configs:topActionsGroup1:newButton", TRIGGER_NEW_JMS_PHYSICAL_DESTINATION);
-
-        setFieldValue("jmsPhysDestForm:propertySheet:propertSectionTextField:NameTextProp:NameText", name);
-        setFieldValue("jmsPhysDestForm:propertySheet:propertSectionTextField:maxNumMsgsProp:maxNumMsgs", maxUnconsumed);
-        setFieldValue("jmsPhysDestForm:propertySheet:propertSectionTextField:maxBytesPerMsgProp:maxBytesPerMsg", maxMessageSize);
-        setFieldValue("jmsPhysDestForm:propertySheet:propertSectionTextField:maxTotalMsgBytesProp:maxTotalMsgBytes", maxTotalMemory);
-        selectDropdownOption("jmsPhysDestForm:propertySheet:propertSectionTextField:limitBehaviorProp:Type", "i18njms.jmsPhysDestinations.REMOVE_LOW_PRIORITY");
-        setFieldValue("jmsPhysDestForm:propertySheet:propertSectionTextField:maxNumProducersProp:maxNumProducers", maxProducers);
-        setFieldValue("jmsPhysDestForm:propertySheet:propertSectionTextField:consumerFlowLimitProp:consumerFlowLimit", consumerFlowLimit);
-        selectDropdownOption("jmsPhysDestForm:propertySheet:propertSectionTextField:useDmqProp:useDmq", "i18n.common.false");
-        selectDropdownOption("jmsPhysDestForm:propertySheet:propertSectionTextField:validateSchemaProp:validateXMLSchemaEnabled", "i18n.common.true");
-        clickAndWait("jmsPhysDestForm:propertyContentPage:topButtons:newButton", TRIGGER_JMS_PHYSICAL_DESTINATIONS);
-
-        clickAndWait(getLinkIdByLinkText("propertyForm:configs", name), TRIGGER_EDIT_JMS_PHYSICAL_DESTINATION);
-
-        assertTrue(isTextPresent(name));
-        assertEquals(maxUnconsumed, getFieldValue("jmsPhysDestForm:propertySheet:propertSectionTextField:maxNumMsgsProp:maxNumMsgs"));
-        assertEquals(maxMessageSize, getFieldValue("jmsPhysDestForm:propertySheet:propertSectionTextField:maxBytesPerMsgProp:maxBytesPerMsg"));
-        assertEquals(maxTotalMemory, getFieldValue("jmsPhysDestForm:propertySheet:propertSectionTextField:maxTotalMsgBytesProp:maxTotalMsgBytes"));
-
-        // TODO: These options do not seem to be be supported by the backend. Passing these props to the CLI does not affect its value. Disabling for now.
-        // FIXME
-//        assertEquals("REMOVE_LOW_PRIORITY", getFieldValue("jmsPhysDestForm:propertySheet:propertSectionTextField:limitBehaviorProp:Type"));
-//        assertEquals(maxProducers, getFieldValue("jmsPhysDestForm:propertySheet:propertSectionTextField:maxNumProducersProp:maxNumProducers"));
-//        assertEquals("false", getFieldValue("jmsPhysDestForm:propertySheet:propertSectionTextField:useDmqProp:useDmq"));
-
-        assertEquals(consumerFlowLimit, getFieldValue("jmsPhysDestForm:propertySheet:propertSectionTextField:consumerFlowLimitProp:consumerFlowLimit"));
-        assertEquals("true", getFieldValue("jmsPhysDestForm:propertySheet:propertSectionTextField:validateSchemaProp:validateXMLSchemaEnabled"));
-        clickAndWait("jmsPhysDestForm:propertyContentPage:topButtons:cancelButton", TRIGGER_JMS_PHYSICAL_DESTINATIONS);
-
-        this.selectTableRowByValue("propertyForm:configs", name);
-        clickAndWait("propertyForm:configs:topActionsGroup1:flushButton", TRIGGER_FLUSH);
-//        this.selectTableRowByValue("propertyForm:configs", name); // Deselect row. This is ugly, but will have to stay this way for now
-
-        sat.gotoStandaloneInstancesPage();
-        clickAndWait(getLinkIdByLinkText(sat.ID_INSTANCE_TABLE, instanceName), sat.TRIGGER_GENERAL_INFO_PAGE);
-        clickAndWait("propertyForm:standaloneInstanceTabs:jmsPhysDest", TRIGGER_JMS_PHYSICAL_DESTINATIONS);
-        deleteRow("propertyForm:configs:topActionsGroup1:deleteButton", "propertyForm:configs", name);
-    }
-
-    //TODO-IDCINTER-41 GLASSFISH-22403, GLASSFISH-22050, GLASSFISH-22051
-    //This test needs to be updated: the test procedure should be:
-    // . create a cluster
-    // . create 2 instances in the cluster
-    // . start the cluster
-    // . change master broker to instance2
-    // besides the above test update, this test needs issues GLASSFISH-22403, GLASSFISH-22050 addressed
-    //@Test
-    public void testMasterBroker() {
-        ClusterTest ct = new ClusterTest();
-        try {
-            final String FIELD_MASTER_BROKER = "propertyForm:propertyContentPage:propertySheet:propertSectionTextField:maseterBrokerProp:MasterBroker";
-
-            String clusterName = "clusterName" + generateRandomString();
-            ct.deleteAllClusters();
-            final String instance1 = clusterName + generateRandomString();
-            final String instance2 = clusterName + generateRandomString();
-            ct.createCluster(clusterName, instance1, instance2);
-            final String ELEMENT_JMS_LINK = "treeForm:tree:configurations:" + clusterName + "-config:jmsConfiguration:jmsConfiguration_link";
-
-            clickAndWait(ELEMENT_JMS_LINK, TRIGGER_JMS_SERVICE);
-            selectDropdownOption(FIELD_MASTER_BROKER, instance2);
-
-            clickAndWait("propertyForm:propertyContentPage:topButtons:saveButton", TRIGGER_NEW_VALUES_SAVED);
-            reset();
-            clickAndWait(ELEMENT_JMS_LINK, TRIGGER_JMS_SERVICE);
-
-            assertEquals(instance2, getFieldValue(FIELD_MASTER_BROKER));
-        } finally {
-            ct.deleteAllClusters();
-        }
-    }
-}
diff --git a/appserver/admingui/devtests/src/test/java/org/glassfish/admingui/devtests/JdbcTest.java b/appserver/admingui/devtests/src/test/java/org/glassfish/admingui/devtests/JdbcTest.java
deleted file mode 100644
index 64339f4..0000000
--- a/appserver/admingui/devtests/src/test/java/org/glassfish/admingui/devtests/JdbcTest.java
+++ /dev/null
@@ -1,244 +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.admingui.devtests;
-
-import org.junit.Test;
-
-import static org.junit.Assert.assertFalse;
-import static org.junit.Assert.assertTrue;
-
-public class JdbcTest extends BaseSeleniumTestClass {
-    public static final String TRIGGER_JDBC_CONNECTION_POOLS = "i18njdbc.jdbcConnectionPools.pageTitleHelp";
-    public static final String TRIGGER_EDIT_JDBC_CONNECTION_POOL = "i18njdbc.jdbcConnection.editPageHelp";
-    public static final String TRIGGER_ADVANCE_JDBC_CONNECTION_POOL = "i18njdbc.jdbcConnectionPool.advancePageTitleHelp";
-    public static final String TRIGGER_PROPS_JDBC_CONNECTION_POOL = "i18njdbc.jdbcConnectionPool.propertyPageTitleHelp";
-    public static final String TRIGGER_JDBC_RESOURCES = "i18njdbc.jdbcResources.pageTitleHelp";
-    public static final String TRIGGER_EDIT_JDBC_RESOURCE = "i18njdbc.jdbcResource.editPageTitleHelp";
-    public static final String TRIGGER_NEW_JDBC_CONNECTION_POOL_STEP_1 = "i18njdbc.jdbcConnection.step1PageHelp";
-    public static final String TRIGGER_NEW_JDBC_CONNECTION_POOL_STEP_2 = "i18njdbc.jdbcConnection.step2PageHelp";
-    public static final String TRIGGER_NEW_JDBC_RESOURCE = "i18njdbc.jdbcResource.newPageTitleHelp";
-
-    @Test
-    public void testPoolPing() {
-        clickAndWait("treeForm:tree:resources:JDBC:connectionPoolResources:__TimerPool:link", "Edit JDBC Connection Pool");
-        clickAndWait("propertyForm:propertyContentPage:ping", "Ping Succeeded");
-    }
-
-    @Test
-    public void testCreatingConnectionPool() {
-        final String poolName = "jdbcPool" + generateRandomString();
-        final String description = "devtest test connection pool - " + poolName;
-
-        clickAndWait("treeForm:tree:resources:JDBC:connectionPoolResources:connectionPoolResources_link", TRIGGER_JDBC_CONNECTION_POOLS);
-        clickAndWait("propertyForm:poolTable:topActionsGroup1:newButton", TRIGGER_NEW_JDBC_CONNECTION_POOL_STEP_1);
-
-        setFieldValue("propertyForm:propertyContentPage:propertySheet:generalPropertySheet:jndiProp:name", poolName);
-        selectDropdownOption("propertyForm:propertyContentPage:propertySheet:generalPropertySheet:resTypeProp:resType", "javax.sql.DataSource");
-        selectDropdownOption("propertyForm:propertyContentPage:propertySheet:generalPropertySheet:dbProp:db", "Derby");
-        clickAndWait("propertyForm:propertyContentPage:topButtons:nextButton", TRIGGER_NEW_JDBC_CONNECTION_POOL_STEP_2);
-
-        setFieldValue("form2:sheet:generalSheet:descProp:desc", description);
-        clickAndWait("form2:propertyContentPage:topButtons:finishButton", TRIGGER_JDBC_CONNECTION_POOLS);
-        assertTrue(isTextPresent(poolName) && isTextPresent(description));
-
-        deleteRow("propertyForm:poolTable:topActionsGroup1:button1", "propertyForm:poolTable", poolName);
-    }
-
-    @Test
-    public void testCreatingJdbcPoolWithoutDatabaseVendor() {
-        final String poolName = "jdbcPool" + generateRandomString();
-        final String description = "devtest test connection pool - " + poolName;
-
-        clickAndWait("treeForm:tree:resources:JDBC:connectionPoolResources:connectionPoolResources_link", TRIGGER_JDBC_CONNECTION_POOLS);
-        clickAndWait("propertyForm:poolTable:topActionsGroup1:newButton", TRIGGER_NEW_JDBC_CONNECTION_POOL_STEP_1);
-
-        setFieldValue("propertyForm:propertyContentPage:propertySheet:generalPropertySheet:jndiProp:name", poolName);
-        selectDropdownOption("propertyForm:propertyContentPage:propertySheet:generalPropertySheet:resTypeProp:resType", "javax.sql.ConnectionPoolDataSource");
-        clickAndWait("propertyForm:propertyContentPage:topButtons:nextButton", TRIGGER_NEW_JDBC_CONNECTION_POOL_STEP_2);
-
-        setFieldValue("form2:sheet:generalSheet:descProp:desc", description);
-        setFieldValue("form2:sheet:generalSheet:dsProp:datasourceField", poolName + "DataSource");
-        clickAndWait("form2:propertyContentPage:topButtons:finishButton", TRIGGER_JDBC_CONNECTION_POOLS);
-        assertTrue(isTextPresent(poolName) && isTextPresent(description));
-
-        deleteRow("propertyForm:poolTable:topActionsGroup1:button1", "propertyForm:poolTable", poolName);
-    }
-
-    @Test
-    public void testJdbcResources() {
-        final String jndiName = "jdbcResource" + generateRandomString();
-        final String description = "devtest test jdbc resource - " + jndiName;
-
-        StandaloneTest standaloneTest = new StandaloneTest();
-        ClusterTest clusterTest = new ClusterTest();
-        standaloneTest.deleteAllStandaloneInstances();
-        clusterTest.deleteAllClusters();
-
-        clickAndWait("treeForm:tree:resources:JDBC:jdbcResources:jdbcResources_link", TRIGGER_JDBC_RESOURCES);
-        clickAndWait("propertyForm:resourcesTable:topActionsGroup1:newButton", TRIGGER_NEW_JDBC_RESOURCE);
-
-        setFieldValue("form:propertySheet:propertSectionTextField:nameNew:name", jndiName);
-        setFieldValue("form:propertySheet:propertSectionTextField:descProp:desc", description);
-        int count = addTableRow("form:basicTable", "form:basicTable:topActionsGroup1:addSharedTableButton");
-
-        setFieldValue("form:basicTable:rowGroup1:0:col2:col1St", "property"+generateRandomString());
-        setFieldValue("form:basicTable:rowGroup1:0:col3:col1St", "value");
-        setFieldValue("form:basicTable:rowGroup1:0:col4:col1St", "description");
-        clickAndWait("form:propertyContentPage:topButtons:newButton", TRIGGER_JDBC_RESOURCES);
-
-        assertTrue(isTextPresent(jndiName));
-        assertTrue(isTextPresent(description));
-
-        clickAndWait(getLinkIdByLinkText("propertyForm:resourcesTable", jndiName), TRIGGER_EDIT_JDBC_RESOURCE);
-
-        assertTableRowCount("propertyForm:basicTable", count);
-        clickAndWait("propertyForm:propertyContentPage:topButtons:cancelButton", TRIGGER_JDBC_RESOURCES);
-
-        testDisableButton(jndiName,
-                "propertyForm:resourcesTable",
-                "propertyForm:resourcesTable:topActionsGroup1:button3",
-                "propertyForm:propertySheet:propertSectionTextField:statusProp:enabled",
-                "propertyForm:propertyContentPage:topButtons:cancelButton",
-                TRIGGER_JDBC_RESOURCES,
-                TRIGGER_EDIT_JDBC_RESOURCE,
-                "off");
-        testEnableButton(jndiName,
-                "propertyForm:resourcesTable",
-                "propertyForm:resourcesTable:topActionsGroup1:button2",
-                "propertyForm:propertySheet:propertSectionTextField:statusProp:enabled",
-                "propertyForm:propertyContentPage:topButtons:cancelButton",
-                TRIGGER_JDBC_RESOURCES,
-                TRIGGER_EDIT_JDBC_RESOURCE,
-                "on");
-
-        deleteRow("propertyForm:resourcesTable:topActionsGroup1:button1", "propertyForm:resourcesTable", jndiName);
-    }
-
-    @Test
-    public void testJdbcResourcesWithTargets() {
-        final String jndiName = "jdbcResource" + generateRandomString();
-        final String instanceName = "standalone" + generateRandomString();
-        final String description = "devtest test jdbc resource with targets- " + jndiName;
-        final String enableStatus = "Enabled on 2 of 2 Target(s)";
-        final String disableStatus = "Enabled on 0 of 2 Target(s)";
-
-        StandaloneTest instanceTest = new StandaloneTest();
-        instanceTest.createStandAloneInstance(instanceName);
-
-        clickAndWait("treeForm:tree:resources:JDBC:jdbcResources:jdbcResources_link", TRIGGER_JDBC_RESOURCES);
-        clickAndWait("propertyForm:resourcesTable:topActionsGroup1:newButton", TRIGGER_NEW_JDBC_RESOURCE);
-
-        setFieldValue("form:propertySheet:propertSectionTextField:nameNew:name", jndiName);
-        setFieldValue("form:propertySheet:propertSectionTextField:descProp:desc", description);
-        int count = addTableRow("form:basicTable", "form:basicTable:topActionsGroup1:addSharedTableButton");
-
-        setFieldValue("form:basicTable:rowGroup1:0:col2:col1St", "property"+generateRandomString());
-        setFieldValue("form:basicTable:rowGroup1:0:col3:col1St", "value");
-        setFieldValue("form:basicTable:rowGroup1:0:col4:col1St", "description");
-
-        addSelectSelection("form:targetSection:targetSectionId:addRemoveProp:commonAddRemove_available", instanceName);
-        addSelectSelection("form:targetSection:targetSectionId:addRemoveProp:commonAddRemove_available", "server");
-        pressButton("form:targetSection:targetSectionId:addRemoveProp:commonAddRemove:commonAddRemove_addButton");
-
-        clickAndWait("form:propertyContentPage:topButtons:newButton", TRIGGER_JDBC_RESOURCES);
-
-        assertTrue(isTextPresent(jndiName));
-        assertTrue(isTextPresent(description));
-
-        clickAndWait(getLinkIdByLinkText("propertyForm:resourcesTable", jndiName), TRIGGER_EDIT_JDBC_RESOURCE);
-
-        assertTableRowCount("propertyForm:basicTable", count);
-        clickAndWait("propertyForm:propertyContentPage:topButtons:cancelButton", TRIGGER_JDBC_RESOURCES);
-
-        testDisableButton(jndiName,
-                "propertyForm:resourcesTable",
-                "propertyForm:resourcesTable:topActionsGroup1:button3",
-                "propertyForm:propertySheet:propertSectionTextField:statusProp2:enabledStr",
-                "propertyForm:propertyContentPage:topButtons:cancelButton",
-                TRIGGER_JDBC_RESOURCES,
-                TRIGGER_EDIT_JDBC_RESOURCE,
-                disableStatus);
-        testEnableButton(jndiName,
-                "propertyForm:resourcesTable",
-                "propertyForm:resourcesTable:topActionsGroup1:button2",
-                "propertyForm:propertySheet:propertSectionTextField:statusProp2:enabledStr",
-                "propertyForm:propertyContentPage:topButtons:cancelButton",
-                TRIGGER_JDBC_RESOURCES,
-                TRIGGER_EDIT_JDBC_RESOURCE,
-                enableStatus);
-        testManageTargets("treeForm:tree:resources:JDBC:jdbcResources:jdbcResources_link",
-                          "propertyForm:resourcesTable",
-                          "propertyForm:targetTable:topActionsGroup1:button2",
-                          "propertyForm:targetTable:topActionsGroup1:button3",
-                          "propertyForm:propertySheet:propertSectionTextField:statusProp2:enabledStr",
-                          "propertyForm:resEditTabs:general",
-                          "propertyForm:resEditTabs:targetTab",
-                          TRIGGER_JDBC_RESOURCES,
-                          TRIGGER_EDIT_JDBC_RESOURCE,
-                          jndiName,
-                          instanceName);
-
-        deleteRow("propertyForm:resourcesTable:topActionsGroup1:button1", "propertyForm:resourcesTable", jndiName);
-        //Delete the instance
-        clickAndWait("treeForm:tree:standaloneTreeNode:standaloneTreeNode_link", instanceTest.TRIGGER_INSTANCES_PAGE);
-        deleteRow("propertyForm:instancesTable:topActionsGroup1:button1", "propertyForm:instancesTable", instanceName);
-        assertFalse(tableContainsRow("propertyForm:instancesTable", "col0", instanceName));
-    }
-
-    public void createJDBCResource(String jndiName, String description, String target, String targetType) {
-        if (targetType.equals(MonitoringTest.TARGET_STANDALONE_TYPE)) {
-            StandaloneTest instanceTest = new StandaloneTest();
-            instanceTest.createStandAloneInstance(target);
-        } else if (targetType.equals(MonitoringTest.TARGET_CLUSTER_TYPE)) {
-            ClusterTest clusterTest = new ClusterTest();
-            clusterTest.createCluster(target);
-        }
-        clickAndWait("treeForm:tree:resources:JDBC:jdbcResources:jdbcResources_link", TRIGGER_JDBC_RESOURCES);
-        clickAndWait("propertyForm:resourcesTable:topActionsGroup1:newButton", TRIGGER_NEW_JDBC_RESOURCE);
-
-        setFieldValue("form:propertySheet:propertSectionTextField:nameNew:name", jndiName);
-        setFieldValue("form:propertySheet:propertSectionTextField:descProp:desc", description);
-
-        if (targetType.equals(MonitoringTest.TARGET_STANDALONE_TYPE)) {
-            addSelectSelection("form:targetSection:targetSectionId:addRemoveProp:commonAddRemove_available", target);
-            pressButton("form:targetSection:targetSectionId:addRemoveProp:commonAddRemove:commonAddRemove_addButton");
-        } else if (targetType.equals(MonitoringTest.TARGET_CLUSTER_TYPE)) {
-            addSelectSelection("form:targetSection:targetSectionId:addRemoveProp:commonAddRemove_available", target);
-            pressButton("form:targetSection:targetSectionId:addRemoveProp:commonAddRemove:commonAddRemove_addButton");
-        }
-        clickAndWait("form:propertyContentPage:topButtons:newButton", TRIGGER_JDBC_RESOURCES);
-
-        assertTrue(isTextPresent(jndiName));
-        assertTrue(isTextPresent(description));
-    }
-
-    public void deleteJDBCResource(String jndiName, String target, String targetType) {
-        clickAndWait("treeForm:tree:resources:JDBC:jdbcResources:jdbcResources_link", TRIGGER_JDBC_RESOURCES);
-        deleteRow("propertyForm:resourcesTable:topActionsGroup1:button1", "propertyForm:resourcesTable", jndiName);
-        assertFalse(isTextPresent(jndiName));
-        if (targetType.equals(MonitoringTest.TARGET_STANDALONE_TYPE)) {
-            //Delete the instance
-            clickAndWait("treeForm:tree:standaloneTreeNode:standaloneTreeNode_link", StandaloneTest.TRIGGER_INSTANCES_PAGE);
-            deleteRow("propertyForm:instancesTable:topActionsGroup1:button1", "propertyForm:instancesTable", target);
-            assertFalse(tableContainsRow("propertyForm:instancesTable", "col1", target));
-        } else if (targetType.equals(MonitoringTest.TARGET_CLUSTER_TYPE)) {
-            clickAndWait("treeForm:tree:clusterTreeNode:clusterTreeNode_link", ClusterTest.TRIGGER_CLUSTER_PAGE);
-            deleteRow("propertyForm:clustersTable:topActionsGroup1:button1", "propertyForm:clustersTable", target);
-            assertFalse(tableContainsRow("propertyForm:clustersTable", "col1", target));
-        }
-    }
-}
diff --git a/appserver/admingui/devtests/src/test/java/org/glassfish/admingui/devtests/JmsResourcesTest.java b/appserver/admingui/devtests/src/test/java/org/glassfish/admingui/devtests/JmsResourcesTest.java
deleted file mode 100644
index 66b3e5e..0000000
--- a/appserver/admingui/devtests/src/test/java/org/glassfish/admingui/devtests/JmsResourcesTest.java
+++ /dev/null
@@ -1,245 +0,0 @@
-/*
- * 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
- * http://www.eclipse.org/legal/epl-2.0.
- *
- * This Source Code may also be made available under the following Secondary
- * Licenses when the conditions for such availability set forth in the
- * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
- * version 2 with the GNU Classpath Exception, which is available at
- * 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.admingui.devtests;
-
-import static org.junit.Assert.assertFalse;
-import static org.junit.Assert.assertTrue;
-import org.junit.Test;
-
-
-public class JmsResourcesTest extends BaseSeleniumTestClass {
-    private static final String TRIGGER_JMS_CONNECTION_FACTORIES = "i18njms.connectionFactories.pageTitleHelp";
-    private static final String TRIGGER_NEW_JMS_CONN_FACT = "i18njms.connectionFactory.newPageTitleHelp";
-    private static final String TRIGGER_EDIT_JMS_CONN_FACT = "i18njms.connectionFactory.editPageTitleHelp";
-    private static final String TRIGGER_JMS_DESTINATION_RESOURCES = "i18njms.destinationResources.pageTitleHelp";
-    private static final String TRIGGER_NEW_JMS_DEST_RES = "i18njms.jmsDestination.newPageTitleHelp";
-    private static final String TRIGGER_EDIT_JMS_DEST_RES = "i18njms.jmsDestination.editPageTitleHelp";
-
-    @Test
-    public void testAddingConnectionFactories() throws Exception {
-        final String poolName = "JMSConnFactory" + generateRandomString();
-        final String description = "Test Pool - " + poolName;
-
-        StandaloneTest standaloneTest = new StandaloneTest();
-        ClusterTest clusterTest = new ClusterTest();
-        standaloneTest.deleteAllStandaloneInstances();
-        clusterTest.deleteAllClusters();
-
-        clickAndWait("treeForm:tree:resources:jmsResources:jmsConnectionFactories:jmsConnectionFactories_link", TRIGGER_JMS_CONNECTION_FACTORIES);
-        clickAndWait("propertyForm:resourcesTable:topActionsGroup1:newButton", TRIGGER_NEW_JMS_CONN_FACT);
-
-        setFieldValue("form:propertySheet:generalPropertySheet:jndiProp:jndiProp", poolName);
-        selectDropdownOption("form:propertySheet:generalPropertySheet:resTyped:resType", "jakarta.jms.TopicConnectionFactory");
-        setFieldValue("form:propertySheet:generalPropertySheet:descProp:descProp", description);
-        selectDropdownOption("form:propertySheet:poolPropertySheet:transprop:trans", "LocalTransaction");
-        clickAndWait("form:propertyContentPage:topButtons:newButton", TRIGGER_JMS_CONNECTION_FACTORIES);
-        assertTrue(isTextPresent(poolName));
-
-        // This can't currently use testDisableButton/testEnableButton because the table is different from the others
-        // The table should be fixed to be like the others (in terms of IDs) so the standard test API can be used here.
-        selectTableRowByValue("propertyForm:resourcesTable", poolName, "colSelect", "colName");
-        waitForButtonEnabled("propertyForm:resourcesTable:topActionsGroup1:disableButton");
-        pressButton("propertyForm:resourcesTable:topActionsGroup1:disableButton");
-        waitForButtonDisabled("propertyForm:resourcesTable:topActionsGroup1:disableButton");
-
-        selectTableRowByValue("propertyForm:resourcesTable", poolName, "colSelect", "colName");
-        waitForButtonEnabled("propertyForm:resourcesTable:topActionsGroup1:enableButton");
-        pressButton("propertyForm:resourcesTable:topActionsGroup1:enableButton");
-        waitForButtonDisabled("propertyForm:resourcesTable:topActionsGroup1:enableButton");
-
-        deleteRow("propertyForm:resourcesTable:topActionsGroup1:deleteConnButton", "propertyForm:resourcesTable", poolName, "colSelect", "colName");
-    }
-
-    @Test
-    public void testAddingConnectionFactoriesWithTargets() throws Exception {
-        final String poolName = "JMSConnFactory" + generateRandomString();
-        final String description = "Test Pool - " + poolName;
-        final String instanceName = "standalone" + generateRandomString();
-
-        StandaloneTest instanceTest = new StandaloneTest();
-        instanceTest.createStandAloneInstance(instanceName);
-
-        clickAndWait("treeForm:tree:resources:jmsResources:jmsConnectionFactories:jmsConnectionFactories_link", TRIGGER_JMS_CONNECTION_FACTORIES);
-        clickAndWait("propertyForm:resourcesTable:topActionsGroup1:newButton", TRIGGER_NEW_JMS_CONN_FACT);
-
-        setFieldValue("form:propertySheet:generalPropertySheet:jndiProp:jndiProp", poolName);
-        selectDropdownOption("form:propertySheet:generalPropertySheet:resTyped:resType", "jakarta.jms.TopicConnectionFactory"); // i18n?
-        setFieldValue("form:propertySheet:generalPropertySheet:descProp:descProp", description);
-        selectDropdownOption("form:propertySheet:poolPropertySheet:transprop:trans", "LocalTransaction"); //i18n
-
-        addSelectSelection("form:targetSection:targetSectionId:addRemoveProp:commonAddRemove_available", instanceName);
-        addSelectSelection("form:targetSection:targetSectionId:addRemoveProp:commonAddRemove_available", "server");
-        pressButton("form:targetSection:targetSectionId:addRemoveProp:commonAddRemove:commonAddRemove_addButton");
-
-        clickAndWait("form:propertyContentPage:topButtons:newButton", TRIGGER_JMS_CONNECTION_FACTORIES);
-        assertTrue(isTextPresent(poolName));
-
-        // This can't currently use testDisableButton/testEnableButton because the table is different from the others
-        // The table should be fixed to be like the others (in terms of IDs) so the standard test API can be used here.
-        selectTableRowByValue("propertyForm:resourcesTable", poolName, "colSelect", "colName");
-        waitForButtonEnabled("propertyForm:resourcesTable:topActionsGroup1:disableButton");
-        pressButton("propertyForm:resourcesTable:topActionsGroup1:disableButton");
-        waitForButtonDisabled("propertyForm:resourcesTable:topActionsGroup1:disableButton");
-
-        selectTableRowByValue("propertyForm:resourcesTable", poolName, "colSelect", "colName");
-        waitForButtonEnabled("propertyForm:resourcesTable:topActionsGroup1:enableButton");
-        pressButton("propertyForm:resourcesTable:topActionsGroup1:enableButton");
-        waitForButtonDisabled("propertyForm:resourcesTable:topActionsGroup1:enableButton");
-
-        testManageTargets("treeForm:tree:resources:jmsResources:jmsConnectionFactories:jmsConnectionFactories_link",
-                          "propertyForm:resourcesTable",
-                          "propertyForm:targetTable:topActionsGroup1:button2",
-                          "propertyForm:targetTable:topActionsGroup1:button3",
-                          "propertyForm:propertyContentPage:propertySheet:generalPropertySheet:statusProp2:enabledStr",
-                          "propertyForm:resEditTabs:general",
-                          "propertyForm:resEditTabs:targetTab",
-                          TRIGGER_JMS_CONNECTION_FACTORIES,
-                          TRIGGER_EDIT_JMS_CONN_FACT,
-                          poolName,
-                          instanceName);
-        deleteRow("propertyForm:resourcesTable:topActionsGroup1:deleteConnButton", "propertyForm:resourcesTable", poolName, "colSelect", "colName");
-        //Delete the instance
-        clickAndWait("treeForm:tree:standaloneTreeNode:standaloneTreeNode_link", instanceTest.TRIGGER_INSTANCES_PAGE);
-        deleteRow("propertyForm:instancesTable:topActionsGroup1:button1", "propertyForm:instancesTable", instanceName);
-        assertFalse(tableContainsRow("propertyForm:instancesTable", "col0", instanceName));
-    }
-
-    @Test
-    public void testAddingDestinationResources() throws Exception {
-        final String resourceName = "JMSDestination" + generateRandomString();
-        final String description = "Test Destination - " + resourceName;
-
-        StandaloneTest standaloneTest = new StandaloneTest();
-        ClusterTest clusterTest = new ClusterTest();
-        standaloneTest.deleteAllStandaloneInstances();
-        clusterTest.deleteAllClusters();
-
-        clickAndWait("treeForm:tree:resources:jmsResources:jmsDestinationResources:jmsDestinationResources_link", TRIGGER_JMS_DESTINATION_RESOURCES);
-        sleep(1000);
-        clickAndWait("propertyForm:resourcesTable:topActionsGroup1:newButton", TRIGGER_NEW_JMS_DEST_RES);
-        setFieldValue("form:propertyContentPage:propertySheet:propertSectionTextField:jndiProp:jndi", resourceName);
-        setFieldValue("form:propertyContentPage:propertySheet:propertSectionTextField:nameProp:name", "somePhysicalDestination");
-        setFieldValue("form:propertyContentPage:propertySheet:propertSectionTextField:descProp:desc", description);
-        clickAndWait("form:propertyContentPage:topButtons:newButton", TRIGGER_JMS_DESTINATION_RESOURCES);
-        assertTrue(isTextPresent(resourceName) && isTextPresent(description));
-
-        // This can't currently use testDisableButton/testEnableButton because the table is different from the others
-        // The table should be fixed to be like the others (in terms of IDs) so the standard test API can be used here.
-        selectTableRowByValue("propertyForm:resourcesTable", resourceName, "colSelect", "colName");
-        waitForButtonEnabled("propertyForm:resourcesTable:topActionsGroup1:disableButton");
-        pressButton("propertyForm:resourcesTable:topActionsGroup1:disableButton");
-        waitForButtonDisabled("propertyForm:resourcesTable:topActionsGroup1:disableButton");
-
-        selectTableRowByValue("propertyForm:resourcesTable", resourceName, "colSelect", "colName");
-        waitForButtonEnabled("propertyForm:resourcesTable:topActionsGroup1:enableButton");
-        pressButton("propertyForm:resourcesTable:topActionsGroup1:enableButton");
-        waitForButtonDisabled("propertyForm:resourcesTable:topActionsGroup1:enableButton");
-
-        deleteRow("propertyForm:resourcesTable:topActionsGroup1:deleteDestButton", "propertyForm:resourcesTable", resourceName, "colSelect", "colName");
-    }
-
-    @Test
-    public void testAddingDestinationResourcesWithTargets() throws Exception {
-        final String resourceName = "JMSDestination" + generateRandomString();
-        final String instanceName = "standalone" + generateRandomString();
-        final String description = "Test Destination - " + resourceName;
-
-        StandaloneTest instanceTest = new StandaloneTest();
-        instanceTest.createStandAloneInstance(instanceName);
-
-        clickAndWait("treeForm:tree:resources:jmsResources:jmsDestinationResources:jmsDestinationResources_link", TRIGGER_JMS_DESTINATION_RESOURCES);
-        sleep(1000);
-        clickAndWait("propertyForm:resourcesTable:topActionsGroup1:newButton", TRIGGER_NEW_JMS_DEST_RES);
-        setFieldValue("form:propertyContentPage:propertySheet:propertSectionTextField:jndiProp:jndi", resourceName);
-        setFieldValue("form:propertyContentPage:propertySheet:propertSectionTextField:nameProp:name", "somePhysicalDestination");
-        setFieldValue("form:propertyContentPage:propertySheet:propertSectionTextField:descProp:desc", description);
-
-        addSelectSelection("form:targetSection:targetSectionId:addRemoveProp:commonAddRemove_available", instanceName);
-        addSelectSelection("form:targetSection:targetSectionId:addRemoveProp:commonAddRemove_available", "server");
-        pressButton("form:targetSection:targetSectionId:addRemoveProp:commonAddRemove:commonAddRemove_addButton");
-
-        clickAndWait("form:propertyContentPage:topButtons:newButton", TRIGGER_JMS_DESTINATION_RESOURCES);
-        assertTrue(isTextPresent(resourceName) && isTextPresent(description));
-
-        // This can't currently use testDisableButton/testEnableButton because the table is different from the others
-        // The table should be fixed to be like the others (in terms of IDs) so the standard test API can be used here.
-        selectTableRowByValue("propertyForm:resourcesTable", resourceName, "colSelect", "colName");
-        waitForButtonEnabled("propertyForm:resourcesTable:topActionsGroup1:disableButton");
-        pressButton("propertyForm:resourcesTable:topActionsGroup1:disableButton");
-        waitForButtonDisabled("propertyForm:resourcesTable:topActionsGroup1:disableButton");
-
-        selectTableRowByValue("propertyForm:resourcesTable", resourceName, "colSelect", "colName");
-        waitForButtonEnabled("propertyForm:resourcesTable:topActionsGroup1:enableButton");
-        pressButton("propertyForm:resourcesTable:topActionsGroup1:enableButton");
-        waitForButtonDisabled("propertyForm:resourcesTable:topActionsGroup1:enableButton");
-
-        testManageTargets("treeForm:tree:resources:jmsResources:jmsDestinationResources:jmsDestinationResources_link",
-                          "propertyForm:resourcesTable",
-                          "propertyForm:targetTable:topActionsGroup1:button2",
-                          "propertyForm:targetTable:topActionsGroup1:button3",
-                          "propertyForm:propertySheet:propertSectionTextField:statusProp2:enabledStr",
-                          "propertyForm:resEditTabs:general",
-                          "propertyForm:resEditTabs:targetTab",
-                          TRIGGER_JMS_DESTINATION_RESOURCES,
-                          TRIGGER_EDIT_JMS_DEST_RES,
-                          resourceName,
-                          instanceName);
-        deleteRow("propertyForm:resourcesTable:topActionsGroup1:deleteDestButton", "propertyForm:resourcesTable", resourceName, "colSelect", "colName");
-        //Delete the instance
-        clickAndWait("treeForm:tree:standaloneTreeNode:standaloneTreeNode_link", instanceTest.TRIGGER_INSTANCES_PAGE);
-        deleteRow("propertyForm:instancesTable:topActionsGroup1:button1", "propertyForm:instancesTable", instanceName);
-        assertFalse(tableContainsRow("propertyForm:instancesTable", "col0", instanceName));
-    }
-
-/*
-    @Test
-    public void testAddingTransport() {
-        selenium.click("treeForm:tree:configurations:server-config:networkConfig:transports:transports_link");
-        verifyTrue(isTextPresent("Click New to define a new transport. Click the name of an existing transport to modify its settings."));
-        selenium.click("propertyForm:configs:topActionsGroup1:newButton");
-        verifyTrue(isTextPresent("New Transport"));
-        setFieldValue("propertyForm:propertySheet:propertSectionTextField:IdTextProp:IdText", "transport");
-        selectDropdownOption("propertyForm:propertySheet:propertSectionTextField:ByteBufferType:ByteBufferType", "DIRECT");
-        setFieldValue("propertyForm:propertySheet:propertSectionTextField:BufferSizeBytes:BufferSizeBytes", "16384");
-        setFieldValue("propertyForm:propertySheet:propertSectionTextField:AcceptorThreads:AcceptorThreads", "2");
-        setFieldValue("propertyForm:propertySheet:propertSectionTextField:MaxConnectionsCount:MaxConnectionsCount", "8192");
-        setFieldValue("propertyForm:propertySheet:propertSectionTextField:IdleKeyTimeoutSeconds:IdleKeyTimeoutSeconds", "60");
-        setFieldValue("propertyForm:propertySheet:propertSectionTextField:ReadTimeoutMillis:ReadTimeoutMillis", "60000");
-        setFieldValue("propertyForm:propertySheet:propertSectionTextField:SelectorPollTimeoutMillis:SelectorPollTimeoutMillis", "2000");
-        setFieldValue("propertyForm:propertySheet:propertSectionTextField:WriteTimeoutMillis:WriteTimeoutMillis", "60000");
-        selenium.click("propertyForm:propertyContentPage:topButtons:newButton");
-        verifyTrue(isTextPresent("Click New to define a new transport. Click the name of an existing transport to modify its settings."));
-        assertTrue(isTextPresent("transport"));
-        selenium.click("propertyForm:configs:rowGroup1:0:col1:link");
-        verifyTrue(isTextPresent("Edit Transport"));
-        verifyTrue(selenium.isElementPresent("propertyForm:propertySheet:propertSectionTextField:ByteBufferType:ByteBufferType"));
-        verifyEquals("16384", selenium.getValue("propertyForm:propertySheet:propertSectionTextField:BufferSizeBytes:BufferSizeBytes"));
-        verifyEquals("2", selenium.getValue("propertyForm:propertySheet:propertSectionTextField:AcceptorThreads:AcceptorThreads"));
-        verifyEquals("8192", selenium.getValue("propertyForm:propertySheet:propertSectionTextField:MaxConnectionsCount:MaxConnectionsCount"));
-        verifyEquals("60", selenium.getValue("propertyForm:propertySheet:propertSectionTextField:IdleKeyTimeoutSeconds:IdleKeyTimeoutSeconds"));
-        verifyEquals("60000", selenium.getValue("propertyForm:propertySheet:propertSectionTextField:ReadTimeoutMillis:ReadTimeoutMillis"));
-        verifyEquals("2000", selenium.getValue("propertyForm:propertySheet:propertSectionTextField:SelectorPollTimeoutMillis:SelectorPollTimeoutMillis"));
-        verifyEquals("60000", selenium.getValue("propertyForm:propertySheet:propertSectionTextField:WriteTimeoutMillis:WriteTimeoutMillis"));
-        selenium.click("propertyForm:propertyContentPage:topButtons:cancelButton");
-        verifyTrue(isTextPresent("Click New to define a new transport. Click the name of an existing transport to modify its settings."));
-        selenium.click("propertyForm:configs:rowGroup1:0:col0:select");
-        selenium.click("propertyForm:configs:topActionsGroup1:button1");
-        assertTrue(selenium.getConfirmation().matches("^Selected Transport\\(s\\) will be deleted\\.  Continue[\\s\\S]$"));
-
-    }
-*/
-}
diff --git a/appserver/admingui/devtests/src/test/java/org/glassfish/admingui/devtests/JndiTest.java b/appserver/admingui/devtests/src/test/java/org/glassfish/admingui/devtests/JndiTest.java
deleted file mode 100644
index be58d16..0000000
--- a/appserver/admingui/devtests/src/test/java/org/glassfish/admingui/devtests/JndiTest.java
+++ /dev/null
@@ -1,271 +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.admingui.devtests;
-
-import org.junit.Test;
-
-import static org.junit.Assert.assertFalse;
-import static org.junit.Assert.assertTrue;
-
-public class JndiTest extends BaseSeleniumTestClass {
-    private static final String TRIGGER_CUSTOM_RESOURCES = "i18njmail.customResources.pageTitleHelp";
-    private static final String TRIGGER_NEW_CUSTOM_RESOURCE = "i18njmail.customResource.newPageTitleHelp";
-    public static final String TRIGGER_EDIT_CUSTOM_RESOURCE = "i18njmail.customResource.editPageTitleHelp";
-    public static final String TRIGGER_EDIT_EXTERNAL_RESOURCE = "i18njmail.jndiResource.editPageTitleHelp";
-    private static final String TRIGGER_EXTERNAL_RESOURCES = "i18njmail.externalResources.pageTitleHelp";
-    private static final String TRIGGER_NEW_EXTERNAL_RESOURCE = "i18njmail.jndiResource.newPageTitleHelp";
-
-    private static final String ENABLE_STATUS = "Enabled on 2 of 2 Target(s)";
-    private static final String DISABLE_STATUS = "Enabled on 0 of 2 Target(s)";
-
-    @Test
-    public void testCustomResources() {
-        final String resourceName = "customResource" + generateRandomString();
-
-        StandaloneTest standaloneTest = new StandaloneTest();
-        ClusterTest clusterTest = new ClusterTest();
-        standaloneTest.deleteAllStandaloneInstances();
-        clusterTest.deleteAllClusters();
-
-        clickAndWait("treeForm:tree:resources:jndi:customResources:customResources_link", TRIGGER_CUSTOM_RESOURCES);
-        clickAndWait("propertyForm:resourcesTable:topActionsGroup1:newButton", TRIGGER_NEW_CUSTOM_RESOURCE);
-
-        setFieldValue("form:propertySheet:propertSectionTextField:jndiTextProp:jnditext", resourceName);
-        selectDropdownOption("form:propertySheet:propertSectionTextField:cp:Classname", "java.lang.Double");
-        int count = addTableRow("form:basicTable", "form:basicTable:topActionsGroup1:addSharedTableButton");
-
-        setFieldValue("form:basicTable:rowGroup1:0:col2:col1St", "property"+generateRandomString());
-        setFieldValue("form:basicTable:rowGroup1:0:col3:col1St", "value");
-        setFieldValue("form:basicTable:rowGroup1:0:col4:col1St", "description");
-        clickAndWait("form:propertyContentPage:topButtons:newButton", TRIGGER_CUSTOM_RESOURCES);
-
-        assertTrue(isTextPresent(resourceName));
-
-        testDisableButton(resourceName,
-                "propertyForm:resourcesTable",
-                "propertyForm:resourcesTable:topActionsGroup1:button3",
-                "form1:propertySheet:propertSectionTextField:statusProp:enabled",
-                "form1:propertyContentPage:topButtons:cancelButton",
-                TRIGGER_CUSTOM_RESOURCES,
-                TRIGGER_EDIT_CUSTOM_RESOURCE,
-                "off");
-        testEnableButton(resourceName,
-                "propertyForm:resourcesTable",
-                "propertyForm:resourcesTable:topActionsGroup1:button2",
-                "form1:propertySheet:propertSectionTextField:statusProp:enabled",
-                "form1:propertyContentPage:topButtons:cancelButton",
-                TRIGGER_CUSTOM_RESOURCES,
-                TRIGGER_EDIT_CUSTOM_RESOURCE,
-                "on");
-
-        deleteRow("propertyForm:resourcesTable:topActionsGroup1:button1", "propertyForm:resourcesTable", resourceName);
-    }
-
-    @Test
-    public void testCustomResourcesWithTargets() {
-        final String resourceName = "customResource" + generateRandomString();
-        final String instanceName = "standalone" + generateRandomString();
-
-        StandaloneTest instanceTest = new StandaloneTest();
-        instanceTest.createStandAloneInstance(instanceName);
-
-        clickAndWait("treeForm:tree:resources:jndi:customResources:customResources_link", TRIGGER_CUSTOM_RESOURCES);
-        clickAndWait("propertyForm:resourcesTable:topActionsGroup1:newButton", TRIGGER_NEW_CUSTOM_RESOURCE);
-
-        setFieldValue("form:propertySheet:propertSectionTextField:jndiTextProp:jnditext", resourceName);
-        selectDropdownOption("form:propertySheet:propertSectionTextField:cp:Classname", "java.lang.Double");
-        int count = addTableRow("form:basicTable", "form:basicTable:topActionsGroup1:addSharedTableButton");
-
-        setFieldValue("form:basicTable:rowGroup1:0:col2:col1St", "property"+generateRandomString());
-        setFieldValue("form:basicTable:rowGroup1:0:col3:col1St", "value");
-        setFieldValue("form:basicTable:rowGroup1:0:col4:col1St", "description");
-
-        addSelectSelection("form:targetSection:targetSectionId:addRemoveProp:commonAddRemove_available", instanceName);
-        addSelectSelection("form:targetSection:targetSectionId:addRemoveProp:commonAddRemove_available", "server");
-        pressButton("form:targetSection:targetSectionId:addRemoveProp:commonAddRemove:commonAddRemove_addButton");
-        clickAndWait("form:propertyContentPage:topButtons:newButton", TRIGGER_CUSTOM_RESOURCES);
-
-        assertTrue(isTextPresent(resourceName));
-        clickAndWait(getLinkIdByLinkText("propertyForm:resourcesTable", resourceName), TRIGGER_EDIT_CUSTOM_RESOURCE);
-        assertTableRowCount("form1:basicTable", count);
-        clickAndWait("form1:propertyContentPage:topButtons:cancelButton", TRIGGER_CUSTOM_RESOURCES);
-
-        testDisableButton(resourceName,
-                "propertyForm:resourcesTable",
-                "propertyForm:resourcesTable:topActionsGroup1:button3",
-                "form1:propertySheet:propertSectionTextField:statusProp2:enabledStr",
-                "form1:propertyContentPage:topButtons:cancelButton",
-                TRIGGER_CUSTOM_RESOURCES,
-                TRIGGER_EDIT_CUSTOM_RESOURCE,
-                DISABLE_STATUS);
-        testEnableButton(resourceName,
-                "propertyForm:resourcesTable",
-                "propertyForm:resourcesTable:topActionsGroup1:button2",
-                "form1:propertySheet:propertSectionTextField:statusProp2:enabledStr",
-                "form1:propertyContentPage:topButtons:cancelButton",
-                TRIGGER_CUSTOM_RESOURCES,
-                TRIGGER_EDIT_CUSTOM_RESOURCE,
-                ENABLE_STATUS);
-        testManageTargets("treeForm:tree:resources:jndi:customResources:customResources_link",
-                          "propertyForm:resourcesTable",
-                          "propertyForm:targetTable:topActionsGroup1:button2",
-                          "propertyForm:targetTable:topActionsGroup1:button3",
-                          "form1:propertySheet:propertSectionTextField:statusProp2:enabledStr",
-                          "propertyForm:resEditTabs:general",
-                          "form1:resEditTabs:targetTab",
-                          TRIGGER_CUSTOM_RESOURCES,
-                          TRIGGER_EDIT_CUSTOM_RESOURCE,
-                          resourceName,
-                          instanceName);
-        deleteRow("propertyForm:resourcesTable:topActionsGroup1:button1", "propertyForm:resourcesTable", resourceName);
-        //Delete the instance
-        clickAndWait("treeForm:tree:standaloneTreeNode:standaloneTreeNode_link", instanceTest.TRIGGER_INSTANCES_PAGE);
-        deleteRow("propertyForm:instancesTable:topActionsGroup1:button1", "propertyForm:instancesTable", instanceName);
-        assertFalse(tableContainsRow("propertyForm:instancesTable", "col0", instanceName));
-    }
-
-    @Test
-    public void testExternalResources() {
-        final String resourceName = "externalResource" + generateRandomString();
-        final String description = resourceName + " - description";
-
-        StandaloneTest standaloneTest = new StandaloneTest();
-        ClusterTest clusterTest = new ClusterTest();
-        standaloneTest.deleteAllStandaloneInstances();
-        clusterTest.deleteAllClusters();
-
-        clickAndWait("treeForm:tree:resources:jndi:externalResources:externalResources_link", TRIGGER_EXTERNAL_RESOURCES);
-        clickAndWait("propertyForm:resourcesTable:topActionsGroup1:newButton", TRIGGER_NEW_EXTERNAL_RESOURCE);
-
-        setFieldValue("form:propertySheet:propertSectionTextField:jndiTextProp:jnditext", resourceName);
-        selectDropdownOption("form:propertySheet:propertSectionTextField:cp:Classname", "java.lang.Double");
-        setFieldValue("form:propertySheet:propertSectionTextField:jndiLookupProp:jndiLookup", resourceName);
-        setFieldValue("form:propertySheet:propertSectionTextField:descProp:desc", description);
-        addTableRow("form:basicTable", "form:basicTable:topActionsGroup1:addSharedTableButton");
-
-        setFieldValue("form:basicTable:rowGroup1:0:col2:col1St", "property"+generateRandomString());
-        setFieldValue("form:basicTable:rowGroup1:0:col3:col1St", "value");
-        setFieldValue("form:basicTable:rowGroup1:0:col4:col1St", "description");
-        clickAndWait("form:propertyContentPage:topButtons:newButton", TRIGGER_EXTERNAL_RESOURCES);
-
-        testDisableButton(resourceName,
-                "propertyForm:resourcesTable",
-                "propertyForm:resourcesTable:topActionsGroup1:button3",
-                "form:propertySheet:propertSectionTextField:statusProp:enabled",
-                "form:propertyContentPage:topButtons:cancelButton",
-                TRIGGER_EXTERNAL_RESOURCES,
-                TRIGGER_EDIT_EXTERNAL_RESOURCE,
-                "off");
-        testEnableButton(resourceName,
-                "propertyForm:resourcesTable",
-                "propertyForm:resourcesTable:topActionsGroup1:button2",
-                "form:propertySheet:propertSectionTextField:statusProp:enabled",
-                "form:propertyContentPage:topButtons:cancelButton",
-                TRIGGER_EXTERNAL_RESOURCES,
-                TRIGGER_EDIT_EXTERNAL_RESOURCE,
-                "on");
-
-//        selectTableRowByValue("propertyForm:resourcesTable", resourceName);
-//        waitForButtonEnabled("propertyForm:resourcesTable:topActionsGroup1:button3");
-//        selenium.click("propertyForm:resourcesTable:topActionsGroup1:button3");
-//        waitForButtonDisabled("propertyForm:resourcesTable:topActionsGroup1:button3");
-//
-//        clickAndWait(getLinkIdByLinkText("propertyForm:resourcesTable", resourceName), TRIGGER_EDIT_EXTERNAL_RESOURCE);
-//
-//        assertEquals("off", selenium.getValue("form1:propertySheet:propertSectionTextField:statusProp:enabled"));
-//        clickAndWait("form1:propertyContentPage:topButtons:cancelButton", TRIGGER_EXTERNAL_RESOURCES);
-//
-//        selectTableRowByValue("propertyForm:resourcesTable", resourceName);
-//        waitForButtonEnabled("propertyForm:resourcesTable:topActionsGroup1:button2");
-//        selenium.click("propertyForm:resourcesTable:topActionsGroup1:button2");
-//        waitForButtonDisabled("propertyForm:resourcesTable:topActionsGroup1:button2");
-//
-//        clickAndWait("propertyForm:resourcesTable:rowGroup1:0:col1:link", TRIGGER_EDIT_EXTERNAL_RESOURCE);
-//        assertEquals("on", selenium.getValue("form1:propertySheet:propertSectionTextField:statusProp:enabled"));
-//        clickAndWait("form1:propertyContentPage:topButtons:cancelButton", TRIGGER_EXTERNAL_RESOURCES);
-
-        deleteRow("propertyForm:resourcesTable:topActionsGroup1:button1", "propertyForm:resourcesTable", resourceName);
-    }
-
-    @Test
-    public void testExternalResourcesWithTargets() {
-        final String resourceName = "externalResource" + generateRandomString();
-        final String description = resourceName + " - description";
-        final String instanceName = "standalone" + generateRandomString();
-
-        StandaloneTest instanceTest = new StandaloneTest();
-        instanceTest.createStandAloneInstance(instanceName);
-
-        clickAndWait("treeForm:tree:resources:jndi:externalResources:externalResources_link", TRIGGER_EXTERNAL_RESOURCES);
-        clickAndWait("propertyForm:resourcesTable:topActionsGroup1:newButton", TRIGGER_NEW_EXTERNAL_RESOURCE);
-
-        setFieldValue("form:propertySheet:propertSectionTextField:jndiTextProp:jnditext", resourceName);
-        selectDropdownOption("form:propertySheet:propertSectionTextField:cp:Classname", "java.lang.Double");
-        setFieldValue("form:propertySheet:propertSectionTextField:jndiLookupProp:jndiLookup", resourceName);
-        setFieldValue("form:propertySheet:propertSectionTextField:descProp:desc", description);
-        int count = addTableRow("form:basicTable", "form:basicTable:topActionsGroup1:addSharedTableButton");
-
-        setFieldValue("form:basicTable:rowGroup1:0:col2:col1St", "property" + generateRandomString());
-        setFieldValue("form:basicTable:rowGroup1:0:col3:col1St", "value");
-        setFieldValue("form:basicTable:rowGroup1:0:col4:col1St", "description");
-
-        addSelectSelection("form:targetSection:targetSectionId:addRemoveProp:commonAddRemove_available", instanceName);
-        addSelectSelection("form:targetSection:targetSectionId:addRemoveProp:commonAddRemove_available", "server");
-        pressButton("form:targetSection:targetSectionId:addRemoveProp:commonAddRemove:commonAddRemove_addButton");
-        clickAndWait("form:propertyContentPage:topButtons:newButton", TRIGGER_EXTERNAL_RESOURCES);
-
-        assertTrue(isTextPresent(resourceName));
-        clickAndWait(getLinkIdByLinkText("propertyForm:resourcesTable", resourceName), TRIGGER_EDIT_EXTERNAL_RESOURCE);
-        assertTableRowCount("form:basicTable", count);
-        clickAndWait("form:propertyContentPage:topButtons:cancelButton", TRIGGER_EXTERNAL_RESOURCES);
-
-        testDisableButton(resourceName,
-                "propertyForm:resourcesTable",
-                "propertyForm:resourcesTable:topActionsGroup1:button3",
-                "form:propertySheet:propertSectionTextField:statusProp2:enabledStr",
-                "form:propertyContentPage:topButtons:cancelButton",
-                TRIGGER_EXTERNAL_RESOURCES,
-                TRIGGER_EDIT_EXTERNAL_RESOURCE,
-                DISABLE_STATUS);
-        testEnableButton(resourceName,
-                "propertyForm:resourcesTable",
-                "propertyForm:resourcesTable:topActionsGroup1:button2",
-                "form:propertySheet:propertSectionTextField:statusProp2:enabledStr",
-                "form:propertyContentPage:topButtons:cancelButton",
-                TRIGGER_EXTERNAL_RESOURCES,
-                TRIGGER_EDIT_EXTERNAL_RESOURCE,
-                ENABLE_STATUS);
-
-        testManageTargets("treeForm:tree:resources:jndi:externalResources:externalResources_link",
-                          "propertyForm:resourcesTable",
-                          "propertyForm:targetTable:topActionsGroup1:button2",
-                          "propertyForm:targetTable:topActionsGroup1:button3",
-                          "form:propertySheet:propertSectionTextField:statusProp2:enabledStr",
-                          "propertyForm:resEditTabs:general",
-                          "form:resEditTabs:targetTab",
-                          TRIGGER_EXTERNAL_RESOURCES,
-                          TRIGGER_EDIT_EXTERNAL_RESOURCE,
-                          resourceName,
-                          instanceName);
-        //Delete the External resource
-        deleteRow("propertyForm:resourcesTable:topActionsGroup1:button1", "propertyForm:resourcesTable", resourceName);
-        //Delete the instance
-        clickAndWait("treeForm:tree:standaloneTreeNode:standaloneTreeNode_link", instanceTest.TRIGGER_INSTANCES_PAGE);
-        deleteRow("propertyForm:instancesTable:topActionsGroup1:button1", "propertyForm:instancesTable", instanceName);
-        assertFalse(tableContainsRow("propertyForm:instancesTable", "col0", instanceName));
-    }
-}
diff --git a/appserver/admingui/devtests/src/test/java/org/glassfish/admingui/devtests/JsonUtilTest.java b/appserver/admingui/devtests/src/test/java/org/glassfish/admingui/devtests/JsonUtilTest.java
deleted file mode 100644
index 98773bf..0000000
--- a/appserver/admingui/devtests/src/test/java/org/glassfish/admingui/devtests/JsonUtilTest.java
+++ /dev/null
@@ -1,101 +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.admingui.devtests;
-
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
-import org.junit.Test;
-import org.glassfish.admingui.common.util.JSONUtil;
-import static org.junit.Assert.*;
-
-public class JsonUtilTest {
-    @Test
-    public void readNumbers() {
-         assertEquals(3L, JSONUtil.jsonToJava("3"));
-    }
-
-    @Test
-    public void readConstants() {
-        assertTrue((Boolean)JSONUtil.jsonToJava("true"));
-        assertFalse((Boolean)JSONUtil.jsonToJava("false"));
-        assertNull(JSONUtil.jsonToJava("null"));
-    }
-
-    @Test
-    public void readLists() {
-        List list = (List)JSONUtil.jsonToJava("[null]");
-        assertNotNull(list);
-        assertEquals(1, list.size());
-        assertNull(list.get(0));
-
-        list = (List)JSONUtil.jsonToJava("[true,false,null,{'a':'b'},['1','2','3']]");
-        assertNotNull(list);
-        assertEquals(5, list.size());
-        assertTrue((Boolean)list.get(0));
-        assertFalse((Boolean)list.get(1));
-        assertNull(list.get(2));
-        assertTrue(list.get(3) instanceof Map);
-        assertEquals("b", ((Map)list.get(3)).get("a"));
-        assertTrue(list.get(4) instanceof List);
-        assertEquals("1", ((List)list.get(4)).get(0));
-
-        list = (List)JSONUtil.jsonToJava("[true,false,null,{'a':'b'},[1,2,3]]");
-        assertNotNull(list);
-        assertEquals(5, list.size());
-        assertEquals(1L, ((List)list.get(4)).get(0));
-
-        list = (List)JSONUtil.jsonToJava("[true,false,null,{'a':'b'},[1.1,2.2,3.3]]");
-        assertNotNull(list);
-        assertEquals(5, list.size());
-        assertEquals(1.1F, ((List)list.get(4)).get(0));
-
-        list = (List)JSONUtil.jsonToJava("[true,false,null,{'a':'b'},['1',2,3.3]]");
-        assertNotNull(list);
-        assertEquals(5, list.size());
-        assertEquals("1", ((List)list.get(4)).get(0));
-        assertEquals(2L, ((List)list.get(4)).get(1));
-        assertEquals(3.3F, ((List)list.get(4)).get(2));
-    }
-
-    @Test
-    public void readObjects() {
-        Map<String, Object> map = (Map<String, Object>)JSONUtil.jsonToJava("{'x':['foo',null ,{'a':true, 'b':false }]}");
-        assertEquals(1, map.size());
-        assertTrue(map.get("x") instanceof List);
-        assertEquals(3, ((List)map.get("x")).size());
-        assertTrue(((List)map.get("x")).get(2) instanceof Map);
-
-        map = (Map<String, Object>)JSONUtil.jsonToJava("{            'key'   :        \"value\" ,\n  \r \"key2\"   :   {  'innerKey'  : [  3.3E-2 , false  , 800e+8, null , 37  , \"test\" ] , \n \"innerKey2\" : {'a' : 'b', 'c' : 'd'}, 'innerKey3' : true} }");
-        assertEquals(2, map.size());
-        assertEquals("value", map.get("key"));
-        assertTrue(map.get("key2") instanceof Map);
-    }
-
-    @Test
-    public void testEncoding() {
-        Map map = new HashMap<String, String>() {{ put("foo", "bar"); }};
-        assertEquals("{\"foo\":\"bar\"}", JSONUtil.javaToJSON(map, 2));
-    }
-
-    @Test
-    public void multibyteCharacters() {
-        String json = "{\"value\":\"這或是因\"}";
-        Map<String, Object> obj = (Map<String, Object>)JSONUtil.jsonToJava(json);
-        assertEquals("這或是因", obj.get("value"));
-    }
-}
diff --git a/appserver/admingui/devtests/src/test/java/org/glassfish/admingui/devtests/JvmSettingsTest.java b/appserver/admingui/devtests/src/test/java/org/glassfish/admingui/devtests/JvmSettingsTest.java
deleted file mode 100644
index 6893116..0000000
--- a/appserver/admingui/devtests/src/test/java/org/glassfish/admingui/devtests/JvmSettingsTest.java
+++ /dev/null
@@ -1,152 +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.admingui.devtests;
-
-import org.junit.Test;
-import static org.junit.Assert.*;
-
-public class JvmSettingsTest extends BaseSeleniumTestClass {
-    public static final String TRIGGER_JVM_GENERAL_SETTINGS = "i18nc.jvm.GeneralTitle";
-    public static final String TRIGGER_JVM_PATH_SETTINGS = "i18nc.jvm.PathSettingsTitle";
-    public static final String TRIGGER_JVM_OPTIONS = "Manage JVM options for the server.";
-    public static final String TRIGGER_JVM_PROFILER_SETTINGS = "i18nc.jvm.ProfilerPageName";
-    public static final String TRIGGER_JVM_PROFILER_CREATED = "i18nc.jvm.ProfilerCreated";
-    public static final String TRIGGER_JVM_PROFILER_DELETED = "i18nc.jvm.ProfilerDeleted";
-    public static final String TRIGGER_CONFIG_PAGE = "i18nc.configurations.PageTitleHelp";
-    public static final String JVM_LINK_TEXT = "JVM Settings";
-
-    public static final String ID_JVM_OPTIONS_TABLE = "propertyForm:basicTable";
-    @Test
-    public void testJvmGeneralSettings() {
-        clickAndWait("treeForm:tree:configurations:server-config:jvmSettings:jvmSettings_link", TRIGGER_JVM_GENERAL_SETTINGS);
-        markCheckbox("propertyForm:propertySheet:propertSectionTextField:debugEnabledProp:debug");
-        clickAndWait("propertyForm:propertyContentPage:topButtons:saveButton", TRIGGER_NEW_VALUES_SAVED);
-        waitForPageLoad("Restart Required", 1000);
-        reset();
-        clickAndWait("treeForm:tree:configurations:server-config:jvmSettings:jvmSettings_link", TRIGGER_JVM_GENERAL_SETTINGS);
-        markCheckbox("propertyForm:propertySheet:propertSectionTextField:debugEnabledProp:debug");
-        clickAndWait("propertyForm:propertyContentPage:topButtons:saveButton", TRIGGER_NEW_VALUES_SAVED);
-    }
-
-    @Test
-    public void testJvmSettings() {
-        String jvmOptionName = "-Dfoo"+generateRandomString();
-        clickAndWait("treeForm:tree:configurations:server-config:jvmSettings:jvmSettings_link", TRIGGER_JVM_GENERAL_SETTINGS);
-        clickAndWait("propertyForm:javaConfigTab:jvmOptions", TRIGGER_JVM_OPTIONS);
-
-        int count = addTableRow(ID_JVM_OPTIONS_TABLE, "propertyForm:basicTable:topActionsGroup1:addSharedTableButton", "Options");
-        setFieldValue("propertyForm:basicTable:rowGroup1:0:col3:col1St", jvmOptionName);
-        clickAndWait("propertyForm:propertyContentPage:topButtons:saveButton", TRIGGER_NEW_VALUES_SAVED);
-        clickAndWait("propertyForm:javaConfigTab:pathSettings", TRIGGER_JVM_PATH_SETTINGS);
-        clickAndWait("propertyForm:javaConfigTab:jvmOptions", TRIGGER_JVM_OPTIONS);
-        assertTableRowCount(ID_JVM_OPTIONS_TABLE, count);
-
-
-        /* I want to clean up, as well as to test the delete button. But i can't get the row to be selected.
-         * commented it out for now, since it will always fails.
-         *
-        selectTableRowByValue(ID_JVM_OPTIONS_TABLE, jvmOptionName, "col1", "col3");
-        pressButton("propertyForm:basicTable:topActionsGroup1:button1");
-        waitForButtonDisabled("propertyForm:basicTable:topActionsGroup1:button1");
-        clickAndWait("propertyForm:propertyContentPage:topButtons:saveButton", TRIGGER_NEW_VALUES_SAVED);
-        assertTableRowCount(ID_JVM_OPTIONS_TABLE, count-1);
-         *
-         */
-    }
-
-
-
-    @Test
-    public void testJvmProfilerForDas() {
-        clickAndWait("treeForm:tree:configurations:server-config:jvmSettings:jvmSettings_link", TRIGGER_JVM_GENERAL_SETTINGS);
-        clickAndWait("propertyForm:javaConfigTab:profiler", TRIGGER_JVM_PROFILER_SETTINGS);
-
-        if (isElementPresent("propertyForm:propertyContentPage:topButtons:deleteButton")) {
-            this.clickAndWait("propertyForm:propertyContentPage:topButtons:deleteButton", TRIGGER_JVM_PROFILER_DELETED);
-            if (isConfirmationPresent()) {
-                getConfirmation();
-            }
-        }
-
-        setFieldValue("propertyForm:propertySheet:propertSectionTextField:profilerNameProp:ProfilerName", "profiler" + generateRandomString());
-        int count = addTableRow("propertyForm:basicTable", "propertyForm:basicTable:topActionsGroup1:addSharedTableButton", "Options");
-        setFieldValue("propertyForm:basicTable:rowGroup1:0:col3:col1St", "-Dfoo=" + generateRandomString());
-        clickAndWait("propertyForm:propertyContentPage:topButtons:newButton", TRIGGER_JVM_PROFILER_CREATED);
-        assertTableRowCount("propertyForm:basicTable", count);
-
-        clickAndWait("propertyForm:javaConfigTab:pathSettings", TRIGGER_JVM_PATH_SETTINGS);
-        clickAndWait("propertyForm:javaConfigTab:profiler", TRIGGER_JVM_PROFILER_SETTINGS);
-        pressButton("propertyForm:propertyContentPage:topButtons:deleteButton");
-        assertTrue(getConfirmation().matches("^Profiler will be deleted\\.  Continue[\\s\\S]$"));
-    }
-
-
-
-    @Test
-    public void testJvmProfilerForRunningInstance() {
-        testProfilerForInstance (true);
-    }
-
-    @Test
-    public void testJvmProfilerForStoppedInstance() {
-        testProfilerForInstance (false);
-    }
-
-
-    private void testProfilerForInstance(boolean start){
-        String instanceName = generateRandomString();
-        String configName = instanceName+"-config";
-        StandaloneTest st = new StandaloneTest();
-        st.createStandAloneInstance(instanceName);
-        if (start){
-            st.startInstance(instanceName);
-        }
-
-        clickAndWait(getLinkIdByLinkText(st.ID_INSTANCE_TABLE, configName), TRIGGER_CONFIG_PAGE );
-        clickAndWait(getLinkIdByLinkText("", JVM_LINK_TEXT), TRIGGER_JVM_GENERAL_SETTINGS );
-        clickAndWait("propertyForm:javaConfigTab:profiler", TRIGGER_JVM_PROFILER_SETTINGS );
-
-        setFieldValue("propertyForm:propertySheet:propertSectionTextField:profilerNameProp:ProfilerName", "profiler" + generateRandomString());
-        int count = addTableRow("propertyForm:basicTable", "propertyForm:basicTable:topActionsGroup1:addSharedTableButton", "Options");
-        setFieldValue("propertyForm:basicTable:rowGroup1:0:col3:col1St", "-Dfoo=" + generateRandomString());
-        clickAndWait("propertyForm:propertyContentPage:topButtons:newButton", TRIGGER_JVM_PROFILER_CREATED);
-        assertTableRowCount("propertyForm:basicTable", count);
-
-        clickAndWait("propertyForm:javaConfigTab:pathSettings", TRIGGER_JVM_PATH_SETTINGS);
-        clickAndWait("propertyForm:javaConfigTab:profiler", TRIGGER_JVM_PROFILER_SETTINGS);
-        this.clickAndWait("propertyForm:propertyContentPage:topButtons:deleteButton", TRIGGER_JVM_PROFILER_DELETED);
-        if (isConfirmationPresent()) {
-            getConfirmation();
-        }
-        assertFalse(isElementPresent("propertyForm:propertyContentPage:topButtons:deleteButton"));
-        assertTrue(isElementPresent("propertyForm:propertyContentPage:topButtons:newButton"));
-
-        st.deleteStandAloneInstance(instanceName);
-    }
-
-    public void createStandAloneInstance(String instanceName){
-        reset();
-        clickAndWait("treeForm:tree:standaloneTreeNode:standaloneTreeNode_link", StandaloneTest.TRIGGER_INSTANCES_PAGE);
-        clickAndWait(StandaloneTest.ID_INSTANCE_TABLE_NEW_BUTTON, StandaloneTest.TRIGGER_NEW_PAGE );
-        setFieldValue(StandaloneTest.ID_INSTANCE_NAME_TEXT, instanceName);
-        selectDropdownOption(StandaloneTest.ID_INSTANCE_NODE_TEXT, StandaloneTest.NODE_NAME);
-        selectDropdownOption(StandaloneTest.ID_INSTANCE_CONFIG_SELECT, "default-config");
-        markCheckbox(StandaloneTest.ID_INSTANCE_CONFIG_OPTION);
-        clickAndWait(StandaloneTest.ID_INSTANCE_NEW_PAGE_BUTTON, StandaloneTest.TRIGGER_INSTANCES_PAGE);
-    }
-
-}
diff --git a/appserver/admingui/devtests/src/test/java/org/glassfish/admingui/devtests/LifecycleModulesTest.java b/appserver/admingui/devtests/src/test/java/org/glassfish/admingui/devtests/LifecycleModulesTest.java
deleted file mode 100644
index 6f94e50..0000000
--- a/appserver/admingui/devtests/src/test/java/org/glassfish/admingui/devtests/LifecycleModulesTest.java
+++ /dev/null
@@ -1,79 +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.admingui.devtests;
-
-import org.junit.Test;
-
-import static org.junit.Assert.assertTrue;
-
-/**
- * Created by IntelliJ IDEA.
- * User: jasonlee
- * Date: Mar 23, 2010
- * Time: 4:31:46 PM
- * To change this template use File | Settings | File Templates.
- */
-public class LifecycleModulesTest extends BaseSeleniumTestClass {
-    private static final String TRIGGER_LIFECYCLE_MODULES = "i18nc.lifecycleModules.titleHelp";
-    private static final String TRIGGER_EDIT_LIFECYCLE_MODULE = "i18nc.lifecycleModule.editPageTitle";
-    private static final String TRIGGER_NEW_LIFECYCLE_MODULE = "i18nc.lifecycleModule.newPageTitle";
-
-    @Test
-    public void testLifecycleModules() {
-        final String lifecycleName = "TestLifecycle"+generateRandomString();
-        final String lifecycleClassname = "org.foo.nonexistent.Lifecyclemodule";
-
-        StandaloneTest standaloneTest = new StandaloneTest();
-        ClusterTest clusterTest = new ClusterTest();
-        standaloneTest.deleteAllStandaloneInstances();
-        clusterTest.deleteAllClusters();
-
-        clickAndWait("treeForm:tree:lifecycles:lifecycles_link", TRIGGER_LIFECYCLE_MODULES);
-        clickAndWait("propertyForm:deployTable:topActionsGroup1:newButton", TRIGGER_NEW_LIFECYCLE_MODULE);
-        setFieldValue("form:propertySheet:propertSectionTextField:IdTextProp:IdText", lifecycleName);
-        setFieldValue("form:propertySheet:propertSectionTextField:classNameProp:classname", lifecycleClassname);
-
-        /*
-        final String property = "property";
-        final String value = "value";
-        final String description = "description";
-        int count = addTableRow("propertyForm:basicTable", "propertyForm:basicTable:topActionsGroup1:addSharedTableButton");
-
-        setFieldValue("propertyForm:basicTable:rowGroup1:0:col2:col1St", property);
-        setFieldValue("propertyForm:basicTable:rowGroup1:0:col3:col1St", value);
-        setFieldValue("propertyForm:basicTable:rowGroup1:0:col4:col1St", description);
-        */
-        clickAndWaitForElement("form:propertyContentPage:topButtons:newButton", "propertyForm:deployTable");
-        assertTrue(isTextPresent(lifecycleName));
-
-        testDisableButton(lifecycleName, "propertyForm:deployTable", "propertyForm:deployTable:topActionsGroup1:button3",
-                "propertyForm:propertySheet:propertSectionTextField:statusEdit:status",
-                "propertyForm:propertyContentPage:topButtons:cancelButton",
-                TRIGGER_LIFECYCLE_MODULES,
-                TRIGGER_EDIT_LIFECYCLE_MODULE,
-                "off");
-
-        testEnableButton(lifecycleName, "propertyForm:deployTable", "propertyForm:deployTable:topActionsGroup1:button2",
-                "propertyForm:propertySheet:propertSectionTextField:statusEdit:status",
-                "propertyForm:propertyContentPage:topButtons:cancelButton",
-                TRIGGER_LIFECYCLE_MODULES,
-                TRIGGER_EDIT_LIFECYCLE_MODULE,
-                "on");
-
-        deleteRow("propertyForm:deployTable:topActionsGroup1:button1", "propertyForm:deployTable", lifecycleName);
-    }
-}
diff --git a/appserver/admingui/devtests/src/test/java/org/glassfish/admingui/devtests/LogViewerTest.java b/appserver/admingui/devtests/src/test/java/org/glassfish/admingui/devtests/LogViewerTest.java
deleted file mode 100644
index 478f850..0000000
--- a/appserver/admingui/devtests/src/test/java/org/glassfish/admingui/devtests/LogViewerTest.java
+++ /dev/null
@@ -1,58 +0,0 @@
-/*
- * Copyright (c) 2011, 2018 Oracle and/or its affiliates. All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v. 2.0, which is available at
- * http://www.eclipse.org/legal/epl-2.0.
- *
- * This Source Code may also be made available under the following Secondary
- * Licenses when the conditions for such availability set forth in the
- * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
- * version 2 with the GNU Classpath Exception, which is available at
- * 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.admingui.devtests;
-
-import org.junit.Test;
-
-import static org.junit.Assert.assertTrue;
-
-public class LogViewerTest extends BaseSeleniumTestClass {
-
-    private static final String TRIGGER_SERVER = "i18n.instance.GeneralTitle";
-    private static final String TRIGGER_LV = "i18nc.logViewer.levelLabel";
-    private static final String TRIGGER_IV = "i18nc.logViewer.instanceLabel";
-
-    // basic sanity test for log viewer
-    @Test
-    public void testLogViewer() {
-        try {
-            clickAndWait("treeForm:tree:applicationServer:applicationServer_link", TRIGGER_SERVER);
-            pressButton("propertyForm:propertyContentPage:logViewer");
-            waitForPopUp("LogViewerWindow", "300000");
-            selectWindow("LogViewerWindow");
-            assertTrue(isTextPresent(TRIGGER_LV));
-        } finally {
-            selectWindow(null);
-        }
-    }
-
-
-    // basic sanity test for raw log viewer
-    @Test
-    public void testRawLogViewer() {
-        try {
-            clickAndWait("treeForm:tree:applicationServer:applicationServer_link", TRIGGER_SERVER);
-            pressButton("propertyForm:propertyContentPage:logViewerRaw");
-            waitForPopUp("LogViewerRawWindow", "300000");
-            selectWindow("LogViewerRawWindow");
-            assertTrue(isTextPresent(TRIGGER_IV));
-        } finally {
-            selectWindow(null);
-        }
-    }
-}
-
diff --git a/appserver/admingui/devtests/src/test/java/org/glassfish/admingui/devtests/LoggerSettingsTest.java b/appserver/admingui/devtests/src/test/java/org/glassfish/admingui/devtests/LoggerSettingsTest.java
deleted file mode 100644
index 853b778..0000000
--- a/appserver/admingui/devtests/src/test/java/org/glassfish/admingui/devtests/LoggerSettingsTest.java
+++ /dev/null
@@ -1,88 +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.admingui.devtests;
-
-import org.junit.Test;
-
-import static org.junit.Assert.assertEquals;
-
-public class LoggerSettingsTest extends BaseSeleniumTestClass {
-    private static final String TRIGGER_LOGGER_SETTINGS = "i18nc.log.LoggingSettingsHelp";
-    private static final String TRIGGER_LOG_LEVELS = "i18nc.log.LogLevelsPageTitleHelp";
-
-    @Test
-    public void testLoggerSettings() {
-        final String rotationLimit = Integer.toString(generateRandomNumber(500*1000, Integer.MAX_VALUE - 1));
-        final String rotationTimeLimit = Integer.toString(generateRandomNumber(0, Integer.MAX_VALUE - 1));
-        final String flushFrequency = Integer.toString(generateRandomNumber());
-
-        clickAndWait("treeForm:tree:configurations:server-config:loggerSetting:loggerSetting_link", TRIGGER_LOGGER_SETTINGS);
-        markCheckbox("form1:general:sheetSection:writeSystemLogEnabledProp:writeSystemLogEnabled");
-        boolean enabled = isChecked("form1:general:sheetSection:writeSystemLogEnabledProp:writeSystemLogEnabled");
-        setFieldValue("form1:general:sheetSection:FileRotationLimitProp:FileRotationLimit", rotationLimit);
-        setFieldValue("form1:general:sheetSection:FileRotationTimeLimitProp:FileRotationTimeLimit", rotationTimeLimit);
-        setFieldValue("form1:general:sheetSection:FlushFrequencyProp:FlushFrequency", flushFrequency);
-        clickAndWait("form1:propertyContentPage:topButtons:saveButton", TRIGGER_NEW_VALUES_SAVED);
-
-        clickAndWait("form1:loggingTabs:loggerLevels", TRIGGER_LOG_LEVELS);
-
-        clickAndWait("treeForm:tree:configurations:server-config:loggerSetting:loggerSetting_link", TRIGGER_LOGGER_SETTINGS);
-        assertEquals(enabled, isChecked("form1:general:sheetSection:writeSystemLogEnabledProp:writeSystemLogEnabled"));
-        assertEquals(rotationLimit, getFieldValue("form1:general:sheetSection:FileRotationLimitProp:FileRotationLimit"));
-        assertEquals(rotationTimeLimit, getFieldValue("form1:general:sheetSection:FileRotationTimeLimitProp:FileRotationTimeLimit"));
-        assertEquals(flushFrequency, getFieldValue("form1:general:sheetSection:FlushFrequencyProp:FlushFrequency"));
-    }
-
-    @Test
-    public void testLogLevels() {
-        final String loggerName = "testLogger" + Integer.toString(generateRandomNumber());
-        clickAndWait("treeForm:tree:configurations:server-config:loggerSetting:loggerSetting_link", TRIGGER_LOGGER_SETTINGS);
-        clickAndWait("form1:loggingTabs:loggerLevels", TRIGGER_LOG_LEVELS);
-        String newLevel = "WARNING";
-        if ("WARNING".equals(getFieldValue("form1:basicTable:rowGroup1:0:col3:level"))) {
-            newLevel = "INFO";
-        }
-
-        selectDropdownOption("form1:basicTable:topActionsGroup1:change_list", newLevel);
-        pressButton("form1:basicTable:_tableActionsTop:_selectMultipleButton:_selectMultipleButton_image");
-
-        waitForButtonEnabled("form1:basicTable:topActionsGroup1:button2");
-
-        pressButton("form1:basicTable:topActionsGroup1:button2");
-        waitForButtonDisabled("form1:basicTable:topActionsGroup1:button2");
-
-        clickAndWait("form1:title:topButtons:saveButton", TRIGGER_NEW_VALUES_SAVED);
-
-        clickAndWait("form1:loggingTabs:loggerGeneral", TRIGGER_LOGGER_SETTINGS);
-        clickAndWait("form1:loggingTabs:loggerLevels", TRIGGER_LOG_LEVELS);
-        assertEquals(newLevel, getFieldValue("form1:basicTable:rowGroup1:0:col3:level"));
-
-        clickAndWait("treeForm:tree:configurations:server-config:loggerSetting:loggerSetting_link", TRIGGER_LOGGER_SETTINGS);
-        clickAndWait("form1:loggingTabs:loggerLevels", TRIGGER_LOG_LEVELS);
-
-        // Add Logger
-        int count = addTableRow("form1:basicTable", "form1:basicTable:topActionsGroup1:addSharedTableButton", "Logger Settings");
-        setFieldValue("form1:basicTable:rowGroup1:0:col2:col1St", loggerName);
-        clickAndWait("form1:title:topButtons:saveButton", TRIGGER_NEW_VALUES_SAVED);
-        assertTableRowCount("form1:basicTable", count);
-
-        // delete functionality through dev test framework does not select the rows and it hangs
-        // need to be fixed
-        //deleteRow("form1:basicTable:topActionsGroup1:button1", "form1:basicTable", loggerName);
-        //clickAndWait("form1:title:topButtons:saveButton", TRIGGER_NEW_VALUES_SAVED);
-    }
-}
diff --git a/appserver/admingui/devtests/src/test/java/org/glassfish/admingui/devtests/MonitoringTest.java b/appserver/admingui/devtests/src/test/java/org/glassfish/admingui/devtests/MonitoringTest.java
deleted file mode 100644
index 176b6d9..0000000
--- a/appserver/admingui/devtests/src/test/java/org/glassfish/admingui/devtests/MonitoringTest.java
+++ /dev/null
@@ -1,359 +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.admingui.devtests;
-
-import org.junit.Test;
-
-import java.io.File;
-import java.net.MalformedURLException;
-
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertTrue;
-
-public class MonitoringTest extends BaseSeleniumTestClass {
-
-    private static final String TRIGGER_MONITORING_SERVICE = "Enable monitoring for a component or service by selecting either LOW or HIGH. Monitoring Service and Monitoring MBeans must both be enabled to use Administration Console monitoring features.";
-    private static final String MONITOR_LEVEL_OFF = "OFF";
-    private static final String MONITOR_LEVEL_LOW = "LOW";
-    private static final String MONITOR_LEVEL_HIGH = "HIGH";
-
-    private static final String MONITOR_LEVEL_COL_ID = "col3";
-    private static final String MONITOR_COMP_COL_ID = "col2";
-    private static final String MONITOR_COMP_SELECT_ID = "col1";
-
-    public static final String TARGET_SERVER_TYPE = "server";
-    public static final String TARGET_STANDALONE_TYPE = "standalone";
-    public static final String TARGET_CLUSTER_TYPE = "cluster";
-
-    private static final String TRIGGER_STANDALONE_PAGE = "Create and manage standalone instances for a node agent.";
-    private static final String TRIGGER_STANDALONE_GENERAL_PAGE = "General Information";
-    private static final String TRIGGER_MONITORING_SERVER_GENERAL = "General Information";
-    private static final String TRIGGER_MONITORING_APPLICATIONS = "Application Monitoring";
-    private static final String TRIGGER_MONITORING_SERVER = "Server Monitoring";
-    private static final String TRIGGER_MONITORING_RESOURCES = "Resources Monitoring";
-    private static final String MONITORING_APPLICATIONS_COMPONENT_DROPDOWN_ID = "propertyForm:propertyContentPage:propertySheet:viewPropertySection:ApplicationProp:ComponentView_list";
-    private static final String MONITORING_APPLICATIONS_APPLICATION_DROPDOWN_ID = "propertyForm:propertyContentPage:propertySheet:viewPropertySection:ApplicationProp:View_list";
-
-    @Test
-    public void dummy() {
-        // don't fail
-    }
-
-//    @Test
-    public void testMonitoringServicePage() {
-        setMonitorLevel("Web Container", MONITOR_LEVEL_LOW, false, "server", TARGET_SERVER_TYPE);
-        setMonitorLevel(null, MONITOR_LEVEL_OFF, true, "server", TARGET_SERVER_TYPE);
-    }
-
-//    @Test
-    public void testMonitoringServerPage() {
-        monitoringJvmStats("server", TARGET_SERVER_TYPE);
-        monitoringWebContainerStats("server", TARGET_SERVER_TYPE);
-        monitoringTransactionServiceStats("server", TARGET_SERVER_TYPE);
-        monitoringSecurityStats("server", TARGET_SERVER_TYPE);
-        monitoringHttpServiceStats("server", TARGET_SERVER_TYPE);
-    }
-
-//    @Test
-    public void testMonitoringApplicationsPage() {
-        ejbTimerMonitoring("server", TARGET_SERVER_TYPE);
-        statefulAndStatelessBeanMonitoring("server", TARGET_SERVER_TYPE);
-    }
-
-    //Monitoring service related methods.
-    private void goToMonitoringServicePage(String target, String targetType) {
-        goToMonitoringApplicationsPage(target, targetType);
-        assertTrue(isElementPresent("link=Configure Monitoring"));
-        clickAndWait("link=Configure Monitoring", TRIGGER_MONITORING_SERVICE);
-    }
-
-    private void setMonitorLevel(String component, String monLevel, boolean isAll, String target, String targetType) {
-        goToMonitoringServicePage(target, targetType);
-        waitForPageLoad("HTTP Service", 1000);
-        if (isAll) {
-            pressButton("form1:basicTable:_tableActionsTop:_selectMultipleButton:_selectMultipleButton_image");
-        } else {
-            selectTableRowByValue("form1:basicTable", component, MONITOR_COMP_SELECT_ID, MONITOR_COMP_COL_ID);
-        }
-        waitForButtonEnabled("form1:basicTable:topActionsGroup1:button1");
-        selectDropdownOption("form1:basicTable:topActionsGroup1:change_list", monLevel);
-        pressButton("form1:basicTable:topActionsGroup1:button1");
-        waitForButtonDisabled("form1:basicTable:topActionsGroup1:button1");
-        clickAndWait("form1:title:topButtons:saveButton", TRIGGER_NEW_VALUES_SAVED);
-
-        //Test whether the level has changed to monLevel or not.
-        //clickAndWait("treeForm:tree:configurations:server-config:monitor:monitor_link", TRIGGER_MONITORING_SERVICE);
-        goToMonitoringServicePage(target, targetType);
-        String level = null;
-        if (isAll) {
-            level = getSelectedLabel("form1:basicTable:rowGroup1:0:" + MONITOR_LEVEL_COL_ID + ":level");
-        } else {
-            String id = getTableRowByValue("form1:basicTable", component, MONITOR_COMP_COL_ID);
-            level = getSelectedLabel(id + MONITOR_LEVEL_COL_ID + ":level");
-        }
-        assertEquals(monLevel, level);
-    }
-
-    //Monitoring->Server related methods.
-    private void goToMonitoringServerPage(String target, String targetType) {
-        if (targetType.equals(TARGET_SERVER_TYPE)) {
-            clickAndWait("treeForm:tree:applicationServer:applicationServer_link", TRIGGER_MONITORING_SERVER_GENERAL);
-            clickAndWait("propertyForm:serverInstTabs:monitoring", TRIGGER_MONITORING_APPLICATIONS);
-            clickAndWait("propertyForm:serverInstTabs:monitoring:monitor_server", TRIGGER_MONITORING_SERVER);
-        } else if (targetType.equals(TARGET_STANDALONE_TYPE)) {
-            clickAndWait("treeForm:tree:standaloneTreeNode:standaloneTreeNode_link", TRIGGER_STANDALONE_PAGE);
-            clickAndWait(getLinkIdByLinkText("propertyForm:instancesTable", target), TRIGGER_STANDALONE_GENERAL_PAGE);
-            clickAndWait("propertyForm:standaloneInstanceTabs:monitoring", TRIGGER_MONITORING_APPLICATIONS);
-            clickAndWait("propertyForm:standaloneInstanceTabs:monitoring:monitorServer", TRIGGER_MONITORING_SERVER);
-        }
-    }
-
-    private void monitoringJvmStats(String target, String targetType) {
-        final String threadInfoHeader = "Thread Info Statistics";
-        final String jvmMemHeader = "JVM: Memory Statistics";
-        final String jvmOsHeader = "JVM: Operating System Statistics";
-        final String jvmClassLoadingHeader = "JVM: Class Loading Statistics";
-        final String jvmCompilationHeader = "JVM: Compilation Statistics";
-        final String jvmRuntimeHeader = "JVM: Runtime Statistics";
-        final String jvmThreadHeader = "JVM: Thread System Statistics";
-
-        final String threadInfoData = "DeadlockedThreads";
-        final String jvmMemData = "UsedNonHeapSize";
-        final String jvmOsData = "AvailableProcessors";
-        final String jvmClassLoadingData = "UnLoadedClassCount";
-        final String jvmCompilationData = "TotalCompilationTime";
-        final String jvmRuntimeData = "SpecVersion";
-        final String jvmThreadData = "TotalStartedThreadCount";
-
-        final String dropDownId = "propertyForm:propertyContentPage:propertySheet:viewPropertySection:VsProp:View_list";
-        final String gcCopyHeader = "Garbage Collectors Statistics : Copy";
-        final String gcCopyData = "CollectionCount";
-        final String gcMarkSweepHeader = "Garbage Collectors Statistics : MarkSweepCompact";
-        final String gcMarkSweepData = "CollectionCount";
-        final String threadHeader = "Thread Info Statistics";
-        final String threadData = "ThreadState";
-
-        setMonitorLevel("JVM", MONITOR_LEVEL_HIGH, false, target, targetType);
-        goToMonitoringServerPage(target, targetType);
-
-        verifyMonitoringStat("jvmThreadInfoStats", threadInfoData, threadInfoHeader);
-        verifyMonitoringStat("jvmMemStats", jvmMemData, jvmMemHeader);
-        verifyMonitoringStat("osStats", jvmOsData, jvmOsHeader);
-        verifyMonitoringStat("clStats", jvmClassLoadingData, jvmClassLoadingHeader);
-        verifyMonitoringStat("comStats", jvmCompilationData, jvmCompilationHeader);
-        verifyMonitoringStat("runtimeStats", jvmRuntimeData, jvmRuntimeHeader);
-        verifyMonitoringStat("jvmThreadStats", jvmThreadData, jvmThreadHeader);
-
-        selectDropdownOption(dropDownId, "Copy");
-        waitForPageLoad(gcCopyHeader, 10000);
-        verifyMonitoringStat("gcStats", gcCopyData, gcCopyHeader);
-        selectDropdownOption(dropDownId, "MarkSweepCompact");
-        waitForPageLoad(gcMarkSweepHeader, 10000);
-        verifyMonitoringStat("gcStats", gcMarkSweepData, gcMarkSweepHeader);
-        selectDropdownOption(dropDownId, "thread-1");
-        waitForPageLoad(threadHeader, 10000);
-        verifyMonitoringStat("jvmThreadInfoStats", threadData, threadHeader);
-
-        setMonitorLevel("JVM", MONITOR_LEVEL_OFF, false, target, targetType);
-    }
-
-    private void monitoringWebContainerStats(String target, String targetType) {
-        final String webContainerServletHeader = "Web Container: Servlet Statistics";
-        final String webContainerSessionHeader = "Web Container: Session Statistics";
-        final String webContainerRequestHeader = "Web Container: Request Statistics";
-        final String webContainerJspHeader = "Web Container: JSP Statistics";
-        final String webContainerServletData = "ActiveServletsLoaded";
-        final String webContainerSessionData = "SessionsTotal";
-        final String webContainerRequestData = "RequestCount";
-        final String webContainerJspData = "JspReloadedCount";
-
-        setMonitorLevel("Web Container", MONITOR_LEVEL_HIGH, false, target, targetType);
-        goToMonitoringServerPage(target, targetType);
-
-        verifyMonitoringStat("servletsWeb", webContainerServletData, webContainerServletHeader);
-        verifyMonitoringStat("sessionWeb", webContainerSessionData, webContainerSessionHeader);
-        verifyMonitoringStat("requestWebStats", webContainerRequestData, webContainerRequestHeader);
-        verifyMonitoringStat("jspWebStats", webContainerJspData, webContainerJspHeader);
-
-        setMonitorLevel("Web Container", MONITOR_LEVEL_OFF, false, target, targetType);
-    }
-
-    private void monitoringTransactionServiceStats(String target, String targetType) {
-        final String transactionServiceHeader = "Transaction Service Statistics";
-        final String transactionServiceData = "RolledbackCount";
-
-        setMonitorLevel("Transaction Service", MONITOR_LEVEL_HIGH, false, target, targetType);
-        goToMonitoringServerPage(target, targetType);
-        verifyMonitoringStat("txnServiceStats", transactionServiceData, transactionServiceHeader);
-        setMonitorLevel("Transaction Service", MONITOR_LEVEL_OFF, false, target, targetType);
-    }
-
-    private void monitoringSecurityStats(String target, String targetType) {
-        final String webAppSecurityDeploymentHeader = "Web Application Security Deployment Statistics";
-        final String webAppSecurityDeploymentData = "WebSecurityManagerCount";
-
-        setMonitorLevel("Security", MONITOR_LEVEL_HIGH, false, target, targetType);
-        goToMonitoringServerPage(target, targetType);
-        verifyMonitoringStat("webSecurity", webAppSecurityDeploymentData, webAppSecurityDeploymentHeader);
-        setMonitorLevel("Security", MONITOR_LEVEL_OFF, false, target, targetType);
-    }
-
-    private void monitoringHttpServiceStats(String target, String targetType) {
-        final String virtualStatsHeader = "Virtual Server Statistics : server";
-        final String requestStatsHeader = "Request Statistics : server";
-        final String virtualStatsData = "Hosts";
-        final String requestStatsData = "RequestCount";
-
-        final String fileCacheStatsHeader = "File Cache Statistics : admin-listener";
-        final String keepAliveStatsHeader = "Keep Alive Statistics : admin-listener";
-        final String connectionQueueStatsHeader = "Connection Queue Statistics : admin-listener";
-        final String threadPoolStatsHeader = "Thread Pool Statistics : admin-listener";
-        final String fileCacheStatsData = "OpenCacheEntriesCount";
-        final String keepAliveStatsData = "CountFlushes";
-        final String connectionQueueStatsData = "CountOverflows";
-        final String threadPoolStatsData = "CoreThreads";
-
-        String dropDownId = "propertyForm:propertyContentPage:propertySheet:viewPropertySection:VsProp:View_list";
-
-        setMonitorLevel("HTTP Service", MONITOR_LEVEL_HIGH, false, target, targetType);
-        goToMonitoringServerPage(target, targetType);
-
-        selectDropdownOption(dropDownId, "server");
-        waitForPageLoad(virtualStatsHeader, 10000);
-
-        verifyMonitoringStat("virtualServerStats", virtualStatsData, virtualStatsHeader);
-        verifyMonitoringStat("httpServiceStats", requestStatsData, requestStatsHeader);
-
-        selectDropdownOption(dropDownId, "admin-listener");
-        waitForPageLoad(fileCacheStatsHeader, 10000);
-        verifyMonitoringStat("fileCacheStats", fileCacheStatsData, fileCacheStatsHeader);
-        verifyMonitoringStat("keepAliveStats", keepAliveStatsData, keepAliveStatsHeader);
-        verifyMonitoringStat("connectionQueueStats", connectionQueueStatsData, connectionQueueStatsHeader);
-        verifyMonitoringStat("threadPoolStats", threadPoolStatsData, threadPoolStatsHeader);
-
-        setMonitorLevel("HTTP Service", MONITOR_LEVEL_OFF, false, target, targetType);
-    }
-
-    private void verifyMonitoringStat(String stat, String statData, String statHeader) {
-        assertTrue(isTextPresent(statHeader));
-        clickAndWait("propertyForm:propertyContentPage:basicTable:" + stat + ":_groupHeader:_groupPanelToggleButton:_groupPanelToggleButton_image", statData);
-        pressButton("propertyForm:propertyContentPage:basicTable:" + stat + ":_groupHeader:_groupPanelToggleButton:_groupPanelToggleButton_image");
-    }
-
-    private void goToMonitoringApplicationsPage(String target, String targetType) {
-        if (targetType.equals(TARGET_SERVER_TYPE)) {
-            clickAndWait("treeForm:tree:applicationServer:applicationServer_link", TRIGGER_MONITORING_SERVER_GENERAL);
-            clickAndWait("propertyForm:serverInstTabs:monitoring", TRIGGER_MONITORING_APPLICATIONS);
-        } else if (targetType.equals(TARGET_STANDALONE_TYPE)) {
-            clickAndWait("treeForm:tree:standaloneTreeNode:standaloneTreeNode_link", TRIGGER_STANDALONE_PAGE);
-            clickAndWait(getLinkIdByLinkText("propertyForm:instancesTable", target), TRIGGER_STANDALONE_GENERAL_PAGE);
-            clickAndWait("propertyForm:standaloneInstanceTabs:monitoring", TRIGGER_MONITORING_APPLICATIONS);
-        }
-    }
-
-    private void ejbTimerMonitoring(String target, String targetType) {
-        final String statsHeader = "EJB Singleton Bean Statistics : ejb-timer-sessiontimer-ejb.jar/TimerSingleton";
-        final String statDescription = "Number of times EJB remove method is called";
-        final String appName = "ejb-timer-sessiontimerApp";
-
-        deployApp("src/test/resources/ejb-timer-sessiontimerApp.ear", targetType, appName);
-        setMonitorLevel("Web Container", MONITOR_LEVEL_HIGH, false, target, targetType);
-        setMonitorLevel("EJB Container", MONITOR_LEVEL_HIGH, false, target, targetType);
-        goToMonitoringApplicationsPage(target, targetType);
-
-        selectDropdownOption(MONITORING_APPLICATIONS_COMPONENT_DROPDOWN_ID, "TimerSingleton");
-        waitForPageLoad(statsHeader, 10000);
-        assertTrue(isTextPresent(statsHeader));
-        assertTrue(isTextPresent(statDescription));
-
-        setMonitorLevel("Web Container", MONITOR_LEVEL_OFF, false, target, targetType);
-        setMonitorLevel("EJB Container", MONITOR_LEVEL_OFF, false, target, targetType);
-        undeployApp(appName, targetType);
-    }
-
-    public void appScopedResourcesMonitoring(String target, String targetType, String resName) {
-        final String statsHeader = "Application Scoped Resource Statistics : JavaEEApp-war.war/resources/"+resName;
-        final String statDescription = "Number of potential connection leaks";
-
-        setMonitorLevel(null, MONITOR_LEVEL_HIGH, true, target, targetType);
-        goToMonitoringApplicationsPage(target, targetType);
-
-        selectDropdownOption(MONITORING_APPLICATIONS_APPLICATION_DROPDOWN_ID, "JavaEEApp-war.war");
-        selectDropdownOption(MONITORING_APPLICATIONS_COMPONENT_DROPDOWN_ID, resName);
-        waitForPageLoad(statsHeader, 10000);
-        assertTrue(isTextPresent(statsHeader));
-        assertTrue(isTextPresent(statDescription));
-
-        setMonitorLevel(null, MONITOR_LEVEL_OFF, true, target, targetType);
-    }
-
-    private void statefulAndStatelessBeanMonitoring(String target, String targetType) {
-        final String statefulStatsHeader = "EJB Stateful Session Bean Statistics : ejb-ejb30-hello-session-ejb.jar/SfulEJB";
-        final String statefulStatDescription = "Number of stateful session beans in MethodReady state";
-        final String statelessStatsHeader = "EJB Stateless Session Bean Statistics : ejb-ejb30-hello-session-ejb.jar/SlessEJB";
-        final String statelessStatDescription = "Number of stateless session beans in MethodReady state";
-        String applicationName = "ejb-ejb30-hello-sessionApp";
-
-        deployApp("src/test/resources/ejb-ejb30-hello-sessionApp.ear", targetType, applicationName);
-        setMonitorLevel("Web Container", MONITOR_LEVEL_HIGH, false, target, targetType);
-        setMonitorLevel("EJB Container", MONITOR_LEVEL_HIGH, false, target, targetType);
-        goToMonitoringApplicationsPage(target, targetType);
-
-        selectDropdownOption(MONITORING_APPLICATIONS_COMPONENT_DROPDOWN_ID, "SfulEJB");
-        waitForPageLoad(statefulStatsHeader, 10000);
-        assertTrue(isTextPresent(statefulStatsHeader));
-        assertTrue(isTextPresent(statefulStatDescription));
-
-        selectDropdownOption(MONITORING_APPLICATIONS_COMPONENT_DROPDOWN_ID, "SlessEJB");
-        waitForPageLoad(statelessStatsHeader, 10000);
-        assertTrue(isTextPresent(statelessStatsHeader));
-        assertTrue(isTextPresent(statelessStatDescription));
-
-        setMonitorLevel("Web Container", MONITOR_LEVEL_OFF, false, target, targetType);
-        setMonitorLevel("EJB Container", MONITOR_LEVEL_OFF, false, target, targetType);
-        undeployApp(applicationName, targetType);
-    }
-
-    private void deployApp(String appLocation, String target, String appName) {
-        final String TRIGGER_APPLICATIONS = "Applications can be enterprise or web applications, or various kinds of modules.";
-
-        clickAndWait("treeForm:tree:applications:applications_link", TRIGGER_APPLICATIONS);
-        if (isTextPresent(appName)) {
-            undeployApp(appName, target);
-        }
-        clickAndWaitForElement("propertyForm:deployTable:topActionsGroup1:deployButton", "form:sheet1:section1:prop1:fileupload");
-        File war = new File(appLocation);
-        try {
-            selectFile("form:sheet1:section1:prop1:fileupload", war.toURL().toString());
-        } catch (MalformedURLException e) {
-            e.printStackTrace();  //To change body of catch statement use File | Settings | File Templates.
-        }
-        //waitForCondition("document.getElementById('form:war:psection:nameProp:appName').value == '" + appName + "'", 300000);
-        assertEquals(appName, getFieldValue("form:war:psection:nameProp:appName"));
-        clickAndWait("form:title:topButtons:uploadButton", TRIGGER_APPLICATIONS);
-        assertTrue(isTextPresent(appName));
-    }
-
-    private void undeployApp(String applicationName, String target) {
-        final String TRIGGER_APPLICATIONS = "Applications can be enterprise or web applications, or various kinds of modules.";
-        clickAndWait("treeForm:tree:applications:applications_link", TRIGGER_APPLICATIONS);
-        selectTableRowByValue("propertyForm:deployTable", applicationName);
-        pressButton("propertyForm:deployTable:topActionsGroup1:button1");
-        getConfirmation();
-        waitForPageLoad(applicationName, true);
-    }
-}
diff --git a/appserver/admingui/devtests/src/test/java/org/glassfish/admingui/devtests/MsgSecurityTest.java b/appserver/admingui/devtests/src/test/java/org/glassfish/admingui/devtests/MsgSecurityTest.java
deleted file mode 100644
index 3c1df93..0000000
--- a/appserver/admingui/devtests/src/test/java/org/glassfish/admingui/devtests/MsgSecurityTest.java
+++ /dev/null
@@ -1,230 +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.admingui.devtests;
-
-import junit.framework.Assert;
-import java.util.ArrayList;
-import org.junit.Test;
-
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertTrue;
-
-public class MsgSecurityTest extends BaseSeleniumTestClass {
-    public static final String TRIGGER_MESSAGE_SECURITY_CONFIGURATIONS = "i18nc.msgSecurity.ListPageTitle";
-    public static final String TRIGGER_NEW_MESSAGE_SECURITY_CONFIGURATION = "i18nc.msgSecurity.NewMsgSecurityInfo";
-    public static final String TRIGGER_EDIT_MESSAGE_SECURITY_CONFIGURATION = "i18nc.msgSecurity.EditMsgSecurity";
-    public static final String TRIGGER_EDIT_PROVIDER_CONFIGURATION = "i18nc.msgProvider.EditPageTitle";
-    public static final String TRIGGER_PROVIDER_CONFIGURATION = "i18nc.msgSecProvider.TableTitle";
-    public static final String TRIGGER_NEW_PROVIDER_CONFIGURATION = "i18nc.msgSecProvider.NewPageTitleHelp";
-    public static final String ADMIN_PWD_DOMAIN_ATTRIBUTES = "i18nc.domain.DomainAttrsPageTitle";
-    public static final String ADMIN_PWD_NEW_ADMINPWD = "i18nc.domain.AdminPasswordTitle";
-    private static final String TRIGGER_CONFIGURATION = "i18nc.configurations.PageTitleHelp";
-    private static final String TRIGGER_NEW_CONFIGURATION = "i18nc.configurations.NewPageTitle";
-    private static final String ID_MSG_SECURITY_TABLE_NEW_BUTTON = "propertyForm:configs:topActionsGroup1:newButton";
-
-    @Test
-    public void testCreateMsgSecurityConfigWithNoDefaultProvider() {
-        final String providerName = "provider" + generateRandomString();
-        final String className = "com.example.Foo";
-        final String configName= "Config-" + generateRandomString();
-        final String propertyName= "property-" + generateRandomString();
-        final String layer = "HttpServlet";
-
-        copyConfig("default-config", configName);
-        createMsgSecurityConfig(configName, layer, providerName, "client", false ,propertyName);
-
-        String prefix = getTableRowByValue("propertyForm:configs", layer, "col1");
-        assertEquals(layer, getText(prefix + "col1:authlayer"));
-        //since we didn't mark this as default provider, ensure it is not listed in the table.
-        assertEquals("", getText(prefix + "col2"));
-        assertEquals("", getText(prefix + "col3"));
-        clickAndWait(prefix + "col1:authlayer",TRIGGER_EDIT_MESSAGE_SECURITY_CONFIGURATION );
-
-        //clean up by removing the config.
-        clickAndWait("treeForm:tree:configurations:configurations_link", TRIGGER_CONFIGURATION);
-        String cp = getTableRowByValue("propertyForm:configs", configName, "col1");
-        deleteRow("propertyForm:configs:topActionsGroup1:button1", "propertyForm:configs", configName);
-    }
-
-    @Test
-    public void testCreateMsgSecurityConfigWithDefaultProvider() {
-        final String providerName = "provider" + generateRandomString();
-        final String className = "com.example.Foo";
-        final String configName= "Config-" + generateRandomString();
-        final String propertyName= "property-" + generateRandomString();
-        final String layer = "HttpServlet";
-
-        copyConfig("default-config", configName);
-        createMsgSecurityConfig(configName, layer, providerName, "server", true, propertyName);
-
-        String prefix = getTableRowByValue("propertyForm:configs", layer, "col1");
-        assertEquals(layer, getText(prefix + "col1:authlayer"));
-        //since we didn't mark this as default provider, ensure it is not listed in the table.
-        assertEquals(providerName, getText(prefix + "col2:defaultprov"));
-        assertEquals("", getText(prefix + "col3"));
-        clickAndWait(prefix + "col1:authlayer",TRIGGER_EDIT_MESSAGE_SECURITY_CONFIGURATION );
-        assertEquals(configName, getText("propertyForm:propertySheet:configNameSheet:configName:configName"));
-
-        //clean up by removing the config.
-        clickAndWait("treeForm:tree:configurations:configurations_link", TRIGGER_CONFIGURATION);
-        String cp = getTableRowByValue("propertyForm:configs", configName, "col1");
-        deleteRow("propertyForm:configs:topActionsGroup1:button1", "propertyForm:configs", configName);
-    }
-
-    @Test
-    public void testCreateMsgSecurityConfigWithDefaultClientProvider() {
-        final String providerName = "provider" + generateRandomString();
-        final String className = "com.example.Foo";
-        final String configName= "Config-" + generateRandomString();
-        final String propertyName= "property-" + generateRandomString();
-        final String layer = "HttpServlet";
-
-        copyConfig("default-config", configName);
-        createMsgSecurityConfig(configName, layer, providerName, "client", true, propertyName);
-
-        String prefix = getTableRowByValue("propertyForm:configs", layer, "col1");
-        assertEquals(layer, getText(prefix + "col1:authlayer"));
-        //since we didn't mark this as default provider, ensure it is not listed in the table.
-        assertEquals("", getText(prefix + "col2"));
-        assertEquals(providerName, getText(prefix + "col3:defaultclientprov"));
-        clickAndWait(prefix + "col1:authlayer",TRIGGER_EDIT_MESSAGE_SECURITY_CONFIGURATION );
-        assertEquals(configName, getText("propertyForm:propertySheet:configNameSheet:configName:configName"));
-
-        //clean up by removing the config.
-        clickAndWait("treeForm:tree:configurations:configurations_link", TRIGGER_CONFIGURATION);
-        String cp = getTableRowByValue("propertyForm:configs", configName, "col1");
-        deleteRow("propertyForm:configs:topActionsGroup1:button1", "propertyForm:configs", configName);
-    }
-
-    @Test
-    public void testCreateMsgSecurityConfigWithDefaultClientServerProvider() {
-        final String providerName = "provider" + generateRandomString();
-        final String className = "com.example.Foo";
-        final String configName= "Config-" + generateRandomString();
-        final String propertyName= "property-" + generateRandomString();
-        final String layer = "HttpServlet";
-
-        copyConfig("default-config", configName);
-        createMsgSecurityConfig(configName, layer, providerName, "client-server", true, propertyName);
-
-        String prefix = getTableRowByValue("propertyForm:configs", layer, "col1");
-        assertEquals(layer, getText(prefix + "col1:authlayer"));
-        //since we didn't mark this as default provider, ensure it is not listed in the table.
-        assertEquals(providerName, getText(prefix + "col2:defaultprov"));
-        assertEquals(providerName, getText(prefix + "col3:defaultclientprov"));
-        clickAndWait(prefix + "col1:authlayer",TRIGGER_EDIT_MESSAGE_SECURITY_CONFIGURATION );
-        assertEquals(configName, getText("propertyForm:propertySheet:configNameSheet:configName:configName"));
-        //clean up by removing the config.
-        clickAndWait("treeForm:tree:configurations:configurations_link", TRIGGER_CONFIGURATION);
-        String cp = getTableRowByValue("propertyForm:configs", configName, "col1");
-        deleteRow("propertyForm:configs:topActionsGroup1:button1", "propertyForm:configs", configName);
-    }
-
-
-    @Test
-    public void testCreateAdditionalProviders() {
-        final String providerName = "provider" + generateRandomString();
-        final String providerName2 = "provider" + generateRandomString();
-        final String className = "com.example.Foo";
-        final String configName= "Config-" + generateRandomString();
-        final String propertyName= "property-" + generateRandomString();
-        final String layer = "HttpServlet";
-
-        copyConfig("default-config", configName);
-        createMsgSecurityConfig(configName, layer, providerName, "client", true, propertyName);
-
-
-        String prefix = getTableRowByValue("propertyForm:configs", layer, "col1");
-        assertEquals(layer, getText(prefix + "col1:authlayer"));
-        //since we didn't mark this as default provider, ensure it is not listed in the table.
-        assertEquals("", getText(prefix + "col2"));
-        assertEquals(providerName, getText(prefix + "col3:defaultclientprov"));
-        clickAndWait("propertyForm:configs:rowGroup1:0:col1:authlayer",TRIGGER_EDIT_MESSAGE_SECURITY_CONFIGURATION );
-        assertEquals(configName, getText("propertyForm:propertySheet:configNameSheet:configName:configName"));
-
-        clickAndWait("propertyForm:msgSecurityTabs:providers",TRIGGER_PROVIDER_CONFIGURATION );
-        clickAndWait("propertyForm:configs:topActionsGroup1:newButton", TRIGGER_NEW_PROVIDER_CONFIGURATION);
-
-        setFieldValue("propertyForm:propertySheet:providerConfSection:ProviderIdTextProp:ProviderIdText", providerName2);
-        markCheckbox("propertyForm:propertySheet:providerConfSection:DefaultProviderProp:def");
-        selectDropdownOption("propertyForm:propertySheet:providerConfSection:ProviderTypeProp:ProviderType", "server");
-        setFieldValue("propertyForm:propertySheet:providerConfSection:ClassNameProp:ClassName", "CLASSNAME");
-        selectDropdownOption("propertyForm:propertySheet:requestPolicySection:AuthSourceProp:AuthSource", "sender");
-        selectDropdownOption("propertyForm:propertySheet:requestPolicySection:AuthRecipientProp:AuthRecipient", "before-content");
-        selectDropdownOption("propertyForm:propertySheet:responsePolicySection:AuthSourceProp:AuthSource", "content");
-        addTableRow("propertyForm:basicTable", "propertyForm:basicTable:topActionsGroup1:addSharedTableButton");
-        setFieldValue("propertyForm:basicTable:rowGroup1:0:col2:col1St", propertyName);
-        setFieldValue("propertyForm:basicTable:rowGroup1:0:col3:col1St", "value");
-        setFieldValue("propertyForm:basicTable:rowGroup1:0:col4:col1St", "DESC");
-        clickAndWait("propertyForm:propertyContentPage:topButtons:newButton", TRIGGER_PROVIDER_CONFIGURATION);
-
-        String proPrefix = getTableRowByValue("propertyForm:configs", providerName2, "col1");
-        assertEquals("server", getText(proPrefix + "col2:provType"));
-        assertEquals("true", getText(proPrefix + "col3:default"));
-        assertEquals("CLASSNAME", getText(proPrefix + "col4:defaultclientprov"));
-
-        clickAndWait(proPrefix+"col1:authlayer",TRIGGER_EDIT_PROVIDER_CONFIGURATION );
-        assertEquals(configName, getText("propertyForm:propertySheet:configNameSheet:configName:configName"));
-
-        assertEquals(getSelectedValue("propertyForm:propertySheet:requestPolicySection:AuthSourceProp:AuthSource"), "sender");
-        assertEquals(getSelectedValue("propertyForm:propertySheet:requestPolicySection:AuthRecipientProp:AuthRecipient"), "before-content");
-        assertEquals(getSelectedValue("propertyForm:propertySheet:responsePolicySection:AuthSourceProp:AuthSource"), "content");
-        assertEquals(getSelectedValue("propertyForm:propertySheet:responsePolicySection:AuthRecipientProp:AuthRecipient"), "");
-        clickAndWait("propertyForm:propertyContentPage:topButtons:cancelButton",TRIGGER_PROVIDER_CONFIGURATION);
-
-        rowActionWithConfirm("propertyForm:configs:topActionsGroup1:button1", "propertyForm:configs", providerName2);
-        Assert.assertFalse(isTextPresent(providerName2));
-        clickAndWait("treeForm:tree:configurations:configurations_link", TRIGGER_CONFIGURATION);
-        String cp = getTableRowByValue("propertyForm:configs", configName, "col1");
-        deleteRow("propertyForm:configs:topActionsGroup1:button1", "propertyForm:configs", configName);
-    }
-
-
-
-
-
-    public void createMsgSecurityConfig(String configName, String layer, String providerName, String type, boolean isDefault, String propertyName){
-
-        String TRIGGER_MESSAGE_SECURITY_CONFIGURATIONS_LINK = "treeForm:tree:configurations:" + configName + ":security:messageSecurity:messageSecurity_link";
-        clickAndWaitForElement("Masthead:homeLink", TRIGGER_MESSAGE_SECURITY_CONFIGURATIONS_LINK);
-        clickAndWait(TRIGGER_MESSAGE_SECURITY_CONFIGURATIONS_LINK, TRIGGER_MESSAGE_SECURITY_CONFIGURATIONS);
-        clickAndWait(ID_MSG_SECURITY_TABLE_NEW_BUTTON,  TRIGGER_NEW_MESSAGE_SECURITY_CONFIGURATION);
-        selectDropdownOption("propertyForm:propertySheet:propertySheetSection:AuthLayerProp:AuthLayer", layer);
-        setFieldValue("propertyForm:propertySheet:providerConfSection:ProviderIdTextProp:ProviderIdText", providerName);
-        if (isDefault){
-            markCheckbox("propertyForm:propertySheet:providerConfSection:DefaultProviderProp:def");
-        }
-        selectDropdownOption("propertyForm:propertySheet:providerConfSection:ProviderTypeProp:ProviderType", type);
-        setFieldValue("propertyForm:propertySheet:providerConfSection:ClassNameProp:ClassName", "CLASSNAME");
-        addTableRow("propertyForm:basicTable", "propertyForm:basicTable:topActionsGroup1:addSharedTableButton");
-        setFieldValue("propertyForm:basicTable:rowGroup1:0:col2:col1St", propertyName);
-        setFieldValue("propertyForm:basicTable:rowGroup1:0:col3:col1St", "value");
-        setFieldValue("propertyForm:basicTable:rowGroup1:0:col4:col1St", "DESC");
-        clickAndWait("propertyForm:propertyContentPage:topButtons:newButton", TRIGGER_MESSAGE_SECURITY_CONFIGURATIONS);
-    }
-
-
-
-    public void copyConfig(String srcName, String newConfigName) {
-        clickAndWait("treeForm:tree:configurations:configurations_link", TRIGGER_CONFIGURATION);
-        clickAndWait("propertyForm:configs:topActionsGroup1:newButton", TRIGGER_NEW_CONFIGURATION);
-        setFieldValue("propertyForm:propertySheet:propertSectionTextField:NameProp:Name", newConfigName);
-        selectDropdownOption("propertyForm:propertySheet:propertSectionTextField:ConfigProp:Config", srcName);
-        clickAndWait("propertyForm:propertyContentPage:topButtons:okButton", TRIGGER_CONFIGURATION);
-        assertTrue(tableContainsRow("propertyForm:configs", "col1", newConfigName));
-    }
-}
diff --git a/appserver/admingui/devtests/src/test/java/org/glassfish/admingui/devtests/NetworkConfigTest.java b/appserver/admingui/devtests/src/test/java/org/glassfish/admingui/devtests/NetworkConfigTest.java
deleted file mode 100644
index 1d7045b..0000000
--- a/appserver/admingui/devtests/src/test/java/org/glassfish/admingui/devtests/NetworkConfigTest.java
+++ /dev/null
@@ -1,165 +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.admingui.devtests;
-
-import java.util.ArrayList;
-import org.junit.Test;
-
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertTrue;
-
-public class NetworkConfigTest extends BaseSeleniumTestClass {
-    private static final String TRIGGER_NETWORK_LISTENERS = "Click New to define a new network listener. Click the name of an existing listener to modify its settings.";
-    private static final String TRIGGER_NEW_NETWORK_LISTENER = "i18n_web.grizzly.networkListenerNewPageTitle";
-    private static final String TRIGGER_PROTOCOLS = "Click New to define a new protocol. Click the name of an existing protocol to modify its settings. Select one or more protocols and click Delete to delete the protocols and any network listeners using them.";
-    private static final String TRIGGER_NEW_PROTOCOL = "i18n_web.grizzly.protocolNewPageTitleHelp";
-    private static final String TRIGGER_TRANSPORTS = "Click New to define a new transport. Click the name of an existing transport to modify its settings.";
-    private static final String TRIGGER_NEW_TRANSPORT = "i18n_web.transport.newPageTitleHelp";
-    private static final String TRIGGER_CONFIGURATION = "i18nc.configurations.PageTitleHelp";
-    private static final String TRIGGER_NEW_CONFIGURATION = "i18nc.configurations.NewPageTitle";
-    ArrayList<String> list = new ArrayList(); {list.add("server-config"); list.add("new-config");}
-
-    //@Test
-    public void testAddingNetworkListener() {
-        final String listenerName = "listener"+generateRandomString();
-        createConfig("new-config");
-        for (String configName : list) {
-            String TRIGGER_NETWORK_LISTENERS_LINK = "treeForm:tree:configurations:" + configName + ":networkConfig:networkListeners:networkListeners_link";
-            clickAndWaitForElement("Masthead:homeLink", TRIGGER_NETWORK_LISTENERS_LINK);
-            clickAndWait(TRIGGER_NETWORK_LISTENERS_LINK, TRIGGER_NETWORK_LISTENERS);
-            clickAndWait("propertyForm:configs:topActionsGroup1:newButton", TRIGGER_NEW_NETWORK_LISTENER);
-            setFieldValue("propertyForm:propertySheet:propertSectionTextField:nameNew:name", listenerName);
-            pressButton("propertyForm:propertySheet:propertSectionTextField:prop1:existingRdBtn");
-            selectDropdownOption("propertyForm:propertySheet:propertSectionTextField:prop1:protocoldw", "http-listener-1");
-            setFieldValue("propertyForm:propertySheet:propertSectionTextField:port:port", "1234");
-            clickAndWait("propertyForm:propertyContentPage:topButtons:newButton", TRIGGER_NETWORK_LISTENERS);
-            assertTrue(isTextPresent(listenerName));
-
-            clickAndWait(getLinkIdByLinkText("propertyForm:configs", listenerName), "Edit Network Listener");
-
-            assertTrue(isTextPresent(listenerName));
-            assertTrue(isTextPresent("http-listener-1"));
-
-            assertEquals("1234", getFieldValue("propertyForm:propertySheet:propertSectionTextField:port:port"));
-            clickAndWait("propertyForm:propertyContentPage:topButtons:cancelButton", TRIGGER_NETWORK_LISTENERS);
-
-            deleteRow("propertyForm:configs:topActionsGroup1:button1", "propertyForm:configs", listenerName);
-        }
-    }
-
-    public void createConfig(String configName) {
-        clickAndWait("treeForm:tree:configurations:configurations_link", TRIGGER_CONFIGURATION);
-        if (!isTextPresent("new-config")) {
-            clickAndWait("propertyForm:configs:topActionsGroup1:newButton", TRIGGER_NEW_CONFIGURATION);
-            setFieldValue("propertyForm:propertySheet:propertSectionTextField:NameProp:Name", configName);
-            clickAndWait("propertyForm:propertyContentPage:topButtons:okButton", TRIGGER_CONFIGURATION);
-            assertTrue(isTextPresent(configName));
-        }
-    }
-
-    @Test
-    public void testAddingTransport() {
-        final String transportName = "transport"+generateRandomString();
-        createConfig("new-config");
-        for (String configName : list) {
-            String TRIGGER_TRANSPORTS_LINK = "treeForm:tree:configurations:" + configName + ":networkConfig:transports:transports_link";
-            clickAndWaitForElement("Masthead:homeLink", TRIGGER_TRANSPORTS_LINK);
-            clickAndWait(TRIGGER_TRANSPORTS_LINK, TRIGGER_TRANSPORTS);
-            clickAndWait("propertyForm:configs:topActionsGroup1:newButton", TRIGGER_NEW_TRANSPORT);
-            setFieldValue("propertyForm:propertySheet:propertSectionTextField:IdTextProp:IdText", transportName);
-            selectDropdownOption("propertyForm:propertySheet:propertSectionTextField:ByteBufferType:ByteBufferType", "DIRECT");
-            setFieldValue("propertyForm:propertySheet:propertSectionTextField:BufferSizeBytes:BufferSizeBytes", "1000");
-            setFieldValue("propertyForm:propertySheet:propertSectionTextField:AcceptorThreads:AcceptorThreads", "-1");
-            clickAndWait("propertyForm:propertyContentPage:topButtons:newButton", TRIGGER_TRANSPORTS);
-            assertTrue(isTextPresent(transportName));
-
-            clickAndWait(getLinkIdByLinkText("propertyForm:configs", transportName), "Edit Transport");
-            assertTrue(isTextPresent(transportName));
-            assertTrue(isTextPresent("DIRECT"));
-            assertEquals("1000", getFieldValue("propertyForm:propertySheet:propertSectionTextField:BufferSizeBytes:BufferSizeBytes"));
-            clickAndWait("propertyForm:propertyContentPage:topButtons:cancelButton", TRIGGER_TRANSPORTS);
-
-            deleteRow("propertyForm:configs:topActionsGroup1:button1", "propertyForm:configs", transportName);
-        }
-    }
-
-    //@Test
-    public void testAddingProtocol() {
-        final String protocol = "protocol"+generateRandomString();
-        final String maxAge = Integer.toString(generateRandomNumber(60));
-        final String maxCacheSizeBytes = Integer.toString(generateRandomNumber(10485760));
-        final String maxFile = Integer.toString(generateRandomNumber(2048));
-        final String maxC = Integer.toString(generateRandomNumber(512));
-        final String timeoutSeconds = Integer.toString(generateRandomNumber(60));
-        final String connectionUploadTimeout = Integer.toString(generateRandomNumber(600000));
-        final String requestTimeoutSeconds = Integer.toString(generateRandomNumber(60));
-        final String sendBsize = Integer.toString(generateRandomNumber(16384));
-        final String headerBLength = Integer.toString(generateRandomNumber(16384));
-        final String maxPostSize = Integer.toString(generateRandomNumber(2097152));
-        final String compressableMime = Integer.toString(generateRandomNumber(4096));
-
-        createConfig("new-config");
-        for (String configName : list) {
-            String TRIGGER_PROTOCOLS_LINK = "treeForm:tree:configurations:" + configName +":networkConfig:protocols:protocols_link";
-            clickAndWaitForElement("Masthead:homeLink", TRIGGER_PROTOCOLS_LINK);
-            clickAndWait(TRIGGER_PROTOCOLS_LINK, TRIGGER_PROTOCOLS);
-            clickAndWait("propertyForm:configs:topActionsGroup1:newButton", TRIGGER_NEW_PROTOCOL);
-            setFieldValue("propertyForm:propertySheet:propertSectionTextField:nameNew:name", protocol);
-            setFieldValue("propertyForm:propertySheet:fileTextField:maxAge:maxAge", maxAge);
-            setFieldValue("propertyForm:propertySheet:fileTextField:maxCacheSizeBytes:maxCacheSizeBytes", maxCacheSizeBytes);
-            setFieldValue("propertyForm:propertySheet:fileTextField:maxFile:maxFile", maxFile);
-            setFieldValue("propertyForm:propertySheet:httpTextField:maxC:maxC", maxC);
-            setFieldValue("propertyForm:propertySheet:httpTextField:TimeoutSeconds:TimeoutSeconds", timeoutSeconds);
-            setFieldValue("propertyForm:propertySheet:httpTextField:connectionUploadTimeout:connectionUploadTimeout", connectionUploadTimeout);
-            setFieldValue("propertyForm:propertySheet:httpTextField:RequestTimeoutSeconds:RequestTimeoutSeconds", requestTimeoutSeconds);
-            setFieldValue("propertyForm:propertySheet:httpTextField:sendBsize:sendBsize", sendBsize);
-            setFieldValue("propertyForm:propertySheet:httpTextField:headerBLength:headerBLength", headerBLength);
-            setFieldValue("propertyForm:propertySheet:httpTextField:MaxPostSize:headerBLength", maxPostSize);
-            selectDropdownOption("propertyForm:propertySheet:httpTextField:Compression:Compression", "on");
-            setFieldValue("propertyForm:propertySheet:httpTextField:compressableMime:compressableMime", compressableMime);
-            markCheckbox("propertyForm:propertySheet:httpTextField:Comet:cometEnabled");
-
-            clickAndWait("propertyForm:propertyContentPage:topButtons:newButton", TRIGGER_PROTOCOLS);
-            assertTrue(isTextPresent(protocol));
-
-            clickAndWait(getLinkIdByLinkText("propertyForm:configs", protocol), "Edit Protocol");
-            assertTrue(isTextPresent(protocol));
-
-            clickAndWait("propertyForm:protocolTabs:httpTab", "Modify HTTP settings for the protocol.");
-            assertEquals(maxC, getFieldValue("propertyForm:propertySheet:httpTextField:maxC:maxC"));
-            assertEquals(timeoutSeconds, getFieldValue("propertyForm:propertySheet:httpTextField:TimeoutSeconds:TimeoutSeconds"));
-            assertEquals(requestTimeoutSeconds, getFieldValue("propertyForm:propertySheet:httpTextField:RequestTimeoutSeconds:RequestTimeoutSeconds"));
-            assertEquals(connectionUploadTimeout, getFieldValue("propertyForm:propertySheet:httpTextField:connectionUploadTimeout:connectionUploadTimeout"));
-            assertEquals(sendBsize, getFieldValue("propertyForm:propertySheet:httpTextField:sendBsize:sendBsize"));
-            assertEquals(headerBLength, getFieldValue("propertyForm:propertySheet:httpTextField:headerBLength:headerBLength"));
-            assertEquals(maxPostSize, getFieldValue("propertyForm:propertySheet:httpTextField:MaxPostSize:headerBLength"));
-            assertEquals(compressableMime, getFieldValue("propertyForm:propertySheet:httpTextField:compressableMime:compressableMime"));
-            assertEquals(true, isChecked("propertyForm:propertySheet:httpTextField:Comet:cometEnabled"));
-
-            clickAndWait("propertyForm:protocolTabs:fileCacheTab", "Modify file cache settings for the protocol.");
-            assertEquals(maxAge, getFieldValue("propertyForm:propertySheet:fileTextField:maxAge:maxAge"));
-            assertEquals(maxCacheSizeBytes, getFieldValue("propertyForm:propertySheet:fileTextField:maxCacheSizeBytes:maxCacheSizeBytes"));
-            assertEquals(maxFile, getFieldValue("propertyForm:propertySheet:fileTextField:maxFile:maxFile"));
-
-            clickAndWait("propertyForm:propertyContentPage:topButtons:cancelButton", TRIGGER_PROTOCOLS);
-
-
-            deleteRow("propertyForm:configs:topActionsGroup1:button1", "propertyForm:configs", protocol);
-        }
-
-    }
-}
diff --git a/appserver/admingui/devtests/src/test/java/org/glassfish/admingui/devtests/NodeTest.java b/appserver/admingui/devtests/src/test/java/org/glassfish/admingui/devtests/NodeTest.java
deleted file mode 100644
index b6b7e65..0000000
--- a/appserver/admingui/devtests/src/test/java/org/glassfish/admingui/devtests/NodeTest.java
+++ /dev/null
@@ -1,317 +0,0 @@
-/*
- * Copyright (c) 2011, 2018 Oracle and/or its affiliates. All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v. 2.0, which is available at
- * http://www.eclipse.org/legal/epl-2.0.
- *
- * This Source Code may also be made available under the following Secondary
- * Licenses when the conditions for such availability set forth in the
- * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
- * version 2 with the GNU Classpath Exception, which is available at
- * 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.admingui.devtests;
-
-import org.junit.Test;
-
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertTrue;
-
-/**
- *
- * @author anilam
- */
-public class NodeTest extends BaseSeleniumTestClass {
-
-    private static final String ID_NODES_TABLE = "propertyForm:nodesTable";
-    private static final String ID_NODEHOST_FIELD = "propertyForm:propertySheet:propertSectionTextField:NodeHost:NodeHost";
-    private static final String ID_NODEDIRECTORY_FIELD = "propertyForm:propertySheet:propertSectionTextField:NodeHome:NodeHome";
-    private static final String ID_NEW_NODE_BUTTON = "propertyForm:nodesTable:topActionsGroup1:newButton";
-    private static final String ID_DELETE_NODE_BUTTON = "propertyForm:nodesTable:topActionsGroup1:button1";
-    private static final String ID_INSTALLDIR_FIELD = "propertyForm:propertySheet:propertSectionTextField:installdir-ssh:installDirssh";
-    private static final String ID_FORCE_FIELD = "propertyForm:propertySheet:sshConnectorSection:force:force";
-    private static final String ID_CREATE_NAME_FIELD = "propertyForm:propertySheet:propertSectionTextField:nameProp:name";
-    private static final String ID_CONFIG_INSTALLDIR_FIELD = "propertyForm:propertySheet:propertSectionTextField:installdir-config:installDirConfig";
-    private static final String ID_TYPE_FIELD = "propertyForm:propertySheet:propertSectionTextField:typeProp:type";
-    private static final String ID_CREATE_NODE_BUTTON = "propertyForm:propertyContentPage:topButtons:newButton";
-    private static final String ID_STANDALONE_TREE_LINK = "treeForm:tree:standaloneTreeNode:standaloneTreeNode_link";
-
-    private static final String ID_NODE_TREE_LINK = "treeForm:tree:nodeTreeNode:nodeTreeNode_link";
-
-    private static final String TRIGGER_DOMAIN_PAGE = "i18nc.domain.DomainAttrsPageTitleHelp";
-    private static final String TRIGGER_PSWD_ALIASES_PAGE =  "i18nc.pswdAliases.titleHelp";
-    private static final String TRIGGER_NEW_PSWD_ALIAS_PAGE = "i18nc.pswdAliasNew.titleHelp";
-    private static final String TRIGGER_NODES_PAGE = "i18ncs.nodes.PageTitleHelp";
-    private static final String TRIGGER_NEW_NODE_PAGE = "i18ncs.node.Keyfile";
-    private static final String TRIGGER_EDIT_NODE = "i18ncs.node.InstallDir";
-    private static final String TRIGGER_SAVE_SUCCESS = "New values successfully saved";
-    private static final String TRIGGER_INSTANCES_PAGE = "i18ncs.standaloneInstances.PageTitleHelp";
-    private static final String TRIGGER_NEW_INSTANCE_PAGE = "Configuration:";
-
-    private static final String NODE_NAME_PREFIX = "testNode-";
-    private static final String PSWD_ALIAS_NAME_PREFIX = "pswdalias-";
-
-
-    @Test
-    public void testCreateAndDeleteSSHNodewithKeyFile() {
-        final String nodeName = NODE_NAME_PREFIX + generateRandomString();
-
-        clickAndWait(ID_NODE_TREE_LINK, TRIGGER_NODES_PAGE);
-        clickAndWait(ID_NEW_NODE_BUTTON, TRIGGER_NEW_NODE_PAGE);
-
-        setFieldValue(ID_CREATE_NAME_FIELD, nodeName);
-        setFieldValue(ID_NODEHOST_FIELD, "NodeHOST");
-        setFieldValue(ID_NODEDIRECTORY_FIELD, "NodeDirectory");
-        //enterText(ID_INSTALLDIR_FIELD, "${com.sun.aas.productRoot}");
-        markCheckbox(ID_FORCE_FIELD);
-        setFieldValue("propertyForm:propertySheet:sshConnectorSection:sshport:sshport", "24");
-        selectDropdownOption("propertyForm:propertySheet:sshConnectorSection:psSelected:psSelected", "Key File");
-        setFieldValue("propertyForm:propertySheet:sshConnectorSection:Keyfile:Keyfile", "/sshKeyFileLocation");
-        clickAndWait(ID_CREATE_NODE_BUTTON, TRIGGER_NODES_PAGE);
-        // Verify nodes information in table
-        String prefix = getTableRowByValue(ID_NODES_TABLE, nodeName, "col1");
-        assertEquals(nodeName, getText(prefix + "col1:link"));
-        assertEquals("NodeHOST", getText(prefix + "col2"));
-        assertEquals("SSH", getText(prefix + "colType"));
-
-        //Verify the node is created with the value specified.
-        clickAndWait( getLinkIdByLinkText("propertyForm:nodesTable", nodeName), TRIGGER_EDIT_NODE) ;
-        assertTrue(isTextPresent(nodeName));
-
-        assertTrue(isTextPresent(nodeName));
-        assertEquals( "SSH", getSelectedValue(ID_TYPE_FIELD));
-        assertEquals("NodeHOST", getFieldValue(ID_NODEHOST_FIELD));
-        assertEquals("NodeDirectory", getFieldValue(ID_NODEDIRECTORY_FIELD));
-        assertEquals("${com.sun.aas.productRoot}", getFieldValue(ID_INSTALLDIR_FIELD));
-
-        assertEquals("24", getFieldValue("propertyForm:propertySheet:sshConnectorSection:sshport:sshport"));
-        assertEquals("/sshKeyFileLocation", getFieldValue("propertyForm:propertySheet:sshConnectorSection:Keyfile:Keyfile"));
-        clickAndWait("propertyForm:propertyContentPage:topButtons:cancelButton", TRIGGER_NODES_PAGE);
-
-        //Test Delete Node
-        deleteRow(ID_DELETE_NODE_BUTTON, "propertyForm:nodesTable", nodeName);
-    }
-
-    @Test
-    public void testCreateAndDeleteSSHNodewithPassword() {
-        final String nodeName = NODE_NAME_PREFIX + generateRandomString();
-
-        clickAndWait(ID_NODE_TREE_LINK, TRIGGER_NODES_PAGE);
-        clickAndWait(ID_NEW_NODE_BUTTON, TRIGGER_NEW_NODE_PAGE);
-
-        setFieldValue(ID_CREATE_NAME_FIELD, nodeName);
-        setFieldValue(ID_NODEHOST_FIELD, "NodeHOST2");
-        setFieldValue(ID_NODEDIRECTORY_FIELD, "NodeDirectory2");
-        setFieldValue(ID_INSTALLDIR_FIELD, "ProductRoot");
-        markCheckbox(ID_FORCE_FIELD);
-        setFieldValue("propertyForm:propertySheet:sshConnectorSection:sshport:sshport", "34");
-        selectDropdownOption("propertyForm:propertySheet:sshConnectorSection:psSelected:psSelected", "Password");
-
-        setFieldValue("propertyForm:propertySheet:sshConnectorSection:newPasswordProp:NewPassword", "abcde");
-        clickAndWait(ID_CREATE_NODE_BUTTON, TRIGGER_NODES_PAGE);
-        // Verify nodes information in table
-        String prefix = getTableRowByValue(ID_NODES_TABLE, nodeName, "col1");
-        assertEquals(nodeName, getText(prefix + "col1:link"));
-        assertEquals("NodeHOST2", getText(prefix + "col2"));
-        assertEquals("SSH", getText(prefix + "colType"));
-
-        //Verify the node is created with the value specified.
-        clickAndWait( getLinkIdByLinkText("propertyForm:nodesTable", nodeName), TRIGGER_EDIT_NODE) ;
-        assertTrue(isTextPresent(nodeName));
-
-        assertTrue(isTextPresent(nodeName));
-        assertEquals( "SSH", getSelectedValue(ID_TYPE_FIELD));
-        assertEquals("NodeHOST2", getFieldValue(ID_NODEHOST_FIELD));
-        assertEquals("NodeDirectory2", getFieldValue(ID_NODEDIRECTORY_FIELD));
-        assertEquals("ProductRoot", getFieldValue(ID_INSTALLDIR_FIELD));
-
-        assertEquals("34", getFieldValue("propertyForm:propertySheet:sshConnectorSection:sshport:sshport"));
-        assertEquals("abcde", getFieldValue("propertyForm:propertySheet:sshConnectorSection:newPasswordProp:NewPassword"));
-        clickAndWait("propertyForm:propertyContentPage:topButtons:cancelButton", TRIGGER_NODES_PAGE);
-
-        //Test Delete Node
-        deleteRow(ID_DELETE_NODE_BUTTON, "propertyForm:nodesTable", nodeName);
-    }
-
-    @Test
-    public void testCreateAndDeleteSSHNodewithPswdAlias() {
-        final String nodeName = NODE_NAME_PREFIX + generateRandomString();
-        final String pswdAliasName = PSWD_ALIAS_NAME_PREFIX + generateRandomString();
-        //create PasswordAlias
-        clickAndWait("treeForm:tree:nodes:nodes_link", TRIGGER_DOMAIN_PAGE);
-        clickAndWait("propertyForm:domainTabs:pswdAliases", TRIGGER_PSWD_ALIASES_PAGE);
-        clickAndWait("propertyForm:aliases:topActionsGroup1:newButton", TRIGGER_NEW_PSWD_ALIAS_PAGE);
-        setFieldValue("propertyForm:propertySheet:propertSectionTextField:aliasNameNew:aliasNameNew", pswdAliasName);
-        setFieldValue("propertyForm:propertySheet:propertSectionTextField:newPasswordProp:NewPassword", "abcde");
-        setFieldValue("propertyForm:propertySheet:propertSectionTextField:confirmPasswordProp:ConfirmPassword", "abcde");
-        clickAndWait(ID_CREATE_NODE_BUTTON, TRIGGER_PSWD_ALIASES_PAGE);
-
-        clickAndWait(ID_NODE_TREE_LINK, TRIGGER_NODES_PAGE);
-        clickAndWait(ID_NEW_NODE_BUTTON, TRIGGER_NEW_NODE_PAGE);
-        setFieldValue(ID_CREATE_NAME_FIELD, nodeName);
-        setFieldValue(ID_NODEHOST_FIELD, "NodeHOST3");
-        setFieldValue(ID_NODEDIRECTORY_FIELD, "NodeDirectory3");
-        setFieldValue(ID_INSTALLDIR_FIELD, "ProductRoot3");
-        markCheckbox(ID_FORCE_FIELD);
-        setFieldValue("propertyForm:propertySheet:sshConnectorSection:sshport:sshport", "34");
-        selectDropdownOption("propertyForm:propertySheet:sshConnectorSection:psSelected:psSelected", "Password Alias");
-        selectDropdownOption("propertyForm:propertySheet:sshConnectorSection:pswdAlias:pswdAlias", pswdAliasName);
-        clickAndWait(ID_CREATE_NODE_BUTTON, TRIGGER_NODES_PAGE);
-
-
-        // Verify nodes information in table
-        String prefix = getTableRowByValue(ID_NODES_TABLE, nodeName, "col1");
-        assertEquals(nodeName, getText(prefix + "col1:link"));
-        assertEquals("NodeHOST3", getText(prefix + "col2"));
-        assertEquals("SSH", getText(prefix + "colType"));
-
-        //Verify the node is created with the value specified.
-        clickAndWait( getLinkIdByLinkText("propertyForm:nodesTable", nodeName), TRIGGER_EDIT_NODE) ;
-        assertTrue(isTextPresent(nodeName));
-
-        assertTrue(isTextPresent(nodeName));
-        assertEquals( "SSH", getSelectedValue(ID_TYPE_FIELD));
-        assertEquals("NodeHOST3", getFieldValue(ID_NODEHOST_FIELD));
-        assertEquals("NodeDirectory3", getFieldValue(ID_NODEDIRECTORY_FIELD));
-        assertEquals("ProductRoot3", getFieldValue(ID_INSTALLDIR_FIELD));
-
-        assertEquals("34", getFieldValue("propertyForm:propertySheet:sshConnectorSection:sshport:sshport"));
-        assertTrue(isElementPresent("propertyForm:propertySheet:sshConnectorSection:psSelected:psSelected"));
-        assertTrue(isTextPresent(pswdAliasName));
-        clickAndWait("propertyForm:propertyContentPage:topButtons:cancelButton", TRIGGER_NODES_PAGE);
-
-        //Test Delete Node
-        deleteRow(ID_DELETE_NODE_BUTTON, "propertyForm:nodesTable", nodeName);
-
-        //Delete Pswd Alias created
-        clickAndWait("treeForm:tree:nodes:nodes_link", TRIGGER_DOMAIN_PAGE);
-        clickAndWait("propertyForm:domainTabs:pswdAliases", TRIGGER_PSWD_ALIASES_PAGE);
-        deleteRow("propertyForm:aliases:topActionsGroup1:button1", "propertyForm:aliases", pswdAliasName);
-    }
-
-
-    @Test
-    public void testCreateAndDeleteCONFIGNodes() {
-        final String nodeName = NODE_NAME_PREFIX + generateRandomString();
-
-        clickAndWait(ID_NODE_TREE_LINK, TRIGGER_NODES_PAGE);
-        clickAndWait(ID_NEW_NODE_BUTTON, TRIGGER_NEW_NODE_PAGE);
-
-        selectDropdownOption(ID_TYPE_FIELD, "CONFIG");
-        assertTrue(!isTextPresent("Force:"));
-        assertTrue(!isTextPresent("SSH Port:"));
-        assertTrue(!isTextPresent("SSH User Name:"));
-        assertTrue(!isTextPresent("SSH User Authentication:"));
-        assertTrue(!isTextPresent("SSH Password:"));
-        assertTrue(!isTextPresent("Confirm SSH Password:"));
-        assertTrue(!isTextPresent("Password Alias:"));
-        assertTrue(!isTextPresent("Key File:"));
-
-        setFieldValue(ID_CREATE_NAME_FIELD, nodeName);
-        setFieldValue(ID_NODEHOST_FIELD, "NodeHOSTCC");
-        setFieldValue(ID_NODEDIRECTORY_FIELD, "NodeDirectoryCC");
-        setFieldValue(ID_CONFIG_INSTALLDIR_FIELD, "/ProductRoot");
-        clickAndWait(ID_CREATE_NODE_BUTTON, TRIGGER_NODES_PAGE);
-
-        // Verify nodes information in table
-        String prefix = getTableRowByValue(ID_NODES_TABLE, nodeName, "col1");
-        assertEquals(nodeName, getText(prefix + "col1:link"));
-        assertEquals("NodeHOSTCC", getText(prefix + "col2"));
-        assertEquals("CONFIG", getText(prefix + "colType"));
-
-        //Verify the node is created with the value specified.
-        clickAndWait( getLinkIdByLinkText("propertyForm:nodesTable", nodeName), TRIGGER_EDIT_NODE) ;
-        assertTrue(isTextPresent(nodeName));
-        assertEquals( "CONFIG", getSelectedValue(ID_TYPE_FIELD));
-        assertEquals("NodeHOSTCC", getFieldValue(ID_NODEHOST_FIELD));
-        assertEquals("NodeDirectoryCC", getFieldValue(ID_NODEDIRECTORY_FIELD));
-        assertEquals("/ProductRoot", getFieldValue(ID_CONFIG_INSTALLDIR_FIELD));
-
-        clickAndWait("propertyForm:propertyContentPage:topButtons:cancelButton", TRIGGER_NODES_PAGE);
-
-        //Test Delete Node
-        deleteRow(ID_DELETE_NODE_BUTTON, "propertyForm:nodesTable", nodeName);
-    }
-
-
-    @Test
-    public void testUpdateCONFIGNode() {
-        final String nodeName = NODE_NAME_PREFIX + generateRandomString();
-
-        clickAndWait(ID_NODE_TREE_LINK, TRIGGER_NODES_PAGE);
-        clickAndWait(ID_NEW_NODE_BUTTON, TRIGGER_NEW_NODE_PAGE);
-
-        //create the config node
-        selectDropdownOption(ID_TYPE_FIELD, "CONFIG");
-        setFieldValue(ID_CREATE_NAME_FIELD, nodeName);
-        setFieldValue(ID_NODEHOST_FIELD, "NodeHOSTCC");
-        setFieldValue(ID_NODEDIRECTORY_FIELD, "NodeDirectoryCC");
-        setFieldValue(ID_CONFIG_INSTALLDIR_FIELD, "/ProductRoot");
-        clickAndWait(ID_CREATE_NODE_BUTTON, TRIGGER_NODES_PAGE);
-
-        //edit the node
-        clickAndWait( getLinkIdByLinkText("propertyForm:nodesTable", nodeName), TRIGGER_EDIT_NODE) ;
-        assertTrue(isTextPresent(nodeName));
-
-
-        assertEquals( "CONFIG", getSelectedValue(ID_TYPE_FIELD));
-        assertEquals("NodeHOSTCC", getFieldValue(ID_NODEHOST_FIELD));
-        setFieldValue(ID_NODEHOST_FIELD, "new-NodeHOSTCC");
-
-        assertEquals("NodeDirectoryCC", getFieldValue(ID_NODEDIRECTORY_FIELD));
-        setFieldValue(ID_NODEDIRECTORY_FIELD, "new-NodeDirectoryCC");
-
-        assertEquals("/ProductRoot", getFieldValue(ID_CONFIG_INSTALLDIR_FIELD));
-        setFieldValue(ID_CONFIG_INSTALLDIR_FIELD, "/new-ProductRoot");
-        clickAndWait("propertyForm:propertyContentPage:topButtons:saveButton", TRIGGER_SAVE_SUCCESS );
-
-        assertEquals("new-NodeHOSTCC", getFieldValue(ID_NODEHOST_FIELD ));
-        assertEquals("new-NodeDirectoryCC", getFieldValue(ID_NODEDIRECTORY_FIELD));
-        assertEquals("/new-ProductRoot", getFieldValue(ID_CONFIG_INSTALLDIR_FIELD));
-
-        reset();
-        clickAndWait(ID_NODE_TREE_LINK, TRIGGER_NODES_PAGE);
-        deleteRow(ID_DELETE_NODE_BUTTON, "propertyForm:nodesTable", nodeName);
-    }
-
-    /* Create a Node,  create an instance with this node,  delete this node will cause error */
-    @Test
-    public void testDeleteWithInstance(){
-        final String nodeName = NODE_NAME_PREFIX + generateRandomString();
-        final String instanceName = "testInstance" + generateRandomString();
-        StandaloneTest standaloneTest = new StandaloneTest();
-
-        standaloneTest.deleteAllStandaloneInstances();
-        createSSHNode(nodeName);
-        createInstance(instanceName, nodeName);
-        clickAndWait(ID_NODE_TREE_LINK, TRIGGER_NODES_PAGE);
-        // This part shoudl fail?
-        rowActionWithConfirm(ID_DELETE_NODE_BUTTON, "propertyForm:nodesTable", nodeName);
-        waitForCondition("document.getElementById('propertyForm:nodesTable:topActionsGroup1:button1').value != 'Processing...'", 180000);
-        assertTrue(isTextPresent("An error has occurred"));
-        standaloneTest.deleteAllStandaloneInstances();
-        reset();
-        clickAndWait(ID_NODE_TREE_LINK, TRIGGER_NODES_PAGE);
-        deleteRow(ID_DELETE_NODE_BUTTON, "propertyForm:nodesTable", nodeName);
-    }
-
-    private void createSSHNode(String nodeName){
-        clickAndWait(ID_NODE_TREE_LINK, TRIGGER_NODES_PAGE);
-        clickAndWait(ID_NEW_NODE_BUTTON, TRIGGER_NEW_NODE_PAGE);
-
-        setFieldValue(ID_CREATE_NAME_FIELD, nodeName);
-        setFieldValue(ID_NODEHOST_FIELD, "localhost");
-        markCheckbox(ID_FORCE_FIELD);
-        clickAndWait(ID_CREATE_NODE_BUTTON, TRIGGER_NODES_PAGE);
-        assertTrue(tableContainsRow("propertyForm:nodesTable", "col1", nodeName));
-    }
-
-    private void createInstance(String instanceName, String nodeName){
-        StandaloneTest standaloneTest = new StandaloneTest();
-        standaloneTest.createStandAloneInstance(instanceName, nodeName);
-    }
-}
diff --git a/appserver/admingui/devtests/src/test/java/org/glassfish/admingui/devtests/RegistrationTest.java b/appserver/admingui/devtests/src/test/java/org/glassfish/admingui/devtests/RegistrationTest.java
deleted file mode 100644
index daa8824..0000000
--- a/appserver/admingui/devtests/src/test/java/org/glassfish/admingui/devtests/RegistrationTest.java
+++ /dev/null
@@ -1,36 +0,0 @@
-/*
- * Copyright (c) 2011, 2018 Oracle and/or its affiliates. All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v. 2.0, which is available at
- * http://www.eclipse.org/legal/epl-2.0.
- *
- * This Source Code may also be made available under the following Secondary
- * Licenses when the conditions for such availability set forth in the
- * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
- * version 2 with the GNU Classpath Exception, which is available at
- * 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.admingui.devtests;
-
-import org.glassfish.admingui.devtests.util.SeleniumHelper;
-import org.junit.Test;
-
-/*public class RegistrationTest extends BaseSeleniumTestClass {
-
-    // this test connects to an external site on the internet. It will fail if the site is down or there is no internet.
-    @Test
-    public void testRegistration() {
-        open(SeleniumHelper.getInstance().getBaseUrl() + "/common/registration.jsf");
-        sleep(1000); // ugh
-        isTextPresent("Oracle");
-        submitForm("form1");
-        isTextPresent("GlassFish");
-        markCheckbox("acceptTOU");
-        pressButton("submitButton");
-    }
-}*/
-
diff --git a/appserver/admingui/devtests/src/test/java/org/glassfish/admingui/devtests/ResourceAdapterConfigsTest.java b/appserver/admingui/devtests/src/test/java/org/glassfish/admingui/devtests/ResourceAdapterConfigsTest.java
deleted file mode 100644
index 57dbda0..0000000
--- a/appserver/admingui/devtests/src/test/java/org/glassfish/admingui/devtests/ResourceAdapterConfigsTest.java
+++ /dev/null
@@ -1,51 +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.admingui.devtests;
-
-import org.junit.Test;
-import org.omg.CORBA.SetOverrideType;
-
-import static org.junit.Assert.*;
-
-public class ResourceAdapterConfigsTest extends BaseSeleniumTestClass {
-    private static final String TRIGGER_RESOURCE_ADAPTER_CONFIGS = "i18njca.resourceAdapterConfig.pageTitleHelp";
-    private static final String TRIGGER_NEW_RESOURCE_ADAPTER = "i18njca.resourceAdapterConfig.newPageTitleHelp";
-    public static final String TRIGGER_EDIT_RESOURCE_ADAPTER_CONFIG = "i18njca.resourceAdapterConfig.editPageTitleHelp";
-
-    @Test
-    public void testResourceAdapterConfigs() throws Exception {
-        clickAndWait("treeForm:tree:resources:resourceAdapterConfigs:resourceAdapterConfigs_link", TRIGGER_RESOURCE_ADAPTER_CONFIGS);
-
-        if (tableContainsRow("propertyForm:poolTable", "col1", "jmsra")) {
-            deleteRow("propertyForm:poolTable:topActionsGroup1:button1", "propertyForm:poolTable", "jmsra");
-
-        }
-
-        // Create new RA config
-        clickAndWait("propertyForm:poolTable:topActionsGroup1:newButton", TRIGGER_NEW_RESOURCE_ADAPTER);
-        selectDropdownOption("propertyForm:propertySheet:propertSectionTextField:threadPoolsIdProp:threadpoolsid", "thread-pool-1");
-        clickAndWait("propertyForm:propertyContentPage:topButtons:newButton", TRIGGER_RESOURCE_ADAPTER_CONFIGS, TIMEOUT*10);
-
-        // Verify config was saved and update values
-        assertTrue(isTextPresent("jmsra"));
-        clickAndWait(getLinkIdByLinkText("propertyForm:poolTable", "jmsra"), TRIGGER_EDIT_RESOURCE_ADAPTER_CONFIG);
-        clickAndWait("propertyForm:propertyContentPage:topButtons:cancelButton", TRIGGER_RESOURCE_ADAPTER_CONFIGS);
-
-        // Remove config
-        deleteRow("propertyForm:poolTable:topActionsGroup1:button1", "propertyForm:poolTable", "jmsra");
-    }
-}
diff --git a/appserver/admingui/devtests/src/test/java/org/glassfish/admingui/devtests/RestResponseTest.java b/appserver/admingui/devtests/src/test/java/org/glassfish/admingui/devtests/RestResponseTest.java
deleted file mode 100644
index 06fc9b9..0000000
--- a/appserver/admingui/devtests/src/test/java/org/glassfish/admingui/devtests/RestResponseTest.java
+++ /dev/null
@@ -1,62 +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.admingui.devtests;
-
-import org.glassfish.admingui.devtests.util.SeleniumHelper;
-import org.glassfish.admingui.common.util.RestUtil;
-import java.util.HashMap;
-import org.glassfish.admingui.common.util.RestResponse;
-import org.junit.Test;
-
-import static org.junit.Assert.*;
-
-
-/**
- *
- * @author jasonlee
- */
-/*public class RestResponseTest {
-    private static final SeleniumHelper helper = SeleniumHelper.getInstance();
-    public static final String BASE_URL = helper.getBaseUrl() + "/management/domain";
-    static final String URL_UPTIME = BASE_URL + "/uptime";
-    static final String URL_GENERATE_JVM_REPORT = BASE_URL + "/servers/server/server/generate-jvm-report";
-
-    @Test
-    public void testPostCommand() {
-        RestResponse response = RestUtil.get(URL_GENERATE_JVM_REPORT, new HashMap<String, Object>(){{
-            put ("type", "summary");
-        }});
-        final String responseBody = response.getResponseBody();
-        System.err.println(responseBody);
-        assertTrue(responseBody.contains("Operating System Information"));
-    }
-
-    @Test
-    public void testGetCommand() {
-        RestResponse response = RestUtil.get(URL_UPTIME);
-        assertTrue(response.getResponseBody().contains("\"uptime AdminCommand\""));
-    }
-
-    @Test
-    public void testEndpointExists() {
-        RestResponse response = RestUtil.get(URL_UPTIME);
-        assertTrue(response.isSuccess());
-
-        response = RestUtil.get(URL_UPTIME + "/forceFailure");
-        assertFalse(response.isSuccess());
-    }
-}*/
diff --git a/appserver/admingui/devtests/src/test/java/org/glassfish/admingui/devtests/RestSessionTimeoutTest.java b/appserver/admingui/devtests/src/test/java/org/glassfish/admingui/devtests/RestSessionTimeoutTest.java
deleted file mode 100644
index f993ebb..0000000
--- a/appserver/admingui/devtests/src/test/java/org/glassfish/admingui/devtests/RestSessionTimeoutTest.java
+++ /dev/null
@@ -1,164 +0,0 @@
-/*
- * Copyright (c) 2011, 2018 Oracle and/or its affiliates. All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v. 2.0, which is available at
- * http://www.eclipse.org/legal/epl-2.0.
- *
- * This Source Code may also be made available under the following Secondary
- * Licenses when the conditions for such availability set forth in the
- * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
- * version 2 with the GNU Classpath Exception, which is available at
- * 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.admingui.devtests;
-
-/*import org.junit.BeforeClass;
-import org.junit.Before;
-import com.sun.jersey.api.client.Client;
-import com.sun.jersey.api.client.ClientResponse;
-import com.sun.jersey.api.client.filter.HTTPBasicAuthFilter;
-import com.sun.jersey.core.util.MultivaluedMapImpl;
-import java.util.HashMap;
-import java.util.Map;
-import jakarta.ws.rs.core.MediaType;
-import jakarta.ws.rs.core.MultivaluedMap;
-import org.glassfish.admingui.devtests.util.SeleniumHelper;
-import org.junit.Test;
-import static org.junit.Assert.*;*/
-
-/**
- *
- * @author jasonlee
- */
-/*public class RestSessionTimeoutTest extends BaseSeleniumTestClass {
-
-//    protected Client client = Client.create();
-    protected final String baseUrl = "http://localhost:" + SeleniumHelper.getParameter("admin.port", "4848") + "/management/domain";
-    protected static final String RESPONSE_TYPE = MediaType.APPLICATION_JSON;
-    protected static final String AUTH_USER_NAME = "admin";
-    protected static final String AUTH_PASSWORD = "admin";
-
-    @BeforeClass
-    public static void setUp() {
-
-    }
-
-    @Before
-    @Override
-    public void reset() {
-        try {
-            authenticate();
-            setAdminPassword(AUTH_PASSWORD, "");
-        } catch (Exception e) {
-            //
-        }
-        client = Client.create();
-        super.reset();
-    }
-
-    @Test
-    public void testTimeout() throws InterruptedException {
-        try {
-            // Set the REST session token timeout to one minute
-            setRestSessionTokenTimeout("1");
-            // Set a password on the admin user
-            setAdminPassword("", AUTH_PASSWORD);
-            // Wait for just over a minute to give the REST session a chance to timeout
-            Thread.sleep(1*60*1000); // min * sec * mills
-            // Click the home button. We should see the login screen. We do a manual loop
-            // here rather than the base class methods as they assume Ajax navigation.
-            open("/");
-            waitForLoginPageLoad(30);*/
-            /*
-            for (int seconds = 0;; seconds++) {
-                if (seconds >= (30)) {
-                    fail("The operation timed out waiting for the page to load.");
-                }
-
-                boolean loginFormIsDisplayed = false;
-
-                try {
-                    loginFormIsDisplayed = isElementPresent("j_username");
-                } catch (Exception ex) {
-                }
-                if (loginFormIsDisplayed) {
-                    break;
-                }
-
-                sleep(TIMEOUT_CALLBACK_LOOP);
-            }
-             */
-/*        } finally {
-            // Authenticate so the REST call succeeds
-            authenticate();
-            // Clear password
-            setAdminPassword(AUTH_PASSWORD, "");
-            // Clear auth credentials
-            client = Client.create();
-            // Rest token timeout
-            setRestSessionTokenTimeout("30");
-        }
-    }
-
-    protected void setRestSessionTokenTimeout(final String minutes) {
-        ClientResponse response = post(baseUrl + "/_set-rest-admin-config", new HashMap<String, String>() {
-
-            {
-                put("sessiontokentimeout", minutes);
-            }
-        });
-        checkStatusForSuccess(response);
-    }
-
-    protected void setAdminPassword(final String oldPass, final String newPass) {
-        ClientResponse response = post(baseUrl + "/change-admin-password", new HashMap<String, String>() {
-
-            {
-                put("AS_ADMIN_PASSWORD", oldPass);
-                put("AS_ADMIN_NEWPASSWORD", newPass);
-                put("id", "admin");
-            }
-        });
-    }
-
-    //*************************************************************************
-    // TODO: These methods were copied from the REST devtests. When we have a
-    // proper rest-client lib, these can go away.
-
-    protected ClientResponse delete(String address) {
-        return client.resource(address).accept(RESPONSE_TYPE).delete(ClientResponse.class);
-    }
-
-    protected ClientResponse post(String address, Map<String, String> payload) {
-        return client.resource(address).accept(RESPONSE_TYPE).post(ClientResponse.class, buildMultivaluedMap(payload));
-    }
-
-    private MultivaluedMap buildMultivaluedMap(Map<String, String> payload) {
-        if (payload instanceof MultivaluedMap) {
-            return (MultivaluedMap) payload;
-        }
-        MultivaluedMap formData = new MultivaluedMapImpl();
-        if (payload != null) {
-            for (final Map.Entry<String, String> entry : payload.entrySet()) {
-                formData.add(entry.getKey(), entry.getValue());
-            }
-        }
-        return formData;
-    }
-
-    protected void authenticate() {
-        client.addFilter(new HTTPBasicAuthFilter(AUTH_USER_NAME, AUTH_PASSWORD));
-    }
-
-    protected void checkStatusForSuccess(ClientResponse cr) {
-        int status = cr.getStatus();
-        if ((status < 200) || (status > 299)) {
-            fail("Expected a status between 200 and 299 (inclusive).  Found " + status);
-        }
-    }
-    //**************************************************************************
-}*/
diff --git a/appserver/admingui/devtests/src/test/java/org/glassfish/admingui/devtests/SecurityTest.java b/appserver/admingui/devtests/src/test/java/org/glassfish/admingui/devtests/SecurityTest.java
deleted file mode 100644
index 8852920..0000000
--- a/appserver/admingui/devtests/src/test/java/org/glassfish/admingui/devtests/SecurityTest.java
+++ /dev/null
@@ -1,373 +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.admingui.devtests;
-
-import java.util.ArrayList;
-import org.junit.Test;
-
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertTrue;
-
-public class SecurityTest extends BaseSeleniumTestClass {
-    public static final String TRIGGER_NEW_REALM = "i18nc.realm.NewPageHelp";
-    public static final String TRIGGER_SECURITY_REALMS = "i18nc.realm.PageHelp";
-    public static final String TRIGGER_EDIT_REALM = "i18nc.realm.EditPageTitleHelp";
-    public static final String TRIGGER_FILE_USERS = "i18nc.manageUsers.TablePageHelp";
-    public static final String TRIGGER_NEW_FILE_REALM_USER = "i18nc.manageUsers.NewPageTitle";
-    public static final String TRIGGER_AUDIT_MODULES = "Use audit modules to develop an audit trail of all authentication and authorization decisions.";
-    //"Use audit modules to develop an audit trail of all authentication and authorization decisions.";
-    public static final String TRIGGER_NEW_AUDIT_MODULE = "i18nc.auditModule.NewPageTitle";
-    public static final String TRIGGER_EDIT_AUDIT_MODULE = "i18nc.auditModule.EditPageTitle";
-    public static final String TRIGGER_JACC_PROVIDERS = "i18nc.jacc.PageHelp";
-    public static final String TRIGGER_NEW_JACC_PROVIDER = "i18nc.jacc.NewPageTitle";
-    public static final String TRIGGER_EDIT_JACC_PROVIDER = "i18nc.jacc.EditTitle";
-    public static final String TRIGGER_MESSAGE_SECURITY_CONFIGURATIONS = "i18nc.msgSecurity.ListPageTitle";
-    public static final String TRIGGER_NEW_MESSAGE_SECURITY_CONFIGURATION = "i18nc.headings.NewMsgSecurity";
-    public static final String TRIGGER_EDIT_MESSAGE_SECURITY_CONFIGURATION = "i18nc.msgSecurity.EditMsgSecurity";
-    public static final String TRIGGER_EDIT_PROVIDER_CONFIGURATION = "i18nc.msgProvider.EditPageTitle";
-    public static final String TRIGGER_PROVIDER_CONFIGURATION = "i18nc.msgSecProvider.TableTitle";
-    public static final String TRIGGER_NEW_PROVIDER_CONFIGURATION = "i18nc.msgSecProvider.NewPageTitle";
-    public static final String TRIGGER_GENERAL_INFORMATION = "i18n.instance.GeneralTitle";
-    public static final String TRIGGER_SECURE_ADMINISTRATION = "i18nc.security.secureAdmin";
-    public static final String TRIGGER_ADMIN_ALIAS = "i18nc.security.secureAdmin.adminalias";
-    public static final String TRIGGER_RESTART_DOMAIN = "i18n.restart.RestartHeading";
-    public static final String ADMIN_PWD_DOMAIN_ATTRIBUTES = "i18nc.domain.DomainAttrsPageTitle";
-    public static final String ADMIN_PWD_NEW_ADMINPWD = "i18nc.domain.AdminPasswordTitle";
-
-    public static final String JVM_CONFIG = "i18nc.jvm.GeneralPageHelp";
-    public static final String JVM_OPTION = "i18nc.jvmOptions.PageHelp";
-    public static final String SECURITY_MGR = "i18nc.security.SecurityPageHelp";
-
-    private static final String TRIGGER_CONFIGURATION = "i18nc.configurations.PageTitleHelp";
-    private static final String TRIGGER_NEW_CONFIGURATION = "i18nc.configurations.NewPageTitle";
-    ArrayList<String> list = new ArrayList(); {list.add("server-config"); list.add("new-config");}
-
-
-//    @Test
-    // TODO: The page has a component without an explicit ID. Disabling the test for now.
-    public void testSecurityPage() {
-
-        createConfig("new-config");
-        for (String configName : list) {
-            clickAndWait("treeForm:tree:configurations:" + configName + ":jvmSettings:jvmSettings_link", JVM_CONFIG);
-            clickAndWait("propertyForm:javaConfigTab:jvmOptions", JVM_OPTION);
-            int beforeCount = getTableRowCount("propertyForm:basicTable");
-            clickAndWait("treeForm:tree:configurations:server-config:security:security_link", SECURITY_MGR);
-            markCheckbox("propertyForm:propertySheet:propertSectionTextField:securityManagerProp:sun_checkbox133"); // TODO: Give this component an ID
-            clickAndWait("propertyForm:propertyContentPage:topButtons:saveButton", TRIGGER_NEW_VALUES_SAVED);
-            clickAndWait("treeForm:tree:configurations:server-config:jvmSettings:jvmSettings_link", JVM_CONFIG);
-            clickAndWait("propertyForm:javaConfigTab:jvmOptions", JVM_OPTION);
-            int afterCount = getTableRowCount("propertyForm:basicTable");
-            assertEquals(afterCount, beforeCount+1);
-        }
-    }
-
-    @Test
-    public void testNewSecurityRealm() {
-        final String realmName = "TestRealm" + generateRandomString();
-        final String contextName = "Context" + generateRandomString();
-
-        createConfig("new-config");
-        for (String configName : list) {
-            createRealm(configName, realmName, contextName);
-            deleteRow("propertyForm:realmsTable:topActionsGroup1:button1", "propertyForm:realmsTable", realmName);
-            reset();
-        }
-    }
-
-    @Test
-    public void testAddUserToFileRealm() {
-        final String userId = "user" + generateRandomString();
-        final String password = "password" + generateRandomString();
-
-        createConfig("new-config");
-        for (String configName : list) {
-            addUserToRealm(configName, "file", userId, password);
-
-            deleteRow("propertyForm:users:topActionsGroup1:button1", "propertyForm:users", userId);
-            reset();
-        }
-    }
-
-    @Test
-    public void testAddAuditModule() {
-        final String auditModuleName = "auditModule" + generateRandomString();
-        final String className = "org.glassfish.NonexistentModule";
-
-        createConfig("new-config");
-        for (String configName : list) {
-            clickAndWait("treeForm:tree:configurations:" + configName + ":security:auditModules:auditModules_link", TRIGGER_AUDIT_MODULES);
-            clickAndWait("propertyForm:configs:topActionsGroup1:newButton", TRIGGER_NEW_AUDIT_MODULE);
-            setFieldValue("propertyForm:propertySheet:propertSectionTextField:IdTextProp:IdText", auditModuleName);
-            setFieldValue("propertyForm:propertySheet:propertSectionTextField:classNameProp:ClassName", className);
-            int count = addTableRow("propertyForm:basicTable", "propertyForm:basicTable:topActionsGroup1:addSharedTableButton");
-
-            setFieldValue("propertyForm:basicTable:rowGroup1:0:col2:col1St", "property");
-            setFieldValue("propertyForm:basicTable:rowGroup1:0:col3:col1St", "value");
-            setFieldValue("propertyForm:basicTable:rowGroup1:0:col4:col1St", "description");
-
-            clickAndWait("propertyForm:propertyContentPage:topButtons:newButton", TRIGGER_AUDIT_MODULES);
-            assertTrue(isTextPresent(auditModuleName));
-
-            clickAndWait(getLinkIdByLinkText("propertyForm:configs", auditModuleName), TRIGGER_EDIT_AUDIT_MODULE);
-            assertTableRowCount("propertyForm:basicTable", count);
-
-            clickAndWait("propertyForm:propertyContentPage:topButtons:cancelButton", TRIGGER_AUDIT_MODULES);
-
-            deleteRow("propertyForm:configs:topActionsGroup1:button1", "propertyForm:configs", auditModuleName);
-            reset();
-        }
-    }
-
-    @Test
-    public void testAddJaccModule() {
-        final String providerName = "testJaccProvider" + generateRandomString();
-        final String policyConfig = "com.example.Foo";
-        final String policyProvider = "com.example.Foo";
-        final String propName = "propName";
-        final String propValue = "propValue";
-        final String propDescription = generateRandomString();
-
-        createConfig("new-config");
-        for (String configName : list) {
-            clickAndWait("treeForm:tree:configurations:" + configName + ":security:jaccProviders:jaccProviders_link", TRIGGER_JACC_PROVIDERS);
-            clickAndWait("propertyForm:configs:topActionsGroup1:newButton", TRIGGER_NEW_JACC_PROVIDER);
-
-            setFieldValue("propertyForm:propertySheet:propertSectionTextField:IdTextProp:IdText", providerName);
-            setFieldValue("propertyForm:propertySheet:propertSectionTextField:policyConfigProp:PolicyConfig", policyConfig);
-            setFieldValue("propertyForm:propertySheet:propertSectionTextField:policyProviderProp:PolicyProvider", policyProvider);
-
-            int count = addTableRow("propertyForm:basicTable", "propertyForm:basicTable:topActionsGroup1:addSharedTableButton");
-            setFieldValue("propertyForm:basicTable:rowGroup1:0:col2:col1St", propName);
-            setFieldValue("propertyForm:basicTable:rowGroup1:0:col3:col1St", propValue);
-            setFieldValue("propertyForm:basicTable:rowGroup1:0:col4:col1St", propDescription);
-
-            clickAndWait("propertyForm:propertyContentPage:topButtons:newButton", TRIGGER_JACC_PROVIDERS);
-            assertTrue(tableContainsRow("propertyForm:configs", "col1", providerName));
-
-            clickAndWait(getLinkIdByLinkText("propertyForm:configs", providerName), TRIGGER_EDIT_JACC_PROVIDER);
-            assertEquals(policyConfig, getFieldValue("propertyForm:propertySheet:propertSectionTextField:policyConfigProp:PolicyConfig"));
-            assertEquals(policyProvider, getFieldValue("propertyForm:propertySheet:propertSectionTextField:policyProviderProp:PolicyProvider"));
-            assertEquals(propName, getFieldValue("propertyForm:basicTable:rowGroup1:0:col2:col1St"));
-            assertEquals(propValue, getFieldValue("propertyForm:basicTable:rowGroup1:0:col3:col1St"));
-            assertEquals(propDescription, getFieldValue("propertyForm:basicTable:rowGroup1:0:col4:col1St"));
-
-            assertTableRowCount("propertyForm:basicTable", count);
-            clickAndWait("propertyForm:propertyContentPage:topButtons:cancelButton", TRIGGER_JACC_PROVIDERS);
-
-            deleteRow("propertyForm:configs:topActionsGroup1:button1", "propertyForm:configs", providerName);
-            reset();
-        }
-    }
-
-    @Test
-    public void testAddMessageSecurityConfiguration() {
-        final String providerName = "provider" + generateRandomString();
-        final String className = "com.example.Foo";
-
-        createConfig("new-config");
-        for (String configName : list) {
-            clickAndWait("treeForm:tree:configurations:" + configName + ":security:messageSecurity:messageSecurity_link", TRIGGER_MESSAGE_SECURITY_CONFIGURATIONS);
-            clickAndWait("treeForm:tree:configurations:" + configName + ":security:messageSecurity:SOAP:link", TRIGGER_EDIT_MESSAGE_SECURITY_CONFIGURATION);
-            clickAndWait("propertyForm:msgSecurityTabs:providers", TRIGGER_PROVIDER_CONFIGURATION);
-            clickAndWait("propertyForm:configs:topActionsGroup1:newButton", TRIGGER_NEW_PROVIDER_CONFIGURATION);
-
-            setFieldValue("propertyForm:propertySheet:providerConfSection:ProviderIdTextProp:ProviderIdText", providerName);
-            setFieldValue("propertyForm:propertySheet:providerConfSection:ClassNameProp:ClassName", className);
-            int count = addTableRow("propertyForm:basicTable", "propertyForm:basicTable:topActionsGroup1:addSharedTableButton");
-
-            setFieldValue("propertyForm:basicTable:rowGroup1:0:col2:col1St", "property");
-            setFieldValue("propertyForm:basicTable:rowGroup1:0:col3:col1St", "value");
-            setFieldValue("propertyForm:basicTable:rowGroup1:0:col4:col1St", "description");
-
-            clickAndWait("propertyForm:propertyContentPage:topButtons:newButton", TRIGGER_PROVIDER_CONFIGURATION);
-            assertTrue(isTextPresent(providerName));
-            clickAndWait(getLinkIdByLinkText("propertyForm:configs", providerName), TRIGGER_EDIT_PROVIDER_CONFIGURATION);
-            // Case Added for Issue 15711
-            clickAndWait("propertyForm:propertyContentPage:topButtons:saveButton", TRIGGER_NEW_VALUES_SAVED);
-            assertEquals(className, getFieldValue("propertyForm:propertySheet:providerConfSection:ClassNameProp:ClassName"));
-            assertTableRowCount("propertyForm:basicTable", count);
-            reset();
-        }
-    }
-
-    @Test
-    public void testNewAdminPassword() {
-        updateAdminPassword("");
-    }
-
-    /*
-     * This test was add to test for regressions of GLASSFISH-14797
-     */
-    @Test
-    public void testAddUserToRealmInRunningStandaloneInstance() {
-        final String instanceName = "server" + generateRandomString();
-        final String configName = instanceName + "-config";
-        final String contextName = "Context" + generateRandomString();
-        final String realmName = "newRealm";
-        final String userName = "user" + generateRandomNumber();
-        final StandaloneTest sat = new StandaloneTest();
-
-        try {
-            sat.createStandAloneInstance(instanceName);
-            sat.startInstance(instanceName);
-
-            createRealm(configName, realmName, contextName);
-            addUserToRealm(configName, realmName, userName, "password");
-
-            // Delete the user for good measure
-            deleteUserFromRealm(configName, realmName, userName);
-        } finally {
-
-            sat.deleteStandAloneInstance(instanceName);
-        }
-    }
-
-    /*
-     * This test was added to test for GLASSFISH-16126
-     */
-    @Test
-    public void testSecureAdministration() {
-      try {
-          enableSecureAdministration(true);
-      } finally {
-          enableSecureAdministration(false);
-          updateAdminPassword("");
-      }
-    }
-
-    @Test
-    public void testRedirectAfterLogin() {
-        final String newUser = "user" + generateRandomString();
-        final String realmName = "admin-realm";
-        final String newPass = generateRandomString();
-
-        try {
-            addUserToRealm("server-config", realmName, newUser, newPass);
-            // http://localhost:4848/common/help/help.jsf?contextRef=/resource/common/en/help/ref-developercommontasks.html
-            reset();
-            pressButton("Masthead:logoutLink");
-            waitForLoginPageLoad(30);
-            handleLogin(newUser, newPass, TRIGGER_COMMON_TASKS);
-            open ("http://localhost:4848/common/help/help.jsf?contextRef=/resource/common/en/help/ref-developercommontasks.html");
-        } finally {
-            reset();
-            pressButton("Masthead:logoutLink");
-            waitForLoginPageLoad(30);
-            handleLogin();
-            deleteUserFromRealm("server-config", realmName, newUser);
-        }
-    }
-
-    public void createConfig(String configName) {
-        clickAndWait("treeForm:tree:configurations:configurations_link", TRIGGER_CONFIGURATION);
-        if (!isTextPresent("new-config")) {
-            clickAndWait("propertyForm:configs:topActionsGroup1:newButton", TRIGGER_NEW_CONFIGURATION);
-            setFieldValue("propertyForm:propertySheet:propertSectionTextField:NameProp:Name", configName);
-            clickAndWait("propertyForm:propertyContentPage:topButtons:okButton", TRIGGER_CONFIGURATION);
-            assertTrue(tableContainsRow("propertyForm:configs", "col1", configName));
-            clickAndWaitForElement("Masthead:homeLink", "treeForm:tree:configurations:" + configName + ":" + configName + "_link");
-        }
-    }
-
-    public void createRealm(String configName, String realmName, String contextName) {
-            String TRIGGER_SECURITY_REALMS_LINK = "treeForm:tree:configurations:" + configName + ":security:realms:realms_link";
-            clickAndWaitForElement("Masthead:homeLink", TRIGGER_SECURITY_REALMS_LINK);
-            clickAndWait(TRIGGER_SECURITY_REALMS_LINK, TRIGGER_SECURITY_REALMS);
-            clickAndWait("propertyForm:realmsTable:topActionsGroup1:newButton", TRIGGER_NEW_REALM);
-            setFieldValue("form1:propertySheet:propertySectionTextField:NameTextProp:NameText", realmName);
-            selectDropdownOption("form1:propertySheet:propertySectionTextField:cp:Classname", "com.sun.enterprise.security.auth.realm.file.FileRealm");
-            setFieldValue("form1:fileSection:jaax:jaax", contextName);
-            setFieldValue("form1:fileSection:keyFile:keyFile", "${com.sun.aas.instanceRoot}/config/testfile");
-            clickAndWait("form1:propertyContentPage:topButtons:newButton", TRIGGER_SECURITY_REALMS);
-            assertTrue(isTextPresent(realmName));
-    }
-
-    public void addUserToRealm(String configName, String realmName, String userName, String password) {
-        reset();
-        String TRIGGER_SECURITY_REALMS_LINK = "treeForm:tree:configurations:" + configName + ":security:realms:realms_link";
-        clickAndWaitForElement("Masthead:homeLink", TRIGGER_SECURITY_REALMS_LINK);
-        clickAndWait(TRIGGER_SECURITY_REALMS_LINK, TRIGGER_SECURITY_REALMS);
-        clickAndWait(getLinkIdByLinkText("propertyForm:realmsTable", realmName), TRIGGER_EDIT_REALM);
-
-        clickAndWait("form1:propertyContentPage:manageUsersButton", TRIGGER_FILE_USERS);
-        clickAndWait("propertyForm:users:topActionsGroup1:newButton", TRIGGER_NEW_FILE_REALM_USER);
-
-        setFieldValue("propertyForm:propertySheet:propertSectionTextField:userIdProp:UserId", userName);
-        setFieldValue("propertyForm:propertySheet:propertSectionTextField:newPasswordProp:NewPassword", password);
-        setFieldValue("propertyForm:propertySheet:propertSectionTextField:confirmPasswordProp:ConfirmPassword", password);
-        clickAndWait("propertyForm:propertyContentPage:topButtons:newButton", TRIGGER_FILE_USERS);
-        assertTrue(isTextPresent(userName));
-
-    }
-
-    public void deleteUserFromRealm(String configName, String realmName, String userName) {
-        reset();
-        String TRIGGER_SECURITY_REALMS_LINK = "treeForm:tree:configurations:" + configName + ":security:realms:realms_link";
-        clickAndWaitForElement("Masthead:homeLink", TRIGGER_SECURITY_REALMS_LINK);
-        clickAndWait(TRIGGER_SECURITY_REALMS_LINK, TRIGGER_SECURITY_REALMS);
-        clickAndWait(getLinkIdByLinkText("propertyForm:realmsTable", realmName), TRIGGER_EDIT_REALM);
-
-        clickAndWait("form1:propertyContentPage:manageUsersButton", TRIGGER_FILE_USERS);
-        deleteRow("propertyForm:users:topActionsGroup1:button1", "propertyForm:users", userName);
-    }
-    public void updateAdminPassword(String userPassword) {
-        reset();
-        clickAndWaitForElement("treeForm:tree:nodes:nodes_link", "propertyForm:domainTabs:adminPassword");
-        clickAndWaitForElement("propertyForm:domainTabs:adminPassword", "propertyForm:propertySheet:propertSectionTextField:newPasswordProp:NewPassword");
-        setFieldValue("propertyForm:propertySheet:propertSectionTextField:newPasswordProp:NewPassword", userPassword);
-        setFieldValue("propertyForm:propertySheet:propertSectionTextField:confirmPasswordProp:ConfirmPassword", userPassword);
-        clickAndWait("propertyForm:propertyContentPage:topButtons:saveButton", TRIGGER_NEW_VALUES_SAVED);
-    }
-
-    public void enableSecureAdministration(boolean enable) {
-        boolean isSecureAdminEnabled = isSecureAdminEnabled();
-        reset();
-        if (enable && !isSecureAdminEnabled) {
-            updateAdminPassword("admin");
-            clickAndWaitForElement("treeForm:tree:applicationServer:applicationServer_link", "propertyForm:propertyContentPage:secureAdmin");
-            clickAndWaitForElement("propertyForm:propertyContentPage:secureAdmin", "form:propertyContentPage:topButtons:enableSecureAdminButton");
-            selenium.click("form:propertyContentPage:topButtons:enableSecureAdminButton");
-            getConfirmation();
-            sleep(10000);
-            clickLink("here");
-            waitForLoginPageLoad(TIMEOUT);
-            handleLogin("admin", "admin", TRIGGER_COMMON_TASKS);
-        } else if (isSecureAdminEnabled && !enable) {
-            clickAndWaitForElement("treeForm:tree:applicationServer:applicationServer_link", "propertyForm:propertyContentPage:secureAdmin");
-            clickAndWaitForElement("propertyForm:propertyContentPage:secureAdmin", "form:propertyContentPage:topButtons:disableSecureAdminButton");
-            selenium.click("form:propertyContentPage:topButtons:disableSecureAdminButton");
-            getConfirmation();
-            sleep(10000);
-            clickLink("here");
-            waitForLoginPageLoad(TIMEOUT);
-            handleLogin("admin", "admin", TRIGGER_COMMON_TASKS);
-            updateAdminPassword("");//Make sure admin password changed to "" after disabling
-        }
-    }
-
-    public boolean isSecureAdminEnabled() {
-        reset();
-       clickAndWaitForElement("treeForm:tree:applicationServer:applicationServer_link", "propertyForm:propertyContentPage:secureAdmin");
-        clickAndWait("propertyForm:propertyContentPage:secureAdmin", TRIGGER_SECURE_ADMINISTRATION);
-        sleep(10000);
-        if (isElementPresent("form:propertyContentPage:topButtons:disableSecureAdminButton")) {
-          return true;
-        }
-        return false;
-    }
-}
diff --git a/appserver/admingui/devtests/src/test/java/org/glassfish/admingui/devtests/SpecificTestRule.java b/appserver/admingui/devtests/src/test/java/org/glassfish/admingui/devtests/SpecificTestRule.java
deleted file mode 100644
index f0b3d22..0000000
--- a/appserver/admingui/devtests/src/test/java/org/glassfish/admingui/devtests/SpecificTestRule.java
+++ /dev/null
@@ -1,98 +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.admingui.devtests;
-
-import org.glassfish.admingui.devtests.util.SeleniumHelper;
-import java.text.SimpleDateFormat;
-import java.util.Arrays;
-import java.util.Date;
-import java.util.HashSet;
-import java.util.Set;
-import java.util.logging.Level;
-import java.util.logging.Logger;
-import org.junit.Ignore;
-import org.junit.rules.MethodRule;
-import org.junit.runners.model.FrameworkMethod;
-import org.junit.runners.model.Statement;
-
-/**
- *
- * @author jasonlee
- */
-public class SpecificTestRule implements MethodRule {
-    protected static boolean debug;
-    public SpecificTestRule() {
-        debug = Boolean.parseBoolean(SeleniumHelper.getParameter("debug", "false"));
-    }
-
-    @Override
-    public Statement apply(final Statement statement, final FrameworkMethod frameworkMethod, final Object o) {
-        return new Statement() {
-            @Override
-            public void evaluate() throws Throwable {
-                boolean runMethod = false;
-                final Logger logger = Logger.getLogger(BaseSeleniumTestClass.class.getName());
-                String method = System.getProperty("method");
-                boolean skipTest = false;
-                if(BaseSeleniumTestClass.IS_SECURE_ADMIN_ENABLED) {
-                    String className = frameworkMethod.getMethod().getDeclaringClass().getName();
-                    if (className.contains(".SecurityTest") ||
-                       (className.contains(".AdminServiceTest") &&
-                        frameworkMethod.getName().equals("testSsl"))) {
-                        skipTest = true;
-                    }
-                }
-                Set<String> methods = new HashSet<String>();
-                if (method != null) {
-                    String[] parts = method.split(",");
-                    methods.addAll(Arrays.asList(parts));
-                }
-                Ignore ignore = frameworkMethod.getAnnotation(Ignore.class);
-
-                if (methods.contains(frameworkMethod.getName()) && !skipTest) {
-                    runMethod = true;
-                } else if ((method == null) && (ignore == null) && !skipTest) {
-                    runMethod = true;
-                }
-
-                if (debug) {
-                    logger.log(Level.INFO, "Processing test {0} at {1}",
-                            new String[]{
-                                frameworkMethod.getName(),
-                                (new SimpleDateFormat("yyyy-MM-dd-hh.mm.ss")).format(new Date())
-                            });
-                }
-                if (runMethod) {
-                    if (debug) {
-                        logger.log(Level.INFO, "\tExecuting.");
-                    }
-                    try {
-                        statement.evaluate();
-                    } catch (Throwable t) {
-                        SeleniumHelper.captureScreenshot(frameworkMethod.getName());
-                        throw t; // rethrow
-                        // No explanation as to why this was done, so we'll disable
-                        // it and see what happens
-                        //statement.evaluate(); // try again. Ugly hack, but if it works...
-                    }
-                } else {
-                    logger.log(Level.INFO, "\tSkipping.");
-                }
-            }
-        };
-    }
-}
diff --git a/appserver/admingui/devtests/src/test/java/org/glassfish/admingui/devtests/StandaloneTest.java b/appserver/admingui/devtests/src/test/java/org/glassfish/admingui/devtests/StandaloneTest.java
deleted file mode 100644
index df359b1..0000000
--- a/appserver/admingui/devtests/src/test/java/org/glassfish/admingui/devtests/StandaloneTest.java
+++ /dev/null
@@ -1,232 +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.admingui.devtests;
-
-
-import org.junit.BeforeClass;
-import org.junit.Test;
-
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertTrue;
-
-/**
- *
- * @author anilam
- */
-public class StandaloneTest  extends BaseSeleniumTestClass {
-    public static final String TRIGGER_INSTANCES_PAGE = "i18ncs.standaloneInstances.PageTitleHelp";
-    public static final String TRIGGER_NEW_PAGE = "i18ncs.clusterNew.Configuration";
-    public static final String TRIGGER_GENERAL_INFO_PAGE = "i18n.instance.GeneralTitle";
-    public static final String TRIGGER_SYS_PROPS = "i18nc.instanceProperties.SystemPropertiesTitle";
-    public static final String STATUS_RUNNING = "Running";
-    public static final String STATUS_STOPPED = "Stopped";
-    public static final String TRIGGER_INSTANCE_TABLE = "i18ncs.standaloneInstances.TableTitle" ;
-    public static final String TRIGGER_PROPS_TABLE = "i18n.common.AdditionalProperties";
-
-    public static final String ID_INSTANCE_TABLE_NEW_BUTTON = "propertyForm:instancesTable:topActionsGroup1:newButton";
-    public static final String ID_INSTANCE_TABLE_DELETE_BUTTON = "propertyForm:instancesTable:topActionsGroup1:button1";
-    public static final String ID_INSTANCE_TABLE_START_BUTTON = "propertyForm:instancesTable:topActionsGroup1:button2";
-    public static final String ID_INSTANCE_TABLE_STOP_BUTTON = "propertyForm:instancesTable:topActionsGroup1:button3";
-    public static final String ID_INSTANCE_TABLE = "propertyForm:instancesTable";
-    public static final String ID_INSTANCE_PROP_TAB = "propertyForm:standaloneInstanceTabs:standaloneProp";
-
-    public static final String ID_INSTANCE_NAME_TEXT = "propertyForm:propertySheet:propertSectionTextField:NameTextProp:NameText";
-    public static final String ID_INSTANCE_NODE_TEXT = "propertyForm:propertySheet:propertSectionTextField:node:node" ;
-    public static final String ID_INSTANCE_CONFIG_SELECT = "propertyForm:propertySheet:propertSectionTextField:configProp:Config" ;
-    public static final String ID_INSTANCE_CONFIG_OPTION = "propertyForm:propertySheet:propertSectionTextField:configOptionProp:optC";
-    public static final String ID_INSTANCE_NEW_PAGE_BUTTON = "propertyForm:propertyContentPage:topButtons:newButton" ;
-
-    public static final String INSTANCE_PREFIX = "standAlone" ;
-    public static final String NODE_NAME = "localhost-domain1" ;
-    public static final String DEFAULT_WEIGHT = "100" ;
-
-    @BeforeClass
-    public static void beforeClass() {
-        (new StandaloneTest()).deleteAllStandaloneInstances();
-    }
-
-    @Test
-    public void testCreateStartStopAndDeleteStandaloneInstance() {
-        String instanceName = INSTANCE_PREFIX + generateRandomString();
-        createStandAloneInstance(instanceName);
-
-        String prefix = getTableRowByValue(ID_INSTANCE_TABLE, instanceName, "col1");
-        assertTrue(isTextPresent(instanceName));
-        assertEquals(instanceName, getText(prefix + "col1:link"));
-        assertEquals(instanceName+"-config", getText(prefix + "col3:configlink"));
-        assertEquals(NODE_NAME, getText(prefix + "col5:nodeAgentlink"));
-        assertEquals(STATUS_STOPPED, getText(prefix + "col6"));
-        assertEquals(DEFAULT_WEIGHT, getFieldValue(prefix + "col2:weight"));
-
-        startInstance(instanceName);
-        assertEquals(STATUS_RUNNING, getText(prefix + "col6"));
-
-        stopInstance(instanceName);
-        assertEquals(STATUS_STOPPED, getText(prefix + "col6"));
-
-        deleteStandAloneInstance(instanceName);
-    }
-
-    @Test
-    public void testProperties() {
-        String instanceName = INSTANCE_PREFIX + generateRandomString();
-        createStandAloneInstance(instanceName);
-
-        clickAndWait(getLinkIdByLinkText(ID_INSTANCE_TABLE, instanceName), TRIGGER_GENERAL_INFO_PAGE);
-        clickAndWait(ID_INSTANCE_PROP_TAB, TRIGGER_SYS_PROPS);
-        int sysPropCount = addTableRow("propertyForm:sysPropsTable", "propertyForm:sysPropsTable:topActionsGroup1:addSharedTableButton");
-        setFieldValue("propertyForm:sysPropsTable:rowGroup1:0:col2:col1St", "property"+generateRandomString());
-        setFieldValue("propertyForm:sysPropsTable:rowGroup1:0:overrideValCol:overrideVal", "foo=bar");
-        // FIXME: The app needs to be fixed here. should show success message
-        clickAndWait("propertyForm:clusterSysPropsPage:topButtons:topButtons:saveButton", TRIGGER_NEW_VALUES_SAVED);
-        //sleep(1000); // grr! FIXME
-
-        // Go to instance props page
-        clickAndWait("propertyForm:standaloneInstanceTabs:standaloneProp:instanceProps", "Additional Properties (0)"); // FIXME
-//        waitForPageLoad(TRIGGER_SYS_PROPS, TIMEOUT, true);
-
-        int instancePropCount = addTableRow("propertyForm:basicTable", "propertyForm:basicTable:topActionsGroup1:addSharedTableButton");
-        setFieldValue("propertyForm:basicTable:rowGroup1:0:col2:col1St", "property"+generateRandomString());
-        setFieldValue("propertyForm:basicTable:rowGroup1:0:col3:col1St", "foo=bar");
-        clickAndWait("propertyForm:propertyContentPage:topButtons:saveButton", TRIGGER_NEW_VALUES_SAVED);
-
-        // Verify that properties were persisted
-        clickAndWaitForElement("propertyForm:standaloneInstanceTabs:standaloneProp:configProps", "propertyForm:sysPropsTable");
-        sleep(1000); // grr
-        assertTableRowCount("propertyForm:sysPropsTable", sysPropCount);
-        clickAndWait("propertyForm:standaloneInstanceTabs:standaloneProp:instanceProps", "Additional Properties (1)"); // FIXME
-        assertTableRowCount("propertyForm:basicTable", instancePropCount);
-
-        deleteStandAloneInstance(instanceName);
-    }
-
-    @Test
-    public void testStandaloneInstanceResourcesPage() {
-        final String jndiName = "jdbcResource"+generateRandomString();
-        String target = INSTANCE_PREFIX + generateRandomString();
-        final String description = "devtest test for standalone instance->resources page- " + jndiName;
-        final String tableID = "propertyForm:resourcesTable";
-
-        JdbcTest jdbcTest = new JdbcTest();
-        jdbcTest.createJDBCResource(jndiName, description, target, MonitoringTest.TARGET_STANDALONE_TYPE);
-
-        gotoStandAloneInstanceResourcesPage(target);
-        assertTrue(isTextPresent(jndiName));
-
-        int jdbcCount = getTableRowCountByValue(tableID, "JDBC Resources", "col3:type");
-        int customCount = getTableRowCountByValue(tableID, "Custom Resources", "col3:type");
-
-        selectDropdownOption("propertyForm:resourcesTable:topActionsGroup1:filter_list", "Custom Resources");
-        waitForTableRowCount(tableID, customCount);
-
-        gotoStandAloneInstanceResourcesPage(target);
-
-        selectDropdownOption("propertyForm:resourcesTable:topActionsGroup1:filter_list", "JDBC Resources");
-        waitForTableRowCount(tableID, jdbcCount);
-
-        gotoStandAloneInstanceResourcesPage(target);
-        selectTableRowByValue("propertyForm:resourcesTable", jndiName);
-        pressButton("propertyForm:resourcesTable:topActionsGroup1:button1");
-        waitForButtonEnabledMessage("propertyForm:resourcesTable:topActionsGroup1:button1");
-
-        /*selectDropdownOption("propertyForm:resourcesTable:topActionsGroup1:actions", "JDBC Resources");
-        waitForPageLoad(JdbcTest.TRIGGER_NEW_JDBC_RESOURCE, true);
-        clickAndWait("form:propertyContentPage:topButtons:cancelButton", JdbcTest.TRIGGER_JDBC_RESOURCES);*/
-
-        jdbcTest.deleteJDBCResource(jndiName, target, MonitoringTest.TARGET_STANDALONE_TYPE);
-    }
-
-    public void createStandAloneInstance(String instanceName, String nodeName){
-        gotoStandaloneInstancesPage();
-        clickAndWait(ID_INSTANCE_TABLE_NEW_BUTTON, TRIGGER_NEW_PAGE );
-        setFieldValue(ID_INSTANCE_NAME_TEXT, instanceName);
-        selectDropdownOption(ID_INSTANCE_NODE_TEXT, nodeName);
-        selectDropdownOption(ID_INSTANCE_CONFIG_SELECT, "default-config");
-        markCheckbox(ID_INSTANCE_CONFIG_OPTION);
-        clickAndWait(ID_INSTANCE_NEW_PAGE_BUTTON, TRIGGER_INSTANCES_PAGE);
-        String prefix = getTableRowByValue(ID_INSTANCE_TABLE, instanceName, "col1");
-        assertTrue(isTextPresent(instanceName));
-    }
-
-    public void createStandAloneInstance(String instanceName){
-        createStandAloneInstance(instanceName, NODE_NAME);
-    }
-
-    public void deleteStandAloneInstance(String instanceName) {
-        gotoStandaloneInstancesPage();
-        rowActionWithConfirm(ID_INSTANCE_TABLE_STOP_BUTTON, ID_INSTANCE_TABLE, instanceName);
-        deleteRow(ID_INSTANCE_TABLE_DELETE_BUTTON, ID_INSTANCE_TABLE, instanceName);
-    }
-
-    public void deleteAllStandaloneInstances() {
-        gotoStandaloneInstancesPage();
-        if (getTableRowCount(ID_INSTANCE_TABLE) == 0) {
-            return;
-        }
-
-        this.selectAllTableRows(ID_INSTANCE_TABLE, 0);
-        chooseOkOnNextConfirmation();
-        pressButton("propertyForm:instancesTable:topActionsGroup1:button3");
-        waitForButtonDisabled("propertyForm:instancesTable:topActionsGroup1:button3");
-        getConfirmation();
-
-
-        /*
-        // Stop all instances
-        if (selectTableRowsByValue(ID_INSTANCE_TABLE, STATUS_RUNNING, "col0", "col6") > 0) {
-            waitForButtonEnabled(ID_INSTANCE_TABLE_STOP_BUTTON);
-            chooseOkOnNextConfirmation();
-            pressButton(ID_INSTANCE_TABLE_STOP_BUTTON);
-            if (isConfirmationPresent()) {
-                getConfirmation();
-            }
-            this.waitForButtonDisabled(ID_INSTANCE_TABLE_STOP_BUTTON);
-        }
-         */
-
-        // Delete all instances
-        deleteAllTableRows(ID_INSTANCE_TABLE, 0);  //"propertyForm:instancesTable");
-    }
-
-    public void startInstance(String instanceName) {
-        rowActionWithConfirm(ID_INSTANCE_TABLE_START_BUTTON, ID_INSTANCE_TABLE, instanceName);
-        waitForCondition("document.getElementById('" + ID_INSTANCE_TABLE_START_BUTTON + "').value != 'Processing...'", 300000);
-        String prefix = getTableRowByValue(ID_INSTANCE_TABLE, instanceName, "col1");
-        assertEquals(STATUS_RUNNING, getText(prefix + "col6"));
-    }
-
-    public void stopInstance(String instanceName) {
-        String rowId = getTableRowByValue(ID_INSTANCE_TABLE, instanceName, "col1");
-        String status = getText(rowId+"col6");
-        if (! STATUS_STOPPED.equals(status)) {
-            rowActionWithConfirm(ID_INSTANCE_TABLE_STOP_BUTTON, ID_INSTANCE_TABLE, instanceName);
-            waitForCondition("document.getElementById('" + ID_INSTANCE_TABLE_STOP_BUTTON + "').value != 'Processing...'", 300000);
-        }
-    }
-
-    public  void gotoStandaloneInstancesPage() {
-        reset();
-        clickAndWait("treeForm:tree:standaloneTreeNode:standaloneTreeNode_link", TRIGGER_INSTANCES_PAGE);
-    }
-
-    private void gotoStandAloneInstanceResourcesPage(String instanceName) {
-        reset();
-        clickAndWait("treeForm:tree:standaloneTreeNode:standaloneTreeNode_link", TRIGGER_INSTANCES_PAGE);
-        clickAndWait(getLinkIdByLinkText(ID_INSTANCE_TABLE, instanceName), TRIGGER_GENERAL_INFO_PAGE);
-        clickAndWait("propertyForm:standaloneInstanceTabs:resources", EnterpriseServerTest.TRIGGER_RESOURCES);
-    }
-}
diff --git a/appserver/admingui/devtests/src/test/java/org/glassfish/admingui/devtests/ThreadPoolsTest.java b/appserver/admingui/devtests/src/test/java/org/glassfish/admingui/devtests/ThreadPoolsTest.java
deleted file mode 100644
index 5431543..0000000
--- a/appserver/admingui/devtests/src/test/java/org/glassfish/admingui/devtests/ThreadPoolsTest.java
+++ /dev/null
@@ -1,52 +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.admingui.devtests;
-
-import org.junit.Test;
-
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertTrue;
-
-public class ThreadPoolsTest extends BaseSeleniumTestClass {
-    private static final String TRIGGER_THREAD_POOLS = "i18n_web.configuration.threadPoolPageTitleHelp";
-    private static final String TRIGGER_EDIT_THREAD_POOL = "i18n_web.configuration.threadPoolEditPageTitle";
-    private static final String TRIGGER_NEW_THREAD_POOL = "i18n_web.configuration.threadPoolNewPageTitle";
-
-    @Test
-    public void testAddThreadPool() {
-        final String threadPoolName = "testThreadPool"+generateRandomString();
-
-        clickAndWait("treeForm:tree:configurations:server-config:threadPools:threadPools_link", TRIGGER_THREAD_POOLS);
-        clickAndWait("propertyForm:configs:topActionsGroup1:newButton", TRIGGER_NEW_THREAD_POOL);
-        setFieldValue("propertyForm:propertySheet:propertSectionTextField:nameProp:nameText", threadPoolName);
-        setFieldValue("propertyForm:propertySheet:propertSectionTextField:max:max", "8192");
-        setFieldValue("propertyForm:propertySheet:propertSectionTextField:maxThread:maxThread", "10");
-        setFieldValue("propertyForm:propertySheet:propertSectionTextField:minThread:minThread", "4");
-        setFieldValue("propertyForm:propertySheet:propertSectionTextField:timeout:timeout", "1800");
-        clickAndWait("propertyForm:propertyContentPage:topButtons:newButton", TRIGGER_THREAD_POOLS);
-
-        assertTrue(isTextPresent(threadPoolName));
-        clickAndWait(getLinkIdByLinkText("propertyForm:configs", threadPoolName), TRIGGER_EDIT_THREAD_POOL);
-        assertEquals("8192", getFieldValue("propertyForm:propertySheet:propertSectionTextField:max:max"));
-        assertEquals("10", getFieldValue("propertyForm:propertySheet:propertSectionTextField:maxThread:maxThread"));
-        assertEquals("4", getFieldValue("propertyForm:propertySheet:propertSectionTextField:minThread:minThread"));
-        assertEquals("1800", getFieldValue("propertyForm:propertySheet:propertSectionTextField:timeout:timeout"));
-        clickAndWait("propertyForm:propertyContentPage:topButtons:cancelButton", TRIGGER_THREAD_POOLS);
-
-        deleteRow("propertyForm:configs:topActionsGroup1:button1", "propertyForm:configs", threadPoolName);
-    }
-}
diff --git a/appserver/admingui/devtests/src/test/java/org/glassfish/admingui/devtests/TransactionServiceTest.java b/appserver/admingui/devtests/src/test/java/org/glassfish/admingui/devtests/TransactionServiceTest.java
deleted file mode 100644
index f9e3d08..0000000
--- a/appserver/admingui/devtests/src/test/java/org/glassfish/admingui/devtests/TransactionServiceTest.java
+++ /dev/null
@@ -1,61 +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.admingui.devtests;
-
-import org.junit.Test;
-
-import static org.junit.Assert.assertEquals;
-
-/**
- * Created by IntelliJ IDEA.
- * User: jasonlee
- * Date: Mar 12, 2010
- * Time: 1:36:39 PM
- * To change this template use File | Settings | File Templates.
- */
-public class TransactionServiceTest extends BaseSeleniumTestClass {
-    private static final String TRIGGER_TRANSACTION_SERVICE = "i18n_jts.ts.PageHelp";
-
-    @Test
-    public void testTransactionService() {
-        final String timeout = Integer.toString(generateRandomNumber(60));
-        final String retry = Integer.toString(generateRandomNumber(600));
-        final String keypoint = Integer.toString(generateRandomNumber(65535));
-
-        clickAndWait("treeForm:tree:configurations:server-config:transactionService:transactionService_link", TRIGGER_TRANSACTION_SERVICE);
-        markCheckbox("propertyForm:propertySheet:propertSectionTextField:onRestartProp:enabled");
-        setFieldValue("propertyForm:propertySheet:propertSectionTextField:timeoutProp:Timeout", timeout);
-        setFieldValue("propertyForm:propertySheet:propertSectionTextField:retryProp:Retry", retry);
-        selectDropdownOption("propertyForm:propertySheet:propertSectionTextField:heuristicProp:HeuristicDecision", "Commit");
-        setFieldValue("propertyForm:propertySheet:propertSectionTextField:keyPointProp:Keypoint", keypoint);
-        int count = addTableRow("propertyForm:basicTable", "propertyForm:basicTable:topActionsGroup1:addSharedTableButton");
-
-        setFieldValue("propertyForm:basicTable:rowGroup1:0:col2:col1St", "property"+generateRandomString());
-        setFieldValue("propertyForm:basicTable:rowGroup1:0:col3:col1St", "value");
-        setFieldValue("propertyForm:basicTable:rowGroup1:0:col4:col1St", "description");
-        clickAndWait("propertyForm:propertyContentPage:topButtons:saveButton", TRIGGER_NEW_VALUES_SAVED);
-        reset();
-
-        clickAndWait("treeForm:tree:configurations:server-config:transactionService:transactionService_link", TRIGGER_TRANSACTION_SERVICE);
-        assertEquals(true, isChecked("propertyForm:propertySheet:propertSectionTextField:onRestartProp:enabled"));
-        assertEquals(timeout, getFieldValue("propertyForm:propertySheet:propertSectionTextField:timeoutProp:Timeout"));
-        assertEquals(retry, getFieldValue("propertyForm:propertySheet:propertSectionTextField:retryProp:Retry"));
-        assertEquals("commit", getFieldValue("propertyForm:propertySheet:propertSectionTextField:heuristicProp:HeuristicDecision"));
-        assertEquals(keypoint, getFieldValue("propertyForm:propertySheet:propertSectionTextField:keyPointProp:Keypoint"));
-        assertTableRowCount("propertyForm:basicTable", count);
-    }
-}
diff --git a/appserver/admingui/devtests/src/test/java/org/glassfish/admingui/devtests/VirtualServerTest.java b/appserver/admingui/devtests/src/test/java/org/glassfish/admingui/devtests/VirtualServerTest.java
deleted file mode 100644
index 12beb2e..0000000
--- a/appserver/admingui/devtests/src/test/java/org/glassfish/admingui/devtests/VirtualServerTest.java
+++ /dev/null
@@ -1,60 +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.admingui.devtests;
-
-import org.junit.Test;
-
-import static org.junit.Assert.assertTrue;
-
-public class VirtualServerTest extends BaseSeleniumTestClass {
-    public static final String TRIGGER_VIRTUAL_SERVERS = "i18n_web.vs.ListPageHelp";
-    public static final String TRIGGER_NEW_VIRTUAL_SERVER = "i18n_web.vs.NewPageHelp";
-    public static final String TRIGGER_EDIT_VIRTUAL_SERVER = "i18n_web.vs.PageHelp";
-
-    @Test
-    public void testAddVirtualServer() {
-        final String serverName = "vs" + generateRandomString();
-
-        clickAndWait("treeForm:tree:configurations:server-config:virtualServers:virtualServers_link", TRIGGER_VIRTUAL_SERVERS);
-        clickAndWait("propertyForm:configs:topActionsGroup1:newButton", TRIGGER_NEW_VIRTUAL_SERVER);
-        setFieldValue("propertyForm:propertySheet:propertSectionTextField:IdTextProp:IdText", serverName);
-        setFieldValue("propertyForm:propertySheet:propertSectionTextField:hostsProp:Hosts", "localhost");
-        selectDropdownOption("propertyForm:propertySheet:propertSectionTextField:stateProp:state", "i18n_web.vs.StateOn");
-        selectDropdownOption("propertyForm:propertySheet:propertSectionTextField:enableLog:state", "i18n_web.vs.alwaysEnable");
-        selectDropdownOption("propertyForm:propertySheet:al:enableLog:log", "i18n_web.vs.alwaysEnable");
-        setFieldValue("propertyForm:propertySheet:propertSectionTextField:logFileProp:LogFile", "logfile.txt");
-        setFieldValue("propertyForm:propertySheet:propertSectionTextField:docroot:docroot", "/tmp");
-        addSelectSelection("propertyForm:propertySheet:propertSectionTextField:nwProps:nw", "http-listener-1");
-        int count = addTableRow("propertyForm:basicTable", "propertyForm:basicTable:topActionsGroup1:addSharedTableButton");
-
-        setFieldValue("propertyForm:basicTable:rowGroup1:0:col2:col1St", "property");
-        setFieldValue("propertyForm:basicTable:rowGroup1:0:col3:col1St", "value");
-        setFieldValue("propertyForm:basicTable:rowGroup1:0:col4:col1St", "description");
-
-        clickAndWait("propertyForm:propertyContentPage:topButtons:newButton", TRIGGER_VIRTUAL_SERVERS);
-
-        assertTrue(tableContainsRow("propertyForm:configs", "col1", serverName));
-
-        clickAndWait(getLinkIdByLinkText("propertyForm:configs", serverName), TRIGGER_EDIT_VIRTUAL_SERVER);
-
-        assertTableRowCount("propertyForm:basicTable", count);
-
-        clickAndWait("propertyForm:propertyContentPage:topButtons:cancelButton", TRIGGER_VIRTUAL_SERVERS);
-
-        deleteRow("propertyForm:configs:topActionsGroup1:button1", "propertyForm:configs", serverName);
-    }
-}
diff --git a/appserver/admingui/devtests/src/test/java/org/glassfish/admingui/devtests/WebContainerTest.java b/appserver/admingui/devtests/src/test/java/org/glassfish/admingui/devtests/WebContainerTest.java
deleted file mode 100644
index df1ebdb..0000000
--- a/appserver/admingui/devtests/src/test/java/org/glassfish/admingui/devtests/WebContainerTest.java
+++ /dev/null
@@ -1,171 +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.admingui.devtests;
-
-import org.junit.Test;
-
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertTrue;
-
-/**
- * Created by IntelliJ IDEA.
- * User: jasonlee
- * Date: Mar 10, 2010
- * Time: 3:48:48 PM
- * To change this template use File | Settings | File Templates.
- */
-public class WebContainerTest extends BaseSeleniumTestClass {
-    private static final String TAB_GENERAL_PROPERTIES = "i18n_web.headings.webGeneral";
-
-    private static final String TAB_SESSION_PROPERTIES = "i18n_web.webSession.sessionTimeoutHelp";
-
-    private static final String TAB_MANAGER_PROPERTIES = "i18n_web.webManager.reapIntervalHelp";
-
-    private static final String TAB_STORE_PROPERTIES = "i18n_web.webStore.directoryHelp";
-
-    @Test
-    public void testGeneralTab() {
-        final String property = "property" + generateRandomString();
-        final String value = generateRandomString();
-        final String description = "Description for " + property;
-
-        clickAndWait("treeForm:tree:configurations:server-config:webContainer:webContainer_link", TAB_GENERAL_PROPERTIES);
-
-        int count = addTableRow("form1:basicTable", "form1:basicTable:topActionsGroup1:addSharedTableButton");
-
-        setFieldValue("form1:basicTable:rowGroup1:0:col2:col1St", property);
-        setFieldValue("form1:basicTable:rowGroup1:0:col3:col1St", value);
-        setFieldValue("form1:basicTable:rowGroup1:0:col4:col1St", description);
-        clickAndWait("form1:propertyContentPage:topButtons:saveButton", TRIGGER_NEW_VALUES_SAVED);
-
-        clickAndWait("form1:webContainerTabs:sessionTab", TAB_SESSION_PROPERTIES);
-        clickAndWait("form1:webContainerTabs:general", TAB_GENERAL_PROPERTIES);
-
-        assertTableRowCount("form1:basicTable", count);
-    }
-
-    @Test
-    public void testSessionProperties() {
-        clickAndWait("treeForm:tree:configurations:server-config:webContainer:webContainer_link", TAB_GENERAL_PROPERTIES);
-        clickAndWait("form1:webContainerTabs:sessionTab", TAB_SESSION_PROPERTIES);
-
-        int count = addTableRow("form1:basicTable", "form1:basicTable:topActionsGroup1:addSharedTableButton");
-
-        setFieldValue("form1:basicTable:rowGroup1:0:col2:col1St", "property" + generateRandomString());
-        setFieldValue("form1:basicTable:rowGroup1:0:col3:col1St", "value");
-        setFieldValue("form1:basicTable:rowGroup1:0:col4:col1St", "description");
-
-        setFieldValue("form1:sessionPropSheet:sessionPropSheetSection:SessionTimeoutProp:SessionTimeout", "300");
-        clickAndWait("form1:propertyContentPage:topButtons:saveButton", TRIGGER_NEW_VALUES_SAVED);
-
-        clickAndWait("form1:webContainerTabs:general", TAB_GENERAL_PROPERTIES);
-
-        clickAndWait("form1:webContainerTabs:sessionTab", TAB_SESSION_PROPERTIES);
-
-        assertTableRowCount("form1:basicTable", count);
-        assertEquals("300", getFieldValue("form1:sessionPropSheet:sessionPropSheetSection:SessionTimeoutProp:SessionTimeout"));
-
-        setFieldValue("form1:sessionPropSheet:sessionPropSheetSection:SessionTimeoutProp:SessionTimeout", "300");
-        clickAndWait("form1:propertyContentPage:topButtons:saveButton", TRIGGER_NEW_VALUES_SAVED);
-    }
-
-    @Test
-    public void testManagerProperties() {
-        final String reapInterval = Integer.toString(generateRandomNumber(100));
-        final String maxSessions = Integer.toString(generateRandomNumber(1000));
-        final String sessFileName = generateRandomString();
-
-        clickAndWait("treeForm:tree:configurations:server-config:webContainer:webContainer_link", TAB_GENERAL_PROPERTIES);
-
-        clickAndWait("form1:webContainerTabs:managerTab", TAB_MANAGER_PROPERTIES);
-
-        setFieldValue("form1:managerPropSheet:managerPropSheetSection:ReapIntervalProp:ReapInterval", reapInterval);
-        setFieldValue("form1:managerPropSheet:managerPropSheetSection:MaxSessionsProp:MaxSessions", maxSessions);
-        setFieldValue("form1:managerPropSheet:managerPropSheetSection:SessFileNameProp:SessFileName", sessFileName);
-        int count = addTableRow("form1:basicTable", "form1:basicTable:topActionsGroup1:addSharedTableButton");
-
-        setFieldValue("form1:basicTable:rowGroup1:0:col2:col1St", "property" + generateRandomString());
-        setFieldValue("form1:basicTable:rowGroup1:0:col3:col1St", "value");
-        setFieldValue("form1:basicTable:rowGroup1:0:col4:col1St", "description");
-        clickAndWait("form1:propertyContentPage:topButtons:saveButton", TRIGGER_NEW_VALUES_SAVED);
-
-        clickAndWait("form1:webContainerTabs:sessionTab", TAB_SESSION_PROPERTIES);
-        clickAndWait("form1:webContainerTabs:managerTab", TAB_MANAGER_PROPERTIES);
-
-        assertEquals(reapInterval, getFieldValue("form1:managerPropSheet:managerPropSheetSection:ReapIntervalProp:ReapInterval"));
-        assertEquals(maxSessions, getFieldValue("form1:managerPropSheet:managerPropSheetSection:MaxSessionsProp:MaxSessions"));
-        assertEquals(sessFileName, getFieldValue("form1:managerPropSheet:managerPropSheetSection:SessFileNameProp:SessFileName"));
-        assertTableRowCount("form1:basicTable", count);
-    }
-
-    @Test
-    public void testStoreProperties() {
-        final String directory = generateRandomString();
-
-        clickAndWait("treeForm:tree:configurations:server-config:webContainer:webContainer_link", TAB_GENERAL_PROPERTIES);
-
-        clickAndWait("form1:webContainerTabs:storeTab", TAB_STORE_PROPERTIES);
-
-        setFieldValue("form1:storePropSheet:storePropSheetSection:DirectoryProp:Directory", directory);
-        int count = addTableRow("form1:basicTable", "form1:basicTable:topActionsGroup1:addSharedTableButton");
-
-        setFieldValue("form1:basicTable:rowGroup1:0:col2:col1St", "property" + generateRandomString());
-        setFieldValue("form1:basicTable:rowGroup1:0:col3:col1St", "value");
-        setFieldValue("form1:basicTable:rowGroup1:0:col4:col1St", "description");
-        clickAndWait("form1:propertyContentPage:topButtons:saveButton", TRIGGER_NEW_VALUES_SAVED);
-
-        clickAndWait("form1:webContainerTabs:managerTab", TAB_MANAGER_PROPERTIES);
-        clickAndWait("form1:webContainerTabs:storeTab", TAB_STORE_PROPERTIES);
-        assertEquals(directory, getFieldValue("form1:storePropSheet:storePropSheetSection:DirectoryProp:Directory"));
-        assertTableRowCount("form1:basicTable", count);
-
-        setFieldValue("form1:storePropSheet:storePropSheetSection:DirectoryProp:Directory", "");
-        clickAndWait("form1:propertyContentPage:topButtons:saveButton", TRIGGER_NEW_VALUES_SAVED);
-    }
-
-    /*  To test the property table.
-     *  If the property value/name is empty,  that property will not be created.
-     *  If the property value is (), property will be persisted with the empty value. Need to check this. Not creating as of now. Hence, modified the test.
-     */
-    @Test
-    public void testWebContainerPropertyTable() {
-
-        final String property1 = "property1" + generateRandomString();
-        final String value1 = "()";
-        final String description1 = "Description for " + property1;
-        final String property2 = "property2" + generateRandomString();
-        final String value2 = "";
-        final String description2 = "Description for " + property2;
-
-        clickAndWait("treeForm:tree:configurations:server-config:webContainer:webContainer_link", TAB_GENERAL_PROPERTIES);
-
-        int count = addTableRow("form1:basicTable", "form1:basicTable:topActionsGroup1:addSharedTableButton");
-
-        setFieldValue("form1:basicTable:rowGroup1:0:col2:col1St", property1);
-        setFieldValue("form1:basicTable:rowGroup1:0:col3:col1St", value1);
-        setFieldValue("form1:basicTable:rowGroup1:0:col4:col1St", description1);
-
-        count = addTableRow("form1:basicTable", "form1:basicTable:topActionsGroup1:addSharedTableButton");
-
-        setFieldValue("form1:basicTable:rowGroup1:0:col2:col1St", property2);
-        setFieldValue("form1:basicTable:rowGroup1:0:col3:col1St", value2);
-        setFieldValue("form1:basicTable:rowGroup1:0:col4:col1St", description2);
-        clickAndWait("form1:propertyContentPage:topButtons:saveButton", TRIGGER_NEW_VALUES_SAVED);
-
-        assertTableRowCount("form1:basicTable", count-2);
-    }
-}
diff --git a/appserver/admingui/devtests/src/test/java/org/glassfish/admingui/devtests/WorkSecurityMapTest.java b/appserver/admingui/devtests/src/test/java/org/glassfish/admingui/devtests/WorkSecurityMapTest.java
deleted file mode 100644
index 1c58d2c..0000000
--- a/appserver/admingui/devtests/src/test/java/org/glassfish/admingui/devtests/WorkSecurityMapTest.java
+++ /dev/null
@@ -1,51 +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.admingui.devtests;
-
-import org.junit.Assert;
-import org.junit.Test;
-
-import static org.junit.Assert.assertTrue;
-
-public class WorkSecurityMapTest extends BaseSeleniumTestClass {
-
-    private static final String TRIGGER_WORK_SECURITY_MAPS = "i18njca.workSecurityMaps.pageTitleHelp";
-    private static final String TRIGGER_NEW_WORK_SECURITY_MAP = "i18njca.workSecurityMap.newPageTitleHelp";
-    public static final String TRIGGER_EDIT_WORK_SECURITY_MAP = "i18njca.workSecurityMap.editPageTitleHelp";
-
-    @Test
-    public void testWorkSecurityMaps() throws Exception {
-        final String testWorkSecurityMap = generateRandomString();
-        final String testGroupMapKey = generateRandomString();
-        final String testGroupMapValue = generateRandomString();
-
-        clickAndWait("treeForm:tree:resources:Connectors:workSecurityMaps:workSecurityMaps_link", TRIGGER_WORK_SECURITY_MAPS);
-
-        clickAndWait("propertyForm:resourcesTable:topActionsGroup1:newButton", TRIGGER_NEW_WORK_SECURITY_MAP);
-
-        setFieldValue("propertyForm:propertySheet:propertSectionTextField:mapNameNew:mapName", testWorkSecurityMap);
-        setFieldValue("propertyForm:propertySheet:propertSectionTextField:groupProp:eisgrouptext", testGroupMapKey + "=" + testGroupMapValue);
-        clickAndWait("propertyForm:propertyContentPage:topButtons:newButton", TRIGGER_WORK_SECURITY_MAPS);
-
-        assertTrue(isTextPresent(testWorkSecurityMap));
-        clickAndWait(getLinkIdByLinkText("propertyForm:resourcesTable", testWorkSecurityMap), TRIGGER_EDIT_WORK_SECURITY_MAP);
-        Assert.assertEquals(testGroupMapKey + "=" + testGroupMapValue, getFieldValue("propertyForm:propertySheet:propertSectionTextField:groupProp:eisgrouptext"));
-        clickAndWait("propertyForm:propertyContentPage:topButtons:cancelButton", TRIGGER_WORK_SECURITY_MAPS);
-
-        deleteRow("propertyForm:resourcesTable:topActionsGroup1:button1", "propertyForm:resourcesTable", testWorkSecurityMap);
-    }
-}
diff --git a/appserver/admingui/devtests/src/test/java/org/glassfish/admingui/devtests/util/ElementFinder.java b/appserver/admingui/devtests/src/test/java/org/glassfish/admingui/devtests/util/ElementFinder.java
deleted file mode 100644
index 0adac43..0000000
--- a/appserver/admingui/devtests/src/test/java/org/glassfish/admingui/devtests/util/ElementFinder.java
+++ /dev/null
@@ -1,73 +0,0 @@
-/*
- * Copyright (c) 2011, 2018 Oracle and/or its affiliates. All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v. 2.0, which is available at
- * http://www.eclipse.org/legal/epl-2.0.
- *
- * This Source Code may also be made available under the following Secondary
- * Licenses when the conditions for such availability set forth in the
- * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
- * version 2 with the GNU Classpath Exception, which is available at
- * 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.admingui.devtests.util;
-
-import com.google.common.base.Function;
-import com.thoughtworks.selenium.Wait;
-import java.util.logging.Level;
-import java.util.logging.Logger;
-import org.openqa.selenium.By;
-import org.openqa.selenium.WebDriver;
-import org.openqa.selenium.WebElement;
-import org.openqa.selenium.support.ui.WebDriverWait;
-import org.openqa.selenium.NoSuchElementException;
-import org.openqa.selenium.support.ui.ExpectedCondition;
-
-/**
- *
- * @author jasonlee
- */
-public class ElementFinder {
-    private WebDriver driver;
-
-    public ElementFinder(WebDriver driver) {
-        this.driver = driver;
-    }
-
-    public WebElement findElement(By locatorname, int timeout) {
-        WebDriverWait wait = new WebDriverWait(driver, timeout);
-        return wait.until(presenceOfElementLocated(locatorname));
-    }
-
-    public WebElement findElement(By locator, int timeout, ExpectedCondition<Boolean> condition) {
-        WebDriverWait w = new WebDriverWait(driver, timeout);
-        w.until(condition);
-
-        return driver.findElement(locator);
-    }
-
-    private static Function<WebDriver, WebElement> presenceOfElementLocated(final By locator) {
-        return new Function<WebDriver, WebElement>() {
-            @Override
-            public WebElement apply(WebDriver driver) {
-                WebElement element = null;
-                try {
-                    element = driver.findElement(locator);
-                } catch (NoSuchElementException nse) {
-                    try {
-                        Thread.sleep(1000);
-                    } catch (InterruptedException ex) {
-                        Logger.getLogger(ElementFinder.class.getName()).log(Level.SEVERE, null, ex);
-                    }
-                    element = driver.findElement(locator);
-                }
-
-                return element;
-            }
-        };
-    }
-}
diff --git a/appserver/admingui/devtests/src/test/java/org/glassfish/admingui/devtests/util/SeleniumHelper.java b/appserver/admingui/devtests/src/test/java/org/glassfish/admingui/devtests/util/SeleniumHelper.java
deleted file mode 100644
index 800032a..0000000
--- a/appserver/admingui/devtests/src/test/java/org/glassfish/admingui/devtests/util/SeleniumHelper.java
+++ /dev/null
@@ -1,136 +0,0 @@
-/*
- * Copyright (c) 2011, 2018 Oracle and/or its affiliates. All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v. 2.0, which is available at
- * http://www.eclipse.org/legal/epl-2.0.
- *
- * This Source Code may also be made available under the following Secondary
- * Licenses when the conditions for such availability set forth in the
- * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
- * version 2 with the GNU Classpath Exception, which is available at
- * 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.admingui.devtests.util;
-
-import com.thoughtworks.selenium.Selenium;
-import java.io.File;
-import java.io.FileOutputStream;
-import java.net.InetAddress;
-import java.net.UnknownHostException;
-import java.util.Random;
-import java.util.logging.Level;
-import java.util.logging.Logger;
-import org.glassfish.admingui.devtests.BaseSeleniumTestClass;
-import org.openqa.selenium.OutputType;
-import org.openqa.selenium.TakesScreenshot;
-import org.openqa.selenium.WebDriver;
-import org.openqa.selenium.chrome.ChromeDriver;
-import org.openqa.selenium.firefox.FirefoxDriver;
-import org.openqa.selenium.ie.InternetExplorerDriver;
-
-/**
- *
- * @author jasonlee
- */
-public class SeleniumHelper {
-    private static SeleniumHelper instance;
-    private SeleniumWrapper selenium;
-    private WebDriver driver;
-    private ElementFinder elementFinder;
-    private static final Logger logger = Logger.getLogger(SeleniumHelper.class.getName());
-
-    private SeleniumHelper() {
-    }
-
-    public synchronized static SeleniumHelper getInstance() {
-        if (instance == null) {
-            instance = new SeleniumHelper();
-        }
-
-        return instance;
-    }
-
-    public SeleniumWrapper getSeleniumInstance() {
-        if (selenium == null) {
-            if (Boolean.parseBoolean(SeleniumHelper.getParameter("debug", "false"))) {
-                logger.log(Level.INFO, "Creating new selenium instance");
-            }
-            String browser = getParameter("browser", "firefox");
-
-            if ("firefox".equals(browser)) {
-                driver = new FirefoxDriver();
-            } else if ("chrome".equals(browser)) {
-                driver = new ChromeDriver();
-            } else if ("ie".contains(browser)) {
-                driver = new InternetExplorerDriver();
-            }
-            elementFinder = new ElementFinder(driver);
-
-            selenium = new SeleniumWrapper(driver, getBaseUrl());
-            selenium.setTimeout("90000");
-            (new BaseSeleniumTestClass()).openAndWaitForHomePage(getBaseUrl(), BaseSeleniumTestClass.TRIGGER_COMMON_TASKS, 480); // Make sure the server has started and the user logged in
-        }
-
-        selenium.windowFocus();
-        selenium.windowMaximize();
-        selenium.setTimeout("90000");
-
-        return selenium;
-    }
-
-    public void releaseSeleniumInstance() {
-        if (selenium != null) {
-            if (Boolean.parseBoolean(SeleniumHelper.getParameter("debug", "false"))) {
-                logger.log(Level.INFO, "Releasing selenium instance");
-            }
-            selenium.stop();
-            selenium = null;
-        }
-    }
-
-    public String getBaseUrl() {
-        String hostName = null;
-        try {
-            hostName = InetAddress.getLocalHost().getCanonicalHostName();
-        } catch (UnknownHostException ex) {
-            Logger.getLogger(SeleniumHelper.class.getName()).log(Level.SEVERE, null, ex);
-        }
-        return "http://" + hostName + ":" + getParameter("admin.port", "4848");
-    }
-
-    public WebDriver getDriver() {
-        return driver;
-    }
-
-    public ElementFinder getElementFinder() {
-        return elementFinder;
-    }
-
-
-    public static String getParameter(String paramName, String defaultValue) {
-        String value = System.getProperty(paramName);
-
-        return value != null ? value : defaultValue;
-    }
-
-    public static String captureScreenshot() {
-        return captureScreenshot("" + (Math.abs(new Random().nextInt()) + 1));
-    }
-
-    public static String captureScreenshot(String fileName) {
-        try {
-            new File("target/surefire-reports/").mkdirs(); // Insure directory is there
-            FileOutputStream out = new FileOutputStream("target/surefire-reports/screenshot-" + fileName + ".png");
-            out.write(((TakesScreenshot)getInstance().getDriver()).getScreenshotAs(OutputType.BYTES));
-            out.close();
-        } catch (Exception e) {
-            // No need to crash the tests if the screenshot fails
-        }
-
-        return fileName;
-    }
-}
diff --git a/appserver/admingui/devtests/src/test/java/org/glassfish/admingui/devtests/util/SeleniumWrapper.java b/appserver/admingui/devtests/src/test/java/org/glassfish/admingui/devtests/util/SeleniumWrapper.java
deleted file mode 100644
index 7b05ded..0000000
--- a/appserver/admingui/devtests/src/test/java/org/glassfish/admingui/devtests/util/SeleniumWrapper.java
+++ /dev/null
@@ -1,319 +0,0 @@
-/*
- * 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
- * http://www.eclipse.org/legal/epl-2.0.
- *
- * This Source Code may also be made available under the following Secondary
- * Licenses when the conditions for such availability set forth in the
- * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
- * version 2 with the GNU Classpath Exception, which is available at
- * 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.admingui.devtests.util;
-
-import org.glassfish.admingui.devtests.BaseSeleniumTestClass;
-import org.junit.Assert;
-import org.openqa.selenium.By;
-import org.openqa.selenium.WebDriver;
-import org.openqa.selenium.WebElement;
-
-import com.thoughtworks.selenium.webdriven.WebDriverBackedSelenium;
-
-/**
- *
- * @author jasonlee
- */
-public class SeleniumWrapper extends WebDriverBackedSelenium {
-
-    WebDriver driver;
-
-    public SeleniumWrapper(WebDriver driver, String baseUrl) {
-        super(driver, baseUrl);
-        this.driver = driver;
-    }
-
-    protected void sleep(int millis) {
-        try {
-            Thread.sleep(millis);
-        } catch (InterruptedException e) {
-        }
-    }
-
-    @Override
-    public String getValue(String elem) {
-        String value = null;
-        try {
-            value = super.getValue(elem);
-        } catch (Exception e) {
-            sleep(1000);
-            value = super.getValue(elem);
-        }
-        return value;
-    }
-
-    @Override
-    public void click(String locator) {
-        try {
-            super.click(locator);
-        } catch (Exception e) {
-            sleep(1000);
-            super.click(locator);
-        }
-    }
-
-    @Override
-    public String getText(String locator) {
-        String text = null;
-        try {
-            text = super.getText(locator);
-        } catch (Exception e) {
-            sleep(1000);
-            text = super.getText(locator);
-        }
-        return text;
-    }
-
-    @Override
-    public void type(String locator, String value) {
-        try {
-            super.type(locator, value);
-        } catch (Exception e) {
-            sleep(1000);
-            super.type(locator, value);
-        }
-    }
-
-    @Override
-    public void uncheck(String string) {
-        try {
-            super.uncheck(string);
-        } catch (Exception e) {
-            sleep(1000);
-            super.uncheck(string);
-        }
-    }
-
-    @Override
-    public void check(String string) {
-        try {
-            super.check(string);
-        } catch (Exception e) {
-            sleep(1000);
-            super.check(string);
-        }
-    }
-
-    @Override
-    public void select(String string, String string1) {
-        try {
-            super.select(string, string1);
-        } catch (Exception e) {
-            sleep(1000);
-            super.select(string, string1);
-        }
-    }
-
-    @Override
-    public void removeAllSelections(String string) {
-        try {
-            super.removeAllSelections(string);
-        } catch (Exception e) {
-            sleep(1000);
-            super.removeAllSelections(string);
-        }
-    }
-
-    @Override
-    public String getAttribute(String string) {
-        String attribute = null;
-        try {
-            attribute = super.getAttribute(string);
-        } catch (Exception e) {
-            sleep(1000);
-            attribute = super.getAttribute(string);
-        }
-        return attribute;
-    }
-
-    @Override
-    public boolean isTextPresent(String string) {
-        boolean isTextPresent = false;
-        try {
-            isTextPresent = super.isTextPresent(string);
-        } catch (Exception e) {
-            sleep(1000);
-            isTextPresent = super.isTextPresent(string);
-        }
-        return isTextPresent;
-    }
-
-    @Override
-    public void waitForCondition(String string, String string1) {
-        try {
-            super.waitForCondition(string, string1);
-        } catch (Exception e) {
-            sleep(1000);
-            super.waitForCondition(string, string1);
-        }
-    }
-
-    @Override
-    public String getEval(String string) {
-        String eval = null;
-        try {
-            eval = super.getEval(string);
-        } catch (Exception e) {
-            sleep(1000);
-            eval = super.getEval(string);
-        }
-        return eval;
-    }
-
-    @Override
-    public String[] getSelectOptions(String string) {
-        String options[] = null;
-        try {
-            options = super.getSelectOptions(string);
-        } catch (Exception e) {
-            sleep(1000);
-            options = super.getSelectOptions(string);
-        }
-        return options;
-    }
-
-    @Override
-    public boolean isChecked(String string) {
-        boolean isChecked = false;
-        try {
-            isChecked = super.isChecked(string);
-        } catch (Exception e) {
-            sleep(1000);
-            isChecked = super.isChecked(string);
-        }
-        return isChecked;
-    }
-
-    @Override
-    public void addSelection(String string, String string1) {
-        try {
-            super.addSelection(string, string1);
-        } catch (Exception e) {
-            sleep(1000);
-            super.addSelection(string, string1);
-        }
-    }
-
-    @Override
-    public void submit(String string) {
-        try {
-            super.submit(string);
-        } catch (Exception e) {
-            sleep(1000);
-            super.submit(string);
-        }
-    }
-
-    @Override
-    public void waitForPopUp(String string, String string1) {
-        try {
-            super.waitForPopUp(string, string1);
-        } catch (Exception e) {
-            sleep(1000);
-            super.waitForPopUp(string, string1);
-        }
-    }
-
-    @Override
-    public void chooseOkOnNextConfirmation() {
-        try {
-            super.chooseOkOnNextConfirmation();
-        } catch (Exception e) {
-            sleep(1000);
-            super.chooseOkOnNextConfirmation();
-        }
-    }
-
-    @Override
-    public boolean isConfirmationPresent() {
-        boolean confirmationPresent = false;
-        try {
-            confirmationPresent = super.isConfirmationPresent();
-        } catch (Exception e) {
-            sleep(1000);
-            confirmationPresent = super.isConfirmationPresent();
-        }
-        return confirmationPresent;
-    }
-
-    @Override
-    public boolean isAlertPresent() {
-        boolean alertPresent = false;
-        try {
-            alertPresent = super.isAlertPresent();
-        } catch (Exception e) {
-            sleep(1000);
-            alertPresent = super.isAlertPresent();
-        }
-        return alertPresent;
-    }
-
-    @Override
-    public String getConfirmation() {
-        String confirmation = null;
-
-        try {
-            confirmation = super.getConfirmation();
-        } catch (Exception e) {
-            sleep(1000);
-            confirmation = super.getConfirmation();
-        }
-        return confirmation;
-    }
-
-    @Override
-    public void attachFile(String string, String string1) {
-        try {
-            super.attachFile(string, string1);
-        } catch (Exception e) {
-            sleep(1000);
-            super.attachFile(string, string1);
-        }
-    }
-
-    public WebElement findElement(By by) {
-        WebElement element = (WebElement) driver.findElement(by);
-
-        try {
-            element.isDisplayed(); // Force an op on the element to make sure it's a valid reference
-        } catch (Exception e) {
-            sleep(1000);
-            element = (WebElement) driver.findElement(by);
-        }
-
-        return element;
-    }
-
-    public WebElement findElement(By by, int timeoutInSeconds) {
-        for (int seconds = 0;; seconds++) {
-            if (seconds >= (timeoutInSeconds)) {
-                Assert.fail("The operation timed out waiting for the page to load.");
-            }
-
-            WebElement element = null;
-
-            try {
-                element = (WebElement) driver.findElement(by);
-                element.isDisplayed();
-                return element;
-            } catch (Exception ex) {
-            }
-
-            sleep(BaseSeleniumTestClass.TIMEOUT_CALLBACK_LOOP);
-        }
-    }
-}
diff --git a/appserver/admingui/devtests/src/test/resources/JavaEEApp.ear b/appserver/admingui/devtests/src/test/resources/JavaEEApp.ear
deleted file mode 100644
index b7b4bd9..0000000
--- a/appserver/admingui/devtests/src/test/resources/JavaEEApp.ear
+++ /dev/null
Binary files differ
diff --git a/appserver/admingui/devtests/src/test/resources/ejb-ejb30-hello-sessionApp.ear b/appserver/admingui/devtests/src/test/resources/ejb-ejb30-hello-sessionApp.ear
deleted file mode 100644
index 4a6cdc6..0000000
--- a/appserver/admingui/devtests/src/test/resources/ejb-ejb30-hello-sessionApp.ear
+++ /dev/null
Binary files differ
diff --git a/appserver/admingui/devtests/src/test/resources/ejb-timer-sessiontimerApp.ear b/appserver/admingui/devtests/src/test/resources/ejb-timer-sessiontimerApp.ear
deleted file mode 100644
index a0d118a..0000000
--- a/appserver/admingui/devtests/src/test/resources/ejb-timer-sessiontimerApp.ear
+++ /dev/null
Binary files differ
diff --git a/appserver/admingui/devtests/src/test/resources/firefoxProfile/prefs.js b/appserver/admingui/devtests/src/test/resources/firefoxProfile/prefs.js
deleted file mode 100644
index 384f310..0000000
--- a/appserver/admingui/devtests/src/test/resources/firefoxProfile/prefs.js
+++ /dev/null
@@ -1,67 +0,0 @@
-/*
- * Copyright (c) 2011, 2018 Oracle and/or its affiliates. All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v. 2.0, which is available at
- * http://www.eclipse.org/legal/epl-2.0.
- *
- * This Source Code may also be made available under the following Secondary
- * Licenses when the conditions for such availability set forth in the
- * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
- * version 2 with the GNU Classpath Exception, which is available at
- * https://www.gnu.org/software/classpath/license.html.
- *
- * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
- */
-
-# Mozilla User Preferences
-
-/* Do not edit this file.
- *
- * If you make changes to this file while the application is running,
- * the changes will be overwritten when the application exits.
- *
- * To make a manual change to preferences, you can visit the URL about:config
- * For more information, see http://www.mozilla.org/unix/customizing.html#prefs
- */
-
-user_pref("app.update.lastUpdateTime.places-maintenance-timer", 1303854542);
-user_pref("app.update.lastUpdateTime.search-engine-update-timer", 1303854358);
-user_pref("app.update.mode", 0);
-user_pref("browser.download.manager.showWhenStarting", false);
-user_pref("browser.history_expire_days.mirror", 180);
-user_pref("browser.migration.version", 1);
-user_pref("browser.places.importBookmarksHTML", false);
-user_pref("browser.places.smartBookmarksVersion", 2);
-user_pref("browser.preferences.advanced.selectedTabIndex", 0);
-user_pref("browser.privatebrowsing.autostart", true);
-user_pref("browser.rights.3.shown", true);
-user_pref("browser.safebrowsing.enabled", false);
-user_pref("browser.safebrowsing.malware.enabled", false);
-user_pref("browser.sessionstore.resume_session_once", true);
-user_pref("browser.shell.checkDefaultBrowser", false);
-user_pref("browser.startup.homepage", "about:blank");
-user_pref("browser.startup.homepage_override.mstone", "rv:1.9.2.16");
-user_pref("browser.tabs.warnOnClose", false);
-user_pref("browser.tabs.warnOnOpen", false);
-user_pref("browser.urlbar.autocomplete.enabled", false);
-user_pref("dom.disable_open_during_load", false);
-user_pref("extensions.enabledItems", "{972ce4c6-7e08-4474-a285-3208198ce6fd}:3.6.16");
-user_pref("extensions.lastAppVersion", "3.6.16");
-user_pref("extensions.newAddons", false);
-user_pref("extensions.update.notifyUser", false);
-user_pref("general.autoScroll", false);
-user_pref("general.warnOnAboutConfig", false);
-user_pref("intl.charsetmenu.browser.cache", "UTF-8");
-user_pref("network.cookie.prefsMigrated", true);
-user_pref("pref.advanced.javascript.disable_button.advanced", false);
-user_pref("privacy.sanitize.migrateFx3Prefs", true);
-user_pref("security.warn_entering_weak", false);
-user_pref("security.warn_viewing_mixed", false);
-user_pref("urlclassifier.keyupdatetime.https://sb-ssl.google.com/safebrowsing/newkey", 1306446242);
-user_pref("xpinstall.whitelist.required", false);
-
-user_pref("javascript.options.methodjit.chrome", "true");
-user_pref("javascript.options.methodjit.content", "true");
-user_pref("javascript.options.tracejit.chrome", "true");
-user_pref("javascript.options.tracejit.chrome", "true");
diff --git a/appserver/admingui/devtests/src/test/resources/test.war b/appserver/admingui/devtests/src/test/resources/test.war
deleted file mode 100644
index 2e318e4..0000000
--- a/appserver/admingui/devtests/src/test/resources/test.war
+++ /dev/null
Binary files differ
diff --git a/appserver/appclient/client/acc-standalone/src/main/java/org/glassfish/appclient/client/acc/agent/ACCAgentClassLoader.java b/appserver/appclient/client/acc-standalone/src/main/java/org/glassfish/appclient/client/acc/agent/ACCAgentClassLoader.java
index a214ef4..05c1f60 100644
--- a/appserver/appclient/client/acc-standalone/src/main/java/org/glassfish/appclient/client/acc/agent/ACCAgentClassLoader.java
+++ b/appserver/appclient/client/acc-standalone/src/main/java/org/glassfish/appclient/client/acc/agent/ACCAgentClassLoader.java
@@ -1,5 +1,6 @@
 /*
  * Copyright (c) 1997, 2021 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2022 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
@@ -16,23 +17,17 @@
 
 package org.glassfish.appclient.client.acc.agent;
 
-import static java.io.File.pathSeparator;
 import static java.security.AccessController.doPrivileged;
-import static java.util.Collections.emptyList;
-
 import java.io.File;
 import java.io.IOException;
 import java.net.MalformedURLException;
-import java.net.URI;
-import java.net.URISyntaxException;
 import java.net.URL;
 import java.net.URLClassLoader;
 import java.net.URLStreamHandlerFactory;
 import java.security.PrivilegedAction;
-import java.util.ArrayList;
 import java.util.Enumeration;
-import java.util.List;
-import java.util.ListIterator;
+
+import org.glassfish.appclient.common.ClassPathUtils;
 
 /**
  * Used as the system class loader during app client launch.
@@ -47,27 +42,22 @@
 
     private boolean isActive = true;
 
+    /**
+     * This constructor is used by the VM to create a system class loader (as specified by -Djava.system.class.loader on the
+     * java command created from the appclient script).
+     */
     public ACCAgentClassLoader(ClassLoader parent) {
-        /*
-         * This constructor is used by the VM to create a system class loader (as specified by -Djava.system.class.loader on the
-         * java command created from the appclient script).
-         *
-         * Actually create two new loaders. One will handle the GlassFish
-         * system JARs and the second will temporarily handle the application resources - typically for a splash screen.
-         */
-        super(userClassPath(), prepareLoader(GFSystemClassPath(), new ClassLoaderWrapper(parent.getParent())));
+        super(new URL[] {}, prepareLoader(parent));
     }
 
-    private static URLClassLoader prepareLoader(URL[] urls, ClassLoader parent) {
-        return doPrivileged(new PrivilegedAction<URLClassLoader>() {
-            @Override
-            public URLClassLoader run() {
-                return new URLClassLoader(urls, parent);
-            }
 
-        });
+    private static URLClassLoader prepareLoader(ClassLoader parent) {
+        PrivilegedAction<URLClassLoader> action = () -> new URLClassLoader(
+            new URL[] {ClassPathUtils.getGFClientJarURL()}, new ClassLoaderWrapper(parent));
+        return doPrivileged(action);
     }
 
+
     public ACCAgentClassLoader(URL[] urls) {
         super(urls);
     }
@@ -90,7 +80,6 @@
         if (isActive && isStillActive()) {
             return super.loadClass(name);
         }
-
         return getParent().loadClass(name);
     }
 
@@ -99,7 +88,6 @@
         if (isActive && isStillActive()) {
             return super.getResource(name);
         }
-
         return getParent().getResource(name);
     }
 
@@ -108,7 +96,6 @@
         if (isActive && isStillActive()) {
             return super.getResources(name);
         }
-
         return getParent().getResources(name);
     }
 
@@ -117,62 +104,6 @@
             String propValue = System.getProperty("org.glassfish.appclient.acc.agentLoaderDone");
             isActive = (propValue != null);
         }
-
         return isActive;
     }
-
-    private static URL[] userClassPath() {
-        URI GFSystemURI = GFSystemURI();
-        List<URL> classPathURLs = classPathToURLs(System.getProperty("java.class.path"));
-
-        for (ListIterator<URL> classPathURLsIterator = classPathURLs.listIterator(); classPathURLsIterator.hasNext();) {
-            URL classPathURL = classPathURLsIterator.next();
-            try {
-                if (classPathURL.toURI().equals(GFSystemURI)) {
-                    classPathURLsIterator.remove();
-                }
-            } catch (URISyntaxException ex) {
-                throw new RuntimeException(ex);
-            }
-        }
-
-        return classPathURLs.toArray(new URL[classPathURLs.size()]);
-    }
-
-    private static URL[] GFSystemClassPath() {
-        try {
-            return new URL[] { GFSystemURI().normalize().toURL() };
-        } catch (Exception ex) {
-            throw new RuntimeException(ex);
-        }
-    }
-
-    private static URI GFSystemURI() {
-        try {
-            return Class.forName("org.glassfish.appclient.client.acc.agent.AppClientContainerAgent")
-                        .getProtectionDomain()
-                        .getCodeSource()
-                        .getLocation()
-                        .toURI()
-                        .normalize();
-        } catch (Exception ex) {
-            throw new RuntimeException(ex);
-        }
-    }
-
-    private static List<URL> classPathToURLs(final String classPath) {
-        if (classPath == null) {
-            return emptyList();
-        }
-
-        List<URL> classPathURLs = new ArrayList<>();
-        try {
-            for (String classPathElement : classPath.split(pathSeparator)) {
-                classPathURLs.add(new File(classPathElement).toURI().normalize().toURL());
-            }
-            return classPathURLs;
-        } catch (Exception ex) {
-            throw new RuntimeException(ex);
-        }
-    }
 }
diff --git a/appserver/appclient/client/acc/src/main/java/org/glassfish/appclient/client/CLIBootstrap.java b/appserver/appclient/client/acc/src/main/java/org/glassfish/appclient/client/CLIBootstrap.java
index 64c7a27..c5009e2 100644
--- a/appserver/appclient/client/acc/src/main/java/org/glassfish/appclient/client/CLIBootstrap.java
+++ b/appserver/appclient/client/acc/src/main/java/org/glassfish/appclient/client/CLIBootstrap.java
@@ -1,5 +1,6 @@
 /*
  * Copyright (c) 2010, 2021 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2022 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
@@ -21,16 +22,16 @@
 import java.io.File;
 import java.io.IOException;
 import java.io.PrintStream;
+import java.net.URL;
 import java.util.ArrayList;
 import java.util.List;
-import java.util.jar.Attributes;
-import java.util.jar.JarFile;
-import java.util.jar.Manifest;
 import java.util.regex.Matcher;
 import java.util.regex.Pattern;
+import java.util.stream.Collectors;
+import java.util.stream.Stream;
 
 import org.glassfish.appclient.client.acc.UserError;
-
+import org.glassfish.appclient.common.ClassPathUtils;
 import com.sun.enterprise.util.OS;
 
 /**
@@ -73,7 +74,7 @@
     private final static boolean isDebug = System.getenv("AS_DEBUG") != null;
     private final static String INPUT_ARGS = System.getenv("inputArgs");
 
-    final static String ENV_VAR_PROP_PREFIX = "acc.";
+    static final String ENV_VAR_PROP_PREFIX = "acc.";
 
 
     private final static String INSTALL_ROOT_PROPERTY_EXPR = "-Dcom.sun.aas.installRoot=";
@@ -85,25 +86,24 @@
 
     private JavaInfo java = new JavaInfo();
     private GlassFishInfo gfInfo = new GlassFishInfo();
-    private final UserVMArgs userVMArgs = new UserVMArgs(System.getProperty(ENV_VAR_PROP_PREFIX + "VMARGS"));
-
-    /**
-     * Set up with various sub-types of command line elements
-     */
-    private final CommandLineElement
-        /** options to the ACC that take a value */
-        accValuedOptions = new ACCValuedOption("-mainclass|-name|-xml|-configxml|-user|-password|-passwordfile|-targetserver"),
-
-        /** options to the ACC that take no value */
-        accUnvaluedOptions = new ACCUnvaluedOption("-textauth|-noappinvoke|-usage|-help"),
-
-        jvmValuedOptions = new JVMValuedOption("-classpath|-cp", userVMArgs.evJVMValuedOptions),
-        jvmPropertySettings = new JVMOption("-D.*", userVMArgs.evJVMPropertySettings),
-        otherJVMOptions = new JVMOption("-.*", userVMArgs.evOtherJVMOptions),
-        arguments = new CommandLineArgument(".*", Pattern.DOTALL);
-
     /** Records how the user specifies the main class: -jar xxx.jar, -client xxx.jar, or a.b.MainClass */
     private final JVMMainOption jvmMainSetting = new JVMMainOption();
+    // note: must be defined after jvmMainSetting, because it uses it
+    private final UserVMArgs userVMArgs = new UserVMArgs(System.getProperty(ENV_VAR_PROP_PREFIX + "VMARGS"));
+
+
+    // Set up with various sub-types of command line elements
+    /** options to the ACC that take a value */
+    private final CommandLineElement accValuedOptions = new ACCValuedOption(
+        "-mainclass|-name|-xml|-configxml|-user|-password|-passwordfile|-targetserver");
+
+    /** options to the ACC that take no value */
+    private final CommandLineElement accUnvaluedOptions = new ACCUnvaluedOption("-textauth|-noappinvoke|-usage|-help");
+
+    private final CommandLineElement jvmValuedOptions = new JVMValuedOption("-classpath|-cp", userVMArgs.evJVMValuedOptions);
+    private final CommandLineElement jvmPropertySettings = new JVMOption("-D.*", userVMArgs.evJVMPropertySettings);
+    private final CommandLineElement otherJVMOptions = new JVMOption("-.*", userVMArgs.evOtherJVMOptions);
+    private final CommandLineElement arguments = new CommandLineArgument(".*", Pattern.DOTALL);
 
     /** command line elements from most specific to least specific matching pattern */
     private final CommandLineElement[] elementsInScanOrder = new CommandLineElement[] {
@@ -291,6 +291,7 @@
         command.append(' ').append(INSTALL_ROOT_PROPERTY_EXPR).append(quote(gfInfo.home().getAbsolutePath()));
         command.append(' ').append(SECURITY_POLICY_PROPERTY_EXPR).append(quote(gfInfo.securityPolicy().getAbsolutePath()));
         command.append(' ').append(SYSTEM_CLASS_LOADER_PROPERTY_EXPR);
+        command.append(' ').append("-Xshare:off");
         command.append(' ').append(SECURITY_AUTH_LOGIN_CONFIG_PROPERTY_EXPR).append(quote(gfInfo.loginConfig().getAbsolutePath()));
     }
 
@@ -767,74 +768,56 @@
 
         @Override
         int processValue(String[] args, int slot) throws UserError {
-            /*
-             * We only care about the most recent setting.
-             */
+            // We only care about the most recent setting.
             values.clear();
 
-            /*
-             * If arg[slot] is -jar or -client we expect the next value to be the file. Make sure there is a next item and that it
-             * does not start with -.
-             */
-            if (args[slot].charAt(0) == '-') {
-                if (nextLooksOK(args, slot)) {
-                    introducer = args[slot++];
-                    final int result = super.processValue(args, slot);
-                    final String path = values.get(values.size() - 1);
-                    final File clientSpec = new File(path);
-                    if (clientSpec.isDirectory()) {
-                        /*
-                         * Record in the agent args that the user is launching a directory. Set the main class launch info to launch the ACC
-                         * JAR.
-                         */
-                        agentArgs.add("client=dir=" + quote(clientSpec.getAbsolutePath()));
-                        introducer = "-jar";
-                        values.set(values.size() - 1, gfInfo.agentJarPath());
-                    } else {
-                        agentArgs.add("client=jar=" + quote(path));
-                        /*
-                         * The client path is not a directory. It should be a .jar or a .ear file. If an EAR, then we want Java to launch
-                         * our ACC jar. If a JAR, then we will launch that JAR.
-                         */
-                        if (path.endsWith(".ear")) {
-                            introducer = "-jar";
-                            values.set(values.size() - 1, gfInfo.agentJarPath());
-                        } else if (path.endsWith(".jar")) {
-                            introducer = null;
-                            values.set(values.size() - 1, "-classpath");
-                            values.add(gfInfo.agentJarPath() + File.pathSeparator + path);
-                            values.add(getMainClassOf(clientSpec));
-                        }
-                    }
-                    return result;
-                } else {
-                    throw new UserError("-jar or -client requires value but missing");
-                }
-            } else {
-                /*
-                 * This must be a main class specified on the command line.
-                 */
+            // If arg[slot] is -jar or -client we expect the next value to be the file. Make sure there is a next item and that it
+            if (args[slot].charAt(0) != '-') {
+                // This must be a main class specified on the command line.
                 final int result = super.processValue(args, slot);
                 agentArgs.add("client=class=" + values.get(values.size() - 1));
                 return result;
-
             }
-        }
-
-        private String getMainClassOf(File clientSpec) {
-            try {
-                try (JarFile jarFile = new JarFile(clientSpec)) {
-                    Manifest manifest = jarFile.getManifest();
-                    Attributes mainAttributes = manifest.getMainAttributes();
-                    String mainClass = mainAttributes.getValue("Main-Class");
-
-                    return mainClass == null ? "" : mainClass;
+            if (!nextLooksOK(args, slot)) {
+                throw new UserError("-jar or -client requires value but missing");
+            }
+            introducer = args[slot++];
+            final int result = super.processValue(args, slot);
+            final String clientJarPath = values.get(values.size() - 1);
+            final File clientJarFile = new File(clientJarPath);
+            if (clientJarFile.isDirectory()) {
+                // Record in the agent args that the user is launching a directory. Set the main class launch info to launch the ACC JAR.
+                agentArgs.add("client=dir=" + quote(clientJarFile.getAbsolutePath()));
+                introducer = "-jar";
+                values.set(values.size() - 1, gfInfo.agentJarPath());
+            } else {
+                agentArgs.add("client=jar=" + quote(clientJarPath));
+                // The client path is not a directory. It should be a .jar or a .ear file. If an EAR, then we want Java to launch
+                // our ACC jar. If a JAR, then we will launch that JAR.
+                if (clientJarPath.endsWith(".ear")) {
+                    introducer = "-jar";
+                    values.set(values.size() - 1, gfInfo.agentJarPath());
+                } else if (clientJarPath.endsWith(".jar")) {
+                    introducer = null;
+                    values.set(values.size() - 1, "-classpath");
+                    values.add(gfInfo.agentJarPath() + File.pathSeparatorChar + getClassPathForGfClient(clientJarPath));
+                    values.add(ClassPathUtils.getMainClass(clientJarFile));
                 }
-            } catch (IOException e) {
-                throw new RuntimeException(e);
             }
+            return result;
         }
 
+
+        private String getClassPathForGfClient(String clientJarPath) {
+            URL[] classpath = ClassPathUtils.getJavaClassPathForAppClient();
+            if (classpath.length == 0) {
+                return clientJarPath;
+            }
+            return clientJarPath + File.pathSeparator + Stream.of(classpath).map(ClassPathUtils::convertToString)
+                .collect(Collectors.joining(File.pathSeparator));
+        }
+
+
         @Override
         boolean format(final StringBuilder commandLine) {
             if (introducer != null) {
@@ -942,6 +925,9 @@
             return new File(lib, "ext").getAbsolutePath();
         }
 
+        /**
+         * @return gf-client.jar path
+         */
         String agentJarPath() {
             return new File(lib, "gf-client.jar").getAbsolutePath();
         }
diff --git a/appserver/appclient/client/acc/src/main/java/org/glassfish/appclient/client/acc/ACCClassLoader.java b/appserver/appclient/client/acc/src/main/java/org/glassfish/appclient/client/acc/ACCClassLoader.java
index bca720c..d873fb4 100644
--- a/appserver/appclient/client/acc/src/main/java/org/glassfish/appclient/client/acc/ACCClassLoader.java
+++ b/appserver/appclient/client/acc/src/main/java/org/glassfish/appclient/client/acc/ACCClassLoader.java
@@ -1,6 +1,7 @@
 /*
  * Copyright (c) 2021 Contributors to Eclipse Foundation.
  * Copyright (c) 1997, 2021 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2022 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
@@ -14,19 +15,14 @@
  *
  * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
  */
+
 package org.glassfish.appclient.client.acc;
 
-import static java.security.AccessController.doPrivileged;
-import static java.util.Collections.emptyList;
-
 import java.io.ByteArrayOutputStream;
-import java.io.File;
 import java.io.IOException;
 import java.io.InputStream;
 import java.lang.instrument.ClassFileTransformer;
 import java.lang.instrument.IllegalClassFormatException;
-import java.net.URI;
-import java.net.URISyntaxException;
 import java.net.URL;
 import java.net.URLClassLoader;
 import java.security.CodeSource;
@@ -36,11 +32,13 @@
 import java.util.ArrayList;
 import java.util.Collections;
 import java.util.List;
-import java.util.ListIterator;
 import java.util.function.Consumer;
 
+import org.glassfish.appclient.common.ClassPathUtils;
 import org.glassfish.appclient.common.ClientClassLoaderDelegate;
 
+import static java.security.AccessController.doPrivileged;
+
 /**
  *
  * @author tjquinn
@@ -70,7 +68,8 @@
 
             @Override
             public ACCClassLoader run() {
-                return new ACCClassLoader(userClassPath(), parentForACCCL, shouldTransform);
+                URL[] classpath = ClassPathUtils.getJavaClassPathForAppClient();
+                return new ACCClassLoader(classpath, parentForACCCL, shouldTransform);
             }
 
         });
@@ -106,54 +105,6 @@
         }
     }
 
-    private static URL[] userClassPath() {
-        URI GFSystemURI = GFSystemURI();
-        List<URL> result = classPathToURLs(System.getProperty("java.class.path"));
-
-        for (ListIterator<URL> it = result.listIterator(); it.hasNext();) {
-            URL url = it.next();
-            try {
-                if (url.toURI().equals(GFSystemURI)) {
-                    it.remove();
-                }
-            } catch (URISyntaxException ex) {
-                throw new RuntimeException(ex);
-            }
-        }
-
-        result.addAll(classPathToURLs(System.getenv("APPCPATH")));
-
-        return result.toArray(new URL[result.size()]);
-    }
-
-    private static URI GFSystemURI() {
-        try {
-            return Class.forName("org.glassfish.appclient.client.acc.agent.AppClientContainerAgent")
-                        .getProtectionDomain()
-                        .getCodeSource()
-                        .getLocation()
-                        .toURI()
-                        .normalize();
-        } catch (Exception ex) {
-            throw new RuntimeException(ex);
-        }
-    }
-
-    private static List<URL> classPathToURLs(final String classPath) {
-        if (classPath == null) {
-            return emptyList();
-        }
-
-        List<URL> result = new ArrayList<>();
-        try {
-            for (String classPathElement : classPath.split(File.pathSeparator)) {
-                result.add(new File(classPathElement).toURI().normalize().toURL());
-            }
-            return result;
-        } catch (Exception ex) {
-            throw new RuntimeException(ex);
-        }
-    }
 
     public ACCClassLoader(ClassLoader parent, final boolean shouldTransform) {
         super(new URL[0], parent);
diff --git a/appserver/appclient/client/acc/src/main/java/org/glassfish/appclient/client/acc/AppClientInfo.java b/appserver/appclient/client/acc/src/main/java/org/glassfish/appclient/client/acc/AppClientInfo.java
index 178af6e..da5f00f 100644
--- a/appserver/appclient/client/acc/src/main/java/org/glassfish/appclient/client/acc/AppClientInfo.java
+++ b/appserver/appclient/client/acc/src/main/java/org/glassfish/appclient/client/acc/AppClientInfo.java
@@ -1,5 +1,6 @@
 /*
  * Copyright (c) 1997, 2018 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2022 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
@@ -24,36 +25,32 @@
 import com.sun.enterprise.util.LocalStringManager;
 import com.sun.enterprise.util.LocalStringManagerImpl;
 
+import jakarta.persistence.EntityManagerFactory;
+
 import java.io.File;
 import java.io.FileNotFoundException;
 import java.io.IOException;
-import java.io.PrintStream;
 import java.net.MalformedURLException;
-import java.net.URI;
 import java.net.URISyntaxException;
 import java.net.URL;
-import java.util.*;
-import java.util.logging.Level;
+import java.util.ArrayList;
+import java.util.Collection;
+import java.util.HashSet;
+import java.util.List;
 import java.util.logging.Logger;
-import jakarta.inject.Inject;
-import jakarta.inject.Provider;
 
 import org.glassfish.apf.AnnotationProcessorException;
 import org.glassfish.api.deployment.InstrumentableClassLoader;
 import org.glassfish.api.deployment.archive.ReadableArchive;
-import org.glassfish.appclient.common.Util;
 import org.glassfish.hk2.api.ServiceLocator;
 import org.jvnet.hk2.annotations.Service;
-import org.xml.sax.SAXParseException;
-
-import jakarta.persistence.EntityManagerFactory;
 
 /**
- *Represents information about the app client, regardless of what type of
- *archive (jar or directory) it is stored in or what type of module
- *(app client or nested within an ear) that archive holds.
+ * Represents information about the app client, regardless of what type of
+ * archive (jar or directory) it is stored in or what type of module
+ * (app client or nested within an ear) that archive holds.
  *
- *@author tjquinn
+ * @author tjquinn
  */
 @Service
 public abstract class AppClientInfo {
@@ -66,20 +63,15 @@
 
     private static final String CODE_BASE_PLACEHOLDER_NAME = "com.sun.aas.jws.client.codeBase";
 
+    /** access to the localizable strings */
+    private static final LocalStringManager localStrings = new LocalStringManagerImpl(AppClientInfo.class);
+
+    // for debug purpose
+    protected static final boolean _keepExplodedDir = Boolean.getBoolean("appclient.keep.exploded.dir");
+
     /** logger */
     protected Logger _logger;
 
-//    /** abstract representation of the storage location */
-//    private ReadableArchive appClientArchive = null;
-
-//    /** original appclient (file or directory) */
-//    private File appClientArchive = null;
-//    private ReadableArchive appClient;
-
-    /** abstract archivist able to operate on the module in the location
-      * (specified by archive */
-    private Archivist archivist = null;
-
     /** main class name as the user specified it on the command line */
     protected String mainClassFromCommandLine;
 
@@ -87,51 +79,16 @@
      *main class to be used - could come from the command line or from the
      *manifest of the selected app client archive
      */
-    protected String mainClassNameToRun = null;
-
-    /** class loader - cached */
-    private ClassLoader classLoader = null;
+    protected String mainClassNameToRun;
 
     /** indicates if the app client has been launched using Java Web Start */
-    protected boolean isJWS = false;
+    protected boolean isJWS;
 
     /**
      * descriptor from the app client module or a default one for the
      * .class file case and the regular java launch with main class case
      */
-    private ApplicationClientDescriptor acDesc = null;
-
-    /** access to the localizable strings */
-    private static final LocalStringManager localStrings =
-            new LocalStringManagerImpl(AppClientInfo.class);
-
-// XXX Mitesh helping to update this
-//    private PersistenceUnitLoader.ApplicationInfo puAppInfo;
-
-//    /**
-//     *Creates a new instance of AppClientInfo.  Always invoked from subclasse
-//     *because AppClientInfo is abstract.
-//     *<p>
-//     *Note that any code instantiationg one of the concrete subclasses MUST
-//     *invoke completeInit after this super.constructor has returned.
-//     *
-//     *@param isJWS indicates if ACC has been launched using Java Web Start
-//     *@param logger the logger to use for messages
-//     *@param archive the AbstractArchive for the app client module or
-//     *               directory being launched
-//     *@param archivist the Archivist corresponding to the type of module
-//     *                 in the archive
-//     *@param mainClassFromCommandLine the main class name specified on the
-//     *       command line (null if not specified)
-//     */
-//    public AppClientInfo(boolean isJWS, Logger logger, ReadableArchive appClientarchive,
-//                         Archivist archivist, String mainClassFromCommandLine) {
-//        this.isJWS = isJWS;
-//        _logger = logger;
-//        this.appClientArchive = appClientarchive;
-//        this.archivist = archivist;
-//        this.mainClassFromCommandLine = mainClassFromCommandLine;
-//    }
+    private ApplicationClientDescriptor acDesc;
 
     /**
      * Creates a new AppClientInfo for a main class file.
@@ -157,67 +114,17 @@
     protected void completeInit() throws Exception {
 
     }
-//    /**
-//     *Finishes initialization work.
-//     *<p>
-//     *The calling logic that instantiates this object must invoke completeInit
-//     *after instantiation but before using the object.
-//     *@throws IOException for errors opening the expanded archive
-//     *@throws SAXParseException for errors parsing the descriptors in a newly-opened archive
-//     *@throws ClassNotFoundException if the main class requested cannot be located in the archive
-//     *@throws URISyntaxException if preparing URIs for the class loader fails
-//     *
-//     */
-//    protected void completeInit(URL[] persistenceURLs)
-//        throws IOException, SAXParseException, ClassNotFoundException,
-//               URISyntaxException, AnnotationProcessorException, Exception {
-//
-//        //expand if needed. initialize the appClientArchive
-////        appClientArchive = expand(appClientArchive);
-//
-//        //Create the class loader to be used for persistence unit checking,
-//        //validation, and running the app client.
-//        classLoader = createClassLoader(appClientArchive, persistenceURLs);
-//
-//        //Populate the deployment descriptor without validation.
-//        //Note that validation is done only after the persistence handling
-//        //has instructed the classloader created above.
-//        populateDescriptor(appClientArchive, archivist, classLoader);
-//
-//         //If the selected app client depends on at least one persistence unit
-//         //then handle the P.U. before proceeding.
-//        if (appClientDependsOnPersistenceUnit(getAppClient())) {
-//            //@@@check to see if the descriptor is metadata-complet=true
-//            //if not, we would have loaded classes into the classloader
-//            //during annotation processing.  we need to hault and ask
-//            //the user to deploy the application.
-//            //if (!getAppClient().isFullFlag()) {
-//            //    throw new RuntimeException("Please deploy your application");
-//            //}
-//            handlePersistenceUnitDependency();
-//        }
-//
-//         //Now that the persistence handling has run and instrumented the class
-//         //loader - if it had to - it's ok to validate.
-//        archivist.validate(classLoader);
-//
-//        fixupWSDLEntries();
-//
-//        if (isJWS) {
-//            grantRequestedPermissionsToUserCode();
-//        }
-//    }
 
     /**
      *Returns the app client descriptor to be run.
      *@return the descriptor for the selected app client
      */
     protected ApplicationClientDescriptor getAppClient() {
-        return getAppClient(archivist);
+        return getAppClient(null);
     }
 
     protected ClassLoader getClassLoader() {
-        return classLoader;
+        return null;
     }
 
     protected void close() throws IOException {
@@ -234,28 +141,22 @@
         return result;
     }
 
+
     /**
-     *Processes persistence unit handling for the ACC.
+     * Processes persistence unit handling for the ACC.
      */
-    protected void handlePersistenceUnitDependency()
-            throws URISyntaxException, MalformedURLException {
-        // XXX Mitesh helping to update this
-//        this.puAppInfo = new ApplicationInfoImpl(this);
-//        new PersistenceUnitLoaderImpl().load(puAppInfo);
+    protected void handlePersistenceUnitDependency() throws URISyntaxException, MalformedURLException {
     }
 
     /**
      * implementation of
      * {@link com.sun.enterprise.server.PersistenceUnitLoader.ApplicationInfo}.
      */
-    private static class ApplicationInfoImpl
-            // XXX Mitesh helping to update this
-//            implements PersistenceUnitLoader.ApplicationInfo
-    {
+    private static class ApplicationInfoImpl {
 
-        private AppClientInfo outer; // the outer object we are associated with
+        private final AppClientInfo outer; // the outer object we are associated with
 
-        private ApplicationClientDescriptor appClient;
+        private final ApplicationClientDescriptor appClient;
 
         public ApplicationInfoImpl(AppClientInfo outer) {
             this.outer = outer;
@@ -278,10 +179,6 @@
             return (InstrumentableClassLoader) outer.getClassLoader();
         }
 
-//        public String getApplicationLocation() {
-//            return outer.appClientArchive.getURI().toASCIIString();
-//        }
-
         /**
          * @return list of PU that are actually referenced by the
          *         appclient.
@@ -296,7 +193,7 @@
          */
         public Collection<? extends EntityManagerFactory> getEntityManagerFactories() {
             Collection<EntityManagerFactory> emfs =
-                    new HashSet<EntityManagerFactory>();
+                    new HashSet<>();
 
             if (appClient.getApplication() != null) {
                 emfs.addAll(appClient.getApplication()
@@ -352,108 +249,6 @@
         return new URL("jar:" + jarFile.toURI().toURL() + "!/" + entry);
     }
 
-
-// XXX restore or move elsewhere -- grants permissions to jars expanded from v2 generated JAR
-//    /**
-//     *Granting the appropriate level of permissions to user code, emulating
-//     *the Java Web Start behavior as required in the JNLP spec.
-//     *<p>
-//     *Classes from the user's app client jar are loaded using the ASURLClassLoader
-//     *rather than the Java Web Start class loader.  As a result, Java Web Start
-//     *cannot grant the appropriate level of permissions to the user code since
-//     *it is the JWS class loader that does that.  So we need to grant the user
-//     *code the appropriate level of permissions, based on whether the user's
-//     *app client jar was signed or not.
-//     *@param retainTempFiles indicates whether to keep the generated policy file
-//     */
-//    protected void grantRequestedPermissionsToUserCode() throws IOException, URISyntaxException {
-//        /*
-//         *Create a temporary file containing permissions grants.  We will use
-//         *this temp file to refresh the Policy objects's settings.  The temp
-//         *file will contain one segment for each element in the class path
-//         *for the user code (from the expanded generated app client jar).
-//         *The permissions granted will be the same for all class path elements,
-//         *and the specific settings will either be the sandbox permissions
-//         *as described in the JNLP spec or full permissions.
-//         */
-//        boolean userJarIsSigned = Boolean.getBoolean(USER_CODE_IS_SIGNED_PROPERTYNAME);
-//
-//        boolean retainTempFiles = Boolean.getBoolean(AppClientContainer.APPCLIENT_RETAIN_TEMP_FILES_PROPERTYNAME);
-//
-//        /*
-//         *Use a template to construct each part of the policy file, choosing the
-//         *template based on whether the user code is signed or not.
-//         */
-//        String templateName = (userJarIsSigned ? SIGNED_USER_CODE_PERMISSION_TEMPLATE_NAME : UNSIGNED_USER_CODE_PERMISSION_TEMPLATE_NAME);
-//        String template = Util.loadResource(JWSACCMain.class, templateName);
-//
-//        /*
-//         *Create the temporary policy file to write to.
-//         */
-//        File policyFile = File.createTempFile("accjws-user", ".policy");
-//        if ( ! retainTempFiles) {
-//            policyFile.deleteOnExit();
-//        }
-//
-//        PrintStream ps = null;
-//
-//        try {
-//            ps = new PrintStream(policyFile);
-//
-//            Properties p = new Properties();
-//
-//            /*
-//             *Use the list of class paths already set up on the ASURLClassLoader.
-//             *Then for each element in the class path, write a part of the policy
-//             *file granting the privs specified in the selected template to the code path.
-//             */
-//            ASURLClassLoader loader = (ASURLClassLoader) getClassLoader();
-//            for (URL classPathElement : loader.getURLs()) {
-//                /*
-//                 *Convert the URL into a proper codebase expression suitable for
-//                 *a grant clause in the policy file.
-//                 */
-//                String codeBase = Util.URLtoCodeBase(classPathElement);
-//                if (codeBase != null) {
-//                    p.setProperty(CODE_BASE_PLACEHOLDER_NAME, codeBase);
-//                    String policyPart = Util.replaceTokens(template, p);
-//
-//                    ps.println(policyPart);
-//                }
-//            }
-//
-//            /*
-//             *Close the temp file and use it to refresh the current Policy object.
-//             */
-//            ps.close();
-//
-//            JWSACCMain.refreshPolicy(policyFile);
-//
-//            if ( ! retainTempFiles) {
-//                policyFile.delete();
-//            }
-//        } finally {
-//            if (ps != null) {
-//                ps.close();
-//            }
-//        }
-//    }
-
-    /////////////////////////////////////////////////////////////////
-    //  The following protected methods are overridden by at least //
-    //  one of the sub classes.                                    //
-    /////////////////////////////////////////////////////////////////
-
-//    /**
-//     *Expands the contents of the source archive into a temporary
-//     *directory, using the same format as backend server expansions.
-//     *@param file an archive file to be expanded
-//     *@return an opened archive for the expanded directory archive
-//     *@exception IOException in case of errors during the expansion
-//     */
-//    protected abstract ReadableArchive expand(File file)
-//        throws IOException, Exception;
-
     protected ApplicationClientDescriptor getAppClient(
         Archivist archivist) {
         return ApplicationClientDescriptor.class.cast(
@@ -501,11 +296,6 @@
             ReadableArchive archive, ApplicationClientDescriptor descriptor)
             throws FileNotFoundException, IOException {
         return detector.containsAnnotation(archive, entry);
-//        String acRoot = getAppClientRoot(archive, descriptor);
-//        String entryLocation = acRoot + File.separator + entry;
-//        File entryFile = new File(entryLocation);
-//        return detector.containsAnnotation(archive, entry)
-//        return detector.containsAnnotation(entryFile);
     }
 
     @Override
@@ -514,19 +304,9 @@
         StringBuilder result = new StringBuilder();
         result.append(this.getClass().getName() + ": " + lineSep);
         result.append("  isJWS: " + isJWS);
-//        result.append("  archive file: " + appClientArchive.getURI().toASCIIString() + lineSep);
-//        result.append("  archive type: " + appClientArchive.getClass().getName() + lineSep);
-        result.append("  archivist type: " + archivist.getClass().getName() + lineSep);
         result.append("  main class to be run: " + mainClassNameToRun + lineSep);
-//        result.append("  temporary archive directory: " + appClientArchive.getURI() + lineSep);
-        result.append("  class loader type: " + classLoader.getClass().getName() + lineSep);
-
         return result.toString();
 
     }
 
-
-    //for debug purpose
-    protected static final boolean _keepExplodedDir =
-            Boolean.getBoolean("appclient.keep.exploded.dir");
 }
diff --git a/appserver/appclient/client/acc/src/main/java/org/glassfish/appclient/client/acc/Util.java b/appserver/appclient/client/acc/src/main/java/org/glassfish/appclient/client/acc/Util.java
index f475c94..bcef290 100644
--- a/appserver/appclient/client/acc/src/main/java/org/glassfish/appclient/client/acc/Util.java
+++ b/appserver/appclient/client/acc/src/main/java/org/glassfish/appclient/client/acc/Util.java
@@ -1,5 +1,6 @@
 /*
  * Copyright (c) 1997, 2018 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2022 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
@@ -39,8 +40,7 @@
  */
 public class Util {
 
-    private static Class thisClass = Util.class;
-    private final static LocalStringManager localStrings = new LocalStringManagerImpl(thisClass);
+    private final static LocalStringManager localStrings = new LocalStringManagerImpl(Util.class);
     private static final String SLASH_REPLACEMENT = Matcher.quoteReplacement("\\\\");
     private static final String DOLLAR_REPLACEMENT = Matcher.quoteReplacement("\\$");
 
@@ -57,7 +57,7 @@
             throw new FileNotFoundException(f.getAbsolutePath());
         }
         if ( ! f.canRead()) {
-            String msg = localStrings.getLocalString(thisClass,
+            String msg = localStrings.getLocalString(Util.class,
                     "appclient.notReadable",
                     "{0} is not a readable file",
                     new Object[] {f.getAbsolutePath()});
@@ -77,7 +77,7 @@
     static File verifyNonDirectoryFilePath(final String filePath) throws FileNotFoundException, IOException {
         File f = verifyFilePath(filePath);
         if ( ! f.isFile()) {
-            String msg = localStrings.getLocalString(thisClass,
+            String msg = localStrings.getLocalString(Util.class,
                     "appclient.isDir",
                     "{0} is a directory; it must be a readable non-directory file",
                     new Object[] {f.getAbsolutePath()});
@@ -103,7 +103,7 @@
     }
     /**
      * Writes the provided text to a temporary file marked for deletion on exit.
-     * @param the content to be written
+     * @param content the content to be written
      * @param prefix for the temp file, conforming to the File.createTempFile requirements
      * @param suffix for the temp file
      * @return File object for the newly-created temp file
@@ -188,11 +188,4 @@
 
         return sb.toString();
     }
-
-    public static String toXMLEscaped(final String content) {
-        return content.
-                    replaceAll("<", "&lt;").
-                    replaceAll(">", "&gt;").
-                    replaceAll("\"", "&quot;");
-    }
 }
diff --git a/appserver/appclient/client/acc/src/main/java/org/glassfish/appclient/client/jws/boot/JWSACCMain.java b/appserver/appclient/client/acc/src/main/java/org/glassfish/appclient/client/jws/boot/JWSACCMain.java
index f2e23ae..6451e58 100644
--- a/appserver/appclient/client/acc/src/main/java/org/glassfish/appclient/client/jws/boot/JWSACCMain.java
+++ b/appserver/appclient/client/acc/src/main/java/org/glassfish/appclient/client/jws/boot/JWSACCMain.java
@@ -1,5 +1,6 @@
 /*
  * Copyright (c) 1997, 2018 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2022 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
@@ -16,11 +17,14 @@
 
 package org.glassfish.appclient.client.jws.boot;
 
+import java.io.BufferedReader;
 import java.io.BufferedWriter;
 import java.io.File;
 import java.io.FileNotFoundException;
 import java.io.FileOutputStream;
 import java.io.IOException;
+import java.io.InputStream;
+import java.io.InputStreamReader;
 import java.io.OutputStreamWriter;
 import java.lang.reflect.Constructor;
 import java.lang.reflect.InvocationTargetException;
@@ -28,29 +32,29 @@
 import java.net.URI;
 import java.net.URISyntaxException;
 import java.net.URL;
-import java.net.URLClassLoader;
 import java.security.Policy;
 import java.text.MessageFormat;
 import java.util.ResourceBundle;
 import java.util.Vector;
+
 import javax.swing.SwingUtilities;
+
 import org.glassfish.appclient.client.acc.AppClientContainer;
-import org.glassfish.appclient.common.Util;
 import org.glassfish.appclient.client.acc.JWSACCClassLoader;
 
 /**
- *Alternate main class for ACC, used when launched by Java Web Start.
- *<p>
- *This class assigns security permissions needed by the app server code and
- *by the app client code, then starts the regular app client container.
- *<p>
- *Note that any logic this class executes that requires privileged access
- *must occur either:
- *- from a class in the signed jar containing this class, or
- *- after setPermissions has been invoked.
- *This is because Java Web Start grants elevated permissions only to the classes
- *in the appserv-jwsacc-signed.jar at the beginning.  Only after setPermissions
- *has been invoked can other app server-provided code run with all permissions.
+ * Alternate main class for ACC, used when launched by Java Web Start.
+ * <p>
+ * This class assigns security permissions needed by the app server code and
+ * by the app client code, then starts the regular app client container.
+ * <p>
+ * Note that any logic this class executes that requires privileged access
+ * must occur either:
+ * - from a class in the signed jar containing this class, or
+ * - after setPermissions has been invoked.
+ * This is because Java Web Start grants elevated permissions only to the classes
+ * in the appserv-jwsacc-signed.jar at the beginning. Only after setPermissions
+ * has been invoked can other app server-provided code run with all permissions.
  *
  * @author tjquinn
  */
@@ -93,7 +97,7 @@
      * command-line clients; otherwise it can prematurely end the JVM when
      * the GUI and other user work is continuing
      */
-    private static boolean exitAfterReturn = false;
+    private static boolean exitAfterReturn;
 
     /*
      *Normally the ACC is not run with the Java Web Start classloader as the
@@ -101,27 +105,25 @@
      *To profile performance, though, sometimes we need to keep the JWS
      *class loader as the parent rather than skipping it.
      */
-    private static boolean keepJWSClassLoader = false;
+    private static boolean keepJWSClassLoader;
 
-    private static boolean runOnSwingThread = false;
+    private static boolean runOnSwingThread;
 
     /** helper for building the class loader and policy changes */
-    private static ClassPathManager classPathManager = null;
+    private static ClassPathManager classPathManager;
 
     /** URLs for downloaded JAR files to be used in the class path */
-    private static URL [] downloadedJarURLs;
+    private static URL[] downloadedJarURLs;
 
     /** URLs for persistence-related JAR files for the class path and permissions */
-    private static URL [] persistenceJarURLs;
+    private static URL[] persistenceJarURLs;
 
     /** localizable strings */
-    private static final ResourceBundle rb =
-        ResourceBundle.getBundle(
-            dotToSlash(JWSACCMain.class.getPackage().getName() + ".LocalStrings"));
-
+    private static final ResourceBundle rb = ResourceBundle
+        .getBundle(dotToSlash(JWSACCMain.class.getPackage().getName() + ".LocalStrings"));
 
     /** make the arguments passed to the constructor available to the main method */
-    private String args[];
+    private final String[] args;
 
     /** Creates a new instance of JWSMain */
     public JWSACCMain(String[] args) {
@@ -173,6 +175,7 @@
         return orig.replaceAll("\\.","/");
     }
 
+    @Override
     public void run() {
 //        Main.main(args);
         int exitValue = 0;
@@ -193,10 +196,9 @@
              *Use the prepared class loader to load the ACC main method, prepare
              *the arguments to the constructor, and invoke the static main method.
              */
-            Constructor constr = null;
-            Class mainClass = Class.forName("com.sun.enterprise.appclient.MainWithModuleSupport", true /* initialize */, loader);
-            constr = mainClass.getConstructor(
-                    new Class[] { String[].class, URL[].class } );
+            Class mainClass = Class.forName("com.sun.enterprise.appclient.MainWithModuleSupport",
+                true /* initialize */, loader);
+            Constructor constr = mainClass.getConstructor(new Class[] {String[].class, URL[].class});
             constr.newInstance(args, persistenceJarURLs);
         } catch(Throwable thr) {
             exitValue = 1;
@@ -217,6 +219,7 @@
             if (exitAfterReturn || (exitValue != 0)) {
                 Runnable exit = new Runnable() {
                     private int statusValue;
+                    @Override
                     public void run() {
                         System.out.printf("Exiting after return from client with status %1$d%n", statusValue);
                         System.exit(statusValue);
@@ -245,8 +248,8 @@
      *@return command arguments with any handled by JWS ACC removed
      */
     private static String[] prepareJWSArgs(String[] args) {
-        Vector<String> JWSACCArgs = new Vector<String>();
-        Vector<String> nonJWSACCArgs = new Vector<String>();
+        Vector<String> JWSACCArgs = new Vector<>();
+        Vector<String> nonJWSACCArgs = new Vector<>();
         for (String arg : args) {
             if (arg.startsWith(JWSACC_ARGUMENT_PREFIX)) {
                 JWSACCArgs.add(arg.substring(JWSACC_ARGUMENT_PREFIX.length()));
@@ -280,9 +283,8 @@
     private static void setPermissions() {
         try {
             /*
-             *Get the permissions template and write it to a temporary file.
              */
-            String permissionsTemplate = Util.loadResource(JWSACCMain.class, PERMISSIONS_TEMPLATE_NAME);
+            String permissionsTemplate = loadResource(JWSACCMain.class, PERMISSIONS_TEMPLATE_NAME);
 
             /*
              *Prepare the grant clauses for the downloaded jars and substitute
@@ -431,18 +433,61 @@
             containingJar = findContainingJar("META-INF/application-client.xml", loader);
         }
         if (containingJar == null) {
-//            needs i18n
-//            throw new IllegalArgumentException(localStrings.getString("appclient.JWSnoDownloadedDescr"));
             throw new IllegalArgumentException("Could not locate META-INF/application.xml or META-INF/application-client.xml");
         }
         return containingJar;
     }
 
+
     /**
-     *Return the class path manager appropriate to the current version.
-     *@return the correct type of ClassPathManager
+     * Return the class path manager appropriate to the current version.
+     *
+     * @return the correct type of ClassPathManager
      */
-    public static ClassPathManager getClassPathManager() throws ClassNotFoundException, NoSuchMethodException {
+    public static ClassPathManager getClassPathManager() {
         return ClassPathManager.getClassPathManager(keepJWSClassLoader);
     }
+
+
+    /**
+     * Get the permissions template and write it to a temporary file.
+     *
+     * <p>
+     * This method does not save the template in a cache. Use the instance method
+     * getTemplate for that purpose.
+     *
+     * @param contextClass a class, the class loader of which should be used for searching for the template
+     * @param resourcePath the path of the resource to load, relative to the contextClass
+     * @return the resource's contents
+     * @throws IOException if the resource is not found or in case of error while loading it
+     */
+    private static String loadResource(Class<?> contextClass, String resourcePath) throws IOException {
+        String result = null;
+        InputStream is = null;
+        BufferedReader reader = null;
+        try {
+            is = contextClass.getResourceAsStream(resourcePath);
+            if (is == null) {
+                throw new IOException("Could not locate the requested resource relative to class " + contextClass.getName());
+            }
+
+            StringBuilder sb = new StringBuilder();
+            reader = new BufferedReader(new InputStreamReader(is));
+            int charsRead;
+            char [] buffer = new char[1024];
+            while ((charsRead = reader.read(buffer)) != -1) {
+                sb.append(buffer, 0, charsRead);
+            }
+
+            result= sb.toString();
+            return result;
+        } catch (IOException ioe) {
+            throw new IOException("Error loading resource " + resourcePath, ioe);
+        } finally {
+            if (reader != null) {
+                reader.close();
+            }
+        }
+    }
+
 }
diff --git a/appserver/appclient/client/acc/src/main/java/org/glassfish/appclient/common/ClassPathUtils.java b/appserver/appclient/client/acc/src/main/java/org/glassfish/appclient/common/ClassPathUtils.java
new file mode 100644
index 0000000..6edc312
--- /dev/null
+++ b/appserver/appclient/client/acc/src/main/java/org/glassfish/appclient/common/ClassPathUtils.java
@@ -0,0 +1,159 @@
+/*
+ * Copyright (c) 2022 Eclipse Foundation and/or its affiliates. All rights reserved.
+ *
+ * This program and the accompanying materials are made available under the
+ * terms of the Eclipse Public License v. 2.0, which is available at
+ * http://www.eclipse.org/legal/epl-2.0.
+ *
+ * This Source Code may also be made available under the following Secondary
+ * Licenses when the conditions for such availability set forth in the
+ * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
+ * version 2 with the GNU Classpath Exception, which is available at
+ * 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.appclient.common;
+
+import java.io.File;
+import java.io.IOException;
+import java.net.MalformedURLException;
+import java.net.URISyntaxException;
+import java.net.URL;
+import java.nio.file.Path;
+import java.security.CodeSource;
+import java.util.ArrayList;
+import java.util.List;
+import java.util.function.Function;
+import java.util.jar.Attributes;
+import java.util.jar.JarFile;
+import java.util.jar.Manifest;
+import java.util.stream.Collectors;
+
+import static java.util.Collections.emptyList;
+
+/**
+ * ClassPath utilities required by GlassFish clients.
+ *
+ * @author David Matejcek
+ */
+public class ClassPathUtils {
+
+    private static final Function<Path, URL> TO_URL = p -> {
+        try {
+            return p.toUri().toURL();
+        } catch (MalformedURLException e) {
+            throw new IllegalStateException("Could not convert path to url: " + p, e);
+        }
+    };
+
+    private static final Function<Path, Path> TO_REAL_PATH = p -> {
+        try {
+            return p.toRealPath();
+        } catch (IOException e) {
+            throw new IllegalStateException("Could not resolve real path of: " + p, e);
+        }
+    };
+
+
+    /**
+     * @param clientJarFile
+     * @return Main-Class attributer of the manifest file.
+     */
+    public static String getMainClass(File clientJarFile) {
+        try (JarFile jarFile = new JarFile(clientJarFile)) {
+            Manifest manifest = jarFile.getManifest();
+            Attributes mainAttributes = manifest.getMainAttributes();
+            return mainAttributes.getValue("Main-Class");
+        } catch (IOException e) {
+            throw new IllegalStateException("Could not detect the main class from the manifest of " + clientJarFile, e);
+        }
+    }
+
+
+    /**
+     * @return java.class.path without gf-client.jar extended by env.APPCPATH. Never null.
+     */
+    public static URL[] getJavaClassPathForAppClient() {
+        final Path gfClientJar = TO_REAL_PATH.apply(getGFClientJarPath());
+        final List<Path> paths = convertClassPathToPaths(System.getProperty("java.class.path"));
+        final List<URL> result = new ArrayList<>();
+        for (Path path : paths) {
+            if (!TO_REAL_PATH.apply(path).equals(gfClientJar)) {
+                result.add(TO_URL.apply(path));
+            }
+        }
+        result.addAll(convertClassPathToURLs(System.getenv("APPCPATH")));
+        return result.toArray(new URL[result.size()]);
+    }
+
+    /**
+     * @return {@link URL} to the gf-client.jar
+     */
+    public static URL getGFClientJarURL() {
+        return TO_URL.apply(getGFClientJarPath());
+    }
+
+
+    /**
+     * @return {@link Path} to the gf-client.jar
+     */
+    public static Path getGFClientJarPath() {
+        try {
+            Class<?> clazz = Class.forName("org.glassfish.appclient.client.acc.agent.AppClientContainerAgent");
+            CodeSource codeSource = clazz.getProtectionDomain().getCodeSource();
+            if (codeSource == null || codeSource.getLocation() == null) {
+                throw new IllegalStateException("Unable to detect the gf-client.jar location,"
+                    + " because the getCodeSource() or getLocation() method returned null."
+                    + " That can happen ie. when you use the boot classloader"
+                    + " or a classloader which doesn't use locations.");
+            }
+            return Path.of(codeSource.getLocation().toURI());
+        } catch (ClassNotFoundException | URISyntaxException e) {
+            throw new IllegalStateException("Could not detect the GlassFish lib directory.", e);
+        }
+    }
+
+
+    /**
+     * @param classPath files separated by {@link File#pathSeparator}
+     * @return classPath as a list of {@link URL}
+     */
+    public static List<URL> convertClassPathToURLs(final String classPath) {
+        return convertClassPathToPaths(classPath).stream().map(TO_URL).collect(Collectors.toList());
+    }
+
+
+    /**
+     * @param classPath files separated by {@link File#pathSeparator}
+     * @return classPath as a list of {@link Path}
+     */
+    public static List<Path> convertClassPathToPaths(final String classPath) {
+        if (classPath == null || classPath.isBlank()) {
+            return emptyList();
+        }
+        final List<Path> result = new ArrayList<>();
+        try {
+            for (String classPathElement : classPath.split(File.pathSeparator)) {
+                result.add(new File(classPathElement).toPath());
+            }
+            return result;
+        } catch (Exception e) {
+            throw new IllegalArgumentException("Could not parse the classpath: " + classPath, e);
+        }
+    }
+
+
+    /**
+     * @param url url describing a {@link Path}
+     * @return string path
+     */
+    public static String convertToString(URL url) {
+        try {
+            return Path.of(url.toURI()).toString();
+        } catch (URISyntaxException e) {
+            throw new IllegalArgumentException("Cannot convert to URI string: " + url, e);
+        }
+    }
+}
diff --git a/appserver/appclient/client/acc/src/main/java/org/glassfish/appclient/common/Util.java b/appserver/appclient/client/acc/src/main/java/org/glassfish/appclient/common/Util.java
deleted file mode 100644
index 58db56b..0000000
--- a/appserver/appclient/client/acc/src/main/java/org/glassfish/appclient/common/Util.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 org.glassfish.appclient.common;
-
-import com.sun.enterprise.deployment.ApplicationClientDescriptor;
-import org.glassfish.deployment.common.ModuleDescriptor;
-import org.glassfish.deployment.common.RootDeploymentDescriptor;
-
-import java.io.BufferedInputStream;
-import java.io.BufferedOutputStream;
-import java.io.BufferedReader;
-import java.io.BufferedWriter;
-import java.io.File;
-import java.io.FileNotFoundException;
-import java.io.FileOutputStream;
-import java.io.FileInputStream;
-import java.io.IOException;
-import java.io.InputStream;
-import java.io.InputStreamReader;
-import java.io.OutputStreamWriter;
-import java.net.URISyntaxException;
-import java.net.URL;
-import java.util.Properties;
-import java.util.regex.Matcher;
-import java.util.regex.Pattern;
-
-/**
- *Implements several stateless utility methods.
- *
- * @author tjquinn
- */
-public class Util {
-
-    /** Pattern to match placeholders in dynamic document templates.
-     *The pattern specifies a non-aggressive match for ${token-name} strings.
-     *(Non-aggressive means the pattern consumes as little of the input string
-     *as possible in searching for a match.)  The pattern also stores the token
-     *name in group 1 of the pattern matcher.
-     */
-    private static Pattern placeholderPattern = Pattern.compile("\\$\\{(.*?)\\}");
-
-    /** used in finding the name of the first class in a jar file */
-    private static final String CLASS_SUFFIX = ".class";
-
-    /** size of buffer used to load resources */
-    private static final int BUFFER_SIZE = 1024;
-
-    /** Creates a new instance of Util */
-    public Util() {
-    }
-
-    /**
-     *Searches for placeholders of the form ${token-name} in the input String, retrieves
-     *the property with name token-name from the Properties object, and (if
-     *found) replaces the token in the input string with the property value.
-     *@param s String possibly containing tokens
-     *@param values Properties object containing name/value pairs for substitution
-     *@return the original string with tokens substituted using their values
-     *from the Properties object
-     */
-    public static String replaceTokens(String s, Properties values) {
-        Matcher m = placeholderPattern.matcher(s);
-
-        StringBuffer sb = new StringBuffer();
-        /*
-         *For each match, retrieve group 1 - the token - and use its value from
-         *the Properties object (if found there) to replace the token with the
-         *value.
-         */
-        while (m.find()) {
-            String propertyName = m.group(1);
-            String propertyValue = values.getProperty(propertyName);
-
-            if (propertyValue != null) {
-                /*
-                 *The next line quotes any $ signs in the replacement string
-                 *so they are not interpreted as meta-characters by the regular expression
-                 *processor's appendReplacement.  The replaceAll replaces all occurrences
-                 *of $ with \$.  The extra slashes are needed to quote the backslash
-                 *for the Java language processor and then again for the regex
-                 *processor (!).
-                 */
-                String adjustedPropertyValue = propertyValue.replaceAll("\\$", "\\\\\\$");
-                String x = s.substring(m.start(),m.end());
-                try {
-                    m.appendReplacement(sb, adjustedPropertyValue);
-                } catch (IllegalArgumentException iae) {
-                    System.err.println("**** appendReplacement failed: segment is " + x + "; original replacement was " + propertyValue + " and adj. replacement is " + adjustedPropertyValue + "; exc follows");
-                    throw iae;
-                }
-            }
-        }
-        /*
-         *There are no more matches, so append whatever remains of the matcher's input
-         *string to the output.
-         */
-        m.appendTail(sb);
-
-        return sb.toString();
-    }
-
-     /**
-      *Returns the main class name for the app client represented by the module descriptor.
-      *@param moduleDescr the module descriptor for the app client of interest
-      *@return main class name of the app client
-      */
-     public static String getMainClassNameForAppClient(ModuleDescriptor moduleDescr) throws IOException, FileNotFoundException, org.xml.sax.SAXParseException {
-         RootDeploymentDescriptor bd = moduleDescr.getDescriptor();
-         ApplicationClientDescriptor acDescr = (ApplicationClientDescriptor) bd;
-
-         String mainClassName = acDescr.getMainClassName();
-
-         return mainClassName;
-     }
-
-     /**
-      *Writes the provided text to a temporary file marked for deletion on exit.
-      *@param content the content to be written
-      *@param prefix prefix for the temp file, conforming to the File.createTempFile requirements
-      *@param suffix suffix for the temp file
-      *@param retainFile whether to keep the file
-      *@return File object for the newly-created temp file
-      *@throws IOException for any errors writing the temporary file
-      *@throws FileNotFoundException if the temp file cannot be opened for any reason
-      */
-     public static File writeTextToTempFile(String content, String prefix, String suffix, boolean retainFile) throws IOException, FileNotFoundException {
-        BufferedWriter wtr = null;
-        try {
-            File result = File.createTempFile(prefix, suffix);
-            if ( ! retainFile) {
-                result.deleteOnExit();
-            }
-            FileOutputStream fos = new FileOutputStream(result);
-            wtr = new BufferedWriter(new OutputStreamWriter(fos));
-            wtr.write(content);
-            wtr.close();
-            return result;
-        } finally {
-            if (wtr != null) {
-                wtr.close();
-            }
-        }
-    }
-
-    /**
-     *Writes the provided text to a temporary file marked for deletion on exit.
-     *@param the content to be written
-     *@param prefix for the temp file, conforming to the File.createTempFile requirements
-     *@param suffix for the temp file
-     *@return File object for the newly-created temp file
-     *@throws IOException for any errors writing the temporary file
-     *@throws FileNotFoundException if the temp file cannot be opened for any reason
-     */
-    public static File writeTextToTempFile(String content, String prefix, String suffix) throws IOException, FileNotFoundException {
-        return writeTextToTempFile(content, prefix, suffix, false);
-    }
-
-     /**
-      *Finds the jar file or directory that contains the current class and returns its URI.
-      *@param the class, the containing jar file or directory of which is of interest
-      *@return URL to the containing jar file or directory
-      */
-     public static URL locateClass(Class target) {
-         return target.getProtectionDomain().getCodeSource().getLocation();
-     }
-
-    /**
-     *Retrieves a resource as a String.
-     *<p>
-     *This method does not save the template in a cache.  Use the instance method
-     *getTemplate for that purpose.
-     *
-     *@param a class, the class loader of which should be used for searching for the template
-     *@param the path of the resource to load, relative to the contextClass
-     *@return the resource's contents
-     *@throws IOException if the resource is not found or in case of error while loading it
-     */
-    public static String loadResource(Class contextClass, String resourcePath) throws IOException {
-        String result = null;
-        InputStream is = null;
-        BufferedReader reader = null;
-        try {
-            is = contextClass.getResourceAsStream(resourcePath);
-            if (is == null) {
-                throw new IOException("Could not locate the requested resource relative to class " + contextClass.getName());
-            }
-
-            StringBuilder sb = new StringBuilder();
-            reader = new BufferedReader(new InputStreamReader(is));
-            int charsRead;
-            char [] buffer = new char [BUFFER_SIZE];
-            while ((charsRead = reader.read(buffer)) != -1) {
-                sb.append(buffer, 0, charsRead);
-            }
-
-            result= sb.toString();
-            return result;
-        } catch (IOException ioe) {
-            throw new IOException("Error loading resource " + resourcePath, ioe);
-        } finally {
-            if (reader != null) {
-                reader.close();
-            }
-        }
-    }
-
-    /**
-     *Copy an existing file into a temporary file.
-     *@param existing file
-     *@return File object for the temporary file
-     */
-    public static File copyToTempFile(File inputFile, String prefix, String suffix, boolean retainFile) throws IOException, FileNotFoundException {
-        File result = null;
-        BufferedInputStream is = null;
-        BufferedOutputStream os = null;
-        try {
-            result = File.createTempFile(prefix, suffix);
-            if ( ! retainFile) {
-                result.deleteOnExit();
-            }
-            os = new BufferedOutputStream(new FileOutputStream(result));
-            is = new BufferedInputStream(new FileInputStream(inputFile));
-            byte [] buffer = new byte[BUFFER_SIZE];
-            int bytesRead = 0;
-            while ( (bytesRead = is.read(buffer) ) != -1) {
-                os.write(buffer, 0, bytesRead);
-            }
-
-            return result;
-        } finally {
-            try {
-                if (is != null) {
-                    is.close();
-                }
-            } finally {
-                if (os != null) {
-                    os.close();
-                }
-            }
-        }
-    }
-
-    /**
-     *Returns a codeBase expression, usable in a policy file, for the specified
-     *URL.
-     *@param classPathElement the URL to be converted
-     *@return the codeBase expression
-     */
-    public static String URLtoCodeBase(URL classPathElement) throws FileNotFoundException, URISyntaxException {
-        /*
-         *We can assume the URL specifies a file.
-         */
-        File file = new File(classPathElement.toURI());
-        if (! file.exists()) {
-            /*
-             *If we cannot locate the file, it may be a jar listed in the
-             *manifest's Class-Path of a top-level archive.  The spec does
-             *not require containers to handle such jars, so just
-             *return null.
-             */
-            //throw new FileNotFoundException(classPathElement.toURI().toASCIIString());
-            return null;
-        }
-
-        /*
-         *The format of the codebase is different for a directory vs. a jar
-         *file.  Also note that the codebase must use the platform-neutral
-         *"forward-slash" notation.
-         */
-        String result;
-        if (file.isDirectory()) {
-            result = classPathElement.getProtocol() + ":" + classPathElement.toURI().getPath() + "-";
-        } else {
-            result = classPathElement.getProtocol() + ":" + classPathElement.toURI().getPath();
-        }
-        return result;
-    }
-}
diff --git a/appserver/ejb/ejb-container/src/main/java/com/sun/ejb/codegen/ClassGenerator.java b/appserver/ejb/ejb-container/src/main/java/com/sun/ejb/codegen/ClassGenerator.java
index 14289c3..fef5136 100644
--- a/appserver/ejb/ejb-container/src/main/java/com/sun/ejb/codegen/ClassGenerator.java
+++ b/appserver/ejb/ejb-container/src/main/java/com/sun/ejb/codegen/ClassGenerator.java
@@ -16,22 +16,29 @@
 
 package com.sun.ejb.codegen;
 
+import com.sun.enterprise.loader.ASURLClassLoader;
+
+import java.lang.invoke.MethodHandles;
+import java.lang.invoke.MethodHandles.Lookup;
 import java.lang.reflect.Method;
 import java.lang.reflect.Proxy;
 import java.security.AccessController;
+import java.security.PrivilegedAction;
 import java.security.PrivilegedExceptionAction;
 import java.security.ProtectionDomain;
+import java.util.Objects;
 import java.util.logging.Logger;
 
 import static java.util.logging.Level.CONFIG;
 
 /**
- * This class serves to generate classes, which cannot be generated by the
- * {@link java.lang.invoke.MethodHandles.Lookup} class, because it restricts
+ * This class serves to generate classes, because ...
+ * <p>
+ * {@link java.lang.invoke.MethodHandles.Lookup} class restricts
  * the generated class to use an already existing class as a source of the package
  * and {@link ProtectionDomain}.
  * <p>
- * Also {@link Proxy#newProxyInstance(ClassLoader, Class[], java.lang.reflect.InvocationHandler)}
+ * {@link Proxy#newProxyInstance(ClassLoader, Class[], java.lang.reflect.InvocationHandler)}
  * has another requirements, ie. all referred classes must be loadable by used classloader.
  *
  * @author David Matejcek
@@ -68,6 +75,56 @@
 
 
     /**
+     * Decides which method is suitable to define the new class and then uses it.
+     *
+     * @param loader the classloader instance used to generate the class
+     * @param anchorClass the class used as an "orientation" class. See the {@link Lookup} class for
+     *            more info.
+     * @param targetPackageName the name is used in decision logic; if the anchor class is from
+     *            a different package, the {@link Lookup}'s method is not usable.
+     * @param className expected binary name or null
+     * @param classData the valid bytes that make up the class data.
+     * @return the new generated class
+     * @throws ClassDefinitionException invalid data, missing dependency, or another error related
+     *             to the class generation
+     */
+    public static Class<?> defineClass(final ClassLoader loader, final Class<?> anchorClass,
+        final String targetPackageName, final String className,  final byte[] classData) {
+        if (useMethodHandles(loader, anchorClass, targetPackageName)) {
+            return defineClass(anchorClass, className, classData);
+        } else if (System.getSecurityManager() == null) {
+            return defineClass(loader, className, classData, anchorClass.getProtectionDomain());
+        } else {
+            return defineClass(loader, className, classData);
+        }
+    }
+
+
+    /**
+     * Calls the {@link Lookup}'s defineClass method to create a new class
+     *
+     * @param anchorClass the class used as an "orientation" class. See the {@link Lookup} class for more info.
+     * @param className expected binary name or null
+     * @param classData the valid bytes that make up the class data.
+     * @return the new generated class
+     * @throws ClassDefinitionException invalid data, missing dependency, or another error related
+     *             to the class generation
+     */
+    public static Class<?> defineClass(final Class<?> anchorClass, final String className, final byte[] classData) {
+        LOG.log(CONFIG, "Defining class: {0} with anchorClass: {1}", new Object[] {className, anchorClass});
+        final PrivilegedAction<Class<?>> action = () -> {
+            try {
+                final Lookup lookup = MethodHandles.privateLookupIn(anchorClass, MethodHandles.lookup());
+                return lookup.defineClass(classData);
+            } catch (IllegalAccessException e) {
+                throw new ClassDefinitionException(className,anchorClass, e);
+            }
+        };
+        return AccessController.doPrivileged(action);
+    }
+
+
+    /**
      * Calls the {@link ClassLoader}'s protected defineClass method to create a new class
      *
      * @param loader the classloader instance used to generate the class
@@ -95,15 +152,17 @@
      * @throws ClassDefinitionException invalid data, missing dependency, or another error related
      *             to the class generation
      */
-    public static Class<?> defineClass(
-        final ClassLoader loader, final String className,
-        final byte[] classData, final int offset, final int length) throws ClassDefinitionException {
+    public static Class<?> defineClass(final ClassLoader loader, final String className, final byte[] classData,
+        final int offset, final int length) throws ClassDefinitionException {
         LOG.log(CONFIG, "Defining class: {0} by loader: {1}", new Object[] {className, loader});
-        try {
-            return (Class<?>) defineClassMethod.invoke(loader, className, classData, 0, length);
-        } catch (final Exception | NoClassDefFoundError | ClassFormatError e) {
-            throw new ClassDefinitionException(className, loader, e);
-        }
+        final PrivilegedAction<Class<?>> action = () -> {
+            try {
+                return (Class<?>) defineClassMethod.invoke(loader, className, classData, 0, length);
+            } catch (final Exception | NoClassDefFoundError | ClassFormatError e) {
+                throw new ClassDefinitionException(className, loader, e);
+            }
+        };
+        return AccessController.doPrivileged(action);
     }
 
 
@@ -142,11 +201,14 @@
         final byte[] classData, final int offset, final int length,
         final ProtectionDomain protectionDomain) throws ClassDefinitionException {
         LOG.log(CONFIG, "Defining class: {0} by loader: {1}", new Object[] {className, loader});
-        try {
-            return (Class<?>) defineClassMethodSM.invoke(loader, className, classData, 0, length, protectionDomain);
-        } catch (final Exception | NoClassDefFoundError | ClassFormatError e) {
-            throw new ClassDefinitionException(className, loader, e);
-        }
+        final PrivilegedAction<Class<?>> action = () -> {
+            try {
+                return (Class<?>) defineClassMethodSM.invoke(loader, className, classData, 0, length, protectionDomain);
+            } catch (final Exception | NoClassDefFoundError | ClassFormatError e) {
+                throw new ClassDefinitionException(className, loader, e);
+            }
+        };
+        return AccessController.doPrivileged(action);
     }
 
 
@@ -159,5 +221,24 @@
         ClassDefinitionException(final String className, final ClassLoader loader, final Throwable cause) {
             super("Could not define class '" + className + "' by the class loader: " + loader, cause);
         }
+
+        ClassDefinitionException(final String className, final Class<?> anchorClass, final Throwable cause) {
+            super("Could not define class '" + className + "' using the anchor " + anchorClass, cause);
+        }
+
+    }
+
+
+    private static boolean useMethodHandles(final ClassLoader loader, final Class<?> anchorClass,
+        final String targetPackageName) {
+        if (loader == null) {
+            return true;
+        }
+        // The bootstrap CL used by embedded glassfish doesn't remember generated classes
+        // Further ClassLoader.findClass calls will fail.
+        if (anchorClass == null || loader.getParent() == null || loader.getClass() == ASURLClassLoader.class) {
+            return false;
+        }
+        return Objects.equals(targetPackageName, anchorClass.getPackageName());
     }
 }
diff --git a/appserver/ejb/ejb-container/src/main/java/com/sun/ejb/codegen/Generator.java b/appserver/ejb/ejb-container/src/main/java/com/sun/ejb/codegen/Generator.java
index 6acfb2f..caf1b43 100644
--- a/appserver/ejb/ejb-container/src/main/java/com/sun/ejb/codegen/Generator.java
+++ b/appserver/ejb/ejb-container/src/main/java/com/sun/ejb/codegen/Generator.java
@@ -17,15 +17,10 @@
 
 package com.sun.ejb.codegen;
 
-import com.sun.enterprise.loader.ASURLClassLoader;
-
 import java.io.ByteArrayOutputStream;
 import java.io.PrintStream;
 import java.lang.invoke.MethodHandles;
-import java.lang.invoke.MethodHandles.Lookup;
 import java.lang.reflect.Method;
-import java.security.AccessController;
-import java.security.PrivilegedAction;
 import java.util.ArrayList;
 import java.util.List;
 import java.util.Objects;
@@ -37,6 +32,7 @@
 import org.glassfish.pfl.dynamic.codegen.spi.ImportList;
 import org.glassfish.pfl.dynamic.codegen.spi.Wrapper;
 
+import static com.sun.ejb.codegen.ClassGenerator.defineClass;
 import static org.glassfish.pfl.dynamic.codegen.impl.CodeGenerator.generateBytecode;
 import static org.glassfish.pfl.dynamic.codegen.spi.Wrapper.DUMP_AFTER_SETUP_VISITOR;
 import static org.glassfish.pfl.dynamic.codegen.spi.Wrapper.TRACE_BYTE_CODE_GENERATION;
@@ -128,31 +124,7 @@
 
         final ClassGeneratorImpl codeGenerator = (ClassGeneratorImpl) _classGenerator();
         final byte[] bytecode = generateBytecode(codeGenerator, getClassLoader(), imports, props, System.out);
-
-        if (useMethodHandles()) {
-            LOG.log(Level.FINEST, "Using MethodHandles to define {0}, anchorClass: {1}",
-                new Object[] {getGeneratedClassName(), getAnchorClass()});
-            final Lookup lookup = MethodHandles.privateLookupIn(getAnchorClass(), MethodHandles.lookup());
-            return lookup.defineClass(bytecode);
-        }
-
-        if (System.getSecurityManager() == null) {
-            return ClassGenerator.defineClass(getClassLoader(), getGeneratedClassName(), bytecode,
-                getAnchorClass().getProtectionDomain());
-        }
-        final PrivilegedAction<Class<?>> action = () -> ClassGenerator.defineClass(getClassLoader(),
-            getGeneratedClassName(), bytecode);
-        return AccessController.doPrivileged(action);
-    }
-
-
-    private boolean useMethodHandles() {
-        // The bootstrap CL used by embedded glassfish doesn't remember generated classes
-        // Further ClassLoader.findClass calls will fail.
-        if (loader.getParent() == null || loader.getClass() == ASURLClassLoader.class) {
-            return false;
-        }
-        return Objects.equals(getPackageName(), getAnchorClass().getPackageName());
+        return defineClass(getClassLoader(), getAnchorClass(), getPackageName(), getGeneratedClassName(), bytecode);
     }
 
 
diff --git a/appserver/featuresets/debug/pom.xml b/appserver/featuresets/debug/pom.xml
new file mode 100644
index 0000000..c6162f5
--- /dev/null
+++ b/appserver/featuresets/debug/pom.xml
@@ -0,0 +1,79 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+
+    Copyright 2022 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.
+
+    This Source Code may also be made available under the following Secondary
+    Licenses when the conditions for such availability set forth in the
+    Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
+    version 2 with the GNU Classpath Exception, which is available 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/xsd/maven-4.0.0.xsd"
+>
+    <modelVersion>4.0.0</modelVersion>
+
+    <parent>
+        <groupId>org.glassfish.main.featuresets</groupId>
+        <artifactId>featuresets</artifactId>
+        <version>7.0.0-SNAPSHOT</version>
+    </parent>
+
+    <artifactId>debug</artifactId>
+    <description>
+    This project can be used as entry project in remote debugging, giving
+    one most dependencies of GlassFish to step through the source.
+
+    Compile GF with mvn clean install -Pfastest,source -T10
+
+    Start GF with ./adadmin start-domain --verbose --suspend
+
+    In the IDE, for instance, Eclipse, go to run - debug configurations - remote java application - project
+    And add this project there.
+  </description>
+
+    <name>Debug</name>
+
+    <dependencies>
+        <dependency>
+            <groupId>org.glassfish.main.featuresets</groupId>
+            <artifactId>glassfish</artifactId>
+            <version>${project.version}</version>
+            <type>pom</type>
+        </dependency>
+        <dependency>
+            <groupId>org.glassfish.main.featuresets</groupId>
+            <artifactId>web</artifactId>
+            <version>${project.version}</version>
+            <type>pom</type>
+        </dependency>
+        <dependency>
+            <groupId>org.glassfish.main.featuresets</groupId>
+            <artifactId>nucleus</artifactId>
+            <version>${project.version}</version>
+            <type>pom</type>
+        </dependency>
+        <dependency>
+            <groupId>org.glassfish.main.featuresets</groupId>
+            <artifactId>atomic</artifactId>
+            <version>${project.version}</version>
+            <type>pom</type>
+        </dependency>
+
+        <dependency>
+            <groupId>org.glassfish.main.jdbc.jdbc-ra.jdbc-core</groupId>
+            <artifactId>jdbc-core</artifactId>
+            <version>${project.version}</version>
+        </dependency>
+    </dependencies>
+</project>
diff --git a/appserver/admingui/devtests/src/test/java/org/glassfish/admingui/devtests/WaitForLoadCallBack.java b/appserver/featuresets/debug/src/main/java/org/glassfish/main/debug/Debug.java
similarity index 73%
rename from appserver/admingui/devtests/src/test/java/org/glassfish/admingui/devtests/WaitForLoadCallBack.java
rename to appserver/featuresets/debug/src/main/java/org/glassfish/main/debug/Debug.java
index 607f94f..d148915 100644
--- a/appserver/admingui/devtests/src/test/java/org/glassfish/admingui/devtests/WaitForLoadCallBack.java
+++ b/appserver/featuresets/debug/src/main/java/org/glassfish/main/debug/Debug.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2010, 2018 Oracle and/or its affiliates. All rights reserved.
+ * Copyright 2022 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
@@ -13,13 +13,12 @@
  *
  * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
  */
+package org.glassfish.main.debug;
 
-package org.glassfish.admingui.devtests;
+public class Debug {
 
-/**
- *
- * @author jasonlee
- */
-public interface WaitForLoadCallBack {
-    boolean executeTest();
+    public static void main(String[] args) {
+
+    }
+
 }
diff --git a/appserver/admingui/devtests/src/test/java/org/glassfish/admingui/devtests/WaitForLoadCallBack.java b/appserver/featuresets/debug/src/test/java/org/glassfish/debug/DebugTest.java
similarity index 73%
copy from appserver/admingui/devtests/src/test/java/org/glassfish/admingui/devtests/WaitForLoadCallBack.java
copy to appserver/featuresets/debug/src/test/java/org/glassfish/debug/DebugTest.java
index 607f94f..7482dbe 100644
--- a/appserver/admingui/devtests/src/test/java/org/glassfish/admingui/devtests/WaitForLoadCallBack.java
+++ b/appserver/featuresets/debug/src/test/java/org/glassfish/debug/DebugTest.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2010, 2018 Oracle and/or its affiliates. All rights reserved.
+ * Copyright 2022 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
@@ -13,13 +13,8 @@
  *
  * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
  */
+package org.glassfish.debug;
 
-package org.glassfish.admingui.devtests;
+public class DebugTest {
 
-/**
- *
- * @author jasonlee
- */
-public interface WaitForLoadCallBack {
-    boolean executeTest();
 }
diff --git a/appserver/featuresets/pom.xml b/appserver/featuresets/pom.xml
index bc78d61..1e37511 100644
--- a/appserver/featuresets/pom.xml
+++ b/appserver/featuresets/pom.xml
@@ -46,5 +46,6 @@
     <modules>
         <module>web</module>
         <module>glassfish</module>
+        <module>debug</module>
     </modules>
 </project>
diff --git a/appserver/jdbc/jdbc-ra/jdbc-core/src/main/java/com/sun/gjc/common/DataSourceObjectBuilder.java b/appserver/jdbc/jdbc-ra/jdbc-core/src/main/java/com/sun/gjc/common/DataSourceObjectBuilder.java
index 72777e1..e6b6ff8 100644
--- a/appserver/jdbc/jdbc-ra/jdbc-core/src/main/java/com/sun/gjc/common/DataSourceObjectBuilder.java
+++ b/appserver/jdbc/jdbc-ra/jdbc-core/src/main/java/com/sun/gjc/common/DataSourceObjectBuilder.java
@@ -1,4 +1,5 @@
 /*
+ * Copyright (c) 2022 Contributors to the Eclipse Foundation.
  * Copyright (c) 1997, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
@@ -16,57 +17,66 @@
 
 package com.sun.gjc.common;
 
-import java.lang.reflect.Method;
-import java.util.*;
+import static com.sun.gjc.common.DataSourceSpec.CLASSNAME;
+import static com.sun.gjc.common.DataSourceSpec.DATABASENAME;
+import static com.sun.gjc.common.DataSourceSpec.DATASOURCENAME;
+import static com.sun.gjc.common.DataSourceSpec.DELIMITER;
+import static com.sun.gjc.common.DataSourceSpec.DESCRIPTION;
+import static com.sun.gjc.common.DataSourceSpec.DRIVERPROPERTIES;
+import static com.sun.gjc.common.DataSourceSpec.ESCAPECHARACTER;
+import static com.sun.gjc.common.DataSourceSpec.INITIALPOOLSIZE;
+import static com.sun.gjc.common.DataSourceSpec.LOGINTIMEOUT;
+import static com.sun.gjc.common.DataSourceSpec.LOGWRITER;
+import static com.sun.gjc.common.DataSourceSpec.MAXIDLETIME;
+import static com.sun.gjc.common.DataSourceSpec.MAXPOOLSIZE;
+import static com.sun.gjc.common.DataSourceSpec.MAXSTATEMENTS;
+import static com.sun.gjc.common.DataSourceSpec.MINPOOLSIZE;
+import static com.sun.gjc.common.DataSourceSpec.NETWORKPROTOCOL;
+import static com.sun.gjc.common.DataSourceSpec.PASSWORD;
+import static com.sun.gjc.common.DataSourceSpec.PORTNUMBER;
+import static com.sun.gjc.common.DataSourceSpec.PROPERTYCYCLE;
+import static com.sun.gjc.common.DataSourceSpec.ROLENAME;
+import static com.sun.gjc.common.DataSourceSpec.SERVERNAME;
+import static com.sun.gjc.common.DataSourceSpec.USERNAME;
+import static java.util.Arrays.asList;
+import static java.util.logging.Level.SEVERE;
 
+import java.io.Serializable;
+import java.lang.reflect.InvocationTargetException;
+import java.lang.reflect.Method;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Locale;
+import java.util.Map;
+import java.util.logging.Logger;
+
+import org.glassfish.internal.api.ClassLoaderHierarchy;
+import org.glassfish.internal.api.Globals;
+
+import com.sun.enterprise.util.i18n.StringManager;
 import com.sun.gjc.util.MethodExecutor;
+import com.sun.logging.LogDomains;
 
 import jakarta.resource.ResourceException;
 
-import com.sun.logging.*;
-
-import java.util.logging.Logger;
-import java.util.logging.Level;
-
-import com.sun.enterprise.util.i18n.StringManager;
-import org.glassfish.internal.api.Globals;
-import org.glassfish.internal.api.ClassLoaderHierarchy;
-
 /**
- * Utility class, which would create necessary Datasource object according to the
- * specification.
+ * Utility class, which would create necessary Datasource object according to
+ * the specification.
  *
  * @author Binod P.G
  * @version 1.0, 02/07/23
  * @see com.sun.gjc.common.DataSourceSpec
  * @see com.sun.gjc.util.MethodExcecutor
  */
-public class DataSourceObjectBuilder implements java.io.Serializable {
+public class DataSourceObjectBuilder implements Serializable {
+
+    private static final long serialVersionUID = 1L;
+
+    private static Logger _logger = LogDomains.getLogger(MethodExecutor.class, LogDomains.RSR_LOGGER);
+    private static final StringManager sm = StringManager.getManager(DataSourceObjectBuilder.class);
 
     private DataSourceSpec spec;
-
-    private Hashtable driverProperties = null;
-
-    private MethodExecutor executor = null;
-
-    private static Logger _logger;
-
-    static {
-        _logger = LogDomains.getLogger(MethodExecutor.class, LogDomains.RSR_LOGGER);
-    }
-
-    private static boolean jdbc40;
-    private static boolean jdbc41;
-
-    static {
-        jdbc40 = detectJDBC40();
-        jdbc41 = detectJDBC41();
-    }
-
-    private boolean debug = false;
-
-    private static final StringManager sm = StringManager.getManager(
-            DataSourceObjectBuilder.class);
+    private MethodExecutor executor;
 
     /**
      * Construct a DataSource Object from the spec.
@@ -82,138 +92,144 @@
      * Construct the DataSource Object from the spec.
      *
      * @return Object constructed using the DataSourceSpec.
-     * @throws <code>ResourceException</code> if the class is not found or some issue in executing
-     *                                        some method.
+     * @throws <code>ResourceException</code> if the class is not found or some
+     * issue in executing some method.
      */
     public Object constructDataSourceObject() throws ResourceException {
-        driverProperties = parseDriverProperties(spec, true);
+        Map<String, List<String>> driverProperties = parseDriverProperties(spec, true);
         Object dataSourceObject = getDataSourceObject();
-        Method[] methods = dataSourceObject.getClass().getMethods();
-        for (int i = 0; i < methods.length; i++) {
-            String methodName = methods[i].getName();
-            //Check for driver properties first since some jdbc properties
-            //may be supported in form of driver properties
+
+        for (Method method : dataSourceObject.getClass().getMethods()) {
+            String methodName = method.getName();
+
+            // Check for driver properties first since some jdbc properties
+            // may be supported in form of driver properties
             if (driverProperties.containsKey(methodName.toUpperCase(Locale.getDefault()))) {
-                Vector values = (Vector) driverProperties.get(methodName.toUpperCase(Locale.getDefault()));
-                executor.runMethod(methods[i], dataSourceObject, values);
+                executor.runMethod(method, dataSourceObject, driverProperties.get(methodName.toUpperCase(Locale.getDefault())));
+
             } else if (methodName.equalsIgnoreCase("setUser")) {
-                executor.runJavaBeanMethod(spec.getDetail(DataSourceSpec.USERNAME), methods[i], dataSourceObject);
+                executor.runJavaBeanMethod(spec.getDetail(USERNAME), method, dataSourceObject);
 
             } else if (methodName.equalsIgnoreCase("setPassword")) {
-                executor.runJavaBeanMethod(spec.getDetail(DataSourceSpec.PASSWORD), methods[i], dataSourceObject);
+                executor.runJavaBeanMethod(spec.getDetail(PASSWORD), method, dataSourceObject);
 
             } else if (methodName.equalsIgnoreCase("setLoginTimeOut")) {
-                executor.runJavaBeanMethod(spec.getDetail(DataSourceSpec.LOGINTIMEOUT), methods[i], dataSourceObject);
+                executor.runJavaBeanMethod(spec.getDetail(LOGINTIMEOUT), method, dataSourceObject);
 
             } else if (methodName.equalsIgnoreCase("setLogWriter")) {
-                executor.runJavaBeanMethod(spec.getDetail(DataSourceSpec.LOGWRITER), methods[i], dataSourceObject);
+                executor.runJavaBeanMethod(spec.getDetail(LOGWRITER), method, dataSourceObject);
 
             } else if (methodName.equalsIgnoreCase("setDatabaseName")) {
-                executor.runJavaBeanMethod(spec.getDetail(DataSourceSpec.DATABASENAME), methods[i], dataSourceObject);
+                executor.runJavaBeanMethod(spec.getDetail(DATABASENAME), method, dataSourceObject);
 
             } else if (methodName.equalsIgnoreCase("setDataSourceName")) {
-                executor.runJavaBeanMethod(spec.getDetail(DataSourceSpec.DATASOURCENAME), methods[i], dataSourceObject);
+                executor.runJavaBeanMethod(spec.getDetail(DATASOURCENAME), method, dataSourceObject);
 
             } else if (methodName.equalsIgnoreCase("setDescription")) {
-                executor.runJavaBeanMethod(spec.getDetail(DataSourceSpec.DESCRIPTION), methods[i], dataSourceObject);
+                executor.runJavaBeanMethod(spec.getDetail(DESCRIPTION), method, dataSourceObject);
 
             } else if (methodName.equalsIgnoreCase("setNetworkProtocol")) {
-                executor.runJavaBeanMethod(spec.getDetail(DataSourceSpec.NETWORKPROTOCOL), methods[i], dataSourceObject);
+                executor.runJavaBeanMethod(spec.getDetail(NETWORKPROTOCOL), method, dataSourceObject);
 
             } else if (methodName.equalsIgnoreCase("setPortNumber")) {
-                executor.runJavaBeanMethod(spec.getDetail(DataSourceSpec.PORTNUMBER), methods[i], dataSourceObject);
+                executor.runJavaBeanMethod(spec.getDetail(PORTNUMBER), method, dataSourceObject);
 
             } else if (methodName.equalsIgnoreCase("setRoleName")) {
-                executor.runJavaBeanMethod(spec.getDetail(DataSourceSpec.ROLENAME), methods[i], dataSourceObject);
+                executor.runJavaBeanMethod(spec.getDetail(ROLENAME), method, dataSourceObject);
 
             } else if (methodName.equalsIgnoreCase("setServerName")) {
-                executor.runJavaBeanMethod(spec.getDetail(DataSourceSpec.SERVERNAME), methods[i], dataSourceObject);
+                executor.runJavaBeanMethod(spec.getDetail(SERVERNAME), method, dataSourceObject);
 
             } else if (methodName.equalsIgnoreCase("setMaxStatements")) {
-                executor.runJavaBeanMethod(spec.getDetail(DataSourceSpec.MAXSTATEMENTS), methods[i], dataSourceObject);
+                executor.runJavaBeanMethod(spec.getDetail(MAXSTATEMENTS), method, dataSourceObject);
 
             } else if (methodName.equalsIgnoreCase("setInitialPoolSize")) {
-                executor.runJavaBeanMethod(spec.getDetail(DataSourceSpec.INITIALPOOLSIZE), methods[i], dataSourceObject);
+                executor.runJavaBeanMethod(spec.getDetail(INITIALPOOLSIZE), method, dataSourceObject);
 
             } else if (methodName.equalsIgnoreCase("setMinPoolSize")) {
-                executor.runJavaBeanMethod(spec.getDetail(DataSourceSpec.MINPOOLSIZE), methods[i], dataSourceObject);
+                executor.runJavaBeanMethod(spec.getDetail(MINPOOLSIZE), method, dataSourceObject);
 
             } else if (methodName.equalsIgnoreCase("setMaxPoolSize")) {
-                executor.runJavaBeanMethod(spec.getDetail(DataSourceSpec.MAXPOOLSIZE), methods[i], dataSourceObject);
+                executor.runJavaBeanMethod(spec.getDetail(MAXPOOLSIZE), method, dataSourceObject);
 
             } else if (methodName.equalsIgnoreCase("setMaxIdleTime")) {
-                executor.runJavaBeanMethod(spec.getDetail(DataSourceSpec.MAXIDLETIME), methods[i], dataSourceObject);
+                executor.runJavaBeanMethod(spec.getDetail(MAXIDLETIME), method, dataSourceObject);
 
             } else if (methodName.equalsIgnoreCase("setPropertyCycle")) {
-                executor.runJavaBeanMethod(spec.getDetail(DataSourceSpec.PROPERTYCYCLE), methods[i], dataSourceObject);
+                executor.runJavaBeanMethod(spec.getDetail(PROPERTYCYCLE), method, dataSourceObject);
 
             }
         }
+
         return dataSourceObject;
     }
 
     /**
-     * Get the extra driver properties from the DataSourceSpec object and
-     * parse them to a set of methodName and parameters. Prepare a hashtable
-     * containing these details and return.
+     * Get the extra driver properties from the DataSourceSpec object and parse them
+     * to a set of methodName and parameters. Prepare a hashtable containing these
+     * details and return.
      *
      * @param spec <code> DataSourceSpec </code> object.
      * @return Hashtable containing method names and parameters,
-     * @throws ResourceException If delimiter is not provided and property string
-     *                           is not null.
+     * @throws ResourceException If delimiter is not provided and property string is
+     * not null.
      */
-    public Hashtable parseDriverProperties(DataSourceSpec spec, boolean returnUpperCase)
-            throws ResourceException {
-        String delim = spec.getDetail(DataSourceSpec.DELIMITER);
-        String escape = spec.getDetail(DataSourceSpec.ESCAPECHARACTER);
-        String prop = spec.getDetail(DataSourceSpec.DRIVERPROPERTIES);
+    public Map<String, List<String>> parseDriverProperties(DataSourceSpec spec, boolean returnUpperCase) throws ResourceException {
+        String delim = spec.getDetail(DELIMITER);
+        String escape = spec.getDetail(ESCAPECHARACTER);
+        String prop = spec.getDetail(DRIVERPROPERTIES);
 
         if (prop == null || prop.trim().equals("")) {
-            return new Hashtable();
-        } else if (delim == null || delim.equals("")) {
-            String msg = sm.getString("dsob.delim_not_specified");
-            throw new ResourceException(msg);
-        }else if( escape == null  || escape.equals("")){
-            String msg = sm.getString("dsob.escape_char_not_specified");
-            throw new ResourceException(msg);
+            return new HashMap<>();
         }
-        return parseDriverProperties(prop,escape, delim, returnUpperCase);
+
+        if (delim == null || delim.equals("")) {
+            throw new ResourceException(sm.getString("dsob.delim_not_specified"));
+        }
+
+        if (escape == null || escape.equals("")) {
+            throw new ResourceException(sm.getString("dsob.escape_char_not_specified"));
+        }
+
+        return parseDriverProperties(prop, escape, delim, returnUpperCase);
     }
 
     /**
-     * parse the driver properties and re-generate name value pairs with unescaped values.
+     * parse the driver properties and re-generate name value pairs with unescaped
+     * values.
+     *
      * @param values driverProperties
      * @param escape escape character
      * @param delimiter delimiter
      * @return Hashtable
      */
-    public Hashtable parseDriverProperties(String values, String escape,
-                String delimiter, boolean returnUpperCase){
-        Hashtable result = new Hashtable();
+    public Map<String, List<String>> parseDriverProperties(String values, String escape, String delimiter, boolean returnUpperCase) {
+        Map<String, List<String>> parsedDriverProperties = new HashMap<>();
         String parsedValue = "";
         String name = "";
-        String value = "";
+
         char escapeChar = escape.charAt(0);
         char delimiterChar = delimiter.charAt(0);
         while (values.length() > 0) {
             if (values.charAt(0) == delimiterChar) {
                 if (values.length() > 1 && values.charAt(1) == delimiterChar) {
                     if (values.length() > 2 && values.charAt(2) == delimiterChar) {
-                        //Check for first property that does not have a value
-                        //There is no value specified for this property.
-                        //Store the name or it will be lost
+
+                        // Check for first property that does not have a value
+                        // There is no value specified for this property.
+                        // Store the name or it will be lost
                         if (returnUpperCase) {
                             name = parsedValue.toUpperCase(Locale.getDefault());
                         } else {
                             name = parsedValue;
                         }
-                        //no value specified for value
+
+                        // no value specified for value
                         parsedValue = "";
                     }
-                    value = parsedValue;
-                    Vector v = new Vector();
-                    v.add(value);
-                    result.put(name, v);
+
+                    parsedDriverProperties.put(name, asList(parsedValue));
+
                     parsedValue = "";
                     values = values.substring(2);
                 } else {
@@ -238,89 +254,41 @@
             }
         }
 
-        return result;
+        return parsedDriverProperties;
     }
 
     /**
      * Creates a Datasource object according to the spec.
      *
      * @return Initial DataSource Object instance.
-     * @throws <code>ResourceException</code> If class name is wrong or classpath is not set
-     *                                        properly.
+     * @throws <code>ResourceException</code> If class name is wrong or classpath is
+     * not set properly.
      */
     private Object getDataSourceObject() throws ResourceException {
-        String className = spec.getDetail(DataSourceSpec.CLASSNAME);
+        String className = spec.getDetail(CLASSNAME);
+
         try {
-            ClassLoader cl = Thread.currentThread().getContextClassLoader();
-            Class dataSourceClass;
+            ClassLoader classLoader = Thread.currentThread().getContextClassLoader();
+            Class<?> dataSourceClass;
             try {
-                dataSourceClass = Class.forName(className, true, cl);
+                dataSourceClass = Class.forName(className, true, classLoader);
             } catch (ClassNotFoundException cnfe) {
                 // OSGi-ed apps can't see lib dir, so try using CommonClassLoader
-                cl = Globals.get(ClassLoaderHierarchy.class).getCommonClassLoader();
-                dataSourceClass = Class.forName(className, true, cl);
+                classLoader = Globals.get(ClassLoaderHierarchy.class).getCommonClassLoader();
+                dataSourceClass = Class.forName(className, true, classLoader);
             }
-            Object dataSourceObject = dataSourceClass.newInstance();
-            return dataSourceObject;
+
+            return dataSourceClass.getDeclaredConstructor().newInstance();
         } catch (ClassNotFoundException cnfe) {
-            _logger.log(Level.SEVERE, "jdbc.exc_cnfe_ds", cnfe);
-            String msg = sm.getString("dsob.class_not_found", className);
-            throw new ResourceException(msg);
-        } catch (InstantiationException ce) {
-            _logger.log(Level.SEVERE, "jdbc.exc_inst", className);
-            String msg = sm.getString("dsob.error_instantiating", className);
-            throw new ResourceException(msg);
+            _logger.log(SEVERE, "jdbc.exc_cnfe_ds", cnfe);
+            throw new ResourceException(sm.getString("dsob.class_not_found", className), cnfe);
+        } catch (InstantiationException | NoSuchMethodException | InvocationTargetException ce) {
+            _logger.log(SEVERE, "jdbc.exc_inst", className);
+            throw new ResourceException(sm.getString("dsob.error_instantiating", className), ce);
         } catch (IllegalAccessException ce) {
-            _logger.log(Level.SEVERE, "jdbc.exc_acc_inst", className);
-            String msg = sm.getString("dsob.access_error", className);
-            throw new ResourceException(msg);
+            _logger.log(SEVERE, "jdbc.exc_acc_inst", className);
+            throw new ResourceException(sm.getString("dsob.access_error", className), ce);
         }
     }
 
-    public static boolean isJDBC40() {
-        return jdbc40;
-    }
-
-    public static boolean isJDBC41() {
-        return jdbc41;
-    }
-
-    /**
-     * Check whether the jdbc api version is 4.0 or not.
-     *
-     * @return boolean
-     */
-    private static boolean detectJDBC40() {
-        boolean jdbc40 = false;
-        try {
-            Class.forName("java.sql.Wrapper");
-            jdbc40 = true;
-        } catch (ClassNotFoundException cnfe) {
-            if(_logger.isLoggable(Level.FINEST)) {
-                _logger.log(Level.FINEST,
-                    "could not find Wrapper(available in jdbc-40), jdk supports only jdbc-30");
-            }
-        }
-        return jdbc40;
-    }
-
-    /**
-     * Detect if jdbc api version is 4.1 or not
-     *
-     * @return boolean
-     */
-    private static boolean detectJDBC41() {
-        boolean jdbc41 = false;
-        try {
-            Class.forName("java.sql.PseudoColumnUsage");
-            jdbc41 = true;
-        } catch (ClassNotFoundException cnfe) {
-            if(_logger.isLoggable(Level.FINEST)) {
-                _logger.log(Level.FINEST,
-                    "could not find PseudoColumnUsage(enum available in jdbc-41)," +
-                    " jdk supports jdbc-40 or lesser");
-            }
-        }
-        return jdbc41;
-    }
 }
diff --git a/appserver/jdbc/jdbc-ra/jdbc-core/src/main/java/com/sun/gjc/common/DataSourceSpec.java b/appserver/jdbc/jdbc-ra/jdbc-core/src/main/java/com/sun/gjc/common/DataSourceSpec.java
index 3c75710..34aec58 100644
--- a/appserver/jdbc/jdbc-ra/jdbc-core/src/main/java/com/sun/gjc/common/DataSourceSpec.java
+++ b/appserver/jdbc/jdbc-ra/jdbc-core/src/main/java/com/sun/gjc/common/DataSourceSpec.java
@@ -16,6 +16,7 @@
 
 package com.sun.gjc.common;
 
+import java.io.Serializable;
 import java.util.concurrent.ConcurrentHashMap;
 
 /**
@@ -25,7 +26,9 @@
  * @author Binod P.G
  * @version 1.0, 02/07/23
  */
-public class DataSourceSpec implements java.io.Serializable {
+public class DataSourceSpec implements Serializable {
+
+    private static final long serialVersionUID = 1L;
 
     public static final int USERNAME = 1;
     public static final int PASSWORD = 2;
@@ -53,7 +56,6 @@
     public static final int DATASOURCE = 23;
     public static final int CONNECTIONPOOLDATASOURCE = 24;
 
-    //GJCINT
     public static final int CONNECTIONVALIDATIONREQUIRED = 25;
     public static final int VALIDATIONMETHOD = 26;
     public static final int VALIDATIONTABLENAME = 27;
@@ -87,7 +89,7 @@
      * Set the property.
      *
      * @param property Property Name to be set.
-     * @param value    Value of property to be set.
+     * @param value Value of property to be set.
      */
     public void setDetail(int property, String value) {
         details.put(property, value);
@@ -102,14 +104,13 @@
     public String getDetail(int property) {
         if (details.containsKey(property)) {
             return details.get(property);
-        } else {
-            return null;
         }
+
+        return null;
     }
 
     /**
-     * Checks whether two <code>DataSourceSpec</code> objects
-     * are equal or not.
+     * Checks whether two <code>DataSourceSpec</code> objects are equal or not.
      *
      * @param obj Instance of <code>DataSourceSpec</code> object.
      */
@@ -117,6 +118,7 @@
         if (obj instanceof DataSourceSpec) {
             return this.details.equals(((DataSourceSpec) obj).details);
         }
+
         return false;
     }
 
diff --git a/appserver/jdbc/jdbc-ra/jdbc-core/src/main/java/com/sun/gjc/monitoring/JdbcRAConstants.java b/appserver/jdbc/jdbc-ra/jdbc-core/src/main/java/com/sun/gjc/monitoring/JdbcRAConstants.java
index 1282639..8538df0 100644
--- a/appserver/jdbc/jdbc-ra/jdbc-core/src/main/java/com/sun/gjc/monitoring/JdbcRAConstants.java
+++ b/appserver/jdbc/jdbc-ra/jdbc-core/src/main/java/com/sun/gjc/monitoring/JdbcRAConstants.java
@@ -69,17 +69,15 @@
     /**
      * Dotted name used in monitoring for Statement caching.
      */
-    public static final String STATEMENT_CACHE_DOTTED_NAME = GLASSFISH + ":" +
-            JDBCRA + ":" + STATEMENT_CACHE_PROBE + ":";
+    public static final String STATEMENT_CACHE_DOTTED_NAME = GLASSFISH + ":" + JDBCRA + ":" + STATEMENT_CACHE_PROBE
+            + ":";
 
     /**
      * Dotted name used in monitoring for Sql Tracing.
      */
-    public static final String SQL_TRACING_DOTTED_NAME = GLASSFISH + ":" +
-            JDBCRA + ":" + SQL_TRACING_PROBE + ":";
+    public static final String SQL_TRACING_DOTTED_NAME = GLASSFISH + ":" + JDBCRA + ":" + SQL_TRACING_PROBE + ":";
 
-    public static final String STATEMENT_LEAK_DOTTED_NAME = GLASSFISH + ":" +
-            JDBCRA + ":" + STATEMENT_LEAK_PROBE + ":";
+    public static final String STATEMENT_LEAK_DOTTED_NAME = GLASSFISH + ":" + JDBCRA + ":" + STATEMENT_LEAK_PROBE + ":";
 
     /**
      * Represents top queries to report.
@@ -89,15 +87,6 @@
     /**
      * List of valid method names that can be used for sql trace monitoring.
      */
-    public static final List<String> validSqlTracingMethodNames =
-            Collections.unmodifiableList(
-            Arrays.asList(
-                "nativeSQL",
-                "prepareCall",
-                "prepareStatement",
-                "addBatch",
-                "execute",
-                "executeQuery",
-                "executeUpdate"
-            ));
+    public static final List<String> validSqlTracingMethodNames = Collections.unmodifiableList(Arrays.asList(
+            "nativeSQL", "prepareCall", "prepareStatement", "addBatch", "execute", "executeQuery", "executeUpdate"));
 }
diff --git a/appserver/jdbc/jdbc-ra/jdbc-core/src/main/java/com/sun/gjc/monitoring/JdbcStatsProvider.java b/appserver/jdbc/jdbc-ra/jdbc-core/src/main/java/com/sun/gjc/monitoring/JdbcStatsProvider.java
index 6368475..821b783 100644
--- a/appserver/jdbc/jdbc-ra/jdbc-core/src/main/java/com/sun/gjc/monitoring/JdbcStatsProvider.java
+++ b/appserver/jdbc/jdbc-ra/jdbc-core/src/main/java/com/sun/gjc/monitoring/JdbcStatsProvider.java
@@ -16,8 +16,6 @@
 
 package com.sun.gjc.monitoring;
 
-import com.sun.gjc.util.SQLTrace;
-import com.sun.gjc.util.SQLTraceCache;
 import org.glassfish.external.probe.provider.annotations.ProbeListener;
 import org.glassfish.external.probe.provider.annotations.ProbeParam;
 import org.glassfish.external.statistics.CountStatistic;
@@ -31,6 +29,9 @@
 import org.glassfish.gmbal.ManagedObject;
 import org.glassfish.resourcebase.resources.api.PoolInfo;
 
+import com.sun.gjc.util.SQLTrace;
+import com.sun.gjc.util.SQLTraceCache;
+
 /**
  * Provides the monitoring data for JDBC RA module
  *
diff --git a/appserver/jdbc/jdbc-ra/jdbc-core/src/main/java/com/sun/gjc/spi/CPManagedConnectionFactory.java b/appserver/jdbc/jdbc-ra/jdbc-core/src/main/java/com/sun/gjc/spi/CPManagedConnectionFactory.java
index 05f42e4..f8b2f6c 100644
--- a/appserver/jdbc/jdbc-ra/jdbc-core/src/main/java/com/sun/gjc/spi/CPManagedConnectionFactory.java
+++ b/appserver/jdbc/jdbc-ra/jdbc-core/src/main/java/com/sun/gjc/spi/CPManagedConnectionFactory.java
@@ -16,20 +16,33 @@
 
 package com.sun.gjc.spi;
 
-import com.sun.enterprise.util.i18n.StringManager;
-import com.sun.gjc.common.DataSourceObjectBuilder;
-import com.sun.gjc.common.DataSourceSpec;
-import com.sun.gjc.util.SecurityUtils;
-import com.sun.logging.LogDomains;
+import static com.sun.gjc.util.SecurityUtils.getPasswordCredential;
+import static java.util.logging.Level.FINEST;
+import static java.util.logging.Level.SEVERE;
 
-import jakarta.resource.ResourceException;
-import jakarta.resource.spi.ConnectionRequestInfo;
-import jakarta.resource.spi.ResourceAllocationException;
-import jakarta.resource.spi.security.PasswordCredential;
+import java.sql.Connection;
 import java.sql.SQLException;
 import java.util.logging.Level;
 import java.util.logging.Logger;
+
+import javax.security.auth.Subject;
+import javax.sql.ConnectionPoolDataSource;
+import javax.sql.DataSource;
+import javax.sql.PooledConnection;
+
+import com.sun.enterprise.util.i18n.StringManager;
+import com.sun.gjc.common.DataSourceObjectBuilder;
+import com.sun.gjc.common.DataSourceSpec;
+import com.sun.gjc.spi.base.AbstractDataSource;
+import com.sun.gjc.spi.base.ConnectionHolder;
+import com.sun.logging.LogDomains;
+
+import jakarta.resource.ResourceException;
 import jakarta.resource.spi.ConnectionDefinition;
+import jakarta.resource.spi.ConnectionRequestInfo;
+import jakarta.resource.spi.ManagedConnection;
+import jakarta.resource.spi.ResourceAllocationException;
+import jakarta.resource.spi.security.PasswordCredential;
 
 
 /**
@@ -39,20 +52,17 @@
  * @version 1.0, 02/07/30
  */
 @ConnectionDefinition(
-    connectionFactory = javax.sql.DataSource.class,
-    connectionFactoryImpl = com.sun.gjc.spi.base.AbstractDataSource.class,
-    connection = java.sql.Connection.class,
-    connectionImpl = com.sun.gjc.spi.base.ConnectionHolder.class
+    connectionFactory = DataSource.class,
+    connectionFactoryImpl = AbstractDataSource.class,
+    connection = Connection.class,
+    connectionImpl = ConnectionHolder.class
 )
 public class CPManagedConnectionFactory extends ManagedConnectionFactoryImpl {
 
-    private transient javax.sql.ConnectionPoolDataSource cpDataSourceObj;
+    private static Logger _logger = LogDomains.getLogger(CPManagedConnectionFactory.class, LogDomains.RSR_LOGGER);
 
-    private static Logger _logger;
+    private transient ConnectionPoolDataSource connectionPoolDataSource;
 
-    static {
-        _logger = LogDomains.getLogger(CPManagedConnectionFactory.class, LogDomains.RSR_LOGGER);
-    }
 
     /**
      * Returns the underlying datasource
@@ -60,119 +70,86 @@
      * @return DataSource of jdbc vendor
      * @throws ResourceException
      */
-    public javax.sql.ConnectionPoolDataSource getDataSource() throws ResourceException {
-        if (cpDataSourceObj == null) {
+    public ConnectionPoolDataSource getDataSource() throws ResourceException {
+        if (connectionPoolDataSource == null) {
             try {
-                cpDataSourceObj = (javax.sql.ConnectionPoolDataSource) super.getDataSource();
+                connectionPoolDataSource = (ConnectionPoolDataSource) super.getDataSource();
             } catch (ClassCastException cce) {
-                _logger.log(Level.SEVERE, "jdbc.exc_cce_CP", cce);
-                throw new ResourceException(cce.getMessage());
+                _logger.log(SEVERE, "jdbc.exc_cce_CP", cce);
+                throw new ResourceException(cce.getMessage(), cce);
             }
         }
-        return cpDataSourceObj;
+
+        return connectionPoolDataSource;
     }
 
     /**
-     * Creates a new physical connection to the underlying EIS resource
-     * manager.
+     * Creates a new physical connection to the underlying EIS resource manager.
      *
-     * @param subject       <code>Subject</code> instance passed by the application server
+     * @param subject <code>Subject</code> instance passed by the application server
      * @param cxRequestInfo <code>ConnectionRequestInfo</code> which may be created
-     *                      as a result of the invocation <code>getConnection(user, password)</code>
-     *                      on the <code>DataSource</code> object
+     * as a result of the invocation <code>getConnection(user, password)</code> on
+     * the <code>DataSource</code> object
+     *
      * @return <code>ManagedConnection</code> object created
-     * @throws ResourceException           if there is an error in instantiating the
-     *                                     <code>DataSource</code> object used for the
-     *                                     creation of the <code>ManagedConnection</code> object
-     * @throws SecurityException           if there ino <code>PasswordCredential</code> object
-     *                                     satisfying this request
+     *
+     * @throws ResourceException if there is an error in instantiating the
+     * <code>DataSource</code> object used for the creation of the
+     * <code>ManagedConnection</code> object
+     * @throws SecurityException if there ino <code>PasswordCredential</code> object
+     * satisfying this request
      * @throws ResourceAllocationException if there is an error in allocating the
-     *                                     physical connection
+     * physical connection
      */
-    public jakarta.resource.spi.ManagedConnection createManagedConnection(javax.security.auth.Subject subject,
-                                                                        ConnectionRequestInfo cxRequestInfo) throws ResourceException {
+    public ManagedConnection createManagedConnection(Subject subject, ConnectionRequestInfo cxRequestInfo) throws ResourceException {
         logFine("In createManagedConnection");
-        PasswordCredential pc = SecurityUtils.getPasswordCredential(this, subject, cxRequestInfo);
 
-        javax.sql.ConnectionPoolDataSource dataSource = getDataSource();
+        PasswordCredential passwordCredential = getPasswordCredential(this, subject, cxRequestInfo);
 
-        javax.sql.PooledConnection cpConn = null;
-        ManagedConnectionImpl mc = null;
+        ConnectionPoolDataSource dataSource = getDataSource();
+
+        PooledConnection pooledConnection = null;
+        ManagedConnectionImpl managedConnectionImpl = null;
 
         try {
-            /* For the case where the user/passwd of the connection pool is
-            * equal to the PasswordCredential for the connection request
-            * get a connection from this pool directly.
-            * for all other conditions go create a new connection
-            */
-            if (isEqual(pc, getUser(), getPassword())) {
-                cpConn = dataSource.getPooledConnection();
+            /*
+             * For the case where the user/passwd of the connection pool is equal to the
+             * PasswordCredential for the connection request get a connection from this pool
+             * directly. for all other conditions go create a new connection
+             */
+            if (isEqual(passwordCredential, getUser(), getPassword())) {
+                pooledConnection = dataSource.getPooledConnection();
             } else {
-                cpConn = dataSource.getPooledConnection(pc.getUserName(),
-                        new String(pc.getPassword()));
+                pooledConnection = dataSource.getPooledConnection(passwordCredential.getUserName(), new String(passwordCredential.getPassword()));
             }
 
-        } catch (java.sql.SQLException sqle) {
-            //_logger.log(Level.SEVERE, "jdbc.exc_create_ds_conn",sqle);
-            if(_logger.isLoggable(Level.FINE)) {
-                _logger.log(Level.FINE, "jdbc.exc_create_ds_conn", sqle);
-            }
-            StringManager sm =
-                    StringManager.getManager(DataSourceObjectBuilder.class);
-            String msg = sm.getString("jdbc.cannot_allocate_connection", sqle.getMessage());
-            ResourceAllocationException rae = new ResourceAllocationException(
-                    msg, sqle);
-            throw rae;
+        } catch (SQLException sqle) {
+            _logger.log(Level.FINE, "jdbc.exc_create_ds_conn", sqle);
+
+            throw new ResourceAllocationException(
+                StringManager.getManager(DataSourceObjectBuilder.class).getString("jdbc.cannot_allocate_connection", sqle.getMessage()),
+                sqle);
         }
 
         try {
+            managedConnectionImpl = constructManagedConnection(pooledConnection, null, passwordCredential, this);
+            managedConnectionImpl.initializeConnectionType(ManagedConnectionImpl.ISPOOLEDCONNECTION);
 
-            mc = constructManagedConnection(cpConn, null, pc, this);
-
-            mc.initializeConnectionType(ManagedConnectionImpl.ISPOOLEDCONNECTION);
-
-            //GJCINT
-            validateAndSetIsolation(mc);
+            validateAndSetIsolation(managedConnectionImpl);
         } finally {
-            if (mc == null) {
-                if (cpConn != null) {
+            if (managedConnectionImpl == null) {
+                if (pooledConnection != null) {
                     try {
-                        cpConn.close();
+                        pooledConnection.close();
                     } catch (SQLException e) {
-                        _logger.log(Level.FINEST, "Exception while closing connection : createManagedConnection" + cpConn);
+                        _logger.log(FINEST,
+                            "Exception while closing connection : createManagedConnection" + pooledConnection);
                     }
                 }
             }
         }
-        return mc;
-    }
 
-    /**
-     * Check if this <code>ManagedConnectionFactory</code> is equal to
-     * another <code>ManagedConnectionFactory</code>.
-     *
-     * @param other <code>ManagedConnectionFactory</code> object for checking equality with
-     * @return true    if the property sets of both the
-     *         <code>ManagedConnectionFactory</code> objects are the same
-     *         false    otherwise
-     */
-    public boolean equals(Object other) {
-        logFine("In equals");
-        /**
-         * The check below means that two ManagedConnectionFactory objects are equal
-         * if and only if their properties are the same.
-         */
-        if (other instanceof com.sun.gjc.spi.CPManagedConnectionFactory) {
-            com.sun.gjc.spi.CPManagedConnectionFactory otherMCF =
-                    (com.sun.gjc.spi.CPManagedConnectionFactory) other;
-            return this.spec.equals(otherMCF.spec);
-        }
-        return false;
-    }
-
-    @Override
-    public int hashCode() {
-        return 31 * 7 + (spec.hashCode());
+        return managedConnectionImpl;
     }
 
     /**
@@ -294,4 +271,33 @@
     public String getPropertyCycle() {
         return spec.getDetail(DataSourceSpec.PROPERTYCYCLE);
     }
+
+    /**
+     * Check if this <code>ManagedConnectionFactory</code> is equal to another
+     * <code>ManagedConnectionFactory</code>.
+     *
+     * @param other <code>ManagedConnectionFactory</code> object for checking
+     * equality with
+     * @return true if the property sets of both the
+     * <code>ManagedConnectionFactory</code> objects are the same false otherwise
+     */
+    public boolean equals(Object other) {
+        logFine("In equals");
+
+        /**
+         * The check below means that two ManagedConnectionFactory objects are equal if
+         * and only if their properties are the same.
+         */
+        if (other instanceof CPManagedConnectionFactory) {
+            CPManagedConnectionFactory otherMCF = (CPManagedConnectionFactory) other;
+            return this.spec.equals(otherMCF.spec);
+        }
+
+        return false;
+    }
+
+    @Override
+    public int hashCode() {
+        return 31 * 7 + (spec.hashCode());
+    }
 }
diff --git a/appserver/jdbc/jdbc-ra/jdbc-core/src/main/java/com/sun/gjc/spi/ConnectionManagerImplementation.java b/appserver/jdbc/jdbc-ra/jdbc-core/src/main/java/com/sun/gjc/spi/ConnectionManagerImplementation.java
index 6bef1fc..bd7ddca 100644
--- a/appserver/jdbc/jdbc-ra/jdbc-core/src/main/java/com/sun/gjc/spi/ConnectionManagerImplementation.java
+++ b/appserver/jdbc/jdbc-ra/jdbc-core/src/main/java/com/sun/gjc/spi/ConnectionManagerImplementation.java
@@ -17,8 +17,8 @@
 package com.sun.gjc.spi;
 
 import jakarta.resource.ResourceException;
+import jakarta.resource.spi.ConnectionManager;
 import jakarta.resource.spi.ConnectionRequestInfo;
-import jakarta.resource.spi.ManagedConnection;
 import jakarta.resource.spi.ManagedConnectionFactory;
 
 /**
@@ -27,25 +27,26 @@
  * @author Binod P.G
  * @version 1.0, 02/07/31
  */
-public class ConnectionManagerImplementation implements jakarta.resource.spi.ConnectionManager {
+public class ConnectionManagerImplementation implements ConnectionManager {
+
+    private static final long serialVersionUID = 1L;
 
     /**
-     * Returns a <code>Connection </code> object to the <code>ConnectionFactory</code>
+     * Returns a <code>Connection </code> object to the
+     * <code>ConnectionFactory</code>
      *
-     * @param mcf  <code>ManagedConnectionFactory</code> object.
-     * @param info <code>ConnectionRequestInfo</code> object.
+     * @param managedConnectionFactory <code>ManagedConnectionFactory</code> object.
+     * @param connectionRequestInfo <code>ConnectionRequestInfo</code> object.
      * @return A <code>Connection</code> Object.
      * @throws ResourceException In case of an error in getting the <code>Connection</code>.
      */
-    public Object allocateConnection(ManagedConnectionFactory mcf,
-                                     ConnectionRequestInfo info)
-            throws ResourceException {
-        ManagedConnection mc = mcf.createManagedConnection(null, info);
-        return mc.getConnection(null, info);
+    public Object allocateConnection(ManagedConnectionFactory managedConnectionFactory, ConnectionRequestInfo connectionRequestInfo) throws ResourceException {
+        return managedConnectionFactory.createManagedConnection(null, connectionRequestInfo)
+                                       .getConnection(null, connectionRequestInfo);
     }
 
     /*
-    * This class could effectively implement Connection pooling also.
-    * Could be done for FCS.
-    */
+     * This class could effectively implement Connection pooling also. Could be done
+     * for FCS.
+     */
 }
diff --git a/appserver/jdbc/jdbc-ra/jdbc-core/src/main/java/com/sun/gjc/spi/ConnectionRequestInfoImpl.java b/appserver/jdbc/jdbc-ra/jdbc-core/src/main/java/com/sun/gjc/spi/ConnectionRequestInfoImpl.java
index 3e9fefd..385cdbf 100644
--- a/appserver/jdbc/jdbc-ra/jdbc-core/src/main/java/com/sun/gjc/spi/ConnectionRequestInfoImpl.java
+++ b/appserver/jdbc/jdbc-ra/jdbc-core/src/main/java/com/sun/gjc/spi/ConnectionRequestInfoImpl.java
@@ -18,13 +18,15 @@
 
 import java.util.Arrays;
 
+import jakarta.resource.spi.ConnectionRequestInfo;
+
 /**
  * ConnectionRequestInfo implementation for Generic JDBC Connector.
  *
  * @author Binod P.G
  * @version 1.0, 02/07/31
  */
-public class ConnectionRequestInfoImpl implements jakarta.resource.spi.ConnectionRequestInfo {
+public class ConnectionRequestInfoImpl implements ConnectionRequestInfo {
 
     private String user;
     private char[] password;
@@ -32,7 +34,7 @@
     /**
      * Constructs a new <code>ConnectionRequestInfoImpl</code> object
      *
-     * @param user     User Name.
+     * @param user User Name.
      * @param password Password
      */
     public ConnectionRequestInfoImpl(String user, char[] password) {
@@ -64,14 +66,16 @@
      * @return True, if they are equal and false otherwise.
      */
     public boolean equals(Object obj) {
-        if (obj == null) return false;
-        if (obj instanceof ConnectionRequestInfoImpl) {
-            ConnectionRequestInfoImpl other = (ConnectionRequestInfoImpl) obj;
-            return (isEqual(this.user, other.user) &&
-                    Arrays.equals(this.password, other.password));
-        } else {
+        if (obj == null) {
             return false;
         }
+
+        if (obj instanceof ConnectionRequestInfoImpl) {
+            ConnectionRequestInfoImpl other = (ConnectionRequestInfoImpl) obj;
+            return (isEqual(this.user, other.user) && Arrays.equals(this.password, other.password));
+        }
+
+        return false;
     }
 
     /**
@@ -93,9 +97,9 @@
     private boolean isEqual(Object o1, Object o2) {
         if (o1 == null) {
             return (o2 == null);
-        } else {
-            return o1.equals(o2);
         }
+
+        return o1.equals(o2);
     }
 
 }
diff --git a/appserver/jdbc/jdbc-ra/jdbc-core/src/main/java/com/sun/gjc/spi/DMManagedConnectionFactory.java b/appserver/jdbc/jdbc-ra/jdbc-core/src/main/java/com/sun/gjc/spi/DMManagedConnectionFactory.java
index 423a52e..feadb2c 100644
--- a/appserver/jdbc/jdbc-ra/jdbc-core/src/main/java/com/sun/gjc/spi/DMManagedConnectionFactory.java
+++ b/appserver/jdbc/jdbc-ra/jdbc-core/src/main/java/com/sun/gjc/spi/DMManagedConnectionFactory.java
@@ -1,4 +1,5 @@
 /*
+ * Copyright (c) 2022 Contributors to the Eclipse Foundation.
  * Copyright (c) 1997, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
@@ -16,150 +17,160 @@
 
 package com.sun.gjc.spi;
 
+import static com.sun.gjc.common.DataSourceSpec.CLASSNAME;
+import static com.sun.gjc.common.DataSourceSpec.LOGINTIMEOUT;
+import static com.sun.gjc.common.DataSourceSpec.PASSWORD;
+import static com.sun.gjc.common.DataSourceSpec.URL;
+import static com.sun.gjc.common.DataSourceSpec.USERNAME;
+import static com.sun.gjc.util.SecurityUtils.getPasswordCredential;
+import static java.util.logging.Level.FINE;
+import static java.util.logging.Level.FINEST;
+import static java.util.logging.Level.SEVERE;
+
+import java.sql.Connection;
+import java.sql.DriverManager;
+import java.sql.SQLException;
+import java.util.List;
+import java.util.Map;
+import java.util.Properties;
+import java.util.logging.Logger;
+
+import javax.security.auth.Subject;
+import javax.sql.DataSource;
+
 import com.sun.gjc.common.DataSourceObjectBuilder;
-import com.sun.gjc.common.DataSourceSpec;
-import com.sun.gjc.util.SecurityUtils;
+import com.sun.gjc.spi.base.AbstractDataSource;
+import com.sun.gjc.spi.base.ConnectionHolder;
 import com.sun.logging.LogDomains;
 
 import jakarta.resource.ResourceException;
-import jakarta.resource.spi.ConnectionRequestInfo;
-import jakarta.resource.spi.security.PasswordCredential;
-import java.sql.DriverManager;
-import java.sql.SQLException;
-import java.util.Hashtable;
-import java.util.Map;
-import java.util.Properties;
-import java.util.Set;
-import java.util.Vector;
-import java.util.logging.Level;
-import java.util.logging.Logger;
 import jakarta.resource.spi.ConfigProperty;
 import jakarta.resource.spi.ConnectionDefinition;
+import jakarta.resource.spi.ConnectionRequestInfo;
+import jakarta.resource.spi.ManagedConnection;
+import jakarta.resource.spi.ResourceAllocationException;
+import jakarta.resource.spi.security.PasswordCredential;
 
 /**
- * Driver Manager <code>ManagedConnectionFactory</code> implementation for Generic JDBC Connector.
+ * Driver Manager <code>ManagedConnectionFactory</code> implementation for
+ * Generic JDBC Connector.
  *
  * @author Evani Sai Surya Kiran
  * @version 1.0, 02/07/31
  */
 @ConnectionDefinition(
-    connectionFactory = javax.sql.DataSource.class,
-    connectionFactoryImpl = com.sun.gjc.spi.base.AbstractDataSource.class,
-    connection = java.sql.Connection.class,
-    connectionImpl = com.sun.gjc.spi.base.ConnectionHolder.class
-)
+    connectionFactory = DataSource.class,
+    connectionFactoryImpl = AbstractDataSource.class,
+    connection = Connection.class,
+    connectionImpl = ConnectionHolder.class)
 public class DMManagedConnectionFactory extends ManagedConnectionFactoryImpl {
 
+    private static Logger _logger = LogDomains.getLogger(DMManagedConnectionFactory.class, LogDomains.RSR_LOGGER);
+    private boolean debug = _logger.isLoggable(FINE);
+
     Properties props;
 
-    private static Logger _logger;
-
-    static {
-        _logger = LogDomains.getLogger(DMManagedConnectionFactory.class, LogDomains.RSR_LOGGER);
-    }
-
-    private boolean debug = _logger.isLoggable(Level.FINE);
-
     /**
-     * Creates a new physical connection to the underlying EIS resource
-     * manager.
+     * Creates a new physical connection to the underlying EIS resource manager.
      *
-     * @param subject       <code>Subject</code> instance passed by the application server
+     * @param subject <code>Subject</code> instance passed by the application server
      * @param cxRequestInfo <code>ConnectionRequestInfo</code> which may be created
-     *                      as a result of the invocation <code>getConnection(user, password)</code>
-     *                      on the <code>DataSource</code> object
+     * as a result of the invocation <code>getConnection(user, password)</code> on
+     * the <code>DataSource</code> object
+     *
      * @return <code>ManagedConnection</code> object created
+     *
      * @throws ResourceException if there is an error in instantiating the
-     *                           <code>DataSource</code> object used for the
-     *                           creation of the <code>ManagedConnection</code> object
+     * <code>DataSource</code> object used for the creation of the
+     * <code>ManagedConnection</code> object
      * @throws SecurityException if there ino <code>PasswordCredential</code> object
-     *                           satisfying this request
+     * satisfying this request
      */
-    public jakarta.resource.spi.ManagedConnection createManagedConnection(javax.security.auth.Subject subject,
-                                                                        ConnectionRequestInfo cxRequestInfo) throws ResourceException {
+    @Override
+    public ManagedConnection createManagedConnection(Subject subject, ConnectionRequestInfo cxRequestInfo) throws ResourceException {
         logFine("In createManagedConnection");
-        if (dsObjBuilder == null) {
-            dsObjBuilder = new DataSourceObjectBuilder(spec);
+
+        if (dataSourceObjectBuilder == null) {
+            dataSourceObjectBuilder = new DataSourceObjectBuilder(spec);
         }
-        PasswordCredential pc = SecurityUtils.getPasswordCredential(this, subject, cxRequestInfo);
+
+        PasswordCredential passwordCredential = getPasswordCredential(this, subject, cxRequestInfo);
 
         try {
-            Class.forName(spec.getDetail(DataSourceSpec.CLASSNAME));
+            Class.forName(spec.getDetail(CLASSNAME));
         } catch (ClassNotFoundException cnfe) {
-            _logger.log(Level.SEVERE, "jdbc.exc_cnfe", cnfe);
-            throw new ResourceException("The driver could not be loaded: " + spec.getDetail(DataSourceSpec.CLASSNAME));
+            _logger.log(SEVERE, "jdbc.exc_cnfe", cnfe);
+            throw new ResourceException("The driver could not be loaded: " + spec.getDetail(CLASSNAME));
         }
 
-        java.sql.Connection dsConn = null;
-        ManagedConnectionImpl mc = null;
+        Connection connection = null;
+        ManagedConnectionImpl managedConnectionImpl = null;
 
         Properties driverProps = new Properties();
-        //Will return a set of properties that would have setURL and <url> as objects
-        //Get a set of normal case properties
-        Hashtable properties = dsObjBuilder.parseDriverProperties(spec, false);
-        Set<Map.Entry<String,Vector>> entries =
-                (Set<Map.Entry<String, Vector>>) properties.entrySet();
-        for(Map.Entry<String, Vector> entry : entries) {
+
+        // Will return a set of properties that would have setURL and <url> as objects
+        // Get a set of normal case properties
+        Map<String, List<String>> properties = dataSourceObjectBuilder.parseDriverProperties(spec, false);
+        for (Map.Entry<String, List<String>> entry : properties.entrySet()) {
             String value = "";
-            String key = (String) entry.getKey();
-            Vector values = (Vector) entry.getValue();
-            if(!values.isEmpty() && values.size() == 1) {
-                value = (String) values.firstElement();
-            } else if(values.size() > 1) {
-                logFine("More than one value for key : " + key);
+            List<String> values = entry.getValue();
+
+            if (!values.isEmpty() && values.size() == 1) {
+                value = values.get(0);
+            } else if (values.size() > 1) {
+                logFine("More than one value for key : " + entry.getKey());
             }
-            String prop = getParsedKey(key);
-            driverProps.put(prop, value);
-            if(prop.equalsIgnoreCase("URL")) {
-                if(spec.getDetail(DataSourceSpec.URL) == null) {
+
+            String parsedKey = getParsedKey(entry.getKey());
+            driverProps.put(parsedKey, value);
+            if (parsedKey.equalsIgnoreCase("URL")) {
+                if (spec.getDetail(URL) == null) {
                     setConnectionURL(value);
                 }
             }
         }
+
         try {
             if (cxRequestInfo != null) {
-                driverProps.setProperty("user", pc.getUserName());
-                driverProps.setProperty("password", new String(pc.getPassword()));
+                driverProps.setProperty("user", passwordCredential.getUserName());
+                driverProps.setProperty("password", new String(passwordCredential.getPassword()));
             } else {
-                String user = spec.getDetail(DataSourceSpec.USERNAME);
-                String password = spec.getDetail(DataSourceSpec.PASSWORD);
-                if(user != null) {
+                String user = spec.getDetail(USERNAME);
+                String password = spec.getDetail(PASSWORD);
+                if (user != null) {
                     driverProps.setProperty("user", user);
                 }
-                if(password != null) {
+                if (password != null) {
                     driverProps.setProperty("password", password);
                 }
             }
 
-            dsConn = DriverManager.getConnection(spec.getDetail(DataSourceSpec.URL), driverProps);
+            connection = DriverManager.getConnection(spec.getDetail(URL), driverProps);
 
-        } catch (java.sql.SQLException sqle) {
-            _logger.log(Level.SEVERE, "jdbc.exc_create_mc", sqle);
-            throw new jakarta.resource.spi.ResourceAllocationException("The connection could not be allocated: " +
-                    sqle.getMessage());
+        } catch (SQLException sqle) {
+            _logger.log(SEVERE, "jdbc.exc_create_mc", sqle);
+            throw new ResourceAllocationException("The connection could not be allocated: " + sqle.getMessage());
         }
 
         try {
-
-            mc = constructManagedConnection(null, dsConn, pc, this);
-
-            //GJCINT
-            validateAndSetIsolation(mc);
+            managedConnectionImpl = constructManagedConnection(null, connection, passwordCredential, this);
+            validateAndSetIsolation(managedConnectionImpl);
         } finally {
-            if (mc == null) {
+            if (managedConnectionImpl == null) {
                 try {
-                    dsConn.close();
+                    connection.close();
                 } catch (SQLException e) {
-                    _logger.log(Level.FINEST, "Exception while closing connection : createManagedConnection" + dsConn);
+                    _logger.log(FINEST, "Exception while closing connection : createManagedConnection" + connection, e);
                 }
             }
         }
-        return mc;
+
+        return managedConnectionImpl;
     }
 
     /**
-     * Parses the key and removes the "set" string at the beginning of the
-     * property.
+     * Parses the key and removes the "set" string at the beginning of the property.
+     *
      * @param key
      * @return
      */
@@ -170,138 +181,25 @@
             indexOfSet = key.indexOf("set");
         } catch (NullPointerException npe) {
             if (debug) {
-                _logger.log(Level.FINE, "jdbc.exc_caught_ign", npe.getMessage());
+                _logger.log(FINE, "jdbc.exc_caught_ign", npe.getMessage());
             }
 
         }
         if (indexOfSet == 0) {
-            //Find the key String
-
+            // Find the key String
             try {
                 parsedKey = key.substring(indexOfSet + 3, key.length()).trim();
             } catch (IndexOutOfBoundsException iobe) {
                 if (debug) {
-                    _logger.log(Level.FINE, "jdbc.exc_caught_ign", iobe.getMessage());
+                    _logger.log(FINE, "jdbc.exc_caught_ign", iobe.getMessage());
                 }
             }
             if (parsedKey != null && parsedKey.equals("")) {
-                throw new ResourceException("Invalid driver properties string - " +
-                        "Key cannot be an empty string");
+                throw new ResourceException("Invalid driver properties string - " + "Key cannot be an empty string");
             }
         }
+
         return parsedKey;
-
-    }
-
-    /**
-     * This method checks if the properties object is null or not.
-     * If the properties object is null, it creates a new Properties
-     * object and inserts the default "user" and "password" key value
-     * pairs. It checks if any other properties have been set or not
-     * and includes the key value pairs for those properties.
-     *
-     * @return props    <code>Properties</code> object conatining properties for getting a connection
-     * @throws ResourceException if the driver properties string and delimiter are not proper
-     */
-    //TODO remove unused method
-    /*private Properties getPropertiesObj() throws ResourceException {
-        if (props != null) {
-            return props;
-        }
-
-        props = new Properties();
-        props.setProperty("user", getUser());
-        props.setProperty("password", getPassword());
-
-        String driverProps = spec.getDetail(DataSourceSpec.DRIVERPROPERTIES);
-        String delimiter = spec.getDetail(DataSourceSpec.DELIMITER);
-
-        if (driverProps != null && driverProps.trim().equals("") == false) {
-            if (delimiter == null || delimiter.equals("")) {
-                throw new ResourceException("Invalid driver properties string - " +
-                        "delimiter not properly set!!");
-            }
-
-            StringTokenizer st = new StringTokenizer(driverProps, delimiter);
-            while (st.hasMoreTokens()) {
-                String keyValuePair = null;
-                try {
-                    keyValuePair = st.nextToken();
-                } catch (NoSuchElementException nsee) {
-                    throw new ResourceException("Invalid driver properties string - " +
-                            "Key value pair not available: " + nsee.getMessage());
-                }
-
-                int indexOfEqualsSign = -1;
-                try {
-                    indexOfEqualsSign = keyValuePair.indexOf("=");
-                    if (indexOfEqualsSign == -1) {
-                        throw new ResourceException("Invalid driver properties string - " +
-                                "Key value pair should be of the form key = value");
-                    }
-                } catch (NullPointerException npe) {
-                    if (debug) {
-                        _logger.log(Level.FINE, "jdbc.exc_caught_ign", npe.getMessage());
-                    }
-
-                }
-
-                String key = null;
-                try {
-                    key = keyValuePair.substring(0, indexOfEqualsSign).trim();
-                } catch (IndexOutOfBoundsException iobe) {
-                    if (debug) {
-                        _logger.log(Level.FINE, "jdbc.exc_caught_ign", iobe.getMessage());
-                    }
-                }
-                if (key != null && key.equals("")) {
-                    throw new ResourceException("Invalid driver properties string - " +
-                            "Key cannot be an empty string");
-                }
-
-                String value = null;
-                try {
-                    value = keyValuePair.substring(indexOfEqualsSign + 1).trim();
-                } catch (IndexOutOfBoundsException iobe) {
-                    if (debug) {
-                        _logger.log(Level.FINE, "jdbc.exc_caught_ign", iobe.getMessage());
-                    }
-                }
-
-                props.setProperty(key, value);
-            }
-        }
-
-        return props;
-    } */
-
-    /**
-     * Check if this <code>ManagedConnectionFactory</code> is equal to
-     * another <code>ManagedConnectionFactory</code>.
-     *
-     * @param other <code>ManagedConnectionFactory</code> object for checking equality with
-     * @return true    if the property sets of both the
-     *         <code>ManagedConnectionFactory</code> objects are the same
-     *         false    otherwise
-     */
-    public boolean equals(Object other) {
-        logFine("In equals");
-
-        /**
-         * The check below means that two ManagedConnectionFactory objects are equal
-         * if and only if their properties are the same.
-         */
-        if (other instanceof com.sun.gjc.spi.DMManagedConnectionFactory) {
-            com.sun.gjc.spi.DMManagedConnectionFactory otherMCF =
-                    (com.sun.gjc.spi.DMManagedConnectionFactory) other;
-            return this.spec.equals(otherMCF.spec);
-        }
-        return false;
-    }
-
-    @Override
-    public int hashCode() {
-        return 31 * 7 + (spec.hashCode());
     }
 
     /**
@@ -310,15 +208,14 @@
      * @param loginTimeOut <code>String</code>
      * @see <code>getLoginTimeOut</code>
      */
+    @Override
     public void setLoginTimeOut(String loginTimeOut) {
-        int timeOut = 0;
         try {
-            timeOut = Integer.parseInt(loginTimeOut);
-            DriverManager.setLoginTimeout(timeOut);
-            spec.setDetail(DataSourceSpec.LOGINTIMEOUT, loginTimeOut);
+            DriverManager.setLoginTimeout(Integer.parseInt(loginTimeOut));
+            spec.setDetail(LOGINTIMEOUT, loginTimeOut);
         } catch (Exception e) {
             if (debug) {
-                _logger.log(Level.FINE, "jdbc.exc_caught_ign", e.getMessage());
+                _logger.log(FINE, "jdbc.exc_caught_ign", e.getMessage());
             }
         }
     }
@@ -331,15 +228,15 @@
     @ConfigProperty(type = String.class, defaultValue = "org.apache.derby.jdbc.ClientDriver")
     @Override
     public void setClassName(String className) {
-        spec.setDetail(DataSourceSpec.CLASSNAME, className);
+        spec.setDetail(CLASSNAME, className);
     }
 
     public void setURL(String url) {
-        spec.setDetail(DataSourceSpec.URL, url);
+        spec.setDetail(URL, url);
     }
 
     public String getURL() {
-        return spec.getDetail(DataSourceSpec.URL);
+        return spec.getDetail(URL);
     }
 
     /**
@@ -349,7 +246,7 @@
      * @see <code>getConnectionURL</code>
      */
     public void setConnectionURL(String url) {
-        spec.setDetail(DataSourceSpec.URL, url);
+        spec.setDetail(URL, url);
     }
 
     /**
@@ -359,10 +256,41 @@
      * @see <code>setConnectionURL</code>
      */
     public String getConnectionURL() {
-        return spec.getDetail(DataSourceSpec.URL);
+        return spec.getDetail(URL);
     }
 
+    @Override
     public Object getDataSource() throws ResourceException {
         return null;
     }
+
+    /**
+     * Check if this <code>ManagedConnectionFactory</code> is equal to another
+     * <code>ManagedConnectionFactory</code>.
+     *
+     * @param other <code>ManagedConnectionFactory</code> object for checking
+     * equality with
+     * @return true if the property sets of both the
+     * <code>ManagedConnectionFactory</code> objects are the same false otherwise
+     */
+    @Override
+    public boolean equals(Object other) {
+        logFine("In equals");
+
+        /**
+         * The check below means that two ManagedConnectionFactory objects are equal if
+         * and only if their properties are the same.
+         */
+        if (other instanceof DMManagedConnectionFactory) {
+            DMManagedConnectionFactory otherMCF = (DMManagedConnectionFactory) other;
+            return this.spec.equals(otherMCF.spec);
+        }
+
+        return false;
+    }
+
+    @Override
+    public int hashCode() {
+        return 31 * 7 + (spec.hashCode());
+    }
 }
diff --git a/appserver/jdbc/jdbc-ra/jdbc-core/src/main/java/com/sun/gjc/spi/DSManagedConnectionFactory.java b/appserver/jdbc/jdbc-ra/jdbc-core/src/main/java/com/sun/gjc/spi/DSManagedConnectionFactory.java
index 9bb6a24..90cc252 100644
--- a/appserver/jdbc/jdbc-ra/jdbc-core/src/main/java/com/sun/gjc/spi/DSManagedConnectionFactory.java
+++ b/appserver/jdbc/jdbc-ra/jdbc-core/src/main/java/com/sun/gjc/spi/DSManagedConnectionFactory.java
@@ -16,19 +16,30 @@
 
 package com.sun.gjc.spi;
 
+import static com.sun.gjc.util.SecurityUtils.getPasswordCredential;
+import static java.util.logging.Level.FINE;
+import static java.util.logging.Level.FINEST;
+import static java.util.logging.Level.SEVERE;
+
+import java.sql.Connection;
+import java.sql.SQLException;
+import java.util.logging.Logger;
+
+import javax.security.auth.Subject;
+import javax.sql.DataSource;
+
 import com.sun.enterprise.util.i18n.StringManager;
 import com.sun.gjc.common.DataSourceObjectBuilder;
-import com.sun.gjc.util.SecurityUtils;
+import com.sun.gjc.spi.base.AbstractDataSource;
+import com.sun.gjc.spi.base.ConnectionHolder;
 import com.sun.logging.LogDomains;
 
 import jakarta.resource.ResourceException;
+import jakarta.resource.spi.ConnectionDefinition;
 import jakarta.resource.spi.ConnectionRequestInfo;
+import jakarta.resource.spi.ManagedConnection;
 import jakarta.resource.spi.ResourceAllocationException;
 import jakarta.resource.spi.security.PasswordCredential;
-import java.sql.SQLException;
-import java.util.logging.Level;
-import java.util.logging.Logger;
-import jakarta.resource.spi.ConnectionDefinition;
 
 /**
  * Data Source <code>ManagedConnectionFactory</code> implementation for Generic JDBC Connector.
@@ -38,93 +49,82 @@
  */
 
 @ConnectionDefinition(
-    connectionFactory = javax.sql.DataSource.class,
-    connectionFactoryImpl = com.sun.gjc.spi.base.AbstractDataSource.class,
+    connectionFactory = DataSource.class,
+    connectionFactoryImpl = AbstractDataSource.class,
     connection = java.sql.Connection.class,
-    connectionImpl = com.sun.gjc.spi.base.ConnectionHolder.class
+    connectionImpl = ConnectionHolder.class
 )
 public class DSManagedConnectionFactory extends ManagedConnectionFactoryImpl {
 
-    private transient javax.sql.DataSource dataSourceObj;
+    private static Logger _logger = LogDomains.getLogger(DSManagedConnectionFactory.class, LogDomains.RSR_LOGGER);
 
-    private static Logger _logger;
-
-    static {
-        _logger = LogDomains.getLogger(DSManagedConnectionFactory.class, LogDomains.RSR_LOGGER);
-    }
+    private transient DataSource dataSourceObj;
 
     /**
-     * Creates a new physical connection to the underlying EIS resource
-     * manager.
+     * Creates a new physical connection to the underlying EIS resource manager.
      *
-     * @param subject       <code>Subject</code> instance passed by the application server
-     * @param cxRequestInfo <code>ConnectionRequestInfo</code> which may be created
-     *                      as a result of the invocation <code>getConnection(user, password)</code>
-     *                      on the <code>DataSource</code> object
+     * @param subject <code>Subject</code> instance passed by the application server
+     * @param connectionRequestInfo <code>ConnectionRequestInfo</code> which may be created
+     * as a result of the invocation <code>getConnection(user, password)</code> on
+     * the <code>DataSource</code> object
+     *
      * @return <code>ManagedConnection</code> object created
-     * @throws ResourceException           if there is an error in instantiating the
-     *                                     <code>DataSource</code> object used for the
-     *                                     creation of the <code>ManagedConnection</code> object
-     * @throws SecurityException           if there ino <code>PasswordCredential</code> object
-     *                                     satisfying this request
+     *
+     * @throws ResourceException if there is an error in instantiating the
+     * <code>DataSource</code> object used for the creation of the
+     * <code>ManagedConnection</code> object
+     * @throws SecurityException if there ino <code>PasswordCredential</code> object
+     * satisfying this request
      * @throws ResourceAllocationException if there is an error in allocating the
-     *                                     physical connection
+     * physical connection
      */
-    public jakarta.resource.spi.ManagedConnection createManagedConnection(javax.security.auth.Subject subject,
-                                                                        ConnectionRequestInfo cxRequestInfo) throws ResourceException {
+    public ManagedConnection createManagedConnection(Subject subject, ConnectionRequestInfo connectionRequestInfo) throws ResourceException {
         logFine("In createManagedConnection");
-        PasswordCredential pc = SecurityUtils.getPasswordCredential(this, subject, cxRequestInfo);
+        PasswordCredential passwordCredential = getPasswordCredential(this, subject, connectionRequestInfo);
 
-        javax.sql.DataSource dataSource = getDataSource();
+        DataSource dataSource = getDataSource();
 
-        java.sql.Connection dsConn = null;
-        ManagedConnectionImpl mc = null;
+        Connection connection = null;
+        ManagedConnectionImpl managedConnectionImpl = null;
 
         try {
-            /* For the case where the user/passwd of the connection pool is
-            * equal to the PasswordCredential for the connection request
-            * get a connection from this pool directly.
-            * for all other conditions go create a new connection
-            */
 
-            if (isEqual(pc, getUser(), getPassword())) {
-                dsConn = dataSource.getConnection();
+            /*
+             * For the case where the user/passwd of the connection pool is equal to the
+             * PasswordCredential for the connection request get a connection from this pool
+             * directly. for all other conditions go create a new connection
+             */
+            if (isEqual(passwordCredential, getUser(), getPassword())) {
+                connection = dataSource.getConnection();
             } else {
-                dsConn = dataSource.getConnection(pc.getUserName(),
-                        new String(pc.getPassword()));
+                connection = dataSource.getConnection(passwordCredential.getUserName(), new String(passwordCredential.getPassword()));
             }
-        } catch (java.sql.SQLException sqle) {
-            //_logger.log(Level.WARNING, "jdbc.exc_create_conn", sqle.getMessage());
-            if(_logger.isLoggable(Level.FINE)) {
-                _logger.log(Level.FINE, "jdbc.exc_create_conn", sqle.getMessage());
-            }
-            StringManager localStrings =
-                    StringManager.getManager(DataSourceObjectBuilder.class);
-            String msg = localStrings.getString("jdbc.cannot_allocate_connection"
-                    , sqle.getMessage());
-            ResourceAllocationException rae = new ResourceAllocationException(msg);
-            rae.initCause(sqle);
-            throw rae;
+        } catch (SQLException sqle) {
+            _logger.log(FINE, "jdbc.exc_create_conn", sqle.getMessage());
+
+            throw new ResourceAllocationException(
+                StringManager.getManager(DataSourceObjectBuilder.class).getString("jdbc.cannot_allocate_connection", sqle.getMessage()),
+                sqle);
         }
 
         try {
-            mc = constructManagedConnection(null, dsConn, pc, this);
+            managedConnectionImpl = constructManagedConnection(null, connection, passwordCredential, this);
 
-            //GJCINT
-            validateAndSetIsolation(mc);
+            validateAndSetIsolation(managedConnectionImpl);
         } finally {
-            if (mc == null) {
-                if (dsConn != null) {
+            if (managedConnectionImpl == null) {
+                if (connection != null) {
                     try {
-                        dsConn.close();
+                        connection.close();
                     } catch (SQLException e) {
-                        _logger.log(Level.FINEST, "Exception while closing connection : " +
-                                "createManagedConnection" + dsConn);
+                        _logger.log(FINEST,
+                            "Exception while closing connection : " + "createManagedConnection" + connection);
                     }
                 }
             }
         }
-        return mc;
+
+        return managedConnectionImpl;
     }
 
     /**
@@ -133,38 +133,40 @@
      * @return DataSource of jdbc vendor
      * @throws ResourceException
      */
-    public javax.sql.DataSource getDataSource() throws ResourceException {
+    public DataSource getDataSource() throws ResourceException {
         if (dataSourceObj == null) {
             try {
-                dataSourceObj = (javax.sql.DataSource) super.getDataSource();
+                dataSourceObj = (DataSource) super.getDataSource();
             } catch (ClassCastException cce) {
-                _logger.log(Level.SEVERE, "jdbc.exc_cce", cce);
+                _logger.log(SEVERE, "jdbc.exc_cce", cce);
                 throw new ResourceException(cce.getMessage());
             }
         }
+
         return dataSourceObj;
     }
 
     /**
-     * Check if this <code>ManagedConnectionFactory</code> is equal to
-     * another <code>ManagedConnectionFactory</code>.
+     * Check if this <code>ManagedConnectionFactory</code> is equal to another
+     * <code>ManagedConnectionFactory</code>.
      *
-     * @param other <code>ManagedConnectionFactory</code> object for checking equality with
-     * @return true    if the property sets of both the
-     *         <code>ManagedConnectionFactory</code> objects are the same
-     *         false    otherwise
+     * @param other <code>ManagedConnectionFactory</code> object for checking
+     * equality with
+     * @return true if the property sets of both the
+     * <code>ManagedConnectionFactory</code> objects are the same false otherwise
      */
     public boolean equals(Object other) {
         logFine("In equals");
+
         /**
-         * The check below means that two ManagedConnectionFactory objects are equal
-         * if and only if their properties are the same.
+         * The check below means that two ManagedConnectionFactory objects are equal if
+         * and only if their properties are the same.
          */
-        if (other instanceof com.sun.gjc.spi.DSManagedConnectionFactory) {
-            com.sun.gjc.spi.DSManagedConnectionFactory otherMCF =
-                    (com.sun.gjc.spi.DSManagedConnectionFactory) other;
+        if (other instanceof DSManagedConnectionFactory) {
+            DSManagedConnectionFactory otherMCF = (DSManagedConnectionFactory) other;
             return this.spec.equals(otherMCF.spec);
         }
+
         return false;
     }
 
diff --git a/appserver/jdbc/jdbc-ra/jdbc-core/src/main/java/com/sun/gjc/spi/JdbcObjectsFactory.java b/appserver/jdbc/jdbc-ra/jdbc-core/src/main/java/com/sun/gjc/spi/JdbcObjectsFactory.java
index d3af802..d65144f 100644
--- a/appserver/jdbc/jdbc-ra/jdbc-core/src/main/java/com/sun/gjc/spi/JdbcObjectsFactory.java
+++ b/appserver/jdbc/jdbc-ra/jdbc-core/src/main/java/com/sun/gjc/spi/JdbcObjectsFactory.java
@@ -1,4 +1,5 @@
 /*
+ * Copyright (c) 2022 Contributors to the Eclipse Foundation.
  * Copyright (c) 1997, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
@@ -16,97 +17,90 @@
 
 package com.sun.gjc.spi;
 
-import com.sun.gjc.common.DataSourceObjectBuilder;
-import com.sun.gjc.spi.base.ConnectionHolder;
-import com.sun.gjc.util.SQLTraceDelegator;
-import com.sun.logging.LogDomains;
+import static java.util.logging.Level.SEVERE;
+import static java.util.logging.Level.WARNING;
 
 import java.io.Serializable;
 import java.lang.reflect.InvocationHandler;
 import java.lang.reflect.Method;
 import java.lang.reflect.Proxy;
 import java.sql.Connection;
-import java.util.logging.Level;
 import java.util.logging.Logger;
+
+import javax.sql.DataSource;
+
 import org.glassfish.api.jdbc.SQLTraceRecord;
 
+import com.sun.gjc.spi.base.ConnectionHolder;
+import com.sun.gjc.util.SQLTraceDelegator;
+import com.sun.logging.LogDomains;
+
+import jakarta.resource.spi.ConnectionManager;
+import jakarta.resource.spi.ConnectionRequestInfo;
 
 /**
  * Factory to create JDBC objects
  */
 public abstract class JdbcObjectsFactory implements Serializable {
 
-    protected final static Logger _logger;
-
-    static {
-        _logger = LogDomains.getLogger(JdbcObjectsFactory.class, LogDomains.RSR_LOGGER);
-    }
+    private static final long serialVersionUID = 1L;
+    protected final static Logger _logger = LogDomains.getLogger(JdbcObjectsFactory.class, LogDomains.RSR_LOGGER);
 
     /**
-     * Returns JDBC Objet Factory for JDBC 3.0 or JDBC 4.0 depending upon the jdbc version<br>
-     * available in JDK.<br>
+     * Returns JDBC Object Factory
      *
      * @return JdbcObjectsFactory
      */
     public static JdbcObjectsFactory getInstance() {
-        boolean jdbc40 = DataSourceObjectBuilder.isJDBC40();
-        JdbcObjectsFactory factory = null;
         try {
-            if (jdbc40) {
-                factory = (JdbcObjectsFactory) Class.forName("com.sun.gjc.spi.jdbc40.Jdbc40ObjectsFactory").newInstance();
-            } else {
-                factory = (JdbcObjectsFactory) Class.forName("com.sun.gjc.spi.jdbc30.Jdbc30ObjectsFactory").newInstance();
-            }
+            return(JdbcObjectsFactory)
+                Class.forName("com.sun.gjc.spi.jdbc40.Jdbc40ObjectsFactory")
+                     .getDeclaredConstructor()
+                     .newInstance();
         } catch (Exception e) {
-            _logger.log(Level.WARNING, "jdbc.jdbc_factory_class_load_exception", e);
+            _logger.log(WARNING, "jdbc.jdbc_factory_class_load_exception", e);
+            return null;
         }
-        return factory;
     }
 
     /**
      * Returns a DataSource instance.
      *
      * @param mcfObject Managed Connection Factory
-     * @param cmObject  Connection Manager
+     * @param cmObject Connection Manager
      * @return DataSource
      */
-    public abstract javax.sql.DataSource getDataSourceInstance(ManagedConnectionFactoryImpl mcfObject,
-                                                               jakarta.resource.spi.ConnectionManager cmObject);
+    public abstract DataSource getDataSourceInstance(ManagedConnectionFactoryImpl mcfObject, ConnectionManager cmObject);
 
     /**
      * To get an instance of ConnectionHolder.<br>
      * Will return a ConnectionHolder with or without wrapper<br>
      *
-     * @param conObject         Connection
-     * @param mcObject          ManagedConnection
-     * @param criObject         Connection Request Info
+     * @param conObject Connection
+     * @param mcObject ManagedConnection
+     * @param criObject Connection Request Info
      * @param statementWrapping Whether to wrap statement objects or not.
      * @return ConnectionHolder
      */
-    public abstract ConnectionHolder getConnection(Connection conObject,
-                                                   ManagedConnectionImpl mcObject,
-                                                   jakarta.resource.spi.ConnectionRequestInfo criObject,
-                                                   boolean statementWrapping,
-                                                   SQLTraceDelegator sqlTraceDelegator);
+    public abstract ConnectionHolder getConnection(Connection conObject, ManagedConnectionImpl mcObject,
+            ConnectionRequestInfo criObject, boolean statementWrapping,
+            SQLTraceDelegator sqlTraceDelegator);
 
-    protected Connection getProxiedConnection(final Object conObject, Class[] connIntf,
-            final SQLTraceDelegator sqlTraceDelegator) {
+    protected Connection getProxiedConnection(final Object conObject, Class[] connIntf, final SQLTraceDelegator sqlTraceDelegator) {
         Connection proxiedConn = null;
         try {
-
             proxiedConn = (Connection) getProxyObject(conObject, connIntf, sqlTraceDelegator);
         } catch (Exception ex) {
-            _logger.log(Level.SEVERE, "jdbc.jdbc_proxied_connection_get_exception", ex.getMessage());
+            _logger.log(SEVERE, "jdbc.jdbc_proxied_connection_get_exception", ex.getMessage());
         }
+
         return proxiedConn;
     }
 
-    protected <T> T getProxyObject(final Object actualObject, Class<T>[] ifaces,
-            final SQLTraceDelegator sqlTraceDelegator) throws Exception {
+    protected <T> T getProxyObject(final Object actualObject, Class<T>[] ifaces, final SQLTraceDelegator sqlTraceDelegator) throws Exception {
+        InvocationHandler invocationHandler = new InvocationHandler() {
 
-        T result;
-        InvocationHandler ih = new InvocationHandler() {
-
+            @Override
             public Object invoke(Object proxy, Method method, Object[] args) throws Throwable {
                 SQLTraceRecord record = new SQLTraceRecord();
                 record.setMethodName(method.getName());
@@ -116,11 +110,12 @@
                 record.setThreadID(Thread.currentThread().getId());
                 record.setTimeStamp(System.currentTimeMillis());
                 sqlTraceDelegator.sqlTrace(record);
+
                 return method.invoke(actualObject, args);
             }
         };
-        result = (T) Proxy.newProxyInstance(actualObject.getClass().getClassLoader(), ifaces, ih);
-        return result;
+
+        return (T) Proxy.newProxyInstance(actualObject.getClass().getClassLoader(), ifaces, invocationHandler);
     }
 
 }
diff --git a/appserver/jdbc/jdbc-ra/jdbc-core/src/main/java/com/sun/gjc/spi/LocalTransactionImpl.java b/appserver/jdbc/jdbc-ra/jdbc-core/src/main/java/com/sun/gjc/spi/LocalTransactionImpl.java
index 7a8f77b..f3501eb 100644
--- a/appserver/jdbc/jdbc-ra/jdbc-core/src/main/java/com/sun/gjc/spi/LocalTransactionImpl.java
+++ b/appserver/jdbc/jdbc-ra/jdbc-core/src/main/java/com/sun/gjc/spi/LocalTransactionImpl.java
@@ -16,13 +16,15 @@
 
 package com.sun.gjc.spi;
 
+import static java.util.logging.Level.FINEST;
+
+import java.sql.SQLException;
+import java.util.logging.Logger;
 
 import com.sun.logging.LogDomains;
 
 import jakarta.resource.ResourceException;
 import jakarta.resource.spi.LocalTransactionException;
-import java.util.logging.Level;
-import java.util.logging.Logger;
 
 /**
  * <code>LocalTransactionImpl</code> implementation for Generic JDBC Connector.
@@ -32,40 +34,37 @@
  */
 public class LocalTransactionImpl implements jakarta.resource.spi.LocalTransaction {
 
-    private ManagedConnectionImpl mc;
-    protected final static Logger _logger;
+    protected final static Logger _logger = LogDomains.getLogger(LocalTransactionImpl.class, LogDomains.RSR_LOGGER);
 
-    static {
-        _logger = LogDomains.getLogger(LocalTransactionImpl.class, LogDomains.RSR_LOGGER);
-    }
+    private ManagedConnectionImpl managedConnectionImpl;
 
     /**
      * Constructor for <code>LocalTransactionImpl</code>.
      *
-     * @param mc <code>ManagedConnection</code> that returns
-     *           this <code>LocalTransactionImpl</code> object as
-     *           a result of <code>getLocalTransaction</code>
+     * @param managedConnectionImpl <code>ManagedConnection</code> that returns this
+     * <code>LocalTransactionImpl</code> object as a result of
+     * <code>getLocalTransaction</code>
      */
-    public LocalTransactionImpl(ManagedConnectionImpl mc) {
-        this.mc = mc;
+    public LocalTransactionImpl(ManagedConnectionImpl managedConnectionImpl) {
+        this.managedConnectionImpl = managedConnectionImpl;
     }
 
     /**
      * Begin a local transaction.
      *
-     * @throws LocalTransactionException if there is an error in changing
-     *                                   the autocommit mode of the physical
-     *                                   connection
+     * @throws LocalTransactionException if there is an error in changing the
+     * autocommit mode of the physical connection
      */
     public void begin() throws ResourceException {
-        //GJCINT
-        mc.transactionStarted();
+        managedConnectionImpl.transactionStarted();
+
         try {
-            mc.getActualConnection().setAutoCommit(false);
-        } catch (java.sql.SQLException sqle) {
-            if(_logger.isLoggable(Level.FINEST)){
+            managedConnectionImpl.getActualConnection().setAutoCommit(false);
+        } catch (SQLException sqle) {
+            if (_logger.isLoggable(FINEST)) {
                 _logger.finest("Exception during begin() : " + sqle);
             }
+
             throw new LocalTransactionException(sqle.getMessage(), sqle);
         }
     }
@@ -73,44 +72,42 @@
     /**
      * Commit a local transaction.
      *
-     * @throws LocalTransactionException if there is an error in changing
-     *                                   the autocommit mode of the physical
-     *                                   connection or committing the transaction
+     * @throws LocalTransactionException if there is an error in changing the
+     * autocommit mode of the physical connection or committing the transaction
      */
     public void commit() throws ResourceException {
         try {
-            mc.getActualConnection().commit();
-            mc.getActualConnection().setAutoCommit(true);
-        } catch (java.sql.SQLException sqle) {
-            if(_logger.isLoggable(Level.FINEST)){
+            managedConnectionImpl.getActualConnection().commit();
+            managedConnectionImpl.getActualConnection().setAutoCommit(true);
+        } catch (SQLException sqle) {
+            if (_logger.isLoggable(FINEST)) {
                 _logger.finest("Exception during commit() : " + sqle);
             }
+
             throw new LocalTransactionException(sqle.getMessage(), sqle);
         } finally {
-            //GJCINT
-            mc.transactionCompleted();
+            managedConnectionImpl.transactionCompleted();
         }
     }
 
     /**
      * Rollback a local transaction.
      *
-     * @throws LocalTransactionException if there is an error in changing
-     *                                   the autocommit mode of the physical
-     *                                   connection or rolling back the transaction
+     * @throws LocalTransactionException if there is an error in changing the
+     * autocommit mode of the physical connection or rolling back the transaction
      */
     public void rollback() throws ResourceException {
         try {
-            mc.getActualConnection().rollback();
-            mc.getActualConnection().setAutoCommit(true);
-        } catch (java.sql.SQLException sqle) {
-            if(_logger.isLoggable(Level.FINEST)){
+            managedConnectionImpl.getActualConnection().rollback();
+            managedConnectionImpl.getActualConnection().setAutoCommit(true);
+        } catch (SQLException sqle) {
+            if (_logger.isLoggable(FINEST)) {
                 _logger.finest("Exception during rollback() : " + sqle);
             }
+
             throw new LocalTransactionException(sqle.getMessage(), sqle);
         } finally {
-            //GJCINT
-            mc.transactionCompleted();
+            managedConnectionImpl.transactionCompleted();
         }
     }
 
diff --git a/appserver/jdbc/jdbc-ra/jdbc-core/src/main/java/com/sun/gjc/spi/ManagedConnectionFactoryImpl.java b/appserver/jdbc/jdbc-ra/jdbc-core/src/main/java/com/sun/gjc/spi/ManagedConnectionFactoryImpl.java
index 59f307b..9a61c45 100644
--- a/appserver/jdbc/jdbc-ra/jdbc-core/src/main/java/com/sun/gjc/spi/ManagedConnectionFactoryImpl.java
+++ b/appserver/jdbc/jdbc-ra/jdbc-core/src/main/java/com/sun/gjc/spi/ManagedConnectionFactoryImpl.java
@@ -1,6 +1,6 @@
 /*
+ * Copyright (c) 2021, 2022 Contributors to the Eclipse Foundation.
  * Copyright (c) 1997, 2020 Oracle and/or its affiliates. All rights reserved.
- * Copyright (c) 2021 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
@@ -17,161 +17,200 @@
 
 package com.sun.gjc.spi;
 
-import com.sun.appserv.connectors.internal.spi.MCFLifecycleListener;
-import com.sun.enterprise.util.i18n.StringManager;
-import com.sun.gjc.common.DataSourceObjectBuilder;
-import com.sun.gjc.common.DataSourceSpec;
-import com.sun.gjc.monitoring.JdbcStatsProvider;
-import com.sun.gjc.util.SQLTraceDelegator;
-import com.sun.gjc.util.SecurityUtils;
-import com.sun.logging.LogDomains;
+import static com.sun.gjc.common.DataSourceSpec.CONNECTIONVALIDATIONREQUIRED;
+import static com.sun.gjc.common.DataSourceSpec.GUARANTEEISOLATIONLEVEL;
+import static com.sun.gjc.common.DataSourceSpec.TRANSACTIONISOLATION;
+import static com.sun.gjc.common.DataSourceSpec.VALIDATIONCLASSNAME;
+import static com.sun.gjc.common.DataSourceSpec.VALIDATIONMETHOD;
+import static com.sun.gjc.util.SecurityUtils.getPasswordCredential;
+import static com.sun.gjc.util.SecurityUtils.isPasswordCredentialEqual;
+import static java.util.logging.Level.FINE;
+import static java.util.logging.Level.INFO;
+import static java.util.logging.Level.SEVERE;
+
+import java.io.Externalizable;
+import java.io.IOException;
+import java.io.ObjectInput;
+import java.io.ObjectOutput;
+import java.io.PrintWriter;
+import java.io.Serializable;
+import java.lang.reflect.Constructor;
+import java.lang.reflect.InvocationTargetException;
+import java.sql.Connection;
+import java.sql.PreparedStatement;
+import java.sql.ResultSet;
+import java.sql.SQLException;
+import java.util.Arrays;
+import java.util.HashSet;
+import java.util.Iterator;
+import java.util.Locale;
+import java.util.NoSuchElementException;
+import java.util.Set;
+import java.util.StringTokenizer;
+import java.util.Timer;
+import java.util.logging.Level;
+import java.util.logging.Logger;
+
+import javax.security.auth.Subject;
+import javax.sql.DataSource;
+import javax.sql.PooledConnection;
+
 import org.glassfish.api.jdbc.ConnectionValidation;
 import org.glassfish.api.jdbc.SQLTraceListener;
 import org.glassfish.external.probe.provider.PluginPoint;
 import org.glassfish.external.probe.provider.StatsProviderManager;
 import org.glassfish.resourcebase.resources.api.PoolInfo;
 
+import com.sun.appserv.connectors.internal.spi.MCFLifecycleListener;
+import com.sun.enterprise.util.i18n.StringManager;
+import com.sun.gjc.common.DataSourceObjectBuilder;
+import com.sun.gjc.common.DataSourceSpec;
+import com.sun.gjc.monitoring.JdbcStatsProvider;
+import com.sun.gjc.util.SQLTraceDelegator;
+import com.sun.logging.LogDomains;
+
 import jakarta.resource.ResourceException;
 import jakarta.resource.spi.ConfigProperty;
+import jakarta.resource.spi.ConnectionManager;
 import jakarta.resource.spi.ConnectionRequestInfo;
+import jakarta.resource.spi.LazyEnlistableConnectionManager;
+import jakarta.resource.spi.ManagedConnection;
+import jakarta.resource.spi.ManagedConnectionFactory;
+import jakarta.resource.spi.ResourceAdapter;
 import jakarta.resource.spi.ResourceAdapterAssociation;
 import jakarta.resource.spi.ResourceAllocationException;
+import jakarta.resource.spi.ValidatingManagedConnectionFactory;
 import jakarta.resource.spi.security.PasswordCredential;
-import javax.sql.PooledConnection;
-import java.io.Externalizable;
-import java.io.IOException;
-import java.io.ObjectInput;
-import java.io.ObjectOutput;
-import java.lang.reflect.Constructor;
-import java.lang.reflect.InvocationTargetException;
-import java.sql.Connection;
-import java.util.*;
-import java.util.logging.Level;
-import java.util.logging.Logger;
 
 /**
- * <code>ManagedConnectionFactory</code> implementation for Generic JDBC Connector.
- * This class is extended by the DataSource specific <code>ManagedConnection</code> factories
- * and the <code>ManagedConnectionFactory</code> for the <code>DriverManager</code>.
+ * <code>ManagedConnectionFactory</code> implementation for Generic JDBC
+ * Connector. This class is extended by the DataSource specific
+ * <code>ManagedConnection</code> factories and the
+ * <code>ManagedConnectionFactory</code> for the <code>DriverManager</code>.
  *
  * @author Evani Sai Surya Kiran, Aditya Gore
  * @version 1.0, 02/08/03
  */
 
-public abstract class ManagedConnectionFactoryImpl implements jakarta.resource.spi.ManagedConnectionFactory,
-        jakarta.resource.spi.ValidatingManagedConnectionFactory,
-        MCFLifecycleListener, ResourceAdapterAssociation,
-        java.io.Serializable, Externalizable {
+public abstract class ManagedConnectionFactoryImpl
+        implements ManagedConnectionFactory, ValidatingManagedConnectionFactory, MCFLifecycleListener,
+        ResourceAdapterAssociation, Serializable, Externalizable {
+
+    private static Logger _logger = LogDomains.getLogger(ManagedConnectionFactoryImpl.class, LogDomains.RSR_LOGGER);
+    protected static final StringManager localStrings = StringManager.getManager(DataSourceObjectBuilder.class);
 
     protected DataSourceSpec spec = new DataSourceSpec();
-    protected transient DataSourceObjectBuilder dsObjBuilder;
-
-    protected java.io.PrintWriter logWriter = null;
-    protected transient jakarta.resource.spi.ResourceAdapter ra = null;
-
-    private static Logger _logger;
+    protected transient DataSourceObjectBuilder dataSourceObjectBuilder;
+    protected PrintWriter logWriter;
+    protected transient ResourceAdapter resourceAdapter;
     protected boolean statementWrapping;
+    protected SQLTraceDelegator sqlTraceDelegator;
+    protected LazyEnlistableConnectionManager connectionManager;
+    protected boolean isLazyConnectionManager;
 
     private JdbcObjectsFactory jdbcObjectsFactory = JdbcObjectsFactory.getInstance();
-    protected SQLTraceDelegator sqlTraceDelegator;
+    private int statementCacheSize;
+    private String statementCacheType;
+    private long statementLeakTimeout;
+    private boolean statementLeakReclaim;
 
-    static {
-        _logger = LogDomains.getLogger(ManagedConnectionFactoryImpl.class, LogDomains.RSR_LOGGER);
-    }
-
-    protected jakarta.resource.spi.LazyEnlistableConnectionManager cm_;
-    protected boolean isLazyCm_;
-    private int statementCacheSize = 0;
-    private String statementCacheType = null;
-    private long statementLeakTimeout = 0;
-    private boolean statementLeakReclaim = false;
-
-    //Jdbc Stats provider that is created
-    private JdbcStatsProvider jdbcStatsProvider = null;
-
-    protected static final StringManager localStrings =
-            StringManager.getManager(DataSourceObjectBuilder.class);
+    // Jdbc Stats provider that is created
+    private JdbcStatsProvider jdbcStatsProvider;
 
     /**
-     * Creates a Connection Factory instance. The <code>ConnectionManager</code> implementation
-     * of the resource adapter is used here.
+     * Creates a Connection Factory instance. The <code>ConnectionManager</code>
+     * implementation of the resource adapter is used here.
      *
-     * @return Generic JDBC Connector implementation of <code>javax.sql.DataSource</code>
+     * @return Generic JDBC Connector implementation of
+     * <code>javax.sql.DataSource</code>
      */
+    @Override
     public Object createConnectionFactory() {
         logFine("In createConnectionFactory()");
         return jdbcObjectsFactory.getDataSourceInstance(this, null);
     }
 
     /**
-     * Creates a Connection Factory instance. The <code>ConnectionManager</code> implementation
-     * of the application server is used here.
+     * Creates a Connection Factory instance. The <code>ConnectionManager</code>
+     * implementation of the application server is used here.
      *
-     * @param cxManager <code>ConnectionManager</code> passed by the application server
-     * @return Generic JDBC Connector implementation of <code>javax.sql.DataSource</code>
+     * @param connectionManager <code>ConnectionManager</code> passed by the application
+     * server
+     * @return Generic JDBC Connector implementation of
+     * <code>javax.sql.DataSource</code>
      */
-    public Object createConnectionFactory(jakarta.resource.spi.ConnectionManager cxManager) {
+    @Override
+    public Object createConnectionFactory(ConnectionManager connectionManager) {
         logFine("In createConnectionFactory(jakarta.resource.spi.ConnectionManager cxManager)");
 
-        javax.sql.DataSource cf = jdbcObjectsFactory.getDataSourceInstance(this, cxManager);
+        DataSource connectionFactory = jdbcObjectsFactory.getDataSourceInstance(this, connectionManager);
 
-        if (cxManager instanceof jakarta.resource.spi.LazyEnlistableConnectionManager) {
-            cm_ = (jakarta.resource.spi.LazyEnlistableConnectionManager) cxManager;
-            isLazyCm_ = true;
+        if (connectionManager instanceof LazyEnlistableConnectionManager) {
+            this.connectionManager = (LazyEnlistableConnectionManager) connectionManager;
+            isLazyConnectionManager = true;
         }
-        return cf;
+
+        return connectionFactory;
     }
 
     /**
-     * Creates a new physical connection to the underlying EIS resource
-     * manager.
+     * Creates a new physical connection to the underlying EIS resource manager.
      *
-     * @param subject       <code>Subject</code> instance passed by the application server
+     * @param subject <code>Subject</code> instance passed by the application server
      * @param cxRequestInfo <code>ConnectionRequestInfo</code> which may be created
-     *                      as a result of the invocation <code>getConnection(user, password)</code>
-     *                      on the <code>DataSource</code> object
+     * as a result of the invocation <code>getConnection(user, password)</code> on
+     * the <code>DataSource</code> object
+     *
      * @return <code>ManagedConnection</code> object created
      * @throws ResourceException if there is an error in instantiating the
-     *                           <code>DataSource</code> object used for the
-     *                           creation of the <code>ManagedConnection</code> object
+     * <code>DataSource</code> object used for the creation of the
+     * <code>ManagedConnection</code> object
      * @throws SecurityException if there ino <code>PasswordCredential</code> object
-     *                           satisfying this request
-     * @throws ResourceException if there is an error in allocating the
-     *                           physical connection
+     * satisfying this request
+     * @throws ResourceException if there is an error in allocating the physical
+     * connection
      */
-    public abstract jakarta.resource.spi.ManagedConnection createManagedConnection
-            (javax.security.auth.Subject subject, ConnectionRequestInfo cxRequestInfo) throws ResourceException;
+    @Override
+    public abstract ManagedConnection createManagedConnection(Subject subject, ConnectionRequestInfo cxRequestInfo) throws ResourceException;
 
     /**
-     * Check if this <code>ManagedConnectionFactoryImpl</code> is equal to
-     * another <code>ManagedConnectionFactoryImpl</code>.
+     * Check if this <code>ManagedConnectionFactoryImpl</code> is equal to another
+     * <code>ManagedConnectionFactoryImpl</code>.
      *
-     * @param other <code>ManagedConnectionFactoryImpl</code> object for checking equality with
-     * @return true    if the property sets of both the
-     *         <code>ManagedConnectionFactoryImpl</code> objects are the same
-     *         false    otherwise
+     * @param other <code>ManagedConnectionFactoryImpl</code> object for checking
+     * equality with
+     * @return true if the property sets of both the
+     * <code>ManagedConnectionFactoryImpl</code> objects are the same false
+     * otherwise
      */
+    @Override
     public abstract boolean equals(Object other);
 
     /**
-     * Get the log writer for this <code>ManagedConnectionFactoryImpl</code> instance.
+     * Get the log writer for this <code>ManagedConnectionFactoryImpl</code>
+     * instance.
      *
-     * @return <code>PrintWriter</code> associated with this <code>ManagedConnectionFactoryImpl</code> instance
+     * @return <code>PrintWriter</code> associated with this
+     * <code>ManagedConnectionFactoryImpl</code> instance
      * @see <code>setLogWriter</code>
      */
+    @Override
     public java.io.PrintWriter getLogWriter() {
         return logWriter;
     }
 
     /**
-     * Get the <code>ResourceAdapterImpl</code> for this <code>ManagedConnectionFactoryImpl</code> instance.
+     * Get the <code>ResourceAdapterImpl</code> for this
+     * <code>ManagedConnectionFactoryImpl</code> instance.
      *
-     * @return <code>ResourceAdapterImpl</code> associated with this <code>ManagedConnectionFactoryImpl</code> instance
+     * @return <code>ResourceAdapterImpl</code> associated with this
+     * <code>ManagedConnectionFactoryImpl</code> instance
      * @see <code>setResourceAdapter</code>
      */
+    @Override
     public jakarta.resource.spi.ResourceAdapter getResourceAdapter() {
         logFine("In getResourceAdapter");
-        return ra;
+        return resourceAdapter;
     }
 
     /**
@@ -179,172 +218,174 @@
      *
      * @return hash code for this <code>ManagedConnectionFactoryImpl</code>
      */
+    @Override
     public int hashCode() {
         logFine("In hashCode");
         return spec.hashCode();
     }
 
     /**
-     * Returns a matched <code>ManagedConnection</code> from the candidate
-     * set of <code>ManagedConnection</code> objects.
+     * Returns a matched <code>ManagedConnection</code> from the candidate set of
+     * <code>ManagedConnection</code> objects.
      *
-     * @param connectionSet <code>Set</code> of  <code>ManagedConnection</code>
-     *                      objects passed by the application server
-     * @param subject       passed by the application server
-     *                      for retrieving information required for matching
-     * @param cxRequestInfo <code>ConnectionRequestInfo</code> passed by the application server
-     *                      for retrieving information required for matching
-     * @return <code>ManagedConnection</code> that is the best match satisfying this request
-     * @throws ResourceException if there is an error accessing the <code>Subject</code>
-     *                           parameter or the <code>Set</code> of <code>ManagedConnection</code>
-     *                           objects passed by the application server
+     * @param connectionSet <code>Set</code> of <code>ManagedConnection</code>
+     * objects passed by the application server
+     * @param subject passed by the application server for retrieving information
+     * required for matching
+     * @param cxRequestInfo <code>ConnectionRequestInfo</code> passed by the
+     * application server for retrieving information required for matching
+     * @return <code>ManagedConnection</code> that is the best match satisfying this
+     * request
+     * @throws ResourceException if there is an error accessing the
+     * <code>Subject</code> parameter or the <code>Set</code> of
+     * <code>ManagedConnection</code> objects passed by the application server
      */
-    public jakarta.resource.spi.ManagedConnection matchManagedConnections(
-            java.util.Set connectionSet, javax.security.auth.Subject subject, ConnectionRequestInfo cxRequestInfo)
-            throws ResourceException {
+    @Override
+    public ManagedConnection matchManagedConnections(Set connectionSet, Subject subject, ConnectionRequestInfo cxRequestInfo) throws ResourceException {
         logFine("In matchManagedConnections");
 
         if (connectionSet == null) {
             return null;
         }
 
+        PasswordCredential passwordCredential = getPasswordCredential(this, subject, cxRequestInfo);
 
-        PasswordCredential pc = SecurityUtils.getPasswordCredential(this, subject, cxRequestInfo);
-
-        java.util.Iterator iter = connectionSet.iterator();
-        ManagedConnectionImpl mc = null;
+        Iterator<ManagedConnectionImpl> iter = connectionSet.iterator();
+        ManagedConnectionImpl managedConnectionImpl = null;
 
         while (iter.hasNext()) {
             try {
-                mc = (ManagedConnectionImpl) iter.next();
-            } catch (java.util.NoSuchElementException nsee) {
-                _logger.log(Level.SEVERE, "jdbc.exc_iter");
+                managedConnectionImpl = iter.next();
+            } catch (NoSuchElementException nsee) {
+                _logger.log(SEVERE, "jdbc.exc_iter");
                 throw new ResourceException(nsee.getMessage());
             }
-            if (pc == null && this.equals(mc.getManagedConnectionFactory())) {
-                return mc;
-            } else if (SecurityUtils.isPasswordCredentialEqual(pc, mc.getPasswordCredential())) {
-                return mc;
+            if (passwordCredential == null && this.equals(managedConnectionImpl.getManagedConnectionFactory())) {
+                return managedConnectionImpl;
+            }
+
+            if (isPasswordCredentialEqual(passwordCredential, managedConnectionImpl.getPasswordCredential())) {
+                return managedConnectionImpl;
             }
         }
+
         return null;
     }
 
     /**
-     * This method returns a set of invalid <code>ManagedConnection</code>
-     * objects chosen from a specified set of <code>ManagedConnection</code>
-     * objects.
+     * This method returns a set of invalid <code>ManagedConnection</code> objects
+     * chosen from a specified set of <code>ManagedConnection</code> objects.
      *
-     * @param connectionSet a set of <code>ManagedConnection</code> objects
-     *                      that need to be validated.
+     * @param connectionSet a set of <code>ManagedConnection</code> objects that
+     * need to be validated.
      * @return a set of invalid <code>ManagedConnection</code> objects.
      * @throws ResourceException generic exception.
      */
+    @Override
     public Set getInvalidConnections(Set connectionSet) throws ResourceException {
         Iterator iter = connectionSet.iterator();
         Set<ManagedConnectionImpl> invalidConnections = new HashSet<ManagedConnectionImpl>();
         while (iter.hasNext()) {
-            ManagedConnectionImpl mc = (ManagedConnectionImpl) iter.next();
+            ManagedConnectionImpl managedConnectionImpl = (ManagedConnectionImpl) iter.next();
             try {
-                isValid(mc);
+                isValid(managedConnectionImpl);
             } catch (ResourceException re) {
-                invalidConnections.add(mc);
-                mc.connectionErrorOccurred(re, null);
-                if (_logger.isLoggable(Level.FINE)) {
-                    _logger.log(Level.FINE, "jdbc.invalid_connection", re);
-                }
+                invalidConnections.add(managedConnectionImpl);
+                managedConnectionImpl.connectionErrorOccurred(re, null);
+                _logger.log(FINE, "jdbc.invalid_connection", re);
             }
         }
+
         return invalidConnections;
     }
 
-    //GJCINT
-
     /**
-     * Checks if a <code>ManagedConnection</code> is to be validated or not
-     * and validates it or returns.
+     * Checks if a <code>ManagedConnection</code> is to be validated or not and
+     * validates it or returns.
      *
-     * @param mc <code>ManagedConnection</code> to be validated
-     * @throws ResourceException if the connection is not valid or
-     *                           if validation method is not proper
+     * @param managedConnectionImpl <code>ManagedConnection</code> to be validated
+     * @throws ResourceException if the connection is not valid or if validation
+     * method is not proper
      */
-    void isValid(ManagedConnectionImpl mc) throws ResourceException {
-
-        if (mc == null || mc.isTransactionInProgress()) {
+    void isValid(ManagedConnectionImpl managedConnectionImpl) throws ResourceException {
+        if (managedConnectionImpl == null || managedConnectionImpl.isTransactionInProgress()) {
             return;
         }
 
-        String conVal = spec.getDetail(DataSourceSpec.CONNECTIONVALIDATIONREQUIRED);
+        String conVal = spec.getDetail(CONNECTIONVALIDATIONREQUIRED);
 
-        boolean connectionValidationRequired =
-                (conVal == null) ? false : Boolean.valueOf(conVal.toLowerCase(Locale.getDefault()));
+        boolean connectionValidationRequired = (conVal == null) ?
+                false :
+                Boolean.valueOf(conVal.toLowerCase(Locale.getDefault()));
         if (!connectionValidationRequired) {
             return;
         }
 
+        String validationMethod = spec.getDetail(VALIDATIONMETHOD).toLowerCase(Locale.getDefault());
 
-        String validationMethod = spec.getDetail(DataSourceSpec.VALIDATIONMETHOD).toLowerCase(Locale.getDefault());
+        managedConnectionImpl.checkIfValid();
 
-        mc.checkIfValid();
         /**
-         * The above call checks if the actual physical connection
-         * is usable or not.
+         * The above call checks if the actual physical connection is usable or not.
          */
-        java.sql.Connection con = mc.getActualConnection();
+        Connection connection = managedConnectionImpl.getActualConnection();
 
-        if(validationMethod.equals("custom-validation")) {
-            isValidByCustomValidation(con, spec.getDetail(DataSourceSpec.VALIDATIONCLASSNAME));
+        if (validationMethod.equals("custom-validation")) {
+            isValidByCustomValidation(connection, spec.getDetail(VALIDATIONCLASSNAME));
         } else if (validationMethod.equals("auto-commit")) {
-            isValidByAutoCommit(con);
+            isValidByAutoCommit(connection);
         } else if (validationMethod.equals("meta-data")) {
-            isValidByMetaData(con);
+            isValidByMetaData(connection);
         } else if (validationMethod.equals("table")) {
-            isValidByTableQuery(con, spec.getDetail(DataSourceSpec.VALIDATIONTABLENAME));
+            isValidByTableQuery(connection, spec.getDetail(DataSourceSpec.VALIDATIONTABLENAME));
         } else {
             throw new ResourceException("The validation method is not proper");
         }
     }
 
     /**
-     * Checks if a <code>java.sql.Connection</code> is valid or not
-     * by doing a custom validation using the validation class name specified.
+     * Checks if a <code>java.sql.Connection</code> is valid or not by doing a
+     * custom validation using the validation class name specified.
      *
-     * @param con <code>java.sql.Connection</code> to be validated
+     * @param connection <code>java.sql.Connection</code> to be validated
      * @throws ResourceException if the connection is not valid
      */
-    protected void isValidByCustomValidation(java.sql.Connection con,
-            String validationClassName) throws ResourceException {
+    protected void isValidByCustomValidation(Connection connection, String validationClassName) throws ResourceException {
         boolean isValid = false;
-        if (con == null) {
-            throw new ResourceException("The connection is not valid as "
-                    + "the connection is null");
+        if (connection == null) {
+            throw new ResourceException("The connection is not valid as " + "the connection is null");
         }
 
         try {
-            Class validationClass = Thread.currentThread().getContextClassLoader().loadClass(validationClassName);
-            ConnectionValidation valClass = (ConnectionValidation) validationClass.newInstance();
-            isValid = valClass.isConnectionValid(con);
+            ConnectionValidation connectionValidation = (ConnectionValidation)
+                Thread.currentThread()
+                      .getContextClassLoader()
+                      .loadClass(validationClassName)
+                      .getDeclaredConstructor()
+                      .newInstance();
+
+            isValid = connectionValidation.isConnectionValid(connection);
         } catch (Exception e) {
-            _logger.log(Level.INFO, "jdbc.exc_custom_validation", validationClassName);
+            _logger.log(INFO, "jdbc.exc_custom_validation", validationClassName);
             throw new ResourceException(e);
         }
+
         if (!isValid) {
-            _logger.log(Level.INFO, "jdbc.exc_custom_validation", validationClassName);
+            _logger.log(INFO, "jdbc.exc_custom_validation", validationClassName);
             throw new ResourceException("Custom validation detected invalid connection");
         }
     }
 
     /**
-     * Checks if a <code>java.sql.Connection</code> is valid or not
-     * by checking its auto commit property.
+     * Checks if a <code>java.sql.Connection</code> is valid or not by checking its
+     * auto commit property.
      *
-     * @param con <code>java.sql.Connection</code> to be validated
+     * @param connection <code>java.sql.Connection</code> to be validated
      * @throws ResourceException if the connection is not valid
      */
-    protected void isValidByAutoCommit(java.sql.Connection con) throws ResourceException {
-        if (con == null) {
-            throw new ResourceException("The connection is not valid as "
-                    + "the connection is null");
+    protected void isValidByAutoCommit(Connection connection) throws ResourceException {
+        if (connection == null) {
+            throw new ResourceException("The connection is not valid as " + "the connection is null");
         }
 
         try {
@@ -352,84 +393,80 @@
             // dbCon.setAutoCommit(dbCon.getAutoCommit()) will cause problems with
             // some drivers like sybase
             // We do not validate connections that are already enlisted
-            //in a transaction
+            // in a transaction
             // We cycle autocommit to true and false to by-pass drivers that
             // might cache the call to set autocomitt
             // Also notice that some XA data sources will throw and exception if
             // you try to call setAutoCommit, for them this method is not recommended
 
-            boolean ac = con.getAutoCommit();
-            if (ac) {
-                con.setAutoCommit(false);
+            boolean autoCommit = connection.getAutoCommit();
+            if (autoCommit) {
+                connection.setAutoCommit(false);
             } else {
-                con.rollback(); // prevents uncompleted transaction exceptions
-                con.setAutoCommit(true);
+                connection.rollback(); // prevents uncompleted transaction exceptions
+                connection.setAutoCommit(true);
             }
 
-            con.setAutoCommit(ac);
+            connection.setAutoCommit(autoCommit);
 
         } catch (Exception sqle) {
-            _logger.log(Level.INFO, "jdbc.exc_autocommit_validation");
+            _logger.log(INFO, "jdbc.exc_autocommit_validation");
             throw new ResourceException(sqle);
         }
     }
 
     /**
-     * Checks if a <code>java.sql.Connection</code> is valid or not
-     * by checking its meta data.
+     * Checks if a <code>java.sql.Connection</code> is valid or not by checking its
+     * meta data.
      *
-     * @param con <code>java.sql.Connection</code> to be validated
+     * @param connection <code>java.sql.Connection</code> to be validated
      * @throws ResourceException if the connection is not valid
      */
-    protected void isValidByMetaData(java.sql.Connection con) throws ResourceException {
-        if (con == null) {
-            throw new ResourceException("The connection is not valid as "
-                    + "the connection is null");
+    protected void isValidByMetaData(Connection connection) throws ResourceException {
+        if (connection == null) {
+            throw new ResourceException("The connection is not valid as " + "the connection is null");
         }
 
         try {
-            con.getMetaData();
+            connection.getMetaData();
         } catch (Exception sqle) {
-            _logger.log(Level.INFO, "jdbc.exc_metadata_validation");
+            _logger.log(INFO, "jdbc.exc_metadata_validation");
             throw new ResourceException(sqle);
         }
     }
 
     /**
-     * Checks if a <code>java.sql.Connection</code> is valid or not
-     * by querying a table.
+     * Checks if a <code>java.sql.Connection</code> is valid or not by querying a
+     * table.
      *
-     * @param con       <code>java.sql.Connection</code> to be validated
+     * @param connection <code>java.sql.Connection</code> to be validated
      * @param tableName table which should be queried
      * @throws ResourceException if the connection is not valid
      */
-    protected void isValidByTableQuery(java.sql.Connection con,
-                                       String tableName) throws ResourceException {
-        if (con == null) {
-            throw new ResourceException("The connection is not valid as "
-                    + "the connection is null");
+    protected void isValidByTableQuery(Connection connection, String tableName) throws ResourceException {
+        if (connection == null) {
+            throw new ResourceException("The connection is not valid as " + "the connection is null");
         }
 
-        java.sql.PreparedStatement stmt = null;
-        java.sql.ResultSet rs = null;
+        PreparedStatement preparedStatement = null;
+        ResultSet resultSet = null;
         try {
-            final String statement = "SELECT COUNT(*) FROM " + tableName;
-            stmt = con.prepareStatement(statement);
-            rs = stmt.executeQuery();
+            preparedStatement = connection.prepareStatement("SELECT COUNT(*) FROM " + tableName);
+            resultSet = preparedStatement.executeQuery();
         } catch (Exception sqle) {
-            _logger.log(Level.INFO, "jdbc.exc_table_validation", tableName);
+            _logger.log(INFO, "jdbc.exc_table_validation", tableName);
             throw new ResourceException(sqle);
         } finally {
             try {
-                if (rs != null) {
-                    rs.close();
+                if (resultSet != null) {
+                    resultSet.close();
                 }
             } catch (Exception e1) {
             }
 
             try {
-                if (stmt != null) {
-                    stmt.close();
+                if (preparedStatement != null) {
+                    preparedStatement.close();
                 }
             } catch (Exception e2) {
             }
@@ -440,78 +477,73 @@
      * Sets the isolation level specified in the <code>ConnectionRequestInfo</code>
      * for the <code>ManagedConnection</code> passed.
      *
-     * @param mc <code>ManagedConnection</code>
-     * @throws ResourceException if the isolation property is invalid
-     *                           or if the isolation cannot be set over the connection
+     * @param managedConnectionImpl <code>ManagedConnection</code>
+     * @throws ResourceException if the isolation property is invalid or if the
+     * isolation cannot be set over the connection
      */
-    protected void setIsolation(ManagedConnectionImpl mc) throws ResourceException {
-
-        java.sql.Connection con = mc.getActualConnection();
-        if (con == null) {
+    protected void setIsolation(ManagedConnectionImpl managedConnectionImpl) throws ResourceException {
+        Connection connection = managedConnectionImpl.getActualConnection();
+        if (connection == null) {
             return;
         }
 
-        String tranIsolation = spec.getDetail(DataSourceSpec.TRANSACTIONISOLATION);
+        String tranIsolation = spec.getDetail(TRANSACTIONISOLATION);
         if (tranIsolation != null && !tranIsolation.equals("")) {
             int tranIsolationInt = getTransactionIsolationInt(tranIsolation);
             try {
-                con.setTransactionIsolation(tranIsolationInt);
-                mc.setLastTransactionIsolationLevel(tranIsolationInt);
-            } catch (java.sql.SQLException sqle) {
-                _logger.log(Level.SEVERE, "jdbc.exc_tx_iso", sqle);
-                throw new ResourceException("The transaction isolation could "
-                        + "not be set: " + sqle.getMessage());
+                connection.setTransactionIsolation(tranIsolationInt);
+                managedConnectionImpl.setLastTransactionIsolationLevel(tranIsolationInt);
+            } catch (SQLException sqle) {
+                _logger.log(SEVERE, "jdbc.exc_tx_iso", sqle);
+                throw new ResourceException("The transaction isolation could " + "not be set: " + sqle.getMessage());
             }
         }
     }
 
     /**
-     * Resets the isolation level for the <code>ManagedConnection</code> passed.
-     * If the transaction level is to be guaranteed to be the same as the one
-     * present when this <code>ManagedConnection</code> was created, as specified
-     * by the <code>ConnectionRequestInfo</code> passed, it sets the transaction
-     * isolation level from the <code>ConnectionRequestInfo</code> passed. Else,
-     * it sets it to the transaction isolation passed.
+     * Resets the isolation level for the <code>ManagedConnection</code> passed. If
+     * the transaction level is to be guaranteed to be the same as the one present
+     * when this <code>ManagedConnection</code> was created, as specified by the
+     * <code>ConnectionRequestInfo</code> passed, it sets the transaction isolation
+     * level from the <code>ConnectionRequestInfo</code> passed. Else, it sets it to
+     * the transaction isolation passed.
      *
-     * @param mc       <code>ManagedConnection</code>
+     * @param managedConnectionImpl <code>ManagedConnection</code>
      * @param tranIsol int
-     * @throws ResourceException if the isolation property is invalid
-     *                           or if the isolation cannot be set over the connection
+     * @throws ResourceException if the isolation property is invalid or if the
+     * isolation cannot be set over the connection
      */
-    void resetIsolation(ManagedConnectionImpl mc, int tranIsol) throws ResourceException {
-
-        java.sql.Connection con = mc.getActualConnection();
-        if (con == null) {
+    void resetIsolation(ManagedConnectionImpl managedConnectionImpl, int tranIsol) throws ResourceException {
+        Connection connection = managedConnectionImpl.getActualConnection();
+        if (connection == null) {
             return;
         }
 
-        String tranIsolation = spec.getDetail(DataSourceSpec.TRANSACTIONISOLATION);
-        if (tranIsolation != null && !tranIsolation.equals("")) {
-            String guaranteeIsolationLevel = spec.getDetail(DataSourceSpec.GUARANTEEISOLATIONLEVEL);
+        String transactionIsolation = spec.getDetail(TRANSACTIONISOLATION);
+        if (transactionIsolation != null && !transactionIsolation.equals("")) {
+            String guaranteeIsolationLevel = spec.getDetail(GUARANTEEISOLATIONLEVEL);
 
             if (guaranteeIsolationLevel != null && !guaranteeIsolationLevel.equals("")) {
                 boolean guarantee = Boolean.valueOf(guaranteeIsolationLevel.toLowerCase(Locale.getDefault()));
 
                 if (guarantee) {
-                    int tranIsolationInt = getTransactionIsolationInt(tranIsolation);
+                    int tranIsolationInt = getTransactionIsolationInt(transactionIsolation);
                     try {
-                        if (tranIsolationInt != con.getTransactionIsolation()) {
-                            con.setTransactionIsolation(tranIsolationInt);
+                        if (tranIsolationInt != connection.getTransactionIsolation()) {
+                            connection.setTransactionIsolation(tranIsolationInt);
                         }
-                    } catch (java.sql.SQLException sqle) {
-                        _logger.log(Level.SEVERE, "jdbc.exc_tx_iso", sqle);
-                        throw new ResourceException("The isolation level could not be set: "
-                                + sqle.getMessage());
+                    } catch (SQLException sqle) {
+                        _logger.log(SEVERE, "jdbc.exc_tx_iso", sqle);
+                        throw new ResourceException("The isolation level could not be set: " + sqle.getMessage());
                     }
                 } else {
                     try {
-                        if (tranIsol != con.getTransactionIsolation()) {
-                            con.setTransactionIsolation(tranIsol);
+                        if (tranIsol != connection.getTransactionIsolation()) {
+                            connection.setTransactionIsolation(tranIsol);
                         }
-                    } catch (java.sql.SQLException sqle) {
-                        _logger.log(Level.SEVERE, "jdbc.exc_tx_iso", sqle);
-                        throw new ResourceException("The isolation level could not be set: "
-                                + sqle.getMessage());
+                    } catch (SQLException sqle) {
+                        _logger.log(SEVERE, "jdbc.exc_tx_iso", sqle);
+                        throw new ResourceException("The isolation level could not be set: " + sqle.getMessage());
                     }
                 }
             }
@@ -519,26 +551,27 @@
     }
 
     private void detectSqlTraceListeners() {
-        //Check for sql-trace-listeners attribute.
+        // Check for sql-trace-listeners attribute.
         String sqlTraceListeners = getSqlTraceListeners();
         String delimiter = ",";
 
-        if(sqlTraceListeners != null && !sqlTraceListeners.equals("null")) {
+        if (sqlTraceListeners != null && !sqlTraceListeners.equals("null")) {
             sqlTraceDelegator = new SQLTraceDelegator(getPoolName(), getApplicationName(), getModuleName());
             StringTokenizer st = new StringTokenizer(sqlTraceListeners, delimiter);
+
             while (st.hasMoreTokens()) {
                 String sqlTraceListener = st.nextToken().trim();
-                if(!sqlTraceListener.equals("")) {
+                if (!sqlTraceListener.equals("")) {
                     Class listenerClass = null;
                     SQLTraceListener listener = null;
                     Constructor[] constructors = null;
                     Class[] parameterTypes = null;
                     Object[] initargs = null;
-                    //Load the listener class
+                    // Load the listener class
                     try {
                         listenerClass = Thread.currentThread().getContextClassLoader().loadClass(sqlTraceListener);
                     } catch (ClassNotFoundException ex) {
-                        _logger.log(Level.SEVERE, "jdbc.sql_trace_listener_cnfe", sqlTraceListener);
+                        _logger.log(SEVERE, "jdbc.sql_trace_listener_cnfe", sqlTraceListener);
                     }
                     Class intf[] = listenerClass.getInterfaces();
                     for (int i = 0; i < intf.length; i++) {
@@ -550,22 +583,22 @@
                                 constructors = listenerClass.getConstructors();
                                 for (Constructor constructor : constructors) {
                                     parameterTypes = constructor.getParameterTypes();
-                                    //For now only the no argument constructors are allowed.
-                                    //TODO should this be documented?
+                                    // For now only the no argument constructors are allowed.
+                                    // TODO should this be documented?
                                     if (parameterTypes.length == 0) {
                                         listener = (SQLTraceListener) constructor.newInstance(initargs);
                                     }
                                 }
                             } catch (InstantiationException ex) {
-                                _logger.log(Level.SEVERE, "jdbc.sql_trace_listener_exception", ex.getMessage());
+                                _logger.log(SEVERE, "jdbc.sql_trace_listener_exception", ex.getMessage());
                             } catch (IllegalAccessException ex) {
-                                _logger.log(Level.SEVERE, "jdbc.sql_trace_listener_exception", ex.getMessage());
+                                _logger.log(SEVERE, "jdbc.sql_trace_listener_exception", ex.getMessage());
                             } catch (IllegalArgumentException ex) {
-                                _logger.log(Level.SEVERE, "jdbc.sql_trace_listener_exception", ex.getMessage());
+                                _logger.log(SEVERE, "jdbc.sql_trace_listener_exception", ex.getMessage());
                             } catch (InvocationTargetException ex) {
-                                _logger.log(Level.SEVERE, "jdbc.sql_trace_listener_exception", ex.getMessage());
+                                _logger.log(SEVERE, "jdbc.sql_trace_listener_exception", ex.getMessage());
                             } catch (SecurityException ex) {
-                                _logger.log(Level.SEVERE, "jdbc.sql_trace_listener_exception", ex.getMessage());
+                                _logger.log(SEVERE, "jdbc.sql_trace_listener_exception", ex.getMessage());
                             }
                             sqlTraceDelegator.registerSQLTraceListener(listener);
                         }
@@ -575,78 +608,84 @@
         }
     }
 
-
     /**
-     * Gets the integer equivalent of the string specifying
-     * the transaction isolation.
+     * Gets the integer equivalent of the string specifying the transaction
+     * isolation.
      *
      * @param tranIsolation string specifying the isolation level
-     * @return tranIsolationInt    the <code>java.sql.Connection</code> constant
-     *         for the string specifying the isolation.
+     * @return tranIsolationInt the <code>java.sql.Connection</code> constant for
+     * the string specifying the isolation.
      */
     private int getTransactionIsolationInt(String tranIsolation) throws ResourceException {
         if (tranIsolation.equalsIgnoreCase("read-uncommitted")) {
-            return java.sql.Connection.TRANSACTION_READ_UNCOMMITTED;
-        } else if (tranIsolation.equalsIgnoreCase("read-committed")) {
-            return java.sql.Connection.TRANSACTION_READ_COMMITTED;
-        } else if (tranIsolation.equalsIgnoreCase("repeatable-read")) {
-            return java.sql.Connection.TRANSACTION_REPEATABLE_READ;
-        } else if (tranIsolation.equalsIgnoreCase("serializable")) {
-            return java.sql.Connection.TRANSACTION_SERIALIZABLE;
-        } else {
-            throw new ResourceException("Invalid transaction isolation; the transaction "
-                    + "isolation level can be empty or any of the following: "
-                    + "read-uncommitted, read-committed, repeatable-read, serializable");
+            return Connection.TRANSACTION_READ_UNCOMMITTED;
         }
+
+        if (tranIsolation.equalsIgnoreCase("read-committed")) {
+            return Connection.TRANSACTION_READ_COMMITTED;
+        }
+
+        if (tranIsolation.equalsIgnoreCase("repeatable-read")) {
+            return Connection.TRANSACTION_REPEATABLE_READ;
+        }
+
+        if (tranIsolation.equalsIgnoreCase("serializable")) {
+            return Connection.TRANSACTION_SERIALIZABLE;
+        }
+
+        throw new ResourceException(
+            "Invalid transaction isolation; the transaction " +
+            "isolation level can be empty or any of the following: " +
+            "read-uncommitted, read-committed, repeatable-read, serializable");
     }
 
     /**
-     * Common operation performed by all the child MCFs before returning a created mc
+     * Common operation performed by all the child MCFs before returning a created
+     * mc
      */
-    protected void validateAndSetIsolation(ManagedConnectionImpl mc) throws ResourceException {
+    protected void validateAndSetIsolation(ManagedConnectionImpl managedConnectionImpl) throws ResourceException {
         try {
-            isValid(mc);
-            setIsolation(mc);
+            isValid(managedConnectionImpl);
+            setIsolation(managedConnectionImpl);
         } catch (ResourceException e) {
-            if (mc != null) {
+            if (managedConnectionImpl != null) {
                 try {
-                    mc.destroy();
+                    managedConnectionImpl.destroy();
                 } catch (ResourceException e1) {
                     _logger.log(Level.WARNING, "jdbc.exc_destroy", e1);
                 }
             }
-            String msg = localStrings.getString("jdbc.exc_destroy", e.getMessage());
-            ResourceAllocationException rae = new ResourceAllocationException(
-                    msg, e);
-            throw rae;
+
+            throw new ResourceAllocationException(localStrings.getString("jdbc.exc_destroy", e.getMessage()), e);
         }
     }
 
     private void detectStatementCachingSupport() {
         String cacheSize = getStatementCacheSize();
-        if(cacheSize != null){
-            try{
+        if (cacheSize != null) {
+            try {
                 statementCacheSize = Integer.parseInt(cacheSize);
-                //TODO-SC FINE log-level with Pool Name (if possible)
-                if(_logger.isLoggable(Level.FINE)) {
-                    _logger.log(Level.FINE, "StatementCaching Size : " + statementCacheSize);
+                // TODO-SC FINE log-level with Pool Name (if possible)
+                if (_logger.isLoggable(FINE)) {
+                    _logger.log(FINE, "StatementCaching Size : " + statementCacheSize);
                 }
-            }catch(NumberFormatException nfe){
-                if(_logger.isLoggable(Level.FINE)) {
-                    _logger.fine("Exception while setting StatementCacheSize : " +
-                        nfe.getMessage());
+            } catch (NumberFormatException nfe) {
+                if (_logger.isLoggable(FINE)) {
+                    _logger.fine("Exception while setting StatementCacheSize : " + nfe.getMessage());
                 }
-                //ignore
+                // ignore
             }
         }
     }
 
     /**
-     * Set the log writer for this <code>ManagedConnectionFactoryImpl</code> instance.
+     * Set the log writer for this <code>ManagedConnectionFactoryImpl</code>
+     * instance.
      *
      * @param out <code>PrintWriter</code> passed by the application server
      * @see <code>getLogWriter</code>
      */
+    @Override
     public void setLogWriter(java.io.PrintWriter out) {
         logWriter = out;
     }
@@ -655,11 +694,12 @@
      * Set the associated <code>ResourceAdapterImpl</code> JavaBean.
      *
      * @param ra <code>ResourceAdapterImpl</code> associated with this
-     *           <code>ManagedConnectionFactoryImpl</code> instance
+     * <code>ManagedConnectionFactoryImpl</code> instance
      * @see <code>getResourceAdapter</code>
      */
+    @Override
     public void setResourceAdapter(jakarta.resource.spi.ResourceAdapter ra) {
-        this.ra = ra;
+        this.resourceAdapter = ra;
     }
 
     /**
@@ -745,7 +785,7 @@
      */
     @ConfigProperty(type = String.class, defaultValue = "")
     public void setValidationMethod(String validationMethod) {
-        spec.setDetail(DataSourceSpec.VALIDATIONMETHOD, validationMethod);
+        spec.setDetail(VALIDATIONMETHOD, validationMethod);
     }
 
     /**
@@ -754,7 +794,7 @@
      * @return validation method
      */
     public String getValidationMethod() {
-        return spec.getDetail(DataSourceSpec.VALIDATIONMETHOD);
+        return spec.getDetail(VALIDATIONMETHOD);
     }
 
     /**
@@ -786,20 +826,17 @@
             Class validationClass = Thread.currentThread().getContextClassLoader().loadClass(className);
             boolean isAssignable = ConnectionValidation.class.isAssignableFrom(validationClass);
             if (isAssignable) {
-                spec.setDetail(DataSourceSpec.VALIDATIONCLASSNAME, className);
+                spec.setDetail(VALIDATIONCLASSNAME, className);
             } else {
-                //Validation Failed
-                _logger.log(Level.SEVERE, "jdbc.set_custom_validation_class_name_failure", className);
-                throw new ResourceException("The Custom validation class name is " +
-                        "not valid as it does not implement " +
-                        ConnectionValidation.class.getName());
+                // Validation Failed
+                _logger.log(SEVERE, "jdbc.set_custom_validation_class_name_failure", className);
+                throw new ResourceException("The Custom validation class name is "
+                        + "not valid as it does not implement " + ConnectionValidation.class.getName());
             }
         } catch (ResourceException ex) {
-            _logger.log(Level.SEVERE, "jdbc.set_custom_validation_class_name_failure",
-                    ex.getMessage());
+            _logger.log(SEVERE, "jdbc.set_custom_validation_class_name_failure", ex.getMessage());
         } catch (ClassNotFoundException ex) {
-            _logger.log(Level.SEVERE, "jdbc.set_custom_validation_class_name_failure",
-                    ex.getMessage());
+            _logger.log(SEVERE, "jdbc.set_custom_validation_class_name_failure", ex.getMessage());
         }
     }
 
@@ -809,7 +846,7 @@
      * @return table
      */
     public String getValidationClassName() {
-        return spec.getDetail(DataSourceSpec.VALIDATIONCLASSNAME);
+        return spec.getDetail(VALIDATIONCLASSNAME);
     }
 
     /**
@@ -819,7 +856,7 @@
      */
     @ConfigProperty(type = String.class, defaultValue = "")
     public void setTransactionIsolation(String trnIsolation) {
-        spec.setDetail(DataSourceSpec.TRANSACTIONISOLATION, trnIsolation);
+        spec.setDetail(TRANSACTIONISOLATION, trnIsolation);
     }
 
     /**
@@ -828,7 +865,7 @@
      * @return transaction isolation level
      */
     public String getTransactionIsolation() {
-        return spec.getDetail(DataSourceSpec.TRANSACTIONISOLATION);
+        return spec.getDetail(TRANSACTIONISOLATION);
     }
 
     /**
@@ -838,7 +875,7 @@
      */
     @ConfigProperty(type = String.class, defaultValue = "")
     public void setGuaranteeIsolationLevel(String guaranteeIsolation) {
-        spec.setDetail(DataSourceSpec.GUARANTEEISOLATIONLEVEL, guaranteeIsolation);
+        spec.setDetail(GUARANTEEISOLATIONLEVEL, guaranteeIsolation);
     }
 
     /**
@@ -847,21 +884,19 @@
      * @return isolation level guarantee
      */
     public String getGuaranteeIsolationLevel() {
-        return spec.getDetail(DataSourceSpec.GUARANTEEISOLATIONLEVEL);
+        return spec.getDetail(GUARANTEEISOLATIONLEVEL);
     }
 
-    protected boolean isEqual(PasswordCredential pc, String user,
-                              String password) {
+    protected boolean isEqual(PasswordCredential pc, String user, String password) {
 
-        //if equal get direct connection else
-        //get connection with user and password.
+        // if equal get direct connection else
+        // get connection with user and password.
 
         String thisUser = (pc == null) ? null : pc.getUserName();
         char[] passwordArray = (pc == null) ? null : pc.getPassword();
         char[] tmpPasswordArray = (password == null) ? null : password.toCharArray();
 
-        return (isStringEqual(thisUser, user) &&
-                Arrays.equals(passwordArray, tmpPasswordArray));
+        return (isStringEqual(thisUser, user) && Arrays.equals(passwordArray, tmpPasswordArray));
 
     }
 
@@ -982,21 +1017,21 @@
         return spec.getDetail(DataSourceSpec.STATEMENTWRAPPING);
     }
 
-    public void setStatementCacheSize(String value){
+    public void setStatementCacheSize(String value) {
         spec.setDetail(DataSourceSpec.STATEMENTCACHESIZE, value);
         detectStatementCachingSupport();
     }
 
-    public String getStatementCacheSize(){
+    public String getStatementCacheSize() {
         return spec.getDetail(DataSourceSpec.STATEMENTCACHESIZE);
     }
 
-    public void setStatementLeakTimeoutInSeconds(String value){
+    public void setStatementLeakTimeoutInSeconds(String value) {
         spec.setDetail(DataSourceSpec.STATEMENTLEAKTIMEOUTINSECONDS, value);
         detectStatementLeakSupport();
     }
 
-    public String getStatementLeakTimeoutInSeconds(){
+    public String getStatementLeakTimeoutInSeconds() {
         return spec.getDetail(DataSourceSpec.STATEMENTLEAKTIMEOUTINSECONDS);
     }
 
@@ -1047,13 +1082,14 @@
     public void setStatementCacheType(String statementCacheType) {
         spec.setDetail(DataSourceSpec.STATEMENTCACHETYPE, statementCacheType);
         this.statementCacheType = getStatementCacheType();
-        if(this.statementCacheType == null || this.statementCacheType.trim().equals("")) {
-            if(_logger.isLoggable(Level.FINE)) {
-                _logger.fine(" Default StatementCaching Type : " +
-                        localStrings.getString("jdbc.statement-cache.default.datastructure"));
+        if (this.statementCacheType == null || this.statementCacheType.trim().equals("")) {
+            if (_logger.isLoggable(FINE)) {
+                _logger.fine(
+                    " Default StatementCaching Type : " +
+                    localStrings.getString("jdbc.statement-cache.default.datastructure"));
             }
         } else {
-            if(_logger.isLoggable(Level.FINE)) {
+            if (_logger.isLoggable(FINE)) {
                 _logger.fine("StatementCaching Type : " + this.statementCacheType);
             }
         }
@@ -1080,9 +1116,8 @@
     }
 
     public void setInitSql(String initSql) {
-        //TODO remove case where "null" is checked. Might be a CLI/GUI bug.
-        if(initSql != null && !initSql.equalsIgnoreCase("null") &&
-                !initSql.equals("")) {
+        // TODO remove case where "null" is checked. Might be a CLI/GUI bug.
+        if (initSql != null && !initSql.equalsIgnoreCase("null") && !initSql.equals("")) {
             spec.setDetail(DataSourceSpec.INITSQL, initSql);
         }
     }
@@ -1112,7 +1147,7 @@
     }
 
     public void setSqlTraceListeners(String sqlTraceListeners) {
-        if(sqlTraceListeners != null) {
+        if (sqlTraceListeners != null) {
             spec.setDetail(DataSourceSpec.SQLTRACELISTENERS, sqlTraceListeners);
             detectSqlTraceListeners();
         }
@@ -1223,15 +1258,15 @@
         return spec.getDetail(DataSourceSpec.DELIMITER);
     }
 
-    public void setEscapeCharacter(String escapeCharacter){
+    public void setEscapeCharacter(String escapeCharacter) {
         spec.setDetail(DataSourceSpec.ESCAPECHARACTER, escapeCharacter);
     }
 
-    public String getEscapeCharacter(){
+    public String getEscapeCharacter() {
         return spec.getDetail(DataSourceSpec.ESCAPECHARACTER);
     }
 
-      /**
+    /**
      * Sets the driver specific properties.
      *
      * @param driverProps <code>String</code>
@@ -1252,16 +1287,14 @@
         return spec.getDetail(DataSourceSpec.DRIVERPROPERTIES);
     }
 
-    protected PoolInfo getPoolInfo(){
+    protected PoolInfo getPoolInfo() {
         return new PoolInfo(getPoolName(), getApplicationName(), getModuleName());
     }
 
-    protected ManagedConnectionImpl constructManagedConnection(PooledConnection pc,
-                                                           Connection sqlCon, PasswordCredential passCred,
-                                                           ManagedConnectionFactoryImpl mcf) throws ResourceException {
-        return new ManagedConnectionImpl(pc, sqlCon, passCred, mcf,
-                getPoolInfo(), statementCacheSize, statementCacheType, sqlTraceDelegator,
-                statementLeakTimeout, statementLeakReclaim);
+    protected ManagedConnectionImpl constructManagedConnection(PooledConnection pc, Connection sqlCon,
+            PasswordCredential passCred, ManagedConnectionFactoryImpl mcf) throws ResourceException {
+        return new ManagedConnectionImpl(pc, sqlCon, passCred, mcf, getPoolInfo(), statementCacheSize,
+                statementCacheType, sqlTraceDelegator, statementLeakTimeout, statementLeakReclaim);
     }
 
     /**
@@ -1271,10 +1304,10 @@
      * @throws ResourceException
      */
     public Object getDataSource() throws ResourceException {
-        if (dsObjBuilder == null) {
-            dsObjBuilder = new DataSourceObjectBuilder(spec);
+        if (dataSourceObjectBuilder == null) {
+            dataSourceObjectBuilder = new DataSourceObjectBuilder(spec);
         }
-        return dsObjBuilder.constructDataSourceObject();
+        return dataSourceObjectBuilder.constructDataSourceObject();
     }
 
     protected static final int JVM_OPTION_STATEMENT_WRAPPING_ON = 1;
@@ -1282,12 +1315,10 @@
     protected static final int JVM_OPTION_STATEMENT_WRAPPING_NOT_SET = -1;
 
     /**
-     * This wrapStatement flag is used to enable disable wrapping the
-     * statement objects. This can be enabled by passing jvm option,
-     * com.sun.appserv.jdbc.wrapstatement = true.
-     * This can be disabled by removing this option or by passing non true
-     * value.
-     * By default this will be disabled
+     * This wrapStatement flag is used to enable disable wrapping the statement
+     * objects. This can be enabled by passing jvm option,
+     * com.sun.appserv.jdbc.wrapstatement = true. This can be disabled by removing
+     * this option or by passing non true value. By default this will be disabled
      */
     private static int wrapStatement = JVM_OPTION_STATEMENT_WRAPPING_NOT_SET;
 
@@ -1303,8 +1334,7 @@
      */
     private static int getStatementWrappingJVMOption() {
         int result = JVM_OPTION_STATEMENT_WRAPPING_NOT_SET;
-        String str = System.getProperty(
-                "com.sun.appserv.jdbc.wrapJdbcObjects");
+        String str = System.getProperty("com.sun.appserv.jdbc.wrapJdbcObjects");
         if ("true".equalsIgnoreCase(str)) {
             result = JVM_OPTION_STATEMENT_WRAPPING_ON;
         } else if ("false".equalsIgnoreCase(str)) {
@@ -1314,9 +1344,9 @@
     }
 
     /**
-     * 9.1 has attribute "wrap-statements" which will be overriden
-     * when JVM option is specified as "true" or "false"
-     * JVM Option will be deprecated in future versions.
+     * 9.1 has attribute "wrap-statements" which will be overridden when JVM option
+     * is specified as "true" or "false" JVM Option will be deprecated in future
+     * versions.
      */
     protected void computeStatementWrappingStatus() {
 
@@ -1325,8 +1355,8 @@
         if (statementWrappingString != null)
             poolProperty = Boolean.valueOf(statementWrappingString);
 
-        if (wrapStatement == JVM_OPTION_STATEMENT_WRAPPING_ON ||
-                (wrapStatement == JVM_OPTION_STATEMENT_WRAPPING_NOT_SET && poolProperty)) {
+        if (wrapStatement == JVM_OPTION_STATEMENT_WRAPPING_ON
+                || (wrapStatement == JVM_OPTION_STATEMENT_WRAPPING_NOT_SET && poolProperty)) {
             statementWrapping = true;
         } else {
             statementWrapping = false;
@@ -1345,10 +1375,9 @@
     public JdbcObjectsFactory getJdbcObjectsFactory() {
         return jdbcObjectsFactory;
     }
-    protected void logFine(String logMessage){
-        if(_logger.isLoggable(Level.FINE)) {
-            _logger.log(Level.FINE, logMessage);
-        }
+
+    protected void logFine(String logMessage) {
+        _logger.log(FINE, logMessage);
     }
 
     @Override
@@ -1356,71 +1385,63 @@
         String poolMonitoringSubTreeRoot = getPoolMonitoringSubTreeRoot();
         String sqlTraceListeners = getSqlTraceListeners();
 
-        //Default values used in case sql tracing is OFF
+        // Default values used in case sql tracing is OFF
         int sqlTraceCacheSize = 0;
         long timeToKeepQueries = 0;
-        if(sqlTraceListeners != null && !sqlTraceListeners.equals("null")) {
-            if(getNumberOfTopQueriesToReport() != null && !getNumberOfTopQueriesToReport().equals("null")) {
-                //Some value is set for this property
+        if (sqlTraceListeners != null && !sqlTraceListeners.equals("null")) {
+            if (getNumberOfTopQueriesToReport() != null && !getNumberOfTopQueriesToReport().equals("null")) {
+                // Some value is set for this property
                 sqlTraceCacheSize = Integer.parseInt(getNumberOfTopQueriesToReport());
             } else {
-                //No property by this name. default to 10 queries
+                // No property by this name. default to 10 queries
                 sqlTraceCacheSize = 10;
             }
-            if(getTimeToKeepQueriesInMinutes() != null && !getTimeToKeepQueriesInMinutes().equals("null")) {
-                //Time-To-Keep-Queries property has been set
+            if (getTimeToKeepQueriesInMinutes() != null && !getTimeToKeepQueriesInMinutes().equals("null")) {
+                // Time-To-Keep-Queries property has been set
                 timeToKeepQueries = Integer.parseInt(getTimeToKeepQueriesInMinutes());
             } else {
-                //Default to 5 minutes after which cache is pruned.
+                // Default to 5 minutes after which cache is pruned.
                 timeToKeepQueries = 5;
-                //Time to keep queries is set to 5 minutes because the timer
-                //task will keep running till mcf is destroyed even if
-                //monitoring is turned OFF.
+                // Time to keep queries is set to 5 minutes because the timer
+                // task will keep running till mcf is destroyed even if
+                // monitoring is turned OFF.
             }
         }
-        if(_logger.isLoggable(Level.FINEST)) {
-            _logger.finest("MCF Created");
-        }
-        if (statementCacheSize > 0 ||
-                (sqlTraceListeners != null && !sqlTraceListeners.equals("null")) ||
-                statementLeakTimeout > 0) {
+
+        _logger.finest("MCF Created");
+
+        if (statementCacheSize > 0 || (sqlTraceListeners != null && !sqlTraceListeners.equals("null"))
+                || statementLeakTimeout > 0) {
             jdbcStatsProvider = new JdbcStatsProvider(getPoolName(), getApplicationName(), getModuleName(),
                     sqlTraceCacheSize, timeToKeepQueries);
-            //get the poolname and use it to initialize the stats provider n register
-            StatsProviderManager.register(
-                    "jdbc-connection-pool",
-                    PluginPoint.SERVER,
-                    poolMonitoringSubTreeRoot, jdbcStatsProvider);
-            if(jdbcStatsProvider.getSqlTraceCache() != null) {
-                if(_logger.isLoggable(Level.FINEST)) {
-                    _logger.finest("Scheduling timer task for sql trace caching");
-                }
-                Timer timer = ((com.sun.gjc.spi.ResourceAdapterImpl) ra).getTimer();
+
+            // Get the poolname and use it to initialize the stats provider n register
+            StatsProviderManager.register("jdbc-connection-pool", PluginPoint.SERVER, poolMonitoringSubTreeRoot,
+                    jdbcStatsProvider);
+
+            if (jdbcStatsProvider.getSqlTraceCache() != null) {
+                _logger.finest("Scheduling timer task for sql trace caching");
+                Timer timer = ((ResourceAdapterImpl) resourceAdapter).getTimer();
                 jdbcStatsProvider.getSqlTraceCache().scheduleTimerTask(timer);
             }
-            if(_logger.isLoggable(Level.FINEST)) {
-                _logger.finest("Registered JDBCRA Stats Provider");
-            }
+
+            _logger.finest("Registered JDBCRA Stats Provider");
         }
     }
 
     @Override
     public void mcfDestroyed() {
-        if(_logger.isLoggable(Level.FINEST)) {
-            _logger.finest("MCF Destroyed");
-        }
-        if(jdbcStatsProvider != null) {
-            if(jdbcStatsProvider.getSqlTraceCache() != null) {
-                if(_logger.isLoggable(Level.FINEST)) {
-                    _logger.finest("Canceling timer task for sql trace caching");
-                }
+        _logger.finest("MCF Destroyed");
+
+        if (jdbcStatsProvider != null) {
+            if (jdbcStatsProvider.getSqlTraceCache() != null) {
+                _logger.finest("Canceling timer task for sql trace caching");
                 jdbcStatsProvider.getSqlTraceCache().cancelTimerTask();
             }
+
             StatsProviderManager.unregister(jdbcStatsProvider);
             jdbcStatsProvider = null;
-            if(_logger.isLoggable(Level.FINEST)) {
-                _logger.finest("Unregistered JDBCRA Stats Provider");
-            }
+            _logger.finest("Unregistered JDBCRA Stats Provider");
         }
     }
 
@@ -1430,18 +1451,19 @@
         if (stmtLeakTimeout != null) {
             statementLeakTimeout = Integer.parseInt(stmtLeakTimeout) * 1000L;
             statementLeakReclaim = Boolean.valueOf(stmtLeakReclaim);
-            if (_logger.isLoggable(Level.FINE)) {
-                _logger.log(Level.FINE, "StatementLeakTimeout in seconds: "
-                        + statementLeakTimeout + " & StatementLeakReclaim: "
-                        + statementLeakReclaim + " for pool : " + getPoolInfo());
+            if (_logger.isLoggable(FINE)) {
+                _logger.log(FINE, "StatementLeakTimeout in seconds: " + statementLeakTimeout
+                        + " & StatementLeakReclaim: " + statementLeakReclaim + " for pool : " + getPoolInfo());
             }
         }
     }
 
+    @Override
     public void writeExternal(ObjectOutput out) throws IOException {
     }
 
+    @Override
     public void readExternal(ObjectInput in) throws IOException, ClassNotFoundException {
-        ra = com.sun.gjc.spi.ResourceAdapterImpl.getInstance();
+        resourceAdapter = ResourceAdapterImpl.getInstance();
     }
 }
diff --git a/appserver/jdbc/jdbc-ra/jdbc-core/src/main/java/com/sun/gjc/spi/ManagedConnectionImpl.java b/appserver/jdbc/jdbc-ra/jdbc-core/src/main/java/com/sun/gjc/spi/ManagedConnectionImpl.java
index b15dcc6..1ba4153 100644
--- a/appserver/jdbc/jdbc-ra/jdbc-core/src/main/java/com/sun/gjc/spi/ManagedConnectionImpl.java
+++ b/appserver/jdbc/jdbc-ra/jdbc-core/src/main/java/com/sun/gjc/spi/ManagedConnectionImpl.java
@@ -16,86 +16,103 @@
 
 package com.sun.gjc.spi;
 
-import com.sun.appserv.connectors.internal.spi.BadConnectionEventListener;
-import com.sun.enterprise.util.i18n.StringManager;
-import com.sun.gjc.common.DataSourceObjectBuilder;
-import com.sun.gjc.spi.base.*;
-import com.sun.gjc.spi.base.datastructure.Cache;
-import com.sun.gjc.spi.base.datastructure.CacheFactory;
-import com.sun.gjc.util.SQLTraceDelegator;
-import com.sun.gjc.util.StatementLeakDetector;
-import com.sun.logging.LogDomains;
-import org.glassfish.resourcebase.resources.api.PoolInfo;
+import static jakarta.resource.spi.ConnectionEvent.CONNECTION_ERROR_OCCURRED;
+import static java.util.logging.Level.FINE;
+import static java.util.logging.Level.INFO;
+import static java.util.logging.Level.WARNING;
 
-import jakarta.resource.NotSupportedException;
-import jakarta.resource.ResourceException;
-import jakarta.resource.spi.ConnectionEvent;
-import jakarta.resource.spi.ConnectionEventListener;
-import jakarta.resource.spi.security.PasswordCredential;
-import javax.security.auth.Subject;
-import javax.sql.PooledConnection;
-import javax.sql.XAConnection;
-import javax.transaction.xa.XAResource;
 import java.io.PrintWriter;
 import java.sql.CallableStatement;
+import java.sql.Connection;
 import java.sql.DatabaseMetaData;
 import java.sql.PreparedStatement;
 import java.sql.SQLException;
 import java.util.Hashtable;
 import java.util.Iterator;
+import java.util.NoSuchElementException;
 import java.util.Set;
-import java.util.logging.Level;
 import java.util.logging.Logger;
 
+import javax.security.auth.Subject;
+import javax.sql.PooledConnection;
+import javax.sql.XAConnection;
+import javax.transaction.xa.XAResource;
+
+import org.glassfish.resourcebase.resources.api.PoolInfo;
+
+import com.sun.appserv.connectors.internal.spi.BadConnectionEventListener;
+import com.sun.enterprise.util.i18n.StringManager;
+import com.sun.gjc.common.DataSourceObjectBuilder;
+import com.sun.gjc.spi.base.CacheObjectKey;
+import com.sun.gjc.spi.base.CallableStatementWrapper;
+import com.sun.gjc.spi.base.ConnectionHolder;
+import com.sun.gjc.spi.base.ConnectionWrapper;
+import com.sun.gjc.spi.base.PreparedStatementWrapper;
+import com.sun.gjc.spi.base.datastructure.Cache;
+import com.sun.gjc.spi.base.datastructure.CacheFactory;
+import com.sun.gjc.util.SQLTraceDelegator;
+import com.sun.gjc.util.StatementLeakDetector;
+import com.sun.logging.LogDomains;
+
+import jakarta.resource.NotSupportedException;
+import jakarta.resource.ResourceException;
+import jakarta.resource.spi.ConnectionEvent;
+import jakarta.resource.spi.ConnectionEventListener;
+import jakarta.resource.spi.DissociatableManagedConnection;
+import jakarta.resource.spi.LazyEnlistableManagedConnection;
+import jakarta.resource.spi.LocalTransaction;
+import jakarta.resource.spi.ManagedConnection;
+import jakarta.resource.spi.ManagedConnectionFactory;
+import jakarta.resource.spi.ManagedConnectionMetaData;
+import jakarta.resource.spi.security.PasswordCredential;
+
 /**
  * <code>ManagedConnection</code> implementation for Generic JDBC Connector.
  *
  * @author Evani Sai Surya Kiran
  * @version 1.0, 02/07/22
  */
-public class ManagedConnectionImpl implements jakarta.resource.spi.ManagedConnection,
-        jakarta.resource.spi.LazyEnlistableManagedConnection,
-        jakarta.resource.spi.DissociatableManagedConnection {
+public class ManagedConnectionImpl
+        implements ManagedConnection, LazyEnlistableManagedConnection, DissociatableManagedConnection {
+
+    protected static final Logger _logger = LogDomains.getLogger(ManagedConnectionImpl.class, LogDomains.RSR_LOGGER);
+    protected static final StringManager localStrings = StringManager.getManager(DataSourceObjectBuilder.class);
 
     public static final int ISNOTAPOOLEDCONNECTION = 0;
     public static final int ISPOOLEDCONNECTION = 1;
     public static final int ISXACONNECTION = 2;
 
-    protected boolean isDestroyed = false;
+    protected boolean isDestroyed;
     protected boolean isUsable = true;
-    protected boolean initSqlExecuted = false;
-    protected int connectionCount = 0;
+    protected boolean initSqlExecuted;
+    protected int connectionCount;
 
     protected int connectionType = ISNOTAPOOLEDCONNECTION;
-    protected PooledConnection pc = null;
-    protected java.sql.Connection actualConnection = null;
+    protected PooledConnection pooledConnection;
+    protected java.sql.Connection actualConnection;
     protected Hashtable connectionHandles;
     protected PrintWriter logWriter;
     protected PasswordCredential passwdCredential;
-    private jakarta.resource.spi.ManagedConnectionFactory mcf = null;
-    protected XAResource xar = null;
+    private ManagedConnectionFactory managedConnectionFactory;
+    protected XAResource xaResource;
 
-    protected ConnectionHolder myLogicalConnection = null;
+    protected ConnectionHolder myLogicalConnection;
 
-    //GJCINT
     protected int lastTransactionIsolationLevel;
     protected boolean isClean = true;
 
-    protected boolean transactionInProgress = false;
+    protected boolean transactionInProgress;
 
-    protected ConnectionEventListener listener = null;
-
-    protected ConnectionEvent ce = null;
+    protected ConnectionEventListener listener;
+    protected ConnectionEvent connectionEvent;
 
     private boolean defaultAutoCommitValue = true;
     private boolean lastAutoCommitValue = defaultAutoCommitValue;
 
-    private boolean markedForRemoval = false;
-
-    //private boolean statemntWrapping;
+    private boolean markedForRemoval;
     private int statementTimeout;
 
-    private Cache statementCache = null;
+    private Cache statementCache;
     private int cacheSize;
     private String cacheType;
     private boolean statementCaching;
@@ -106,53 +123,39 @@
 
     private SQLTraceDelegator sqlTraceDelegator;
 
-    protected final static Logger _logger;
+    private boolean aborted;
 
-    static {
-        _logger = LogDomains.getLogger(ManagedConnectionImpl.class, LogDomains.RSR_LOGGER);
-    }
-
-    protected static final StringManager localStrings =
-            StringManager.getManager(DataSourceObjectBuilder.class);
-
-    private boolean aborted = false;
-
-    private DatabaseMetaData cachedDatabaseMetaData = null;
-    private Boolean isClientInfoSupported = null;
+    private DatabaseMetaData cachedDatabaseMetaData;
+    private Boolean isClientInfoSupported;
 
     /**
-     * Constructor for <code>ManagedConnectionImpl</code>. The pooledConn parameter is expected
-     * to be null and sqlConn parameter is the actual connection in case where
-     * the actual connection is got from a non pooled datasource object. The
-     * pooledConn parameter is expected to be non null and sqlConn parameter
-     * is expected to be null in the case where the datasource object is a
-     * connection pool datasource or an xa datasource.
+     * Constructor for <code>ManagedConnectionImpl</code>. The pooledConn parameter
+     * is expected to be null and sqlConn parameter is the actual connection in case
+     * where the actual connection is got from a non pooled datasource object. The
+     * pooledConn parameter is expected to be non null and sqlConn parameter is
+     * expected to be null in the case where the datasource object is a connection
+     * pool datasource or an xa datasource.
      *
-     * @param pooledConn <code>PooledConnection</code> object in case the
-     *                   physical connection is to be obtained from a pooled
-     *                   <code>DataSource</code>; null otherwise
-     * @param sqlConn    <code>java.sql.Connection</code> object in case the physical
-     *                   connection is to be obtained from a non pooled <code>DataSource</code>;
-     *                   null otherwise
-     * @param passwdCred object conatining the
-     *                   user and password for allocating the connection
+     * @param pooledConn <code>PooledConnection</code> object in case the physical
+     * connection is to be obtained from a pooled <code>DataSource</code>; null
+     * otherwise
+     * @param sqlConn <code>java.sql.Connection</code> object in case the physical
+     * connection is to be obtained from a non pooled <code>DataSource</code>; null
+     * otherwise
+     * @param passwdCred object conatining the user and password for allocating the
+     * connection
      * @throws ResourceException if the <code>ManagedConnectionFactory</code> object
-     *                           that created this <code>ManagedConnectionImpl</code> object
-     *                           is not the same as returned by <code>PasswordCredential</code>
-     *                           object passed
+     * that created this <code>ManagedConnectionImpl</code> object is not the same
+     * as returned by <code>PasswordCredential</code> object passed
      */
-    public ManagedConnectionImpl(PooledConnection pooledConn, java.sql.Connection sqlConn,
-                             PasswordCredential passwdCred,
-                             jakarta.resource.spi.ManagedConnectionFactory mcf,
-                             PoolInfo poolInfo,
-                             int statementCacheSize, String statementCacheType,
-                             SQLTraceDelegator delegator,
-                             long statementLeakTimeout, boolean statementLeakReclaim)
+    public ManagedConnectionImpl(PooledConnection pooledConn, Connection sqlConn, PasswordCredential passwdCred,
+            ManagedConnectionFactory mcf, PoolInfo poolInfo, int statementCacheSize, String statementCacheType,
+            SQLTraceDelegator delegator, long statementLeakTimeout, boolean statementLeakReclaim)
             throws ResourceException {
+
         if (pooledConn == null && sqlConn == null) {
 
-            String i18nMsg = localStrings.getString(
-                    "jdbc.conn_obj_null");
+            String i18nMsg = localStrings.getString("jdbc.conn_obj_null");
             throw new ResourceException(i18nMsg);
         }
 
@@ -160,21 +163,19 @@
             actualConnection = sqlConn;
         }
 
-        pc = pooledConn;
+        pooledConnection = pooledConn;
         connectionHandles = new Hashtable();
         passwdCredential = passwdCred;
         sqlTraceDelegator = delegator;
 
-        this.mcf = mcf;
-        if (passwdCredential != null &&
-                this.mcf.equals(passwdCredential.getManagedConnectionFactory()) == false) {
+        this.managedConnectionFactory = mcf;
+        if (passwdCredential != null && this.managedConnectionFactory.equals(passwdCredential.getManagedConnectionFactory()) == false) {
 
-            String i18nMsg = localStrings.getString(
-                    "jdbc.mc_construct_err");
+            String i18nMsg = localStrings.getString("jdbc.mc_construct_err");
             throw new ResourceException(i18nMsg);
         }
         logWriter = mcf.getLogWriter();
-        ce = new ConnectionEvent(this, ConnectionEvent.CONNECTION_CLOSED);
+        connectionEvent = new ConnectionEvent(this, ConnectionEvent.CONNECTION_CLOSED);
         tuneStatementCaching(poolInfo, statementCacheSize, statementCacheType);
         tuneStatementLeakTracing(poolInfo, statementLeakTimeout, statementLeakReclaim);
     }
@@ -184,42 +185,34 @@
     }
 
     private void executeInitSql(final String initSql) {
-        if(_logger.isLoggable(Level.FINE)) {
-            _logger.log(Level.FINE, "jdbc.execute_init_sql_start");
-        }
-        java.sql.PreparedStatement stmt = null;
+        _logger.log(FINE, "jdbc.execute_init_sql_start");
+        PreparedStatement statement = null;
 
-        if (initSql != null && !initSql.equalsIgnoreCase("null") &&
-                !initSql.equals("")) {
-        try {
-                stmt = actualConnection.prepareStatement(initSql);
-                if(_logger.isLoggable(Level.FINE)) {
-                    _logger.log(Level.FINE, "jdbc.executing_init_sql", initSql);
-                }
-                stmt.execute();
+        if (initSql != null && !initSql.equalsIgnoreCase("null") && !initSql.equals("")) {
+            try {
+                statement = actualConnection.prepareStatement(initSql);
+                _logger.log(FINE, "jdbc.executing_init_sql", initSql);
+                statement.execute();
             } catch (SQLException sqle) {
-                _logger.log(Level.WARNING, "jdbc.exc_init_sql_error", initSql);
+                _logger.log(WARNING, "jdbc.exc_init_sql_error", initSql);
                 initSqlExecuted = false;
             } finally {
                 try {
-                    if (stmt != null) {
-                        stmt.close();
+                    if (statement != null) {
+                        statement.close();
                     }
                 } catch (Exception e) {
-                    if(_logger.isLoggable(Level.FINE)) {
-                        _logger.log(Level.FINE, "jdbc.exc_init_sql_error_stmt_close", e.getMessage());
+                    if (_logger.isLoggable(FINE)) {
+                        _logger.log(FINE, "jdbc.exc_init_sql_error_stmt_close", e.getMessage());
                     }
                 }
             }
             initSqlExecuted = true;
         }
-        if(_logger.isLoggable(Level.FINE)) {
-            _logger.log(Level.FINE, "jdbc.execute_init_sql_end");
-        }
+        _logger.log(FINE, "jdbc.execute_init_sql_end");
     }
 
-    private void tuneStatementCaching(PoolInfo poolInfo, int statementCacheSize,
-            String statementCacheType) {
+    private void tuneStatementCaching(PoolInfo poolInfo, int statementCacheSize, String statementCacheType) {
         cacheSize = statementCacheSize;
         cacheType = statementCacheType;
         if (cacheSize > 0) {
@@ -232,21 +225,23 @@
         }
     }
 
-    private void tuneStatementLeakTracing(PoolInfo poolInfo, long statementLeakTimeout,
-            boolean statementLeakReclaim) {
+    private void tuneStatementLeakTracing(PoolInfo poolInfo, long statementLeakTimeout, boolean statementLeakReclaim) {
         stmtLeakTimeout = statementLeakTimeout;
         stmtLeakReclaim = statementLeakReclaim;
 
-        if(stmtLeakTimeout > 0) {
-            ManagedConnectionFactoryImpl spiMCF = (ManagedConnectionFactoryImpl) mcf;
+        if (stmtLeakTimeout > 0) {
+            ManagedConnectionFactoryImpl managedConnectionFactoryImpl = (ManagedConnectionFactoryImpl) managedConnectionFactory;
             statementLeakTracing = true;
             if (leakDetector == null) {
-                leakDetector = new StatementLeakDetector(poolInfo, statementLeakTracing,
-                        stmtLeakTimeout, stmtLeakReclaim,
-                        ((com.sun.gjc.spi.ResourceAdapterImpl) spiMCF.getResourceAdapter()).getTimer());
+                leakDetector =
+                    new StatementLeakDetector(
+                        poolInfo, statementLeakTracing, stmtLeakTimeout,
+                        stmtLeakReclaim,
+                        ((ResourceAdapterImpl) managedConnectionFactoryImpl.getResourceAdapter()).getTimer());
             }
         }
     }
+
     /**
      * Adds a connection event listener to the ManagedConnectionImpl instance.
      *
@@ -261,75 +256,72 @@
      * Used by the container to change the association of an application-level
      * connection handle with a <code>ManagedConnectionImpl</code> instance.
      *
-     * @param connection <code>ConnectionHolder30</code> to be associated with
-     *                   this <code>ManagedConnectionImpl</code> instance
-     * @throws ResourceException if the physical connection is no more
-     *                           valid or the connection handle passed is null
+     * @param connection <code>ConnectionHolder30</code> to be associated with this
+     * <code>ManagedConnectionImpl</code> instance
+     * @throws ResourceException if the physical connection is no more valid or the
+     * connection handle passed is null
      */
     public void associateConnection(Object connection) throws ResourceException {
         logFine("In associateConnection");
         checkIfValid();
         if (connection == null) {
-            String i18nMsg = localStrings.getString(
-                    "jdbc.conn_handle_null");
-            throw new ResourceException(i18nMsg);
+            throw new ResourceException(localStrings.getString("jdbc.conn_handle_null"));
         }
-        ConnectionHolder ch = (ConnectionHolder) connection;
 
-        com.sun.gjc.spi.ManagedConnectionImpl mc = ch.getManagedConnection();
+        ConnectionHolder connectionHolder = (ConnectionHolder) connection;
+        ManagedConnectionImpl managedConnectionImpl = connectionHolder.getManagedConnection();
         isClean = false;
 
-        ch.associateConnection(actualConnection, this);
+        connectionHolder.associateConnection(actualConnection, this);
+
         /**
-         * The expectation from the above method is that the connection holder
-         * replaces the actual sql connection it holds with the sql connection
-         * handle being passed in this method call. Also, it replaces the reference
-         * to the ManagedConnectionImpl instance with this ManagedConnectionImpl instance.
-         * Any previous statements and result sets also need to be removed.
+         * The expectation from the above method is that the connection holder replaces
+         * the actual sql connection it holds with the sql connection handle being
+         * passed in this method call. Also, it replaces the reference to the
+         * ManagedConnectionImpl instance with this ManagedConnectionImpl instance. Any
+         * previous statements and result sets also need to be removed.
          */
 
-
-        ch.setActive(true);
+        connectionHolder.setActive(true);
         incrementCount();
-        //associate the MC to the supplied logical connection similar to associating the logical connection
-        //with this MC and actual-connection.
-        myLogicalConnection = ch;
 
-        //mc will be null in case we are lazily associating
-        if (mc != null) {
-            mc.decrementCount();
+        // associate the MC to the supplied logical connection similar to associating
+        // the logical connection
+        // with this MC and actual-connection.
+        myLogicalConnection = connectionHolder;
+
+        // managedConnection will be null in case we are lazily associating
+        if (managedConnectionImpl != null) {
+            managedConnectionImpl.decrementCount();
         }
     }
 
     /**
      * Application server calls this method to force any cleanup on the
      * <code>ManagedConnectionImpl</code> instance. This method calls the invalidate
-     * method on all ConnectionHandles associated with this <code>ManagedConnectionImpl</code>.
+     * method on all ConnectionHandles associated with this
+     * <code>ManagedConnectionImpl</code>.
      *
      * @throws ResourceException if the physical connection is no more valid
      */
     public void cleanup() throws ResourceException {
         logFine("In cleanup");
-        //commenting this as cleanup is called after destroy in case of markConnectionAsBad()
-        //checkIfValid();
 
         /**
          * may need to set the autocommit to true for the non-pooled case.
          */
-        //GJCINT
         isClean = true;
 
-        ManagedConnectionFactoryImpl spiMCF = (ManagedConnectionFactoryImpl) mcf;
-        resetConnectionProperties(spiMCF);
+        resetConnectionProperties((ManagedConnectionFactoryImpl) managedConnectionFactory);
     }
 
     /**
-     * This method removes all the connection handles from the table
-     * of connection handles and invalidates all of them so that any
-     * operation on those connection handles throws an exception.
+     * This method removes all the connection handles from the table of connection
+     * handles and invalidates all of them so that any operation on those connection
+     * handles throws an exception.
      *
-     * @throws ResourceException if there is a problem in retrieving
-     *                           the connection handles
+     * @throws ResourceException if there is a problem in retrieving the connection
+     * handles
      */
     protected void invalidateAllConnectionHandles() throws ResourceException {
         Set handles = connectionHandles.keySet();
@@ -339,17 +331,15 @@
                 ConnectionHolder ch = (ConnectionHolder) iter.next();
                 ch.invalidate();
             }
-        } catch (java.util.NoSuchElementException nsee) {
-            throw new ResourceException("Could not find the connection handle: " + nsee.getMessage());
+        } catch (NoSuchElementException nsee) {
+            throw new ResourceException("Could not find the connection handle: " + nsee.getMessage(), nsee);
         }
         connectionHandles.clear();
     }
 
     private void clearStatementCache() {
         if (statementCache != null) {
-            if(_logger.isLoggable(Level.FINE)) {
-                _logger.fine("Closing statements in statement cache");
-            }
+            _logger.fine("Closing statements in statement cache");
             statementCache.flushCache();
             statementCache.clearCache();
         }
@@ -358,27 +348,28 @@
     /**
      * Destroys the physical connection to the underlying resource manager.
      *
-     * @throws ResourceException if there is an error in closing the physical connection
+     * @throws ResourceException if there is an error in closing the physical
+     * connection
      */
     public void destroy() throws ResourceException {
         logFine("In destroy");
-        //GJCINT
         if (isDestroyed) {
             return;
         }
         clearStatementCache();
-        //Connection could be closed even before statement is closed. Connection
-        //close need not call statement close() method.
-        //When application uses a statement, leakDetector could be started.At
-        //this point, there is a need to clear the statement leak tasks
+
+        // Connection could be closed even before statement is closed. Connection
+        // close need not call statement close() method.
+        // When application uses a statement, leakDetector could be started.At
+        // this point, there is a need to clear the statement leak tasks
         if (leakDetector != null) {
             leakDetector.clearAllStatementLeakTasks();
         }
 
         try {
             if (connectionType == ISXACONNECTION || connectionType == ISPOOLEDCONNECTION) {
-                pc.close();
-                pc = null;
+                pooledConnection.close();
+                pooledConnection = null;
                 actualConnection = null;
             } else {
                 actualConnection.close();
@@ -388,49 +379,35 @@
             isDestroyed = true;
             passwdCredential = null;
             connectionHandles = null;
-            String i18nMsg = localStrings.getString(
-                    "jdbc.error_in_destroy");
-            ResourceException re = new ResourceException(
-                    i18nMsg + sqle.getMessage(), sqle);
-            throw re;
+            throw new ResourceException(localStrings.getString("jdbc.error_in_destroy") + sqle.getMessage(), sqle);
         }
+
         isDestroyed = true;
         passwdCredential = null;
         connectionHandles = null;
     }
 
     /**
-     * Creates a new connection handle for the underlying physical
-     * connection represented by the <code>ManagedConnectionImpl</code> instance.
+     * Creates a new connection handle for the underlying physical connection
+     * represented by the <code>ManagedConnectionImpl</code> instance.
      *
-     * @param sub       <code>Subject</code> parameter needed for authentication
-     * @param cxReqInfo <code>ConnectionRequestInfo</code> carries the user
-     *                  and password required for getting this connection.
-     * @return Connection    the connection handle <code>Object</code>
-     * @throws ResourceException if there is an error in allocating the
-     *                           physical connection from the pooled connection
-     * @throws jakarta.resource.spi.SecurityException
-     *                           if there is a mismatch between the
-     *                           password credentials or reauthentication is requested
+     * @param sub <code>Subject</code> parameter needed for authentication
+     * @param cxReqInfo <code>ConnectionRequestInfo</code> carries the user and
+     * password required for getting this connection.
+     * @return Connection the connection handle <code>Object</code>
+     * @throws ResourceException if there is an error in allocating the physical
+     * connection from the pooled connection
+     * @throws jakarta.resource.spi.SecurityException if there is a mismatch between
+     * the password credentials or reauthentication is requested
      */
-    public Object getConnection(Subject sub, jakarta.resource.spi.ConnectionRequestInfo cxReqInfo)
-            throws ResourceException {
+    public Object getConnection(Subject sub, jakarta.resource.spi.ConnectionRequestInfo cxReqInfo) throws ResourceException {
         logFine("In getConnection");
         checkIfValid();
-        /** Appserver any way doesnt bother about re-authentication today. So commenting this out now.
-         com.sun.gjc.spi.ConnectionRequestInfo cxRequestInfo = (com.sun.gjc.spi.ConnectionRequestInfo) cxReqInfo;
-         PasswordCredential passwdCred = SecurityUtils.getPasswordCredential(this.mcf, sub, cxRequestInfo);
 
-         if(SecurityUtils.isPasswordCredentialEqual(this.passwdCredential, passwdCred) == false) {
-         throw new jakarta.resource.spi.SecurityException("Re-authentication not supported");
-         }
-         **/
-
-        //GJCINT
         getActualConnection();
-        ManagedConnectionFactoryImpl spiMCF = (ManagedConnectionFactoryImpl) mcf;
+        ManagedConnectionFactoryImpl managedConnectionFactoryImpl = (ManagedConnectionFactoryImpl) managedConnectionFactory;
 
-        String statementTimeoutString = spiMCF.getStatementTimeout();
+        String statementTimeoutString = managedConnectionFactoryImpl.getStatementTimeout();
         if (statementTimeoutString != null) {
             int timeoutValue = Integer.parseInt(statementTimeoutString);
             if (timeoutValue >= 0) {
@@ -438,14 +415,17 @@
             }
         }
 
-        myLogicalConnection = spiMCF.getJdbcObjectsFactory().getConnection(
-                actualConnection, this, cxReqInfo, spiMCF.isStatementWrappingEnabled(),
-                sqlTraceDelegator);
+        myLogicalConnection =
+            managedConnectionFactoryImpl.getJdbcObjectsFactory()
+                                        .getConnection(
+                                            actualConnection, this, cxReqInfo,
+                                            managedConnectionFactoryImpl.isStatementWrappingEnabled(),
+                                            sqlTraceDelegator);
 
-        //TODO : need to see if this should be executed for every getConnection
+        // TODO : need to see if this should be executed for every getConnection
         if (!initSqlExecuted) {
-            //Check if Initsql is set and execute it
-            String initSql = spiMCF.getInitSql();
+            // Check if Initsql is set and execute it
+            String initSql = managedConnectionFactoryImpl.getInitSql();
             executeInitSql(initSql);
         }
         incrementCount();
@@ -457,28 +437,30 @@
     }
 
     /**
-     * Resett connection properties as connections are pooled by application server<br>
+     * Resett connection properties as connections are pooled by application
+     * server<br>
      *
-     * @param spiMCF
+     * @param managedConnectionFactoryImpl
      * @throws ResourceException
      */
-    private void resetConnectionProperties(ManagedConnectionFactoryImpl spiMCF) throws ResourceException {
+    private void resetConnectionProperties(ManagedConnectionFactoryImpl managedConnectionFactoryImpl) throws ResourceException {
         if (isClean) {
 
-            // If the ManagedConnection is clean, reset the transaction isolation level to what
-            // it was when it was when this ManagedConnection was cleaned up depending on the
-            // ConnectionRequestInfo passed.
-            spiMCF.resetIsolation(this, lastTransactionIsolationLevel);
+            // If the ManagedConnection is clean, reset the transaction isolation level to
+            // what it was when it was when this ManagedConnection was cleaned up depending on
+            // the ConnectionRequestInfo passed.
+            managedConnectionFactoryImpl.resetIsolation(this, lastTransactionIsolationLevel);
 
-            // reset the autocommit value of the connection if application has modified it.
+            // Reset the autocommit value of the connection if application has modified it.
             resetAutoCommit();
         }
     }
 
     /**
-     * To reset AutoCommit of actual connection.
-     * If the last-auto-commit value is different from default-auto-commit value, reset will happen.
-     * If there is a transaction in progress (because of connection sharing), reset will not happen.
+     * To reset AutoCommit of actual connection. If the last-auto-commit value is
+     * different from default-auto-commit value, reset will happen. If there is a
+     * transaction in progress (because of connection sharing), reset will not
+     * happen.
      *
      * @throws ResourceException
      */
@@ -487,32 +469,32 @@
             try {
                 actualConnection.setAutoCommit(defaultAutoCommitValue);
             } catch (SQLException sqle) {
-                String i18nMsg = localStrings.getString(
-                        "jdbc.error_during_setAutoCommit");
-                throw new ResourceException(i18nMsg + sqle.getMessage(), sqle);
+                throw new ResourceException(localStrings.getString("jdbc.error_during_setAutoCommit") + sqle.getMessage(), sqle);
             }
+
             setLastAutoCommitValue(defaultAutoCommitValue);
         }
     }
 
     /**
-     * Returns an <code>LocalTransactionImpl</code> instance. The <code>LocalTransactionImpl</code> interface
-     * is used by the container to manage local transactions for a RM instance.
+     * Returns an <code>LocalTransactionImpl</code> instance. The
+     * <code>LocalTransactionImpl</code> interface is used by the container to
+     * manage local transactions for a RM instance.
      *
      * @return <code>LocalTransactionImpl</code> instance
      * @throws ResourceException if the physical connection is not valid
      */
-    public jakarta.resource.spi.LocalTransaction getLocalTransaction() throws ResourceException {
+    public LocalTransaction getLocalTransaction() throws ResourceException {
         logFine("In getLocalTransaction");
         checkIfValid();
-        return new com.sun.gjc.spi.LocalTransactionImpl(this);
+        return new LocalTransactionImpl(this);
     }
 
     /**
      * Gets the log writer for this <code>ManagedConnectionImpl</code> instance.
      *
      * @return <code>PrintWriter</code> instance associated with this
-     *         <code>ManagedConnectionImpl</code> instance
+     * <code>ManagedConnectionImpl</code> instance
      * @throws ResourceException if the physical connection is not valid
      * @see <code>setLogWriter</code>
      */
@@ -524,28 +506,27 @@
     }
 
     /**
-     * Gets the metadata information for this connection's underlying EIS
-     * resource manager instance.
+     * Gets the metadata information for this connection's underlying EIS resource
+     * manager instance.
      *
      * @return <code>ManagedConnectionMetaData</code> instance
      * @throws ResourceException if the physical connection is not valid
      */
-    public jakarta.resource.spi.ManagedConnectionMetaData getMetaData() throws ResourceException {
+    public ManagedConnectionMetaData getMetaData() throws ResourceException {
         logFine("In getMetaData");
         checkIfValid();
 
-        return new com.sun.gjc.spi.ManagedConnectionMetaDataImpl(this);
+        return new ManagedConnectionMetaDataImpl(this);
     }
 
     /**
      * Returns an <code>XAResource</code> instance.
      *
      * @return <code>XAResource</code> instance
-     * @throws ResourceException     if the physical connection is not valid or
-     *                               there is an error in allocating the
-     *                               <code>XAResource</code> instance
+     * @throws ResourceException if the physical connection is not valid or there is
+     * an error in allocating the <code>XAResource</code> instance
      * @throws NotSupportedException if underlying datasource is not an
-     *                               <code>XADataSource</code>
+     * <code>XADataSource</code>
      */
     public XAResource getXAResource() throws ResourceException {
         logFine("In getXAResource");
@@ -553,13 +534,13 @@
 
         if (connectionType == ISXACONNECTION) {
             try {
-                if (xar == null) {
+                if (xaResource == null) {
                     /**
                      * Using the wrapper XAResource.
                      */
-                    xar = new com.sun.gjc.spi.XAResourceImpl(((XAConnection) pc).getXAResource(), this);
+                    xaResource = new XAResourceImpl(((XAConnection) pooledConnection).getXAResource(), this);
                 }
-                return xar;
+                return xaResource;
             } catch (SQLException sqle) {
                 throw new ResourceException(sqle.getMessage(), sqle);
             }
@@ -579,18 +560,18 @@
     }
 
     /**
-     * This method is called from XAResource wrapper object
-     * when its XAResource.start() has been called or from
-     * LocalTransactionImpl object when its begin() method is called.
+     * This method is called from XAResource wrapper object when its
+     * XAResource.start() has been called or from LocalTransactionImpl object when
+     * its begin() method is called.
      */
     void transactionStarted() {
         transactionInProgress = true;
     }
 
     /**
-     * This method is called from XAResource wrapper object
-     * when its XAResource.end() has been called or from
-     * LocalTransactionImpl object when its end() method is called.
+     * This method is called from XAResource wrapper object when its
+     * XAResource.end() has been called or from LocalTransactionImpl object when its
+     * end() method is called.
      */
     void transactionCompleted() {
         try {
@@ -606,22 +587,19 @@
                 }
             }
         } catch (java.lang.NullPointerException e) {
-            if(_logger.isLoggable(Level.FINE)) {
-                _logger.log(Level.FINE, "jdbc.duplicateTxCompleted");
-            }
+            _logger.log(FINE, "jdbc.duplicateTxCompleted");
         }
 
         if (markedForRemoval) {
             if (aborted) {
-                com.sun.appserv.connectors.internal.spi.BadConnectionEventListener bcel =
-                        (BadConnectionEventListener) listener;
-                bcel.connectionAbortOccurred(ce);
-                _logger.log(Level.INFO, "jdbc.markedForRemoval_conAborted");
+                BadConnectionEventListener badConnectionEventListener = (BadConnectionEventListener) listener;
+                badConnectionEventListener.connectionAbortOccurred(connectionEvent);
+                _logger.log(INFO, "jdbc.markedForRemoval_conAborted");
                 markedForRemoval = false;
                 myLogicalConnection.setClosed(true);
             } else {
                 connectionErrorOccurred(null, null);
-                _logger.log(Level.INFO, "jdbc.markedForRemoval_txCompleted");
+                _logger.log(INFO, "jdbc.markedForRemoval_txCompleted");
                 markedForRemoval = false;
             }
         }
@@ -630,8 +608,7 @@
     }
 
     /**
-     * Checks if a this ManagedConnection is involved in a transaction
-     * or not.
+     * Checks if a this ManagedConnection is involved in a transaction or not.
      */
     public boolean isTransactionInProgress() {
         return transactionInProgress;
@@ -641,7 +618,7 @@
      * Sets the log writer for this <code>ManagedConnectionImpl</code> instance.
      *
      * @param out <code>PrintWriter</code> to be associated with this
-     *            <code>ManagedConnectionImpl</code> instance
+     * <code>ManagedConnectionImpl</code> instance
      * @throws ResourceException if the physical connection is not valid
      * @see <code>getLogWriter</code>
      */
@@ -651,8 +628,8 @@
     }
 
     /**
-     * This method determines the type of the connection being held
-     * in this <code>ManagedConnectionImpl</code>.
+     * This method determines the type of the connection being held in this
+     * <code>ManagedConnectionImpl</code>.
      *
      * @param pooledConn <code>PooledConnection</code>
      * @return connection type
@@ -660,22 +637,24 @@
     protected int getConnectionType(PooledConnection pooledConn) {
         if (pooledConn == null) {
             return ISNOTAPOOLEDCONNECTION;
-        } else if (pooledConn instanceof XAConnection) {
-            return ISXACONNECTION;
-        } else {
-            return ISPOOLEDCONNECTION;
         }
+
+        if (pooledConn instanceof XAConnection) {
+            return ISXACONNECTION;
+        }
+
+        return ISPOOLEDCONNECTION;
     }
 
     /**
-     * Returns the <code>ManagedConnectionFactory</code> instance that
-     * created this <code>ManagedConnection</code> instance.
+     * Returns the <code>ManagedConnectionFactory</code> instance that created this
+     * <code>ManagedConnection</code> instance.
      *
      * @return <code>ManagedConnectionFactory</code> instance that created this
-     *         <code>ManagedConnection</code> instance
+     * <code>ManagedConnection</code> instance
      */
-    public com.sun.gjc.spi.ManagedConnectionFactoryImpl getManagedConnectionFactory() {
-        return (com.sun.gjc.spi.ManagedConnectionFactoryImpl) mcf;
+    public ManagedConnectionFactoryImpl getManagedConnectionFactory() {
+        return (ManagedConnectionFactoryImpl) managedConnectionFactory;
     }
 
     /**
@@ -683,15 +662,13 @@
      *
      * @return the physical <code>java.sql.Connection</code>
      */
-    //GJCINT
-    java.sql.Connection getActualConnection() throws ResourceException {
-        //GJCINT
+    Connection getActualConnection() throws ResourceException {
         if (connectionType == ISXACONNECTION || connectionType == ISPOOLEDCONNECTION) {
             try {
                 if (actualConnection == null) {
-                    actualConnection = pc.getConnection();
+                    actualConnection = pooledConnection.getConnection();
 
-                    //re-initialize lastAutoCommitValue such that resetAutoCommit() wont
+                    // re-initialize lastAutoCommitValue such that resetAutoCommit() wont
                     // affect autoCommit of actualConnection
                     setLastAutoCommitValue(defaultAutoCommitValue);
                 }
@@ -700,14 +677,16 @@
                 throw new ResourceException(sqle.getMessage(), sqle);
             }
         }
+
         return actualConnection;
     }
 
     /**
-     * Returns the <code>PasswordCredential</code> object associated with this <code>ManagedConnection</code>.
+     * Returns the <code>PasswordCredential</code> object associated with this
+     * <code>ManagedConnection</code>.
      *
      * @return <code>PasswordCredential</code> associated with this
-     *         <code>ManagedConnection</code> instance
+     * <code>ManagedConnection</code> instance
      */
     PasswordCredential getPasswordCredential() {
         return passwdCredential;
@@ -715,129 +694,121 @@
 
     /**
      * Checks if this <code>ManagedConnection</code> is valid or not and throws an
-     * exception if it is not valid. A <code>ManagedConnection</code> is not valid if
-     * destroy has not been called and no physical connection error has
-     * occurred rendering the physical connection unusable.
+     * exception if it is not valid. A <code>ManagedConnection</code> is not valid
+     * if destroy has not been called and no physical connection error has occurred
+     * rendering the physical connection unusable.
      *
      * @throws ResourceException if <code>destroy</code> has been called on this
-     *                           <code>ManagedConnection</code> instance or if a
-     *                           physical connection error occurred rendering it unusable
+     * <code>ManagedConnection</code> instance or if a physical connection error
+     * occurred rendering it unusable
      */
-    //GJCINT
     void checkIfValid() throws ResourceException {
         if (isDestroyed || !isUsable) {
-
-            String i18nMsg = localStrings.getString(
-                    "jdbc.mc_not_usable");
-            throw new ResourceException(i18nMsg);
+            throw new ResourceException(localStrings.getString("jdbc.mc_not_usable"));
         }
     }
 
     /**
-     * This method is called by the <code>ConnectionHolder30</code> when its close method is
-     * called. This <code>ManagedConnection</code> instance  invalidates the connection handle
-     * and sends a CONNECTION_CLOSED event to all the registered event listeners.
+     * This method is called by the <code>ConnectionHolder30</code> when its close
+     * method is called. This <code>ManagedConnection</code> instance invalidates
+     * the connection handle and sends a CONNECTION_CLOSED event to all the
+     * registered event listeners.
      *
-     * @param e                  Exception that may have occured while closing the connection handle
-     * @param connHolder30Object <code>ConnectionHolder30</code> that has been closed
+     * @param e Exception that may have occured while closing the connection handle
+     * @param connHolder30Object <code>ConnectionHolder30</code> that has been
+     * closed
      * @throws SQLException in case closing the sql connection got out of
-     *                      <code>getConnection</code> on the underlying
-     *                      <code>PooledConnection</code> throws an exception
+     * <code>getConnection</code> on the underlying <code>PooledConnection</code>
+     * throws an exception
      */
     public void connectionClosed(Exception e, ConnectionHolder connHolder30Object) throws SQLException {
-
         connHolder30Object.invalidate();
         decrementCount();
-        ce.setConnectionHandle(connHolder30Object);
+        connectionEvent.setConnectionHandle(connHolder30Object);
 
         if (markedForRemoval && !transactionInProgress) {
-            com.sun.appserv.connectors.internal.spi.BadConnectionEventListener bcel = (BadConnectionEventListener) listener;
-            bcel.badConnectionClosed(ce);
-            _logger.log(Level.INFO, "jdbc.markedForRemoval_conClosed");
+            BadConnectionEventListener badConnectionEventListener = (BadConnectionEventListener) listener;
+            badConnectionEventListener.badConnectionClosed(connectionEvent);
+            _logger.log(INFO, "jdbc.markedForRemoval_conClosed");
             markedForRemoval = false;
         } else {
-            listener.connectionClosed(ce);
+            listener.connectionClosed(connectionEvent);
         }
     }
 
     /**
-     * This method is called by the <code>ConnectionHolder30</code> when it detects a connecion
-     * related error.
+     * This method is called by the <code>ConnectionHolder30</code> when it detects
+     * a connecion related error.
      *
-     * @param e                Exception that has occurred during an operation on the physical connection
-     * @param connHolderObject <code>ConnectionHolder</code> that detected the physical
-     *                         connection error
+     * @param e Exception that has occurred during an operation on the physical
+     * connection
+     * @param connectionHolder <code>ConnectionHolder</code> that detected the
+     * physical connection error
      */
-    void connectionErrorOccurred(Exception e,
-                                 ConnectionHolder connHolderObject) {
+    void connectionErrorOccurred(Exception e, ConnectionHolder connectionHolder) {
+        ConnectionEventListener connectionEventListener = this.listener;
 
-        ConnectionEventListener cel = this.listener;
-        ConnectionEvent ce = null;
-        ce = e == null ? new ConnectionEvent(this, ConnectionEvent.CONNECTION_ERROR_OCCURRED)
-                : new ConnectionEvent(this, ConnectionEvent.CONNECTION_ERROR_OCCURRED, e);
-        if (connHolderObject != null) {
-            ce.setConnectionHandle(connHolderObject);
+        ConnectionEvent connectionEvent = e == null ?
+            new ConnectionEvent(this, CONNECTION_ERROR_OCCURRED) :
+            new ConnectionEvent(this, CONNECTION_ERROR_OCCURRED, e);
+
+        if (connectionHolder != null) {
+            connectionEvent.setConnectionHandle(connectionHolder);
         }
 
-        cel.connectionErrorOccurred(ce);
+        connectionEventListener.connectionErrorOccurred(connectionEvent);
         isUsable = false;
     }
 
-
     /**
-     * This method is called by the <code>XAResource</code> object when its start method
-     * has been invoked.
+     * This method is called by the <code>XAResource</code> object when its start
+     * method has been invoked.
      */
     void XAStartOccurred() {
         try {
             actualConnection.setAutoCommit(false);
         } catch (Exception e) {
-            _logger.log(Level.WARNING, "XA Start [ setAutoCommit ] failure ", e);
+            _logger.log(WARNING, "XA Start [ setAutoCommit ] failure ", e);
             connectionErrorOccurred(e, null);
         }
     }
 
     /**
-     * This method is called by the <code>XAResource</code> object when its end method
-     * has been invoked.
+     * This method is called by the <code>XAResource</code> object when its end
+     * method has been invoked.
      */
     void XAEndOccurred() {
         try {
             actualConnection.setAutoCommit(true);
         } catch (Exception e) {
-            _logger.log(Level.WARNING, "XA End [ setAutoCommit ] failure ", e);
+            _logger.log(WARNING, "XA End [ setAutoCommit ] failure ", e);
             connectionErrorOccurred(e, null);
         }
     }
 
     /**
-     * This method is called by a Connection Handle to check if it is
-     * the active Connection Handle. If it is not the active Connection
-     * Handle, this method throws an SQLException. Else, it
-     * returns setting the active Connection Handle to the calling
-     * Connection Handle object to this object if the active Connection
-     * Handle is null.
+     * This method is called by a Connection Handle to check if it is the active
+     * Connection Handle. If it is not the active Connection Handle, this method
+     * throws an SQLException. Else, it returns setting the active Connection Handle
+     * to the calling Connection Handle object to this object if the active
+     * Connection Handle is null.
      *
      * @param ch <code>ConnectionHolder30</code> that requests this
-     *           <code>ManagedConnection</code> instance whether
-     *           it can be active or not
-     * @throws SQLException in case the physical is not valid or
-     *                      there is already an active connection handle
+     * <code>ManagedConnection</code> instance whether it can be active or not
+     * @throws SQLException in case the physical is not valid or there is already an
+     * active connection handle
      */
 
     public void checkIfActive(ConnectionHolder ch) throws SQLException {
         if (isDestroyed || !isUsable) {
-
-            String i18nMsg = localStrings.getString(
-                    "jdbc.conn_not_usable");
-            throw new SQLException(i18nMsg);
+            throw new SQLException(localStrings.getString("jdbc.conn_not_usable"));
         }
     }
 
     /**
-     * sets the connection type of this connection. This method is called
-     * by the MCF while creating this ManagedConnection. Saves us a costly
-     * instanceof operation in the getConnectionType
+     * sets the connection type of this connection. This method is called by the MCF
+     * while creating this ManagedConnection. Saves us a costly instanceof operation
+     * in the getConnectionType
      */
     public void initializeConnectionType(int _connectionType) {
         connectionType = _connectionType;
@@ -852,7 +823,7 @@
     }
 
     public void dissociateConnections() {
-        if(myLogicalConnection != null){
+        if (myLogicalConnection != null) {
             myLogicalConnection.dissociateConnection();
             myLogicalConnection = null;
         }
@@ -863,8 +834,8 @@
     }
 
     /**
-     * To keep track of last auto commit value.
-     * Helps to reset the auto-commit-value while giving new connection-handle.
+     * To keep track of last auto commit value. Helps to reset the auto-commit-value
+     * while giving new connection-handle.
      *
      * @param lastAutoCommitValue
      */
@@ -872,20 +843,17 @@
         this.lastAutoCommitValue = lastAutoCommitValue;
     }
 
-
     public void markForRemoval(boolean flag) {
         markedForRemoval = flag;
     }
 
-    public jakarta.resource.spi.ManagedConnectionFactory getMcf() {
-        return mcf;
+    public ManagedConnectionFactory getMcf() {
+        return managedConnectionFactory;
     }
 
-/*
-    public boolean getStatementWrapping(){
-        return statemntWrapping;
-    }
-*/
+    /*
+     * public boolean getStatementWrapping(){ return statemntWrapping; }
+     */
 
     public int getStatementTimeout() {
         return statementTimeout;
@@ -901,7 +869,7 @@
      * @return <code>DatabaseMetaData</code>
      */
     public DatabaseMetaData getCachedDatabaseMetaData() throws ResourceException {
-        if(cachedDatabaseMetaData == null){
+        if (cachedDatabaseMetaData == null) {
             try {
                 cachedDatabaseMetaData = getActualConnection().getMetaData();
             } catch (SQLException sqle) {
@@ -919,308 +887,291 @@
         this.isClientInfoSupported = isClientInfoSupported;
     }
 
-    private void logFine(String logMessage){
-        if(_logger.isLoggable(Level.FINE)) {
-            _logger.log(Level.FINE, logMessage);
-        }
+    private void logFine(String logMessage) {
+        _logger.log(FINE, logMessage);
     }
 
-    public PreparedStatement prepareCachedStatement(
-            ConnectionWrapper conWrapper, String sql, int resultSetType,
-            int resultSetConcurrency) throws SQLException {
+    public PreparedStatement prepareCachedStatement(ConnectionWrapper connection, String sql, int resultSetType, int resultSetConcurrency) throws SQLException {
         if (statementCaching) {
-            CacheObjectKey key = new CacheObjectKey(sql,
-                    CacheObjectKey.PREPARED_STATEMENT, resultSetType, resultSetConcurrency);
-            //TODO-SC should a null check be done for statementCache?
-            //TODO-SC refactor this method.
-            PreparedStatementWrapper ps =
-                    (PreparedStatementWrapper)
-                    statementCache.checkAndUpdateCache(key);
-            //TODO-SC-DEFER can the usability (isFree()) check be done by the cache itself and make sure that only a free stmt is returned
-            if (ps != null) {
-                if (isFree(ps)) {
-                    //Find if this ps is a valid one. If invalid, remove it
-                    //from the cache and prepare a new stmt & add it to cache
-                    if(!ps.isValid()) {
-                        statementCache.purge(ps);
-                        ps = conWrapper.prepareCachedStatement(sql, resultSetType,
-                                resultSetConcurrency, true);
-                        ps.setBusy(true);
-                        statementCache.addToCache(key, ps, false);
+            CacheObjectKey key =
+                new CacheObjectKey(sql, CacheObjectKey.PREPARED_STATEMENT, resultSetType, resultSetConcurrency);
+
+            // TODO-SC should a null check be done for statementCache?
+            // TODO-SC refactor this method.
+            PreparedStatementWrapper preparedStatement = (PreparedStatementWrapper) statementCache.checkAndUpdateCache(key);
+
+            // TODO-SC-DEFER can the usability (isFree()) check be done by the cache itself
+            // and make sure that only a free stmt is returned
+            if (preparedStatement != null) {
+                if (isFree(preparedStatement)) {
+                    // Find if this preparedStatement is a valid one. If invalid, remove it
+                    // from the cache and prepare a new stmt & add it to cache
+                    if (!preparedStatement.isValid()) {
+                        statementCache.purge(preparedStatement);
+                        preparedStatement = connection.prepareCachedStatement(sql, resultSetType, resultSetConcurrency, true);
+                        preparedStatement.setBusy(true);
+                        statementCache.addToCache(key, preparedStatement, false);
                     } else {
-                        //Valid ps
-                        ps.setBusy(true);
+                        // Valid preparedStatement
+                        preparedStatement.setBusy(true);
                     }
                 } else {
-                    return conWrapper.prepareCachedStatement(sql, resultSetType,
-                            resultSetConcurrency, false);
+                    return connection.prepareCachedStatement(sql, resultSetType, resultSetConcurrency, false);
                 }
             } else {
-                ps = conWrapper.prepareCachedStatement(sql, resultSetType,
-                        resultSetConcurrency, true);
+                preparedStatement = connection.prepareCachedStatement(sql, resultSetType, resultSetConcurrency, true);
 
-                ps.setBusy(true);
-                statementCache.addToCache(key, ps, false);
-
+                preparedStatement.setBusy(true);
+                statementCache.addToCache(key, preparedStatement, false);
             }
-            return ps;
-        } else
-            return conWrapper.prepareCachedStatement(sql, resultSetType,
-                    resultSetConcurrency, false);
+
+            return preparedStatement;
+        }
+
+        return connection.prepareCachedStatement(sql, resultSetType, resultSetConcurrency, false);
     }
 
-    public PreparedStatement prepareCachedStatement(
-            ConnectionWrapper conWrapper, String sql, int resultSetType,
+    public PreparedStatement prepareCachedStatement(ConnectionWrapper connection, String sql, int resultSetType,
             int resultSetConcurrency, int resultSetHoldability) throws SQLException {
         if (statementCaching) {
-            CacheObjectKey key = new CacheObjectKey(sql,
-                    CacheObjectKey.PREPARED_STATEMENT, resultSetType,
-                    resultSetConcurrency, resultSetHoldability);
-            //TODO-SC should a null check be done for statementCache?
-            PreparedStatementWrapper ps =
-                    (PreparedStatementWrapper)
-                    statementCache.checkAndUpdateCache(key);
-            //TODO-SC-DEFER can the usability (isFree()) check be done by the cache itself and make sure that only a free stmt is returned
-            if (ps != null) {
-                if (isFree(ps)) {
-                    //Find if this ps is a valid one. If invalid, remove it
-                    //from the cache and prepare a new stmt & add it to cache
-                    if(!ps.isValid()) {
-                        statementCache.purge(ps);
-                        ps = conWrapper.prepareCachedStatement(sql, resultSetType,
-                                resultSetConcurrency, resultSetHoldability, true);
-                        ps.setBusy(true);
-                        statementCache.addToCache(key, ps, false);
+            CacheObjectKey key =
+                new CacheObjectKey(sql, CacheObjectKey.PREPARED_STATEMENT, resultSetType, resultSetConcurrency, resultSetHoldability);
+
+            // TODO-SC should a null check be done for statementCache?
+            PreparedStatementWrapper preparedStatement = (PreparedStatementWrapper) statementCache.checkAndUpdateCache(key);
+
+            // TODO-SC-DEFER can the usability (isFree()) check be done by the cache itself
+            // and make sure that only a free stmt is returned
+            if (preparedStatement != null) {
+                if (isFree(preparedStatement)) {
+                    // Find if this preparedStatement is a valid one. If invalid, remove it
+                    // from the cache and prepare a new stmt & add it to cache
+                    if (!preparedStatement.isValid()) {
+                        statementCache.purge(preparedStatement);
+                        preparedStatement = connection.prepareCachedStatement(sql, resultSetType, resultSetConcurrency,
+                                resultSetHoldability, true);
+                        preparedStatement.setBusy(true);
+                        statementCache.addToCache(key, preparedStatement, false);
                     } else {
-                        //Valid ps
-                        ps.setBusy(true);
+                        // Valid preparedStatement
+                        preparedStatement.setBusy(true);
                     }
 
                 } else {
-                    return conWrapper.prepareCachedStatement(sql, resultSetType,
-                            resultSetConcurrency, resultSetHoldability, false);
-                }
-            } else {
-                ps = conWrapper.prepareCachedStatement(sql, resultSetType,
-                        resultSetConcurrency, resultSetHoldability, true);
-
-                statementCache.addToCache(key, ps, false);
-                ps.setBusy(true);
-            }
-            return ps;
-        } else
-            return conWrapper.prepareCachedStatement(sql, resultSetType,
-                    resultSetConcurrency, resultSetHoldability, false);
-    }
-
-    public PreparedStatement prepareCachedStatement(
-            ConnectionWrapper conWrapper, String sql, String[] columnNames)
-            throws SQLException {
-        if (statementCaching) {
-            CacheObjectKey key = new CacheObjectKey(sql,
-                    CacheObjectKey.PREPARED_STATEMENT, columnNames);
-            //TODO-SC should a null check be done for statementCache?
-            PreparedStatementWrapper ps =
-                    (PreparedStatementWrapper)
-                    statementCache.checkAndUpdateCache(key);
-            //TODO-SC-DEFER can the usability (isFree()) check be done by the cache itself and make sure that only a free stmt is returned
-            if (ps != null) {
-                if (isFree(ps)) {
-                    //Find if this ps is a valid one. If invalid, remove it
-                    //from the cache and prepare a new stmt & add it to cache
-                    if(!ps.isValid()) {
-                        statementCache.purge(ps);
-                        ps = conWrapper.prepareCachedStatement(sql,
-                                columnNames, true);
-                        ps.setBusy(true);
-                        statementCache.addToCache(key, ps, false);
-                    } else {
-                        //Valid ps
-                        ps.setBusy(true);
-                    }
-
-                } else {
-                    return conWrapper.prepareCachedStatement(sql, columnNames, false);
-                }
-            } else {
-                ps = conWrapper.prepareCachedStatement(sql, columnNames, true);
-
-                statementCache.addToCache(key, ps, false);
-                ps.setBusy(true);
-            }
-            return ps;
-        } else
-            return conWrapper.prepareCachedStatement(sql, columnNames, false);
-    }
-
-    public PreparedStatement prepareCachedStatement(
-            ConnectionWrapper conWrapper, String sql, int[] columnIndexes)
-            throws SQLException {
-        if (statementCaching) {
-            CacheObjectKey key = new CacheObjectKey(sql,
-                    CacheObjectKey.PREPARED_STATEMENT, columnIndexes);
-            //TODO-SC should a null check be done for statementCache?
-            PreparedStatementWrapper ps =
-                    (PreparedStatementWrapper)
-                    statementCache.checkAndUpdateCache(key);
-            //TODO-SC-DEFER can the usability (isFree()) check be done by the cache itself and make sure that only a free stmt is returned
-            if (ps != null) {
-                if (isFree(ps)) {
-                    //Find if this ps is a valid one. If invalid, remove it
-                    //from the cache and prepare a new stmt & add it to cache
-                    if(!ps.isValid()) {
-                        statementCache.purge(ps);
-                        ps = conWrapper.prepareCachedStatement(sql,
-                                columnIndexes, true);
-                        ps.setBusy(true);
-                        statementCache.addToCache(key, ps, false);
-                    } else {
-                        //Valid ps
-                        ps.setBusy(true);
-                    }
-
-                } else {
-                    return conWrapper.prepareCachedStatement(sql, columnIndexes, false);
-                }
-            } else {
-                ps = conWrapper.prepareCachedStatement(sql, columnIndexes, true);
-
-                statementCache.addToCache(key, ps, false);
-                ps.setBusy(true);
-            }
-            return ps;
-        } else
-            return conWrapper.prepareCachedStatement(sql, columnIndexes, false);
-    }
-
-    public PreparedStatement prepareCachedStatement(
-            ConnectionWrapper conWrapper, String sql, int autoGeneratedKeys)
-            throws SQLException {
-        if (statementCaching) {
-            CacheObjectKey key = new CacheObjectKey(sql,
-                    CacheObjectKey.PREPARED_STATEMENT, autoGeneratedKeys);
-            //TODO-SC should a null check be done for statementCache?
-            PreparedStatementWrapper ps =
-                    (PreparedStatementWrapper)
-                    statementCache.checkAndUpdateCache(key);
-            //TODO-SC-DEFER can the usability (isFree()) check be done by the cache itself and make sure that only a free stmt is returned
-            if (ps != null) {
-                if (isFree(ps)) {
-                    //Find if this ps is a valid one. If invalid, remove it
-                    //from the cache and prepare a new stmt & add it to cache
-                    if(!ps.isValid()) {
-                        statementCache.purge(ps);
-                        ps = conWrapper.prepareCachedStatement(sql,
-                                autoGeneratedKeys, true);
-                        ps.setBusy(true);
-                        statementCache.addToCache(key, ps, false);
-                    } else {
-                        //Valid ps
-                        ps.setBusy(true);
-                    }
-
-                } else {
-                    return conWrapper.prepareCachedStatement(sql, autoGeneratedKeys, false);
-                }
-            } else {
-                ps = conWrapper.prepareCachedStatement(sql, autoGeneratedKeys, true);
-
-                statementCache.addToCache(key, ps, false);
-                ps.setBusy(true);
-            }
-            return ps;
-        } else
-            return conWrapper.prepareCachedStatement(sql, autoGeneratedKeys, false);
-    }
-
-    public CallableStatement prepareCachedCallableStatement(
-           ConnectionWrapper conWrapper, String sql, int resultSetType,
-           int resultSetConcurrency) throws SQLException {
-        if (statementCaching) {
-            //Adding the sql as well as the Statement type "CS" to the CacheObjectKey object
-            CacheObjectKey key = new CacheObjectKey(sql,
-                    CacheObjectKey.CALLABLE_STATEMENT, resultSetType, resultSetConcurrency);
-            CallableStatementWrapper cs =
-                    (CallableStatementWrapper)
-                    statementCache.checkAndUpdateCache(key);
-            //TODO-SC-DEFER can the usability (isFree()) check be done by the cache
-            //itself and make sure that only a free stmt is returned
-            if (cs != null) {
-                if (isFree(cs)) {
-                    //Find if this cs is a valid one. If invalid, remove it
-                    //from the cache and prepare a new stmt & add it to cache
-                    if(!cs.isValid()) {
-                        statementCache.purge(cs);
-                        cs = conWrapper.callableCachedStatement(sql, resultSetType,
-                                resultSetConcurrency, true);
-                        cs.setBusy(true);
-                        statementCache.addToCache(key, cs, false);
-                    } else {
-                        //Valid ps
-                        cs.setBusy(true);
-                    }
-
-                } else {
-                    return conWrapper.callableCachedStatement(sql,
-                            resultSetType, resultSetConcurrency, false);
-                }
-            } else {
-                cs = conWrapper.callableCachedStatement(sql, resultSetType,
-                        resultSetConcurrency, true);
-
-                statementCache.addToCache(key, cs, false);
-                cs.setBusy(true);
-            }
-            return cs;
-        } else
-            return conWrapper.callableCachedStatement(sql, resultSetType,
-                    resultSetConcurrency, false);
-    }
-
-    public CallableStatement prepareCachedCallableStatement(
-           ConnectionWrapper conWrapper, String sql, int resultSetType,
-           int resultSetConcurrency, int resultSetHoldability) throws SQLException {
-        if (statementCaching) {
-            //Adding the sql as well as the Statement type "CS" to the CacheObjectKey object
-            CacheObjectKey key = new CacheObjectKey(sql,
-                    CacheObjectKey.CALLABLE_STATEMENT, resultSetType,
-                    resultSetConcurrency, resultSetHoldability);
-            CallableStatementWrapper cs =
-                    (CallableStatementWrapper)
-                    statementCache.checkAndUpdateCache(key);
-            //TODO-SC-DEFER can the usability (isFree()) check be done by the cache
-            //itself and make sure that only a free stmt is returned
-            if (cs != null) {
-                if (isFree(cs)) {
-                    //Find if this cs is a valid one. If invalid, remove it
-                    //from the cache and prepare a new stmt & add it to cache
-                    if(!cs.isValid()) {
-                        statementCache.purge(cs);
-                        cs = conWrapper.callableCachedStatement(sql, resultSetType,
-                                resultSetConcurrency, resultSetHoldability, true);
-                        cs.setBusy(true);
-                        statementCache.addToCache(key, cs, false);
-                    } else {
-                        //Valid ps
-                        cs.setBusy(true);
-                    }
-
-                } else {
-                    return conWrapper.callableCachedStatement(sql,
-                            resultSetType, resultSetConcurrency,
+                    return connection.prepareCachedStatement(sql, resultSetType, resultSetConcurrency,
                             resultSetHoldability, false);
                 }
             } else {
-                cs = conWrapper.callableCachedStatement(sql, resultSetType,
-                        resultSetConcurrency, resultSetHoldability, true);
+                preparedStatement = connection.prepareCachedStatement(sql, resultSetType, resultSetConcurrency, resultSetHoldability,
+                        true);
 
-                statementCache.addToCache(key, cs, false);
-                cs.setBusy(true);
+                statementCache.addToCache(key, preparedStatement, false);
+                preparedStatement.setBusy(true);
             }
-            return cs;
-        } else
-            return conWrapper.callableCachedStatement(sql, resultSetType,
-                    resultSetConcurrency, resultSetHoldability, false);
+            return preparedStatement;
+        }
+
+        return connection.prepareCachedStatement(
+                   sql, resultSetType, resultSetConcurrency, resultSetHoldability, false);
+    }
+
+    public PreparedStatement prepareCachedStatement(ConnectionWrapper connection, String sql, String[] columnNames) throws SQLException {
+        if (statementCaching) {
+            CacheObjectKey key = new CacheObjectKey(sql, CacheObjectKey.PREPARED_STATEMENT, columnNames);
+
+            // TODO-SC should a null check be done for statementCache?
+            PreparedStatementWrapper preparedStatement = (PreparedStatementWrapper) statementCache.checkAndUpdateCache(key);
+
+            // TODO-SC-DEFER can the usability (isFree()) check be done by the cache itself
+            // and make sure that only a free stmt is returned
+            if (preparedStatement != null) {
+                if (isFree(preparedStatement)) {
+                    // Find if this preparedStatement is a valid one. If invalid, remove it
+                    // from the cache and prepare a new stmt & add it to cache
+                    if (!preparedStatement.isValid()) {
+                        statementCache.purge(preparedStatement);
+                        preparedStatement = connection.prepareCachedStatement(sql, columnNames, true);
+                        preparedStatement.setBusy(true);
+                        statementCache.addToCache(key, preparedStatement, false);
+                    } else {
+                        // Valid preparedStatement
+                        preparedStatement.setBusy(true);
+                    }
+
+                } else {
+                    return connection.prepareCachedStatement(sql, columnNames, false);
+                }
+            } else {
+                preparedStatement = connection.prepareCachedStatement(sql, columnNames, true);
+
+                statementCache.addToCache(key, preparedStatement, false);
+                preparedStatement.setBusy(true);
+            }
+
+            return preparedStatement;
+        }
+
+        return connection.prepareCachedStatement(sql, columnNames, false);
+    }
+
+    public PreparedStatement prepareCachedStatement(ConnectionWrapper connection, String sql, int[] columnIndexes) throws SQLException {
+        if (statementCaching) {
+            CacheObjectKey key = new CacheObjectKey(sql, CacheObjectKey.PREPARED_STATEMENT, columnIndexes);
+
+            // TODO-SC should a null check be done for statementCache?
+            PreparedStatementWrapper preparedStatement = (PreparedStatementWrapper) statementCache.checkAndUpdateCache(key);
+
+            // TODO-SC-DEFER can the usability (isFree()) check be done by the cache itself
+            // and make sure that only a free stmt is returned
+            if (preparedStatement != null) {
+                if (isFree(preparedStatement)) {
+                    // Find if this preparedStatement is a valid one. If invalid, remove it
+                    // from the cache and prepare a new stmt & add it to cache
+                    if (!preparedStatement.isValid()) {
+                        statementCache.purge(preparedStatement);
+                        preparedStatement = connection.prepareCachedStatement(sql, columnIndexes, true);
+                        preparedStatement.setBusy(true);
+                        statementCache.addToCache(key, preparedStatement, false);
+                    } else {
+                        // Valid preparedStatement
+                        preparedStatement.setBusy(true);
+                    }
+
+                } else {
+                    return connection.prepareCachedStatement(sql, columnIndexes, false);
+                }
+            } else {
+                preparedStatement = connection.prepareCachedStatement(sql, columnIndexes, true);
+
+                statementCache.addToCache(key, preparedStatement, false);
+                preparedStatement.setBusy(true);
+            }
+
+            return preparedStatement;
+        }
+
+        return connection.prepareCachedStatement(sql, columnIndexes, false);
+    }
+
+    public PreparedStatement prepareCachedStatement(ConnectionWrapper connection, String sql, int autoGeneratedKeys) throws SQLException {
+        if (statementCaching) {
+            CacheObjectKey key = new CacheObjectKey(sql, CacheObjectKey.PREPARED_STATEMENT, autoGeneratedKeys);
+
+            // TODO-SC should a null check be done for statementCache?
+            PreparedStatementWrapper preparedStatement = (PreparedStatementWrapper) statementCache.checkAndUpdateCache(key);
+
+            // TODO-SC-DEFER can the usability (isFree()) check be done by the cache itself
+            // and make sure that only a free stmt is returned
+            if (preparedStatement != null) {
+                if (isFree(preparedStatement)) {
+                    // Find if this preparedStatement is a valid one. If invalid, remove it
+                    // from the cache and prepare a new stmt & add it to cache
+                    if (!preparedStatement.isValid()) {
+                        statementCache.purge(preparedStatement);
+                        preparedStatement = connection.prepareCachedStatement(sql, autoGeneratedKeys, true);
+                        preparedStatement.setBusy(true);
+                        statementCache.addToCache(key, preparedStatement, false);
+                    } else {
+                        // Valid preparedStatement
+                        preparedStatement.setBusy(true);
+                    }
+
+                } else {
+                    return connection.prepareCachedStatement(sql, autoGeneratedKeys, false);
+                }
+            } else {
+                preparedStatement = connection.prepareCachedStatement(sql, autoGeneratedKeys, true);
+
+                statementCache.addToCache(key, preparedStatement, false);
+                preparedStatement.setBusy(true);
+            }
+
+            return preparedStatement;
+        }
+
+        return connection.prepareCachedStatement(sql, autoGeneratedKeys, false);
+    }
+
+    public CallableStatement prepareCachedCallableStatement(ConnectionWrapper connection, String sql, int resultSetType, int resultSetConcurrency) throws SQLException {
+        if (statementCaching) {
+            // Adding the sql as well as the Statement type "CS" to the CacheObjectKey
+            // object
+            CacheObjectKey key = new CacheObjectKey(sql, CacheObjectKey.CALLABLE_STATEMENT, resultSetType, resultSetConcurrency);
+            CallableStatementWrapper callableStatement = (CallableStatementWrapper) statementCache.checkAndUpdateCache(key);
+
+            // TODO-SC-DEFER can the usability (isFree()) check be done by the cache
+            // itself and make sure that only a free stmt is returned
+            if (callableStatement != null) {
+                if (isFree(callableStatement)) {
+                    // Find if this callableStatement is a valid one. If invalid, remove it
+                    // from the cache and prepare a new stmt & add it to cache
+                    if (!callableStatement.isValid()) {
+                        statementCache.purge(callableStatement);
+                        callableStatement = connection.callableCachedStatement(sql, resultSetType, resultSetConcurrency, true);
+                        callableStatement.setBusy(true);
+                        statementCache.addToCache(key, callableStatement, false);
+                    } else {
+                        // Valid callableStatement
+                        callableStatement.setBusy(true);
+                    }
+
+                } else {
+                    return connection.callableCachedStatement(sql, resultSetType, resultSetConcurrency, false);
+                }
+            } else {
+                callableStatement = connection.callableCachedStatement(sql, resultSetType, resultSetConcurrency, true);
+
+                statementCache.addToCache(key, callableStatement, false);
+                callableStatement.setBusy(true);
+            }
+            return callableStatement;
+        }
+
+        return connection.callableCachedStatement(sql, resultSetType, resultSetConcurrency, false);
+    }
+
+    public CallableStatement prepareCachedCallableStatement(ConnectionWrapper connection, String sql, int resultSetType,
+            int resultSetConcurrency, int resultSetHoldability) throws SQLException {
+        if (statementCaching) {
+
+            // Adding the sql as well as the Statement type "CS" to the CacheObjectKey object
+            CacheObjectKey key = new CacheObjectKey(sql, CacheObjectKey.CALLABLE_STATEMENT, resultSetType,
+                    resultSetConcurrency, resultSetHoldability);
+            CallableStatementWrapper callableStatement = (CallableStatementWrapper) statementCache.checkAndUpdateCache(key);
+
+            // TODO-SC-DEFER can the usability (isFree()) check be done by the cache
+            // itself and make sure that only a free stmt is returned
+            if (callableStatement != null) {
+                if (isFree(callableStatement)) {
+                    // Find if this cs is a valid one. If invalid, remove it
+                    // from the cache and prepare a new stmt & add it to cache
+                    if (!callableStatement.isValid()) {
+                        statementCache.purge(callableStatement);
+                        callableStatement = connection.callableCachedStatement(sql, resultSetType, resultSetConcurrency,
+                                resultSetHoldability, true);
+                        callableStatement.setBusy(true);
+                        statementCache.addToCache(key, callableStatement, false);
+                    } else {
+                        // Valid ps
+                        callableStatement.setBusy(true);
+                    }
+
+                } else {
+                    return connection.callableCachedStatement(sql, resultSetType, resultSetConcurrency,
+                            resultSetHoldability, false);
+                }
+            } else {
+                callableStatement = connection.callableCachedStatement(sql, resultSetType, resultSetConcurrency, resultSetHoldability,
+                        true);
+
+                statementCache.addToCache(key, callableStatement, false);
+                callableStatement.setBusy(true);
+            }
+
+            return callableStatement;
+        }
+
+        return connection.callableCachedStatement(sql, resultSetType, resultSetConcurrency, resultSetHoldability, false);
     }
 
     boolean isFree(PreparedStatementWrapper cachedps) {
@@ -1236,7 +1187,7 @@
     }
 
     public void purgeStatementFromCache(PreparedStatement preparedStatement) {
-        //TODO isValid check for preparedStatement?
+        // TODO isValid check for preparedStatement?
         statementCache.purge(preparedStatement);
     }
 }
diff --git a/appserver/jdbc/jdbc-ra/jdbc-core/src/main/java/com/sun/gjc/spi/ManagedConnectionMetaDataImpl.java b/appserver/jdbc/jdbc-ra/jdbc-core/src/main/java/com/sun/gjc/spi/ManagedConnectionMetaDataImpl.java
index 0ec7c53..f12cd20 100644
--- a/appserver/jdbc/jdbc-ra/jdbc-core/src/main/java/com/sun/gjc/spi/ManagedConnectionMetaDataImpl.java
+++ b/appserver/jdbc/jdbc-ra/jdbc-core/src/main/java/com/sun/gjc/spi/ManagedConnectionMetaDataImpl.java
@@ -16,110 +16,111 @@
 
 package com.sun.gjc.spi;
 
+import static java.util.logging.Level.SEVERE;
+
+import java.sql.DatabaseMetaData;
+import java.sql.SQLException;
+import java.util.logging.Logger;
+
 import com.sun.logging.LogDomains;
 
 import jakarta.resource.ResourceException;
-import java.sql.SQLException;
-import java.util.logging.Level;
-import java.util.logging.Logger;
+import jakarta.resource.spi.ManagedConnectionMetaData;
+import jakarta.resource.spi.security.PasswordCredential;
 
 /**
- * <code>ManagedConnectionMetaData</code> implementation for Generic JDBC Connector.
+ * <code>ManagedConnectionMetaData</code> implementation for Generic JDBC
+ * Connector.
  *
  * @author Evani Sai Surya Kiran
  * @version 1.0, 02/08/03
  */
-public class ManagedConnectionMetaDataImpl implements jakarta.resource.spi.ManagedConnectionMetaData {
+public class ManagedConnectionMetaDataImpl implements ManagedConnectionMetaData {
 
-    private java.sql.DatabaseMetaData dmd = null;
-    private ManagedConnectionImpl mc;
+    private static Logger _logger = LogDomains.getLogger(ManagedConnectionMetaDataImpl.class, LogDomains.RSR_LOGGER);
 
-    private static Logger _logger;
-
-    static {
-        _logger = LogDomains.getLogger(ManagedConnectionMetaDataImpl.class, LogDomains.RSR_LOGGER);
-    }
-
-    private boolean debug = false;
+    private DatabaseMetaData databaseMetaData;
+    private ManagedConnectionImpl managedConnection;
 
     /**
      * Constructor for <code>ManagedConnectionMetaDataImpl</code>
      *
-     * @param mc <code>ManagedConnection</code>
-     * @throws <code>ResourceException</code> if getting the DatabaseMetaData object fails
+     * @param managedConnection <code>ManagedConnection</code>
+     * @throws <code>ResourceException</code> if getting the DatabaseMetaData object
+     * fails
      */
-    public ManagedConnectionMetaDataImpl(ManagedConnectionImpl mc) throws ResourceException {
+    public ManagedConnectionMetaDataImpl(ManagedConnectionImpl managedConnection) throws ResourceException {
         try {
-            this.mc = mc;
-            dmd = mc.getActualConnection().getMetaData();
+            this.managedConnection = managedConnection;
+            databaseMetaData = managedConnection.getActualConnection().getMetaData();
         } catch (SQLException sqle) {
-            _logger.log(Level.SEVERE, "jdbc.exc_md", sqle);
-            throw new ResourceException(sqle.getMessage());
+            _logger.log(SEVERE, "jdbc.exc_md", sqle);
+            throw new ResourceException(sqle.getMessage(), sqle);
         }
     }
 
     /**
-     * Returns product name of the underlying EIS instance connected
-     * through the ManagedConnection.
+     * Returns product name of the underlying EIS instance connected through the
+     * ManagedConnection.
      *
      * @return Product name of the EIS instance
      * @throws <code>ResourceException</code>
      */
     public String getEISProductName() throws ResourceException {
         try {
-            return dmd.getDatabaseProductName();
+            return databaseMetaData.getDatabaseProductName();
         } catch (SQLException sqle) {
-            _logger.log(Level.SEVERE, "jdbc.exc_eis_prodname", sqle);
-            throw new ResourceException(sqle.getMessage());
+            _logger.log(SEVERE, "jdbc.exc_eis_prodname", sqle);
+            throw new ResourceException(sqle.getMessage(), sqle);
         }
     }
 
     /**
-     * Returns product version of the underlying EIS instance connected
-     * through the ManagedConnection.
+     * Returns product version of the underlying EIS instance connected through the
+     * ManagedConnection.
      *
      * @return Product version of the EIS instance
      * @throws <code>ResourceException</code>
      */
     public String getEISProductVersion() throws ResourceException {
         try {
-            return dmd.getDatabaseProductVersion();
+            return databaseMetaData.getDatabaseProductVersion();
         } catch (SQLException sqle) {
-            _logger.log(Level.SEVERE, "jdbc.exc_eis_prodvers", sqle);
+            _logger.log(SEVERE, "jdbc.exc_eis_prodvers", sqle);
             throw new ResourceException(sqle.getMessage(), sqle.getMessage());
         }
     }
 
     /**
-     * Returns maximum limit on number of active concurrent connections
-     * that an EIS instance can support across client processes.
+     * Returns maximum limit on number of active concurrent connections that an EIS
+     * instance can support across client processes.
      *
      * @return Maximum limit for number of active concurrent connections
      * @throws <code>ResourceException</code>
      */
     public int getMaxConnections() throws ResourceException {
         try {
-            return dmd.getMaxConnections();
+            return databaseMetaData.getMaxConnections();
         } catch (SQLException sqle) {
-            _logger.log(Level.SEVERE, "jdbc.exc_eis_maxconn");
-            throw new ResourceException(sqle.getMessage());
+            _logger.log(SEVERE, "jdbc.exc_eis_maxconn");
+            throw new ResourceException(sqle.getMessage(), sqle);
         }
     }
 
     /**
-     * Returns name of the user associated with the ManagedConnection instance. The name
-     * corresponds to the resource principal under whose whose security context, a connection
-     * to the EIS instance has been established.
+     * Returns name of the user associated with the ManagedConnection instance. The
+     * name corresponds to the resource principal under whose whose security
+     * context, a connection to the EIS instance has been established.
      *
      * @return name of the user
      * @throws <code>ResourceException</code>
      */
     public String getUserName() throws ResourceException {
-        jakarta.resource.spi.security.PasswordCredential pc = mc.getPasswordCredential();
-        if (pc != null) {
-            return pc.getUserName();
+        PasswordCredential passwordCredential = managedConnection.getPasswordCredential();
+        if (passwordCredential != null) {
+            return passwordCredential.getUserName();
         }
 
-        return mc.getManagedConnectionFactory().getUser();
+        return managedConnection.getManagedConnectionFactory().getUser();
     }
 }
diff --git a/appserver/jdbc/jdbc-ra/jdbc-core/src/main/java/com/sun/gjc/spi/ResourceAdapterImpl.java b/appserver/jdbc/jdbc-ra/jdbc-core/src/main/java/com/sun/gjc/spi/ResourceAdapterImpl.java
index 953a414..4cf1148 100644
--- a/appserver/jdbc/jdbc-ra/jdbc-core/src/main/java/com/sun/gjc/spi/ResourceAdapterImpl.java
+++ b/appserver/jdbc/jdbc-ra/jdbc-core/src/main/java/com/sun/gjc/spi/ResourceAdapterImpl.java
@@ -16,18 +16,24 @@
 
 package com.sun.gjc.spi;
 
-import com.sun.logging.LogDomains;
+import static jakarta.resource.spi.AuthenticationMechanism.CredentialInterface.PasswordCredential;
+import static java.util.logging.Level.SEVERE;
+
 import java.util.Timer;
-import java.util.logging.Level;
 import java.util.logging.Logger;
+
+import javax.transaction.xa.XAResource;
+
+import com.sun.logging.LogDomains;
+
 import jakarta.resource.NotSupportedException;
 import jakarta.resource.spi.ActivationSpec;
 import jakarta.resource.spi.AuthenticationMechanism;
 import jakarta.resource.spi.BootstrapContext;
 import jakarta.resource.spi.Connector;
+import jakarta.resource.spi.ResourceAdapter;
 import jakarta.resource.spi.UnavailableException;
 import jakarta.resource.spi.endpoint.MessageEndpointFactory;
-import javax.transaction.xa.XAResource;
 
 /**
  * <code>ResourceAdapterImpl</code> implementation for Generic JDBC Connector.
@@ -42,36 +48,40 @@
     eisType = "Database",
     version = "1.0",
     authMechanisms = {
-        @AuthenticationMechanism(authMechanism="BasicPassword",
-            credentialInterface=AuthenticationMechanism.CredentialInterface.PasswordCredential)
+        @AuthenticationMechanism(
+            authMechanism = "BasicPassword",
+            credentialInterface = PasswordCredential)
     }
 )
-public class ResourceAdapterImpl implements jakarta.resource.spi.ResourceAdapter {
-    private static ResourceAdapterImpl ra;
+public class ResourceAdapterImpl implements ResourceAdapter {
+
+    private static Logger logger = LogDomains.getLogger(ResourceAdapterImpl.class, LogDomains.RSR_LOGGER);
+
+    private static ResourceAdapterImpl resourceAdapterImpl;
     private BootstrapContext bootstrapContext;
     private Timer timer;
-    private static Logger _logger = LogDomains.getLogger(ResourceAdapterImpl.class, LogDomains.RSR_LOGGER);
 
     public ResourceAdapterImpl() {
-        if(ra == null){
-            //we do not expect RA to be initialized multiple times as this is a System RAR
-            ra = this;
+        if (resourceAdapterImpl == null) {
+            // We do not expect RA to be initialized multiple times as this is a System RAR
+            resourceAdapterImpl = this;
         }
     }
 
     public static ResourceAdapterImpl getInstance() {
-        if(ra == null) {
+        if (resourceAdapterImpl == null) {
             throw new IllegalStateException("ResourceAdapter not initialized");
         }
-        return ra;
+
+        return resourceAdapterImpl;
     }
 
     /**
-     * Empty method implementation for endpointActivation
-     * which just throws <code>NotSupportedException</code>
+     * Empty method implementation for endpointActivation which just throws
+     * <code>NotSupportedException</code>
      *
      * @param mef <code>MessageEndpointFactory</code>
-     * @param as  <code>ActivationSpec</code>
+     * @param as <code>ActivationSpec</code>
      * @throws <code>NotSupportedException</code>
      *
      */
@@ -83,15 +93,15 @@
      * Empty method implementation for endpointDeactivation
      *
      * @param mef <code>MessageEndpointFactory</code>
-     * @param as  <code>ActivationSpec</code>
+     * @param as <code>ActivationSpec</code>
      */
     public void endpointDeactivation(MessageEndpointFactory mef, ActivationSpec as) {
 
     }
 
     /**
-     * Empty method implementation for getXAResources
-     * which just throws <code>NotSupportedException</code>
+     * Empty method implementation for getXAResources which just throws
+     * <code>NotSupportedException</code>
      *
      * @param specs <code>ActivationSpec</code> array
      * @throws <code>NotSupportedException</code>
@@ -104,38 +114,35 @@
     /**
      * Empty implementation of start method
      *
-     * @param ctx <code>BootstrapContext</code>
+     * @param bootstrapContext <code>BootstrapContext</code>
      */
-    public void start(BootstrapContext ctx) {
-        this.bootstrapContext = ctx;
+    public void start(BootstrapContext bootstrapContext) {
+        this.bootstrapContext = bootstrapContext;
     }
 
     /**
      * Empty implementation of stop method
      */
     public void stop() {
-        if(_logger.isLoggable(Level.FINEST)) {
-            _logger.finest("Cancelling the timer");
-        }
-        if(timer != null) {
+        logger.finest("Cancelling the timer");
+        if (timer != null) {
             timer.purge();
             timer.cancel();
         }
     }
 
     public Timer getTimer() {
-        if(bootstrapContext != null) {
+        if (bootstrapContext != null) {
             if (timer == null) {
-                if(_logger.isLoggable(Level.FINEST)) {
-                    _logger.finest("Creating the timer");
-                }
+                logger.finest("Creating the timer");
                 try {
                     timer = bootstrapContext.createTimer();
                 } catch (UnavailableException ex) {
-                    _logger.log(Level.SEVERE, "jdbc-ra.timer_creation_exception", ex.getMessage());
+                    logger.log(SEVERE, "jdbc-ra.timer_creation_exception", ex.getMessage());
                 }
             }
         }
+
         return timer;
     }
 }
diff --git a/appserver/jdbc/jdbc-ra/jdbc-core/src/main/java/com/sun/gjc/spi/XAManagedConnectionFactory.java b/appserver/jdbc/jdbc-ra/jdbc-core/src/main/java/com/sun/gjc/spi/XAManagedConnectionFactory.java
index 25e1526..814239b 100644
--- a/appserver/jdbc/jdbc-ra/jdbc-core/src/main/java/com/sun/gjc/spi/XAManagedConnectionFactory.java
+++ b/appserver/jdbc/jdbc-ra/jdbc-core/src/main/java/com/sun/gjc/spi/XAManagedConnectionFactory.java
@@ -16,116 +16,119 @@
 
 package com.sun.gjc.spi;
 
+import static com.sun.gjc.spi.ManagedConnectionImpl.ISXACONNECTION;
+import static com.sun.gjc.util.SecurityUtils.getPasswordCredential;
+import static java.util.logging.Level.FINE;
+import static java.util.logging.Level.FINEST;
+import static java.util.logging.Level.SEVERE;
+
+import java.sql.Connection;
+import java.sql.SQLException;
+import java.util.logging.Logger;
+
+import javax.security.auth.Subject;
+import javax.sql.DataSource;
+import javax.sql.XAConnection;
+import javax.sql.XADataSource;
+
 import com.sun.enterprise.util.i18n.StringManager;
 import com.sun.gjc.common.DataSourceObjectBuilder;
 import com.sun.gjc.common.DataSourceSpec;
 import com.sun.gjc.spi.base.AbstractDataSource;
-import com.sun.gjc.util.SecurityUtils;
+import com.sun.gjc.spi.base.ConnectionHolder;
 import com.sun.logging.LogDomains;
 
 import jakarta.resource.ResourceException;
+import jakarta.resource.spi.ConfigProperty;
+import jakarta.resource.spi.ConnectionDefinition;
 import jakarta.resource.spi.ConnectionRequestInfo;
 import jakarta.resource.spi.ResourceAllocationException;
 import jakarta.resource.spi.security.PasswordCredential;
-import java.sql.SQLException;
-import java.util.logging.Level;
-import java.util.logging.Logger;
-import jakarta.resource.spi.ConfigProperty;
-import jakarta.resource.spi.ConnectionDefinition;
 
 /**
- * XA <code>ManagedConnectionFactory</code> implementation for Generic JDBC Connector.
+ * XA <code>ManagedConnectionFactory</code> implementation for Generic JDBC
+ * Connector.
  *
  * @author Evani Sai Surya Kiran
  * @version 1.0, 02/07/27
  */
 @ConnectionDefinition(
-    connectionFactory = javax.sql.DataSource.class,
+    connectionFactory = DataSource.class,
     connectionFactoryImpl = AbstractDataSource.class,
-    connection = java.sql.Connection.class,
-    connectionImpl = com.sun.gjc.spi.base.ConnectionHolder.class
+    connection = Connection.class,
+    connectionImpl = ConnectionHolder.class
 )
 public class XAManagedConnectionFactory extends ManagedConnectionFactoryImpl {
 
     private transient javax.sql.XADataSource xaDataSourceObj;
 
-    private static Logger _logger;
-
-    static {
-        _logger = LogDomains.getLogger(XAManagedConnectionFactory.class, LogDomains.RSR_LOGGER);
-    }
+    private static Logger _logger = LogDomains.getLogger(XAManagedConnectionFactory.class, LogDomains.RSR_LOGGER);
 
     /**
-     * Creates a new physical connection to the underlying EIS resource
-     * manager.
+     * Creates a new physical connection to the underlying EIS resource manager.
      *
-     * @param subject       <code>Subject</code> instance passed by the application server
-     * @param cxRequestInfo <code>ConnectionRequestInfo</code> which may be created
-     *                      as a result of the invocation <code>getConnection(user, password)</code>
-     *                      on the <code>DataSource</code> object
+     * @param subject <code>Subject</code> instance passed by the application server
+     * @param connectionRequestInfo <code>ConnectionRequestInfo</code> which may be created
+     * as a result of the invocation <code>getConnection(user, password)</code> on
+     * the <code>DataSource</code> object
+     *
      * @return <code>ManagedConnection</code> object created
-     * @throws ResourceException           if there is an error in instantiating the
-     *                                     <code>DataSource</code> object used for the
-     *                                     creation of the <code>ManagedConnection</code> object
-     * @throws SecurityException           if there ino <code>PasswordCredential</code> object
-     *                                     satisfying this request
+     * @throws ResourceException if there is an error in instantiating the
+     * <code>DataSource</code> object used for the creation of the
+     * <code>ManagedConnection</code> object
+     * @throws SecurityException if there ino <code>PasswordCredential</code> object
+     * satisfying this request
      * @throws ResourceAllocationException if there is an error in allocating the
-     *                                     physical connection
+     * physical connection
      */
-    public jakarta.resource.spi.ManagedConnection createManagedConnection(javax.security.auth.Subject subject,
-                                                                        ConnectionRequestInfo cxRequestInfo) throws ResourceException {
+    public jakarta.resource.spi.ManagedConnection createManagedConnection(Subject subject, ConnectionRequestInfo connectionRequestInfo) throws ResourceException {
         logFine("In createManagedConnection");
-        PasswordCredential pc = SecurityUtils.getPasswordCredential(this, subject, cxRequestInfo);
+        PasswordCredential passwordCredential = getPasswordCredential(this, subject, connectionRequestInfo);
+        XADataSource dataSource = getDataSource();
 
-        javax.sql.XADataSource dataSource = getDataSource();
-
-        javax.sql.XAConnection xaConn = null;
-        ManagedConnectionImpl mc = null;
+        XAConnection xaConnection = null;
+        ManagedConnectionImpl managedConnection = null;
 
         try {
-            /* For the case where the user/passwd of the connection pool is
-            * equal to the PasswordCredential for the connection request
-            * get a connection from this pool directly.
-            * for all other conditions go create a new connection
-            */
-            if (isEqual(pc, getUser(), getPassword())) {
-                xaConn = dataSource.getXAConnection();
+            /*
+             * For the case where the user/passwd of the connection pool is equal to the
+             * PasswordCredential for the connection request get a connection from this pool
+             * directly. for all other conditions go create a new connection
+             */
+            if (isEqual(passwordCredential, getUser(), getPassword())) {
+                xaConnection = dataSource.getXAConnection();
             } else {
-                xaConn = dataSource.getXAConnection(pc.getUserName(),
-                        new String(pc.getPassword()));
+                xaConnection = dataSource.getXAConnection(
+                                passwordCredential.getUserName(),
+                                new String(passwordCredential.getPassword()));
             }
 
-
-        } catch (java.sql.SQLException sqle) {
-            //_logger.log(Level.WARNING, "jdbc.exc_create_xa_conn",sqle);
-            if(_logger.isLoggable(Level.FINE)) {
-                _logger.log(Level.FINE, "jdbc.exc_create_xa_conn", sqle);
-            }
-            StringManager sm = StringManager.getManager(
-                    DataSourceObjectBuilder.class);
+        } catch (SQLException sqle) {
+            _logger.log(FINE, "jdbc.exc_create_xa_conn", sqle);
+            StringManager sm = StringManager.getManager(DataSourceObjectBuilder.class);
             String msg = sm.getString("jdbc.cannot_allocate_connection", sqle.getMessage());
             throw new ResourceAllocationException(msg, sqle);
         }
 
-        try{
-            mc = constructManagedConnection(
-                    xaConn, null, pc, this);
-
-            mc.initializeConnectionType(ManagedConnectionImpl.ISXACONNECTION);
-            //GJCINT
-            validateAndSetIsolation(mc);
+        try {
+            managedConnection = constructManagedConnection(xaConnection, null, passwordCredential, this);
+            managedConnection.initializeConnectionType(ISXACONNECTION);
+            // GJCINT
+            validateAndSetIsolation(managedConnection);
         } finally {
-            if (mc == null) {
-                if (xaConn != null) {
+            if (managedConnection == null) {
+                if (xaConnection != null) {
                     try {
-                        xaConn.close();
+                        xaConnection.close();
                     } catch (SQLException e) {
-                        _logger.log(Level.FINEST, "Exception while closing connection : createManagedConnection" + xaConn);
+                        _logger.log(FINEST,
+                            "Exception while closing connection : createManagedConnection" + xaConnection);
                     }
                 }
             }
         }
-        return mc;
+
+        return managedConnection;
     }
 
     /**
@@ -137,44 +140,17 @@
     public javax.sql.XADataSource getDataSource() throws ResourceException {
         if (xaDataSourceObj == null) {
             try {
-                xaDataSourceObj = (javax.sql.XADataSource) super.getDataSource();
+                xaDataSourceObj = (XADataSource) super.getDataSource();
             } catch (ClassCastException cce) {
-                _logger.log(Level.SEVERE, "jdbc.exc_cce_XA", cce);
+                _logger.log(SEVERE, "jdbc.exc_cce_XA", cce);
                 throw new ResourceException(cce.getMessage());
             }
         }
+
         return xaDataSourceObj;
     }
 
     /**
-     * Check if this <code>ManagedConnectionFactory</code> is equal to
-     * another <code>ManagedConnectionFactory</code>.
-     *
-     * @param other <code>ManagedConnectionFactory</code> object for checking equality with
-     * @return true    if the property sets of both the
-     *         <code>ManagedConnectionFactory</code> objects are the same
-     *         false    otherwise
-     */
-    public boolean equals(Object other) {
-        logFine("In equals");
-        /**
-         * The check below means that two ManagedConnectionFactory objects are equal
-         * if and only if their properties are the same.
-         */
-        if (other instanceof com.sun.gjc.spi.XAManagedConnectionFactory) {
-            com.sun.gjc.spi.XAManagedConnectionFactory otherMCF =
-                    (com.sun.gjc.spi.XAManagedConnectionFactory) other;
-            return this.spec.equals(otherMCF.spec);
-        }
-        return false;
-    }
-
-    @Override
-    public int hashCode() {
-        return 31 * 7 + (spec.hashCode());
-    }
-
-    /**
      * Sets the class name of the data source
      *
      * @param className <code>String</code>
@@ -304,4 +280,32 @@
     public String getPropertyCycle() {
         return spec.getDetail(DataSourceSpec.PROPERTYCYCLE);
     }
+
+    /**
+     * Check if this <code>ManagedConnectionFactory</code> is equal to another
+     * <code>ManagedConnectionFactory</code>.
+     *
+     * @param other <code>ManagedConnectionFactory</code> object for checking
+     * equality with
+     * @return true if the property sets of both the
+     * <code>ManagedConnectionFactory</code> objects are the same false otherwise
+     */
+    public boolean equals(Object other) {
+        logFine("In equals");
+        /**
+         * The check below means that two ManagedConnectionFactory objects are equal if
+         * and only if their properties are the same.
+         */
+        if (other instanceof XAManagedConnectionFactory) {
+            XAManagedConnectionFactory otherMCF = (XAManagedConnectionFactory) other;
+            return this.spec.equals(otherMCF.spec);
+        }
+
+        return false;
+    }
+
+    @Override
+    public int hashCode() {
+        return 31 * 7 + (spec.hashCode());
+    }
 }
diff --git a/appserver/jdbc/jdbc-ra/jdbc-core/src/main/java/com/sun/gjc/spi/XAResourceImpl.java b/appserver/jdbc/jdbc-ra/jdbc-core/src/main/java/com/sun/gjc/spi/XAResourceImpl.java
index 67fb1eb..bf4905f 100644
--- a/appserver/jdbc/jdbc-ra/jdbc-core/src/main/java/com/sun/gjc/spi/XAResourceImpl.java
+++ b/appserver/jdbc/jdbc-ra/jdbc-core/src/main/java/com/sun/gjc/spi/XAResourceImpl.java
@@ -28,65 +28,64 @@
  */
 public class XAResourceImpl implements XAResource {
 
-    XAResource xar;
-    ManagedConnectionImpl mc;
+    XAResource xaResource;
+    ManagedConnectionImpl managedConnectionImpl;
 
     /**
      * Constructor for XAResourceImpl
      *
-     * @param xar <code>XAResource</code>
-     * @param mc  <code>ManagedConnection</code>
+     * @param xaResource <code>XAResource</code>
+     * @param managedConnection <code>ManagedConnection</code>
      */
-    public XAResourceImpl(XAResource xar, ManagedConnectionImpl mc) {
-        this.xar = xar;
-        this.mc = mc;
+    public XAResourceImpl(XAResource xaResource, ManagedConnectionImpl managedConnection) {
+        this.xaResource = xaResource;
+        this.managedConnectionImpl = managedConnection;
     }
 
     /**
      * Commit the global transaction specified by xid.
      *
-     * @param xid      A global transaction identifier
+     * @param xid A global transaction identifier
      * @param onePhase If true, the resource manager should use a one-phase commit
-     *                 protocol to commit the work done on behalf of xid.
+     * protocol to commit the work done on behalf of xid.
      */
     public void commit(Xid xid, boolean onePhase) throws XAException {
-        //the mc.transactionCompleted call has come here because
-        //the transaction *actually* completes after the flow
-        //reaches here. the end() method might not really signal
-        //completion of transaction in case the transaction is
-        //suspended. In case of transaction suspension, the end
-        //method is still called by the transaction manager
+        // the mc.transactionCompleted call has come here because
+        // the transaction *actually* completes after the flow
+        // reaches here. the end() method might not really signal
+        // completion of transaction in case the transaction is
+        // suspended. In case of transaction suspension, the end
+        // method is still called by the transaction manager
         try {
-            xar.commit(xid, onePhase);
+            xaResource.commit(xid, onePhase);
         } catch (XAException xae) {
             throw xae;
         } catch (Exception e) {
             throw new XAException(e.getMessage());
         } finally {
-            mc.transactionCompleted();
+            managedConnectionImpl.transactionCompleted();
         }
     }
 
     /**
      * Ends the work performed on behalf of a transaction branch.
      *
-     * @param xid   A global transaction identifier that is the same as what
-     *              was used previously in the start method.
+     * @param xid A global transaction identifier that is the same as what was used
+     * previously in the start method.
      * @param flags One of TMSUCCESS, TMFAIL, or TMSUSPEND
      */
     public void end(Xid xid, int flags) throws XAException {
-        xar.end(xid, flags);
-        //GJCINT
-        //mc.transactionCompleted();
+        xaResource.end(xid, flags);
     }
 
     /**
-     * Tell the resource manager to forget about a heuristically completed transaction branch.
+     * Tell the resource manager to forget about a heuristically completed
+     * transaction branch.
      *
      * @param xid A global transaction identifier
      */
     public void forget(Xid xid) throws XAException {
-        xar.forget(xid);
+        xaResource.forget(xid);
     }
 
     /**
@@ -96,47 +95,47 @@
      * @return the transaction timeout value in seconds
      */
     public int getTransactionTimeout() throws XAException {
-        return xar.getTransactionTimeout();
+        return xaResource.getTransactionTimeout();
     }
 
     /**
      * This method is called to determine if the resource manager instance
-     * represented by the target object is the same as the resouce manager
-     * instance represented by the parameter xares.
+     * represented by the target object is the same as the resouce manager instance
+     * represented by the parameter xares.
      *
-     * @param xares An <code>XAResource</code> object whose resource manager
-     *              instance is to be compared with the resource
+     * @param xaResource An <code>XAResource</code> object whose resource manager
+     * instance is to be compared with the resource
      * @return true if it's the same RM instance; otherwise false.
      */
-    public boolean isSameRM(XAResource xares) throws XAException {
-        return xar.isSameRM(xares);
+    public boolean isSameRM(XAResource xaResource) throws XAException {
+        return this.xaResource.isSameRM(xaResource);
     }
 
     /**
-     * Ask the resource manager to prepare for a transaction commit
-     * of the transaction specified in xid.
+     * Ask the resource manager to prepare for a transaction commit of the
+     * transaction specified in xid.
      *
      * @param xid A global transaction identifier
-     * @return A value indicating the resource manager's vote on the
-     *         outcome of the transaction. The possible values
-     *         are: XA_RDONLY or XA_OK. If the resource manager wants
-     *         to roll back the transaction, it should do so
-     *         by raising an appropriate <code>XAException</code> in the prepare method.
+     * @return A value indicating the resource manager's vote on the outcome of the
+     * transaction. The possible values are: XA_RDONLY or XA_OK. If the resource
+     * manager wants to roll back the transaction, it should do so by raising an
+     * appropriate <code>XAException</code> in the prepare method.
      */
     public int prepare(Xid xid) throws XAException {
         try {
-            int result = xar.prepare(xid);
-            //When the VOTE from resource manager is XA_RDONLY , we will not get commit() call from TxManager.
-            //Hence calling txCompleted.
+            int result = xaResource.prepare(xid);
+            // When the VOTE from resource manager is XA_RDONLY , we will not get commit()
+            // call from TxManager.
+            // Hence calling txCompleted.
             if (result == XAResource.XA_RDONLY) {
-                mc.transactionCompleted();
+                managedConnectionImpl.transactionCompleted();
             }
             return result;
         } catch (XAException xae) {
-            mc.transactionCompleted();
+            managedConnectionImpl.transactionCompleted();
             throw xae;
         } catch (Exception e) {
-            mc.transactionCompleted();
+            managedConnectionImpl.transactionCompleted();
             throw new XAException(e.getMessage());
         }
     }
@@ -144,59 +143,61 @@
     /**
      * Obtain a list of prepared transaction branches from a resource manager.
      *
-     * @param flag One of TMSTARTRSCAN, TMENDRSCAN, TMNOFLAGS. TMNOFLAGS
-     *             must be used when no other flags are set in flags.
+     * @param flag One of TMSTARTRSCAN, TMENDRSCAN, TMNOFLAGS. TMNOFLAGS must be
+     * used when no other flags are set in flags.
      * @return The resource manager returns zero or more XIDs for the transaction
-     *         branches that are currently in a prepared or heuristically
-     *         completed state. If an error occurs during the operation, the resource
-     *         manager should throw the appropriate <code>XAException</code>.
+     * branches that are currently in a prepared or heuristically completed state.
+     * If an error occurs during the operation, the resource manager should throw
+     * the appropriate <code>XAException</code>.
      */
     public Xid[] recover(int flag) throws XAException {
-        return xar.recover(flag);
+        return xaResource.recover(flag);
     }
 
     /**
-     * Inform the resource manager to roll back work done on behalf of a transaction branch
+     * Inform the resource manager to roll back work done on behalf of a transaction
+     * branch
      *
      * @param xid A global transaction identifier
      */
     public void rollback(Xid xid) throws XAException {
-        //the mc.transactionCompleted call has come here becasue
-        //the transaction *actually* completes after the flow
-        //reaches here. the end() method might not really signal
-        //completion of transaction in case the transaction is
-        //suspended. In case of transaction suspension, the end
-        //method is still called by the transaction manager
+        // the mc.transactionCompleted call has come here becasue
+        // the transaction *actually* completes after the flow
+        // reaches here. the end() method might not really signal
+        // completion of transaction in case the transaction is
+        // suspended. In case of transaction suspension, the end
+        // method is still called by the transaction manager
         try {
-            xar.rollback(xid);
+            xaResource.rollback(xid);
         } catch (XAException xae) {
             throw xae;
         } catch (Exception e) {
             throw new XAException(e.getMessage());
         } finally {
-            mc.transactionCompleted();
+            managedConnectionImpl.transactionCompleted();
         }
     }
 
     /**
-     * Set the current transaction timeout value for this <code>XAResource</code> instance.
+     * Set the current transaction timeout value for this <code>XAResource</code>
+     * instance.
      *
      * @param seconds the transaction timeout value in seconds.
-     * @return true if transaction timeout value is set successfully; otherwise false.
+     * @return true if transaction timeout value is set successfully; otherwise
+     * false.
      */
     public boolean setTransactionTimeout(int seconds) throws XAException {
-        return xar.setTransactionTimeout(seconds);
+        return xaResource.setTransactionTimeout(seconds);
     }
 
     /**
      * Start work on behalf of a transaction branch specified in xid.
      *
      * @param xid A global transaction identifier to be associated with the resource
-     * @return flags    One of TMNOFLAGS, TMJOIN, or TMRESUME
+     * @return flags One of TMNOFLAGS, TMJOIN, or TMRESUME
      */
     public void start(Xid xid, int flags) throws XAException {
-        //GJCINT
-        mc.transactionStarted();
-        xar.start(xid, flags);
+        managedConnectionImpl.transactionStarted();
+        xaResource.start(xid, flags);
     }
 }
diff --git a/appserver/jdbc/jdbc-ra/jdbc-core/src/main/java/com/sun/gjc/spi/base/AbstractDataSource.java b/appserver/jdbc/jdbc-ra/jdbc-core/src/main/java/com/sun/gjc/spi/base/AbstractDataSource.java
index 8391c6e..101c412 100644
--- a/appserver/jdbc/jdbc-ra/jdbc-core/src/main/java/com/sun/gjc/spi/base/AbstractDataSource.java
+++ b/appserver/jdbc/jdbc-ra/jdbc-core/src/main/java/com/sun/gjc/spi/base/AbstractDataSource.java
@@ -16,36 +16,45 @@
 
 package com.sun.gjc.spi.base;
 
+import static java.util.logging.Level.WARNING;
+
+import java.io.PrintWriter;
+import java.io.Serializable;
+import java.sql.Connection;
+import java.sql.SQLException;
+import java.util.logging.Logger;
+
+import javax.naming.Reference;
+import javax.sql.DataSource;
+
+import com.sun.appserv.connectors.internal.api.ConnectorConstants;
 import com.sun.appserv.connectors.internal.spi.BadConnectionEventListener;
 import com.sun.gjc.spi.ConnectionManagerImplementation;
 import com.sun.gjc.spi.ConnectionRequestInfoImpl;
 import com.sun.gjc.spi.ManagedConnectionFactoryImpl;
-import com.sun.logging.LogDomains;
-import com.sun.appserv.connectors.internal.api.ConnectorConstants;
 import com.sun.gjc.util.MethodExecutor;
+import com.sun.logging.LogDomains;
 
-import javax.naming.Reference;
+import jakarta.resource.Referenceable;
 import jakarta.resource.ResourceException;
 import jakarta.resource.spi.ConnectionManager;
-import java.io.PrintWriter;
-import java.sql.Connection;
-import java.sql.SQLException;
-import java.util.logging.Level;
-import java.util.logging.Logger;
 
 /**
- * Holds the <code>java.sql.Connection</code> object, which is to be
- * passed to the application program.
+ * Holds the <code>java.sql.Connection</code> object, which is to be passed to
+ * the application program.
  *
  * @author Binod P.G
  * @version 1.0, 02/07/31
  */
-public abstract class AbstractDataSource implements javax.sql.DataSource, java.io.Serializable,
-        com.sun.appserv.jdbc.DataSource, jakarta.resource.Referenceable {
+public abstract class AbstractDataSource implements DataSource, Serializable, com.sun.appserv.jdbc.DataSource, Referenceable {
 
-    protected ManagedConnectionFactoryImpl mcf;
-    protected MethodExecutor executor = null;
-    private ConnectionManager cm;
+    private static final long serialVersionUID = 1L;
+
+    protected final static Logger _logger = LogDomains.getLogger(ManagedConnectionFactoryImpl.class, LogDomains.RSR_LOGGER);
+
+    protected ManagedConnectionFactoryImpl managedConnectionFactoryImpl;
+    protected MethodExecutor executor;
+    private ConnectionManager connectionManager;
     private int loginTimeout;
     private PrintWriter logWriter;
     private String description;
@@ -53,28 +62,22 @@
 
     private ConnectionHolder.ConnectionType conType_;
 
-    protected final static Logger _logger;
-
-    static {
-        _logger = LogDomains.getLogger(ManagedConnectionFactoryImpl.class, LogDomains.RSR_LOGGER);
-    }
 
     /**
      * Constructs <code>DataSource</code> object. This is created by the
      * <code>ManagedConnectionFactory</code> object.
      *
-     * @param mcf <code>ManagedConnectionFactory</code> object
-     *            creating this object.
-     * @param cm  <code>ConnectionManager</code> object either associated
-     *            with Application server or Resource Adapter.
+     * @param managedConnectionFactoryImpl <code>ManagedConnectionFactory</code> object creating this object.
+     * @param connectionManager <code>ConnectionManager</code> object either associated with
+     * Application server or Resource Adapter.
      */
-    public AbstractDataSource(ManagedConnectionFactoryImpl mcf, ConnectionManager cm) {
-        this.mcf = mcf;
+    public AbstractDataSource(ManagedConnectionFactoryImpl managedConnectionFactoryImpl, ConnectionManager connectionManager) {
+        this.managedConnectionFactoryImpl = managedConnectionFactoryImpl;
         executor = new MethodExecutor();
-        if (cm == null) {
-            this.cm = new ConnectionManagerImplementation();
+        if (connectionManager == null) {
+            this.connectionManager = new ConnectionManagerImplementation();
         } else {
-            this.cm = cm;
+            this.connectionManager = connectionManager;
             conType_ = findConnectionType();
         }
     }
@@ -87,11 +90,10 @@
      */
     public Connection getConnection() throws SQLException {
         try {
-            ConnectionHolder con = (ConnectionHolder)
-                    cm.allocateConnection(mcf, null);
-            setConnectionType(con);
+            ConnectionHolder connection = (ConnectionHolder) connectionManager.allocateConnection(managedConnectionFactoryImpl, null);
+            setConnectionType(connection);
 
-            return con;
+            return connection;
         } catch (ResourceException re) {
             logNonTransientException(re);
             throw new SQLException(re.getMessage(), re);
@@ -100,11 +102,12 @@
 
     /**
      * log the exception if it is a non-transient exception <br>
+     *
      * @param re Exception to log
      */
     private void logNonTransientException(ResourceException re) {
-        if(!BadConnectionEventListener.POOL_RECONFIGURED_ERROR_CODE.equals(re.getErrorCode())){
-            _logger.log(Level.WARNING, "jdbc.exc_get_conn", re.getMessage());
+        if (!BadConnectionEventListener.POOL_RECONFIGURED_ERROR_CODE.equals(re.getErrorCode())) {
+            _logger.log(WARNING, "jdbc.exc_get_conn", re.getMessage());
         }
     }
 
@@ -112,15 +115,14 @@
      * Retrieves the <code> Connection </code> object.
      *
      * @param user User name for the Connection.
-     * @param pwd  Password for the Connection.
+     * @param pwd Password for the Connection.
      * @return <code> Connection </code> object.
      * @throws SQLException In case of an error.
      */
     public Connection getConnection(String user, String pwd) throws SQLException {
         try {
             ConnectionRequestInfoImpl info = new ConnectionRequestInfoImpl(user, pwd.toCharArray());
-            ConnectionHolder con = (ConnectionHolder)
-                    cm.allocateConnection(mcf, info);
+            ConnectionHolder con = (ConnectionHolder) connectionManager.allocateConnection(managedConnectionFactoryImpl, info);
             setConnectionType(con);
             return con;
         } catch (ResourceException re) {
@@ -130,14 +132,13 @@
     }
 
     /**
-     * Retrieves the actual SQLConnection from the Connection wrapper
-     * implementation of SunONE application server. If an actual connection is
-     * supplied as argument, then it will be just returned.
+     * Retrieves the actual SQLConnection from the Connection wrapper implementation
+     * of SunONE application server. If an actual connection is supplied as
+     * argument, then it will be just returned.
      *
      * @param con Connection obtained from <code>Datasource.getConnection()</code>
      * @return <code>java.sql.Connection</code> implementation of the driver.
-     * @throws <code>java.sql.SQLException</code>
-     *          If connection cannot be obtained.
+     * @throws <code>java.sql.SQLException</code> If connection cannot be obtained.
      */
     public Connection getConnection(Connection con) throws SQLException {
 
@@ -150,24 +151,22 @@
     }
 
     /**
-     * Gets a connection that is not in the scope of any transaction. This
-     * can be used to save performance overhead incurred on enlisting/delisting
-     * each connection got, irrespective of whether its required or not.
-     * Note here that this meethod does not fit in the connector contract
-     * per se.
+     * Gets a connection that is not in the scope of any transaction. This can be
+     * used to save performance overhead incurred on enlisting/delisting each
+     * connection got, irrespective of whether its required or not. Note here that
+     * this meethod does not fit in the connector contract per se.
      *
      * @return <code>java.sql.Connection</code>
-     * @throws <code>java.sql.SQLException</code>
-     *          If connection cannot be obtained
+     * @throws <code>java.sql.SQLException</code> If connection cannot be obtained
      */
     public Connection getNonTxConnection() throws SQLException {
         try {
-            ConnectionHolder con = (ConnectionHolder)
-                    ((com.sun.appserv.connectors.internal.spi.ConnectionManager)
-                            cm).allocateNonTxConnection(mcf, null);
-            setConnectionType(con, true);
+            ConnectionHolder connection =
+                (ConnectionHolder) ((com.sun.appserv.connectors.internal.spi.ConnectionManager) connectionManager)
+                    .allocateNonTxConnection(managedConnectionFactoryImpl, null);
+            setConnectionType(connection, true);
 
-            return con;
+            return connection;
         } catch (ResourceException re) {
             logNonTransientException(re);
             throw new SQLException(re.getMessage(), re);
@@ -175,24 +174,21 @@
     }
 
     /**
-     * Gets a connection that is not in the scope of any transaction. This
-     * can be used to save performance overhead incurred on enlisting/delisting
-     * each connection got, irrespective of whether its required or not.
-     * Note here that this meethod does not fit in the connector contract
-     * per se.
+     * Gets a connection that is not in the scope of any transaction. This can be
+     * used to save performance overhead incurred on enlisting/delisting each
+     * connection got, irrespective of whether its required or not. Note here that
+     * this meethod does not fit in the connector contract per se.
      *
-     * @param user     User name for authenticating the connection
+     * @param user User name for authenticating the connection
      * @param password Password for authenticating the connection
      * @return <code>java.sql.Connection</code>
-     * @throws <code>java.sql.SQLException</code>
-     *          If connection cannot be obtained
+     * @throws <code>java.sql.SQLException</code> If connection cannot be obtained
      */
     public Connection getNonTxConnection(String user, String password) throws SQLException {
         try {
             ConnectionRequestInfoImpl cxReqInfo = new ConnectionRequestInfoImpl(user, password.toCharArray());
-            ConnectionHolder con = (ConnectionHolder)
-                    ((com.sun.appserv.connectors.internal.spi.ConnectionManager)
-                            cm).allocateNonTxConnection(mcf, cxReqInfo);
+            ConnectionHolder con = (ConnectionHolder) ((com.sun.appserv.connectors.internal.spi.ConnectionManager) connectionManager)
+                    .allocateNonTxConnection(managedConnectionFactoryImpl, cxReqInfo);
 
             setConnectionType(con, true);
 
@@ -282,17 +278,16 @@
     private ConnectionHolder.ConnectionType findConnectionType() {
         ConnectionHolder.ConnectionType cmType = ConnectionHolder.ConnectionType.STANDARD;
 
-        if (cm instanceof jakarta.resource.spi.LazyAssociatableConnectionManager) {
-            if (!((com.sun.appserv.connectors.internal.spi.ConnectionManager) cm).
-                    getJndiName().endsWith(ConnectorConstants.PM_JNDI_SUFFIX)) {
+        if (connectionManager instanceof jakarta.resource.spi.LazyAssociatableConnectionManager) {
+            if (!((com.sun.appserv.connectors.internal.spi.ConnectionManager) connectionManager).getJndiName()
+                    .endsWith(ConnectorConstants.PM_JNDI_SUFFIX)) {
                 cmType = ConnectionHolder.ConnectionType.LAZY_ASSOCIATABLE;
             }
-        } else if (cm instanceof
-                jakarta.resource.spi.LazyEnlistableConnectionManager) {
-            if (!((com.sun.appserv.connectors.internal.spi.ConnectionManager) cm).
-                    getJndiName().endsWith(ConnectorConstants.PM_JNDI_SUFFIX) &&
-                    !((com.sun.appserv.connectors.internal.spi.ConnectionManager) cm).
-                            getJndiName().endsWith(ConnectorConstants.NON_TX_JNDI_SUFFIX)) {
+        } else if (connectionManager instanceof jakarta.resource.spi.LazyEnlistableConnectionManager) {
+            if (!((com.sun.appserv.connectors.internal.spi.ConnectionManager) connectionManager).getJndiName()
+                    .endsWith(ConnectorConstants.PM_JNDI_SUFFIX)
+                    && !((com.sun.appserv.connectors.internal.spi.ConnectionManager) connectionManager).getJndiName()
+                            .endsWith(ConnectorConstants.NON_TX_JNDI_SUFFIX)) {
                 cmType = ConnectionHolder.ConnectionType.LAZY_ENLISTABLE;
             }
         }
@@ -306,27 +301,26 @@
 
     private void setConnectionType(ConnectionHolder con, boolean isNonTx) {
         con.setConnectionType(conType_);
-        if (conType_ == ConnectionHolder.ConnectionType.LAZY_ASSOCIATABLE &&
-                cm instanceof jakarta.resource.spi.LazyAssociatableConnectionManager) {
-            con.setLazyAssociatableConnectionManager(
-                    (jakarta.resource.spi.LazyAssociatableConnectionManager) cm);
+        if (conType_ == ConnectionHolder.ConnectionType.LAZY_ASSOCIATABLE
+                && connectionManager instanceof jakarta.resource.spi.LazyAssociatableConnectionManager) {
+            con.setLazyAssociatableConnectionManager((jakarta.resource.spi.LazyAssociatableConnectionManager) connectionManager);
         } else if (conType_ == ConnectionHolder.ConnectionType.LAZY_ENLISTABLE) {
             if (isNonTx) {
-                //if this is a getNonTxConnection call on the DataSource, we
-                //should not LazyEnlist
+                // if this is a getNonTxConnection call on the DataSource, we
+                // should not LazyEnlist
                 con.setConnectionType(ConnectionHolder.ConnectionType.STANDARD);
-            } else if(cm instanceof jakarta.resource.spi.LazyEnlistableConnectionManager) {
-                con.setLazyEnlistableConnectionManager(
-                        (jakarta.resource.spi.LazyEnlistableConnectionManager) cm);
+            } else if (connectionManager instanceof jakarta.resource.spi.LazyEnlistableConnectionManager) {
+                con.setLazyEnlistableConnectionManager((jakarta.resource.spi.LazyEnlistableConnectionManager) connectionManager);
             }
         }
     }
 
     /**
-     * API to mark a connection as bad. If the application can determine that the connection
-     * is bad, using this api, it can notify the resource-adapter which inturn will notify the
-     * connection-pool. Connection-pool will drop and create a new connection.
-     * eg:
+     * API to mark a connection as bad. If the application can determine that the
+     * connection is bad, using this api, it can notify the resource-adapter which
+     * inturn will notify the connection-pool. Connection-pool will drop and create
+     * a new connection. eg:
+     *
      * <pre>
         com.sun.appserv.jdbc.DataSource ds=
            (com.sun.appserv.jdbc.DataSource)context.lookup("dataSource");
@@ -343,12 +337,12 @@
             }
      * </pre>
      *
-     * @param conn <code>java.sql.Connection</code>
+     * @param connection <code>java.sql.Connection</code>
      */
-    public void markConnectionAsBad(Connection conn) {
-        if (conn instanceof ConnectionHolder) {
-            ConnectionHolder userConn = ((ConnectionHolder) conn);
-            userConn.getManagedConnection().markForRemoval(true);
+    public void markConnectionAsBad(Connection connection) {
+        if (connection instanceof ConnectionHolder) {
+            ConnectionHolder userConnection = ((ConnectionHolder) connection);
+            userConnection.getManagedConnection().markForRemoval(true);
         }
     }
 }
diff --git a/appserver/jdbc/jdbc-ra/jdbc-core/src/main/java/com/sun/gjc/spi/base/CacheObjectKey.java b/appserver/jdbc/jdbc-ra/jdbc-core/src/main/java/com/sun/gjc/spi/base/CacheObjectKey.java
index 3aa5234..2fc5d7f 100644
--- a/appserver/jdbc/jdbc-ra/jdbc-core/src/main/java/com/sun/gjc/spi/base/CacheObjectKey.java
+++ b/appserver/jdbc/jdbc-ra/jdbc-core/src/main/java/com/sun/gjc/spi/base/CacheObjectKey.java
@@ -26,8 +26,8 @@
     public static final String CALLABLE_STATEMENT = "CS";
     public static final String PREPARED_STATEMENT = "PS";
 
-    protected String sql = null;
-    protected String statementType = null;
+    protected String sql;
+    protected String statementType;
     protected int resultSetType;
     protected int resultSetConcurrency;
     protected int resultSetHoldability;
@@ -71,16 +71,14 @@
         this.columnIndexes = columnIndexes;
     }
 
-    public CacheObjectKey(String sql, String statementType,
-            int resultSetType, int resultSetConcurrency) {
+    public CacheObjectKey(String sql, String statementType, int resultSetType, int resultSetConcurrency) {
         this.sql = sql;
         this.statementType = statementType;
         this.resultSetType = resultSetType;
         this.resultSetConcurrency = resultSetConcurrency;
     }
 
-    public CacheObjectKey(String sql, String statementType,
-            int resultSetType, int resultSetConcurrency,
+    public CacheObjectKey(String sql, String statementType, int resultSetType, int resultSetConcurrency,
             int resultSetHoldability) {
         this.sql = sql;
         this.statementType = statementType;
@@ -89,22 +87,19 @@
         this.resultSetHoldability = resultSetHoldability;
     }
 
-    public CacheObjectKey(String sql, String statementType,
-            int[] columnIndexes) {
+    public CacheObjectKey(String sql, String statementType, int[] columnIndexes) {
         this.sql = sql;
         this.statementType = statementType;
         this.columnIndexes = columnIndexes;
     }
 
-    public CacheObjectKey(String sql, String statementType,
-            String[] columnNames) {
+    public CacheObjectKey(String sql, String statementType, String[] columnNames) {
         this.sql = sql;
         this.statementType = statementType;
         this.columnNames = columnNames;
     }
 
-    public CacheObjectKey(String sql, String statementType,
-            int autoGeneratedKeys) {
+    public CacheObjectKey(String sql, String statementType, int autoGeneratedKeys) {
         this.sql = sql;
         this.statementType = statementType;
         this.autoGeneratedKeys = autoGeneratedKeys;
@@ -153,6 +148,7 @@
     public void setResultSetType(int resultSetType) {
         this.resultSetType = resultSetType;
     }
+
     /**
      * Get the value of resultSetHoldability
      *
@@ -175,86 +171,6 @@
     }
 
     /**
-     * Check for the equality of the CacheObjectKey with the object passed by
-     * 1. comparing the sql string values
-     * 2. comparing the statement type values
-     * 3. comapring the getClass() values
-     * @param obj obj which is to be checked against this object
-     * @return boolean
-     */
-    @Override
-    public boolean equals(Object obj) {
-        if (obj == null) {
-            return false;
-        }
-        if (getClass() != obj.getClass()) {
-            return false;
-        }
-        final CacheObjectKey other = (CacheObjectKey) obj;
-        if (this.sql == null || other.sql == null || !this.sql.equals(other.sql)) {
-            return false;
-        }
-        if (this.statementType == null || other.statementType == null ||
-                !this.statementType.equals(other.statementType)) {
-            return false;
-        }
-        if (this.resultSetType != other.resultSetType) {
-            return false;
-        }
-        if (this.resultSetConcurrency != other.resultSetConcurrency) {
-            return false;
-        }
-        if (this.resultSetHoldability != other.resultSetHoldability) {
-            return false;
-        }
-        if(CacheObjectKey.PREPARED_STATEMENT.equals(other.statementType)) {
-            if (this.autoGeneratedKeys != other.autoGeneratedKeys) {
-                return false;
-            }
-            //Iterate through the columnNames/columnIndexes to see if equal
-            if(this.columnIndexes != null && other.columnIndexes != null) {
-                if (!Arrays.equals(this.columnIndexes, other.columnIndexes)) {
-                    return false;
-                }
-            }
-            if(this.columnNames != null && other.columnNames != null) {
-                if(!Arrays.equals(this.columnNames, other.columnNames)) {
-                    return false;
-                }
-            }
-        }
-        return true;
-    }
-
-    /**
-     * Generate hashCode for this object using the sql and statementType fields
-     * @return has integer value
-     */
-    @Override
-    public int hashCode() {
-        int hash = 7;
-        hash = 41 * hash + (this.sql != null ? this.sql.hashCode() : 0);
-        hash = 41 * hash + (this.statementType != null ? this.statementType.hashCode() : 0);
-        hash = 41 * hash + this.resultSetType;
-        hash = 41 * hash + this.resultSetConcurrency;
-        hash = 41 * hash + this.resultSetHoldability;
-        if(CacheObjectKey.PREPARED_STATEMENT.equals(this.statementType)) {
-            hash = 41 * hash + this.autoGeneratedKeys;
-            if(this.columnIndexes != null) {
-                for(int i : this.columnIndexes) {
-                    hash = 41 * hash + ((Integer) i).hashCode();
-                }
-            }
-            if(this.columnNames != null) {
-                for(String str : columnNames) {
-                    hash = 41 * hash + str.hashCode();
-                }
-            }
-        }
-        return hash;
-    }
-
-    /**
      * Get the value of statementType
      *
      * @return the value of statementType
@@ -289,4 +205,85 @@
     public void setSql(String sql) {
         this.sql = sql;
     }
+
+    /**
+     * Check for the equality of the CacheObjectKey with the object passed by 1.
+     * comparing the sql string values 2. comparing the statement type values 3.
+     * comapring the getClass() values
+     *
+     * @param obj obj which is to be checked against this object
+     * @return boolean
+     */
+    @Override
+    public boolean equals(Object obj) {
+        if (obj == null) {
+            return false;
+        }
+        if (getClass() != obj.getClass()) {
+            return false;
+        }
+        final CacheObjectKey other = (CacheObjectKey) obj;
+        if (this.sql == null || other.sql == null || !this.sql.equals(other.sql)) {
+            return false;
+        }
+        if (this.statementType == null || other.statementType == null
+                || !this.statementType.equals(other.statementType)) {
+            return false;
+        }
+        if (this.resultSetType != other.resultSetType) {
+            return false;
+        }
+        if (this.resultSetConcurrency != other.resultSetConcurrency) {
+            return false;
+        }
+        if (this.resultSetHoldability != other.resultSetHoldability) {
+            return false;
+        }
+        if (CacheObjectKey.PREPARED_STATEMENT.equals(other.statementType)) {
+            if (this.autoGeneratedKeys != other.autoGeneratedKeys) {
+                return false;
+            }
+            // Iterate through the columnNames/columnIndexes to see if equal
+            if (this.columnIndexes != null && other.columnIndexes != null) {
+                if (!Arrays.equals(this.columnIndexes, other.columnIndexes)) {
+                    return false;
+                }
+            }
+            if (this.columnNames != null && other.columnNames != null) {
+                if (!Arrays.equals(this.columnNames, other.columnNames)) {
+                    return false;
+                }
+            }
+        }
+        return true;
+    }
+
+    /**
+     * Generate hashCode for this object using the sql and statementType fields
+     *
+     * @return has integer value
+     */
+    @Override
+    public int hashCode() {
+        int hash = 7;
+        hash = 41 * hash + (this.sql != null ? this.sql.hashCode() : 0);
+        hash = 41 * hash + (this.statementType != null ? this.statementType.hashCode() : 0);
+        hash = 41 * hash + this.resultSetType;
+        hash = 41 * hash + this.resultSetConcurrency;
+        hash = 41 * hash + this.resultSetHoldability;
+        if (CacheObjectKey.PREPARED_STATEMENT.equals(this.statementType)) {
+            hash = 41 * hash + this.autoGeneratedKeys;
+            if (this.columnIndexes != null) {
+                for (int i : this.columnIndexes) {
+                    hash = 41 * hash + ((Integer) i).hashCode();
+                }
+            }
+            if (this.columnNames != null) {
+                for (String str : columnNames) {
+                    hash = 41 * hash + str.hashCode();
+                }
+            }
+        }
+        return hash;
+    }
 }
diff --git a/appserver/jdbc/jdbc-ra/jdbc-core/src/main/java/com/sun/gjc/spi/base/CallableStatementWrapper.java b/appserver/jdbc/jdbc-ra/jdbc-core/src/main/java/com/sun/gjc/spi/base/CallableStatementWrapper.java
index f09dc06..3b9a808 100644
--- a/appserver/jdbc/jdbc-ra/jdbc-core/src/main/java/com/sun/gjc/spi/base/CallableStatementWrapper.java
+++ b/appserver/jdbc/jdbc-ra/jdbc-core/src/main/java/com/sun/gjc/spi/base/CallableStatementWrapper.java
@@ -20,51 +20,56 @@
 import java.io.Reader;
 import java.math.BigDecimal;
 import java.net.URL;
-import java.sql.*;
+import java.sql.Array;
+import java.sql.Blob;
+import java.sql.CallableStatement;
+import java.sql.Clob;
+import java.sql.Connection;
+import java.sql.Date;
+import java.sql.Ref;
+import java.sql.SQLException;
+import java.sql.Time;
+import java.sql.Timestamp;
 import java.util.Calendar;
 import java.util.Map;
 
-
 /**
  * Abstract class for wrapping PreparedStatement<br>
  */
 public abstract class CallableStatementWrapper extends PreparedStatementWrapper implements CallableStatement {
-    protected CallableStatement callableStatement = null;
+
+    protected CallableStatement callableStatement;
 
     /**
      * Creates a new instance of CallableStatementWrapper<br>
      *
-     * @param con       ConnectionWrapper <br>
+     * @param con ConnectionWrapper <br>
      * @param statement Statement that is to be wrapped<br>
      */
-    public CallableStatementWrapper(Connection con, CallableStatement statement,
-                                    boolean cachingEnabled) throws SQLException{
+    public CallableStatementWrapper(Connection con, CallableStatement statement, boolean cachingEnabled) throws SQLException {
         super(con, statement, cachingEnabled);
         callableStatement = statement;
     }
 
     /**
-     * Registers the OUT parameter in ordinal position
-     * <code>parameterIndex</code> to the JDBC type
-     * <code>sqlType</code>.  All OUT parameters must be registered
+     * Registers the OUT parameter in ordinal position <code>parameterIndex</code>
+     * to the JDBC type <code>sqlType</code>. All OUT parameters must be registered
      * before a stored procedure is executed.
      * <p/>
-     * The JDBC type specified by <code>sqlType</code> for an OUT
-     * parameter determines the Java type that must be used
-     * in the <code>get</code> method to read the value of that parameter.
+     * The JDBC type specified by <code>sqlType</code> for an OUT parameter
+     * determines the Java type that must be used in the <code>get</code> method to
+     * read the value of that parameter.
      * <p/>
-     * If the JDBC type expected to be returned to this output parameter
-     * is specific to this particular database, <code>sqlType</code>
-     * should be <code>java.sql.Types.OTHER</code>.  The method
-     * {@link #getObject} retrieves the value.
+     * If the JDBC type expected to be returned to this output parameter is specific
+     * to this particular database, <code>sqlType</code> should be
+     * <code>java.sql.Types.OTHER</code>. The method {@link #getObject} retrieves
+     * the value.
      *
-     * @param parameterIndex the first parameter is 1, the second is 2,
-     *                       and so on
-     * @param sqlType        the JDBC type code defined by <code>java.sql.Types</code>.
-     *                       If the parameter is of JDBC type <code>NUMERIC</code>
-     *                       or <code>DECIMAL</code>, the version of
-     *                       <code>registerOutParameter</code> that accepts a scale value
-     *                       should be used.
+     * @param parameterIndex the first parameter is 1, the second is 2, and so on
+     * @param sqlType the JDBC type code defined by <code>java.sql.Types</code>. If
+     * the parameter is of JDBC type <code>NUMERIC</code> or <code>DECIMAL</code>,
+     * the version of <code>registerOutParameter</code> that accepts a scale value
+     * should be used.
      * @throws java.sql.SQLException if a database access error occurs
      * @see java.sql.Types
      */
@@ -73,24 +78,21 @@
     }
 
     /**
-     * Registers the parameter in ordinal position
-     * <code>parameterIndex</code> to be of JDBC type
-     * <code>sqlType</code>.  This method must be called
-     * before a stored procedure is executed.
+     * Registers the parameter in ordinal position <code>parameterIndex</code> to be
+     * of JDBC type <code>sqlType</code>. This method must be called before a stored
+     * procedure is executed.
      * <p/>
-     * The JDBC type specified by <code>sqlType</code> for an OUT
-     * parameter determines the Java type that must be used
-     * in the <code>get</code> method to read the value of that parameter.
+     * The JDBC type specified by <code>sqlType</code> for an OUT parameter
+     * determines the Java type that must be used in the <code>get</code> method to
+     * read the value of that parameter.
      * <p/>
-     * This version of <code>registerOutParameter</code> should be
-     * used when the parameter is of JDBC type <code>NUMERIC</code>
-     * or <code>DECIMAL</code>.
+     * This version of <code>registerOutParameter</code> should be used when the
+     * parameter is of JDBC type <code>NUMERIC</code> or <code>DECIMAL</code>.
      *
-     * @param parameterIndex the first parameter is 1, the second is 2,
-     *                       and so on
-     * @param sqlType        the SQL type code defined by <code>java.sql.Types</code>.
-     * @param scale          the desired number of digits to the right of the
-     *                       decimal point.  It must be greater than or equal to zero.
+     * @param parameterIndex the first parameter is 1, the second is 2, and so on
+     * @param sqlType the SQL type code defined by <code>java.sql.Types</code>.
+     * @param scale the desired number of digits to the right of the decimal point.
+     * It must be greater than or equal to zero.
      * @throws java.sql.SQLException if a database access error occurs
      * @see java.sql.Types
      */
@@ -99,13 +101,13 @@
     }
 
     /**
-     * Retrieves whether the last OUT parameter read had the value of
-     * SQL <code>NULL</code>.  Note that this method should be called only after
-     * calling a getter method; otherwise, there is no value to use in
-     * determining whether it is <code>null</code> or not.
+     * Retrieves whether the last OUT parameter read had the value of SQL
+     * <code>NULL</code>. Note that this method should be called only after calling
+     * a getter method; otherwise, there is no value to use in determining whether
+     * it is <code>null</code> or not.
      *
      * @return <code>true</code> if the last parameter read was SQL
-     *         <code>NULL</code>; <code>false</code> otherwise
+     * <code>NULL</code>; <code>false</code> otherwise
      * @throws java.sql.SQLException if a database access error occurs
      */
     public boolean wasNull() throws SQLException {
@@ -117,17 +119,13 @@
      * <code>VARCHAR</code>, or <code>LONGVARCHAR</code> parameter as a
      * <code>String</code> in the Java programming language.
      * <p/>
-     * For the fixed-length type JDBC <code>CHAR</code>,
-     * the <code>String</code> object
-     * returned has exactly the same value the JDBC
-     * <code>CHAR</code> value had in the
-     * database, including any padding added by the database.
+     * For the fixed-length type JDBC <code>CHAR</code>, the <code>String</code>
+     * object returned has exactly the same value the JDBC <code>CHAR</code> value
+     * had in the database, including any padding added by the database.
      *
-     * @param parameterIndex the first parameter is 1, the second is 2,
-     *                       and so on
-     * @return the parameter value. If the value is SQL <code>NULL</code>,
-     *         the result
-     *         is <code>null</code>.
+     * @param parameterIndex the first parameter is 1, the second is 2, and so on
+     * @return the parameter value. If the value is SQL <code>NULL</code>, the
+     * result is <code>null</code>.
      * @throws java.sql.SQLException if a database access error occurs
      * @see #setString
      */
@@ -139,10 +137,9 @@
      * Retrieves the value of the designated JDBC <code>BIT</code> parameter as a
      * <code>boolean</code> in the Java programming language.
      *
-     * @param parameterIndex the first parameter is 1, the second is 2,
-     *                       and so on
-     * @return the parameter value.  If the value is SQL <code>NULL</code>,
-     *         the result is <code>false</code>.
+     * @param parameterIndex the first parameter is 1, the second is 2, and so on
+     * @return the parameter value. If the value is SQL <code>NULL</code>, the
+     * result is <code>false</code>.
      * @throws java.sql.SQLException if a database access error occurs
      * @see #setBoolean
      */
@@ -151,13 +148,12 @@
     }
 
     /**
-     * Retrieves the value of the designated JDBC <code>TINYINT</code> parameter
-     * as a <code>byte</code> in the Java programming language.
+     * Retrieves the value of the designated JDBC <code>TINYINT</code> parameter as
+     * a <code>byte</code> in the Java programming language.
      *
-     * @param parameterIndex the first parameter is 1, the second is 2,
-     *                       and so on
-     * @return the parameter value.  If the value is SQL <code>NULL</code>, the result
-     *         is <code>0</code>.
+     * @param parameterIndex the first parameter is 1, the second is 2, and so on
+     * @return the parameter value. If the value is SQL <code>NULL</code>, the
+     * result is <code>0</code>.
      * @throws java.sql.SQLException if a database access error occurs
      * @see #setByte
      */
@@ -166,13 +162,12 @@
     }
 
     /**
-     * Retrieves the value of the designated JDBC <code>SMALLINT</code> parameter
-     * as a <code>short</code> in the Java programming language.
+     * Retrieves the value of the designated JDBC <code>SMALLINT</code> parameter as
+     * a <code>short</code> in the Java programming language.
      *
-     * @param parameterIndex the first parameter is 1, the second is 2,
-     *                       and so on
-     * @return the parameter value.  If the value is SQL <code>NULL</code>, the result
-     *         is <code>0</code>.
+     * @param parameterIndex the first parameter is 1, the second is 2, and so on
+     * @return the parameter value. If the value is SQL <code>NULL</code>, the
+     * result is <code>0</code>.
      * @throws java.sql.SQLException if a database access error occurs
      * @see #setShort
      */
@@ -181,13 +176,12 @@
     }
 
     /**
-     * Retrieves the value of the designated JDBC <code>INTEGER</code> parameter
-     * as an <code>int</code> in the Java programming language.
+     * Retrieves the value of the designated JDBC <code>INTEGER</code> parameter as
+     * an <code>int</code> in the Java programming language.
      *
-     * @param parameterIndex the first parameter is 1, the second is 2,
-     *                       and so on
-     * @return the parameter value.  If the value is SQL <code>NULL</code>, the result
-     *         is <code>0</code>.
+     * @param parameterIndex the first parameter is 1, the second is 2, and so on
+     * @return the parameter value. If the value is SQL <code>NULL</code>, the
+     * result is <code>0</code>.
      * @throws java.sql.SQLException if a database access error occurs
      * @see #setInt
      */
@@ -196,13 +190,12 @@
     }
 
     /**
-     * Retrieves the value of the designated JDBC <code>BIGINT</code> parameter
-     * as a <code>long</code> in the Java programming language.
+     * Retrieves the value of the designated JDBC <code>BIGINT</code> parameter as a
+     * <code>long</code> in the Java programming language.
      *
-     * @param parameterIndex the first parameter is 1, the second is 2,
-     *                       and so on
-     * @return the parameter value.  If the value is SQL <code>NULL</code>, the result
-     *         is <code>0</code>.
+     * @param parameterIndex the first parameter is 1, the second is 2, and so on
+     * @return the parameter value. If the value is SQL <code>NULL</code>, the
+     * result is <code>0</code>.
      * @throws java.sql.SQLException if a database access error occurs
      * @see #setLong
      */
@@ -211,13 +204,12 @@
     }
 
     /**
-     * Retrieves the value of the designated JDBC <code>FLOAT</code> parameter
-     * as a <code>float</code> in the Java programming language.
+     * Retrieves the value of the designated JDBC <code>FLOAT</code> parameter as a
+     * <code>float</code> in the Java programming language.
      *
-     * @param parameterIndex the first parameter is 1, the second is 2,
-     *                       and so on
-     * @return the parameter value.  If the value is SQL <code>NULL</code>, the result
-     *         is <code>0</code>.
+     * @param parameterIndex the first parameter is 1, the second is 2, and so on
+     * @return the parameter value. If the value is SQL <code>NULL</code>, the
+     * result is <code>0</code>.
      * @throws java.sql.SQLException if a database access error occurs
      * @see #setFloat
      */
@@ -226,13 +218,12 @@
     }
 
     /**
-     * Retrieves the value of the designated JDBC <code>DOUBLE</code> parameter as a <code>double</code>
-     * in the Java programming language.
+     * Retrieves the value of the designated JDBC <code>DOUBLE</code> parameter as a
+     * <code>double</code> in the Java programming language.
      *
-     * @param parameterIndex the first parameter is 1, the second is 2,
-     *                       and so on
-     * @return the parameter value.  If the value is SQL <code>NULL</code>, the result
-     *         is <code>0</code>.
+     * @param parameterIndex the first parameter is 1, the second is 2, and so on
+     * @return the parameter value. If the value is SQL <code>NULL</code>, the
+     * result is <code>0</code>.
      * @throws java.sql.SQLException if a database access error occurs
      * @see #setDouble
      */
@@ -241,19 +232,18 @@
     }
 
     /**
-     * Retrieves the value of the designated JDBC <code>NUMERIC</code> parameter as a
-     * <code>java.math.BigDecimal</code> object with <i>scale</i> digits to
-     * the right of the decimal point.
+     * Retrieves the value of the designated JDBC <code>NUMERIC</code> parameter as
+     * a <code>java.math.BigDecimal</code> object with <i>scale</i> digits to the
+     * right of the decimal point.
      *
-     * @param parameterIndex the first parameter is 1, the second is 2,
-     *                       and so on
-     * @param scale          the number of digits to the right of the decimal point
-     * @return the parameter value.  If the value is SQL <code>NULL</code>, the result
-     *         is <code>null</code>.
+     * @param parameterIndex the first parameter is 1, the second is 2, and so on
+     * @param scale the number of digits to the right of the decimal point
+     * @return the parameter value. If the value is SQL <code>NULL</code>, the
+     * result is <code>null</code>.
      * @throws java.sql.SQLException if a database access error occurs
      * @see #setBigDecimal
-     * @deprecated use <code>getBigDecimal(int parameterIndex)</code>
-     *             or <code>getBigDecimal(String parameterName)</code>
+     * @deprecated use <code>getBigDecimal(int parameterIndex)</code> or
+     * <code>getBigDecimal(String parameterName)</code>
      */
     @Deprecated
     public BigDecimal getBigDecimal(int parameterIndex, int scale) throws SQLException {
@@ -262,13 +252,12 @@
 
     /**
      * Retrieves the value of the designated JDBC <code>BINARY</code> or
-     * <code>VARBINARY</code> parameter as an array of <code>byte</code>
-     * values in the Java programming language.
+     * <code>VARBINARY</code> parameter as an array of <code>byte</code> values in
+     * the Java programming language.
      *
-     * @param parameterIndex the first parameter is 1, the second is 2,
-     *                       and so on
-     * @return the parameter value.  If the value is SQL <code>NULL</code>, the result
-     *         is <code>null</code>.
+     * @param parameterIndex the first parameter is 1, the second is 2, and so on
+     * @return the parameter value. If the value is SQL <code>NULL</code>, the
+     * result is <code>null</code>.
      * @throws java.sql.SQLException if a database access error occurs
      * @see #setBytes
      */
@@ -280,10 +269,9 @@
      * Retrieves the value of the designated JDBC <code>DATE</code> parameter as a
      * <code>java.sql.Date</code> object.
      *
-     * @param parameterIndex the first parameter is 1, the second is 2,
-     *                       and so on
-     * @return the parameter value.  If the value is SQL <code>NULL</code>, the result
-     *         is <code>null</code>.
+     * @param parameterIndex the first parameter is 1, the second is 2, and so on
+     * @return the parameter value. If the value is SQL <code>NULL</code>, the
+     * result is <code>null</code>.
      * @throws java.sql.SQLException if a database access error occurs
      * @see #setDate
      */
@@ -295,10 +283,9 @@
      * Retrieves the value of the designated JDBC <code>TIME</code> parameter as a
      * <code>java.sql.Time</code> object.
      *
-     * @param parameterIndex the first parameter is 1, the second is 2,
-     *                       and so on
-     * @return the parameter value.  If the value is SQL <code>NULL</code>, the result
-     *         is <code>null</code>.
+     * @param parameterIndex the first parameter is 1, the second is 2, and so on
+     * @return the parameter value. If the value is SQL <code>NULL</code>, the
+     * result is <code>null</code>.
      * @throws java.sql.SQLException if a database access error occurs
      * @see #setTime
      */
@@ -307,13 +294,12 @@
     }
 
     /**
-     * Retrieves the value of the designated JDBC <code>TIMESTAMP</code> parameter as a
-     * <code>java.sql.Timestamp</code> object.
+     * Retrieves the value of the designated JDBC <code>TIMESTAMP</code> parameter
+     * as a <code>java.sql.Timestamp</code> object.
      *
-     * @param parameterIndex the first parameter is 1, the second is 2,
-     *                       and so on
-     * @return the parameter value.  If the value is SQL <code>NULL</code>, the result
-     *         is <code>null</code>.
+     * @param parameterIndex the first parameter is 1, the second is 2, and so on
+     * @return the parameter value. If the value is SQL <code>NULL</code>, the
+     * result is <code>null</code>.
      * @throws java.sql.SQLException if a database access error occurs
      * @see #setTimestamp
      */
@@ -322,18 +308,17 @@
     }
 
     /**
-     * Retrieves the value of the designated parameter as an <code>Object</code>
-     * in the Java programming language. If the value is an SQL <code>NULL</code>,
-     * the driver returns a Java <code>null</code>.
+     * Retrieves the value of the designated parameter as an <code>Object</code> in
+     * the Java programming language. If the value is an SQL <code>NULL</code>, the
+     * driver returns a Java <code>null</code>.
      * <p/>
-     * This method returns a Java object whose type corresponds to the JDBC
-     * type that was registered for this parameter using the method
-     * <code>registerOutParameter</code>.  By registering the target JDBC
-     * type as <code>java.sql.Types.OTHER</code>, this method can be used
-     * to read database-specific abstract data types.
+     * This method returns a Java object whose type corresponds to the JDBC type
+     * that was registered for this parameter using the method
+     * <code>registerOutParameter</code>. By registering the target JDBC type as
+     * <code>java.sql.Types.OTHER</code>, this method can be used to read
+     * database-specific abstract data types.
      *
-     * @param parameterIndex the first parameter is 1, the second is 2,
-     *                       and so on
+     * @param parameterIndex the first parameter is 1, the second is 2, and so on
      * @return A <code>java.lang.Object</code> holding the OUT parameter value
      * @throws java.sql.SQLException if a database access error occurs
      * @see java.sql.Types
@@ -344,14 +329,13 @@
     }
 
     /**
-     * Retrieves the value of the designated JDBC <code>NUMERIC</code> parameter as a
-     * <code>java.math.BigDecimal</code> object with as many digits to the
-     * right of the decimal point as the value contains.
+     * Retrieves the value of the designated JDBC <code>NUMERIC</code> parameter as
+     * a <code>java.math.BigDecimal</code> object with as many digits to the right
+     * of the decimal point as the value contains.
      *
-     * @param parameterIndex the first parameter is 1, the second is 2,
-     *                       and so on
-     * @return the parameter value in full precision.  If the value is
-     *         SQL <code>NULL</code>, the result is <code>null</code>.
+     * @param parameterIndex the first parameter is 1, the second is 2, and so on
+     * @return the parameter value in full precision. If the value is SQL
+     * <code>NULL</code>, the result is <code>null</code>.
      * @throws java.sql.SQLException if a database access error occurs
      * @see #setBigDecimal
      * @since 1.2
@@ -361,14 +345,14 @@
     }
 
     /**
-     * Retrieves the value of the designated JDBC <code>REF(&lt;structured-type&gt;)</code>
-     * parameter as a {@link java.sql.Ref} object in the Java programming language.
+     * Retrieves the value of the designated JDBC
+     * <code>REF(&lt;structured-type&gt;)</code> parameter as a {@link java.sql.Ref}
+     * object in the Java programming language.
      *
-     * @param i the first parameter is 1, the second is 2,
-     *          and so on
-     * @return the parameter value as a <code>Ref</code> object in the
-     *         Java programming language.  If the value was SQL <code>NULL</code>, the value
-     *         <code>null</code> is returned.
+     * @param i the first parameter is 1, the second is 2, and so on
+     * @return the parameter value as a <code>Ref</code> object in the Java
+     * programming language. If the value was SQL <code>NULL</code>, the value
+     * <code>null</code> is returned.
      * @throws java.sql.SQLException if a database access error occurs
      * @since 1.2
      */
@@ -381,9 +365,9 @@
      * {@link java.sql.Blob} object in the Java programming language.
      *
      * @param i the first parameter is 1, the second is 2, and so on
-     * @return the parameter value as a <code>Blob</code> object in the
-     *         Java programming language.  If the value was SQL <code>NULL</code>, the value
-     *         <code>null</code> is returned.
+     * @return the parameter value as a <code>Blob</code> object in the Java
+     * programming language. If the value was SQL <code>NULL</code>, the value
+     * <code>null</code> is returned.
      * @throws java.sql.SQLException if a database access error occurs
      * @since 1.2
      */
@@ -395,11 +379,10 @@
      * Retrieves the value of the designated JDBC <code>CLOB</code> parameter as a
      * <code>Clob</code> object in the Java programming language.
      *
-     * @param i the first parameter is 1, the second is 2, and
-     *          so on
-     * @return the parameter value as a <code>Clob</code> object in the
-     *         Java programming language.  If the value was SQL <code>NULL</code>, the
-     *         value <code>null</code> is returned.
+     * @param i the first parameter is 1, the second is 2, and so on
+     * @return the parameter value as a <code>Clob</code> object in the Java
+     * programming language. If the value was SQL <code>NULL</code>, the value
+     * <code>null</code> is returned.
      * @throws java.sql.SQLException if a database access error occurs
      * @since 1.2
      */
@@ -411,11 +394,10 @@
      * Retrieves the value of the designated JDBC <code>ARRAY</code> parameter as an
      * {@link java.sql.Array} object in the Java programming language.
      *
-     * @param i the first parameter is 1, the second is 2, and
-     *          so on
-     * @return the parameter value as an <code>Array</code> object in
-     *         the Java programming language.  If the value was SQL <code>NULL</code>, the
-     *         value <code>null</code> is returned.
+     * @param i the first parameter is 1, the second is 2, and so on
+     * @return the parameter value as an <code>Array</code> object in the Java
+     * programming language. If the value was SQL <code>NULL</code>, the value
+     * <code>null</code> is returned.
      * @throws java.sql.SQLException if a database access error occurs
      * @since 1.2
      */
@@ -425,20 +407,17 @@
 
     /**
      * Retrieves the value of the designated JDBC <code>DATE</code> parameter as a
-     * <code>java.sql.Date</code> object, using
-     * the given <code>Calendar</code> object
-     * to construct the date.
-     * With a <code>Calendar</code> object, the driver
-     * can calculate the date taking into account a custom timezone and locale.
-     * If no <code>Calendar</code> object is specified, the driver uses the
-     * default timezone and locale.
+     * <code>java.sql.Date</code> object, using the given <code>Calendar</code>
+     * object to construct the date. With a <code>Calendar</code> object, the driver
+     * can calculate the date taking into account a custom timezone and locale. If
+     * no <code>Calendar</code> object is specified, the driver uses the default
+     * timezone and locale.
      *
-     * @param parameterIndex the first parameter is 1, the second is 2,
-     *                       and so on
-     * @param cal            the <code>Calendar</code> object the driver will use
-     *                       to construct the date
-     * @return the parameter value.  If the value is SQL <code>NULL</code>, the result
-     *         is <code>null</code>.
+     * @param parameterIndex the first parameter is 1, the second is 2, and so on
+     * @param cal the <code>Calendar</code> object the driver will use to construct
+     * the date
+     * @return the parameter value. If the value is SQL <code>NULL</code>, the
+     * result is <code>null</code>.
      * @throws java.sql.SQLException if a database access error occurs
      * @see #setDate
      * @since 1.2
@@ -449,20 +428,17 @@
 
     /**
      * Retrieves the value of the designated JDBC <code>TIME</code> parameter as a
-     * <code>java.sql.Time</code> object, using
-     * the given <code>Calendar</code> object
-     * to construct the time.
-     * With a <code>Calendar</code> object, the driver
-     * can calculate the time taking into account a custom timezone and locale.
-     * If no <code>Calendar</code> object is specified, the driver uses the
-     * default timezone and locale.
+     * <code>java.sql.Time</code> object, using the given <code>Calendar</code>
+     * object to construct the time. With a <code>Calendar</code> object, the driver
+     * can calculate the time taking into account a custom timezone and locale. If
+     * no <code>Calendar</code> object is specified, the driver uses the default
+     * timezone and locale.
      *
-     * @param parameterIndex the first parameter is 1, the second is 2,
-     *                       and so on
-     * @param cal            the <code>Calendar</code> object the driver will use
-     *                       to construct the time
-     * @return the parameter value; if the value is SQL <code>NULL</code>, the result
-     *         is <code>null</code>.
+     * @param parameterIndex the first parameter is 1, the second is 2, and so on
+     * @param cal the <code>Calendar</code> object the driver will use to construct
+     * the time
+     * @return the parameter value; if the value is SQL <code>NULL</code>, the
+     * result is <code>null</code>.
      * @throws java.sql.SQLException if a database access error occurs
      * @see #setTime
      * @since 1.2
@@ -472,21 +448,18 @@
     }
 
     /**
-     * Retrieves the value of the designated JDBC <code>TIMESTAMP</code> parameter as a
-     * <code>java.sql.Timestamp</code> object, using
-     * the given <code>Calendar</code> object to construct
-     * the <code>Timestamp</code> object.
-     * With a <code>Calendar</code> object, the driver
-     * can calculate the timestamp taking into account a custom timezone and locale.
-     * If no <code>Calendar</code> object is specified, the driver uses the
-     * default timezone and locale.
+     * Retrieves the value of the designated JDBC <code>TIMESTAMP</code> parameter
+     * as a <code>java.sql.Timestamp</code> object, using the given
+     * <code>Calendar</code> object to construct the <code>Timestamp</code> object.
+     * With a <code>Calendar</code> object, the driver can calculate the timestamp
+     * taking into account a custom timezone and locale. If no <code>Calendar</code>
+     * object is specified, the driver uses the default timezone and locale.
      *
-     * @param parameterIndex the first parameter is 1, the second is 2,
-     *                       and so on
-     * @param cal            the <code>Calendar</code> object the driver will use
-     *                       to construct the timestamp
-     * @return the parameter value.  If the value is SQL <code>NULL</code>, the result
-     *         is <code>null</code>.
+     * @param parameterIndex the first parameter is 1, the second is 2, and so on
+     * @param cal the <code>Calendar</code> object the driver will use to construct
+     * the timestamp
+     * @return the parameter value. If the value is SQL <code>NULL</code>, the
+     * result is <code>null</code>.
      * @throws java.sql.SQLException if a database access error occurs
      * @see #setTimestamp
      * @since 1.2
@@ -496,35 +469,35 @@
     }
 
     /**
-     * Registers the designated output parameter.  This version of
-     * the method <code>registerOutParameter</code>
-     * should be used for a user-defined or <code>REF</code> output parameter.  Examples
-     * of user-defined types include: <code>STRUCT</code>, <code>DISTINCT</code>,
-     * <code>JAVA_OBJECT</code>, and named array types.
+     * Registers the designated output parameter. This version of the method
+     * <code>registerOutParameter</code> should be used for a user-defined or
+     * <code>REF</code> output parameter. Examples of user-defined types include:
+     * <code>STRUCT</code>, <code>DISTINCT</code>, <code>JAVA_OBJECT</code>, and
+     * named array types.
      * <p/>
-     * Before executing a stored procedure call, you must explicitly
-     * call <code>registerOutParameter</code> to register the type from
-     * <code>java.sql.Types</code> for each
-     * OUT parameter.  For a user-defined parameter, the fully-qualified SQL
-     * type name of the parameter should also be given, while a <code>REF</code>
-     * parameter requires that the fully-qualified type name of the
-     * referenced type be given.  A JDBC driver that does not need the
-     * type code and type name information may ignore it.   To be portable,
-     * however, applications should always provide these values for
-     * user-defined and <code>REF</code> parameters.
+     * Before executing a stored procedure call, you must explicitly call
+     * <code>registerOutParameter</code> to register the type from
+     * <code>java.sql.Types</code> for each OUT parameter. For a user-defined
+     * parameter, the fully-qualified SQL type name of the parameter should also be
+     * given, while a <code>REF</code> parameter requires that the fully-qualified
+     * type name of the referenced type be given. A JDBC driver that does not need
+     * the type code and type name information may ignore it. To be portable,
+     * however, applications should always provide these values for user-defined and
+     * <code>REF</code> parameters.
      * <p/>
      * Although it is intended for user-defined and <code>REF</code> parameters,
-     * this method may be used to register a parameter of any JDBC type.
-     * If the parameter does not have a user-defined or <code>REF</code> type, the
+     * this method may be used to register a parameter of any JDBC type. If the
+     * parameter does not have a user-defined or <code>REF</code> type, the
      * <i>typeName</i> parameter is ignored.
      * <p/>
-     * <P><B>Note:</B> When reading the value of an out parameter, you
-     * must use the getter method whose Java type corresponds to the
-     * parameter's registered SQL type.
+     * <P>
+     * <B>Note:</B> When reading the value of an out parameter, you must use the
+     * getter method whose Java type corresponds to the parameter's registered SQL
+     * type.
      *
      * @param paramIndex the first parameter is 1, the second is 2,...
-     * @param sqlType    a value from {@link java.sql.Types}
-     * @param typeName   the fully-qualified name of an SQL structured type
+     * @param sqlType a value from {@link java.sql.Types}
+     * @param typeName the fully-qualified name of an SQL structured type
      * @throws java.sql.SQLException if a database access error occurs
      * @see java.sql.Types
      * @since 1.2
@@ -534,26 +507,24 @@
     }
 
     /**
-     * Registers the OUT parameter named
-     * <code>parameterName</code> to the JDBC type
-     * <code>sqlType</code>.  All OUT parameters must be registered
-     * before a stored procedure is executed.
+     * Registers the OUT parameter named <code>parameterName</code> to the JDBC type
+     * <code>sqlType</code>. All OUT parameters must be registered before a stored
+     * procedure is executed.
      * <p/>
-     * The JDBC type specified by <code>sqlType</code> for an OUT
-     * parameter determines the Java type that must be used
-     * in the <code>get</code> method to read the value of that parameter.
+     * The JDBC type specified by <code>sqlType</code> for an OUT parameter
+     * determines the Java type that must be used in the <code>get</code> method to
+     * read the value of that parameter.
      * <p/>
-     * If the JDBC type expected to be returned to this output parameter
-     * is specific to this particular database, <code>sqlType</code>
-     * should be <code>java.sql.Types.OTHER</code>.  The method
-     * {@link #getObject} retrieves the value.
+     * If the JDBC type expected to be returned to this output parameter is specific
+     * to this particular database, <code>sqlType</code> should be
+     * <code>java.sql.Types.OTHER</code>. The method {@link #getObject} retrieves
+     * the value.
      *
      * @param parameterName the name of the parameter
-     * @param sqlType       the JDBC type code defined by <code>java.sql.Types</code>.
-     *                      If the parameter is of JDBC type <code>NUMERIC</code>
-     *                      or <code>DECIMAL</code>, the version of
-     *                      <code>registerOutParameter</code> that accepts a scale value
-     *                      should be used.
+     * @param sqlType the JDBC type code defined by <code>java.sql.Types</code>. If
+     * the parameter is of JDBC type <code>NUMERIC</code> or <code>DECIMAL</code>,
+     * the version of <code>registerOutParameter</code> that accepts a scale value
+     * should be used.
      * @throws java.sql.SQLException if a database access error occurs
      * @see java.sql.Types
      * @since 1.4
@@ -563,23 +534,21 @@
     }
 
     /**
-     * Registers the parameter named
-     * <code>parameterName</code> to be of JDBC type
-     * <code>sqlType</code>.  This method must be called
-     * before a stored procedure is executed.
+     * Registers the parameter named <code>parameterName</code> to be of JDBC type
+     * <code>sqlType</code>. This method must be called before a stored procedure is
+     * executed.
      * <p/>
-     * The JDBC type specified by <code>sqlType</code> for an OUT
-     * parameter determines the Java type that must be used
-     * in the <code>get</code> method to read the value of that parameter.
+     * The JDBC type specified by <code>sqlType</code> for an OUT parameter
+     * determines the Java type that must be used in the <code>get</code> method to
+     * read the value of that parameter.
      * <p/>
-     * This version of <code>registerOutParameter</code> should be
-     * used when the parameter is of JDBC type <code>NUMERIC</code>
-     * or <code>DECIMAL</code>.
+     * This version of <code>registerOutParameter</code> should be used when the
+     * parameter is of JDBC type <code>NUMERIC</code> or <code>DECIMAL</code>.
      *
      * @param parameterName the name of the parameter
-     * @param sqlType       SQL type code defined by <code>java.sql.Types</code>.
-     * @param scale         the desired number of digits to the right of the
-     *                      decimal point.  It must be greater than or equal to zero.
+     * @param sqlType SQL type code defined by <code>java.sql.Types</code>.
+     * @param scale the desired number of digits to the right of the decimal point.
+     * It must be greater than or equal to zero.
      * @throws java.sql.SQLException if a database access error occurs
      * @see java.sql.Types
      * @since 1.4
@@ -589,35 +558,33 @@
     }
 
     /**
-     * Registers the designated output parameter.  This version of
-     * the method <code>registerOutParameter</code>
-     * should be used for a user-named or REF output parameter.  Examples
-     * of user-named types include: STRUCT, DISTINCT, JAVA_OBJECT, and
-     * named array types.
+     * Registers the designated output parameter. This version of the method
+     * <code>registerOutParameter</code> should be used for a user-named or REF
+     * output parameter. Examples of user-named types include: STRUCT, DISTINCT,
+     * JAVA_OBJECT, and named array types.
      * <p/>
-     * Before executing a stored procedure call, you must explicitly
-     * call <code>registerOutParameter</code> to register the type from
-     * <code>java.sql.Types</code> for each
-     * OUT parameter.  For a user-named parameter the fully-qualified SQL
-     * type name of the parameter should also be given, while a REF
-     * parameter requires that the fully-qualified type name of the
-     * referenced type be given.  A JDBC driver that does not need the
-     * type code and type name information may ignore it.   To be portable,
-     * however, applications should always provide these values for
-     * user-named and REF parameters.
+     * Before executing a stored procedure call, you must explicitly call
+     * <code>registerOutParameter</code> to register the type from
+     * <code>java.sql.Types</code> for each OUT parameter. For a user-named
+     * parameter the fully-qualified SQL type name of the parameter should also be
+     * given, while a REF parameter requires that the fully-qualified type name of
+     * the referenced type be given. A JDBC driver that does not need the type code
+     * and type name information may ignore it. To be portable, however,
+     * applications should always provide these values for user-named and REF
+     * parameters.
      * <p/>
-     * Although it is intended for user-named and REF parameters,
-     * this method may be used to register a parameter of any JDBC type.
-     * If the parameter does not have a user-named or REF type, the
-     * typeName parameter is ignored.
+     * Although it is intended for user-named and REF parameters, this method may be
+     * used to register a parameter of any JDBC type. If the parameter does not have
+     * a user-named or REF type, the typeName parameter is ignored.
      * <p/>
-     * <P><B>Note:</B> When reading the value of an out parameter, you
-     * must use the <code>getXXX</code> method whose Java type XXX corresponds to the
-     * parameter's registered SQL type.
+     * <P>
+     * <B>Note:</B> When reading the value of an out parameter, you must use the
+     * <code>getXXX</code> method whose Java type XXX corresponds to the parameter's
+     * registered SQL type.
      *
      * @param parameterName the name of the parameter
-     * @param sqlType       a value from {@link java.sql.Types}
-     * @param typeName      the fully-qualified name of an SQL structured type
+     * @param sqlType a value from {@link java.sql.Types}
+     * @param typeName the fully-qualified name of an SQL structured type
      * @throws java.sql.SQLException if a database access error occurs
      * @see java.sql.Types
      * @since 1.4
@@ -627,16 +594,14 @@
     }
 
     /**
-     * Retrieves the value of the designated JDBC <code>DATALINK</code> parameter as a
-     * <code>java.net.URL</code> object.
+     * Retrieves the value of the designated JDBC <code>DATALINK</code> parameter as
+     * a <code>java.net.URL</code> object.
      *
      * @param parameterIndex the first parameter is 1, the second is 2,...
-     * @return a <code>java.net.URL</code> object that represents the
-     *         JDBC <code>DATALINK</code> value used as the designated
-     *         parameter
-     * @throws java.sql.SQLException if a database access error occurs,
-     *                               or if the URL being returned is
-     *                               not a valid URL on the Java platform
+     * @return a <code>java.net.URL</code> object that represents the JDBC
+     * <code>DATALINK</code> value used as the designated parameter
+     * @throws java.sql.SQLException if a database access error occurs, or if the
+     * URL being returned is not a valid URL on the Java platform
      * @see #setURL
      * @since 1.4
      */
@@ -646,13 +611,13 @@
 
     /**
      * Sets the designated parameter to the given <code>java.net.URL</code> object.
-     * The driver converts this to an SQL <code>DATALINK</code> value when
-     * it sends it to the database.
+     * The driver converts this to an SQL <code>DATALINK</code> value when it sends
+     * it to the database.
      *
      * @param parameterName the name of the parameter
-     * @param val           the parameter value
-     * @throws java.sql.SQLException if a database access error occurs,
-     *                               or if a URL is malformed
+     * @param val the parameter value
+     * @throws java.sql.SQLException if a database access error occurs, or if a URL
+     * is malformed
      * @see #getURL
      * @since 1.4
      */
@@ -663,10 +628,11 @@
     /**
      * Sets the designated parameter to SQL <code>NULL</code>.
      * <p/>
-     * <P><B>Note:</B> You must specify the parameter's SQL type.
+     * <P>
+     * <B>Note:</B> You must specify the parameter's SQL type.
      *
      * @param parameterName the name of the parameter
-     * @param sqlType       the SQL type code defined in <code>java.sql.Types</code>
+     * @param sqlType the SQL type code defined in <code>java.sql.Types</code>
      * @throws java.sql.SQLException if a database access error occurs
      * @since 1.4
      */
@@ -676,11 +642,11 @@
 
     /**
      * Sets the designated parameter to the given Java <code>boolean</code> value.
-     * The driver converts this
-     * to an SQL <code>BIT</code> value when it sends it to the database.
+     * The driver converts this to an SQL <code>BIT</code> value when it sends it to
+     * the database.
      *
      * @param parameterName the name of the parameter
-     * @param x             the parameter value
+     * @param x the parameter value
      * @throws java.sql.SQLException if a database access error occurs
      * @see #getBoolean
      * @since 1.4
@@ -690,12 +656,12 @@
     }
 
     /**
-     * Sets the designated parameter to the given Java <code>byte</code> value.
-     * The driver converts this
-     * to an SQL <code>TINYINT</code> value when it sends it to the database.
+     * Sets the designated parameter to the given Java <code>byte</code> value. The
+     * driver converts this to an SQL <code>TINYINT</code> value when it sends it to
+     * the database.
      *
      * @param parameterName the name of the parameter
-     * @param x             the parameter value
+     * @param x the parameter value
      * @throws java.sql.SQLException if a database access error occurs
      * @see #getByte
      * @since 1.4
@@ -705,12 +671,12 @@
     }
 
     /**
-     * Sets the designated parameter to the given Java <code>short</code> value.
-     * The driver converts this
-     * to an SQL <code>SMALLINT</code> value when it sends it to the database.
+     * Sets the designated parameter to the given Java <code>short</code> value. The
+     * driver converts this to an SQL <code>SMALLINT</code> value when it sends it
+     * to the database.
      *
      * @param parameterName the name of the parameter
-     * @param x             the parameter value
+     * @param x the parameter value
      * @throws java.sql.SQLException if a database access error occurs
      * @see #getShort
      * @since 1.4
@@ -720,12 +686,12 @@
     }
 
     /**
-     * Sets the designated parameter to the given Java <code>int</code> value.
-     * The driver converts this
-     * to an SQL <code>INTEGER</code> value when it sends it to the database.
+     * Sets the designated parameter to the given Java <code>int</code> value. The
+     * driver converts this to an SQL <code>INTEGER</code> value when it sends it to
+     * the database.
      *
      * @param parameterName the name of the parameter
-     * @param x             the parameter value
+     * @param x the parameter value
      * @throws java.sql.SQLException if a database access error occurs
      * @see #getInt
      * @since 1.4
@@ -735,12 +701,12 @@
     }
 
     /**
-     * Sets the designated parameter to the given Java <code>long</code> value.
-     * The driver converts this
-     * to an SQL <code>BIGINT</code> value when it sends it to the database.
+     * Sets the designated parameter to the given Java <code>long</code> value. The
+     * driver converts this to an SQL <code>BIGINT</code> value when it sends it to
+     * the database.
      *
      * @param parameterName the name of the parameter
-     * @param x             the parameter value
+     * @param x the parameter value
      * @throws java.sql.SQLException if a database access error occurs
      * @see #getLong
      * @since 1.4
@@ -750,12 +716,12 @@
     }
 
     /**
-     * Sets the designated parameter to the given Java <code>float</code> value.
-     * The driver converts this
-     * to an SQL <code>FLOAT</code> value when it sends it to the database.
+     * Sets the designated parameter to the given Java <code>float</code> value. The
+     * driver converts this to an SQL <code>FLOAT</code> value when it sends it to
+     * the database.
      *
      * @param parameterName the name of the parameter
-     * @param x             the parameter value
+     * @param x the parameter value
      * @throws java.sql.SQLException if a database access error occurs
      * @see #getFloat
      * @since 1.4
@@ -766,11 +732,11 @@
 
     /**
      * Sets the designated parameter to the given Java <code>double</code> value.
-     * The driver converts this
-     * to an SQL <code>DOUBLE</code> value when it sends it to the database.
+     * The driver converts this to an SQL <code>DOUBLE</code> value when it sends it
+     * to the database.
      *
      * @param parameterName the name of the parameter
-     * @param x             the parameter value
+     * @param x the parameter value
      * @throws java.sql.SQLException if a database access error occurs
      * @see #getDouble
      * @since 1.4
@@ -780,13 +746,12 @@
     }
 
     /**
-     * Sets the designated parameter to the given
-     * <code>java.math.BigDecimal</code> value.
-     * The driver converts this to an SQL <code>NUMERIC</code> value when
-     * it sends it to the database.
+     * Sets the designated parameter to the given <code>java.math.BigDecimal</code>
+     * value. The driver converts this to an SQL <code>NUMERIC</code> value when it
+     * sends it to the database.
      *
      * @param parameterName the name of the parameter
-     * @param x             the parameter value
+     * @param x the parameter value
      * @throws java.sql.SQLException if a database access error occurs
      * @see #getBigDecimal
      * @since 1.4
@@ -797,14 +762,13 @@
 
     /**
      * Sets the designated parameter to the given Java <code>String</code> value.
-     * The driver converts this
-     * to an SQL <code>VARCHAR</code> or <code>LONGVARCHAR</code> value
-     * (depending on the argument's
-     * size relative to the driver's limits on <code>VARCHAR</code> values)
-     * when it sends it to the database.
+     * The driver converts this to an SQL <code>VARCHAR</code> or
+     * <code>LONGVARCHAR</code> value (depending on the argument's size relative to
+     * the driver's limits on <code>VARCHAR</code> values) when it sends it to the
+     * database.
      *
      * @param parameterName the name of the parameter
-     * @param x             the parameter value
+     * @param x the parameter value
      * @throws java.sql.SQLException if a database access error occurs
      * @see #getString
      * @since 1.4
@@ -814,14 +778,13 @@
     }
 
     /**
-     * Sets the designated parameter to the given Java array of bytes.
-     * The driver converts this to an SQL <code>VARBINARY</code> or
-     * <code>LONGVARBINARY</code> (depending on the argument's size relative
-     * to the driver's limits on <code>VARBINARY</code> values) when it sends
-     * it to the database.
+     * Sets the designated parameter to the given Java array of bytes. The driver
+     * converts this to an SQL <code>VARBINARY</code> or <code>LONGVARBINARY</code>
+     * (depending on the argument's size relative to the driver's limits on
+     * <code>VARBINARY</code> values) when it sends it to the database.
      *
      * @param parameterName the name of the parameter
-     * @param x             the parameter value
+     * @param x the parameter value
      * @throws java.sql.SQLException if a database access error occurs
      * @see #getBytes
      * @since 1.4
@@ -832,11 +795,11 @@
 
     /**
      * Sets the designated parameter to the given <code>java.sql.Date</code> value.
-     * The driver converts this
-     * to an SQL <code>DATE</code> value when it sends it to the database.
+     * The driver converts this to an SQL <code>DATE</code> value when it sends it
+     * to the database.
      *
      * @param parameterName the name of the parameter
-     * @param x             the parameter value
+     * @param x the parameter value
      * @throws java.sql.SQLException if a database access error occurs
      * @see #getDate
      * @since 1.4
@@ -847,11 +810,11 @@
 
     /**
      * Sets the designated parameter to the given <code>java.sql.Time</code> value.
-     * The driver converts this
-     * to an SQL <code>TIME</code> value when it sends it to the database.
+     * The driver converts this to an SQL <code>TIME</code> value when it sends it
+     * to the database.
      *
      * @param parameterName the name of the parameter
-     * @param x             the parameter value
+     * @param x the parameter value
      * @throws java.sql.SQLException if a database access error occurs
      * @see #getTime
      * @since 1.4
@@ -861,13 +824,12 @@
     }
 
     /**
-     * Sets the designated parameter to the given <code>java.sql.Timestamp</code> value.
-     * The driver
-     * converts this to an SQL <code>TIMESTAMP</code> value when it sends it to the
-     * database.
+     * Sets the designated parameter to the given <code>java.sql.Timestamp</code>
+     * value. The driver converts this to an SQL <code>TIMESTAMP</code> value when
+     * it sends it to the database.
      *
      * @param parameterName the name of the parameter
-     * @param x             the parameter value
+     * @param x the parameter value
      * @throws java.sql.SQLException if a database access error occurs
      * @see #getTimestamp
      * @since 1.4
@@ -877,21 +839,20 @@
     }
 
     /**
-     * Sets the designated parameter to the given input stream, which will have
-     * the specified number of bytes.
-     * When a very large ASCII value is input to a <code>LONGVARCHAR</code>
-     * parameter, it may be more practical to send it via a
-     * <code>java.io.InputStream</code>. Data will be read from the stream
-     * as needed until end-of-file is reached.  The JDBC driver will
-     * do any necessary conversion from ASCII to the database char format.
+     * Sets the designated parameter to the given input stream, which will have the
+     * specified number of bytes. When a very large ASCII value is input to a
+     * <code>LONGVARCHAR</code> parameter, it may be more practical to send it via a
+     * <code>java.io.InputStream</code>. Data will be read from the stream as needed
+     * until end-of-file is reached. The JDBC driver will do any necessary
+     * conversion from ASCII to the database char format.
      * <p/>
-     * <P><B>Note:</B> This stream object can either be a standard
-     * Java stream object or your own subclass that implements the
-     * standard interface.
+     * <P>
+     * <B>Note:</B> This stream object can either be a standard Java stream object
+     * or your own subclass that implements the standard interface.
      *
      * @param parameterName the name of the parameter
-     * @param x             the Java input stream that contains the ASCII parameter value
-     * @param length        the number of bytes in the stream
+     * @param x the Java input stream that contains the ASCII parameter value
+     * @param length the number of bytes in the stream
      * @throws java.sql.SQLException if a database access error occurs
      * @since 1.4
      */
@@ -900,20 +861,19 @@
     }
 
     /**
-     * Sets the designated parameter to the given input stream, which will have
-     * the specified number of bytes.
-     * When a very large binary value is input to a <code>LONGVARBINARY</code>
-     * parameter, it may be more practical to send it via a
-     * <code>java.io.InputStream</code> object. The data will be read from the stream
-     * as needed until end-of-file is reached.
+     * Sets the designated parameter to the given input stream, which will have the
+     * specified number of bytes. When a very large binary value is input to a
+     * <code>LONGVARBINARY</code> parameter, it may be more practical to send it via
+     * a <code>java.io.InputStream</code> object. The data will be read from the
+     * stream as needed until end-of-file is reached.
      * <p/>
-     * <P><B>Note:</B> This stream object can either be a standard
-     * Java stream object or your own subclass that implements the
-     * standard interface.
+     * <P>
+     * <B>Note:</B> This stream object can either be a standard Java stream object
+     * or your own subclass that implements the standard interface.
      *
      * @param parameterName the name of the parameter
-     * @param x             the java input stream which contains the binary parameter value
-     * @param length        the number of bytes in the stream
+     * @param x the java input stream which contains the binary parameter value
+     * @param length the number of bytes in the stream
      * @throws java.sql.SQLException if a database access error occurs
      * @since 1.4
      */
@@ -926,28 +886,28 @@
      * argument must be an object type; for integral values, the
      * <code>java.lang</code> equivalent objects should be used.
      * <p/>
-     * <p>The given Java object will be converted to the given targetSqlType
-     * before being sent to the database.
+     * <p>
+     * The given Java object will be converted to the given targetSqlType before
+     * being sent to the database.
      * <p/>
-     * If the object has a custom mapping (is of a class implementing the
-     * interface <code>SQLData</code>),
-     * the JDBC driver should call the method <code>SQLData.writeSQL</code> to write it
-     * to the SQL data stream.
-     * If, on the other hand, the object is of a class implementing
-     * <code>Ref</code>, <code>Blob</code>, <code>Clob</code>, <code>Struct</code>,
-     * or <code>Array</code>, the driver should pass it to the database as a
-     * value of the corresponding SQL type.
+     * If the object has a custom mapping (is of a class implementing the interface
+     * <code>SQLData</code>), the JDBC driver should call the method
+     * <code>SQLData.writeSQL</code> to write it to the SQL data stream. If, on the
+     * other hand, the object is of a class implementing <code>Ref</code>,
+     * <code>Blob</code>, <code>Clob</code>, <code>Struct</code>, or
+     * <code>Array</code>, the driver should pass it to the database as a value of
+     * the corresponding SQL type.
      * <p/>
-     * Note that this method may be used to pass datatabase-
-     * specific abstract data types.
+     * Note that this method may be used to pass datatabase- specific abstract data
+     * types.
      *
      * @param parameterName the name of the parameter
-     * @param x             the object containing the input parameter value
-     * @param targetSqlType the SQL type (as defined in java.sql.Types) to be
-     *                      sent to the database. The scale argument may further qualify this type.
-     * @param scale         for java.sql.Types.DECIMAL or java.sql.Types.NUMERIC types,
-     *                      this is the number of digits after the decimal point.  For all other
-     *                      types, this value will be ignored.
+     * @param x the object containing the input parameter value
+     * @param targetSqlType the SQL type (as defined in java.sql.Types) to be sent
+     * to the database. The scale argument may further qualify this type.
+     * @param scale for java.sql.Types.DECIMAL or java.sql.Types.NUMERIC types, this
+     * is the number of digits after the decimal point. For all other types, this
+     * value will be ignored.
      * @throws java.sql.SQLException if a database access error occurs
      * @see java.sql.Types
      * @see #getObject
@@ -958,14 +918,14 @@
     }
 
     /**
-     * Sets the value of the designated parameter with the given object.
-     * This method is like the method <code>setObject</code>
-     * above, except that it assumes a scale of zero.
+     * Sets the value of the designated parameter with the given object. This method
+     * is like the method <code>setObject</code> above, except that it assumes a
+     * scale of zero.
      *
      * @param parameterName the name of the parameter
-     * @param x             the object containing the input parameter value
-     * @param targetSqlType the SQL type (as defined in java.sql.Types) to be
-     *                      sent to the database
+     * @param x the object containing the input parameter value
+     * @param targetSqlType the SQL type (as defined in java.sql.Types) to be sent
+     * to the database
      * @throws java.sql.SQLException if a database access error occurs
      * @see #getObject
      * @since 1.4
@@ -975,34 +935,34 @@
     }
 
     /**
-     * Sets the value of the designated parameter with the given object.
-     * The second parameter must be of type <code>Object</code>; therefore, the
+     * Sets the value of the designated parameter with the given object. The second
+     * parameter must be of type <code>Object</code>; therefore, the
      * <code>java.lang</code> equivalent objects should be used for built-in types.
      * <p/>
-     * <p>The JDBC specification specifies a standard mapping from
-     * Java <code>Object</code> types to SQL types.  The given argument
-     * will be converted to the corresponding SQL type before being
-     * sent to the database.
+     * <p>
+     * The JDBC specification specifies a standard mapping from Java
+     * <code>Object</code> types to SQL types. The given argument will be converted
+     * to the corresponding SQL type before being sent to the database.
      * <p/>
-     * <p>Note that this method may be used to pass datatabase-
-     * specific abstract data types, by using a driver-specific Java
-     * type.
+     * <p>
+     * Note that this method may be used to pass datatabase- specific abstract data
+     * types, by using a driver-specific Java type.
      * <p/>
      * If the object is of a class implementing the interface <code>SQLData</code>,
-     * the JDBC driver should call the method <code>SQLData.writeSQL</code>
-     * to write it to the SQL data stream.
-     * If, on the other hand, the object is of a class implementing
-     * <code>Ref</code>, <code>Blob</code>, <code>Clob</code>, <code>Struct</code>,
-     * or <code>Array</code>, the driver should pass it to the database as a
-     * value of the corresponding SQL type.
+     * the JDBC driver should call the method <code>SQLData.writeSQL</code> to write
+     * it to the SQL data stream. If, on the other hand, the object is of a class
+     * implementing <code>Ref</code>, <code>Blob</code>, <code>Clob</code>,
+     * <code>Struct</code>, or <code>Array</code>, the driver should pass it to the
+     * database as a value of the corresponding SQL type.
      * <p/>
      * This method throws an exception if there is an ambiguity, for example, if the
-     * object is of a class implementing more than one of the interfaces named above.
+     * object is of a class implementing more than one of the interfaces named
+     * above.
      *
      * @param parameterName the name of the parameter
-     * @param x             the object containing the input parameter value
-     * @throws java.sql.SQLException if a database access error occurs or if the given
-     *                               <code>Object</code> parameter is ambiguous
+     * @param x the object containing the input parameter value
+     * @throws java.sql.SQLException if a database access error occurs or if the
+     * given <code>Object</code> parameter is ambiguous
      * @see #getObject
      * @since 1.4
      */
@@ -1011,22 +971,21 @@
     }
 
     /**
-     * Sets the designated parameter to the given <code>Reader</code>
-     * object, which is the given number of characters long.
-     * When a very large UNICODE value is input to a <code>LONGVARCHAR</code>
-     * parameter, it may be more practical to send it via a
-     * <code>java.io.Reader</code> object. The data will be read from the stream
-     * as needed until end-of-file is reached.  The JDBC driver will
-     * do any necessary conversion from UNICODE to the database char format.
+     * Sets the designated parameter to the given <code>Reader</code> object, which
+     * is the given number of characters long. When a very large UNICODE value is
+     * input to a <code>LONGVARCHAR</code> parameter, it may be more practical to
+     * send it via a <code>java.io.Reader</code> object. The data will be read from
+     * the stream as needed until end-of-file is reached. The JDBC driver will do
+     * any necessary conversion from UNICODE to the database char format.
      * <p/>
-     * <P><B>Note:</B> This stream object can either be a standard
-     * Java stream object or your own subclass that implements the
-     * standard interface.
+     * <P>
+     * <B>Note:</B> This stream object can either be a standard Java stream object
+     * or your own subclass that implements the standard interface.
      *
      * @param parameterName the name of the parameter
-     * @param reader        the <code>java.io.Reader</code> object that
-     *                      contains the UNICODE data used as the designated parameter
-     * @param length        the number of characters in the stream
+     * @param reader the <code>java.io.Reader</code> object that contains the
+     * UNICODE data used as the designated parameter
+     * @param length the number of characters in the stream
      * @throws java.sql.SQLException if a database access error occurs
      * @since 1.4
      */
@@ -1036,18 +995,18 @@
 
     /**
      * Sets the designated parameter to the given <code>java.sql.Date</code> value,
-     * using the given <code>Calendar</code> object.  The driver uses
-     * the <code>Calendar</code> object to construct an SQL <code>DATE</code> value,
-     * which the driver then sends to the database.  With a
-     * a <code>Calendar</code> object, the driver can calculate the date
-     * taking into account a custom timezone.  If no
-     * <code>Calendar</code> object is specified, the driver uses the default
-     * timezone, which is that of the virtual machine running the application.
+     * using the given <code>Calendar</code> object. The driver uses the
+     * <code>Calendar</code> object to construct an SQL <code>DATE</code> value,
+     * which the driver then sends to the database. With a a <code>Calendar</code>
+     * object, the driver can calculate the date taking into account a custom
+     * timezone. If no <code>Calendar</code> object is specified, the driver uses
+     * the default timezone, which is that of the virtual machine running the
+     * application.
      *
      * @param parameterName the name of the parameter
-     * @param x             the parameter value
-     * @param cal           the <code>Calendar</code> object the driver will use
-     *                      to construct the date
+     * @param x the parameter value
+     * @param cal the <code>Calendar</code> object the driver will use to construct
+     * the date
      * @throws java.sql.SQLException if a database access error occurs
      * @see #getDate
      * @since 1.4
@@ -1058,18 +1017,18 @@
 
     /**
      * Sets the designated parameter to the given <code>java.sql.Time</code> value,
-     * using the given <code>Calendar</code> object.  The driver uses
-     * the <code>Calendar</code> object to construct an SQL <code>TIME</code> value,
-     * which the driver then sends to the database.  With a
-     * a <code>Calendar</code> object, the driver can calculate the time
-     * taking into account a custom timezone.  If no
-     * <code>Calendar</code> object is specified, the driver uses the default
-     * timezone, which is that of the virtual machine running the application.
+     * using the given <code>Calendar</code> object. The driver uses the
+     * <code>Calendar</code> object to construct an SQL <code>TIME</code> value,
+     * which the driver then sends to the database. With a a <code>Calendar</code>
+     * object, the driver can calculate the time taking into account a custom
+     * timezone. If no <code>Calendar</code> object is specified, the driver uses
+     * the default timezone, which is that of the virtual machine running the
+     * application.
      *
      * @param parameterName the name of the parameter
-     * @param x             the parameter value
-     * @param cal           the <code>Calendar</code> object the driver will use
-     *                      to construct the time
+     * @param x the parameter value
+     * @param cal the <code>Calendar</code> object the driver will use to construct
+     * the time
      * @throws java.sql.SQLException if a database access error occurs
      * @see #getTime
      * @since 1.4
@@ -1079,19 +1038,19 @@
     }
 
     /**
-     * Sets the designated parameter to the given <code>java.sql.Timestamp</code> value,
-     * using the given <code>Calendar</code> object.  The driver uses
-     * the <code>Calendar</code> object to construct an SQL <code>TIMESTAMP</code> value,
-     * which the driver then sends to the database.  With a
-     * a <code>Calendar</code> object, the driver can calculate the timestamp
-     * taking into account a custom timezone.  If no
-     * <code>Calendar</code> object is specified, the driver uses the default
-     * timezone, which is that of the virtual machine running the application.
+     * Sets the designated parameter to the given <code>java.sql.Timestamp</code>
+     * value, using the given <code>Calendar</code> object. The driver uses the
+     * <code>Calendar</code> object to construct an SQL <code>TIMESTAMP</code>
+     * value, which the driver then sends to the database. With a a
+     * <code>Calendar</code> object, the driver can calculate the timestamp taking
+     * into account a custom timezone. If no <code>Calendar</code> object is
+     * specified, the driver uses the default timezone, which is that of the virtual
+     * machine running the application.
      *
      * @param parameterName the name of the parameter
-     * @param x             the parameter value
-     * @param cal           the <code>Calendar</code> object the driver will use
-     *                      to construct the timestamp
+     * @param x the parameter value
+     * @param cal the <code>Calendar</code> object the driver will use to construct
+     * the timestamp
      * @throws java.sql.SQLException if a database access error occurs
      * @see #getTimestamp
      * @since 1.4
@@ -1101,30 +1060,27 @@
     }
 
     /**
-     * Sets the designated parameter to SQL <code>NULL</code>.
-     * This version of the method <code>setNull</code> should
-     * be used for user-defined types and REF type parameters.  Examples
-     * of user-defined types include: STRUCT, DISTINCT, JAVA_OBJECT, and
-     * named array types.
+     * Sets the designated parameter to SQL <code>NULL</code>. This version of the
+     * method <code>setNull</code> should be used for user-defined types and REF
+     * type parameters. Examples of user-defined types include: STRUCT, DISTINCT,
+     * JAVA_OBJECT, and named array types.
      * <p/>
-     * <P><B>Note:</B> To be portable, applications must give the
-     * SQL type code and the fully-qualified SQL type name when specifying
-     * a NULL user-defined or REF parameter.  In the case of a user-defined type
-     * the name is the type name of the parameter itself.  For a REF
-     * parameter, the name is the type name of the referenced type.  If
-     * a JDBC driver does not need the type code or type name information,
-     * it may ignore it.
+     * <P>
+     * <B>Note:</B> To be portable, applications must give the SQL type code and the
+     * fully-qualified SQL type name when specifying a NULL user-defined or REF
+     * parameter. In the case of a user-defined type the name is the type name of
+     * the parameter itself. For a REF parameter, the name is the type name of the
+     * referenced type. If a JDBC driver does not need the type code or type name
+     * information, it may ignore it.
      * <p/>
-     * Although it is intended for user-defined and Ref parameters,
-     * this method may be used to set a null parameter of any JDBC type.
-     * If the parameter does not have a user-defined or REF type, the given
-     * typeName is ignored.
+     * Although it is intended for user-defined and Ref parameters, this method may
+     * be used to set a null parameter of any JDBC type. If the parameter does not
+     * have a user-defined or REF type, the given typeName is ignored.
      *
      * @param parameterName the name of the parameter
-     * @param sqlType       a value from <code>java.sql.Types</code>
-     * @param typeName      the fully-qualified name of an SQL user-defined type;
-     *                      ignored if the parameter is not a user-defined type or
-     *                      SQL <code>REF</code> value
+     * @param sqlType a value from <code>java.sql.Types</code>
+     * @param typeName the fully-qualified name of an SQL user-defined type; ignored
+     * if the parameter is not a user-defined type or SQL <code>REF</code> value
      * @throws java.sql.SQLException if a database access error occurs
      * @since 1.4
      */
@@ -1133,19 +1089,17 @@
     }
 
     /**
-     * Retrieves the value of a JDBC <code>CHAR</code>, <code>VARCHAR</code>,
-     * or <code>LONGVARCHAR</code> parameter as a <code>String</code> in
-     * the Java programming language.
+     * Retrieves the value of a JDBC <code>CHAR</code>, <code>VARCHAR</code>, or
+     * <code>LONGVARCHAR</code> parameter as a <code>String</code> in the Java
+     * programming language.
      * <p/>
-     * For the fixed-length type JDBC <code>CHAR</code>,
-     * the <code>String</code> object
-     * returned has exactly the same value the JDBC
-     * <code>CHAR</code> value had in the
-     * database, including any padding added by the database.
+     * For the fixed-length type JDBC <code>CHAR</code>, the <code>String</code>
+     * object returned has exactly the same value the JDBC <code>CHAR</code> value
+     * had in the database, including any padding added by the database.
      *
      * @param parameterName the name of the parameter
-     * @return the parameter value. If the value is SQL <code>NULL</code>, the result
-     *         is <code>null</code>.
+     * @return the parameter value. If the value is SQL <code>NULL</code>, the
+     * result is <code>null</code>.
      * @throws java.sql.SQLException if a database access error occurs
      * @see #setString
      * @since 1.4
@@ -1159,8 +1113,8 @@
      * <code>boolean</code> in the Java programming language.
      *
      * @param parameterName the name of the parameter
-     * @return the parameter value.  If the value is SQL <code>NULL</code>, the result
-     *         is <code>false</code>.
+     * @return the parameter value. If the value is SQL <code>NULL</code>, the
+     * result is <code>false</code>.
      * @throws java.sql.SQLException if a database access error occurs
      * @see #setBoolean
      * @since 1.4
@@ -1170,12 +1124,12 @@
     }
 
     /**
-     * Retrieves the value of a JDBC <code>TINYINT</code> parameter as a <code>byte</code>
-     * in the Java programming language.
+     * Retrieves the value of a JDBC <code>TINYINT</code> parameter as a
+     * <code>byte</code> in the Java programming language.
      *
      * @param parameterName the name of the parameter
-     * @return the parameter value.  If the value is SQL <code>NULL</code>, the result
-     *         is <code>0</code>.
+     * @return the parameter value. If the value is SQL <code>NULL</code>, the
+     * result is <code>0</code>.
      * @throws java.sql.SQLException if a database access error occurs
      * @see #setByte
      * @since 1.4
@@ -1185,12 +1139,12 @@
     }
 
     /**
-     * Retrieves the value of a JDBC <code>SMALLINT</code> parameter as a <code>short</code>
-     * in the Java programming language.
+     * Retrieves the value of a JDBC <code>SMALLINT</code> parameter as a
+     * <code>short</code> in the Java programming language.
      *
      * @param parameterName the name of the parameter
-     * @return the parameter value.  If the value is SQL <code>NULL</code>, the result
-     *         is <code>0</code>.
+     * @return the parameter value. If the value is SQL <code>NULL</code>, the
+     * result is <code>0</code>.
      * @throws java.sql.SQLException if a database access error occurs
      * @see #setShort
      * @since 1.4
@@ -1200,12 +1154,12 @@
     }
 
     /**
-     * Retrieves the value of a JDBC <code>INTEGER</code> parameter as an <code>int</code>
-     * in the Java programming language.
+     * Retrieves the value of a JDBC <code>INTEGER</code> parameter as an
+     * <code>int</code> in the Java programming language.
      *
      * @param parameterName the name of the parameter
-     * @return the parameter value.  If the value is SQL <code>NULL</code>,
-     *         the result is <code>0</code>.
+     * @return the parameter value. If the value is SQL <code>NULL</code>, the
+     * result is <code>0</code>.
      * @throws java.sql.SQLException if a database access error occurs
      * @see #setInt
      * @since 1.4
@@ -1215,12 +1169,12 @@
     }
 
     /**
-     * Retrieves the value of a JDBC <code>BIGINT</code> parameter as a <code>long</code>
-     * in the Java programming language.
+     * Retrieves the value of a JDBC <code>BIGINT</code> parameter as a
+     * <code>long</code> in the Java programming language.
      *
      * @param parameterName the name of the parameter
-     * @return the parameter value.  If the value is SQL <code>NULL</code>,
-     *         the result is <code>0</code>.
+     * @return the parameter value. If the value is SQL <code>NULL</code>, the
+     * result is <code>0</code>.
      * @throws java.sql.SQLException if a database access error occurs
      * @see #setLong
      * @since 1.4
@@ -1230,12 +1184,12 @@
     }
 
     /**
-     * Retrieves the value of a JDBC <code>FLOAT</code> parameter as a <code>float</code>
-     * in the Java programming language.
+     * Retrieves the value of a JDBC <code>FLOAT</code> parameter as a
+     * <code>float</code> in the Java programming language.
      *
      * @param parameterName the name of the parameter
-     * @return the parameter value.  If the value is SQL <code>NULL</code>,
-     *         the result is <code>0</code>.
+     * @return the parameter value. If the value is SQL <code>NULL</code>, the
+     * result is <code>0</code>.
      * @throws java.sql.SQLException if a database access error occurs
      * @see #setFloat
      * @since 1.4
@@ -1245,12 +1199,12 @@
     }
 
     /**
-     * Retrieves the value of a JDBC <code>DOUBLE</code> parameter as a <code>double</code>
-     * in the Java programming language.
+     * Retrieves the value of a JDBC <code>DOUBLE</code> parameter as a
+     * <code>double</code> in the Java programming language.
      *
      * @param parameterName the name of the parameter
-     * @return the parameter value.  If the value is SQL <code>NULL</code>,
-     *         the result is <code>0</code>.
+     * @return the parameter value. If the value is SQL <code>NULL</code>, the
+     * result is <code>0</code>.
      * @throws java.sql.SQLException if a database access error occurs
      * @see #setDouble
      * @since 1.4
@@ -1261,12 +1215,12 @@
 
     /**
      * Retrieves the value of a JDBC <code>BINARY</code> or <code>VARBINARY</code>
-     * parameter as an array of <code>byte</code> values in the Java
-     * programming language.
+     * parameter as an array of <code>byte</code> values in the Java programming
+     * language.
      *
      * @param parameterName the name of the parameter
-     * @return the parameter value.  If the value is SQL <code>NULL</code>, the result is
-     *         <code>null</code>.
+     * @return the parameter value. If the value is SQL <code>NULL</code>, the
+     * result is <code>null</code>.
      * @throws java.sql.SQLException if a database access error occurs
      * @see #setBytes
      * @since 1.4
@@ -1280,8 +1234,8 @@
      * <code>java.sql.Date</code> object.
      *
      * @param parameterName the name of the parameter
-     * @return the parameter value.  If the value is SQL <code>NULL</code>, the result
-     *         is <code>null</code>.
+     * @return the parameter value. If the value is SQL <code>NULL</code>, the
+     * result is <code>null</code>.
      * @throws java.sql.SQLException if a database access error occurs
      * @see #setDate
      * @since 1.4
@@ -1295,8 +1249,8 @@
      * <code>java.sql.Time</code> object.
      *
      * @param parameterName the name of the parameter
-     * @return the parameter value.  If the value is SQL <code>NULL</code>, the result
-     *         is <code>null</code>.
+     * @return the parameter value. If the value is SQL <code>NULL</code>, the
+     * result is <code>null</code>.
      * @throws java.sql.SQLException if a database access error occurs
      * @see #setTime
      * @since 1.4
@@ -1310,8 +1264,8 @@
      * <code>java.sql.Timestamp</code> object.
      *
      * @param parameterName the name of the parameter
-     * @return the parameter value.  If the value is SQL <code>NULL</code>, the result
-     *         is <code>null</code>.
+     * @return the parameter value. If the value is SQL <code>NULL</code>, the
+     * result is <code>null</code>.
      * @throws java.sql.SQLException if a database access error occurs
      * @see #setTimestamp
      * @since 1.4
@@ -1322,14 +1276,14 @@
 
     /**
      * Retrieves the value of a parameter as an <code>Object</code> in the Java
-     * programming language. If the value is an SQL <code>NULL</code>, the
-     * driver returns a Java <code>null</code>.
+     * programming language. If the value is an SQL <code>NULL</code>, the driver
+     * returns a Java <code>null</code>.
      * <p/>
-     * This method returns a Java object whose type corresponds to the JDBC
-     * type that was registered for this parameter using the method
-     * <code>registerOutParameter</code>.  By registering the target JDBC
-     * type as <code>java.sql.Types.OTHER</code>, this method can be used
-     * to read database-specific abstract data types.
+     * This method returns a Java object whose type corresponds to the JDBC type
+     * that was registered for this parameter using the method
+     * <code>registerOutParameter</code>. By registering the target JDBC type as
+     * <code>java.sql.Types.OTHER</code>, this method can be used to read
+     * database-specific abstract data types.
      *
      * @param parameterName the name of the parameter
      * @return A <code>java.lang.Object</code> holding the OUT parameter value.
@@ -1344,12 +1298,12 @@
 
     /**
      * Retrieves the value of a JDBC <code>NUMERIC</code> parameter as a
-     * <code>java.math.BigDecimal</code> object with as many digits to the
-     * right of the decimal point as the value contains.
+     * <code>java.math.BigDecimal</code> object with as many digits to the right of
+     * the decimal point as the value contains.
      *
      * @param parameterName the name of the parameter
-     * @return the parameter value in full precision.  If the value is
-     *         SQL <code>NULL</code>, the result is <code>null</code>.
+     * @return the parameter value in full precision. If the value is SQL
+     * <code>NULL</code>, the result is <code>null</code>.
      * @throws java.sql.SQLException if a database access error occurs
      * @see #setBigDecimal
      * @since 1.4
@@ -1363,9 +1317,9 @@
      * parameter as a {@link java.sql.Ref} object in the Java programming language.
      *
      * @param parameterName the name of the parameter
-     * @return the parameter value as a <code>Ref</code> object in the
-     *         Java programming language.  If the value was SQL <code>NULL</code>,
-     *         the value <code>null</code> is returned.
+     * @return the parameter value as a <code>Ref</code> object in the Java
+     * programming language. If the value was SQL <code>NULL</code>, the value
+     * <code>null</code> is returned.
      * @throws java.sql.SQLException if a database access error occurs
      * @since 1.4
      */
@@ -1378,9 +1332,9 @@
      * {@link java.sql.Blob} object in the Java programming language.
      *
      * @param parameterName the name of the parameter
-     * @return the parameter value as a <code>Blob</code> object in the
-     *         Java programming language.  If the value was SQL <code>NULL</code>,
-     *         the value <code>null</code> is returned.
+     * @return the parameter value as a <code>Blob</code> object in the Java
+     * programming language. If the value was SQL <code>NULL</code>, the value
+     * <code>null</code> is returned.
      * @throws java.sql.SQLException if a database access error occurs
      * @since 1.4
      */
@@ -1393,9 +1347,9 @@
      * <code>Clob</code> object in the Java programming language.
      *
      * @param parameterName the name of the parameter
-     * @return the parameter value as a <code>Clob</code> object in the
-     *         Java programming language.  If the value was SQL <code>NULL</code>,
-     *         the value <code>null</code> is returned.
+     * @return the parameter value as a <code>Clob</code> object in the Java
+     * programming language. If the value was SQL <code>NULL</code>, the value
+     * <code>null</code> is returned.
      * @throws java.sql.SQLException if a database access error occurs
      * @since 1.4
      */
@@ -1408,9 +1362,9 @@
      * {@link java.sql.Array} object in the Java programming language.
      *
      * @param parameterName the name of the parameter
-     * @return the parameter value as an <code>Array</code> object in
-     *         Java programming language.  If the value was SQL <code>NULL</code>,
-     *         the value <code>null</code> is returned.
+     * @return the parameter value as an <code>Array</code> object in Java
+     * programming language. If the value was SQL <code>NULL</code>, the value
+     * <code>null</code> is returned.
      * @throws java.sql.SQLException if a database access error occurs
      * @since 1.4
      */
@@ -1420,19 +1374,17 @@
 
     /**
      * Retrieves the value of a JDBC <code>DATE</code> parameter as a
-     * <code>java.sql.Date</code> object, using
-     * the given <code>Calendar</code> object
-     * to construct the date.
-     * With a <code>Calendar</code> object, the driver
-     * can calculate the date taking into account a custom timezone and locale.
-     * If no <code>Calendar</code> object is specified, the driver uses the
-     * default timezone and locale.
+     * <code>java.sql.Date</code> object, using the given <code>Calendar</code>
+     * object to construct the date. With a <code>Calendar</code> object, the driver
+     * can calculate the date taking into account a custom timezone and locale. If
+     * no <code>Calendar</code> object is specified, the driver uses the default
+     * timezone and locale.
      *
      * @param parameterName the name of the parameter
-     * @param cal           the <code>Calendar</code> object the driver will use
-     *                      to construct the date
-     * @return the parameter value.  If the value is SQL <code>NULL</code>,
-     *         the result is <code>null</code>.
+     * @param cal the <code>Calendar</code> object the driver will use to construct
+     * the date
+     * @return the parameter value. If the value is SQL <code>NULL</code>, the
+     * result is <code>null</code>.
      * @throws java.sql.SQLException if a database access error occurs
      * @see #setDate
      * @since 1.4
@@ -1443,19 +1395,17 @@
 
     /**
      * Retrieves the value of a JDBC <code>TIME</code> parameter as a
-     * <code>java.sql.Time</code> object, using
-     * the given <code>Calendar</code> object
-     * to construct the time.
-     * With a <code>Calendar</code> object, the driver
-     * can calculate the time taking into account a custom timezone and locale.
-     * If no <code>Calendar</code> object is specified, the driver uses the
-     * default timezone and locale.
+     * <code>java.sql.Time</code> object, using the given <code>Calendar</code>
+     * object to construct the time. With a <code>Calendar</code> object, the driver
+     * can calculate the time taking into account a custom timezone and locale. If
+     * no <code>Calendar</code> object is specified, the driver uses the default
+     * timezone and locale.
      *
      * @param parameterName the name of the parameter
-     * @param cal           the <code>Calendar</code> object the driver will use
-     *                      to construct the time
-     * @return the parameter value; if the value is SQL <code>NULL</code>, the result is
-     *         <code>null</code>.
+     * @param cal the <code>Calendar</code> object the driver will use to construct
+     * the time
+     * @return the parameter value; if the value is SQL <code>NULL</code>, the
+     * result is <code>null</code>.
      * @throws java.sql.SQLException if a database access error occurs
      * @see #setTime
      * @since 1.4
@@ -1466,19 +1416,17 @@
 
     /**
      * Retrieves the value of a JDBC <code>TIMESTAMP</code> parameter as a
-     * <code>java.sql.Timestamp</code> object, using
-     * the given <code>Calendar</code> object to construct
-     * the <code>Timestamp</code> object.
-     * With a <code>Calendar</code> object, the driver
-     * can calculate the timestamp taking into account a custom timezone and locale.
-     * If no <code>Calendar</code> object is specified, the driver uses the
-     * default timezone and locale.
+     * <code>java.sql.Timestamp</code> object, using the given <code>Calendar</code>
+     * object to construct the <code>Timestamp</code> object. With a
+     * <code>Calendar</code> object, the driver can calculate the timestamp taking
+     * into account a custom timezone and locale. If no <code>Calendar</code> object
+     * is specified, the driver uses the default timezone and locale.
      *
      * @param parameterName the name of the parameter
-     * @param cal           the <code>Calendar</code> object the driver will use
-     *                      to construct the timestamp
-     * @return the parameter value.  If the value is SQL <code>NULL</code>, the result is
-     *         <code>null</code>.
+     * @param cal the <code>Calendar</code> object the driver will use to construct
+     * the timestamp
+     * @return the parameter value. If the value is SQL <code>NULL</code>, the
+     * result is <code>null</code>.
      * @throws java.sql.SQLException if a database access error occurs
      * @see #setTimestamp
      * @since 1.4
@@ -1492,11 +1440,11 @@
      * <code>java.net.URL</code> object.
      *
      * @param parameterName the name of the parameter
-     * @return the parameter value as a <code>java.net.URL</code> object in the
-     *         Java programming language.  If the value was SQL <code>NULL</code>, the
-     *         value <code>null</code> is returned.
-     * @throws java.sql.SQLException if a database access error occurs,
-     *                               or if there is a problem with the URL
+     * @return the parameter value as a <code>java.net.URL</code> object in the Java
+     * programming language. If the value was SQL <code>NULL</code>, the value
+     * <code>null</code> is returned.
+     * @throws java.sql.SQLException if a database access error occurs, or if there
+     * is a problem with the URL
      * @see #setURL
      * @since 1.4
      */
@@ -1505,17 +1453,16 @@
     }
 
     /**
-     * Returns an object representing the value of OUT parameter
-     * <code>i</code> and uses <code>map</code> for the custom
-     * mapping of the parameter value.
+     * Returns an object representing the value of OUT parameter <code>i</code> and
+     * uses <code>map</code> for the custom mapping of the parameter value.
      * <p/>
-     * This method returns a Java object whose type corresponds to the
-     * JDBC type that was registered for this parameter using the method
-     * <code>registerOutParameter</code>.  By registering the target
-     * JDBC type as <code>java.sql.Types.OTHER</code>, this method can
-     * be used to read database-specific abstract data types.
+     * This method returns a Java object whose type corresponds to the JDBC type
+     * that was registered for this parameter using the method
+     * <code>registerOutParameter</code>. By registering the target JDBC type as
+     * <code>java.sql.Types.OTHER</code>, this method can be used to read
+     * database-specific abstract data types.
      *
-     * @param i   the first parameter is 1, the second is 2, and so on
+     * @param i the first parameter is 1, the second is 2, and so on
      * @param map the mapping from SQL type names to Java classes
      * @return a <code>java.lang.Object</code> holding the OUT parameter value
      * @throws java.sql.SQLException if a database access error occurs
@@ -1527,18 +1474,17 @@
     }
 
     /**
-     * Returns an object representing the value of OUT parameter
-     * <code>i</code> and uses <code>map</code> for the custom
-     * mapping of the parameter value.
+     * Returns an object representing the value of OUT parameter <code>i</code> and
+     * uses <code>map</code> for the custom mapping of the parameter value.
      * <p/>
-     * This method returns a Java object whose type corresponds to the
-     * JDBC type that was registered for this parameter using the method
-     * <code>registerOutParameter</code>.  By registering the target
-     * JDBC type as <code>java.sql.Types.OTHER</code>, this method can
-     * be used to read database-specific abstract data types.
+     * This method returns a Java object whose type corresponds to the JDBC type
+     * that was registered for this parameter using the method
+     * <code>registerOutParameter</code>. By registering the target JDBC type as
+     * <code>java.sql.Types.OTHER</code>, this method can be used to read
+     * database-specific abstract data types.
      *
      * @param parameterName the name of the parameter
-     * @param map           the mapping from SQL type names to Java classes
+     * @param map the mapping from SQL type names to Java classes
      * @return a <code>java.lang.Object</code> holding the OUT parameter value
      * @throws java.sql.SQLException if a database access error occurs
      * @see #setObject
diff --git a/appserver/jdbc/jdbc-ra/jdbc-core/src/main/java/com/sun/gjc/spi/base/ConnectionHolder.java b/appserver/jdbc/jdbc-ra/jdbc-core/src/main/java/com/sun/gjc/spi/base/ConnectionHolder.java
index 1c81834..f110bab 100644
--- a/appserver/jdbc/jdbc-ra/jdbc-core/src/main/java/com/sun/gjc/spi/base/ConnectionHolder.java
+++ b/appserver/jdbc/jdbc-ra/jdbc-core/src/main/java/com/sun/gjc/spi/base/ConnectionHolder.java
@@ -16,6 +16,18 @@
 
 package com.sun.gjc.spi.base;
 
+import java.sql.CallableStatement;
+import java.sql.Connection;
+import java.sql.DatabaseMetaData;
+import java.sql.PreparedStatement;
+import java.sql.SQLException;
+import java.sql.SQLWarning;
+import java.sql.Savepoint;
+import java.sql.Statement;
+import java.util.Map;
+import java.util.logging.Level;
+import java.util.logging.Logger;
+
 import com.sun.enterprise.util.i18n.StringManager;
 import com.sun.gjc.common.DataSourceObjectBuilder;
 import com.sun.gjc.spi.ManagedConnectionImpl;
@@ -23,48 +35,41 @@
 import com.sun.logging.LogDomains;
 
 import jakarta.resource.ResourceException;
-import java.sql.*;
-import java.util.Map;
-import java.util.logging.Level;
-import java.util.logging.Logger;
+import jakarta.resource.spi.ConnectionRequestInfo;
+import jakarta.resource.spi.LazyAssociatableConnectionManager;
+import jakarta.resource.spi.LazyEnlistableConnectionManager;
+import jakarta.resource.spi.ManagedConnectionFactory;
 
 /**
- * Holds the java.sql.Connection object, which is to be
- * passed to the application program.
+ * Holds the java.sql.Connection object, which is to be passed to the
+ * application program.
  *
  * @author Binod P.G
  * @version 1.0, 02/07/23
  */
 public abstract class ConnectionHolder implements Connection {
 
-    protected Connection con;
+    protected final static Logger _logger = LogDomains.getLogger(ManagedConnectionImpl.class, LogDomains.RSR_LOGGER);
+    protected final static StringManager sm = StringManager.getManager(DataSourceObjectBuilder.class);
 
-    protected ManagedConnectionImpl mc;
+    protected Connection connection;
+    protected ManagedConnectionImpl managedConnectionImpl;
 
-    protected boolean wrappedAlready = false;
-
-    protected boolean isClosed = false;
-
+    protected boolean wrappedAlready;
+    protected boolean isClosed;
     protected boolean valid = true;
+    protected boolean active;
 
-    protected boolean active = false;
+    private LazyAssociatableConnectionManager lazyAssocCm_;
+    private LazyEnlistableConnectionManager lazyEnlistCm_;
 
-    private jakarta.resource.spi.LazyAssociatableConnectionManager lazyAssocCm_;
-    private jakarta.resource.spi.LazyEnlistableConnectionManager lazyEnlistCm_;
-
-    private jakarta.resource.spi.ConnectionRequestInfo cxReqInfo_;
-
-    private jakarta.resource.spi.ManagedConnectionFactory mcf_;
+    private ConnectionRequestInfo connectionRequestInfo;
+    private ManagedConnectionFactory managedConnectionFactory;
 
     protected int statementTimeout;
     protected boolean statementTimeoutEnabled;
 
-    protected final static Logger _logger;
-
-    static {
-        _logger = LogDomains.getLogger(ManagedConnectionImpl.class, LogDomains.RSR_LOGGER);
-    }
-    private MethodExecutor executor = null;
+    private MethodExecutor executor;
 
     public static enum ConnectionType {
         LAZY_ENLISTABLE, LAZY_ASSOCIATABLE, STANDARD
@@ -73,18 +78,14 @@
     private ConnectionType myType_ = ConnectionType.STANDARD;
 
     /**
-     * The active flag is false when the connection handle is
-     * created. When a method is invoked on this object, it asks
-     * the ManagedConnection if it can be the active connection
-     * handle out of the multiple connection handles. If the
-     * ManagedConnection reports that this connection handle
-     * can be active by setting this flag to true via the setActive
-     * function, the above method invocation succeeds; otherwise
-     * an exception is thrown.
+     * The active flag is false when the connection handle is created. When a method
+     * is invoked on this object, it asks the ManagedConnection if it can be the
+     * active connection handle out of the multiple connection handles. If the
+     * ManagedConnection reports that this connection handle can be active by
+     * setting this flag to true via the setActive function, the above method
+     * invocation succeeds; otherwise an exception is thrown.
      */
 
-    protected final static StringManager sm = StringManager.getManager(
-            DataSourceObjectBuilder.class);
 
 
     /**
@@ -92,12 +93,11 @@
      *
      * @param con <code>java.sql.Connection</code> object.
      */
-    public ConnectionHolder(Connection con, ManagedConnectionImpl mc,
-                            jakarta.resource.spi.ConnectionRequestInfo cxRequestInfo) {
-        this.con = con;
-        this.mc = mc;
-        mcf_ = mc.getMcf();
-        cxReqInfo_ = cxRequestInfo;
+    public ConnectionHolder(Connection con, ManagedConnectionImpl mc, ConnectionRequestInfo cxRequestInfo) {
+        this.connection = con;
+        this.managedConnectionImpl = mc;
+        managedConnectionFactory = mc.getMcf();
+        connectionRequestInfo = cxRequestInfo;
         statementTimeout = mc.getStatementTimeout();
         executor = new MethodExecutor();
         if (statementTimeout > 0) {
@@ -111,7 +111,7 @@
      * @return Connection object.
      */
     public Connection getConnection() {
-        return con;
+        return connection;
     }
 
     /**
@@ -133,13 +133,13 @@
     }
 
     /**
-     * Returns the <code>ManagedConnection</code> instance responsible
-     * for this connection.
+     * Returns the <code>ManagedConnection</code> instance responsible for this
+     * connection.
      *
      * @return <code>ManagedConnection</code> instance.
      */
     public ManagedConnectionImpl getManagedConnection() {
-        return mc;
+        return managedConnectionImpl;
     }
 
     /**
@@ -147,30 +147,30 @@
      * supplied. Also replace <code>ManagedConnection</code> link.
      *
      * @param con <code>Connection</code> object.
-     * @param mc  <code> ManagedConnection</code> object.
+     * @param mc <code> ManagedConnection</code> object.
      */
     public void associateConnection(Connection con, ManagedConnectionImpl mc) {
-        this.mc = mc;
-        this.con = con;
+        this.managedConnectionImpl = mc;
+        this.connection = con;
     }
 
     /**
-     * Dis-associate ManagedConnection and actual-connection from this user connection.
-     * Used when lazy-connection-association is ON.
+     * Dis-associate ManagedConnection and actual-connection from this user
+     * connection. Used when lazy-connection-association is ON.
      */
     public void dissociateConnection() {
-        this.mc = null;
-        this.con = null;
+        this.managedConnectionImpl = null;
+        this.connection = null;
     }
 
     /**
-     * Clears all warnings reported for the underlying connection  object.
+     * Clears all warnings reported for the underlying connection object.
      *
      * @throws SQLException In case of a database error.
      */
     public void clearWarnings() throws SQLException {
         checkValidity();
-        con.clearWarnings();
+        connection.clearWarnings();
     }
 
     /**
@@ -187,10 +187,10 @@
         }
 
         isClosed = true;
-        if (mc != null) {
-            //mc might be null if this is a lazyAssociatable connection
-            //and has not been associated yet or has been disassociated
-            mc.connectionClosed(null, this);
+        if (managedConnectionImpl != null) {
+            // mc might be null if this is a lazyAssociatable connection
+            // and has not been associated yet or has been disassociated
+            managedConnectionImpl.connectionClosed(null, this);
         }
     }
 
@@ -207,7 +207,7 @@
      * @throws SQLException In case of a database error.
      */
     void actualClose() throws SQLException {
-        con.close();
+        connection.close();
     }
 
     /**
@@ -217,7 +217,7 @@
      */
     public void commit() throws SQLException {
         checkValidity();
-        con.commit();
+        connection.commit();
     }
 
     /**
@@ -229,21 +229,23 @@
     public Statement createStatement() throws SQLException {
         checkValidity();
         jdbcPreInvoke();
-        Statement stmt = con.createStatement();
+
+        Statement statement = connection.createStatement();
         if (statementTimeoutEnabled) {
             try {
-                stmt.setQueryTimeout(statementTimeout);
+                statement.setQueryTimeout(statementTimeout);
             } catch (SQLException ex) {
-                stmt.close();
+                statement.close();
             }
         }
-        return stmt;
+
+        return statement;
     }
 
     /**
      * Creates a statement from the underlying Connection.
      *
-     * @param resultSetType        Type of the ResultSet
+     * @param resultSetType Type of the ResultSet
      * @param resultSetConcurrency ResultSet Concurrency.
      * @return <code>Statement</code> object.
      * @throws SQLException In case of a database error.
@@ -251,51 +253,54 @@
     public Statement createStatement(int resultSetType, int resultSetConcurrency) throws SQLException {
         checkValidity();
         jdbcPreInvoke();
-        Statement stmt = con.createStatement(resultSetType, resultSetConcurrency);
+
+        Statement statement = connection.createStatement(resultSetType, resultSetConcurrency);
         if (statementTimeoutEnabled) {
             try {
-                stmt.setQueryTimeout(statementTimeout);
+                statement.setQueryTimeout(statementTimeout);
             } catch (SQLException ex) {
-                stmt.close();
+                statement.close();
             }
         }
-        return stmt;
+
+        return statement;
     }
 
     /**
      * Creates a statement from the underlying Connection.
      *
-     * @param resultSetType        Type of the ResultSet
+     * @param resultSetType Type of the ResultSet
      * @param resultSetConcurrency ResultSet Concurrency.
      * @param resultSetHoldability ResultSet Holdability.
      * @return <code>Statement</code> object.
      * @throws SQLException In case of a database error.
      */
-    public Statement createStatement(int resultSetType, int resultSetConcurrency,
-                                     int resultSetHoldability) throws SQLException {
+    public Statement createStatement(int resultSetType, int resultSetConcurrency, int resultSetHoldability) throws SQLException {
         checkValidity();
         jdbcPreInvoke();
-        Statement stmt = con.createStatement(resultSetType, resultSetConcurrency,
-                resultSetHoldability);
+
+        Statement statement = connection.createStatement(resultSetType, resultSetConcurrency, resultSetHoldability);
         if (statementTimeoutEnabled) {
             try {
-                stmt.setQueryTimeout(statementTimeout);
+                statement.setQueryTimeout(statementTimeout);
             } catch (SQLException ex) {
-                stmt.close();
+                statement.close();
             }
         }
-        return stmt;
+
+        return statement;
     }
 
     /**
-     * Retrieves the current auto-commit mode for the underlying <code> Connection</code>.
+     * Retrieves the current auto-commit mode for the underlying
+     * <code> Connection</code>.
      *
      * @return The current state of connection's auto-commit mode.
      * @throws SQLException In case of a database error.
      */
     public boolean getAutoCommit() throws SQLException {
         checkValidity();
-        return con.getAutoCommit();
+        return connection.getAutoCommit();
     }
 
     /**
@@ -306,7 +311,7 @@
      */
     public String getCatalog() throws SQLException {
         checkValidity();
-        return con.getCatalog();
+        return connection.getCatalog();
     }
 
     /**
@@ -318,7 +323,7 @@
      */
     public int getHoldability() throws SQLException {
         checkValidity();
-        return con.getHoldability();
+        return connection.getHoldability();
     }
 
     /**
@@ -330,18 +335,19 @@
      */
     public DatabaseMetaData getMetaData() throws SQLException {
         checkValidity();
-        return con.getMetaData();
+        return connection.getMetaData();
     }
 
     /**
-     * Retrieves this <code>Connection</code> object's current transaction isolation level.
+     * Retrieves this <code>Connection</code> object's current transaction isolation
+     * level.
      *
      * @return Transaction level
      * @throws SQLException In case of a database error.
      */
     public int getTransactionIsolation() throws SQLException {
         checkValidity();
-        return con.getTransactionIsolation();
+        return connection.getTransactionIsolation();
     }
 
     /**
@@ -353,7 +359,7 @@
      */
     public Map<String, Class<?>> getTypeMap() throws SQLException {
         checkValidity();
-        return con.getTypeMap();
+        return connection.getTypeMap();
     }
 
     /**
@@ -365,14 +371,14 @@
      */
     public SQLWarning getWarnings() throws SQLException {
         checkValidity();
-        return con.getWarnings();
+        return connection.getWarnings();
     }
 
     /**
      * Retrieves whether underlying <code>Connection</code> object is closed.
      *
-     * @return true if <code>Connection</code> object is closed, false
-     *         if it is closed.
+     * @return true if <code>Connection</code> object is closed, false if it is
+     * closed.
      * @throws SQLException In case of a database error.
      */
     public boolean isClosed() throws SQLException {
@@ -383,8 +389,8 @@
      * Set the isClosed flag based on whether the underlying <code>Connection</code>
      * object is closed.
      *
-     * @param flag true if <code>Connection</code> object is closed, false if
-     * its not closed.
+     * @param flag true if <code>Connection</code> object is closed, false if its
+     * not closed.
      */
     public void setClosed(boolean flag) {
         isClosed = flag;
@@ -398,7 +404,7 @@
      */
     public boolean isReadOnly() throws SQLException {
         checkValidity();
-        return con.isReadOnly();
+        return connection.isReadOnly();
     }
 
     /**
@@ -410,12 +416,12 @@
      */
     public String nativeSQL(String sql) throws SQLException {
         checkValidity();
-        return con.nativeSQL(sql);
+        return connection.nativeSQL(sql);
     }
 
     /**
-     * Creates a <code> CallableStatement </code> object for calling database
-     * stored procedures.
+     * Creates a <code> CallableStatement </code> object for calling database stored
+     * procedures.
      *
      * @param sql SQL Statement
      * @return <code> CallableStatement</code> object.
@@ -424,7 +430,7 @@
     public CallableStatement prepareCall(String sql) throws SQLException {
         checkValidity();
         jdbcPreInvoke();
-        CallableStatement stmt = con.prepareCall(sql);
+        CallableStatement stmt = connection.prepareCall(sql);
         if (statementTimeoutEnabled) {
             stmt.setQueryTimeout(statementTimeout);
         }
@@ -432,53 +438,53 @@
     }
 
     /**
-     * Creates a <code> CallableStatement </code> object for calling database
-     * stored procedures.
+     * Creates a <code> CallableStatement </code> object for calling database stored
+     * procedures.
      *
-     * @param sql                  SQL Statement
-     * @param resultSetType        Type of the ResultSet
+     * @param sql SQL Statement
+     * @param resultSetType Type of the ResultSet
      * @param resultSetConcurrency ResultSet Concurrency.
      * @return <code> CallableStatement</code> object.
      * @throws SQLException In case of a database error.
      */
-    public CallableStatement prepareCall(String sql, int resultSetType,
-                                         int resultSetConcurrency) throws SQLException {
+    public CallableStatement prepareCall(String sql, int resultSetType, int resultSetConcurrency) throws SQLException {
         checkValidity();
         jdbcPreInvoke();
-        CallableStatement stmt = con.prepareCall(sql, resultSetType, resultSetConcurrency);
+
+        CallableStatement callableStatement = connection.prepareCall(sql, resultSetType, resultSetConcurrency);
         if (statementTimeoutEnabled) {
-            stmt.setQueryTimeout(statementTimeout);
+            callableStatement.setQueryTimeout(statementTimeout);
         }
-        return stmt;
+
+        return callableStatement;
     }
 
     /**
-     * Creates a <code> CallableStatement </code> object for calling database
-     * stored procedures.
+     * Creates a <code> CallableStatement </code> object for calling database stored
+     * procedures.
      *
-     * @param sql                  SQL Statement
-     * @param resultSetType        Type of the ResultSet
+     * @param sql SQL Statement
+     * @param resultSetType Type of the ResultSet
      * @param resultSetConcurrency ResultSet Concurrency.
      * @param resultSetHoldability ResultSet Holdability.
      * @return <code> CallableStatement</code> object.
      * @throws SQLException In case of a database error.
      */
-    public CallableStatement prepareCall(String sql, int resultSetType,
-                                         int resultSetConcurrency,
-                                         int resultSetHoldability) throws SQLException {
+    public CallableStatement prepareCall(String sql, int resultSetType, int resultSetConcurrency, int resultSetHoldability) throws SQLException {
         checkValidity();
         jdbcPreInvoke();
-        CallableStatement stmt = con.prepareCall(sql, resultSetType, resultSetConcurrency,
-                resultSetHoldability);
+
+        CallableStatement callableStatement = connection.prepareCall(sql, resultSetType, resultSetConcurrency, resultSetHoldability);
         if (statementTimeoutEnabled) {
-            stmt.setQueryTimeout(statementTimeout);
+            callableStatement.setQueryTimeout(statementTimeout);
         }
-        return stmt;
+
+        return callableStatement;
     }
 
     /**
-     * Creates a <code> PreparedStatement </code> object for sending
-     * paramterized SQL statements to database
+     * Creates a <code> PreparedStatement </code> object for sending paramterized
+     * SQL statements to database
      *
      * @param sql SQL Statement
      * @return <code> PreparedStatement</code> object.
@@ -487,122 +493,129 @@
     public PreparedStatement prepareStatement(final String sql) throws SQLException {
         checkValidity();
         jdbcPreInvoke();
-        PreparedStatement stmt = con.prepareStatement(sql);
+
+        PreparedStatement preparedStatement = connection.prepareStatement(sql);
         if (statementTimeoutEnabled) {
             try {
-                stmt.setQueryTimeout(statementTimeout);
+                preparedStatement.setQueryTimeout(statementTimeout);
             } catch (SQLException ex) {
-                stmt.close();
+                preparedStatement.close();
             }
         }
-        return stmt;
+
+        return preparedStatement;
     }
 
     /**
-     * Creates a <code> PreparedStatement </code> object for sending
-     * paramterized SQL statements to database
+     * Creates a <code> PreparedStatement </code> object for sending paramterized
+     * SQL statements to database
      *
-     * @param sql               SQL Statement
-     * @param autoGeneratedKeys a flag indicating AutoGeneratedKeys need to be returned.
+     * @param sql SQL Statement
+     * @param autoGeneratedKeys a flag indicating AutoGeneratedKeys need to be
+     * returned.
      * @return <code> PreparedStatement</code> object.
      * @throws SQLException In case of a database error.
      */
     public PreparedStatement prepareStatement(final String sql, int autoGeneratedKeys) throws SQLException {
         checkValidity();
         jdbcPreInvoke();
-        PreparedStatement stmt = con.prepareStatement(sql, autoGeneratedKeys);
+
+        PreparedStatement preparedStatement = connection.prepareStatement(sql, autoGeneratedKeys);
         if (statementTimeoutEnabled) {
             try {
-                stmt.setQueryTimeout(statementTimeout);
+                preparedStatement.setQueryTimeout(statementTimeout);
             } catch (SQLException ex) {
-                stmt.close();
+                preparedStatement.close();
             }
         }
-        return stmt;
+
+        return preparedStatement;
     }
 
     /**
-     * Creates a <code> PreparedStatement </code> object for sending
-     * paramterized SQL statements to database
+     * Creates a <code> PreparedStatement </code> object for sending paramterized
+     * SQL statements to database
      *
-     * @param sql           SQL Statement
-     * @param columnIndexes an array of column indexes indicating the columns that should be
-     *                      returned from the inserted row or rows.
+     * @param sql SQL Statement
+     * @param columnIndexes an array of column indexes indicating the columns that
+     * should be returned from the inserted row or rows.
      * @return <code> PreparedStatement</code> object.
      * @throws SQLException In case of a database error.
      */
     public PreparedStatement prepareStatement(final String sql, int[] columnIndexes) throws SQLException {
         checkValidity();
         jdbcPreInvoke();
-        PreparedStatement stmt = con.prepareStatement(sql, columnIndexes);
+
+        PreparedStatement preparedStatement = connection.prepareStatement(sql, columnIndexes);
         if (statementTimeoutEnabled) {
             try {
-                stmt.setQueryTimeout(statementTimeout);
+                preparedStatement.setQueryTimeout(statementTimeout);
             } catch (SQLException ex) {
-                stmt.close();
+                preparedStatement.close();
             }
         }
-        return stmt;
+
+        return preparedStatement;
     }
 
     /**
-     * Creates a <code> PreparedStatement </code> object for sending
-     * paramterized SQL statements to database
+     * Creates a <code> PreparedStatement </code> object for sending paramterized
+     * SQL statements to database
      *
-     * @param sql                  SQL Statement
-     * @param resultSetType        Type of the ResultSet
+     * @param sql SQL Statement
+     * @param resultSetType Type of the ResultSet
      * @param resultSetConcurrency ResultSet Concurrency.
      * @return <code> PreparedStatement</code> object.
      * @throws SQLException In case of a database error.
      */
-    public PreparedStatement prepareStatement(final String sql, int resultSetType,
-                                              int resultSetConcurrency) throws SQLException {
+    public PreparedStatement prepareStatement(final String sql, int resultSetType, int resultSetConcurrency) throws SQLException {
         checkValidity();
         jdbcPreInvoke();
-        PreparedStatement stmt = con.prepareStatement(sql, resultSetType, resultSetConcurrency);
+
+        PreparedStatement preparedStatement = connection.prepareStatement(sql, resultSetType, resultSetConcurrency);
         if (statementTimeoutEnabled) {
             try {
-                stmt.setQueryTimeout(statementTimeout);
+                preparedStatement.setQueryTimeout(statementTimeout);
             } catch (SQLException ex) {
-                stmt.close();
+                preparedStatement.close();
             }
         }
-        return stmt;
+
+        return preparedStatement;
     }
 
     /**
-     * Creates a <code> PreparedStatement </code> object for sending
-     * paramterized SQL statements to database
+     * Creates a <code> PreparedStatement </code> object for sending paramterized
+     * SQL statements to database
      *
-     * @param sql                  SQL Statement
-     * @param resultSetType        Type of the ResultSet
+     * @param sql SQL Statement
+     * @param resultSetType Type of the ResultSet
      * @param resultSetConcurrency ResultSet Concurrency.
      * @param resultSetHoldability ResultSet Holdability.
      * @return <code> PreparedStatement</code> object.
      * @throws SQLException In case of a database error.
      */
-    public PreparedStatement prepareStatement(final String sql, int resultSetType,
-                                              int resultSetConcurrency,
-                                              int resultSetHoldability) throws SQLException {
+    public PreparedStatement prepareStatement(final String sql, int resultSetType, int resultSetConcurrency, int resultSetHoldability) throws SQLException {
         checkValidity();
         jdbcPreInvoke();
-        PreparedStatement stmt = con.prepareStatement(sql, resultSetType,
-                resultSetConcurrency, resultSetHoldability);
+
+        PreparedStatement preparedStatement = connection.prepareStatement(sql, resultSetType, resultSetConcurrency, resultSetHoldability);
         if (statementTimeoutEnabled) {
             try {
-                stmt.setQueryTimeout(statementTimeout);
+                preparedStatement.setQueryTimeout(statementTimeout);
             } catch (SQLException ex) {
-                stmt.close();
+                preparedStatement.close();
             }
         }
-        return stmt;
+
+        return preparedStatement;
     }
 
     /**
-     * Creates a <code> PreparedStatement </code> object for sending
-     * paramterized SQL statements to database
+     * Creates a <code> PreparedStatement </code> object for sending paramterized
+     * SQL statements to database
      *
-     * @param sql         SQL Statement
+     * @param sql SQL Statement
      * @param columnNames Name of bound columns.
      * @return <code> PreparedStatement</code> object.
      * @throws SQLException In case of a database error.
@@ -610,15 +623,17 @@
     public PreparedStatement prepareStatement(final String sql, String[] columnNames) throws SQLException {
         checkValidity();
         jdbcPreInvoke();
-        PreparedStatement stmt = con.prepareStatement(sql, columnNames);
+
+        PreparedStatement preparedStatement = connection.prepareStatement(sql, columnNames);
         if (statementTimeoutEnabled) {
             try {
-                stmt.setQueryTimeout(statementTimeout);
+                preparedStatement.setQueryTimeout(statementTimeout);
             } catch (SQLException ex) {
-                stmt.close();
+                preparedStatement.close();
             }
         }
-        return stmt;
+
+        return preparedStatement;
     }
 
     /**
@@ -629,7 +644,7 @@
      */
     public void releaseSavepoint(Savepoint savepoint) throws SQLException {
         checkValidity();
-        con.releaseSavepoint(savepoint);
+        connection.releaseSavepoint(savepoint);
     }
 
     /**
@@ -639,7 +654,7 @@
      */
     public void rollback() throws SQLException {
         checkValidity();
-        con.rollback();
+        connection.rollback();
     }
 
     /**
@@ -649,7 +664,7 @@
      */
     public void rollback(Savepoint savepoint) throws SQLException {
         checkValidity();
-        con.rollback(savepoint);
+        connection.rollback(savepoint);
     }
 
     /**
@@ -660,8 +675,8 @@
      */
     public void setAutoCommit(boolean autoCommit) throws SQLException {
         checkValidity();
-        con.setAutoCommit(autoCommit);
-        mc.setLastAutoCommitValue(autoCommit);
+        connection.setAutoCommit(autoCommit);
+        managedConnectionImpl.setLastAutoCommitValue(autoCommit);
     }
 
     /**
@@ -672,31 +687,31 @@
      */
     public void setCatalog(String catalog) throws SQLException {
         checkValidity();
-        con.setCatalog(catalog);
+        connection.setCatalog(catalog);
     }
 
     /**
-     * Sets the holdability of <code>ResultSet</code> objects created
-     * using this <code>Connection</code> object.
+     * Sets the holdability of <code>ResultSet</code> objects created using this
+     * <code>Connection</code> object.
      *
      * @param holdability A <code>ResultSet</code> holdability constant
      * @throws SQLException In case of a database error.
      */
     public void setHoldability(int holdability) throws SQLException {
         checkValidity();
-        con.setHoldability(holdability);
+        connection.setHoldability(holdability);
     }
 
     /**
-     * Puts the connection in read-only mode as a hint to the driver to
-     * perform database optimizations.
+     * Puts the connection in read-only mode as a hint to the driver to perform
+     * database optimizations.
      *
      * @param readOnly true enables read-only mode, false disables it.
      * @throws SQLException In case of a database error.
      */
     public void setReadOnly(boolean readOnly) throws SQLException {
         checkValidity();
-        con.setReadOnly(readOnly);
+        connection.setReadOnly(readOnly);
     }
 
     /**
@@ -707,11 +722,12 @@
      */
     public Savepoint setSavepoint() throws SQLException {
         checkValidity();
-        return con.setSavepoint();
+        return connection.setSavepoint();
     }
 
     /**
-     * Creates a savepoint with the name and returns an object corresponding to that.
+     * Creates a savepoint with the name and returns an object corresponding to
+     * that.
      *
      * @param name Name of the savepoint.
      * @return <code>Savepoint</code> object.
@@ -719,7 +735,7 @@
      */
     public Savepoint setSavepoint(String name) throws SQLException {
         checkValidity();
-        return con.setSavepoint(name);
+        return connection.setSavepoint(name);
     }
 
     /**
@@ -730,19 +746,24 @@
      */
     public void setTransactionIsolation(int level) throws SQLException {
         checkValidity();
-        con.setTransactionIsolation(level);
-        mc.setLastTransactionIsolationLevel(level);
+        connection.setTransactionIsolation(level);
+        managedConnectionImpl.setLastTransactionIsolationLevel(level);
     }
 
-
     /**
      * Checks the validity of this object
      */
     protected void checkValidity() throws SQLException {
-        if (isClosed) throw new SQLException("Connection closed");
-        if (!valid) throw new SQLException("Invalid Connection");
+        if (isClosed) {
+            throw new SQLException("Connection closed");
+        }
+
+        if (!valid) {
+            throw new SQLException("Invalid Connection");
+        }
+
         if (active == false) {
-            mc.checkIfActive(this);
+            managedConnectionImpl.checkIfActive(this);
         }
     }
 
@@ -756,8 +777,8 @@
     }
 
     /*
-     * Here this is a no-op. In the LazyEnlistableConnectionHolder, it will
-     * actually fire the lazyEnlist method of LazyEnlistableManagedConnection
+     * Here this is a no-op. In the LazyEnlistableConnectionHolder, it will actually
+     * fire the lazyEnlist method of LazyEnlistableManagedConnection
      */
     protected void jdbcPreInvoke() throws SQLException {
         if (myType_ == ConnectionType.LAZY_ASSOCIATABLE) {
@@ -770,13 +791,11 @@
 
     protected void performLazyEnlistment() throws SQLException {
         try {
-            if(lazyEnlistCm_ != null) {
-                lazyEnlistCm_.lazyEnlist(mc);
+            if (lazyEnlistCm_ != null) {
+                lazyEnlistCm_.lazyEnlist(managedConnectionImpl);
             }
         } catch (ResourceException re) {
-            String msg = sm.getString(
-                    "jdbc.cannot_enlist", re.getMessage() +
-                    " Cannnot Enlist ManagedConnection");
+            String msg = sm.getString("jdbc.cannot_enlist", re.getMessage() + " Cannnot Enlist ManagedConnection");
 
             SQLException sqle = new SQLException(msg);
             sqle.initCause(re);
@@ -786,15 +805,14 @@
     }
 
     protected void performLazyAssociation() throws SQLException {
-        if (mc == null) {
+        if (managedConnectionImpl == null) {
             try {
-                if(lazyAssocCm_ != null) {
-                    lazyAssocCm_.associateConnection(this, mcf_, cxReqInfo_);
+                if (lazyAssocCm_ != null) {
+                    lazyAssocCm_.associateConnection(this, managedConnectionFactory, connectionRequestInfo);
                 }
             } catch (ResourceException re) {
-                String msg = sm.getString(
-                        "jdbc.cannot_assoc", re.getMessage() +
-                        " Cannnot Associate ManagedConnection");
+                String msg = sm.getString("jdbc.cannot_assoc",
+                        re.getMessage() + " Cannnot Associate ManagedConnection");
 
                 SQLException sqle = new SQLException(msg);
                 sqle.initCause(re);
@@ -811,24 +829,14 @@
         return myType_;
     }
 
-    public void setLazyAssociatableConnectionManager(
-            jakarta.resource.spi.LazyAssociatableConnectionManager cm) {
-
+    public void setLazyAssociatableConnectionManager(jakarta.resource.spi.LazyAssociatableConnectionManager cm) {
         lazyAssocCm_ = cm;
     }
 
-    public void setLazyEnlistableConnectionManager(
-            jakarta.resource.spi.LazyEnlistableConnectionManager cm) {
-
+    public void setLazyEnlistableConnectionManager(jakarta.resource.spi.LazyEnlistableConnectionManager cm) {
         lazyEnlistCm_ = cm;
     }
 
-/*
-    public void setManagedConnection(ManagedConnection con) {
-        this.mc = con;
-    }
-*/
-
     /**
      * Installs the given <code>Map</code> object as the tyoe map for this
      * <code> Connection </code> object.
@@ -838,7 +846,7 @@
      */
     public void setTypeMap(java.util.Map<String, Class<?>> map) throws SQLException {
         checkValidity();
-        con.setTypeMap(map);
+        connection.setTypeMap(map);
     }
 
     protected MethodExecutor getMethodExecutor() {
diff --git a/appserver/jdbc/jdbc-ra/jdbc-core/src/main/java/com/sun/gjc/spi/base/ConnectionWrapper.java b/appserver/jdbc/jdbc-ra/jdbc-core/src/main/java/com/sun/gjc/spi/base/ConnectionWrapper.java
index 155eca2..8e8f3e9 100644
--- a/appserver/jdbc/jdbc-ra/jdbc-core/src/main/java/com/sun/gjc/spi/base/ConnectionWrapper.java
+++ b/appserver/jdbc/jdbc-ra/jdbc-core/src/main/java/com/sun/gjc/spi/base/ConnectionWrapper.java
@@ -16,7 +16,6 @@
 
 package com.sun.gjc.spi.base;
 
-
 import java.sql.SQLException;
 
 /**
@@ -24,26 +23,17 @@
  * @author Shalini M
  */
 public interface ConnectionWrapper {
-    PreparedStatementWrapper prepareCachedStatement(String sql, int resultSetType,
-            int resultSetConcurrency, boolean enableCaching) throws SQLException;
+    PreparedStatementWrapper prepareCachedStatement(String sql, int resultSetType, int resultSetConcurrency, boolean enableCaching) throws SQLException;
 
-    PreparedStatementWrapper prepareCachedStatement(String sql, int resultSetType,
-            int resultSetConcurrency, int resultSetHoldability,
-            boolean enableCaching) throws SQLException;
+    PreparedStatementWrapper prepareCachedStatement(String sql, int resultSetType, int resultSetConcurrency, int resultSetHoldability, boolean enableCaching) throws SQLException;
 
-    PreparedStatementWrapper prepareCachedStatement(String sql,
-              String[] columnNames, boolean enableCaching) throws SQLException;
+    PreparedStatementWrapper prepareCachedStatement(String sql, String[] columnNames, boolean enableCaching) throws SQLException;
 
-    PreparedStatementWrapper prepareCachedStatement(String sql,
-              int[] columnIndexes, boolean enableCaching) throws SQLException;
+    PreparedStatementWrapper prepareCachedStatement(String sql, int[] columnIndexes, boolean enableCaching) throws SQLException;
 
-    PreparedStatementWrapper prepareCachedStatement(String sql,
-              int autoGeneratedKeys, boolean enableCaching) throws SQLException;
+    PreparedStatementWrapper prepareCachedStatement(String sql, int autoGeneratedKeys, boolean enableCaching) throws SQLException;
 
-    CallableStatementWrapper callableCachedStatement(String sql, int resultSetType,
-            int resultSetConcurrency, boolean enableCaching) throws SQLException;
+    CallableStatementWrapper callableCachedStatement(String sql, int resultSetType, int resultSetConcurrency, boolean enableCaching) throws SQLException;
 
-    CallableStatementWrapper callableCachedStatement(String sql, int resultSetType,
-            int resultSetConcurrency, int resultSetHoldability,
-            boolean enableCaching) throws SQLException;
+    CallableStatementWrapper callableCachedStatement(String sql, int resultSetType, int resultSetConcurrency, int resultSetHoldability, boolean enableCaching) throws SQLException;
 }
diff --git a/appserver/jdbc/jdbc-ra/jdbc-core/src/main/java/com/sun/gjc/spi/base/DatabaseMetaDataWrapper.java b/appserver/jdbc/jdbc-ra/jdbc-core/src/main/java/com/sun/gjc/spi/base/DatabaseMetaDataWrapper.java
index 7fcea7b..f9f56fe 100644
--- a/appserver/jdbc/jdbc-ra/jdbc-core/src/main/java/com/sun/gjc/spi/base/DatabaseMetaDataWrapper.java
+++ b/appserver/jdbc/jdbc-ra/jdbc-core/src/main/java/com/sun/gjc/spi/base/DatabaseMetaDataWrapper.java
@@ -16,32 +16,30 @@
 
 package com.sun.gjc.spi.base;
 
-import com.sun.gjc.util.MethodExecutor;
-import com.sun.logging.LogDomains;
 import java.sql.Connection;
 import java.sql.DatabaseMetaData;
 import java.sql.ResultSet;
 import java.sql.SQLException;
 import java.util.logging.Logger;
 
+import com.sun.gjc.util.MethodExecutor;
+import com.sun.logging.LogDomains;
+
 /**
  * Abstract class for wrapping DatabaseMetaData<br>
  */
 public abstract class DatabaseMetaDataWrapper implements DatabaseMetaData {
 
-    protected DatabaseMetaData databaseMetaData = null;
-    protected Connection connection = null;
-    private MethodExecutor executor = null;
-    protected final static Logger _logger;
+    protected final static Logger _logger = LogDomains.getLogger(MethodExecutor.class, LogDomains.RSR_LOGGER);
 
-    static {
-        _logger = LogDomains.getLogger(MethodExecutor.class, LogDomains.RSR_LOGGER);
-    }
+    protected DatabaseMetaData databaseMetaData;
+    protected Connection connection;
+    private MethodExecutor executor;
 
     /**
      * Abstract class for wrapping DatabaseMetaData
      *
-     * @param con      Connection that is wrapped.<br>
+     * @param con Connection that is wrapped.<br>
      * @param metaData DatabaseMetaData that is wrapped <br>
      */
     public DatabaseMetaDataWrapper(Connection con, DatabaseMetaData metaData) {
@@ -51,8 +49,8 @@
     }
 
     /**
-     * Retrieves whether the current user can call all the procedures
-     * returned by the method <code>getProcedures</code>.
+     * Retrieves whether the current user can call all the procedures returned by
+     * the method <code>getProcedures</code>.
      *
      * @return <code>true</code> if so; <code>false</code> otherwise
      * @throws java.sql.SQLException if a database access error occurs
@@ -62,9 +60,8 @@
     }
 
     /**
-     * Retrieves whether the current user can use all the tables returned
-     * by the method <code>getTables</code> in a <code>SELECT</code>
-     * statement.
+     * Retrieves whether the current user can use all the tables returned by the
+     * method <code>getTables</code> in a <code>SELECT</code> statement.
      *
      * @return <code>true</code> if so; <code>false</code> otherwise
      * @throws java.sql.SQLException if a database access error occurs
@@ -76,8 +73,7 @@
     /**
      * Retrieves the URL for this DBMS.
      *
-     * @return the URL for this DBMS or <code>null</code> if it cannot be
-     *         generated
+     * @return the URL for this DBMS or <code>null</code> if it cannot be generated
      * @throws java.sql.SQLException if a database access error occurs
      */
     public String getURL() throws SQLException {
@@ -105,11 +101,10 @@
     }
 
     /**
-     * Retrieves whether <code>NULL</code> values are sorted high.
-     * Sorted high means that <code>NULL</code> values
-     * sort higher than any other value in a domain.  In an ascending order,
-     * if this method returns <code>true</code>,  <code>NULL</code> values
-     * will appear at the end. By contrast, the method
+     * Retrieves whether <code>NULL</code> values are sorted high. Sorted high means
+     * that <code>NULL</code> values sort higher than any other value in a domain.
+     * In an ascending order, if this method returns <code>true</code>,
+     * <code>NULL</code> values will appear at the end. By contrast, the method
      * <code>nullsAreSortedAtEnd</code> indicates whether <code>NULL</code> values
      * are sorted at the end regardless of sort order.
      *
@@ -121,13 +116,12 @@
     }
 
     /**
-     * Retrieves whether <code>NULL</code> values are sorted low.
-     * Sorted low means that <code>NULL</code> values
-     * sort lower than any other value in a domain.  In an ascending order,
-     * if this method returns <code>true</code>,  <code>NULL</code> values
-     * will appear at the beginning. By contrast, the method
-     * <code>nullsAreSortedAtStart</code> indicates whether <code>NULL</code> values
-     * are sorted at the beginning regardless of sort order.
+     * Retrieves whether <code>NULL</code> values are sorted low. Sorted low means
+     * that <code>NULL</code> values sort lower than any other value in a domain. In
+     * an ascending order, if this method returns <code>true</code>,
+     * <code>NULL</code> values will appear at the beginning. By contrast, the
+     * method <code>nullsAreSortedAtStart</code> indicates whether <code>NULL</code>
+     * values are sorted at the beginning regardless of sort order.
      *
      * @return <code>true</code> if so; <code>false</code> otherwise
      * @throws java.sql.SQLException if a database access error occurs
@@ -148,8 +142,8 @@
     }
 
     /**
-     * Retrieves whether <code>NULL</code> values are sorted at the end regardless of
-     * sort order.
+     * Retrieves whether <code>NULL</code> values are sorted at the end regardless
+     * of sort order.
      *
      * @return <code>true</code> if so; <code>false</code> otherwise
      * @throws java.sql.SQLException if a database access error occurs
@@ -230,7 +224,7 @@
      * Retrieves whether this database uses a file for each table.
      *
      * @return <code>true</code> if this database uses a local file for each table;
-     *         <code>false</code> otherwise
+     * <code>false</code> otherwise
      * @throws java.sql.SQLException if a database access error occurs
      */
     public boolean usesLocalFilePerTable() throws SQLException {
@@ -326,8 +320,8 @@
     }
 
     /**
-     * Retrieves the string used to quote SQL identifiers.
-     * This method returns a space " " if identifier quoting is not supported.
+     * Retrieves the string used to quote SQL identifiers. This method returns a
+     * space " " if identifier quoting is not supported.
      *
      * @return the quoting string or a space if quoting is not supported
      * @throws java.sql.SQLException if a database access error occurs
@@ -337,11 +331,10 @@
     }
 
     /**
-     * Retrieves a comma-separated list of all of this database's SQL keywords
-     * that are NOT also SQL92 keywords.
+     * Retrieves a comma-separated list of all of this database's SQL keywords that
+     * are NOT also SQL92 keywords.
      *
-     * @return the list of this database's keywords that are not also
-     *         SQL92 keywords
+     * @return the list of this database's keywords that are not also SQL92 keywords
      * @throws java.sql.SQLException if a database access error occurs
      */
     public String getSQLKeywords() throws SQLException {
@@ -349,9 +342,9 @@
     }
 
     /**
-     * Retrieves a comma-separated list of math functions available with
-     * this database.  These are the Open /Open CLI math function names used in
-     * the JDBC function escape clause.
+     * Retrieves a comma-separated list of math functions available with this
+     * database. These are the Open /Open CLI math function names used in the JDBC
+     * function escape clause.
      *
      * @return the list of math functions supported by this database
      * @throws java.sql.SQLException if a database access error occurs
@@ -361,9 +354,9 @@
     }
 
     /**
-     * Retrieves a comma-separated list of string functions available with
-     * this database.  These are the  Open Group CLI string function names used
-     * in the JDBC function escape clause.
+     * Retrieves a comma-separated list of string functions available with this
+     * database. These are the Open Group CLI string function names used in the JDBC
+     * function escape clause.
      *
      * @return the list of string functions supported by this database
      * @throws java.sql.SQLException if a database access error occurs
@@ -373,9 +366,9 @@
     }
 
     /**
-     * Retrieves a comma-separated list of system functions available with
-     * this database.  These are the  Open Group CLI system function names used
-     * in the JDBC function escape clause.
+     * Retrieves a comma-separated list of system functions available with this
+     * database. These are the Open Group CLI system function names used in the JDBC
+     * function escape clause.
      *
      * @return a list of system functions supported by this database
      * @throws java.sql.SQLException if a database access error occurs
@@ -396,14 +389,14 @@
     }
 
     /**
-     * Retrieves the string that can be used to escape wildcard characters.
-     * This is the string that can be used to escape '_' or '%' in
-     * the catalog search parameters that are a pattern (and therefore use one
-     * of the wildcard characters).
+     * Retrieves the string that can be used to escape wildcard characters. This is
+     * the string that can be used to escape '_' or '%' in the catalog search
+     * parameters that are a pattern (and therefore use one of the wildcard
+     * characters).
      * <p/>
-     * <P>The '_' character represents any single character;
-     * the '%' character represents any sequence of zero or
-     * more characters.
+     * <P>
+     * The '_' character represents any single character; the '%' character
+     * represents any sequence of zero or more characters.
      *
      * @return the string used to escape wildcard characters
      * @throws java.sql.SQLException if a database access error occurs
@@ -413,8 +406,8 @@
     }
 
     /**
-     * Retrieves all the "extra" characters that can be used in unquoted
-     * identifier names (those beyond a-z, A-Z, 0-9 and _).
+     * Retrieves all the "extra" characters that can be used in unquoted identifier
+     * names (those beyond a-z, A-Z, 0-9 and _).
      *
      * @return the string containing the extra characters
      * @throws java.sql.SQLException if a database access error occurs
@@ -424,8 +417,8 @@
     }
 
     /**
-     * Retrieves whether this database supports <code>ALTER TABLE</code>
-     * with add column.
+     * Retrieves whether this database supports <code>ALTER TABLE</code> with add
+     * column.
      *
      * @return <code>true</code> if so; <code>false</code> otherwise
      * @throws java.sql.SQLException if a database access error occurs
@@ -435,8 +428,8 @@
     }
 
     /**
-     * Retrieves whether this database supports <code>ALTER TABLE</code>
-     * with drop column.
+     * Retrieves whether this database supports <code>ALTER TABLE</code> with drop
+     * column.
      *
      * @return <code>true</code> if so; <code>false</code> otherwise
      * @throws java.sql.SQLException if a database access error occurs
@@ -448,9 +441,9 @@
     /**
      * Retrieves whether this database supports column aliasing.
      * <p/>
-     * <P>If so, the SQL AS clause can be used to provide names for
-     * computed columns or to provide alias names for columns as
-     * required.
+     * <P>
+     * If so, the SQL AS clause can be used to provide names for computed columns or
+     * to provide alias names for columns as required.
      *
      * @return <code>true</code> if so; <code>false</code> otherwise
      * @throws java.sql.SQLException if a database access error occurs
@@ -461,8 +454,7 @@
 
     /**
      * Retrieves whether this database supports concatenations between
-     * <code>NULL</code> and non-<code>NULL</code> values being
-     * <code>NULL</code>.
+     * <code>NULL</code> and non-<code>NULL</code> values being <code>NULL</code>.
      *
      * @return <code>true</code> if so; <code>false</code> otherwise
      * @throws java.sql.SQLException if a database access error occurs
@@ -472,8 +464,8 @@
     }
 
     /**
-     * Retrieves whether this database supports the <code>CONVERT</code>
-     * function between SQL types.
+     * Retrieves whether this database supports the <code>CONVERT</code> function
+     * between SQL types.
      *
      * @return <code>true</code> if so; <code>false</code> otherwise
      * @throws java.sql.SQLException if a database access error occurs
@@ -483,13 +475,13 @@
     }
 
     /**
-     * Retrieves whether this database supports the <code>CONVERT</code>
-     * for two given SQL types.
+     * Retrieves whether this database supports the <code>CONVERT</code> for two
+     * given SQL types.
      *
-     * @param fromType the type to convert from; one of the type codes from
-     *                 the class <code>java.sql.Types</code>
-     * @param toType   the type to convert to; one of the type codes from
-     *                 the class <code>java.sql.Types</code>
+     * @param fromType the type to convert from; one of the type codes from the
+     * class <code>java.sql.Types</code>
+     * @param toType the type to convert to; one of the type codes from the class
+     * <code>java.sql.Types</code>
      * @return <code>true</code> if so; <code>false</code> otherwise
      * @throws java.sql.SQLException if a database access error occurs
      * @see java.sql.Types
@@ -509,8 +501,8 @@
     }
 
     /**
-     * Retrieves whether, when table correlation names are supported, they
-     * are restricted to being different from the names of the tables.
+     * Retrieves whether, when table correlation names are supported, they are
+     * restricted to being different from the names of the tables.
      *
      * @return <code>true</code> if so; <code>false</code> otherwise
      * @throws java.sql.SQLException if a database access error occurs
@@ -520,8 +512,8 @@
     }
 
     /**
-     * Retrieves whether this database supports expressions in
-     * <code>ORDER BY</code> lists.
+     * Retrieves whether this database supports expressions in <code>ORDER BY</code>
+     * lists.
      *
      * @return <code>true</code> if so; <code>false</code> otherwise
      * @throws java.sql.SQLException if a database access error occurs
@@ -531,9 +523,8 @@
     }
 
     /**
-     * Retrieves whether this database supports using a column that is
-     * not in the <code>SELECT</code> statement in an
-     * <code>ORDER BY</code> clause.
+     * Retrieves whether this database supports using a column that is not in the
+     * <code>SELECT</code> statement in an <code>ORDER BY</code> clause.
      *
      * @return <code>true</code> if so; <code>false</code> otherwise
      * @throws java.sql.SQLException if a database access error occurs
@@ -543,8 +534,8 @@
     }
 
     /**
-     * Retrieves whether this database supports some form of
-     * <code>GROUP BY</code> clause.
+     * Retrieves whether this database supports some form of <code>GROUP BY</code>
+     * clause.
      *
      * @return <code>true</code> if so; <code>false</code> otherwise
      * @throws java.sql.SQLException if a database access error occurs
@@ -554,9 +545,8 @@
     }
 
     /**
-     * Retrieves whether this database supports using a column that is
-     * not in the <code>SELECT</code> statement in a
-     * <code>GROUP BY</code> clause.
+     * Retrieves whether this database supports using a column that is not in the
+     * <code>SELECT</code> statement in a <code>GROUP BY</code> clause.
      *
      * @return <code>true</code> if so; <code>false</code> otherwise
      * @throws java.sql.SQLException if a database access error occurs
@@ -566,10 +556,10 @@
     }
 
     /**
-     * Retrieves whether this database supports using columns not included in
-     * the <code>SELECT</code> statement in a <code>GROUP BY</code> clause
-     * provided that all of the columns in the <code>SELECT</code> statement
-     * are included in the <code>GROUP BY</code> clause.
+     * Retrieves whether this database supports using columns not included in the
+     * <code>SELECT</code> statement in a <code>GROUP BY</code> clause provided that
+     * all of the columns in the <code>SELECT</code> statement are included in the
+     * <code>GROUP BY</code> clause.
      *
      * @return <code>true</code> if so; <code>false</code> otherwise
      * @throws java.sql.SQLException if a database access error occurs
@@ -579,8 +569,8 @@
     }
 
     /**
-     * Retrieves whether this database supports specifying a
-     * <code>LIKE</code> escape clause.
+     * Retrieves whether this database supports specifying a <code>LIKE</code>
+     * escape clause.
      *
      * @return <code>true</code> if so; <code>false</code> otherwise
      * @throws java.sql.SQLException if a database access error occurs
@@ -591,8 +581,8 @@
 
     /**
      * Retrieves whether this database supports getting multiple
-     * <code>ResultSet</code> objects from a single call to the
-     * method <code>execute</code>.
+     * <code>ResultSet</code> objects from a single call to the method
+     * <code>execute</code>.
      *
      * @return <code>true</code> if so; <code>false</code> otherwise
      * @throws java.sql.SQLException if a database access error occurs
@@ -602,8 +592,8 @@
     }
 
     /**
-     * Retrieves whether this database allows having multiple
-     * transactions open at once (on different connections).
+     * Retrieves whether this database allows having multiple transactions open at
+     * once (on different connections).
      *
      * @return <code>true</code> if so; <code>false</code> otherwise
      * @throws java.sql.SQLException if a database access error occurs
@@ -653,8 +643,7 @@
     }
 
     /**
-     * Retrieves whether this database supports the ANSI92 entry level SQL
-     * grammar.
+     * Retrieves whether this database supports the ANSI92 entry level SQL grammar.
      *
      * @return <code>true</code> if so; <code>false</code> otherwise
      * @throws java.sql.SQLException if a database access error occurs
@@ -664,7 +653,8 @@
     }
 
     /**
-     * Retrieves whether this database supports the ANSI92 intermediate SQL grammar supported.
+     * Retrieves whether this database supports the ANSI92 intermediate SQL grammar
+     * supported.
      *
      * @return <code>true</code> if so; <code>false</code> otherwise
      * @throws java.sql.SQLException if a database access error occurs
@@ -674,7 +664,8 @@
     }
 
     /**
-     * Retrieves whether this database supports the ANSI92 full SQL grammar supported.
+     * Retrieves whether this database supports the ANSI92 full SQL grammar
+     * supported.
      *
      * @return <code>true</code> if so; <code>false</code> otherwise
      * @throws java.sql.SQLException if a database access error occurs
@@ -684,8 +675,8 @@
     }
 
     /**
-     * Retrieves whether this database supports the SQL Integrity
-     * Enhancement Facility.
+     * Retrieves whether this database supports the SQL Integrity Enhancement
+     * Facility.
      *
      * @return <code>true</code> if so; <code>false</code> otherwise
      * @throws java.sql.SQLException if a database access error occurs
@@ -715,8 +706,8 @@
     }
 
     /**
-     * Retrieves whether this database provides limited support for outer
-     * joins.  (This will be <code>true</code> if the method
+     * Retrieves whether this database provides limited support for outer joins.
+     * (This will be <code>true</code> if the method
      * <code>supportsFullOuterJoins</code> returns <code>true</code>).
      *
      * @return <code>true</code> if so; <code>false</code> otherwise
@@ -757,11 +748,11 @@
     }
 
     /**
-     * Retrieves whether a catalog appears at the start of a fully qualified
-     * table name.  If not, the catalog appears at the end.
+     * Retrieves whether a catalog appears at the start of a fully qualified table
+     * name. If not, the catalog appears at the end.
      *
-     * @return <code>true</code> if the catalog name appears at the beginning
-     *         of a fully qualified table name; <code>false</code> otherwise
+     * @return <code>true</code> if the catalog name appears at the beginning of a
+     * fully qualified table name; <code>false</code> otherwise
      * @throws java.sql.SQLException if a database access error occurs
      */
     public boolean isCatalogAtStart() throws SQLException {
@@ -769,8 +760,8 @@
     }
 
     /**
-     * Retrieves the <code>String</code> that this database uses as the
-     * separator between a catalog and table name.
+     * Retrieves the <code>String</code> that this database uses as the separator
+     * between a catalog and table name.
      *
      * @return the separator string
      * @throws java.sql.SQLException if a database access error occurs
@@ -820,7 +811,8 @@
     }
 
     /**
-     * Retrieves whether a schema name can be used in a privilege definition statement.
+     * Retrieves whether a schema name can be used in a privilege definition
+     * statement.
      *
      * @return <code>true</code> if so; <code>false</code> otherwise
      * @throws java.sql.SQLException if a database access error occurs
@@ -830,7 +822,8 @@
     }
 
     /**
-     * Retrieves whether a catalog name can be used in a data manipulation statement.
+     * Retrieves whether a catalog name can be used in a data manipulation
+     * statement.
      *
      * @return <code>true</code> if so; <code>false</code> otherwise
      * @throws java.sql.SQLException if a database access error occurs
@@ -860,7 +853,8 @@
     }
 
     /**
-     * Retrieves whether a catalog name can be used in an index definition statement.
+     * Retrieves whether a catalog name can be used in an index definition
+     * statement.
      *
      * @return <code>true</code> if so; <code>false</code> otherwise
      * @throws java.sql.SQLException if a database access error occurs
@@ -870,7 +864,8 @@
     }
 
     /**
-     * Retrieves whether a catalog name can be used in a privilege definition statement.
+     * Retrieves whether a catalog name can be used in a privilege definition
+     * statement.
      *
      * @return <code>true</code> if so; <code>false</code> otherwise
      * @throws java.sql.SQLException if a database access error occurs
@@ -913,8 +908,8 @@
     }
 
     /**
-     * Retrieves whether this database supports stored procedure calls
-     * that use the stored procedure escape syntax.
+     * Retrieves whether this database supports stored procedure calls that use the
+     * stored procedure escape syntax.
      *
      * @return <code>true</code> if so; <code>false</code> otherwise
      * @throws java.sql.SQLException if a database access error occurs
@@ -935,8 +930,8 @@
     }
 
     /**
-     * Retrieves whether this database supports subqueries in
-     * <code>EXISTS</code> expressions.
+     * Retrieves whether this database supports subqueries in <code>EXISTS</code>
+     * expressions.
      *
      * @return <code>true</code> if so; <code>false</code> otherwise
      * @throws java.sql.SQLException if a database access error occurs
@@ -946,8 +941,8 @@
     }
 
     /**
-     * Retrieves whether this database supports subqueries in
-     * <code>IN</code> statements.
+     * Retrieves whether this database supports subqueries in <code>IN</code>
+     * statements.
      *
      * @return <code>true</code> if so; <code>false</code> otherwise
      * @throws java.sql.SQLException if a database access error occurs
@@ -998,11 +993,10 @@
     }
 
     /**
-     * Retrieves whether this database supports keeping cursors open
-     * across commits.
+     * Retrieves whether this database supports keeping cursors open across commits.
      *
-     * @return <code>true</code> if cursors always remain open;
-     *         <code>false</code> if they might not remain open
+     * @return <code>true</code> if cursors always remain open; <code>false</code>
+     * if they might not remain open
      * @throws java.sql.SQLException if a database access error occurs
      */
     public boolean supportsOpenCursorsAcrossCommit() throws SQLException {
@@ -1010,11 +1004,11 @@
     }
 
     /**
-     * Retrieves whether this database supports keeping cursors open
-     * across rollbacks.
+     * Retrieves whether this database supports keeping cursors open across
+     * rollbacks.
      *
-     * @return <code>true</code> if cursors always remain open;
-     *         <code>false</code> if they might not remain open
+     * @return <code>true</code> if cursors always remain open; <code>false</code>
+     * if they might not remain open
      * @throws java.sql.SQLException if a database access error occurs
      */
     public boolean supportsOpenCursorsAcrossRollback() throws SQLException {
@@ -1022,11 +1016,11 @@
     }
 
     /**
-     * Retrieves whether this database supports keeping statements open
-     * across commits.
+     * Retrieves whether this database supports keeping statements open across
+     * commits.
      *
      * @return <code>true</code> if statements always remain open;
-     *         <code>false</code> if they might not remain open
+     * <code>false</code> if they might not remain open
      * @throws java.sql.SQLException if a database access error occurs
      */
     public boolean supportsOpenStatementsAcrossCommit() throws SQLException {
@@ -1034,11 +1028,11 @@
     }
 
     /**
-     * Retrieves whether this database supports keeping statements open
-     * across rollbacks.
+     * Retrieves whether this database supports keeping statements open across
+     * rollbacks.
      *
      * @return <code>true</code> if statements always remain open;
-     *         <code>false</code> if they might not remain open
+     * <code>false</code> if they might not remain open
      * @throws java.sql.SQLException if a database access error occurs
      */
     public boolean supportsOpenStatementsAcrossRollback() throws SQLException {
@@ -1049,9 +1043,8 @@
      * Retrieves the maximum number of hex characters this database allows in an
      * inline binary literal.
      *
-     * @return max the maximum length (in hex characters) for a binary literal;
-     *         a result of zero means that there is no limit or the limit
-     *         is not known
+     * @return max the maximum length (in hex characters) for a binary literal; a
+     * result of zero means that there is no limit or the limit is not known
      * @throws java.sql.SQLException if a database access error occurs
      */
     public int getMaxBinaryLiteralLength() throws SQLException {
@@ -1059,12 +1052,11 @@
     }
 
     /**
-     * Retrieves the maximum number of characters this database allows
-     * for a character literal.
+     * Retrieves the maximum number of characters this database allows for a
+     * character literal.
      *
-     * @return the maximum number of characters allowed for a character literal;
-     *         a result of zero means that there is no limit or the limit is
-     *         not known
+     * @return the maximum number of characters allowed for a character literal; a
+     * result of zero means that there is no limit or the limit is not known
      * @throws java.sql.SQLException if a database access error occurs
      */
     public int getMaxCharLiteralLength() throws SQLException {
@@ -1072,12 +1064,11 @@
     }
 
     /**
-     * Retrieves the maximum number of characters this database allows
-     * for a column name.
+     * Retrieves the maximum number of characters this database allows for a column
+     * name.
      *
-     * @return the maximum number of characters allowed for a column name;
-     *         a result of zero means that there is no limit or the limit
-     *         is not known
+     * @return the maximum number of characters allowed for a column name; a result
+     * of zero means that there is no limit or the limit is not known
      * @throws java.sql.SQLException if a database access error occurs
      */
     public int getMaxColumnNameLength() throws SQLException {
@@ -1088,9 +1079,8 @@
      * Retrieves the maximum number of columns this database allows in a
      * <code>GROUP BY</code> clause.
      *
-     * @return the maximum number of columns allowed;
-     *         a result of zero means that there is no limit or the limit
-     *         is not known
+     * @return the maximum number of columns allowed; a result of zero means that
+     * there is no limit or the limit is not known
      * @throws java.sql.SQLException if a database access error occurs
      */
     public int getMaxColumnsInGroupBy() throws SQLException {
@@ -1100,9 +1090,8 @@
     /**
      * Retrieves the maximum number of columns this database allows in an index.
      *
-     * @return the maximum number of columns allowed;
-     *         a result of zero means that there is no limit or the limit
-     *         is not known
+     * @return the maximum number of columns allowed; a result of zero means that
+     * there is no limit or the limit is not known
      * @throws java.sql.SQLException if a database access error occurs
      */
     public int getMaxColumnsInIndex() throws SQLException {
@@ -1113,9 +1102,8 @@
      * Retrieves the maximum number of columns this database allows in an
      * <code>ORDER BY</code> clause.
      *
-     * @return the maximum number of columns allowed;
-     *         a result of zero means that there is no limit or the limit
-     *         is not known
+     * @return the maximum number of columns allowed; a result of zero means that
+     * there is no limit or the limit is not known
      * @throws java.sql.SQLException if a database access error occurs
      */
     public int getMaxColumnsInOrderBy() throws SQLException {
@@ -1126,9 +1114,8 @@
      * Retrieves the maximum number of columns this database allows in a
      * <code>SELECT</code> list.
      *
-     * @return the maximum number of columns allowed;
-     *         a result of zero means that there is no limit or the limit
-     *         is not known
+     * @return the maximum number of columns allowed; a result of zero means that
+     * there is no limit or the limit is not known
      * @throws java.sql.SQLException if a database access error occurs
      */
     public int getMaxColumnsInSelect() throws SQLException {
@@ -1138,9 +1125,8 @@
     /**
      * Retrieves the maximum number of columns this database allows in a table.
      *
-     * @return the maximum number of columns allowed;
-     *         a result of zero means that there is no limit or the limit
-     *         is not known
+     * @return the maximum number of columns allowed; a result of zero means that
+     * there is no limit or the limit is not known
      * @throws java.sql.SQLException if a database access error occurs
      */
     public int getMaxColumnsInTable() throws SQLException {
@@ -1148,12 +1134,11 @@
     }
 
     /**
-     * Retrieves the maximum number of concurrent connections to this
-     * database that are possible.
+     * Retrieves the maximum number of concurrent connections to this database that
+     * are possible.
      *
-     * @return the maximum number of active connections possible at one time;
-     *         a result of zero means that there is no limit or the limit
-     *         is not known
+     * @return the maximum number of active connections possible at one time; a
+     * result of zero means that there is no limit or the limit is not known
      * @throws java.sql.SQLException if a database access error occurs
      */
     public int getMaxConnections() throws SQLException {
@@ -1164,9 +1149,8 @@
      * Retrieves the maximum number of characters that this database allows in a
      * cursor name.
      *
-     * @return the maximum number of characters allowed in a cursor name;
-     *         a result of zero means that there is no limit or the limit
-     *         is not known
+     * @return the maximum number of characters allowed in a cursor name; a result
+     * of zero means that there is no limit or the limit is not known
      * @throws java.sql.SQLException if a database access error occurs
      */
     public int getMaxCursorNameLength() throws SQLException {
@@ -1174,13 +1158,12 @@
     }
 
     /**
-     * Retrieves the maximum number of bytes this database allows for an
-     * index, including all of the parts of the index.
+     * Retrieves the maximum number of bytes this database allows for an index,
+     * including all of the parts of the index.
      *
      * @return the maximum number of bytes allowed; this limit includes the
-     *         composite of all the constituent parts of the index;
-     *         a result of zero means that there is no limit or the limit
-     *         is not known
+     * composite of all the constituent parts of the index; a result of zero means
+     * that there is no limit or the limit is not known
      * @throws java.sql.SQLException if a database access error occurs
      */
     public int getMaxIndexLength() throws SQLException {
@@ -1191,9 +1174,8 @@
      * Retrieves the maximum number of characters that this database allows in a
      * schema name.
      *
-     * @return the maximum number of characters allowed in a schema name;
-     *         a result of zero means that there is no limit or the limit
-     *         is not known
+     * @return the maximum number of characters allowed in a schema name; a result
+     * of zero means that there is no limit or the limit is not known
      * @throws java.sql.SQLException if a database access error occurs
      */
     public int getMaxSchemaNameLength() throws SQLException {
@@ -1204,9 +1186,8 @@
      * Retrieves the maximum number of characters that this database allows in a
      * procedure name.
      *
-     * @return the maximum number of characters allowed in a procedure name;
-     *         a result of zero means that there is no limit or the limit
-     *         is not known
+     * @return the maximum number of characters allowed in a procedure name; a
+     * result of zero means that there is no limit or the limit is not known
      * @throws java.sql.SQLException if a database access error occurs
      */
     public int getMaxProcedureNameLength() throws SQLException {
@@ -1217,9 +1198,8 @@
      * Retrieves the maximum number of characters that this database allows in a
      * catalog name.
      *
-     * @return the maximum number of characters allowed in a catalog name;
-     *         a result of zero means that there is no limit or the limit
-     *         is not known
+     * @return the maximum number of characters allowed in a catalog name; a result
+     * of zero means that there is no limit or the limit is not known
      * @throws java.sql.SQLException if a database access error occurs
      */
     public int getMaxCatalogNameLength() throws SQLException {
@@ -1227,11 +1207,10 @@
     }
 
     /**
-     * Retrieves the maximum number of bytes this database allows in
-     * a single row.
+     * Retrieves the maximum number of bytes this database allows in a single row.
      *
-     * @return the maximum number of bytes allowed for a row; a result of
-     *         zero means that there is no limit or the limit is not known
+     * @return the maximum number of bytes allowed for a row; a result of zero means
+     * that there is no limit or the limit is not known
      * @throws java.sql.SQLException if a database access error occurs
      */
     public int getMaxRowSize() throws SQLException {
@@ -1239,9 +1218,9 @@
     }
 
     /**
-     * Retrieves whether the return value for the method
-     * <code>getMaxRowSize</code> includes the SQL data types
-     * <code>LONGVARCHAR</code> and <code>LONGVARBINARY</code>.
+     * Retrieves whether the return value for the method <code>getMaxRowSize</code>
+     * includes the SQL data types <code>LONGVARCHAR</code> and
+     * <code>LONGVARBINARY</code>.
      *
      * @return <code>true</code> if so; <code>false</code> otherwise
      * @throws java.sql.SQLException if a database access error occurs
@@ -1251,12 +1230,11 @@
     }
 
     /**
-     * Retrieves the maximum number of characters this database allows in
-     * an SQL statement.
+     * Retrieves the maximum number of characters this database allows in an SQL
+     * statement.
      *
-     * @return the maximum number of characters allowed for an SQL statement;
-     *         a result of zero means that there is no limit or the limit
-     *         is not known
+     * @return the maximum number of characters allowed for an SQL statement; a
+     * result of zero means that there is no limit or the limit is not known
      * @throws java.sql.SQLException if a database access error occurs
      */
     public int getMaxStatementLength() throws SQLException {
@@ -1264,12 +1242,11 @@
     }
 
     /**
-     * Retrieves the maximum number of active statements to this database
-     * that can be open at the same time.
+     * Retrieves the maximum number of active statements to this database that can
+     * be open at the same time.
      *
-     * @return the maximum number of statements that can be open at one time;
-     *         a result of zero means that there is no limit or the limit
-     *         is not known
+     * @return the maximum number of statements that can be open at one time; a
+     * result of zero means that there is no limit or the limit is not known
      * @throws java.sql.SQLException if a database access error occurs
      */
     public int getMaxStatements() throws SQLException {
@@ -1277,12 +1254,11 @@
     }
 
     /**
-     * Retrieves the maximum number of characters this database allows in
-     * a table name.
+     * Retrieves the maximum number of characters this database allows in a table
+     * name.
      *
-     * @return the maximum number of characters allowed for a table name;
-     *         a result of zero means that there is no limit or the limit
-     *         is not known
+     * @return the maximum number of characters allowed for a table name; a result
+     * of zero means that there is no limit or the limit is not known
      * @throws java.sql.SQLException if a database access error occurs
      */
     public int getMaxTableNameLength() throws SQLException {
@@ -1294,8 +1270,8 @@
      * <code>SELECT</code> statement.
      *
      * @return the maximum number of tables allowed in a <code>SELECT</code>
-     *         statement; a result of zero means that there is no limit or
-     *         the limit is not known
+     * statement; a result of zero means that there is no limit or the limit is not
+     * known
      * @throws java.sql.SQLException if a database access error occurs
      */
     public int getMaxTablesInSelect() throws SQLException {
@@ -1303,12 +1279,11 @@
     }
 
     /**
-     * Retrieves the maximum number of characters this database allows in
-     * a user name.
+     * Retrieves the maximum number of characters this database allows in a user
+     * name.
      *
-     * @return the maximum number of characters allowed for a user name;
-     *         a result of zero means that there is no limit or the limit
-     *         is not known
+     * @return the maximum number of characters allowed for a user name; a result of
+     * zero means that there is no limit or the limit is not known
      * @throws java.sql.SQLException if a database access error occurs
      */
     public int getMaxUserNameLength() throws SQLException {
@@ -1316,8 +1291,8 @@
     }
 
     /**
-     * Retrieves this database's default transaction isolation level.  The
-     * possible values are defined in <code>java.sql.Connection</code>.
+     * Retrieves this database's default transaction isolation level. The possible
+     * values are defined in <code>java.sql.Connection</code>.
      *
      * @return the default isolation level
      * @throws java.sql.SQLException if a database access error occurs
@@ -1332,8 +1307,8 @@
      * method <code>commit</code> is a noop, and the isolation level is
      * <code>TRANSACTION_NONE</code>.
      *
-     * @return <code>true</code> if transactions are supported;
-     *         <code>false</code> otherwise
+     * @return <code>true</code> if transactions are supported; <code>false</code>
+     * otherwise
      * @throws java.sql.SQLException if a database access error occurs
      */
     public boolean supportsTransactions() throws SQLException {
@@ -1341,10 +1316,11 @@
     }
 
     /**
-     * Retrieves whether this database supports the given transaction isolation level.
+     * Retrieves whether this database supports the given transaction isolation
+     * level.
      *
      * @param level one of the transaction isolation levels defined in
-     *              <code>java.sql.Connection</code>
+     * <code>java.sql.Connection</code>
      * @return <code>true</code> if so; <code>false</code> otherwise
      * @throws java.sql.SQLException if a database access error occurs
      * @see java.sql.Connection
@@ -1354,8 +1330,8 @@
     }
 
     /**
-     * Retrieves whether this database supports both data definition and
-     * data manipulation statements within a transaction.
+     * Retrieves whether this database supports both data definition and data
+     * manipulation statements within a transaction.
      *
      * @return <code>true</code> if so; <code>false</code> otherwise
      * @throws java.sql.SQLException if a database access error occurs
@@ -1365,8 +1341,8 @@
     }
 
     /**
-     * Retrieves whether this database supports only data manipulation
-     * statements within a transaction.
+     * Retrieves whether this database supports only data manipulation statements
+     * within a transaction.
      *
      * @return <code>true</code> if so; <code>false</code> otherwise
      * @throws java.sql.SQLException if a database access error occurs
@@ -1376,8 +1352,8 @@
     }
 
     /**
-     * Retrieves whether a data definition statement within a transaction forces
-     * the transaction to commit.
+     * Retrieves whether a data definition statement within a transaction forces the
+     * transaction to commit.
      *
      * @return <code>true</code> if so; <code>false</code> otherwise
      * @throws java.sql.SQLException if a database access error occurs
@@ -1387,8 +1363,8 @@
     }
 
     /**
-     * Retrieves whether this database ignores a data definition statement
-     * within a transaction.
+     * Retrieves whether this database ignores a data definition statement within a
+     * transaction.
      *
      * @return <code>true</code> if so; <code>false</code> otherwise
      * @throws java.sql.SQLException if a database access error occurs
@@ -1401,119 +1377,122 @@
      * Retrieves a description of the stored procedures available in the given
      * catalog.
      * <p/>
-     * Only procedure descriptions matching the schema and
-     * procedure name criteria are returned.  They are ordered by
-     * <code>PROCEDURE_SCHEM</code> and <code>PROCEDURE_NAME</code>.
+     * Only procedure descriptions matching the schema and procedure name criteria
+     * are returned. They are ordered by <code>PROCEDURE_SCHEM</code> and
+     * <code>PROCEDURE_NAME</code>.
      * <p/>
-     * <P>Each procedure description has the the following columns:
+     * <P>
+     * Each procedure description has the the following columns:
      * <OL>
-     * <LI><B>PROCEDURE_CAT</B> String => procedure catalog (may be <code>null</code>)
-     * <LI><B>PROCEDURE_SCHEM</B> String => procedure schema (may be <code>null</code>)
+     * <LI><B>PROCEDURE_CAT</B> String => procedure catalog (may be
+     * <code>null</code>)
+     * <LI><B>PROCEDURE_SCHEM</B> String => procedure schema (may be
+     * <code>null</code>)
      * <LI><B>PROCEDURE_NAME</B> String => procedure name
-     * <LI> reserved for future use
-     * <LI> reserved for future use
-     * <LI> reserved for future use
+     * <LI>reserved for future use
+     * <LI>reserved for future use
+     * <LI>reserved for future use
      * <LI><B>REMARKS</B> String => explanatory comment on the procedure
      * <LI><B>PROCEDURE_TYPE</B> short => kind of procedure:
      * <UL>
-     * <LI> procedureResultUnknown - May return a result
-     * <LI> procedureNoResult - Does not return a result
-     * <LI> procedureReturnsResult - Returns a result
+     * <LI>procedureResultUnknown - May return a result
+     * <LI>procedureNoResult - Does not return a result
+     * <LI>procedureReturnsResult - Returns a result
      * </UL>
      * </OL>
      *
-     * @param catalog              a catalog name; must match the catalog name as it
-     *                             is stored in the database; "" retrieves those without a catalog;
-     *                             <code>null</code> means that the catalog name should not be used to narrow
-     *                             the search
-     * @param schemaPattern        a schema name pattern; must match the schema name
-     *                             as it is stored in the database; "" retrieves those without a schema;
-     *                             <code>null</code> means that the schema name should not be used to narrow
-     *                             the search
+     * @param catalog a catalog name; must match the catalog name as it is stored in
+     * the database; "" retrieves those without a catalog; <code>null</code> means
+     * that the catalog name should not be used to narrow the search
+     * @param schemaPattern a schema name pattern; must match the schema name as it
+     * is stored in the database; "" retrieves those without a schema;
+     * <code>null</code> means that the schema name should not be used to narrow the
+     * search
      * @param procedureNamePattern a procedure name pattern; must match the
-     *                             procedure name as it is stored in the database
+     * procedure name as it is stored in the database
      * @return <code>ResultSet</code> - each row is a procedure description
      * @throws java.sql.SQLException if a database access error occurs
      * @see #getSearchStringEscape
      */
-    public ResultSet getProcedures(String catalog, String schemaPattern,
-                                   String procedureNamePattern) throws SQLException {
+    public ResultSet getProcedures(String catalog, String schemaPattern, String procedureNamePattern)
+            throws SQLException {
         return databaseMetaData.getProcedures(catalog, schemaPattern, procedureNamePattern);
     }
 
     /**
-     * Retrieves a description of the given catalog's stored procedure parameter
-     * and result columns.
+     * Retrieves a description of the given catalog's stored procedure parameter and
+     * result columns.
      * <p/>
-     * <P>Only descriptions matching the schema, procedure and
-     * parameter name criteria are returned.  They are ordered by
-     * PROCEDURE_SCHEM and PROCEDURE_NAME. Within this, the return value,
-     * if any, is first. Next are the parameter descriptions in call
-     * order. The column descriptions follow in column number order.
+     * <P>
+     * Only descriptions matching the schema, procedure and parameter name criteria
+     * are returned. They are ordered by PROCEDURE_SCHEM and PROCEDURE_NAME. Within
+     * this, the return value, if any, is first. Next are the parameter descriptions
+     * in call order. The column descriptions follow in column number order.
      * <p/>
-     * <P>Each row in the <code>ResultSet</code> is a parameter description or
-     * column description with the following fields:
+     * <P>
+     * Each row in the <code>ResultSet</code> is a parameter description or column
+     * description with the following fields:
      * <OL>
-     * <LI><B>PROCEDURE_CAT</B> String => procedure catalog (may be <code>null</code>)
-     * <LI><B>PROCEDURE_SCHEM</B> String => procedure schema (may be <code>null</code>)
+     * <LI><B>PROCEDURE_CAT</B> String => procedure catalog (may be
+     * <code>null</code>)
+     * <LI><B>PROCEDURE_SCHEM</B> String => procedure schema (may be
+     * <code>null</code>)
      * <LI><B>PROCEDURE_NAME</B> String => procedure name
      * <LI><B>COLUMN_NAME</B> String => column/parameter name
      * <LI><B>COLUMN_TYPE</B> Short => kind of column/parameter:
      * <UL>
-     * <LI> procedureColumnUnknown - nobody knows
-     * <LI> procedureColumnIn - IN parameter
-     * <LI> procedureColumnInOut - INOUT parameter
-     * <LI> procedureColumnOut - OUT parameter
-     * <LI> procedureColumnReturn - procedure return value
-     * <LI> procedureColumnResult - result column in <code>ResultSet</code>
+     * <LI>procedureColumnUnknown - nobody knows
+     * <LI>procedureColumnIn - IN parameter
+     * <LI>procedureColumnInOut - INOUT parameter
+     * <LI>procedureColumnOut - OUT parameter
+     * <LI>procedureColumnReturn - procedure return value
+     * <LI>procedureColumnResult - result column in <code>ResultSet</code>
      * </UL>
      * <LI><B>DATA_TYPE</B> int => SQL type from java.sql.Types
-     * <LI><B>TYPE_NAME</B> String => SQL type name, for a UDT type the
-     * type name is fully qualified
+     * <LI><B>TYPE_NAME</B> String => SQL type name, for a UDT type the type name is
+     * fully qualified
      * <LI><B>PRECISION</B> int => precision
      * <LI><B>LENGTH</B> int => length in bytes of data
      * <LI><B>SCALE</B> short => scale
      * <LI><B>RADIX</B> short => radix
      * <LI><B>NULLABLE</B> short => can it contain NULL.
      * <UL>
-     * <LI> procedureNoNulls - does not allow NULL values
-     * <LI> procedureNullable - allows NULL values
-     * <LI> procedureNullableUnknown - nullability unknown
+     * <LI>procedureNoNulls - does not allow NULL values
+     * <LI>procedureNullable - allows NULL values
+     * <LI>procedureNullableUnknown - nullability unknown
      * </UL>
      * <LI><B>REMARKS</B> String => comment describing parameter/column
      * </OL>
      * <p/>
-     * <P><B>Note:</B> Some databases may not return the column
-     * descriptions for a procedure. Additional columns beyond
-     * REMARKS can be defined by the database.
+     * <P>
+     * <B>Note:</B> Some databases may not return the column descriptions for a
+     * procedure. Additional columns beyond REMARKS can be defined by the database.
      *
-     * @param catalog              a catalog name; must match the catalog name as it
-     *                             is stored in the database; "" retrieves those without a catalog;
-     *                             <code>null</code> means that the catalog name should not be used to narrow
-     *                             the search
-     * @param schemaPattern        a schema name pattern; must match the schema name
-     *                             as it is stored in the database; "" retrieves those without a schema;
-     *                             <code>null</code> means that the schema name should not be used to narrow
-     *                             the search
+     * @param catalog a catalog name; must match the catalog name as it is stored in
+     * the database; "" retrieves those without a catalog; <code>null</code> means
+     * that the catalog name should not be used to narrow the search
+     * @param schemaPattern a schema name pattern; must match the schema name as it
+     * is stored in the database; "" retrieves those without a schema;
+     * <code>null</code> means that the schema name should not be used to narrow the
+     * search
      * @param procedureNamePattern a procedure name pattern; must match the
-     *                             procedure name as it is stored in the database
-     * @param columnNamePattern    a column name pattern; must match the column name
-     *                             as it is stored in the database
-     * @return <code>ResultSet</code> - each row describes a stored procedure parameter or
-     *         column
+     * procedure name as it is stored in the database
+     * @param columnNamePattern a column name pattern; must match the column name as
+     * it is stored in the database
+     * @return <code>ResultSet</code> - each row describes a stored procedure
+     * parameter or column
      * @throws java.sql.SQLException if a database access error occurs
      * @see #getSearchStringEscape
      */
     public ResultSet getProcedureColumns(String catalog, String schemaPattern, String procedureNamePattern,
-                                         String columnNamePattern) throws SQLException {
+            String columnNamePattern) throws SQLException {
         return databaseMetaData.getProcedureColumns(catalog, schemaPattern, procedureNamePattern, columnNamePattern);
     }
 
     /**
-     * Retrieves a description of the tables available in the given catalog.
-     * Only table descriptions matching the catalog, schema, table
-     * name and type criteria are returned.  They are ordered by
-     * TABLE_TYPE, TABLE_SCHEM and TABLE_NAME.
+     * Retrieves a description of the tables available in the given catalog. Only
+     * table descriptions matching the catalog, schema, table name and type criteria
+     * are returned. They are ordered by TABLE_TYPE, TABLE_SCHEM and TABLE_NAME.
      * <p/>
      * Each table description has the following columns:
      * <OL>
@@ -1521,7 +1500,8 @@
      * <LI><B>TABLE_SCHEM</B> String => table schema (may be <code>null</code>)
      * <LI><B>TABLE_NAME</B> String => table name
      * <LI><B>TABLE_TYPE</B> String => table type. Typical types are "TABLE",
-     * "VIEW", "SYSTEM TABLE", "GLOBAL TEMPORARY", "LOCAL TEMPORARY", "ALIAS", "SYNONYM".
+     * "VIEW", "SYSTEM TABLE", "GLOBAL TEMPORARY", "LOCAL TEMPORARY", "ALIAS",
+     * "SYNONYM".
      * <LI><B>REMARKS</B> String => explanatory comment on the table
      * <LI><B>TYPE_CAT</B> String => the types catalog (may be <code>null</code>)
      * <LI><B>TYPE_SCHEM</B> String => the types schema (may be <code>null</code>)
@@ -1529,45 +1509,46 @@
      * <LI><B>SELF_REFERENCING_COL_NAME</B> String => name of the designated
      * "identifier" column of a typed table (may be <code>null</code>)
      * <LI><B>REF_GENERATION</B> String => specifies how values in
-     * SELF_REFERENCING_COL_NAME are created. Values are
-     * "SYSTEM", "USER", "DERIVED". (may be <code>null</code>)
+     * SELF_REFERENCING_COL_NAME are created. Values are "SYSTEM", "USER",
+     * "DERIVED". (may be <code>null</code>)
      * </OL>
      * <p/>
-     * <P><B>Note:</B> Some databases may not return information for
-     * all tables.
+     * <P>
+     * <B>Note:</B> Some databases may not return information for all tables.
      *
-     * @param catalog          a catalog name; must match the catalog name as it
-     *                         is stored in the database; "" retrieves those without a catalog;
-     *                         <code>null</code> means that the catalog name should not be used to narrow
-     *                         the search
-     * @param schemaPattern    a schema name pattern; must match the schema name
-     *                         as it is stored in the database; "" retrieves those without a schema;
-     *                         <code>null</code> means that the schema name should not be used to narrow
-     *                         the search
-     * @param tableNamePattern a table name pattern; must match the
-     *                         table name as it is stored in the database
-     * @param types            a list of table types to include; <code>null</code> returns all types
+     * @param catalog a catalog name; must match the catalog name as it is stored in
+     * the database; "" retrieves those without a catalog; <code>null</code> means
+     * that the catalog name should not be used to narrow the search
+     * @param schemaPattern a schema name pattern; must match the schema name as it
+     * is stored in the database; "" retrieves those without a schema;
+     * <code>null</code> means that the schema name should not be used to narrow the
+     * search
+     * @param tableNamePattern a table name pattern; must match the table name as it
+     * is stored in the database
+     * @param types a list of table types to include; <code>null</code> returns all
+     * types
      * @return <code>ResultSet</code> - each row is a table description
      * @throws java.sql.SQLException if a database access error occurs
      * @see #getSearchStringEscape
      */
-    public ResultSet getTables(String catalog, String schemaPattern, String tableNamePattern,
-                               String types[]) throws SQLException {
+    public ResultSet getTables(String catalog, String schemaPattern, String tableNamePattern, String types[])
+            throws SQLException {
         return databaseMetaData.getTables(catalog, schemaPattern, tableNamePattern, types);
     }
 
     /**
-     * Retrieves the schema names available in this database.  The results
-     * are ordered by schema name.
+     * Retrieves the schema names available in this database. The results are
+     * ordered by schema name.
      * <p/>
-     * <P>The schema column is:
+     * <P>
+     * The schema column is:
      * <OL>
      * <LI><B>TABLE_SCHEM</B> String => schema name
      * <LI><B>TABLE_CATALOG</B> String => catalog name (may be <code>null</code>)
      * </OL>
      *
-     * @return a <code>ResultSet</code> object in which each row is a
-     *         schema decription
+     * @return a <code>ResultSet</code> object in which each row is a schema
+     * decription
      * @throws java.sql.SQLException if a database access error occurs
      */
     public ResultSet getSchemas() throws SQLException {
@@ -1575,16 +1556,17 @@
     }
 
     /**
-     * Retrieves the catalog names available in this database.  The results
-     * are ordered by catalog name.
+     * Retrieves the catalog names available in this database. The results are
+     * ordered by catalog name.
      * <p/>
-     * <P>The catalog column is:
+     * <P>
+     * The catalog column is:
      * <OL>
      * <LI><B>TABLE_CAT</B> String => catalog name
      * </OL>
      *
-     * @return a <code>ResultSet</code> object in which each row has a
-     *         single <code>String</code> column that is a catalog name
+     * @return a <code>ResultSet</code> object in which each row has a single
+     * <code>String</code> column that is a catalog name
      * @throws java.sql.SQLException if a database access error occurs
      */
     public ResultSet getCatalogs() throws SQLException {
@@ -1592,18 +1574,19 @@
     }
 
     /**
-     * Retrieves the table types available in this database.  The results
-     * are ordered by table type.
+     * Retrieves the table types available in this database. The results are ordered
+     * by table type.
      * <p/>
-     * <P>The table type is:
+     * <P>
+     * The table type is:
      * <OL>
-     * <LI><B>TABLE_TYPE</B> String => table type.  Typical types are "TABLE",
-     * "VIEW", "SYSTEM TABLE", "GLOBAL TEMPORARY",
-     * "LOCAL TEMPORARY", "ALIAS", "SYNONYM".
+     * <LI><B>TABLE_TYPE</B> String => table type. Typical types are "TABLE",
+     * "VIEW", "SYSTEM TABLE", "GLOBAL TEMPORARY", "LOCAL TEMPORARY", "ALIAS",
+     * "SYNONYM".
      * </OL>
      *
-     * @return a <code>ResultSet</code> object in which each row has a
-     *         single <code>String</code> column that is a table type
+     * @return a <code>ResultSet</code> object in which each row has a single
+     * <code>String</code> column that is a table type
      * @throws java.sql.SQLException if a database access error occurs
      */
     public ResultSet getTableTypes() throws SQLException {
@@ -1611,85 +1594,85 @@
     }
 
     /**
-     * Retrieves a description of table columns available in
-     * the specified catalog.
+     * Retrieves a description of table columns available in the specified catalog.
      * <p/>
-     * <P>Only column descriptions matching the catalog, schema, table
-     * and column name criteria are returned.  They are ordered by
-     * <code>TABLE_SCHEM</code>, <code>TABLE_NAME</code>, and
-     * <code>ORDINAL_POSITION</code>.
+     * <P>
+     * Only column descriptions matching the catalog, schema, table and column name
+     * criteria are returned. They are ordered by <code>TABLE_SCHEM</code>,
+     * <code>TABLE_NAME</code>, and <code>ORDINAL_POSITION</code>.
      * <p/>
-     * <P>Each column description has the following columns:
+     * <P>
+     * Each column description has the following columns:
      * <OL>
      * <LI><B>TABLE_CAT</B> String => table catalog (may be <code>null</code>)
      * <LI><B>TABLE_SCHEM</B> String => table schema (may be <code>null</code>)
      * <LI><B>TABLE_NAME</B> String => table name
      * <LI><B>COLUMN_NAME</B> String => column name
      * <LI><B>DATA_TYPE</B> int => SQL type from java.sql.Types
-     * <LI><B>TYPE_NAME</B> String => Data source dependent type name,
-     * for a UDT the type name is fully qualified
-     * <LI><B>COLUMN_SIZE</B> int => column size.  For char or date
-     * types this is the maximum number of characters, for numeric or
-     * decimal types this is precision.
+     * <LI><B>TYPE_NAME</B> String => Data source dependent type name, for a UDT the
+     * type name is fully qualified
+     * <LI><B>COLUMN_SIZE</B> int => column size. For char or date types this is the
+     * maximum number of characters, for numeric or decimal types this is precision.
      * <LI><B>BUFFER_LENGTH</B> is not used.
      * <LI><B>DECIMAL_DIGITS</B> int => the number of fractional digits
      * <LI><B>NUM_PREC_RADIX</B> int => Radix (typically either 10 or 2)
      * <LI><B>NULLABLE</B> int => is NULL allowed.
      * <UL>
-     * <LI> columnNoNulls - might not allow <code>NULL</code> values
-     * <LI> columnNullable - definitely allows <code>NULL</code> values
-     * <LI> columnNullableUnknown - nullability unknown
+     * <LI>columnNoNulls - might not allow <code>NULL</code> values
+     * <LI>columnNullable - definitely allows <code>NULL</code> values
+     * <LI>columnNullableUnknown - nullability unknown
      * </UL>
-     * <LI><B>REMARKS</B> String => comment describing column (may be <code>null</code>)
+     * <LI><B>REMARKS</B> String => comment describing column (may be
+     * <code>null</code>)
      * <LI><B>COLUMN_DEF</B> String => default value (may be <code>null</code>)
      * <LI><B>SQL_DATA_TYPE</B> int => unused
      * <LI><B>SQL_DATETIME_SUB</B> int => unused
-     * <LI><B>CHAR_OCTET_LENGTH</B> int => for char types the
-     * maximum number of bytes in the column
-     * <LI><B>ORDINAL_POSITION</B> int    => index of column in table
-     * (starting at 1)
-     * <LI><B>IS_NULLABLE</B> String => "NO" means column definitely
-     * does not allow NULL values; "YES" means the column might
-     * allow NULL values.  An empty string means nobody knows.
-     * <LI><B>SCOPE_CATLOG</B> String => catalog of table that is the scope
-     * of a reference attribute (<code>null</code> if DATA_TYPE isn't REF)
-     * <LI><B>SCOPE_SCHEMA</B> String => schema of table that is the scope
-     * of a reference attribute (<code>null</code> if the DATA_TYPE isn't REF)
-     * <LI><B>SCOPE_TABLE</B> String => table name that this the scope
-     * of a reference attribure (<code>null</code> if the DATA_TYPE isn't REF)
-     * <LI><B>SOURCE_DATA_TYPE</B> short => source type of a distinct type or user-generated
-     * Ref type, SQL type from java.sql.Types (<code>null</code> if DATA_TYPE
-     * isn't DISTINCT or user-generated REF)
+     * <LI><B>CHAR_OCTET_LENGTH</B> int => for char types the maximum number of
+     * bytes in the column
+     * <LI><B>ORDINAL_POSITION</B> int => index of column in table (starting at 1)
+     * <LI><B>IS_NULLABLE</B> String => "NO" means column definitely does not allow
+     * NULL values; "YES" means the column might allow NULL values. An empty string
+     * means nobody knows.
+     * <LI><B>SCOPE_CATLOG</B> String => catalog of table that is the scope of a
+     * reference attribute (<code>null</code> if DATA_TYPE isn't REF)
+     * <LI><B>SCOPE_SCHEMA</B> String => schema of table that is the scope of a
+     * reference attribute (<code>null</code> if the DATA_TYPE isn't REF)
+     * <LI><B>SCOPE_TABLE</B> String => table name that this the scope of a
+     * reference attribure (<code>null</code> if the DATA_TYPE isn't REF)
+     * <LI><B>SOURCE_DATA_TYPE</B> short => source type of a distinct type or
+     * user-generated Ref type, SQL type from java.sql.Types (<code>null</code> if
+     * DATA_TYPE isn't DISTINCT or user-generated REF)
      * </OL>
      *
-     * @param catalog           a catalog name; must match the catalog name as it
-     *                          is stored in the database; "" retrieves those without a catalog;
-     *                          <code>null</code> means that the catalog name should not be used to narrow
-     *                          the search
-     * @param schemaPattern     a schema name pattern; must match the schema name
-     *                          as it is stored in the database; "" retrieves those without a schema;
-     *                          <code>null</code> means that the schema name should not be used to narrow
-     *                          the search
-     * @param tableNamePattern  a table name pattern; must match the
-     *                          table name as it is stored in the database
-     * @param columnNamePattern a column name pattern; must match the column
-     *                          name as it is stored in the database
+     * @param catalog a catalog name; must match the catalog name as it is stored in
+     * the database; "" retrieves those without a catalog; <code>null</code> means
+     * that the catalog name should not be used to narrow the search
+     * @param schemaPattern a schema name pattern; must match the schema name as it
+     * is stored in the database; "" retrieves those without a schema;
+     * <code>null</code> means that the schema name should not be used to narrow the
+     * search
+     * @param tableNamePattern a table name pattern; must match the table name as it
+     * is stored in the database
+     * @param columnNamePattern a column name pattern; must match the column name as
+     * it is stored in the database
      * @return <code>ResultSet</code> - each row is a column description
      * @throws java.sql.SQLException if a database access error occurs
      * @see #getSearchStringEscape
      */
-    public ResultSet getColumns(String catalog, String schemaPattern, String tableNamePattern,
-                                String columnNamePattern) throws SQLException {
+    public ResultSet getColumns(String catalog, String schemaPattern, String tableNamePattern, String columnNamePattern)
+            throws SQLException {
         return databaseMetaData.getColumns(catalog, schemaPattern, tableNamePattern, columnNamePattern);
     }
 
     /**
      * Retrieves a description of the access rights for a table's columns.
      * <p/>
-     * <P>Only privileges matching the column name criteria are
-     * returned.  They are ordered by COLUMN_NAME and PRIVILEGE.
+     * <P>
+     * Only privileges matching the column name criteria are returned. They are
+     * ordered by COLUMN_NAME and PRIVILEGE.
      * <p/>
-     * <P>Each privilige description has the following columns:
+     * <P>
+     * Each privilige description has the following columns:
      * <OL>
      * <LI><B>TABLE_CAT</B> String => table catalog (may be <code>null</code>)
      * <LI><B>TABLE_SCHEM</B> String => table schema (may be <code>null</code>)
@@ -1697,130 +1680,126 @@
      * <LI><B>COLUMN_NAME</B> String => column name
      * <LI><B>GRANTOR</B> => grantor of access (may be <code>null</code>)
      * <LI><B>GRANTEE</B> String => grantee of access
-     * <LI><B>PRIVILEGE</B> String => name of access (SELECT,
-     * INSERT, UPDATE, REFRENCES, ...)
-     * <LI><B>IS_GRANTABLE</B> String => "YES" if grantee is permitted
-     * to grant to others; "NO" if not; <code>null</code> if unknown
+     * <LI><B>PRIVILEGE</B> String => name of access (SELECT, INSERT, UPDATE,
+     * REFRENCES, ...)
+     * <LI><B>IS_GRANTABLE</B> String => "YES" if grantee is permitted to grant to
+     * others; "NO" if not; <code>null</code> if unknown
      * </OL>
      *
-     * @param catalog           a catalog name; must match the catalog name as it
-     *                          is stored in the database; "" retrieves those without a catalog;
-     *                          <code>null</code> means that the catalog name should not be used to narrow
-     *                          the search
-     * @param schema            a schema name; must match the schema name as it is
-     *                          stored in the database; "" retrieves those without a schema;
-     *                          <code>null</code> means that the schema name should not be used to narrow
-     *                          the search
-     * @param table             a table name; must match the table name as it is
-     *                          stored in the database
-     * @param columnNamePattern a column name pattern; must match the column
-     *                          name as it is stored in the database
+     * @param catalog a catalog name; must match the catalog name as it is stored in
+     * the database; "" retrieves those without a catalog; <code>null</code> means
+     * that the catalog name should not be used to narrow the search
+     * @param schema a schema name; must match the schema name as it is stored in
+     * the database; "" retrieves those without a schema; <code>null</code> means
+     * that the schema name should not be used to narrow the search
+     * @param table a table name; must match the table name as it is stored in the
+     * database
+     * @param columnNamePattern a column name pattern; must match the column name as
+     * it is stored in the database
      * @return <code>ResultSet</code> - each row is a column privilege description
      * @throws java.sql.SQLException if a database access error occurs
      * @see #getSearchStringEscape
      */
-    public ResultSet getColumnPrivileges(String catalog, String schema, String table,
-                                         String columnNamePattern) throws SQLException {
+    public ResultSet getColumnPrivileges(String catalog, String schema, String table, String columnNamePattern)
+            throws SQLException {
         return databaseMetaData.getColumnPrivileges(catalog, schema, table, columnNamePattern);
     }
 
     /**
-     * Retrieves a description of the access rights for each table available
-     * in a catalog. Note that a table privilege applies to one or
-     * more columns in the table. It would be wrong to assume that
-     * this privilege applies to all columns (this may be true for
-     * some systems but is not true for all.)
+     * Retrieves a description of the access rights for each table available in a
+     * catalog. Note that a table privilege applies to one or more columns in the
+     * table. It would be wrong to assume that this privilege applies to all columns
+     * (this may be true for some systems but is not true for all.)
      * <p/>
-     * <P>Only privileges matching the schema and table name
-     * criteria are returned.  They are ordered by TABLE_SCHEM,
-     * TABLE_NAME, and PRIVILEGE.
+     * <P>
+     * Only privileges matching the schema and table name criteria are returned.
+     * They are ordered by TABLE_SCHEM, TABLE_NAME, and PRIVILEGE.
      * <p/>
-     * <P>Each privilige description has the following columns:
+     * <P>
+     * Each privilige description has the following columns:
      * <OL>
      * <LI><B>TABLE_CAT</B> String => table catalog (may be <code>null</code>)
      * <LI><B>TABLE_SCHEM</B> String => table schema (may be <code>null</code>)
      * <LI><B>TABLE_NAME</B> String => table name
      * <LI><B>GRANTOR</B> => grantor of access (may be <code>null</code>)
      * <LI><B>GRANTEE</B> String => grantee of access
-     * <LI><B>PRIVILEGE</B> String => name of access (SELECT,
-     * INSERT, UPDATE, REFRENCES, ...)
-     * <LI><B>IS_GRANTABLE</B> String => "YES" if grantee is permitted
-     * to grant to others; "NO" if not; <code>null</code> if unknown
+     * <LI><B>PRIVILEGE</B> String => name of access (SELECT, INSERT, UPDATE,
+     * REFRENCES, ...)
+     * <LI><B>IS_GRANTABLE</B> String => "YES" if grantee is permitted to grant to
+     * others; "NO" if not; <code>null</code> if unknown
      * </OL>
      *
-     * @param catalog          a catalog name; must match the catalog name as it
-     *                         is stored in the database; "" retrieves those without a catalog;
-     *                         <code>null</code> means that the catalog name should not be used to narrow
-     *                         the search
-     * @param schemaPattern    a schema name pattern; must match the schema name
-     *                         as it is stored in the database; "" retrieves those without a schema;
-     *                         <code>null</code> means that the schema name should not be used to narrow
-     *                         the search
-     * @param tableNamePattern a table name pattern; must match the
-     *                         table name as it is stored in the database
+     * @param catalog a catalog name; must match the catalog name as it is stored in
+     * the database; "" retrieves those without a catalog; <code>null</code> means
+     * that the catalog name should not be used to narrow the search
+     * @param schemaPattern a schema name pattern; must match the schema name as it
+     * is stored in the database; "" retrieves those without a schema;
+     * <code>null</code> means that the schema name should not be used to narrow the
+     * search
+     * @param tableNamePattern a table name pattern; must match the table name as it
+     * is stored in the database
      * @return <code>ResultSet</code> - each row is a table privilege description
      * @throws java.sql.SQLException if a database access error occurs
      * @see #getSearchStringEscape
      */
-    public ResultSet getTablePrivileges(String catalog, String schemaPattern,
-                                        String tableNamePattern) throws SQLException {
+    public ResultSet getTablePrivileges(String catalog, String schemaPattern, String tableNamePattern)
+            throws SQLException {
         return databaseMetaData.getTablePrivileges(catalog, schemaPattern, tableNamePattern);
     }
 
     /**
-     * Retrieves a description of a table's optimal set of columns that
-     * uniquely identifies a row. They are ordered by SCOPE.
+     * Retrieves a description of a table's optimal set of columns that uniquely
+     * identifies a row. They are ordered by SCOPE.
      * <p/>
-     * <P>Each column description has the following columns:
+     * <P>
+     * Each column description has the following columns:
      * <OL>
      * <LI><B>SCOPE</B> short => actual scope of result
      * <UL>
-     * <LI> bestRowTemporary - very temporary, while using row
-     * <LI> bestRowTransaction - valid for remainder of current transaction
-     * <LI> bestRowSession - valid for remainder of current session
+     * <LI>bestRowTemporary - very temporary, while using row
+     * <LI>bestRowTransaction - valid for remainder of current transaction
+     * <LI>bestRowSession - valid for remainder of current session
      * </UL>
      * <LI><B>COLUMN_NAME</B> String => column name
      * <LI><B>DATA_TYPE</B> int => SQL data type from java.sql.Types
-     * <LI><B>TYPE_NAME</B> String => Data source dependent type name,
-     * for a UDT the type name is fully qualified
+     * <LI><B>TYPE_NAME</B> String => Data source dependent type name, for a UDT the
+     * type name is fully qualified
      * <LI><B>COLUMN_SIZE</B> int => precision
      * <LI><B>BUFFER_LENGTH</B> int => not used
-     * <LI><B>DECIMAL_DIGITS</B> short     => scale
-     * <LI><B>PSEUDO_COLUMN</B> short => is this a pseudo column
-     * like an Oracle ROWID
+     * <LI><B>DECIMAL_DIGITS</B> short => scale
+     * <LI><B>PSEUDO_COLUMN</B> short => is this a pseudo column like an Oracle
+     * ROWID
      * <UL>
-     * <LI> bestRowUnknown - may or may not be pseudo column
-     * <LI> bestRowNotPseudo - is NOT a pseudo column
-     * <LI> bestRowPseudo - is a pseudo column
+     * <LI>bestRowUnknown - may or may not be pseudo column
+     * <LI>bestRowNotPseudo - is NOT a pseudo column
+     * <LI>bestRowPseudo - is a pseudo column
      * </UL>
      * </OL>
      *
-     * @param catalog  a catalog name; must match the catalog name as it
-     *                 is stored in the database; "" retrieves those without a catalog;
-     *                 <code>null</code> means that the catalog name should not be used to narrow
-     *                 the search
-     * @param schema   a schema name; must match the schema name
-     *                 as it is stored in the database; "" retrieves those without a schema;
-     *                 <code>null</code> means that the schema name should not be used to narrow
-     *                 the search
-     * @param table    a table name; must match the table name as it is stored
-     *                 in the database
-     * @param scope    the scope of interest; use same values as SCOPE
+     * @param catalog a catalog name; must match the catalog name as it is stored in
+     * the database; "" retrieves those without a catalog; <code>null</code> means
+     * that the catalog name should not be used to narrow the search
+     * @param schema a schema name; must match the schema name as it is stored in
+     * the database; "" retrieves those without a schema; <code>null</code> means
+     * that the schema name should not be used to narrow the search
+     * @param table a table name; must match the table name as it is stored in the
+     * database
+     * @param scope the scope of interest; use same values as SCOPE
      * @param nullable include columns that are nullable.
      * @return <code>ResultSet</code> - each row is a column description
      * @throws java.sql.SQLException if a database access error occurs
      */
-    public ResultSet getBestRowIdentifier(String catalog, String schema, String table, int scope,
-                                          boolean nullable) throws SQLException {
+    public ResultSet getBestRowIdentifier(String catalog, String schema, String table, int scope, boolean nullable)
+            throws SQLException {
         return databaseMetaData.getBestRowIdentifier(catalog, schema, table, scope, nullable);
     }
 
     /**
-     * Retrieves a description of a table's columns that are automatically
-     * updated when any value in a row is updated.  They are
-     * unordered.
+     * Retrieves a description of a table's columns that are automatically updated
+     * when any value in a row is updated. They are unordered.
      * <p/>
-     * <P>Each column description has the following columns:
+     * <P>
+     * Each column description has the following columns:
      * <OL>
      * <LI><B>SCOPE</B> short => is not used
      * <LI><B>COLUMN_NAME</B> String => column name
@@ -1828,28 +1807,26 @@
      * <LI><B>TYPE_NAME</B> String => Data source-dependent type name
      * <LI><B>COLUMN_SIZE</B> int => precision
      * <LI><B>BUFFER_LENGTH</B> int => length of column value in bytes
-     * <LI><B>DECIMAL_DIGITS</B> short     => scale
-     * <LI><B>PSEUDO_COLUMN</B> short => whether this is pseudo column
-     * like an Oracle ROWID
+     * <LI><B>DECIMAL_DIGITS</B> short => scale
+     * <LI><B>PSEUDO_COLUMN</B> short => whether this is pseudo column like an
+     * Oracle ROWID
      * <UL>
-     * <LI> versionColumnUnknown - may or may not be pseudo column
-     * <LI> versionColumnNotPseudo - is NOT a pseudo column
-     * <LI> versionColumnPseudo - is a pseudo column
+     * <LI>versionColumnUnknown - may or may not be pseudo column
+     * <LI>versionColumnNotPseudo - is NOT a pseudo column
+     * <LI>versionColumnPseudo - is a pseudo column
      * </UL>
      * </OL>
      *
-     * @param catalog a catalog name; must match the catalog name as it
-     *                is stored in the database; "" retrieves those without a catalog;
-     *                <code>null</code> means that the catalog name should not be used to narrow
-     *                the search
-     * @param schema  a schema name; must match the schema name
-     *                as it is stored in the database; "" retrieves those without a schema;
-     *                <code>null</code> means that the schema name should not be used to narrow
-     *                the search
-     * @param table   a table name; must match the table name as it is stored
-     *                in the database
-     * @return a <code>ResultSet</code> object in which each row is a
-     *         column description
+     * @param catalog a catalog name; must match the catalog name as it is stored in
+     * the database; "" retrieves those without a catalog; <code>null</code> means
+     * that the catalog name should not be used to narrow the search
+     * @param schema a schema name; must match the schema name as it is stored in
+     * the database; "" retrieves those without a schema; <code>null</code> means
+     * that the schema name should not be used to narrow the search
+     * @param table a table name; must match the table name as it is stored in the
+     * database
+     * @return a <code>ResultSet</code> object in which each row is a column
+     * description
      * @throws java.sql.SQLException if a database access error occurs
      */
     public ResultSet getVersionColumns(String catalog, String schema, String table) throws SQLException {
@@ -1857,10 +1834,11 @@
     }
 
     /**
-     * Retrieves a description of the given table's primary key columns.  They
-     * are ordered by COLUMN_NAME.
+     * Retrieves a description of the given table's primary key columns. They are
+     * ordered by COLUMN_NAME.
      * <p/>
-     * <P>Each primary key column description has the following columns:
+     * <P>
+     * Each primary key column description has the following columns:
      * <OL>
      * <LI><B>TABLE_CAT</B> String => table catalog (may be <code>null</code>)
      * <LI><B>TABLE_SCHEM</B> String => table schema (may be <code>null</code>)
@@ -1870,16 +1848,14 @@
      * <LI><B>PK_NAME</B> String => primary key name (may be <code>null</code>)
      * </OL>
      *
-     * @param catalog a catalog name; must match the catalog name as it
-     *                is stored in the database; "" retrieves those without a catalog;
-     *                <code>null</code> means that the catalog name should not be used to narrow
-     *                the search
-     * @param schema  a schema name; must match the schema name
-     *                as it is stored in the database; "" retrieves those without a schema;
-     *                <code>null</code> means that the schema name should not be used to narrow
-     *                the search
-     * @param table   a table name; must match the table name as it is stored
-     *                in the database
+     * @param catalog a catalog name; must match the catalog name as it is stored in
+     * the database; "" retrieves those without a catalog; <code>null</code> means
+     * that the catalog name should not be used to narrow the search
+     * @param schema a schema name; must match the schema name as it is stored in
+     * the database; "" retrieves those without a schema; <code>null</code> means
+     * that the schema name should not be used to narrow the search
+     * @param table a table name; must match the table name as it is stored in the
+     * database
      * @return <code>ResultSet</code> - each row is a primary key column description
      * @throws java.sql.SQLException if a database access error occurs
      */
@@ -1888,74 +1864,71 @@
     }
 
     /**
-     * Retrieves a description of the primary key columns that are
-     * referenced by a table's foreign key columns (the primary keys
-     * imported by a table).  They are ordered by PKTABLE_CAT,
-     * PKTABLE_SCHEM, PKTABLE_NAME, and KEY_SEQ.
+     * Retrieves a description of the primary key columns that are referenced by a
+     * table's foreign key columns (the primary keys imported by a table). They are
+     * ordered by PKTABLE_CAT, PKTABLE_SCHEM, PKTABLE_NAME, and KEY_SEQ.
      * <p/>
-     * <P>Each primary key column description has the following columns:
+     * <P>
+     * Each primary key column description has the following columns:
      * <OL>
-     * <LI><B>PKTABLE_CAT</B> String => primary key table catalog
-     * being imported (may be <code>null</code>)
-     * <LI><B>PKTABLE_SCHEM</B> String => primary key table schema
-     * being imported (may be <code>null</code>)
-     * <LI><B>PKTABLE_NAME</B> String => primary key table name
-     * being imported
-     * <LI><B>PKCOLUMN_NAME</B> String => primary key column name
-     * being imported
-     * <LI><B>FKTABLE_CAT</B> String => foreign key table catalog (may be <code>null</code>)
-     * <LI><B>FKTABLE_SCHEM</B> String => foreign key table schema (may be <code>null</code>)
+     * <LI><B>PKTABLE_CAT</B> String => primary key table catalog being imported
+     * (may be <code>null</code>)
+     * <LI><B>PKTABLE_SCHEM</B> String => primary key table schema being imported
+     * (may be <code>null</code>)
+     * <LI><B>PKTABLE_NAME</B> String => primary key table name being imported
+     * <LI><B>PKCOLUMN_NAME</B> String => primary key column name being imported
+     * <LI><B>FKTABLE_CAT</B> String => foreign key table catalog (may be
+     * <code>null</code>)
+     * <LI><B>FKTABLE_SCHEM</B> String => foreign key table schema (may be
+     * <code>null</code>)
      * <LI><B>FKTABLE_NAME</B> String => foreign key table name
      * <LI><B>FKCOLUMN_NAME</B> String => foreign key column name
      * <LI><B>KEY_SEQ</B> short => sequence number within a foreign key
-     * <LI><B>UPDATE_RULE</B> short => What happens to a
-     * foreign key when the primary key is updated:
+     * <LI><B>UPDATE_RULE</B> short => What happens to a foreign key when the
+     * primary key is updated:
      * <UL>
-     * <LI> importedNoAction - do not allow update of primary
-     * key if it has been imported
-     * <LI> importedKeyCascade - change imported key to agree
-     * with primary key update
-     * <LI> importedKeySetNull - change imported key to <code>NULL</code>
-     * if its primary key has been updated
-     * <LI> importedKeySetDefault - change imported key to default values
-     * if its primary key has been updated
-     * <LI> importedKeyRestrict - same as importedKeyNoAction
-     * (for ODBC 2.x compatibility)
+     * <LI>importedNoAction - do not allow update of primary key if it has been
+     * imported
+     * <LI>importedKeyCascade - change imported key to agree with primary key update
+     * <LI>importedKeySetNull - change imported key to <code>NULL</code> if its
+     * primary key has been updated
+     * <LI>importedKeySetDefault - change imported key to default values if its
+     * primary key has been updated
+     * <LI>importedKeyRestrict - same as importedKeyNoAction (for ODBC 2.x
+     * compatibility)
      * </UL>
-     * <LI><B>DELETE_RULE</B> short => What happens to
-     * the foreign key when primary is deleted.
+     * <LI><B>DELETE_RULE</B> short => What happens to the foreign key when primary
+     * is deleted.
      * <UL>
-     * <LI> importedKeyNoAction - do not allow delete of primary
-     * key if it has been imported
-     * <LI> importedKeyCascade - delete rows that import a deleted key
-     * <LI> importedKeySetNull - change imported key to NULL if
-     * its primary key has been deleted
-     * <LI> importedKeyRestrict - same as importedKeyNoAction
-     * (for ODBC 2.x compatibility)
-     * <LI> importedKeySetDefault - change imported key to default if
-     * its primary key has been deleted
+     * <LI>importedKeyNoAction - do not allow delete of primary key if it has been
+     * imported
+     * <LI>importedKeyCascade - delete rows that import a deleted key
+     * <LI>importedKeySetNull - change imported key to NULL if its primary key has
+     * been deleted
+     * <LI>importedKeyRestrict - same as importedKeyNoAction (for ODBC 2.x
+     * compatibility)
+     * <LI>importedKeySetDefault - change imported key to default if its primary key
+     * has been deleted
      * </UL>
      * <LI><B>FK_NAME</B> String => foreign key name (may be <code>null</code>)
      * <LI><B>PK_NAME</B> String => primary key name (may be <code>null</code>)
      * <LI><B>DEFERRABILITY</B> short => can the evaluation of foreign key
      * constraints be deferred until commit
      * <UL>
-     * <LI> importedKeyInitiallyDeferred - see SQL92 for definition
-     * <LI> importedKeyInitiallyImmediate - see SQL92 for definition
-     * <LI> importedKeyNotDeferrable - see SQL92 for definition
+     * <LI>importedKeyInitiallyDeferred - see SQL92 for definition
+     * <LI>importedKeyInitiallyImmediate - see SQL92 for definition
+     * <LI>importedKeyNotDeferrable - see SQL92 for definition
      * </UL>
      * </OL>
      *
-     * @param catalog a catalog name; must match the catalog name as it
-     *                is stored in the database; "" retrieves those without a catalog;
-     *                <code>null</code> means that the catalog name should not be used to narrow
-     *                the search
-     * @param schema  a schema name; must match the schema name
-     *                as it is stored in the database; "" retrieves those without a schema;
-     *                <code>null</code> means that the schema name should not be used to narrow
-     *                the search
-     * @param table   a table name; must match the table name as it is stored
-     *                in the database
+     * @param catalog a catalog name; must match the catalog name as it is stored in
+     * the database; "" retrieves those without a catalog; <code>null</code> means
+     * that the catalog name should not be used to narrow the search
+     * @param schema a schema name; must match the schema name as it is stored in
+     * the database; "" retrieves those without a schema; <code>null</code> means
+     * that the schema name should not be used to narrow the search
+     * @param table a table name; must match the table name as it is stored in the
+     * database
      * @return <code>ResultSet</code> - each row is a primary key column description
      * @throws java.sql.SQLException if a database access error occurs
      * @see #getExportedKeys
@@ -1965,76 +1938,73 @@
     }
 
     /**
-     * Retrieves a description of the foreign key columns that reference the
-     * given table's primary key columns (the foreign keys exported by a
-     * table).  They are ordered by FKTABLE_CAT, FKTABLE_SCHEM,
-     * FKTABLE_NAME, and KEY_SEQ.
+     * Retrieves a description of the foreign key columns that reference the given
+     * table's primary key columns (the foreign keys exported by a table). They are
+     * ordered by FKTABLE_CAT, FKTABLE_SCHEM, FKTABLE_NAME, and KEY_SEQ.
      * <p/>
-     * <P>Each foreign key column description has the following columns:
+     * <P>
+     * Each foreign key column description has the following columns:
      * <OL>
-     * <LI><B>PKTABLE_CAT</B> String => primary key table catalog (may be <code>null</code>)
-     * <LI><B>PKTABLE_SCHEM</B> String => primary key table schema (may be <code>null</code>)
+     * <LI><B>PKTABLE_CAT</B> String => primary key table catalog (may be
+     * <code>null</code>)
+     * <LI><B>PKTABLE_SCHEM</B> String => primary key table schema (may be
+     * <code>null</code>)
      * <LI><B>PKTABLE_NAME</B> String => primary key table name
      * <LI><B>PKCOLUMN_NAME</B> String => primary key column name
-     * <LI><B>FKTABLE_CAT</B> String => foreign key table catalog (may be <code>null</code>)
-     * being exported (may be <code>null</code>)
-     * <LI><B>FKTABLE_SCHEM</B> String => foreign key table schema (may be <code>null</code>)
-     * being exported (may be <code>null</code>)
-     * <LI><B>FKTABLE_NAME</B> String => foreign key table name
-     * being exported
-     * <LI><B>FKCOLUMN_NAME</B> String => foreign key column name
-     * being exported
+     * <LI><B>FKTABLE_CAT</B> String => foreign key table catalog (may be
+     * <code>null</code>) being exported (may be <code>null</code>)
+     * <LI><B>FKTABLE_SCHEM</B> String => foreign key table schema (may be
+     * <code>null</code>) being exported (may be <code>null</code>)
+     * <LI><B>FKTABLE_NAME</B> String => foreign key table name being exported
+     * <LI><B>FKCOLUMN_NAME</B> String => foreign key column name being exported
      * <LI><B>KEY_SEQ</B> short => sequence number within foreign key
-     * <LI><B>UPDATE_RULE</B> short => What happens to
-     * foreign key when primary is updated:
+     * <LI><B>UPDATE_RULE</B> short => What happens to foreign key when primary is
+     * updated:
      * <UL>
-     * <LI> importedNoAction - do not allow update of primary
-     * key if it has been imported
-     * <LI> importedKeyCascade - change imported key to agree
-     * with primary key update
-     * <LI> importedKeySetNull - change imported key to <code>NULL</code> if
-     * its primary key has been updated
-     * <LI> importedKeySetDefault - change imported key to default values
-     * if its primary key has been updated
-     * <LI> importedKeyRestrict - same as importedKeyNoAction
-     * (for ODBC 2.x compatibility)
+     * <LI>importedNoAction - do not allow update of primary key if it has been
+     * imported
+     * <LI>importedKeyCascade - change imported key to agree with primary key update
+     * <LI>importedKeySetNull - change imported key to <code>NULL</code> if its
+     * primary key has been updated
+     * <LI>importedKeySetDefault - change imported key to default values if its
+     * primary key has been updated
+     * <LI>importedKeyRestrict - same as importedKeyNoAction (for ODBC 2.x
+     * compatibility)
      * </UL>
-     * <LI><B>DELETE_RULE</B> short => What happens to
-     * the foreign key when primary is deleted.
+     * <LI><B>DELETE_RULE</B> short => What happens to the foreign key when primary
+     * is deleted.
      * <UL>
-     * <LI> importedKeyNoAction - do not allow delete of primary
-     * key if it has been imported
-     * <LI> importedKeyCascade - delete rows that import a deleted key
-     * <LI> importedKeySetNull - change imported key to <code>NULL</code> if
-     * its primary key has been deleted
-     * <LI> importedKeyRestrict - same as importedKeyNoAction
-     * (for ODBC 2.x compatibility)
-     * <LI> importedKeySetDefault - change imported key to default if
-     * its primary key has been deleted
+     * <LI>importedKeyNoAction - do not allow delete of primary key if it has been
+     * imported
+     * <LI>importedKeyCascade - delete rows that import a deleted key
+     * <LI>importedKeySetNull - change imported key to <code>NULL</code> if its
+     * primary key has been deleted
+     * <LI>importedKeyRestrict - same as importedKeyNoAction (for ODBC 2.x
+     * compatibility)
+     * <LI>importedKeySetDefault - change imported key to default if its primary key
+     * has been deleted
      * </UL>
      * <LI><B>FK_NAME</B> String => foreign key name (may be <code>null</code>)
      * <LI><B>PK_NAME</B> String => primary key name (may be <code>null</code>)
      * <LI><B>DEFERRABILITY</B> short => can the evaluation of foreign key
      * constraints be deferred until commit
      * <UL>
-     * <LI> importedKeyInitiallyDeferred - see SQL92 for definition
-     * <LI> importedKeyInitiallyImmediate - see SQL92 for definition
-     * <LI> importedKeyNotDeferrable - see SQL92 for definition
+     * <LI>importedKeyInitiallyDeferred - see SQL92 for definition
+     * <LI>importedKeyInitiallyImmediate - see SQL92 for definition
+     * <LI>importedKeyNotDeferrable - see SQL92 for definition
      * </UL>
      * </OL>
      *
-     * @param catalog a catalog name; must match the catalog name as it
-     *                is stored in this database; "" retrieves those without a catalog;
-     *                <code>null</code> means that the catalog name should not be used to narrow
-     *                the search
-     * @param schema  a schema name; must match the schema name
-     *                as it is stored in the database; "" retrieves those without a schema;
-     *                <code>null</code> means that the schema name should not be used to narrow
-     *                the search
-     * @param table   a table name; must match the table name as it is stored
-     *                in this database
-     * @return a <code>ResultSet</code> object in which each row is a
-     *         foreign key column description
+     * @param catalog a catalog name; must match the catalog name as it is stored in
+     * this database; "" retrieves those without a catalog; <code>null</code> means
+     * that the catalog name should not be used to narrow the search
+     * @param schema a schema name; must match the schema name as it is stored in
+     * the database; "" retrieves those without a schema; <code>null</code> means
+     * that the schema name should not be used to narrow the search
+     * @param table a table name; must match the table name as it is stored in this
+     * database
+     * @return a <code>ResultSet</code> object in which each row is a foreign key
+     * column description
      * @throws java.sql.SQLException if a database access error occurs
      * @see #getImportedKeys
      */
@@ -2044,129 +2014,128 @@
 
     /**
      * Retrieves a description of the foreign key columns in the given foreign key
-     * table that reference the primary key columns of the given primary key
-     * table (describe how one table imports another's key). This
-     * should normally return a single foreign key/primary key pair because
-     * most tables import a foreign key from a table only once.  They
-     * are ordered by FKTABLE_CAT, FKTABLE_SCHEM, FKTABLE_NAME, and
-     * KEY_SEQ.
+     * table that reference the primary key columns of the given primary key table
+     * (describe how one table imports another's key). This should normally return a
+     * single foreign key/primary key pair because most tables import a foreign key
+     * from a table only once. They are ordered by FKTABLE_CAT, FKTABLE_SCHEM,
+     * FKTABLE_NAME, and KEY_SEQ.
      * <p/>
-     * <P>Each foreign key column description has the following columns:
+     * <P>
+     * Each foreign key column description has the following columns:
      * <OL>
-     * <LI><B>PKTABLE_CAT</B> String => primary key table catalog (may be <code>null</code>)
-     * <LI><B>PKTABLE_SCHEM</B> String => primary key table schema (may be <code>null</code>)
+     * <LI><B>PKTABLE_CAT</B> String => primary key table catalog (may be
+     * <code>null</code>)
+     * <LI><B>PKTABLE_SCHEM</B> String => primary key table schema (may be
+     * <code>null</code>)
      * <LI><B>PKTABLE_NAME</B> String => primary key table name
      * <LI><B>PKCOLUMN_NAME</B> String => primary key column name
-     * <LI><B>FKTABLE_CAT</B> String => foreign key table catalog (may be <code>null</code>)
-     * being exported (may be <code>null</code>)
-     * <LI><B>FKTABLE_SCHEM</B> String => foreign key table schema (may be <code>null</code>)
-     * being exported (may be <code>null</code>)
-     * <LI><B>FKTABLE_NAME</B> String => foreign key table name
-     * being exported
-     * <LI><B>FKCOLUMN_NAME</B> String => foreign key column name
-     * being exported
+     * <LI><B>FKTABLE_CAT</B> String => foreign key table catalog (may be
+     * <code>null</code>) being exported (may be <code>null</code>)
+     * <LI><B>FKTABLE_SCHEM</B> String => foreign key table schema (may be
+     * <code>null</code>) being exported (may be <code>null</code>)
+     * <LI><B>FKTABLE_NAME</B> String => foreign key table name being exported
+     * <LI><B>FKCOLUMN_NAME</B> String => foreign key column name being exported
      * <LI><B>KEY_SEQ</B> short => sequence number within foreign key
-     * <LI><B>UPDATE_RULE</B> short => What happens to
-     * foreign key when primary is updated:
+     * <LI><B>UPDATE_RULE</B> short => What happens to foreign key when primary is
+     * updated:
      * <UL>
-     * <LI> importedNoAction - do not allow update of primary
-     * key if it has been imported
-     * <LI> importedKeyCascade - change imported key to agree
-     * with primary key update
-     * <LI> importedKeySetNull - change imported key to <code>NULL</code> if
-     * its primary key has been updated
-     * <LI> importedKeySetDefault - change imported key to default values
-     * if its primary key has been updated
-     * <LI> importedKeyRestrict - same as importedKeyNoAction
-     * (for ODBC 2.x compatibility)
+     * <LI>importedNoAction - do not allow update of primary key if it has been
+     * imported
+     * <LI>importedKeyCascade - change imported key to agree with primary key update
+     * <LI>importedKeySetNull - change imported key to <code>NULL</code> if its
+     * primary key has been updated
+     * <LI>importedKeySetDefault - change imported key to default values if its
+     * primary key has been updated
+     * <LI>importedKeyRestrict - same as importedKeyNoAction (for ODBC 2.x
+     * compatibility)
      * </UL>
-     * <LI><B>DELETE_RULE</B> short => What happens to
-     * the foreign key when primary is deleted.
+     * <LI><B>DELETE_RULE</B> short => What happens to the foreign key when primary
+     * is deleted.
      * <UL>
-     * <LI> importedKeyNoAction - do not allow delete of primary
-     * key if it has been imported
-     * <LI> importedKeyCascade - delete rows that import a deleted key
-     * <LI> importedKeySetNull - change imported key to <code>NULL</code> if
-     * its primary key has been deleted
-     * <LI> importedKeyRestrict - same as importedKeyNoAction
-     * (for ODBC 2.x compatibility)
-     * <LI> importedKeySetDefault - change imported key to default if
-     * its primary key has been deleted
+     * <LI>importedKeyNoAction - do not allow delete of primary key if it has been
+     * imported
+     * <LI>importedKeyCascade - delete rows that import a deleted key
+     * <LI>importedKeySetNull - change imported key to <code>NULL</code> if its
+     * primary key has been deleted
+     * <LI>importedKeyRestrict - same as importedKeyNoAction (for ODBC 2.x
+     * compatibility)
+     * <LI>importedKeySetDefault - change imported key to default if its primary key
+     * has been deleted
      * </UL>
      * <LI><B>FK_NAME</B> String => foreign key name (may be <code>null</code>)
      * <LI><B>PK_NAME</B> String => primary key name (may be <code>null</code>)
      * <LI><B>DEFERRABILITY</B> short => can the evaluation of foreign key
      * constraints be deferred until commit
      * <UL>
-     * <LI> importedKeyInitiallyDeferred - see SQL92 for definition
-     * <LI> importedKeyInitiallyImmediate - see SQL92 for definition
-     * <LI> importedKeyNotDeferrable - see SQL92 for definition
+     * <LI>importedKeyInitiallyDeferred - see SQL92 for definition
+     * <LI>importedKeyInitiallyImmediate - see SQL92 for definition
+     * <LI>importedKeyNotDeferrable - see SQL92 for definition
      * </UL>
      * </OL>
      *
-     * @param primaryCatalog a catalog name; must match the catalog name
-     *                       as it is stored in the database; "" retrieves those without a
-     *                       catalog; <code>null</code> means drop catalog name from the selection criteria
-     * @param primarySchema  a schema name; must match the schema name as
-     *                       it is stored in the database; "" retrieves those without a schema;
-     *                       <code>null</code> means drop schema name from the selection criteria
-     * @param primaryTable   the name of the table that exports the key; must match
-     *                       the table name as it is stored in the database
-     * @param foreignCatalog a catalog name; must match the catalog name as
-     *                       it is stored in the database; "" retrieves those without a
-     *                       catalog; <code>null</code> means drop catalog name from the selection criteria
-     * @param foreignSchema  a schema name; must match the schema name as it
-     *                       is stored in the database; "" retrieves those without a schema;
-     *                       <code>null</code> means drop schema name from the selection criteria
-     * @param foreignTable   the name of the table that imports the key; must match
-     *                       the table name as it is stored in the database
+     * @param primaryCatalog a catalog name; must match the catalog name as it is
+     * stored in the database; "" retrieves those without a catalog;
+     * <code>null</code> means drop catalog name from the selection criteria
+     * @param primarySchema a schema name; must match the schema name as it is
+     * stored in the database; "" retrieves those without a schema;
+     * <code>null</code> means drop schema name from the selection criteria
+     * @param primaryTable the name of the table that exports the key; must match
+     * the table name as it is stored in the database
+     * @param foreignCatalog a catalog name; must match the catalog name as it is
+     * stored in the database; "" retrieves those without a catalog;
+     * <code>null</code> means drop catalog name from the selection criteria
+     * @param foreignSchema a schema name; must match the schema name as it is
+     * stored in the database; "" retrieves those without a schema;
+     * <code>null</code> means drop schema name from the selection criteria
+     * @param foreignTable the name of the table that imports the key; must match
+     * the table name as it is stored in the database
      * @return <code>ResultSet</code> - each row is a foreign key column description
      * @throws java.sql.SQLException if a database access error occurs
      * @see #getImportedKeys
      */
     public ResultSet getCrossReference(String primaryCatalog, String primarySchema, String primaryTable,
-                                       String foreignCatalog, String foreignSchema, String foreignTable)
-            throws SQLException {
-        return databaseMetaData.getCrossReference(primaryCatalog, primarySchema, primaryTable,
-                foreignCatalog, foreignSchema, foreignTable);
+            String foreignCatalog, String foreignSchema, String foreignTable) throws SQLException {
+        return databaseMetaData.getCrossReference(primaryCatalog, primarySchema, primaryTable, foreignCatalog,
+                foreignSchema, foreignTable);
     }
 
     /**
-     * Retrieves a description of all the standard SQL types supported by
-     * this database. They are ordered by DATA_TYPE and then by how
-     * closely the data type maps to the corresponding JDBC SQL type.
+     * Retrieves a description of all the standard SQL types supported by this
+     * database. They are ordered by DATA_TYPE and then by how closely the data type
+     * maps to the corresponding JDBC SQL type.
      * <p/>
-     * <P>Each type description has the following columns:
+     * <P>
+     * Each type description has the following columns:
      * <OL>
      * <LI><B>TYPE_NAME</B> String => Type name
      * <LI><B>DATA_TYPE</B> int => SQL data type from java.sql.Types
      * <LI><B>PRECISION</B> int => maximum precision
-     * <LI><B>LITERAL_PREFIX</B> String => prefix used to quote a literal
-     * (may be <code>null</code>)
-     * <LI><B>LITERAL_SUFFIX</B> String => suffix used to quote a literal
-     * (may be <code>null</code>)
-     * <LI><B>CREATE_PARAMS</B> String => parameters used in creating
-     * the type (may be <code>null</code>)
+     * <LI><B>LITERAL_PREFIX</B> String => prefix used to quote a literal (may be
+     * <code>null</code>)
+     * <LI><B>LITERAL_SUFFIX</B> String => suffix used to quote a literal (may be
+     * <code>null</code>)
+     * <LI><B>CREATE_PARAMS</B> String => parameters used in creating the type (may
+     * be <code>null</code>)
      * <LI><B>NULLABLE</B> short => can you use NULL for this type.
      * <UL>
-     * <LI> typeNoNulls - does not allow NULL values
-     * <LI> typeNullable - allows NULL values
-     * <LI> typeNullableUnknown - nullability unknown
+     * <LI>typeNoNulls - does not allow NULL values
+     * <LI>typeNullable - allows NULL values
+     * <LI>typeNullableUnknown - nullability unknown
      * </UL>
      * <LI><B>CASE_SENSITIVE</B> boolean=> is it case sensitive.
      * <LI><B>SEARCHABLE</B> short => can you use "WHERE" based on this type:
      * <UL>
-     * <LI> typePredNone - No support
-     * <LI> typePredChar - Only supported with WHERE .. LIKE
-     * <LI> typePredBasic - Supported except for WHERE .. LIKE
-     * <LI> typeSearchable - Supported for all WHERE ..
+     * <LI>typePredNone - No support
+     * <LI>typePredChar - Only supported with WHERE .. LIKE
+     * <LI>typePredBasic - Supported except for WHERE .. LIKE
+     * <LI>typeSearchable - Supported for all WHERE ..
      * </UL>
      * <LI><B>UNSIGNED_ATTRIBUTE</B> boolean => is it unsigned.
      * <LI><B>FIXED_PREC_SCALE</B> boolean => can it be a money value.
-     * <LI><B>AUTO_INCREMENT</B> boolean => can it be used for an
-     * auto-increment value.
-     * <LI><B>LOCAL_TYPE_NAME</B> String => localized version of type name
-     * (may be <code>null</code>)
+     * <LI><B>AUTO_INCREMENT</B> boolean => can it be used for an auto-increment
+     * value.
+     * <LI><B>LOCAL_TYPE_NAME</B> String => localized version of type name (may be
+     * <code>null</code>)
      * <LI><B>MINIMUM_SCALE</B> short => minimum scale supported
      * <LI><B>MAXIMUM_SCALE</B> short => maximum scale supported
      * <LI><B>SQL_DATA_TYPE</B> int => unused
@@ -2174,8 +2143,8 @@
      * <LI><B>NUM_PREC_RADIX</B> int => usually 2 or 10
      * </OL>
      *
-     * @return a <code>ResultSet</code> object in which each row is an SQL
-     *         type description
+     * @return a <code>ResultSet</code> object in which each row is an SQL type
+     * description
      * @throws java.sql.SQLException if a database access error occurs
      */
     public ResultSet getTypeInfo() throws SQLException {
@@ -2186,62 +2155,60 @@
      * Retrieves a description of the given table's indices and statistics. They are
      * ordered by NON_UNIQUE, TYPE, INDEX_NAME, and ORDINAL_POSITION.
      * <p/>
-     * <P>Each index column description has the following columns:
+     * <P>
+     * Each index column description has the following columns:
      * <OL>
      * <LI><B>TABLE_CAT</B> String => table catalog (may be <code>null</code>)
      * <LI><B>TABLE_SCHEM</B> String => table schema (may be <code>null</code>)
      * <LI><B>TABLE_NAME</B> String => table name
-     * <LI><B>NON_UNIQUE</B> boolean => Can index values be non-unique.
-     * false when TYPE is tableIndexStatistic
-     * <LI><B>INDEX_QUALIFIER</B> String => index catalog (may be <code>null</code>);
-     * <code>null</code> when TYPE is tableIndexStatistic
+     * <LI><B>NON_UNIQUE</B> boolean => Can index values be non-unique. false when
+     * TYPE is tableIndexStatistic
+     * <LI><B>INDEX_QUALIFIER</B> String => index catalog (may be
+     * <code>null</code>); <code>null</code> when TYPE is tableIndexStatistic
      * <LI><B>INDEX_NAME</B> String => index name; <code>null</code> when TYPE is
      * tableIndexStatistic
      * <LI><B>TYPE</B> short => index type:
      * <UL>
-     * <LI> tableIndexStatistic - this identifies table statistics that are
-     * returned in conjuction with a table's index descriptions
-     * <LI> tableIndexClustered - this is a clustered index
-     * <LI> tableIndexHashed - this is a hashed index
-     * <LI> tableIndexOther - this is some other style of index
+     * <LI>tableIndexStatistic - this identifies table statistics that are returned
+     * in conjuction with a table's index descriptions
+     * <LI>tableIndexClustered - this is a clustered index
+     * <LI>tableIndexHashed - this is a hashed index
+     * <LI>tableIndexOther - this is some other style of index
      * </UL>
-     * <LI><B>ORDINAL_POSITION</B> short => column sequence number
-     * within index; zero when TYPE is tableIndexStatistic
+     * <LI><B>ORDINAL_POSITION</B> short => column sequence number within index;
+     * zero when TYPE is tableIndexStatistic
      * <LI><B>COLUMN_NAME</B> String => column name; <code>null</code> when TYPE is
      * tableIndexStatistic
-     * <LI><B>ASC_OR_DESC</B> String => column sort sequence, "A" => ascending,
-     * "D" => descending, may be <code>null</code> if sort sequence is not supported;
+     * <LI><B>ASC_OR_DESC</B> String => column sort sequence, "A" => ascending, "D"
+     * => descending, may be <code>null</code> if sort sequence is not supported;
      * <code>null</code> when TYPE is tableIndexStatistic
-     * <LI><B>CARDINALITY</B> int => When TYPE is tableIndexStatistic, then
-     * this is the number of rows in the table; otherwise, it is the
-     * number of unique values in the index.
-     * <LI><B>PAGES</B> int => When TYPE is  tableIndexStatisic then
-     * this is the number of pages used for the table, otherwise it
-     * is the number of pages used for the current index.
-     * <LI><B>FILTER_CONDITION</B> String => Filter condition, if any.
-     * (may be <code>null</code>)
+     * <LI><B>CARDINALITY</B> int => When TYPE is tableIndexStatistic, then this is
+     * the number of rows in the table; otherwise, it is the number of unique values
+     * in the index.
+     * <LI><B>PAGES</B> int => When TYPE is tableIndexStatisic then this is the
+     * number of pages used for the table, otherwise it is the number of pages used
+     * for the current index.
+     * <LI><B>FILTER_CONDITION</B> String => Filter condition, if any. (may be
+     * <code>null</code>)
      * </OL>
      *
-     * @param catalog     a catalog name; must match the catalog name as it
-     *                    is stored in this database; "" retrieves those without a catalog;
-     *                    <code>null</code> means that the catalog name should not be used to narrow
-     *                    the search
-     * @param schema      a schema name; must match the schema name
-     *                    as it is stored in this database; "" retrieves those without a schema;
-     *                    <code>null</code> means that the schema name should not be used to narrow
-     *                    the search
-     * @param table       a table name; must match the table name as it is stored
-     *                    in this database
-     * @param unique      when true, return only indices for unique values;
-     *                    when false, return indices regardless of whether unique or not
-     * @param approximate when true, result is allowed to reflect approximate
-     *                    or out of data values; when false, results are requested to be
-     *                    accurate
+     * @param catalog a catalog name; must match the catalog name as it is stored in
+     * this database; "" retrieves those without a catalog; <code>null</code> means
+     * that the catalog name should not be used to narrow the search
+     * @param schema a schema name; must match the schema name as it is stored in
+     * this database; "" retrieves those without a schema; <code>null</code> means
+     * that the schema name should not be used to narrow the search
+     * @param table a table name; must match the table name as it is stored in this
+     * database
+     * @param unique when true, return only indices for unique values; when false,
+     * return indices regardless of whether unique or not
+     * @param approximate when true, result is allowed to reflect approximate or out
+     * of data values; when false, results are requested to be accurate
      * @return <code>ResultSet</code> - each row is an index column description
      * @throws java.sql.SQLException if a database access error occurs
      */
-    public ResultSet getIndexInfo(String catalog, String schema, String table, boolean unique,
-                                  boolean approximate) throws SQLException {
+    public ResultSet getIndexInfo(String catalog, String schema, String table, boolean unique, boolean approximate)
+            throws SQLException {
         return databaseMetaData.getIndexInfo(catalog, schema, table, unique, approximate);
     }
 
@@ -2259,10 +2226,10 @@
     }
 
     /**
-     * Retrieves whether this database supports the given concurrency type
-     * in combination with the given result set type.
+     * Retrieves whether this database supports the given concurrency type in
+     * combination with the given result set type.
      *
-     * @param type        defined in <code>java.sql.ResultSet</code>
+     * @param type defined in <code>java.sql.ResultSet</code>
      * @param concurrency type defined in <code>java.sql.ResultSet</code>
      * @return <code>true</code> if so; <code>false</code> otherwise
      * @throws java.sql.SQLException if a database access error occurs
@@ -2274,15 +2241,15 @@
     }
 
     /**
-     * Retrieves whether for the given type of <code>ResultSet</code> object,
-     * the result set's own updates are visible.
+     * Retrieves whether for the given type of <code>ResultSet</code> object, the
+     * result set's own updates are visible.
      *
      * @param type the <code>ResultSet</code> type; one of
-     *             <code>ResultSet.TYPE_FORWARD_ONLY</code>,
-     *             <code>ResultSet.TYPE_SCROLL_INSENSITIVE</code>, or
-     *             <code>ResultSet.TYPE_SCROLL_SENSITIVE</code>
-     * @return <code>true</code> if updates are visible for the given result set type;
-     *         <code>false</code> otherwise
+     * <code>ResultSet.TYPE_FORWARD_ONLY</code>,
+     * <code>ResultSet.TYPE_SCROLL_INSENSITIVE</code>, or
+     * <code>ResultSet.TYPE_SCROLL_SENSITIVE</code>
+     * @return <code>true</code> if updates are visible for the given result set
+     * type; <code>false</code> otherwise
      * @throws java.sql.SQLException if a database access error occurs
      * @since 1.2
      */
@@ -2294,11 +2261,11 @@
      * Retrieves whether a result set's own deletes are visible.
      *
      * @param type the <code>ResultSet</code> type; one of
-     *             <code>ResultSet.TYPE_FORWARD_ONLY</code>,
-     *             <code>ResultSet.TYPE_SCROLL_INSENSITIVE</code>, or
-     *             <code>ResultSet.TYPE_SCROLL_SENSITIVE</code>
-     * @return <code>true</code> if deletes are visible for the given result set type;
-     *         <code>false</code> otherwise
+     * <code>ResultSet.TYPE_FORWARD_ONLY</code>,
+     * <code>ResultSet.TYPE_SCROLL_INSENSITIVE</code>, or
+     * <code>ResultSet.TYPE_SCROLL_SENSITIVE</code>
+     * @return <code>true</code> if deletes are visible for the given result set
+     * type; <code>false</code> otherwise
      * @throws java.sql.SQLException if a database access error occurs
      * @since 1.2
      */
@@ -2310,11 +2277,11 @@
      * Retrieves whether a result set's own inserts are visible.
      *
      * @param type the <code>ResultSet</code> type; one of
-     *             <code>ResultSet.TYPE_FORWARD_ONLY</code>,
-     *             <code>ResultSet.TYPE_SCROLL_INSENSITIVE</code>, or
-     *             <code>ResultSet.TYPE_SCROLL_SENSITIVE</code>
-     * @return <code>true</code> if inserts are visible for the given result set type;
-     *         <code>false</code> otherwise
+     * <code>ResultSet.TYPE_FORWARD_ONLY</code>,
+     * <code>ResultSet.TYPE_SCROLL_INSENSITIVE</code>, or
+     * <code>ResultSet.TYPE_SCROLL_SENSITIVE</code>
+     * @return <code>true</code> if inserts are visible for the given result set
+     * type; <code>false</code> otherwise
      * @throws java.sql.SQLException if a database access error occurs
      * @since 1.2
      */
@@ -2326,12 +2293,11 @@
      * Retrieves whether updates made by others are visible.
      *
      * @param type the <code>ResultSet</code> type; one of
-     *             <code>ResultSet.TYPE_FORWARD_ONLY</code>,
-     *             <code>ResultSet.TYPE_SCROLL_INSENSITIVE</code>, or
-     *             <code>ResultSet.TYPE_SCROLL_SENSITIVE</code>
-     * @return <code>true</code> if updates made by others
-     *         are visible for the given result set type;
-     *         <code>false</code> otherwise
+     * <code>ResultSet.TYPE_FORWARD_ONLY</code>,
+     * <code>ResultSet.TYPE_SCROLL_INSENSITIVE</code>, or
+     * <code>ResultSet.TYPE_SCROLL_SENSITIVE</code>
+     * @return <code>true</code> if updates made by others are visible for the given
+     * result set type; <code>false</code> otherwise
      * @throws java.sql.SQLException if a database access error occurs
      * @since 1.2
      */
@@ -2343,12 +2309,11 @@
      * Retrieves whether deletes made by others are visible.
      *
      * @param type the <code>ResultSet</code> type; one of
-     *             <code>ResultSet.TYPE_FORWARD_ONLY</code>,
-     *             <code>ResultSet.TYPE_SCROLL_INSENSITIVE</code>, or
-     *             <code>ResultSet.TYPE_SCROLL_SENSITIVE</code>
-     * @return <code>true</code> if deletes made by others
-     *         are visible for the given result set type;
-     *         <code>false</code> otherwise
+     * <code>ResultSet.TYPE_FORWARD_ONLY</code>,
+     * <code>ResultSet.TYPE_SCROLL_INSENSITIVE</code>, or
+     * <code>ResultSet.TYPE_SCROLL_SENSITIVE</code>
+     * @return <code>true</code> if deletes made by others are visible for the given
+     * result set type; <code>false</code> otherwise
      * @throws java.sql.SQLException if a database access error occurs
      * @since 1.2
      */
@@ -2360,12 +2325,11 @@
      * Retrieves whether inserts made by others are visible.
      *
      * @param type the <code>ResultSet</code> type; one of
-     *             <code>ResultSet.TYPE_FORWARD_ONLY</code>,
-     *             <code>ResultSet.TYPE_SCROLL_INSENSITIVE</code>, or
-     *             <code>ResultSet.TYPE_SCROLL_SENSITIVE</code>
-     * @return <code>true</code> if inserts made by others
-     *         are visible for the given result set type;
-     *         <code>false</code> otherwise
+     * <code>ResultSet.TYPE_FORWARD_ONLY</code>,
+     * <code>ResultSet.TYPE_SCROLL_INSENSITIVE</code>, or
+     * <code>ResultSet.TYPE_SCROLL_SENSITIVE</code>
+     * @return <code>true</code> if inserts made by others are visible for the given
+     * result set type; <code>false</code> otherwise
      * @throws java.sql.SQLException if a database access error occurs
      * @since 1.2
      */
@@ -2374,15 +2338,15 @@
     }
 
     /**
-     * Retrieves whether or not a visible row update can be detected by
-     * calling the method <code>ResultSet.rowUpdated</code>.
+     * Retrieves whether or not a visible row update can be detected by calling the
+     * method <code>ResultSet.rowUpdated</code>.
      *
      * @param type the <code>ResultSet</code> type; one of
-     *             <code>ResultSet.TYPE_FORWARD_ONLY</code>,
-     *             <code>ResultSet.TYPE_SCROLL_INSENSITIVE</code>, or
-     *             <code>ResultSet.TYPE_SCROLL_SENSITIVE</code>
+     * <code>ResultSet.TYPE_FORWARD_ONLY</code>,
+     * <code>ResultSet.TYPE_SCROLL_INSENSITIVE</code>, or
+     * <code>ResultSet.TYPE_SCROLL_SENSITIVE</code>
      * @return <code>true</code> if changes are detected by the result set type;
-     *         <code>false</code> otherwise
+     * <code>false</code> otherwise
      * @throws java.sql.SQLException if a database access error occurs
      * @since 1.2
      */
@@ -2391,17 +2355,17 @@
     }
 
     /**
-     * Retrieves whether or not a visible row delete can be detected by
-     * calling the method <code>ResultSet.rowDeleted</code>.  If the method
+     * Retrieves whether or not a visible row delete can be detected by calling the
+     * method <code>ResultSet.rowDeleted</code>. If the method
      * <code>deletesAreDetected</code> returns <code>false</code>, it means that
      * deleted rows are removed from the result set.
      *
      * @param type the <code>ResultSet</code> type; one of
-     *             <code>ResultSet.TYPE_FORWARD_ONLY</code>,
-     *             <code>ResultSet.TYPE_SCROLL_INSENSITIVE</code>, or
-     *             <code>ResultSet.TYPE_SCROLL_SENSITIVE</code>
-     * @return <code>true</code> if deletes are detected by the given result set type;
-     *         <code>false</code> otherwise
+     * <code>ResultSet.TYPE_FORWARD_ONLY</code>,
+     * <code>ResultSet.TYPE_SCROLL_INSENSITIVE</code>, or
+     * <code>ResultSet.TYPE_SCROLL_SENSITIVE</code>
+     * @return <code>true</code> if deletes are detected by the given result set
+     * type; <code>false</code> otherwise
      * @throws java.sql.SQLException if a database access error occurs
      * @since 1.2
      */
@@ -2410,15 +2374,15 @@
     }
 
     /**
-     * Retrieves whether or not a visible row insert can be detected
-     * by calling the method <code>ResultSet.rowInserted</code>.
+     * Retrieves whether or not a visible row insert can be detected by calling the
+     * method <code>ResultSet.rowInserted</code>.
      *
      * @param type the <code>ResultSet</code> type; one of
-     *             <code>ResultSet.TYPE_FORWARD_ONLY</code>,
-     *             <code>ResultSet.TYPE_SCROLL_INSENSITIVE</code>, or
-     *             <code>ResultSet.TYPE_SCROLL_SENSITIVE</code>
-     * @return <code>true</code> if changes are detected by the specified result
-     *         set type; <code>false</code> otherwise
+     * <code>ResultSet.TYPE_FORWARD_ONLY</code>,
+     * <code>ResultSet.TYPE_SCROLL_INSENSITIVE</code>, or
+     * <code>ResultSet.TYPE_SCROLL_SENSITIVE</code>
+     * @return <code>true</code> if changes are detected by the specified result set
+     * type; <code>false</code> otherwise
      * @throws java.sql.SQLException if a database access error occurs
      * @since 1.2
      */
@@ -2430,7 +2394,7 @@
      * Retrieves whether this database supports batch updates.
      *
      * @return <code>true</code> if this database supports batch upcates;
-     *         <code>false</code> otherwise
+     * <code>false</code> otherwise
      * @throws java.sql.SQLException if a database access error occurs
      * @since 1.2
      */
@@ -2439,53 +2403,54 @@
     }
 
     /**
-     * Retrieves a description of the user-defined types (UDTs) defined
-     * in a particular schema.  Schema-specific UDTs may have type
-     * <code>JAVA_OBJECT</code>, <code>STRUCT</code>,
-     * or <code>DISTINCT</code>.
+     * Retrieves a description of the user-defined types (UDTs) defined in a
+     * particular schema. Schema-specific UDTs may have type
+     * <code>JAVA_OBJECT</code>, <code>STRUCT</code>, or <code>DISTINCT</code>.
      * <p/>
-     * <P>Only types matching the catalog, schema, type name and type
-     * criteria are returned.  They are ordered by DATA_TYPE, TYPE_SCHEM
-     * and TYPE_NAME.  The type name parameter may be a fully-qualified
-     * name.  In this case, the catalog and schemaPattern parameters are
-     * ignored.
+     * <P>
+     * Only types matching the catalog, schema, type name and type criteria are
+     * returned. They are ordered by DATA_TYPE, TYPE_SCHEM and TYPE_NAME. The type
+     * name parameter may be a fully-qualified name. In this case, the catalog and
+     * schemaPattern parameters are ignored.
      * <p/>
-     * <P>Each type description has the following columns:
+     * <P>
+     * Each type description has the following columns:
      * <OL>
      * <LI><B>TYPE_CAT</B> String => the type's catalog (may be <code>null</code>)
      * <LI><B>TYPE_SCHEM</B> String => type's schema (may be <code>null</code>)
      * <LI><B>TYPE_NAME</B> String => type name
      * <LI><B>CLASS_NAME</B> String => Java class name
-     * <LI><B>DATA_TYPE</B> int => type value defined in java.sql.Types.
-     * One of JAVA_OBJECT, STRUCT, or DISTINCT
+     * <LI><B>DATA_TYPE</B> int => type value defined in java.sql.Types. One of
+     * JAVA_OBJECT, STRUCT, or DISTINCT
      * <LI><B>REMARKS</B> String => explanatory comment on the type
-     * <LI><B>BASE_TYPE</B> short => type code of the source type of a
-     * DISTINCT type or the type that implements the user-generated
-     * reference type of the SELF_REFERENCING_COLUMN of a structured
-     * type as defined in java.sql.Types (<code>null</code> if DATA_TYPE is not
-     * DISTINCT or not STRUCT with REFERENCE_GENERATION = USER_DEFINED)
+     * <LI><B>BASE_TYPE</B> short => type code of the source type of a DISTINCT type
+     * or the type that implements the user-generated reference type of the
+     * SELF_REFERENCING_COLUMN of a structured type as defined in java.sql.Types
+     * (<code>null</code> if DATA_TYPE is not DISTINCT or not STRUCT with
+     * REFERENCE_GENERATION = USER_DEFINED)
      * </OL>
      * <p/>
-     * <P><B>Note:</B> If the driver does not support UDTs, an empty
-     * result set is returned.
+     * <P>
+     * <B>Note:</B> If the driver does not support UDTs, an empty result set is
+     * returned.
      *
-     * @param catalog         a catalog name; must match the catalog name as it
-     *                        is stored in the database; "" retrieves those without a catalog;
-     *                        <code>null</code> means that the catalog name should not be used to narrow
-     *                        the search
-     * @param schemaPattern   a schema pattern name; must match the schema name
-     *                        as it is stored in the database; "" retrieves those without a schema;
-     *                        <code>null</code> means that the schema name should not be used to narrow
-     *                        the search
-     * @param typeNamePattern a type name pattern; must match the type name
-     *                        as it is stored in the database; may be a fully qualified name
-     * @param types           a list of user-defined types (JAVA_OBJECT,
-     *                        STRUCT, or DISTINCT) to include; <code>null</code> returns all types
+     * @param catalog a catalog name; must match the catalog name as it is stored in
+     * the database; "" retrieves those without a catalog; <code>null</code> means
+     * that the catalog name should not be used to narrow the search
+     * @param schemaPattern a schema pattern name; must match the schema name as it
+     * is stored in the database; "" retrieves those without a schema;
+     * <code>null</code> means that the schema name should not be used to narrow the
+     * search
+     * @param typeNamePattern a type name pattern; must match the type name as it is
+     * stored in the database; may be a fully qualified name
+     * @param types a list of user-defined types (JAVA_OBJECT, STRUCT, or DISTINCT)
+     * to include; <code>null</code> returns all types
      * @return <code>ResultSet</code> object in which each row describes a UDT
      * @throws java.sql.SQLException if a database access error occurs
      * @since 1.2
      */
-    public ResultSet getUDTs(String catalog, String schemaPattern, String typeNamePattern, int[] types) throws SQLException {
+    public ResultSet getUDTs(String catalog, String schemaPattern, String typeNamePattern, int[] types)
+            throws SQLException {
         return databaseMetaData.getUDTs(catalog, schemaPattern, typeNamePattern, types);
     }
 
@@ -2514,8 +2479,8 @@
     /**
      * Retrieves whether this database supports savepoints.
      *
-     * @return <code>true</code> if savepoints are supported;
-     *         <code>false</code> otherwise
+     * @return <code>true</code> if savepoints are supported; <code>false</code>
+     * otherwise
      * @throws java.sql.SQLException if a database access error occurs
      * @since 1.4
      */
@@ -2528,7 +2493,7 @@
      * statements.
      *
      * @return <code>true</code> if named parameters are supported;
-     *         <code>false</code> otherwise
+     * <code>false</code> otherwise
      * @throws java.sql.SQLException if a database access error occurs
      * @since 1.4
      */
@@ -2537,13 +2502,12 @@
     }
 
     /**
-     * Retrieves whether it is possible to have multiple <code>ResultSet</code> objects
-     * returned from a <code>CallableStatement</code> object
-     * simultaneously.
+     * Retrieves whether it is possible to have multiple <code>ResultSet</code>
+     * objects returned from a <code>CallableStatement</code> object simultaneously.
      *
-     * @return <code>true</code> if a <code>CallableStatement</code> object
-     *         can return multiple <code>ResultSet</code> objects
-     *         simultaneously; <code>false</code> otherwise
+     * @return <code>true</code> if a <code>CallableStatement</code> object can
+     * return multiple <code>ResultSet</code> objects simultaneously;
+     * <code>false</code> otherwise
      * @throws java.sql.SQLException if a datanase access error occurs
      * @since 1.4
      */
@@ -2552,11 +2516,11 @@
     }
 
     /**
-     * Retrieves whether auto-generated keys can be retrieved after
-     * a statement has been executed.
+     * Retrieves whether auto-generated keys can be retrieved after a statement has
+     * been executed.
      *
-     * @return <code>true</code> if auto-generated keys can be retrieved
-     *         after a statement has executed; <code>false</code> otherwise
+     * @return <code>true</code> if auto-generated keys can be retrieved after a
+     * statement has executed; <code>false</code> otherwise
      * @throws java.sql.SQLException if a database access error occurs
      * @since 1.4
      */
@@ -2565,42 +2529,40 @@
     }
 
     /**
-     * Retrieves a description of the user-defined type (UDT) hierarchies defined in a
-     * particular schema in this database. Only the immediate super type/
-     * sub type relationship is modeled.
+     * Retrieves a description of the user-defined type (UDT) hierarchies defined in
+     * a particular schema in this database. Only the immediate super type/ sub type
+     * relationship is modeled.
      * <p/>
-     * Only supertype information for UDTs matching the catalog,
-     * schema, and type name is returned. The type name parameter
-     * may be a fully-qualified name. When the UDT name supplied is a
-     * fully-qualified name, the catalog and schemaPattern parameters are
-     * ignored.
+     * Only supertype information for UDTs matching the catalog, schema, and type
+     * name is returned. The type name parameter may be a fully-qualified name. When
+     * the UDT name supplied is a fully-qualified name, the catalog and
+     * schemaPattern parameters are ignored.
      * <p/>
-     * If a UDT does not have a direct super type, it is not listed here.
-     * A row of the <code>ResultSet</code> object returned by this method
-     * describes the designated UDT and a direct supertype. A row has the following
-     * columns:
+     * If a UDT does not have a direct super type, it is not listed here. A row of
+     * the <code>ResultSet</code> object returned by this method describes the
+     * designated UDT and a direct supertype. A row has the following columns:
      * <OL>
      * <LI><B>TYPE_CAT</B> String => the UDT's catalog (may be <code>null</code>)
      * <LI><B>TYPE_SCHEM</B> String => UDT's schema (may be <code>null</code>)
      * <LI><B>TYPE_NAME</B> String => type name of the UDT
-     * <LI><B>SUPERTYPE_CAT</B> String => the direct super type's catalog
-     * (may be <code>null</code>)
-     * <LI><B>SUPERTYPE_SCHEM</B> String => the direct super type's schema
-     * (may be <code>null</code>)
+     * <LI><B>SUPERTYPE_CAT</B> String => the direct super type's catalog (may be
+     * <code>null</code>)
+     * <LI><B>SUPERTYPE_SCHEM</B> String => the direct super type's schema (may be
+     * <code>null</code>)
      * <LI><B>SUPERTYPE_NAME</B> String => the direct super type's name
      * </OL>
      * <p/>
-     * <P><B>Note:</B> If the driver does not support type hierarchies, an
-     * empty result set is returned.
+     * <P>
+     * <B>Note:</B> If the driver does not support type hierarchies, an empty result
+     * set is returned.
      *
-     * @param catalog         a catalog name; "" retrieves those without a catalog;
-     *                        <code>null</code> means drop catalog name from the selection criteria
-     * @param schemaPattern   a schema name pattern; "" retrieves those
-     *                        without a schema
-     * @param typeNamePattern a UDT name pattern; may be a fully-qualified
-     *                        name
+     * @param catalog a catalog name; "" retrieves those without a catalog;
+     * <code>null</code> means drop catalog name from the selection criteria
+     * @param schemaPattern a schema name pattern; "" retrieves those without a
+     * schema
+     * @param typeNamePattern a UDT name pattern; may be a fully-qualified name
      * @return a <code>ResultSet</code> object in which a row gives information
-     *         about the designated UDT
+     * about the designated UDT
      * @throws java.sql.SQLException if a database access error occurs
      * @since 1.4
      */
@@ -2612,15 +2574,17 @@
      * Retrieves a description of the table hierarchies defined in a particular
      * schema in this database.
      * <p/>
-     * <P>Only supertable information for tables matching the catalog, schema
-     * and table name are returned. The table name parameter may be a fully-
-     * qualified name, in which case, the catalog and schemaPattern parameters
-     * are ignored. If a table does not have a super table, it is not listed here.
-     * Supertables have to be defined in the same catalog and schema as the
-     * sub tables. Therefore, the type description does not need to include
-     * this information for the supertable.
+     * <P>
+     * Only supertable information for tables matching the catalog, schema and table
+     * name are returned. The table name parameter may be a fully- qualified name,
+     * in which case, the catalog and schemaPattern parameters are ignored. If a
+     * table does not have a super table, it is not listed here. Supertables have to
+     * be defined in the same catalog and schema as the sub tables. Therefore, the
+     * type description does not need to include this information for the
+     * supertable.
      * <p/>
-     * <P>Each type description has the following columns:
+     * <P>
+     * Each type description has the following columns:
      * <OL>
      * <LI><B>TABLE_CAT</B> String => the type's catalog (may be <code>null</code>)
      * <LI><B>TABLE_SCHEM</B> String => type's schema (may be <code>null</code>)
@@ -2628,16 +2592,17 @@
      * <LI><B>SUPERTABLE_NAME</B> String => the direct super type's name
      * </OL>
      * <p/>
-     * <P><B>Note:</B> If the driver does not support type hierarchies, an
-     * empty result set is returned.
+     * <P>
+     * <B>Note:</B> If the driver does not support type hierarchies, an empty result
+     * set is returned.
      *
-     * @param catalog          a catalog name; "" retrieves those without a catalog;
-     *                         <code>null</code> means drop catalog name from the selection criteria
-     * @param schemaPattern    a schema name pattern; "" retrieves those
-     *                         without a schema
-     * @param tableNamePattern a table name pattern; may be a fully-qualified
-     *                         name
-     * @return a <code>ResultSet</code> object in which each row is a type description
+     * @param catalog a catalog name; "" retrieves those without a catalog;
+     * <code>null</code> means drop catalog name from the selection criteria
+     * @param schemaPattern a schema name pattern; "" retrieves those without a
+     * schema
+     * @param tableNamePattern a table name pattern; may be a fully-qualified name
+     * @return a <code>ResultSet</code> object in which each row is a type
+     * description
      * @throws java.sql.SQLException if a database access error occurs
      * @since 1.4
      */
@@ -2646,78 +2611,74 @@
     }
 
     /**
-     * Retrieves a description of the given attribute of the given type
-     * for a user-defined type (UDT) that is available in the given schema
-     * and catalog.
+     * Retrieves a description of the given attribute of the given type for a
+     * user-defined type (UDT) that is available in the given schema and catalog.
      * <p/>
-     * Descriptions are returned only for attributes of UDTs matching the
-     * catalog, schema, type, and attribute name criteria. They are ordered by
-     * TYPE_SCHEM, TYPE_NAME and ORDINAL_POSITION. This description
-     * does not contain inherited attributes.
+     * Descriptions are returned only for attributes of UDTs matching the catalog,
+     * schema, type, and attribute name criteria. They are ordered by TYPE_SCHEM,
+     * TYPE_NAME and ORDINAL_POSITION. This description does not contain inherited
+     * attributes.
      * <p/>
-     * The <code>ResultSet</code> object that is returned has the following
-     * columns:
+     * The <code>ResultSet</code> object that is returned has the following columns:
      * <OL>
      * <LI><B>TYPE_CAT</B> String => type catalog (may be <code>null</code>)
      * <LI><B>TYPE_SCHEM</B> String => type schema (may be <code>null</code>)
      * <LI><B>TYPE_NAME</B> String => type name
      * <LI><B>ATTR_NAME</B> String => attribute name
      * <LI><B>DATA_TYPE</B> int => attribute type SQL type from java.sql.Types
-     * <LI><B>ATTR_TYPE_NAME</B> String => Data source dependent type name.
-     * For a UDT, the type name is fully qualified. For a REF, the type name is
-     * fully qualified and represents the target type of the reference type.
-     * <LI><B>ATTR_SIZE</B> int => column size.  For char or date
-     * types this is the maximum number of characters; for numeric or
-     * decimal types this is precision.
+     * <LI><B>ATTR_TYPE_NAME</B> String => Data source dependent type name. For a
+     * UDT, the type name is fully qualified. For a REF, the type name is fully
+     * qualified and represents the target type of the reference type.
+     * <LI><B>ATTR_SIZE</B> int => column size. For char or date types this is the
+     * maximum number of characters; for numeric or decimal types this is precision.
      * <LI><B>DECIMAL_DIGITS</B> int => the number of fractional digits
      * <LI><B>NUM_PREC_RADIX</B> int => Radix (typically either 10 or 2)
      * <LI><B>NULLABLE</B> int => whether NULL is allowed
      * <UL>
-     * <LI> attributeNoNulls - might not allow NULL values
-     * <LI> attributeNullable - definitely allows NULL values
-     * <LI> attributeNullableUnknown - nullability unknown
+     * <LI>attributeNoNulls - might not allow NULL values
+     * <LI>attributeNullable - definitely allows NULL values
+     * <LI>attributeNullableUnknown - nullability unknown
      * </UL>
-     * <LI><B>REMARKS</B> String => comment describing column (may be <code>null</code>)
+     * <LI><B>REMARKS</B> String => comment describing column (may be
+     * <code>null</code>)
      * <LI><B>ATTR_DEF</B> String => default value (may be <code>null</code>)
      * <LI><B>SQL_DATA_TYPE</B> int => unused
      * <LI><B>SQL_DATETIME_SUB</B> int => unused
-     * <LI><B>CHAR_OCTET_LENGTH</B> int => for char types the
-     * maximum number of bytes in the column
-     * <LI><B>ORDINAL_POSITION</B> int    => index of column in table
-     * (starting at 1)
-     * <LI><B>IS_NULLABLE</B> String => "NO" means column definitely
-     * does not allow NULL values; "YES" means the column might
-     * allow NULL values.  An empty string means unknown.
-     * <LI><B>SCOPE_CATALOG</B> String => catalog of table that is the
-     * scope of a reference attribute (<code>null</code> if DATA_TYPE isn't REF)
-     * <LI><B>SCOPE_SCHEMA</B> String => schema of table that is the
-     * scope of a reference attribute (<code>null</code> if DATA_TYPE isn't REF)
-     * <LI><B>SCOPE_TABLE</B> String => table name that is the scope of a
-     * reference attribute (<code>null</code> if the DATA_TYPE isn't REF)
-     * <LI><B>SOURCE_DATA_TYPE</B> short => source type of a distinct type or user-generated
-     * Ref type,SQL type from java.sql.Types (<code>null</code> if DATA_TYPE
-     * isn't DISTINCT or user-generated REF)
+     * <LI><B>CHAR_OCTET_LENGTH</B> int => for char types the maximum number of
+     * bytes in the column
+     * <LI><B>ORDINAL_POSITION</B> int => index of column in table (starting at 1)
+     * <LI><B>IS_NULLABLE</B> String => "NO" means column definitely does not allow
+     * NULL values; "YES" means the column might allow NULL values. An empty string
+     * means unknown.
+     * <LI><B>SCOPE_CATALOG</B> String => catalog of table that is the scope of a
+     * reference attribute (<code>null</code> if DATA_TYPE isn't REF)
+     * <LI><B>SCOPE_SCHEMA</B> String => schema of table that is the scope of a
+     * reference attribute (<code>null</code> if DATA_TYPE isn't REF)
+     * <LI><B>SCOPE_TABLE</B> String => table name that is the scope of a reference
+     * attribute (<code>null</code> if the DATA_TYPE isn't REF)
+     * <LI><B>SOURCE_DATA_TYPE</B> short => source type of a distinct type or
+     * user-generated Ref type,SQL type from java.sql.Types (<code>null</code> if
+     * DATA_TYPE isn't DISTINCT or user-generated REF)
      * </OL>
      *
-     * @param catalog              a catalog name; must match the catalog name as it
-     *                             is stored in the database; "" retrieves those without a catalog;
-     *                             <code>null</code> means that the catalog name should not be used to narrow
-     *                             the search
-     * @param schemaPattern        a schema name pattern; must match the schema name
-     *                             as it is stored in the database; "" retrieves those without a schema;
-     *                             <code>null</code> means that the schema name should not be used to narrow
-     *                             the search
-     * @param typeNamePattern      a type name pattern; must match the
-     *                             type name as it is stored in the database
-     * @param attributeNamePattern an attribute name pattern; must match the attribute
-     *                             name as it is declared in the database
-     * @return a <code>ResultSet</code> object in which each row is an
-     *         attribute description
+     * @param catalog a catalog name; must match the catalog name as it is stored in
+     * the database; "" retrieves those without a catalog; <code>null</code> means
+     * that the catalog name should not be used to narrow the search
+     * @param schemaPattern a schema name pattern; must match the schema name as it
+     * is stored in the database; "" retrieves those without a schema;
+     * <code>null</code> means that the schema name should not be used to narrow the
+     * search
+     * @param typeNamePattern a type name pattern; must match the type name as it is
+     * stored in the database
+     * @param attributeNamePattern an attribute name pattern; must match the
+     * attribute name as it is declared in the database
+     * @return a <code>ResultSet</code> object in which each row is an attribute
+     * description
      * @throws java.sql.SQLException if a database access error occurs
      * @since 1.4
      */
     public ResultSet getAttributes(String catalog, String schemaPattern, String typeNamePattern,
-                                   String attributeNamePattern) throws SQLException {
+            String attributeNamePattern) throws SQLException {
         return databaseMetaData.getAttributes(catalog, schemaPattern, typeNamePattern, attributeNamePattern);
     }
 
@@ -2725,9 +2686,9 @@
      * Retrieves whether this database supports the given result set holdability.
      *
      * @param holdability one of the following constants:
-     *                    <code>ResultSet.HOLD_CURSORS_OVER_COMMIT</code> or
-     *                    <code>ResultSet.CLOSE_CURSORS_AT_COMMIT<code>
-     * @return <code>true</code> if so; <code>false</code> otherwise
+     * <code>ResultSet.HOLD_CURSORS_OVER_COMMIT</code> or
+     * <code>ResultSet.CLOSE_CURSORS_AT_COMMIT<code>
+     * &#64;return <code>true</code> if so; <code>false</code> otherwise
      * @throws java.sql.SQLException if a database access error occurs
      * @see java.sql.Connection
      * @since 1.4
@@ -2737,12 +2698,11 @@
     }
 
     /**
-     * Retrieves the default holdability of this <code>ResultSet</code>
-     * object.
+     * Retrieves the default holdability of this <code>ResultSet</code> object.
      *
      * @return the default holdability; either
-     *         <code>ResultSet.HOLD_CURSORS_OVER_COMMIT</code> or
-     *         <code>ResultSet.CLOSE_CURSORS_AT_COMMIT</code>
+     * <code>ResultSet.HOLD_CURSORS_OVER_COMMIT</code> or
+     * <code>ResultSet.CLOSE_CURSORS_AT_COMMIT</code>
      * @throws java.sql.SQLException if a database access error occurs
      * @since 1.4
      */
@@ -2773,8 +2733,7 @@
     }
 
     /**
-     * Retrieves the major JDBC version number for this
-     * driver.
+     * Retrieves the major JDBC version number for this driver.
      *
      * @return JDBC version major number
      * @throws java.sql.SQLException if a database access error occurs
@@ -2785,8 +2744,7 @@
     }
 
     /**
-     * Retrieves the minor JDBC version number for this
-     * driver.
+     * Retrieves the minor JDBC version number for this driver.
      *
      * @return JDBC version minor number
      * @throws java.sql.SQLException if a database access error occurs
@@ -2797,12 +2755,11 @@
     }
 
     /**
-     * Indicates whether the SQLSTATE returned by <code>SQLException.getSQLState</code>
-     * is X/Open (now known as Open Group) SQL CLI or SQL99.
+     * Indicates whether the SQLSTATE returned by
+     * <code>SQLException.getSQLState</code> is X/Open (now known as Open Group) SQL
+     * CLI or SQL99.
      *
-     * @return the type of SQLSTATE; one of:
-     *         sqlStateXOpen or
-     *         sqlStateSQL99
+     * @return the type of SQLSTATE; one of: sqlStateXOpen or sqlStateSQL99
      * @throws java.sql.SQLException if a database access error occurs
      * @since 1.4
      */
@@ -2811,11 +2768,11 @@
     }
 
     /**
-     * Indicates whether updates made to a LOB are made on a copy or directly
-     * to the LOB.
+     * Indicates whether updates made to a LOB are made on a copy or directly to the
+     * LOB.
      *
      * @return <code>true</code> if updates are made to a copy of the LOB;
-     *         <code>false</code> if updates are made directly to the LOB
+     * <code>false</code> if updates are made directly to the LOB
      * @throws java.sql.SQLException if a database access error occurs
      * @since 1.4
      */
diff --git a/appserver/jdbc/jdbc-ra/jdbc-core/src/main/java/com/sun/gjc/spi/base/PreparedStatementWrapper.java b/appserver/jdbc/jdbc-ra/jdbc-core/src/main/java/com/sun/gjc/spi/base/PreparedStatementWrapper.java
index 5763f4c..cb8a529 100644
--- a/appserver/jdbc/jdbc-ra/jdbc-core/src/main/java/com/sun/gjc/spi/base/PreparedStatementWrapper.java
+++ b/appserver/jdbc/jdbc-ra/jdbc-core/src/main/java/com/sun/gjc/spi/base/PreparedStatementWrapper.java
@@ -1,4 +1,5 @@
 /*
+ * Copyright (c) 2022 Contributors to the Eclipse Foundation.
  * Copyright (c) 1997, 2018 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
@@ -16,25 +17,36 @@
 
 package com.sun.gjc.spi.base;
 
-import com.sun.gjc.common.DataSourceObjectBuilder;
-import com.sun.gjc.util.ResultSetClosedEventListener;
 
 import java.io.InputStream;
 import java.io.Reader;
 import java.math.BigDecimal;
 import java.net.URL;
-import java.sql.*;
+import java.sql.Array;
+import java.sql.Blob;
+import java.sql.Clob;
+import java.sql.Connection;
+import java.sql.Date;
+import java.sql.ParameterMetaData;
+import java.sql.PreparedStatement;
+import java.sql.Ref;
+import java.sql.ResultSetMetaData;
+import java.sql.SQLException;
+import java.sql.Time;
+import java.sql.Timestamp;
 import java.util.Calendar;
 import java.util.logging.Level;
 
+import com.sun.gjc.util.ResultSetClosedEventListener;
+
 /**
  * Abstract class for wrapping PreparedStatement<br>
  */
-public abstract class PreparedStatementWrapper extends StatementWrapper implements
-        PreparedStatement, ResultSetClosedEventListener {
-    protected PreparedStatement preparedStatement = null;
-    private boolean busy = false;
-    private boolean cached = false;
+public abstract class PreparedStatementWrapper extends StatementWrapper implements PreparedStatement, ResultSetClosedEventListener {
+
+    protected PreparedStatement preparedStatement;
+    private boolean busy;
+    private boolean cached;
     private int defaultMaxFieldSize;
     private int defaultMaxRows;
     private int defaultQueryTimeout;
@@ -50,13 +62,12 @@
     /**
      * Abstract class for wrapping PreparedStatement <br>
      *
-     * @param con       Connection Wrapper <br>
+     * @param con Connection Wrapper <br>
      * @param statement PreparedStatement that is to be wrapped.<br>
      * @param cachingEnabled boolean that enabled/ disables caching <br>
      * @throws SQLException Exception thrown from underlying statement<br>
-    */
-    public PreparedStatementWrapper(Connection con,
-                                    PreparedStatement statement, boolean cachingEnabled) throws SQLException {
+     */
+    public PreparedStatementWrapper(Connection con, PreparedStatement statement, boolean cachingEnabled) throws SQLException {
         super(con, statement);
         preparedStatement = statement;
         cached = cachingEnabled;
@@ -64,7 +75,6 @@
         leakDetector = wrappedCon.getManagedConnection().getLeakDetector();
 
         if (cached) {
-
             defaultQueryTimeout = preparedStatement.getQueryTimeout();
             defaultMaxFieldSize = preparedStatement.getMaxFieldSize();
             defaultFetchSize = preparedStatement.getFetchSize();
@@ -78,8 +88,8 @@
             currentFetchDirection = defaultFetchDirection;
 
         } else {
-            //Start Statement leak detection
-            if(leakDetector != null) {
+            // Start Statement leak detection
+            if (leakDetector != null) {
                 leakDetector.startStatementLeakTracing(preparedStatement, this);
             }
         }
@@ -88,15 +98,16 @@
     /**
      * Executes the SQL statement in this <code>PreparedStatement</code> object,
      * which must be an SQL <code>INSERT</code>, <code>UPDATE</code> or
-     * <code>DELETE</code> statement; or an SQL statement that returns nothing,
-     * such as a DDL statement.
+     * <code>DELETE</code> statement; or an SQL statement that returns nothing, such
+     * as a DDL statement.
      *
-     * @return either (1) the row count for <code>INSERT</code>, <code>UPDATE</code>,
-     *         or <code>DELETE</code> statements
-     *         or (2) 0 for SQL statements that return nothing
+     * @return either (1) the row count for <code>INSERT</code>,
+     * <code>UPDATE</code>, or <code>DELETE</code> statements or (2) 0 for SQL
+     * statements that return nothing
      * @throws java.sql.SQLException if a database access error occurs or the SQL
-     *                               statement returns a <code>ResultSet</code> object
+     * statement returns a <code>ResultSet</code> object
      */
+    @Override
     public int executeUpdate() throws SQLException {
         return preparedStatement.executeUpdate();
     }
@@ -104,610 +115,639 @@
     /**
      * Sets the designated parameter to SQL <code>NULL</code>.
      * <p/>
-     * <P><B>Note:</B> You must specify the parameter's SQL type.
+     * <P>
+     * <B>Note:</B> You must specify the parameter's SQL type.
      *
      * @param parameterIndex the first parameter is 1, the second is 2, ...
-     * @param sqlType        the SQL type code defined in <code>java.sql.Types</code>
+     * @param sqlType the SQL type code defined in <code>java.sql.Types</code>
      * @throws java.sql.SQLException if a database access error occurs
      */
+    @Override
     public void setNull(int parameterIndex, int sqlType) throws SQLException {
         preparedStatement.setNull(parameterIndex, sqlType);
     }
 
     /**
      * Sets the designated parameter to the given Java <code>boolean</code> value.
-     * The driver converts this
-     * to an SQL <code>BIT</code> value when it sends it to the database.
+     * The driver converts this to an SQL <code>BIT</code> value when it sends it to
+     * the database.
      *
      * @param parameterIndex the first parameter is 1, the second is 2, ...
-     * @param x              the parameter value
+     * @param x the parameter value
      * @throws java.sql.SQLException if a database access error occurs
      */
+    @Override
     public void setBoolean(int parameterIndex, boolean x) throws SQLException {
         preparedStatement.setBoolean(parameterIndex, x);
     }
 
     /**
-     * Sets the designated parameter to the given Java <code>byte</code> value.
-     * The driver converts this
-     * to an SQL <code>TINYINT</code> value when it sends it to the database.
+     * Sets the designated parameter to the given Java <code>byte</code> value. The
+     * driver converts this to an SQL <code>TINYINT</code> value when it sends it to
+     * the database.
      *
      * @param parameterIndex the first parameter is 1, the second is 2, ...
-     * @param x              the parameter value
+     * @param x the parameter value
      * @throws java.sql.SQLException if a database access error occurs
      */
+    @Override
     public void setByte(int parameterIndex, byte x) throws SQLException {
         preparedStatement.setByte(parameterIndex, x);
     }
 
     /**
-     * Sets the designated parameter to the given Java <code>short</code> value.
-     * The driver converts this
-     * to an SQL <code>SMALLINT</code> value when it sends it to the database.
+     * Sets the designated parameter to the given Java <code>short</code> value. The
+     * driver converts this to an SQL <code>SMALLINT</code> value when it sends it
+     * to the database.
      *
      * @param parameterIndex the first parameter is 1, the second is 2, ...
-     * @param x              the parameter value
+     * @param x the parameter value
      * @throws java.sql.SQLException if a database access error occurs
      */
+    @Override
     public void setShort(int parameterIndex, short x) throws SQLException {
         preparedStatement.setShort(parameterIndex, x);
     }
 
     /**
-     * Sets the designated parameter to the given Java <code>int</code> value.
-     * The driver converts this
-     * to an SQL <code>INTEGER</code> value when it sends it to the database.
+     * Sets the designated parameter to the given Java <code>int</code> value. The
+     * driver converts this to an SQL <code>INTEGER</code> value when it sends it to
+     * the database.
      *
      * @param parameterIndex the first parameter is 1, the second is 2, ...
-     * @param x              the parameter value
+     * @param x the parameter value
      * @throws java.sql.SQLException if a database access error occurs
      */
+    @Override
     public void setInt(int parameterIndex, int x) throws SQLException {
         preparedStatement.setInt(parameterIndex, x);
     }
 
     /**
-     * Sets the designated parameter to the given Java <code>long</code> value.
-     * The driver converts this
-     * to an SQL <code>BIGINT</code> value when it sends it to the database.
+     * Sets the designated parameter to the given Java <code>long</code> value. The
+     * driver converts this to an SQL <code>BIGINT</code> value when it sends it to
+     * the database.
      *
      * @param parameterIndex the first parameter is 1, the second is 2, ...
-     * @param x              the parameter value
+     * @param x the parameter value
      * @throws java.sql.SQLException if a database access error occurs
      */
+    @Override
     public void setLong(int parameterIndex, long x) throws SQLException {
         preparedStatement.setLong(parameterIndex, x);
     }
 
     /**
-     * Sets the designated parameter to the given Java <code>float</code> value.
-     * The driver converts this
-     * to an SQL <code>FLOAT</code> value when it sends it to the database.
+     * Sets the designated parameter to the given Java <code>float</code> value. The
+     * driver converts this to an SQL <code>FLOAT</code> value when it sends it to
+     * the database.
      *
      * @param parameterIndex the first parameter is 1, the second is 2, ...
-     * @param x              the parameter value
+     * @param x the parameter value
      * @throws java.sql.SQLException if a database access error occurs
      */
+    @Override
     public void setFloat(int parameterIndex, float x) throws SQLException {
         preparedStatement.setFloat(parameterIndex, x);
     }
 
     /**
      * Sets the designated parameter to the given Java <code>double</code> value.
-     * The driver converts this
-     * to an SQL <code>DOUBLE</code> value when it sends it to the database.
+     * The driver converts this to an SQL <code>DOUBLE</code> value when it sends it
+     * to the database.
      *
      * @param parameterIndex the first parameter is 1, the second is 2, ...
-     * @param x              the parameter value
+     * @param x the parameter value
      * @throws java.sql.SQLException if a database access error occurs
      */
+    @Override
     public void setDouble(int parameterIndex, double x) throws SQLException {
         preparedStatement.setDouble(parameterIndex, x);
     }
 
     /**
-     * Sets the designated parameter to the given <code>java.math.BigDecimal</code> value.
-     * The driver converts this to an SQL <code>NUMERIC</code> value when
-     * it sends it to the database.
+     * Sets the designated parameter to the given <code>java.math.BigDecimal</code>
+     * value. The driver converts this to an SQL <code>NUMERIC</code> value when it
+     * sends it to the database.
      *
      * @param parameterIndex the first parameter is 1, the second is 2, ...
-     * @param x              the parameter value
+     * @param x the parameter value
      * @throws java.sql.SQLException if a database access error occurs
      */
+    @Override
     public void setBigDecimal(int parameterIndex, BigDecimal x) throws SQLException {
         preparedStatement.setBigDecimal(parameterIndex, x);
     }
 
     /**
      * Sets the designated parameter to the given Java <code>String</code> value.
-     * The driver converts this
-     * to an SQL <code>VARCHAR</code> or <code>LONGVARCHAR</code> value
-     * (depending on the argument's
-     * size relative to the driver's limits on <code>VARCHAR</code> values)
-     * when it sends it to the database.
+     * The driver converts this to an SQL <code>VARCHAR</code> or
+     * <code>LONGVARCHAR</code> value (depending on the argument's size relative to
+     * the driver's limits on <code>VARCHAR</code> values) when it sends it to the
+     * database.
      *
      * @param parameterIndex the first parameter is 1, the second is 2, ...
-     * @param x              the parameter value
+     * @param x the parameter value
      * @throws java.sql.SQLException if a database access error occurs
      */
+    @Override
     public void setString(int parameterIndex, String x) throws SQLException {
         preparedStatement.setString(parameterIndex, x);
     }
 
     /**
-     * Sets the designated parameter to the given Java array of bytes.  The driver converts
-     * this to an SQL <code>VARBINARY</code> or <code>LONGVARBINARY</code>
+     * Sets the designated parameter to the given Java array of bytes. The driver
+     * converts this to an SQL <code>VARBINARY</code> or <code>LONGVARBINARY</code>
      * (depending on the argument's size relative to the driver's limits on
      * <code>VARBINARY</code> values) when it sends it to the database.
      *
      * @param parameterIndex the first parameter is 1, the second is 2, ...
-     * @param x              the parameter value
+     * @param x the parameter value
      * @throws java.sql.SQLException if a database access error occurs
      */
+    @Override
     public void setBytes(int parameterIndex, byte x[]) throws SQLException {
         preparedStatement.setBytes(parameterIndex, x);
     }
 
     /**
      * Sets the designated parameter to the given <code>java.sql.Date</code> value.
-     * The driver converts this
-     * to an SQL <code>DATE</code> value when it sends it to the database.
+     * The driver converts this to an SQL <code>DATE</code> value when it sends it
+     * to the database.
      *
      * @param parameterIndex the first parameter is 1, the second is 2, ...
-     * @param x              the parameter value
+     * @param x the parameter value
      * @throws java.sql.SQLException if a database access error occurs
      */
+    @Override
     public void setDate(int parameterIndex, Date x) throws SQLException {
         preparedStatement.setDate(parameterIndex, x);
     }
 
     /**
      * Sets the designated parameter to the given <code>java.sql.Time</code> value.
-     * The driver converts this
-     * to an SQL <code>TIME</code> value when it sends it to the database.
+     * The driver converts this to an SQL <code>TIME</code> value when it sends it
+     * to the database.
      *
      * @param parameterIndex the first parameter is 1, the second is 2, ...
-     * @param x              the parameter value
+     * @param x the parameter value
      * @throws java.sql.SQLException if a database access error occurs
      */
+    @Override
     public void setTime(int parameterIndex, Time x) throws SQLException {
         preparedStatement.setTime(parameterIndex, x);
     }
 
     /**
-     * Sets the designated parameter to the given <code>java.sql.Timestamp</code> value.
-     * The driver
-     * converts this to an SQL <code>TIMESTAMP</code> value when it sends it to the
-     * database.
+     * Sets the designated parameter to the given <code>java.sql.Timestamp</code>
+     * value. The driver converts this to an SQL <code>TIMESTAMP</code> value when
+     * it sends it to the database.
      *
      * @param parameterIndex the first parameter is 1, the second is 2, ...
-     * @param x              the parameter value
+     * @param x the parameter value
      * @throws java.sql.SQLException if a database access error occurs
      */
+    @Override
     public void setTimestamp(int parameterIndex, Timestamp x) throws SQLException {
         preparedStatement.setTimestamp(parameterIndex, x);
     }
 
     /**
-     * Sets the designated parameter to the given input stream, which will have
-     * the specified number of bytes.
-     * When a very large ASCII value is input to a <code>LONGVARCHAR</code>
-     * parameter, it may be more practical to send it via a
-     * <code>java.io.InputStream</code>. Data will be read from the stream
-     * as needed until end-of-file is reached.  The JDBC driver will
-     * do any necessary conversion from ASCII to the database char format.
+     * Sets the designated parameter to the given input stream, which will have the
+     * specified number of bytes. When a very large ASCII value is input to a
+     * <code>LONGVARCHAR</code> parameter, it may be more practical to send it via a
+     * <code>java.io.InputStream</code>. Data will be read from the stream as needed
+     * until end-of-file is reached. The JDBC driver will do any necessary
+     * conversion from ASCII to the database char format.
      * <p/>
-     * <P><B>Note:</B> This stream object can either be a standard
-     * Java stream object or your own subclass that implements the
-     * standard interface.
+     * <P>
+     * <B>Note:</B> This stream object can either be a standard Java stream object
+     * or your own subclass that implements the standard interface.
      *
      * @param parameterIndex the first parameter is 1, the second is 2, ...
-     * @param x              the Java input stream that contains the ASCII parameter value
-     * @param length         the number of bytes in the stream
+     * @param x the Java input stream that contains the ASCII parameter value
+     * @param length the number of bytes in the stream
      * @throws java.sql.SQLException if a database access error occurs
      */
+    @Override
     public void setAsciiStream(int parameterIndex, InputStream x, int length) throws SQLException {
         preparedStatement.setAsciiStream(parameterIndex, x, length);
     }
 
     /**
-     * Sets the designated parameter to the given input stream, which
-     * will have the specified number of bytes. A Unicode character has
-     * two bytes, with the first byte being the high byte, and the second
-     * being the low byte.
+     * Sets the designated parameter to the given input stream, which will have the
+     * specified number of bytes. A Unicode character has two bytes, with the first
+     * byte being the high byte, and the second being the low byte.
      * <p/>
      * When a very large Unicode value is input to a <code>LONGVARCHAR</code>
      * parameter, it may be more practical to send it via a
      * <code>java.io.InputStream</code> object. The data will be read from the
-     * stream as needed until end-of-file is reached.  The JDBC driver will
-     * do any necessary conversion from Unicode to the database char format.
+     * stream as needed until end-of-file is reached. The JDBC driver will do any
+     * necessary conversion from Unicode to the database char format.
      * <p/>
-     * <P><B>Note:</B> This stream object can either be a standard
-     * Java stream object or your own subclass that implements the
-     * standard interface.
+     * <P>
+     * <B>Note:</B> This stream object can either be a standard Java stream object
+     * or your own subclass that implements the standard interface.
      *
      * @param parameterIndex the first parameter is 1, the second is 2, ...
-     * @param x              a <code>java.io.InputStream</code> object that contains the
-     *                       Unicode parameter value as two-byte Unicode characters
-     * @param length         the number of bytes in the stream
+     * @param x a <code>java.io.InputStream</code> object that contains the Unicode
+     * parameter value as two-byte Unicode characters
+     * @param length the number of bytes in the stream
      * @throws java.sql.SQLException if a database access error occurs
      * @deprecated
      */
+    @Override
     @Deprecated
     public void setUnicodeStream(int parameterIndex, InputStream x, int length) throws SQLException {
         preparedStatement.setUnicodeStream(parameterIndex, x, length);
     }
 
     /**
-     * Sets the designated parameter to the given input stream, which will have
-     * the specified number of bytes.
-     * When a very large binary value is input to a <code>LONGVARBINARY</code>
-     * parameter, it may be more practical to send it via a
-     * <code>java.io.InputStream</code> object. The data will be read from the
+     * Sets the designated parameter to the given input stream, which will have the
+     * specified number of bytes. When a very large binary value is input to a
+     * <code>LONGVARBINARY</code> parameter, it may be more practical to send it via
+     * a <code>java.io.InputStream</code> object. The data will be read from the
      * stream as needed until end-of-file is reached.
      * <p/>
-     * <P><B>Note:</B> This stream object can either be a standard
-     * Java stream object or your own subclass that implements the
-     * standard interface.
+     * <P>
+     * <B>Note:</B> This stream object can either be a standard Java stream object
+     * or your own subclass that implements the standard interface.
      *
      * @param parameterIndex the first parameter is 1, the second is 2, ...
-     * @param x              the java input stream which contains the binary parameter value
-     * @param length         the number of bytes in the stream
+     * @param x the java input stream which contains the binary parameter value
+     * @param length the number of bytes in the stream
      * @throws java.sql.SQLException if a database access error occurs
      */
+    @Override
     public void setBinaryStream(int parameterIndex, InputStream x, int length) throws SQLException {
         preparedStatement.setBinaryStream(parameterIndex, x, length);
     }
 
     /**
      * Clears the current parameter values immediately.
-     * <P>In general, parameter values remain in force for repeated use of a
-     * statement. Setting a parameter value automatically clears its
-     * previous value.  However, in some cases it is useful to immediately
-     * release the resources used by the current parameter values; this can
-     * be done by calling the method <code>clearParameters</code>.
+     * <P>
+     * In general, parameter values remain in force for repeated use of a statement.
+     * Setting a parameter value automatically clears its previous value. However,
+     * in some cases it is useful to immediately release the resources used by the
+     * current parameter values; this can be done by calling the method
+     * <code>clearParameters</code>.
      *
      * @throws java.sql.SQLException if a database access error occurs
      */
+    @Override
     public void clearParameters() throws SQLException {
         preparedStatement.clearParameters();
     }
 
     /**
-     * <p>Sets the value of the designated parameter with the given object. The second
+     * <p>
+     * Sets the value of the designated parameter with the given object. The second
      * argument must be an object type; for integral values, the
      * <code>java.lang</code> equivalent objects should be used.
      * <p/>
-     * <p>The given Java object will be converted to the given targetSqlType
-     * before being sent to the database.
+     * <p>
+     * The given Java object will be converted to the given targetSqlType before
+     * being sent to the database.
      * <p/>
-     * If the object has a custom mapping (is of a class implementing the
-     * interface <code>SQLData</code>),
-     * the JDBC driver should call the method <code>SQLData.writeSQL</code> to
-     * write it to the SQL data stream.
-     * If, on the other hand, the object is of a class implementing
-     * <code>Ref</code>, <code>Blob</code>, <code>Clob</code>, <code>Struct</code>,
-     * or <code>Array</code>, the driver should pass it to the database as a
-     * value of the corresponding SQL type.
+     * If the object has a custom mapping (is of a class implementing the interface
+     * <code>SQLData</code>), the JDBC driver should call the method
+     * <code>SQLData.writeSQL</code> to write it to the SQL data stream. If, on the
+     * other hand, the object is of a class implementing <code>Ref</code>,
+     * <code>Blob</code>, <code>Clob</code>, <code>Struct</code>, or
+     * <code>Array</code>, the driver should pass it to the database as a value of
+     * the corresponding SQL type.
      * <p/>
-     * <p>Note that this method may be used to pass database-specific
-     * abstract data types.
+     * <p>
+     * Note that this method may be used to pass database-specific abstract data
+     * types.
      *
      * @param parameterIndex the first parameter is 1, the second is 2, ...
-     * @param x              the object containing the input parameter value
-     * @param targetSqlType  the SQL type (as defined in java.sql.Types) to be
-     *                       sent to the database. The scale argument may further qualify this type.
-     * @param scale          for java.sql.Types.DECIMAL or java.sql.Types.NUMERIC types,
-     *                       this is the number of digits after the decimal point.  For all other
-     *                       types, this value will be ignored.
+     * @param x the object containing the input parameter value
+     * @param targetSqlType the SQL type (as defined in java.sql.Types) to be sent
+     * to the database. The scale argument may further qualify this type.
+     * @param scale for java.sql.Types.DECIMAL or java.sql.Types.NUMERIC types, this
+     * is the number of digits after the decimal point. For all other types, this
+     * value will be ignored.
      * @throws java.sql.SQLException if a database access error occurs
      * @see java.sql.Types
      */
+    @Override
     public void setObject(int parameterIndex, Object x, int targetSqlType, int scale) throws SQLException {
         preparedStatement.setObject(parameterIndex, x, targetSqlType, scale);
     }
 
     /**
-     * Sets the value of the designated parameter with the given object.
-     * This method is like the method <code>setObject</code>
-     * above, except that it assumes a scale of zero.
+     * Sets the value of the designated parameter with the given object. This method
+     * is like the method <code>setObject</code> above, except that it assumes a
+     * scale of zero.
      *
      * @param parameterIndex the first parameter is 1, the second is 2, ...
-     * @param x              the object containing the input parameter value
-     * @param targetSqlType  the SQL type (as defined in java.sql.Types) to be
-     *                       sent to the database
+     * @param x the object containing the input parameter value
+     * @param targetSqlType the SQL type (as defined in java.sql.Types) to be sent
+     * to the database
      * @throws java.sql.SQLException if a database access error occurs
      */
+    @Override
     public void setObject(int parameterIndex, Object x, int targetSqlType) throws SQLException {
         preparedStatement.setObject(parameterIndex, x, targetSqlType);
     }
 
     /**
-     * <p>Sets the value of the designated parameter using the given object.
-     * The second parameter must be of type <code>Object</code>; therefore, the
+     * <p>
+     * Sets the value of the designated parameter using the given object. The second
+     * parameter must be of type <code>Object</code>; therefore, the
      * <code>java.lang</code> equivalent objects should be used for built-in types.
      * <p/>
-     * <p>The JDBC specification specifies a standard mapping from
-     * Java <code>Object</code> types to SQL types.  The given argument
-     * will be converted to the corresponding SQL type before being
-     * sent to the database.
+     * <p>
+     * The JDBC specification specifies a standard mapping from Java
+     * <code>Object</code> types to SQL types. The given argument will be converted
+     * to the corresponding SQL type before being sent to the database.
      * <p/>
-     * <p>Note that this method may be used to pass datatabase-
-     * specific abstract data types, by using a driver-specific Java
-     * type.
+     * <p>
+     * Note that this method may be used to pass datatabase- specific abstract data
+     * types, by using a driver-specific Java type.
      * <p/>
      * If the object is of a class implementing the interface <code>SQLData</code>,
-     * the JDBC driver should call the method <code>SQLData.writeSQL</code>
-     * to write it to the SQL data stream.
-     * If, on the other hand, the object is of a class implementing
-     * <code>Ref</code>, <code>Blob</code>, <code>Clob</code>, <code>Struct</code>,
-     * or <code>Array</code>, the driver should pass it to the database as a
-     * value of the corresponding SQL type.
+     * the JDBC driver should call the method <code>SQLData.writeSQL</code> to write
+     * it to the SQL data stream. If, on the other hand, the object is of a class
+     * implementing <code>Ref</code>, <code>Blob</code>, <code>Clob</code>,
+     * <code>Struct</code>, or <code>Array</code>, the driver should pass it to the
+     * database as a value of the corresponding SQL type.
      * <p/>
      * This method throws an exception if there is an ambiguity, for example, if the
-     * object is of a class implementing more than one of the interfaces named above.
+     * object is of a class implementing more than one of the interfaces named
+     * above.
      *
      * @param parameterIndex the first parameter is 1, the second is 2, ...
-     * @param x              the object containing the input parameter value
+     * @param x the object containing the input parameter value
      * @throws java.sql.SQLException if a database access error occurs or the type
-     *                               of the given object is ambiguous
+     * of the given object is ambiguous
      */
+    @Override
     public void setObject(int parameterIndex, Object x) throws SQLException {
         preparedStatement.setObject(parameterIndex, x);
     }
 
     /**
      * Executes the SQL statement in this <code>PreparedStatement</code> object,
-     * which may be any kind of SQL statement.
-     * Some prepared statements return multiple results; the <code>execute</code>
-     * method handles these complex statements as well as the simpler
-     * form of statements handled by the methods <code>executeQuery</code>
-     * and <code>executeUpdate</code>.
+     * which may be any kind of SQL statement. Some prepared statements return
+     * multiple results; the <code>execute</code> method handles these complex
+     * statements as well as the simpler form of statements handled by the methods
+     * <code>executeQuery</code> and <code>executeUpdate</code>.
      * <p/>
-     * The <code>execute</code> method returns a <code>boolean</code> to
-     * indicate the form of the first result.  You must call either the method
-     * <code>getResultSet</code> or <code>getUpdateCount</code>
-     * to retrieve the result; you must call <code>getMoreResults</code> to
-     * move to any subsequent result(s).
+     * The <code>execute</code> method returns a <code>boolean</code> to indicate
+     * the form of the first result. You must call either the method
+     * <code>getResultSet</code> or <code>getUpdateCount</code> to retrieve the
+     * result; you must call <code>getMoreResults</code> to move to any subsequent
+     * result(s).
      *
      * @return <code>true</code> if the first result is a <code>ResultSet</code>
-     *         object; <code>false</code> if the first result is an update
-     *         count or there is no result
-     * @throws java.sql.SQLException if a database access error occurs or an argument
-     *                               is supplied to this method
+     * object; <code>false</code> if the first result is an update count or there is
+     * no result
+     * @throws java.sql.SQLException if a database access error occurs or an
+     * argument is supplied to this method
      * @see java.sql.Statement#execute
      * @see java.sql.Statement#getResultSet
      * @see java.sql.Statement#getUpdateCount
      * @see java.sql.Statement#getMoreResults
      */
+    @Override
     public boolean execute() throws SQLException {
         return preparedStatement.execute();
     }
 
     /**
-     * Adds a set of parameters to this <code>PreparedStatement</code>
-     * object's batch of commands.
+     * Adds a set of parameters to this <code>PreparedStatement</code> object's
+     * batch of commands.
      *
      * @throws java.sql.SQLException if a database access error occurs
      * @see java.sql.Statement#addBatch
      * @since 1.2
      */
+    @Override
     public void addBatch() throws SQLException {
         preparedStatement.addBatch();
     }
 
     /**
-     * Sets the designated parameter to the given <code>Reader</code>
-     * object, which is the given number of characters long.
-     * When a very large UNICODE value is input to a <code>LONGVARCHAR</code>
-     * parameter, it may be more practical to send it via a
-     * <code>java.io.Reader</code> object. The data will be read from the stream
-     * as needed until end-of-file is reached.  The JDBC driver will
-     * do any necessary conversion from UNICODE to the database char format.
+     * Sets the designated parameter to the given <code>Reader</code> object, which
+     * is the given number of characters long. When a very large UNICODE value is
+     * input to a <code>LONGVARCHAR</code> parameter, it may be more practical to
+     * send it via a <code>java.io.Reader</code> object. The data will be read from
+     * the stream as needed until end-of-file is reached. The JDBC driver will do
+     * any necessary conversion from UNICODE to the database char format.
      * <p/>
-     * <P><B>Note:</B> This stream object can either be a standard
-     * Java stream object or your own subclass that implements the
-     * standard interface.
+     * <P>
+     * <B>Note:</B> This stream object can either be a standard Java stream object
+     * or your own subclass that implements the standard interface.
      *
      * @param parameterIndex the first parameter is 1, the second is 2, ...
-     * @param reader         the <code>java.io.Reader</code> object that contains the
-     *                       Unicode data
-     * @param length         the number of characters in the stream
+     * @param reader the <code>java.io.Reader</code> object that contains the
+     * Unicode data
+     * @param length the number of characters in the stream
      * @throws java.sql.SQLException if a database access error occurs
      * @since 1.2
      */
+    @Override
     public void setCharacterStream(int parameterIndex, Reader reader, int length) throws SQLException {
         preparedStatement.setCharacterStream(parameterIndex, reader, length);
     }
 
     /**
      * Sets the designated parameter to the given
-     * <code>REF(&lt;structured-type&gt;)</code> value.
-     * The driver converts this to an SQL <code>REF</code> value when it
-     * sends it to the database.
+     * <code>REF(&lt;structured-type&gt;)</code> value. The driver converts this to
+     * an SQL <code>REF</code> value when it sends it to the database.
      *
      * @param i the first parameter is 1, the second is 2, ...
      * @param x an SQL <code>REF</code> value
      * @throws java.sql.SQLException if a database access error occurs
      * @since 1.2
      */
+    @Override
     public void setRef(int i, Ref x) throws SQLException {
         preparedStatement.setRef(i, x);
     }
 
     /**
-     * Sets the designated parameter to the given <code>Blob</code> object.
-     * The driver converts this to an SQL <code>BLOB</code> value when it
-     * sends it to the database.
+     * Sets the designated parameter to the given <code>Blob</code> object. The
+     * driver converts this to an SQL <code>BLOB</code> value when it sends it to
+     * the database.
      *
      * @param i the first parameter is 1, the second is 2, ...
      * @param x a <code>Blob</code> object that maps an SQL <code>BLOB</code> value
      * @throws java.sql.SQLException if a database access error occurs
      * @since 1.2
      */
+    @Override
     public void setBlob(int i, Blob x) throws SQLException {
         preparedStatement.setBlob(i, x);
     }
 
     /**
-     * Sets the designated parameter to the given <code>Clob</code> object.
-     * The driver converts this to an SQL <code>CLOB</code> value when it
-     * sends it to the database.
+     * Sets the designated parameter to the given <code>Clob</code> object. The
+     * driver converts this to an SQL <code>CLOB</code> value when it sends it to
+     * the database.
      *
      * @param i the first parameter is 1, the second is 2, ...
      * @param x a <code>Clob</code> object that maps an SQL <code>CLOB</code> value
      * @throws java.sql.SQLException if a database access error occurs
      * @since 1.2
      */
+    @Override
     public void setClob(int i, Clob x) throws SQLException {
         preparedStatement.setClob(i, x);
     }
 
     /**
-     * Sets the designated parameter to the given <code>Array</code> object.
-     * The driver converts this to an SQL <code>ARRAY</code> value when it
-     * sends it to the database.
+     * Sets the designated parameter to the given <code>Array</code> object. The
+     * driver converts this to an SQL <code>ARRAY</code> value when it sends it to
+     * the database.
      *
      * @param i the first parameter is 1, the second is 2, ...
-     * @param x an <code>Array</code> object that maps an SQL <code>ARRAY</code> value
+     * @param x an <code>Array</code> object that maps an SQL <code>ARRAY</code>
+     * value
      * @throws java.sql.SQLException if a database access error occurs
      * @since 1.2
      */
+    @Override
     public void setArray(int i, Array x) throws SQLException {
         preparedStatement.setArray(i, x);
     }
 
     /**
-     * Retrieves a <code>ResultSetMetaData</code> object that contains
-     * information about the columns of the <code>ResultSet</code> object
-     * that will be returned when this <code>PreparedStatement</code> object
-     * is executed.
+     * Retrieves a <code>ResultSetMetaData</code> object that contains information
+     * about the columns of the <code>ResultSet</code> object that will be returned
+     * when this <code>PreparedStatement</code> object is executed.
      * <p/>
      * Because a <code>PreparedStatement</code> object is precompiled, it is
-     * possible to know about the <code>ResultSet</code> object that it will
-     * return without having to execute it.  Consequently, it is possible
-     * to invoke the method <code>getMetaData</code> on a
-     * <code>PreparedStatement</code> object rather than waiting to execute
-     * it and then invoking the <code>ResultSet.getMetaData</code> method
-     * on the <code>ResultSet</code> object that is returned.
+     * possible to know about the <code>ResultSet</code> object that it will return
+     * without having to execute it. Consequently, it is possible to invoke the
+     * method <code>getMetaData</code> on a <code>PreparedStatement</code> object
+     * rather than waiting to execute it and then invoking the
+     * <code>ResultSet.getMetaData</code> method on the <code>ResultSet</code>
+     * object that is returned.
      * <p/>
-     * <B>NOTE:</B> Using this method may be expensive for some drivers due
-     * to the lack of underlying DBMS support.
+     * <B>NOTE:</B> Using this method may be expensive for some drivers due to the
+     * lack of underlying DBMS support.
      *
      * @return the description of a <code>ResultSet</code> object's columns or
-     *         <code>null</code> if the driver cannot return a
-     *         <code>ResultSetMetaData</code> object
+     * <code>null</code> if the driver cannot return a
+     * <code>ResultSetMetaData</code> object
      * @throws java.sql.SQLException if a database access error occurs
      * @since 1.2
      */
+    @Override
     public ResultSetMetaData getMetaData() throws SQLException {
         return preparedStatement.getMetaData();
     }
 
     /**
      * Sets the designated parameter to the given <code>java.sql.Date</code> value,
-     * using the given <code>Calendar</code> object.  The driver uses
-     * the <code>Calendar</code> object to construct an SQL <code>DATE</code> value,
-     * which the driver then sends to the database.  With
-     * a <code>Calendar</code> object, the driver can calculate the date
-     * taking into account a custom timezone.  If no
-     * <code>Calendar</code> object is specified, the driver uses the default
-     * timezone, which is that of the virtual machine running the application.
+     * using the given <code>Calendar</code> object. The driver uses the
+     * <code>Calendar</code> object to construct an SQL <code>DATE</code> value,
+     * which the driver then sends to the database. With a <code>Calendar</code>
+     * object, the driver can calculate the date taking into account a custom
+     * timezone. If no <code>Calendar</code> object is specified, the driver uses
+     * the default timezone, which is that of the virtual machine running the
+     * application.
      *
      * @param parameterIndex the first parameter is 1, the second is 2, ...
-     * @param x              the parameter value
-     * @param cal            the <code>Calendar</code> object the driver will use
-     *                       to construct the date
+     * @param x the parameter value
+     * @param cal the <code>Calendar</code> object the driver will use to construct
+     * the date
      * @throws java.sql.SQLException if a database access error occurs
      * @since 1.2
      */
+    @Override
     public void setDate(int parameterIndex, Date x, Calendar cal) throws SQLException {
         preparedStatement.setDate(parameterIndex, x, cal);
     }
 
     /**
      * Sets the designated parameter to the given <code>java.sql.Time</code> value,
-     * using the given <code>Calendar</code> object.  The driver uses
-     * the <code>Calendar</code> object to construct an SQL <code>TIME</code> value,
-     * which the driver then sends to the database.  With
-     * a <code>Calendar</code> object, the driver can calculate the time
-     * taking into account a custom timezone.  If no
-     * <code>Calendar</code> object is specified, the driver uses the default
-     * timezone, which is that of the virtual machine running the application.
+     * using the given <code>Calendar</code> object. The driver uses the
+     * <code>Calendar</code> object to construct an SQL <code>TIME</code> value,
+     * which the driver then sends to the database. With a <code>Calendar</code>
+     * object, the driver can calculate the time taking into account a custom
+     * timezone. If no <code>Calendar</code> object is specified, the driver uses
+     * the default timezone, which is that of the virtual machine running the
+     * application.
      *
      * @param parameterIndex the first parameter is 1, the second is 2, ...
-     * @param x              the parameter value
-     * @param cal            the <code>Calendar</code> object the driver will use
-     *                       to construct the time
+     * @param x the parameter value
+     * @param cal the <code>Calendar</code> object the driver will use to construct
+     * the time
      * @throws java.sql.SQLException if a database access error occurs
      * @since 1.2
      */
+    @Override
     public void setTime(int parameterIndex, Time x, Calendar cal) throws SQLException {
         preparedStatement.setTime(parameterIndex, x, cal);
     }
 
     /**
-     * Sets the designated parameter to the given <code>java.sql.Timestamp</code> value,
-     * using the given <code>Calendar</code> object.  The driver uses
-     * the <code>Calendar</code> object to construct an SQL <code>TIMESTAMP</code> value,
-     * which the driver then sends to the database.  With a
-     * <code>Calendar</code> object, the driver can calculate the timestamp
-     * taking into account a custom timezone.  If no
-     * <code>Calendar</code> object is specified, the driver uses the default
-     * timezone, which is that of the virtual machine running the application.
+     * Sets the designated parameter to the given <code>java.sql.Timestamp</code>
+     * value, using the given <code>Calendar</code> object. The driver uses the
+     * <code>Calendar</code> object to construct an SQL <code>TIMESTAMP</code>
+     * value, which the driver then sends to the database. With a
+     * <code>Calendar</code> object, the driver can calculate the timestamp taking
+     * into account a custom timezone. If no <code>Calendar</code> object is
+     * specified, the driver uses the default timezone, which is that of the virtual
+     * machine running the application.
      *
      * @param parameterIndex the first parameter is 1, the second is 2, ...
-     * @param x              the parameter value
-     * @param cal            the <code>Calendar</code> object the driver will use
-     *                       to construct the timestamp
+     * @param x the parameter value
+     * @param cal the <code>Calendar</code> object the driver will use to construct
+     * the timestamp
      * @throws java.sql.SQLException if a database access error occurs
      * @since 1.2
      */
+    @Override
     public void setTimestamp(int parameterIndex, Timestamp x, Calendar cal) throws SQLException {
         preparedStatement.setTimestamp(parameterIndex, x, cal);
     }
 
     /**
-     * Sets the designated parameter to SQL <code>NULL</code>.
-     * This version of the method <code>setNull</code> should
-     * be used for user-defined types and REF type parameters.  Examples
-     * of user-defined types include: STRUCT, DISTINCT, JAVA_OBJECT, and
-     * named array types.
+     * Sets the designated parameter to SQL <code>NULL</code>. This version of the
+     * method <code>setNull</code> should be used for user-defined types and REF
+     * type parameters. Examples of user-defined types include: STRUCT, DISTINCT,
+     * JAVA_OBJECT, and named array types.
      * <p/>
-     * <P><B>Note:</B> To be portable, applications must give the
-     * SQL type code and the fully-qualified SQL type name when specifying
-     * a NULL user-defined or REF parameter.  In the case of a user-defined type
-     * the name is the type name of the parameter itself.  For a REF
-     * parameter, the name is the type name of the referenced type.  If
-     * a JDBC driver does not need the type code or type name information,
-     * it may ignore it.
+     * <P>
+     * <B>Note:</B> To be portable, applications must give the SQL type code and the
+     * fully-qualified SQL type name when specifying a NULL user-defined or REF
+     * parameter. In the case of a user-defined type the name is the type name of
+     * the parameter itself. For a REF parameter, the name is the type name of the
+     * referenced type. If a JDBC driver does not need the type code or type name
+     * information, it may ignore it.
      * <p/>
-     * Although it is intended for user-defined and Ref parameters,
-     * this method may be used to set a null parameter of any JDBC type.
-     * If the parameter does not have a user-defined or REF type, the given
-     * typeName is ignored.
+     * Although it is intended for user-defined and Ref parameters, this method may
+     * be used to set a null parameter of any JDBC type. If the parameter does not
+     * have a user-defined or REF type, the given typeName is ignored.
      *
      * @param paramIndex the first parameter is 1, the second is 2, ...
-     * @param sqlType    a value from <code>java.sql.Types</code>
-     * @param typeName   the fully-qualified name of an SQL user-defined type;
-     *                   ignored if the parameter is not a user-defined type or REF
+     * @param sqlType a value from <code>java.sql.Types</code>
+     * @param typeName the fully-qualified name of an SQL user-defined type; ignored
+     * if the parameter is not a user-defined type or REF
      * @throws java.sql.SQLException if a database access error occurs
      * @since 1.2
      */
+    @Override
     public void setNull(int paramIndex, int sqlType, String typeName) throws SQLException {
         preparedStatement.setNull(paramIndex, sqlType, typeName);
     }
 
     /**
      * Sets the designated parameter to the given <code>java.net.URL</code> value.
-     * The driver converts this to an SQL <code>DATALINK</code> value
-     * when it sends it to the database.
+     * The driver converts this to an SQL <code>DATALINK</code> value when it sends
+     * it to the database.
      *
      * @param parameterIndex the first parameter is 1, the second is 2, ...
-     * @param x              the <code>java.net.URL</code> object to be set
+     * @param x the <code>java.net.URL</code> object to be set
      * @throws java.sql.SQLException if a database access error occurs
      * @since 1.4
      */
+    @Override
     public void setURL(int parameterIndex, URL x) throws SQLException {
         preparedStatement.setURL(parameterIndex, x);
     }
@@ -717,12 +757,13 @@
      * <code>PreparedStatement</code> object's parameters.
      *
      * @return a <code>ParameterMetaData</code> object that contains information
-     *         about the number, types and properties of this
-     *         <code>PreparedStatement</code> object's parameters
+     * about the number, types and properties of this <code>PreparedStatement</code>
+     * object's parameters
      * @throws java.sql.SQLException if a database access error occurs
      * @see java.sql.ParameterMetaData
      * @since 1.4
      */
+    @Override
     public ParameterMetaData getParameterMetaData() throws SQLException {
         return preparedStatement.getParameterMetaData();
     }
@@ -740,11 +781,11 @@
         } else {
             if (leakDetector != null) {
                 leakDetector.stopStatementLeakTracing(preparedStatement, this);
-                if(cached && isMarkedForReclaim()) {
-                    //When caching is on and is marked for reclaim, the statement
-                    //would still remain in cache. Hence mark it as invalid and
-                    //let the client that uses the statement, detect and purge
-                    //it if found as invalid
+                if (cached && isMarkedForReclaim()) {
+                    // When caching is on and is marked for reclaim, the statement
+                    // would still remain in cache. Hence mark it as invalid and
+                    // let the client that uses the statement, detect and purge
+                    // it if found as invalid
                     setValid(false);
                 }
             }
@@ -755,15 +796,17 @@
         return cached;
     }
 
+    @Override
     public void close() throws SQLException {
         if (!cached) {
-            //Stop leak tracing
-            if(leakDetector != null) {
+            // Stop leak tracing
+            if (leakDetector != null) {
                 leakDetector.stopStatementLeakTracing(preparedStatement, this);
             }
             preparedStatement.close();
         } else {
-            //TODO-SC what if Exception is thrown in this block, should there be a way to indicate the
+            // TODO-SC what if Exception is thrown in this block, should there be a way to
+            // indicate the
             // con. not to use this statement any more ?
             clearParameters();
 
@@ -793,62 +836,67 @@
         }
     }
 
+    @Override
     public void closeOnCompletion() throws SQLException {
-        if (DataSourceObjectBuilder.isJDBC41()) {
-            if(!cached) {
-                //If statement caching is not turned on, call the driver implementation directly
-                if (leakDetector != null) {
-                    _logger.log(Level.INFO, "jdbc.invalid_operation.close_on_completion");
-                    throw new UnsupportedOperationException("Not supported yet.");
-                }
-                actualCloseOnCompletion();
-            } else {
-                super.closeOnCompletion();
+        if (!cached) {
+            // If statement caching is not turned on, call the driver implementation
+            // directly
+            if (leakDetector != null) {
+                _logger.log(Level.INFO, "jdbc.invalid_operation.close_on_completion");
+                throw new UnsupportedOperationException("Not supported yet.");
             }
+            actualCloseOnCompletion();
+        } else {
+            super.closeOnCompletion();
         }
     }
 
+    @Override
     public boolean isCloseOnCompletion() throws SQLException {
-        if (DataSourceObjectBuilder.isJDBC41()) {
-            if(cached) {
-                return getCloseOnCompletion();
-            }
+        if (cached) {
+            return getCloseOnCompletion();
         }
+
         return super.isCloseOnCompletion();
     }
 
+    @Override
     public void setMaxFieldSize(int max) throws SQLException {
         preparedStatement.setMaxFieldSize(max);
         if (cached)
             currentMaxFieldSize = max;
     }
 
+    @Override
     public void setMaxRows(int max) throws SQLException {
         preparedStatement.setMaxRows(max);
         if (cached)
             currentMaxRows = max;
     }
 
+    @Override
     public void setQueryTimeout(int seconds) throws SQLException {
         preparedStatement.setQueryTimeout(seconds);
         if (cached)
             currentQueryTimeout = seconds;
     }
 
+    @Override
     public void setFetchDirection(int direction) throws SQLException {
         preparedStatement.setFetchDirection(direction);
         if (cached)
             currentFetchDirection = direction;
     }
 
+    @Override
     public void setFetchSize(int rows) throws SQLException {
         preparedStatement.setFetchSize(rows);
         if (cached)
             currentFetchSize = rows;
     }
 
-    public void setCached(boolean cached){
-        this.cached =  cached;
+    public void setCached(boolean cached) {
+        this.cached = cached;
     }
 
     public boolean isValid() {
@@ -860,14 +908,15 @@
     }
 
     public void incrementResultSetReferenceCount() {
-        //Update resultSetCount to be used in case of jdbc41 closeOnCompletion
-        if (DataSourceObjectBuilder.isJDBC41() && getCached()) {
+        // Update resultSetCount to be used in case of jdbc41 closeOnCompletion
+        if (getCached()) {
             incrementResultSetCount();
         }
     }
 
+    @Override
     public void resultSetClosed() throws SQLException {
-        if (DataSourceObjectBuilder.isJDBC41() && getCached()) {
+        if (getCached()) {
             decrementResultSetCount();
             if (getCloseOnCompletion() && getResultSetCount() == 0) {
                 ConnectionHolder wrappedCon = (ConnectionHolder) getConnection();
diff --git a/appserver/jdbc/jdbc-ra/jdbc-core/src/main/java/com/sun/gjc/spi/base/ResultSetWrapper.java b/appserver/jdbc/jdbc-ra/jdbc-core/src/main/java/com/sun/gjc/spi/base/ResultSetWrapper.java
index d640969..23c0e31 100644
--- a/appserver/jdbc/jdbc-ra/jdbc-core/src/main/java/com/sun/gjc/spi/base/ResultSetWrapper.java
+++ b/appserver/jdbc/jdbc-ra/jdbc-core/src/main/java/com/sun/gjc/spi/base/ResultSetWrapper.java
@@ -16,63 +16,71 @@
 
 package com.sun.gjc.spi.base;
 
-import com.sun.gjc.util.MethodExecutor;
-import com.sun.gjc.util.ResultSetClosedEventListener;
-import com.sun.logging.LogDomains;
 import java.io.InputStream;
 import java.io.Reader;
 import java.math.BigDecimal;
 import java.net.URL;
-import java.sql.*;
+import java.sql.Array;
+import java.sql.Blob;
+import java.sql.Clob;
+import java.sql.Date;
+import java.sql.Ref;
+import java.sql.ResultSet;
+import java.sql.ResultSetMetaData;
+import java.sql.SQLException;
+import java.sql.SQLWarning;
+import java.sql.Statement;
+import java.sql.Time;
+import java.sql.Timestamp;
 import java.util.Calendar;
 import java.util.Map;
 import java.util.logging.Logger;
 
+import com.sun.gjc.util.MethodExecutor;
+import com.sun.gjc.util.ResultSetClosedEventListener;
+import com.sun.logging.LogDomains;
 
 /**
  * Abstract class for ResultSet Wrapper <br>
  */
 public abstract class ResultSetWrapper implements ResultSet {
 
-    protected ResultSet resultSet = null;
-    protected Statement statement = null;
-    private MethodExecutor executor = null;
-    protected final static Logger _logger;
-    private ResultSetClosedEventListener eventListener = null;
+    protected final static Logger _logger = LogDomains.getLogger(MethodExecutor.class, LogDomains.RSR_LOGGER);
 
-    static {
-        _logger = LogDomains.getLogger(MethodExecutor.class, LogDomains.RSR_LOGGER);
-    }
+    protected ResultSet resultSet;
+    protected Statement statement;
+    private MethodExecutor executor;
+
+    private ResultSetClosedEventListener eventListener;
 
     /**
      * Abstract class for wrapping Statement<br>
      *
      * @param stmt Statement that is to be wrapped<br>
-     * @param rs   ResultSet that is to be wraped<br>
+     * @param rs ResultSet that is to be wraped<br>
      */
     public ResultSetWrapper(Statement stmt, ResultSet rs) {
         resultSet = rs;
         statement = stmt;
         executor = new MethodExecutor();
-        if(stmt instanceof ResultSetClosedEventListener) {
+        if (stmt instanceof ResultSetClosedEventListener) {
             eventListener = (ResultSetClosedEventListener) stmt;
         }
     }
 
     /**
-     * Moves the cursor down one row from its current position.
-     * A <code>ResultSet</code> cursor is initially positioned
-     * before the first row; the first call to the method
-     * <code>next</code> makes the first row the current row; the
-     * second call makes the second row the current row, and so on.
+     * Moves the cursor down one row from its current position. A
+     * <code>ResultSet</code> cursor is initially positioned before the first row;
+     * the first call to the method <code>next</code> makes the first row the
+     * current row; the second call makes the second row the current row, and so on.
      * <p/>
-     * <P>If an input stream is open for the current row, a call
-     * to the method <code>next</code> will
-     * implicitly close it. A <code>ResultSet</code> object's
+     * <P>
+     * If an input stream is open for the current row, a call to the method
+     * <code>next</code> will implicitly close it. A <code>ResultSet</code> object's
      * warning chain is cleared when a new row is read.
      *
-     * @return <code>true</code> if the new current row is valid;
-     *         <code>false</code> if there are no more rows
+     * @return <code>true</code> if the new current row is valid; <code>false</code>
+     * if there are no more rows
      * @throws java.sql.SQLException if a database access error occurs
      */
     public boolean next() throws SQLException {
@@ -80,17 +88,16 @@
     }
 
     /**
-     * Releases this <code>ResultSet</code> object's database and
-     * JDBC resources immediately instead of waiting for
-     * this to happen when it is automatically closed.
+     * Releases this <code>ResultSet</code> object's database and JDBC resources
+     * immediately instead of waiting for this to happen when it is automatically
+     * closed.
      * <p/>
-     * <P><B>Note:</B> A <code>ResultSet</code> object
-     * is automatically closed by the
-     * <code>Statement</code> object that generated it when
-     * that <code>Statement</code> object is closed,
-     * re-executed, or is used to retrieve the next result from a
-     * sequence of multiple results. A <code>ResultSet</code> object
-     * is also automatically closed when it is garbage collected.
+     * <P>
+     * <B>Note:</B> A <code>ResultSet</code> object is automatically closed by the
+     * <code>Statement</code> object that generated it when that
+     * <code>Statement</code> object is closed, re-executed, or is used to retrieve
+     * the next result from a sequence of multiple results. A <code>ResultSet</code>
+     * object is also automatically closed when it is garbage collected.
      *
      * @throws java.sql.SQLException if a database access error occurs
      */
@@ -102,15 +109,13 @@
     }
 
     /**
-     * Reports whether
-     * the last column read had a value of SQL <code>NULL</code>.
-     * Note that you must first call one of the getter methods
-     * on a column to try to read its value and then call
-     * the method <code>wasNull</code> to see if the value read was
-     * SQL <code>NULL</code>.
+     * Reports whether the last column read had a value of SQL <code>NULL</code>.
+     * Note that you must first call one of the getter methods on a column to try to
+     * read its value and then call the method <code>wasNull</code> to see if the
+     * value read was SQL <code>NULL</code>.
      *
      * @return <code>true</code> if the last column value read was SQL
-     *         <code>NULL</code> and <code>false</code> otherwise
+     * <code>NULL</code> and <code>false</code> otherwise
      * @throws java.sql.SQLException if a database access error occurs
      */
     public boolean wasNull() throws SQLException {
@@ -118,13 +123,13 @@
     }
 
     /**
-     * Retrieves the value of the designated column in the current row
-     * of this <code>ResultSet</code> object as
-     * a <code>String</code> in the Java programming language.
+     * Retrieves the value of the designated column in the current row of this
+     * <code>ResultSet</code> object as a <code>String</code> in the Java
+     * programming language.
      *
      * @param columnIndex the first column is 1, the second is 2, ...
-     * @return the column value; if the value is SQL <code>NULL</code>, the
-     *         value returned is <code>null</code>
+     * @return the column value; if the value is SQL <code>NULL</code>, the value
+     * returned is <code>null</code>
      * @throws java.sql.SQLException if a database access error occurs
      */
     public String getString(int columnIndex) throws SQLException {
@@ -132,13 +137,13 @@
     }
 
     /**
-     * Retrieves the value of the designated column in the current row
-     * of this <code>ResultSet</code> object as
-     * a <code>boolean</code> in the Java programming language.
+     * Retrieves the value of the designated column in the current row of this
+     * <code>ResultSet</code> object as a <code>boolean</code> in the Java
+     * programming language.
      *
      * @param columnIndex the first column is 1, the second is 2, ...
-     * @return the column value; if the value is SQL <code>NULL</code>, the
-     *         value returned is <code>false</code>
+     * @return the column value; if the value is SQL <code>NULL</code>, the value
+     * returned is <code>false</code>
      * @throws java.sql.SQLException if a database access error occurs
      */
     public boolean getBoolean(int columnIndex) throws SQLException {
@@ -146,13 +151,13 @@
     }
 
     /**
-     * Retrieves the value of the designated column in the current row
-     * of this <code>ResultSet</code> object as
-     * a <code>byte</code> in the Java programming language.
+     * Retrieves the value of the designated column in the current row of this
+     * <code>ResultSet</code> object as a <code>byte</code> in the Java programming
+     * language.
      *
      * @param columnIndex the first column is 1, the second is 2, ...
-     * @return the column value; if the value is SQL <code>NULL</code>, the
-     *         value returned is <code>0</code>
+     * @return the column value; if the value is SQL <code>NULL</code>, the value
+     * returned is <code>0</code>
      * @throws java.sql.SQLException if a database access error occurs
      */
     public byte getByte(int columnIndex) throws SQLException {
@@ -160,13 +165,13 @@
     }
 
     /**
-     * Retrieves the value of the designated column in the current row
-     * of this <code>ResultSet</code> object as
-     * a <code>short</code> in the Java programming language.
+     * Retrieves the value of the designated column in the current row of this
+     * <code>ResultSet</code> object as a <code>short</code> in the Java programming
+     * language.
      *
      * @param columnIndex the first column is 1, the second is 2, ...
-     * @return the column value; if the value is SQL <code>NULL</code>, the
-     *         value returned is <code>0</code>
+     * @return the column value; if the value is SQL <code>NULL</code>, the value
+     * returned is <code>0</code>
      * @throws java.sql.SQLException if a database access error occurs
      */
     public short getShort(int columnIndex) throws SQLException {
@@ -174,13 +179,13 @@
     }
 
     /**
-     * Retrieves the value of the designated column in the current row
-     * of this <code>ResultSet</code> object as
-     * an <code>int</code> in the Java programming language.
+     * Retrieves the value of the designated column in the current row of this
+     * <code>ResultSet</code> object as an <code>int</code> in the Java programming
+     * language.
      *
      * @param columnIndex the first column is 1, the second is 2, ...
-     * @return the column value; if the value is SQL <code>NULL</code>, the
-     *         value returned is <code>0</code>
+     * @return the column value; if the value is SQL <code>NULL</code>, the value
+     * returned is <code>0</code>
      * @throws java.sql.SQLException if a database access error occurs
      */
     public int getInt(int columnIndex) throws SQLException {
@@ -188,13 +193,13 @@
     }
 
     /**
-     * Retrieves the value of the designated column in the current row
-     * of this <code>ResultSet</code> object as
-     * a <code>long</code> in the Java programming language.
+     * Retrieves the value of the designated column in the current row of this
+     * <code>ResultSet</code> object as a <code>long</code> in the Java programming
+     * language.
      *
      * @param columnIndex the first column is 1, the second is 2, ...
-     * @return the column value; if the value is SQL <code>NULL</code>, the
-     *         value returned is <code>0</code>
+     * @return the column value; if the value is SQL <code>NULL</code>, the value
+     * returned is <code>0</code>
      * @throws java.sql.SQLException if a database access error occurs
      */
     public long getLong(int columnIndex) throws SQLException {
@@ -202,13 +207,13 @@
     }
 
     /**
-     * Retrieves the value of the designated column in the current row
-     * of this <code>ResultSet</code> object as
-     * a <code>float</code> in the Java programming language.
+     * Retrieves the value of the designated column in the current row of this
+     * <code>ResultSet</code> object as a <code>float</code> in the Java programming
+     * language.
      *
      * @param columnIndex the first column is 1, the second is 2, ...
-     * @return the column value; if the value is SQL <code>NULL</code>, the
-     *         value returned is <code>0</code>
+     * @return the column value; if the value is SQL <code>NULL</code>, the value
+     * returned is <code>0</code>
      * @throws java.sql.SQLException if a database access error occurs
      */
     public float getFloat(int columnIndex) throws SQLException {
@@ -216,13 +221,13 @@
     }
 
     /**
-     * Retrieves the value of the designated column in the current row
-     * of this <code>ResultSet</code> object as
-     * a <code>double</code> in the Java programming language.
+     * Retrieves the value of the designated column in the current row of this
+     * <code>ResultSet</code> object as a <code>double</code> in the Java
+     * programming language.
      *
      * @param columnIndex the first column is 1, the second is 2, ...
-     * @return the column value; if the value is SQL <code>NULL</code>, the
-     *         value returned is <code>0</code>
+     * @return the column value; if the value is SQL <code>NULL</code>, the value
+     * returned is <code>0</code>
      * @throws java.sql.SQLException if a database access error occurs
      */
     public double getDouble(int columnIndex) throws SQLException {
@@ -230,14 +235,14 @@
     }
 
     /**
-     * Retrieves the value of the designated column in the current row
-     * of this <code>ResultSet</code> object as
-     * a <code>java.sql.BigDecimal</code> in the Java programming language.
+     * Retrieves the value of the designated column in the current row of this
+     * <code>ResultSet</code> object as a <code>java.sql.BigDecimal</code> in the
+     * Java programming language.
      *
      * @param columnIndex the first column is 1, the second is 2, ...
-     * @param scale       the number of digits to the right of the decimal point
-     * @return the column value; if the value is SQL <code>NULL</code>, the
-     *         value returned is <code>null</code>
+     * @param scale the number of digits to the right of the decimal point
+     * @return the column value; if the value is SQL <code>NULL</code>, the value
+     * returned is <code>null</code>
      * @throws java.sql.SQLException if a database access error occurs
      * @deprecated
      */
@@ -247,14 +252,14 @@
     }
 
     /**
-     * Retrieves the value of the designated column in the current row
-     * of this <code>ResultSet</code> object as
-     * a <code>byte</code> array in the Java programming language.
-     * The bytes represent the raw values returned by the driver.
+     * Retrieves the value of the designated column in the current row of this
+     * <code>ResultSet</code> object as a <code>byte</code> array in the Java
+     * programming language. The bytes represent the raw values returned by the
+     * driver.
      *
      * @param columnIndex the first column is 1, the second is 2, ...
-     * @return the column value; if the value is SQL <code>NULL</code>, the
-     *         value returned is <code>null</code>
+     * @return the column value; if the value is SQL <code>NULL</code>, the value
+     * returned is <code>null</code>
      * @throws java.sql.SQLException if a database access error occurs
      */
     public byte[] getBytes(int columnIndex) throws SQLException {
@@ -262,13 +267,13 @@
     }
 
     /**
-     * Retrieves the value of the designated column in the current row
-     * of this <code>ResultSet</code> object as
-     * a <code>java.sql.Date</code> object in the Java programming language.
+     * Retrieves the value of the designated column in the current row of this
+     * <code>ResultSet</code> object as a <code>java.sql.Date</code> object in the
+     * Java programming language.
      *
      * @param columnIndex the first column is 1, the second is 2, ...
-     * @return the column value; if the value is SQL <code>NULL</code>, the
-     *         value returned is <code>null</code>
+     * @return the column value; if the value is SQL <code>NULL</code>, the value
+     * returned is <code>null</code>
      * @throws java.sql.SQLException if a database access error occurs
      */
     public Date getDate(int columnIndex) throws SQLException {
@@ -276,13 +281,13 @@
     }
 
     /**
-     * Retrieves the value of the designated column in the current row
-     * of this <code>ResultSet</code> object as
-     * a <code>java.sql.Time</code> object in the Java programming language.
+     * Retrieves the value of the designated column in the current row of this
+     * <code>ResultSet</code> object as a <code>java.sql.Time</code> object in the
+     * Java programming language.
      *
      * @param columnIndex the first column is 1, the second is 2, ...
-     * @return the column value; if the value is SQL <code>NULL</code>, the
-     *         value returned is <code>null</code>
+     * @return the column value; if the value is SQL <code>NULL</code>, the value
+     * returned is <code>null</code>
      * @throws java.sql.SQLException if a database access error occurs
      */
     public Time getTime(int columnIndex) throws SQLException {
@@ -290,13 +295,13 @@
     }
 
     /**
-     * Retrieves the value of the designated column in the current row
-     * of this <code>ResultSet</code> object as
-     * a <code>java.sql.Timestamp</code> object in the Java programming language.
+     * Retrieves the value of the designated column in the current row of this
+     * <code>ResultSet</code> object as a <code>java.sql.Timestamp</code> object in
+     * the Java programming language.
      *
      * @param columnIndex the first column is 1, the second is 2, ...
-     * @return the column value; if the value is SQL <code>NULL</code>, the
-     *         value returned is <code>null</code>
+     * @return the column value; if the value is SQL <code>NULL</code>, the value
+     * returned is <code>null</code>
      * @throws java.sql.SQLException if a database access error occurs
      */
     public Timestamp getTimestamp(int columnIndex) throws SQLException {
@@ -304,26 +309,23 @@
     }
 
     /**
-     * Retrieves the value of the designated column in the current row
-     * of this <code>ResultSet</code> object as
-     * a stream of ASCII characters. The value can then be read in chunks from the
-     * stream. This method is particularly
-     * suitable for retrieving large <char>LONGVARCHAR</char> values.
-     * The JDBC driver will
-     * do any necessary conversion from the database format into ASCII.
+     * Retrieves the value of the designated column in the current row of this
+     * <code>ResultSet</code> object as a stream of ASCII characters. The value can
+     * then be read in chunks from the stream. This method is particularly suitable
+     * for retrieving large <char>LONGVARCHAR</char> values. The JDBC driver will do
+     * any necessary conversion from the database format into ASCII.
      * <p/>
-     * <P><B>Note:</B> All the data in the returned stream must be
-     * read prior to getting the value of any other column. The next
-     * call to a getter method implicitly closes the stream.  Also, a
-     * stream may return <code>0</code> when the method
-     * <code>InputStream.available</code>
-     * is called whether there is data available or not.
+     * <P>
+     * <B>Note:</B> All the data in the returned stream must be read prior to
+     * getting the value of any other column. The next call to a getter method
+     * implicitly closes the stream. Also, a stream may return <code>0</code> when
+     * the method <code>InputStream.available</code> is called whether there is data
+     * available or not.
      *
      * @param columnIndex the first column is 1, the second is 2, ...
-     * @return a Java input stream that delivers the database column value
-     *         as a stream of one-byte ASCII characters;
-     *         if the value is SQL <code>NULL</code>, the
-     *         value returned is <code>null</code>
+     * @return a Java input stream that delivers the database column value as a
+     * stream of one-byte ASCII characters; if the value is SQL <code>NULL</code>,
+     * the value returned is <code>null</code>
      * @throws java.sql.SQLException if a database access error occurs
      */
     public InputStream getAsciiStream(int columnIndex) throws SQLException {
@@ -331,32 +333,29 @@
     }
 
     /**
-     * Retrieves the value of the designated column in the current row
-     * of this <code>ResultSet</code> object as
-     * as a stream of two-byte Unicode characters. The first byte is
-     * the high byte; the second byte is the low byte.
+     * Retrieves the value of the designated column in the current row of this
+     * <code>ResultSet</code> object as as a stream of two-byte Unicode characters.
+     * The first byte is the high byte; the second byte is the low byte.
      * <p/>
-     * The value can then be read in chunks from the
-     * stream. This method is particularly
-     * suitable for retrieving large <code>LONGVARCHAR</code>values.  The
-     * JDBC driver will do any necessary conversion from the database
-     * format into Unicode.
+     * The value can then be read in chunks from the stream. This method is
+     * particularly suitable for retrieving large <code>LONGVARCHAR</code>values.
+     * The JDBC driver will do any necessary conversion from the database format
+     * into Unicode.
      * <p/>
-     * <P><B>Note:</B> All the data in the returned stream must be
-     * read prior to getting the value of any other column. The next
-     * call to a getter method implicitly closes the stream.
-     * Also, a stream may return <code>0</code> when the method
-     * <code>InputStream.available</code>
-     * is called, whether there is data available or not.
+     * <P>
+     * <B>Note:</B> All the data in the returned stream must be read prior to
+     * getting the value of any other column. The next call to a getter method
+     * implicitly closes the stream. Also, a stream may return <code>0</code> when
+     * the method <code>InputStream.available</code> is called, whether there is
+     * data available or not.
      *
      * @param columnIndex the first column is 1, the second is 2, ...
-     * @return a Java input stream that delivers the database column value
-     *         as a stream of two-byte Unicode characters;
-     *         if the value is SQL <code>NULL</code>, the value returned is
-     *         <code>null</code>
+     * @return a Java input stream that delivers the database column value as a
+     * stream of two-byte Unicode characters; if the value is SQL <code>NULL</code>,
+     * the value returned is <code>null</code>
      * @throws java.sql.SQLException if a database access error occurs
      * @deprecated use <code>getCharacterStream</code> in place of
-     *             <code>getUnicodeStream</code>
+     * <code>getUnicodeStream</code>
      */
     @Deprecated
     public InputStream getUnicodeStream(int columnIndex) throws SQLException {
@@ -364,24 +363,22 @@
     }
 
     /**
-     * Retrieves the value of the designated column in the current row
-     * of this <code>ResultSet</code> object as a binary stream of
-     * uninterpreted bytes. The value can then be read in chunks from the
-     * stream. This method is particularly
+     * Retrieves the value of the designated column in the current row of this
+     * <code>ResultSet</code> object as a binary stream of uninterpreted bytes. The
+     * value can then be read in chunks from the stream. This method is particularly
      * suitable for retrieving large <code>LONGVARBINARY</code> values.
      * <p/>
-     * <P><B>Note:</B> All the data in the returned stream must be
-     * read prior to getting the value of any other column. The next
-     * call to a getter method implicitly closes the stream.  Also, a
-     * stream may return <code>0</code> when the method
-     * <code>InputStream.available</code>
-     * is called whether there is data available or not.
+     * <P>
+     * <B>Note:</B> All the data in the returned stream must be read prior to
+     * getting the value of any other column. The next call to a getter method
+     * implicitly closes the stream. Also, a stream may return <code>0</code> when
+     * the method <code>InputStream.available</code> is called whether there is data
+     * available or not.
      *
      * @param columnIndex the first column is 1, the second is 2, ...
-     * @return a Java input stream that delivers the database column value
-     *         as a stream of uninterpreted bytes;
-     *         if the value is SQL <code>NULL</code>, the value returned is
-     *         <code>null</code>
+     * @return a Java input stream that delivers the database column value as a
+     * stream of uninterpreted bytes; if the value is SQL <code>NULL</code>, the
+     * value returned is <code>null</code>
      * @throws java.sql.SQLException if a database access error occurs
      */
     public InputStream getBinaryStream(int columnIndex) throws SQLException {
@@ -389,13 +386,13 @@
     }
 
     /**
-     * Retrieves the value of the designated column in the current row
-     * of this <code>ResultSet</code> object as
-     * a <code>String</code> in the Java programming language.
+     * Retrieves the value of the designated column in the current row of this
+     * <code>ResultSet</code> object as a <code>String</code> in the Java
+     * programming language.
      *
      * @param columnName the SQL name of the column
-     * @return the column value; if the value is SQL <code>NULL</code>, the
-     *         value returned is <code>null</code>
+     * @return the column value; if the value is SQL <code>NULL</code>, the value
+     * returned is <code>null</code>
      * @throws java.sql.SQLException if a database access error occurs
      */
     public String getString(String columnName) throws SQLException {
@@ -403,13 +400,13 @@
     }
 
     /**
-     * Retrieves the value of the designated column in the current row
-     * of this <code>ResultSet</code> object as
-     * a <code>boolean</code> in the Java programming language.
+     * Retrieves the value of the designated column in the current row of this
+     * <code>ResultSet</code> object as a <code>boolean</code> in the Java
+     * programming language.
      *
      * @param columnName the SQL name of the column
-     * @return the column value; if the value is SQL <code>NULL</code>, the
-     *         value returned is <code>false</code>
+     * @return the column value; if the value is SQL <code>NULL</code>, the value
+     * returned is <code>false</code>
      * @throws java.sql.SQLException if a database access error occurs
      */
     public boolean getBoolean(String columnName) throws SQLException {
@@ -417,13 +414,13 @@
     }
 
     /**
-     * Retrieves the value of the designated column in the current row
-     * of this <code>ResultSet</code> object as
-     * a <code>byte</code> in the Java programming language.
+     * Retrieves the value of the designated column in the current row of this
+     * <code>ResultSet</code> object as a <code>byte</code> in the Java programming
+     * language.
      *
      * @param columnName the SQL name of the column
-     * @return the column value; if the value is SQL <code>NULL</code>, the
-     *         value returned is <code>0</code>
+     * @return the column value; if the value is SQL <code>NULL</code>, the value
+     * returned is <code>0</code>
      * @throws java.sql.SQLException if a database access error occurs
      */
     public byte getByte(String columnName) throws SQLException {
@@ -431,13 +428,13 @@
     }
 
     /**
-     * Retrieves the value of the designated column in the current row
-     * of this <code>ResultSet</code> object as
-     * a <code>short</code> in the Java programming language.
+     * Retrieves the value of the designated column in the current row of this
+     * <code>ResultSet</code> object as a <code>short</code> in the Java programming
+     * language.
      *
      * @param columnName the SQL name of the column
-     * @return the column value; if the value is SQL <code>NULL</code>, the
-     *         value returned is <code>0</code>
+     * @return the column value; if the value is SQL <code>NULL</code>, the value
+     * returned is <code>0</code>
      * @throws java.sql.SQLException if a database access error occurs
      */
     public short getShort(String columnName) throws SQLException {
@@ -445,13 +442,13 @@
     }
 
     /**
-     * Retrieves the value of the designated column in the current row
-     * of this <code>ResultSet</code> object as
-     * an <code>int</code> in the Java programming language.
+     * Retrieves the value of the designated column in the current row of this
+     * <code>ResultSet</code> object as an <code>int</code> in the Java programming
+     * language.
      *
      * @param columnName the SQL name of the column
-     * @return the column value; if the value is SQL <code>NULL</code>, the
-     *         value returned is <code>0</code>
+     * @return the column value; if the value is SQL <code>NULL</code>, the value
+     * returned is <code>0</code>
      * @throws java.sql.SQLException if a database access error occurs
      */
     public int getInt(String columnName) throws SQLException {
@@ -459,13 +456,13 @@
     }
 
     /**
-     * Retrieves the value of the designated column in the current row
-     * of this <code>ResultSet</code> object as
-     * a <code>long</code> in the Java programming language.
+     * Retrieves the value of the designated column in the current row of this
+     * <code>ResultSet</code> object as a <code>long</code> in the Java programming
+     * language.
      *
      * @param columnName the SQL name of the column
-     * @return the column value; if the value is SQL <code>NULL</code>, the
-     *         value returned is <code>0</code>
+     * @return the column value; if the value is SQL <code>NULL</code>, the value
+     * returned is <code>0</code>
      * @throws java.sql.SQLException if a database access error occurs
      */
     public long getLong(String columnName) throws SQLException {
@@ -473,13 +470,13 @@
     }
 
     /**
-     * Retrieves the value of the designated column in the current row
-     * of this <code>ResultSet</code> object as
-     * a <code>float</code> in the Java programming language.
+     * Retrieves the value of the designated column in the current row of this
+     * <code>ResultSet</code> object as a <code>float</code> in the Java programming
+     * language.
      *
      * @param columnName the SQL name of the column
-     * @return the column value; if the value is SQL <code>NULL</code>, the
-     *         value returned is <code>0</code>
+     * @return the column value; if the value is SQL <code>NULL</code>, the value
+     * returned is <code>0</code>
      * @throws java.sql.SQLException if a database access error occurs
      */
     public float getFloat(String columnName) throws SQLException {
@@ -487,13 +484,13 @@
     }
 
     /**
-     * Retrieves the value of the designated column in the current row
-     * of this <code>ResultSet</code> object as
-     * a <code>double</code> in the Java programming language.
+     * Retrieves the value of the designated column in the current row of this
+     * <code>ResultSet</code> object as a <code>double</code> in the Java
+     * programming language.
      *
      * @param columnName the SQL name of the column
-     * @return the column value; if the value is SQL <code>NULL</code>, the
-     *         value returned is <code>0</code>
+     * @return the column value; if the value is SQL <code>NULL</code>, the value
+     * returned is <code>0</code>
      * @throws java.sql.SQLException if a database access error occurs
      */
     public double getDouble(String columnName) throws SQLException {
@@ -501,14 +498,14 @@
     }
 
     /**
-     * Retrieves the value of the designated column in the current row
-     * of this <code>ResultSet</code> object as
-     * a <code>java.math.BigDecimal</code> in the Java programming language.
+     * Retrieves the value of the designated column in the current row of this
+     * <code>ResultSet</code> object as a <code>java.math.BigDecimal</code> in the
+     * Java programming language.
      *
      * @param columnName the SQL name of the column
-     * @param scale      the number of digits to the right of the decimal point
-     * @return the column value; if the value is SQL <code>NULL</code>, the
-     *         value returned is <code>null</code>
+     * @param scale the number of digits to the right of the decimal point
+     * @return the column value; if the value is SQL <code>NULL</code>, the value
+     * returned is <code>null</code>
      * @throws java.sql.SQLException if a database access error occurs
      * @deprecated
      */
@@ -518,14 +515,14 @@
     }
 
     /**
-     * Retrieves the value of the designated column in the current row
-     * of this <code>ResultSet</code> object as
-     * a <code>byte</code> array in the Java programming language.
-     * The bytes represent the raw values returned by the driver.
+     * Retrieves the value of the designated column in the current row of this
+     * <code>ResultSet</code> object as a <code>byte</code> array in the Java
+     * programming language. The bytes represent the raw values returned by the
+     * driver.
      *
      * @param columnName the SQL name of the column
-     * @return the column value; if the value is SQL <code>NULL</code>, the
-     *         value returned is <code>null</code>
+     * @return the column value; if the value is SQL <code>NULL</code>, the value
+     * returned is <code>null</code>
      * @throws java.sql.SQLException if a database access error occurs
      */
     public byte[] getBytes(String columnName) throws SQLException {
@@ -533,13 +530,13 @@
     }
 
     /**
-     * Retrieves the value of the designated column in the current row
-     * of this <code>ResultSet</code> object as
-     * a <code>java.sql.Date</code> object in the Java programming language.
+     * Retrieves the value of the designated column in the current row of this
+     * <code>ResultSet</code> object as a <code>java.sql.Date</code> object in the
+     * Java programming language.
      *
      * @param columnName the SQL name of the column
-     * @return the column value; if the value is SQL <code>NULL</code>, the
-     *         value returned is <code>null</code>
+     * @return the column value; if the value is SQL <code>NULL</code>, the value
+     * returned is <code>null</code>
      * @throws java.sql.SQLException if a database access error occurs
      */
     public Date getDate(String columnName) throws SQLException {
@@ -547,14 +544,13 @@
     }
 
     /**
-     * Retrieves the value of the designated column in the current row
-     * of this <code>ResultSet</code> object as
-     * a <code>java.sql.Time</code> object in the Java programming language.
+     * Retrieves the value of the designated column in the current row of this
+     * <code>ResultSet</code> object as a <code>java.sql.Time</code> object in the
+     * Java programming language.
      *
      * @param columnName the SQL name of the column
-     * @return the column value;
-     *         if the value is SQL <code>NULL</code>,
-     *         the value returned is <code>null</code>
+     * @return the column value; if the value is SQL <code>NULL</code>, the value
+     * returned is <code>null</code>
      * @throws java.sql.SQLException if a database access error occurs
      */
     public Time getTime(String columnName) throws SQLException {
@@ -562,13 +558,12 @@
     }
 
     /**
-     * Retrieves the value of the designated column in the current row
-     * of this <code>ResultSet</code> object as
-     * a <code>java.sql.Timestamp</code> object.
+     * Retrieves the value of the designated column in the current row of this
+     * <code>ResultSet</code> object as a <code>java.sql.Timestamp</code> object.
      *
      * @param columnName the SQL name of the column
-     * @return the column value; if the value is SQL <code>NULL</code>, the
-     *         value returned is <code>null</code>
+     * @return the column value; if the value is SQL <code>NULL</code>, the value
+     * returned is <code>null</code>
      * @throws java.sql.SQLException if a database access error occurs
      */
     public Timestamp getTimestamp(String columnName) throws SQLException {
@@ -576,25 +571,23 @@
     }
 
     /**
-     * Retrieves the value of the designated column in the current row
-     * of this <code>ResultSet</code> object as a stream of
-     * ASCII characters. The value can then be read in chunks from the
-     * stream. This method is particularly
-     * suitable for retrieving large <code>LONGVARCHAR</code> values.
-     * The JDBC driver will
-     * do any necessary conversion from the database format into ASCII.
+     * Retrieves the value of the designated column in the current row of this
+     * <code>ResultSet</code> object as a stream of ASCII characters. The value can
+     * then be read in chunks from the stream. This method is particularly suitable
+     * for retrieving large <code>LONGVARCHAR</code> values. The JDBC driver will do
+     * any necessary conversion from the database format into ASCII.
      * <p/>
-     * <P><B>Note:</B> All the data in the returned stream must be
-     * read prior to getting the value of any other column. The next
-     * call to a getter method implicitly closes the stream. Also, a
-     * stream may return <code>0</code> when the method <code>available</code>
-     * is called whether there is data available or not.
+     * <P>
+     * <B>Note:</B> All the data in the returned stream must be read prior to
+     * getting the value of any other column. The next call to a getter method
+     * implicitly closes the stream. Also, a stream may return <code>0</code> when
+     * the method <code>available</code> is called whether there is data available
+     * or not.
      *
      * @param columnName the SQL name of the column
-     * @return a Java input stream that delivers the database column value
-     *         as a stream of one-byte ASCII characters.
-     *         If the value is SQL <code>NULL</code>,
-     *         the value returned is <code>null</code>.
+     * @return a Java input stream that delivers the database column value as a
+     * stream of one-byte ASCII characters. If the value is SQL <code>NULL</code>,
+     * the value returned is <code>null</code>.
      * @throws java.sql.SQLException if a database access error occurs
      */
     public InputStream getAsciiStream(String columnName) throws SQLException {
@@ -602,29 +595,26 @@
     }
 
     /**
-     * Retrieves the value of the designated column in the current row
-     * of this <code>ResultSet</code> object as a stream of two-byte
-     * Unicode characters. The first byte is the high byte; the second
-     * byte is the low byte.
+     * Retrieves the value of the designated column in the current row of this
+     * <code>ResultSet</code> object as a stream of two-byte Unicode characters. The
+     * first byte is the high byte; the second byte is the low byte.
      * <p/>
-     * The value can then be read in chunks from the
-     * stream. This method is particularly
-     * suitable for retrieving large <code>LONGVARCHAR</code> values.
-     * The JDBC technology-enabled driver will
-     * do any necessary conversion from the database format into Unicode.
+     * The value can then be read in chunks from the stream. This method is
+     * particularly suitable for retrieving large <code>LONGVARCHAR</code> values.
+     * The JDBC technology-enabled driver will do any necessary conversion from the
+     * database format into Unicode.
      * <p/>
-     * <P><B>Note:</B> All the data in the returned stream must be
-     * read prior to getting the value of any other column. The next
-     * call to a getter method implicitly closes the stream.
-     * Also, a stream may return <code>0</code> when the method
-     * <code>InputStream.available</code> is called, whether there
-     * is data available or not.
+     * <P>
+     * <B>Note:</B> All the data in the returned stream must be read prior to
+     * getting the value of any other column. The next call to a getter method
+     * implicitly closes the stream. Also, a stream may return <code>0</code> when
+     * the method <code>InputStream.available</code> is called, whether there is
+     * data available or not.
      *
      * @param columnName the SQL name of the column
-     * @return a Java input stream that delivers the database column value
-     *         as a stream of two-byte Unicode characters.
-     *         If the value is SQL <code>NULL</code>, the value returned
-     *         is <code>null</code>.
+     * @return a Java input stream that delivers the database column value as a
+     * stream of two-byte Unicode characters. If the value is SQL <code>NULL</code>,
+     * the value returned is <code>null</code>.
      * @throws java.sql.SQLException if a database access error occurs
      * @deprecated use <code>getCharacterStream</code> instead
      */
@@ -634,24 +624,23 @@
     }
 
     /**
-     * Retrieves the value of the designated column in the current row
-     * of this <code>ResultSet</code> object as a stream of uninterpreted
-     * <code>byte</code>s.
-     * The value can then be read in chunks from the
-     * stream. This method is particularly
-     * suitable for retrieving large <code>LONGVARBINARY</code>
-     * values.
+     * Retrieves the value of the designated column in the current row of this
+     * <code>ResultSet</code> object as a stream of uninterpreted
+     * <code>byte</code>s. The value can then be read in chunks from the stream.
+     * This method is particularly suitable for retrieving large
+     * <code>LONGVARBINARY</code> values.
      * <p/>
-     * <P><B>Note:</B> All the data in the returned stream must be
-     * read prior to getting the value of any other column. The next
-     * call to a getter method implicitly closes the stream. Also, a
-     * stream may return <code>0</code> when the method <code>available</code>
-     * is called whether there is data available or not.
+     * <P>
+     * <B>Note:</B> All the data in the returned stream must be read prior to
+     * getting the value of any other column. The next call to a getter method
+     * implicitly closes the stream. Also, a stream may return <code>0</code> when
+     * the method <code>available</code> is called whether there is data available
+     * or not.
      *
      * @param columnName the SQL name of the column
-     * @return a Java input stream that delivers the database column value
-     *         as a stream of uninterpreted bytes;
-     *         if the value is SQL <code>NULL</code>, the result is <code>null</code>
+     * @return a Java input stream that delivers the database column value as a
+     * stream of uninterpreted bytes; if the value is SQL <code>NULL</code>, the
+     * result is <code>null</code>
      * @throws java.sql.SQLException if a database access error occurs
      */
     public InputStream getBinaryStream(String columnName) throws SQLException {
@@ -659,37 +648,34 @@
     }
 
     /**
-     * Retrieves the first warning reported by calls on this
-     * <code>ResultSet</code> object.
-     * Subsequent warnings on this <code>ResultSet</code> object
-     * will be chained to the <code>SQLWarning</code> object that
-     * this method returns.
+     * Retrieves the first warning reported by calls on this <code>ResultSet</code>
+     * object. Subsequent warnings on this <code>ResultSet</code> object will be
+     * chained to the <code>SQLWarning</code> object that this method returns.
      * <p/>
-     * <P>The warning chain is automatically cleared each time a new
-     * row is read.  This method may not be called on a <code>ResultSet</code>
-     * object that has been closed; doing so will cause an
-     * <code>SQLException</code> to be thrown.
+     * <P>
+     * The warning chain is automatically cleared each time a new row is read. This
+     * method may not be called on a <code>ResultSet</code> object that has been
+     * closed; doing so will cause an <code>SQLException</code> to be thrown.
      * <p/>
-     * <B>Note:</B> This warning chain only covers warnings caused
-     * by <code>ResultSet</code> methods.  Any warning caused by
-     * <code>Statement</code> methods
-     * (such as reading OUT parameters) will be chained on the
+     * <B>Note:</B> This warning chain only covers warnings caused by
+     * <code>ResultSet</code> methods. Any warning caused by <code>Statement</code>
+     * methods (such as reading OUT parameters) will be chained on the
      * <code>Statement</code> object.
      *
      * @return the first <code>SQLWarning</code> object reported or
-     *         <code>null</code> if there are none
-     * @throws java.sql.SQLException if a database access error occurs or this method is
-     *                               called on a closed result set
+     * <code>null</code> if there are none
+     * @throws java.sql.SQLException if a database access error occurs or this
+     * method is called on a closed result set
      */
     public SQLWarning getWarnings() throws SQLException {
         return resultSet.getWarnings();
     }
 
     /**
-     * Clears all warnings reported on this <code>ResultSet</code> object.
-     * After this method is called, the method <code>getWarnings</code>
-     * returns <code>null</code> until a new warning is
-     * reported for this <code>ResultSet</code> object.
+     * Clears all warnings reported on this <code>ResultSet</code> object. After
+     * this method is called, the method <code>getWarnings</code> returns
+     * <code>null</code> until a new warning is reported for this
+     * <code>ResultSet</code> object.
      *
      * @throws java.sql.SQLException if a database access error occurs
      */
@@ -701,20 +687,22 @@
      * Retrieves the name of the SQL cursor used by this <code>ResultSet</code>
      * object.
      * <p/>
-     * <P>In SQL, a result table is retrieved through a cursor that is
-     * named. The current row of a result set can be updated or deleted
-     * using a positioned update/delete statement that references the
-     * cursor name. To insure that the cursor has the proper isolation
-     * level to support update, the cursor's <code>SELECT</code> statement
-     * should be of the form <code>SELECT FOR UPDATE</code>. If
-     * <code>FOR UPDATE</code> is omitted, the positioned updates may fail.
+     * <P>
+     * In SQL, a result table is retrieved through a cursor that is named. The
+     * current row of a result set can be updated or deleted using a positioned
+     * update/delete statement that references the cursor name. To insure that the
+     * cursor has the proper isolation level to support update, the cursor's
+     * <code>SELECT</code> statement should be of the form
+     * <code>SELECT FOR UPDATE</code>. If <code>FOR UPDATE</code> is omitted, the
+     * positioned updates may fail.
      * <p/>
-     * <P>The JDBC API supports this SQL feature by providing the name of the
-     * SQL cursor used by a <code>ResultSet</code> object.
-     * The current row of a <code>ResultSet</code> object
-     * is also the current row of this SQL cursor.
+     * <P>
+     * The JDBC API supports this SQL feature by providing the name of the SQL
+     * cursor used by a <code>ResultSet</code> object. The current row of a
+     * <code>ResultSet</code> object is also the current row of this SQL cursor.
      * <p/>
-     * <P><B>Note:</B> If positioned update is not supported, a
+     * <P>
+     * <B>Note:</B> If positioned update is not supported, a
      * <code>SQLException</code> is thrown.
      *
      * @return the SQL name for this <code>ResultSet</code> object's cursor
@@ -725,8 +713,8 @@
     }
 
     /**
-     * Retrieves the  number, types and properties of
-     * this <code>ResultSet</code> object's columns.
+     * Retrieves the number, types and properties of this <code>ResultSet</code>
+     * object's columns.
      *
      * @return the description of this <code>ResultSet</code> object's columns
      * @throws java.sql.SQLException if a database access error occurs
@@ -736,25 +724,25 @@
     }
 
     /**
-     * <p>Gets the value of the designated column in the current row
-     * of this <code>ResultSet</code> object as
-     * an <code>Object</code> in the Java programming language.
+     * <p>
+     * Gets the value of the designated column in the current row of this
+     * <code>ResultSet</code> object as an <code>Object</code> in the Java
+     * programming language.
      * <p/>
-     * <p>This method will return the value of the given column as a
-     * Java object.  The type of the Java object will be the default
-     * Java object type corresponding to the column's SQL type,
-     * following the mapping for built-in types specified in the JDBC
-     * specification. If the value is an SQL <code>NULL</code>,
-     * the driver returns a Java <code>null</code>.
+     * <p>
+     * This method will return the value of the given column as a Java object. The
+     * type of the Java object will be the default Java object type corresponding to
+     * the column's SQL type, following the mapping for built-in types specified in
+     * the JDBC specification. If the value is an SQL <code>NULL</code>, the driver
+     * returns a Java <code>null</code>.
      * <p/>
-     * <p>This method may also be used to read database-specific
-     * abstract data types.
+     * <p>
+     * This method may also be used to read database-specific abstract data types.
      * <p/>
-     * In the JDBC 2.0 API, the behavior of method
-     * <code>getObject</code> is extended to materialize
-     * data of SQL user-defined types.  When a column contains
-     * a structured or distinct value, the behavior of this method is as
-     * if it were a call to: <code>getObject(columnIndex,
+     * In the JDBC 2.0 API, the behavior of method <code>getObject</code> is
+     * extended to materialize data of SQL user-defined types. When a column
+     * contains a structured or distinct value, the behavior of this method is as if
+     * it were a call to: <code>getObject(columnIndex,
      * this.getStatement().getConnection().getTypeMap())</code>.
      *
      * @param columnIndex the first column is 1, the second is 2, ...
@@ -766,25 +754,24 @@
     }
 
     /**
-     * <p>Gets the value of the designated column in the current row
-     * of this <code>ResultSet</code> object as
-     * an <code>Object</code> in the Java programming language.
+     * <p>
+     * Gets the value of the designated column in the current row of this
+     * <code>ResultSet</code> object as an <code>Object</code> in the Java
+     * programming language.
      * <p/>
-     * <p>This method will return the value of the given column as a
-     * Java object.  The type of the Java object will be the default
-     * Java object type corresponding to the column's SQL type,
-     * following the mapping for built-in types specified in the JDBC
-     * specification. If the value is an SQL <code>NULL</code>,
-     * the driver returns a Java <code>null</code>.
+     * <p>
+     * This method will return the value of the given column as a Java object. The
+     * type of the Java object will be the default Java object type corresponding to
+     * the column's SQL type, following the mapping for built-in types specified in
+     * the JDBC specification. If the value is an SQL <code>NULL</code>, the driver
+     * returns a Java <code>null</code>.
      * <p/>
-     * This method may also be used to read database-specific
-     * abstract data types.
+     * This method may also be used to read database-specific abstract data types.
      * <p/>
-     * In the JDBC 2.0 API, the behavior of the method
-     * <code>getObject</code> is extended to materialize
-     * data of SQL user-defined types.  When a column contains
-     * a structured or distinct value, the behavior of this method is as
-     * if it were a call to: <code>getObject(columnIndex,
+     * In the JDBC 2.0 API, the behavior of the method <code>getObject</code> is
+     * extended to materialize data of SQL user-defined types. When a column
+     * contains a structured or distinct value, the behavior of this method is as if
+     * it were a call to: <code>getObject(columnIndex,
      * this.getStatement().getConnection().getTypeMap())</code>.
      *
      * @param columnName the SQL name of the column
@@ -801,22 +788,21 @@
      *
      * @param columnName the name of the column
      * @return the column index of the given column name
-     * @throws java.sql.SQLException if the <code>ResultSet</code> object
-     *                               does not contain <code>columnName</code> or a database access error occurs
+     * @throws java.sql.SQLException if the <code>ResultSet</code> object does not
+     * contain <code>columnName</code> or a database access error occurs
      */
     public int findColumn(String columnName) throws SQLException {
         return resultSet.findColumn(columnName);
     }
 
     /**
-     * Retrieves the value of the designated column in the current row
-     * of this <code>ResultSet</code> object as a
-     * <code>java.io.Reader</code> object.
+     * Retrieves the value of the designated column in the current row of this
+     * <code>ResultSet</code> object as a <code>java.io.Reader</code> object.
      *
      * @param columnIndex the first column is 1, the second is 2, ...
-     * @return a <code>java.io.Reader</code> object that contains the column
-     *         value; if the value is SQL <code>NULL</code>, the value returned is
-     *         <code>null</code> in the Java programming language.
+     * @return a <code>java.io.Reader</code> object that contains the column value;
+     * if the value is SQL <code>NULL</code>, the value returned is
+     * <code>null</code> in the Java programming language.
      * @throws java.sql.SQLException if a database access error occurs
      * @since 1.2
      */
@@ -825,14 +811,13 @@
     }
 
     /**
-     * Retrieves the value of the designated column in the current row
-     * of this <code>ResultSet</code> object as a
-     * <code>java.io.Reader</code> object.
+     * Retrieves the value of the designated column in the current row of this
+     * <code>ResultSet</code> object as a <code>java.io.Reader</code> object.
      *
      * @param columnName the name of the column
-     * @return a <code>java.io.Reader</code> object that contains the column
-     *         value; if the value is SQL <code>NULL</code>, the value returned is
-     *         <code>null</code> in the Java programming language
+     * @return a <code>java.io.Reader</code> object that contains the column value;
+     * if the value is SQL <code>NULL</code>, the value returned is
+     * <code>null</code> in the Java programming language
      * @throws java.sql.SQLException if a database access error occurs
      * @since 1.2
      */
@@ -841,14 +826,14 @@
     }
 
     /**
-     * Retrieves the value of the designated column in the current row
-     * of this <code>ResultSet</code> object as a
-     * <code>java.math.BigDecimal</code> with full precision.
+     * Retrieves the value of the designated column in the current row of this
+     * <code>ResultSet</code> object as a <code>java.math.BigDecimal</code> with
+     * full precision.
      *
      * @param columnIndex the first column is 1, the second is 2, ...
-     * @return the column value (full precision);
-     *         if the value is SQL <code>NULL</code>, the value returned is
-     *         <code>null</code> in the Java programming language.
+     * @return the column value (full precision); if the value is SQL
+     * <code>NULL</code>, the value returned is <code>null</code> in the Java
+     * programming language.
      * @throws java.sql.SQLException if a database access error occurs
      * @since 1.2
      */
@@ -857,14 +842,14 @@
     }
 
     /**
-     * Retrieves the value of the designated column in the current row
-     * of this <code>ResultSet</code> object as a
-     * <code>java.math.BigDecimal</code> with full precision.
+     * Retrieves the value of the designated column in the current row of this
+     * <code>ResultSet</code> object as a <code>java.math.BigDecimal</code> with
+     * full precision.
      *
      * @param columnName the column name
-     * @return the column value (full precision);
-     *         if the value is SQL <code>NULL</code>, the value returned is
-     *         <code>null</code> in the Java programming language.
+     * @return the column value (full precision); if the value is SQL
+     * <code>NULL</code>, the value returned is <code>null</code> in the Java
+     * programming language.
      * @throws java.sql.SQLException if a database access error occurs
      * @since 1.2
      */
@@ -873,12 +858,12 @@
     }
 
     /**
-     * Retrieves whether the cursor is before the first row in
-     * this <code>ResultSet</code> object.
+     * Retrieves whether the cursor is before the first row in this
+     * <code>ResultSet</code> object.
      *
      * @return <code>true</code> if the cursor is before the first row;
-     *         <code>false</code> if the cursor is at any other position or the
-     *         result set contains no rows
+     * <code>false</code> if the cursor is at any other position or the result set
+     * contains no rows
      * @throws java.sql.SQLException if a database access error occurs
      * @since 1.2
      */
@@ -887,12 +872,12 @@
     }
 
     /**
-     * Retrieves whether the cursor is after the last row in
-     * this <code>ResultSet</code> object.
+     * Retrieves whether the cursor is after the last row in this
+     * <code>ResultSet</code> object.
      *
      * @return <code>true</code> if the cursor is after the last row;
-     *         <code>false</code> if the cursor is at any other position or the
-     *         result set contains no rows
+     * <code>false</code> if the cursor is at any other position or the result set
+     * contains no rows
      * @throws java.sql.SQLException if a database access error occurs
      * @since 1.2
      */
@@ -901,11 +886,11 @@
     }
 
     /**
-     * Retrieves whether the cursor is on the first row of
-     * this <code>ResultSet</code> object.
+     * Retrieves whether the cursor is on the first row of this
+     * <code>ResultSet</code> object.
      *
      * @return <code>true</code> if the cursor is on the first row;
-     *         <code>false</code> otherwise
+     * <code>false</code> otherwise
      * @throws java.sql.SQLException if a database access error occurs
      * @since 1.2
      */
@@ -914,15 +899,13 @@
     }
 
     /**
-     * Retrieves whether the cursor is on the last row of
-     * this <code>ResultSet</code> object.
-     * Note: Calling the method <code>isLast</code> may be expensive
-     * because the JDBC driver
-     * might need to fetch ahead one row in order to determine
-     * whether the current row is the last row in the result set.
+     * Retrieves whether the cursor is on the last row of this
+     * <code>ResultSet</code> object. Note: Calling the method <code>isLast</code>
+     * may be expensive because the JDBC driver might need to fetch ahead one row in
+     * order to determine whether the current row is the last row in the result set.
      *
      * @return <code>true</code> if the cursor is on the last row;
-     *         <code>false</code> otherwise
+     * <code>false</code> otherwise
      * @throws java.sql.SQLException if a database access error occurs
      * @since 1.2
      */
@@ -931,12 +914,12 @@
     }
 
     /**
-     * Moves the cursor to the front of
-     * this <code>ResultSet</code> object, just before the
-     * first row. This method has no effect if the result set contains no rows.
+     * Moves the cursor to the front of this <code>ResultSet</code> object, just
+     * before the first row. This method has no effect if the result set contains no
+     * rows.
      *
-     * @throws java.sql.SQLException if a database access error
-     *                               occurs or the result set type is <code>TYPE_FORWARD_ONLY</code>
+     * @throws java.sql.SQLException if a database access error occurs or the result
+     * set type is <code>TYPE_FORWARD_ONLY</code>
      * @since 1.2
      */
     public void beforeFirst() throws SQLException {
@@ -944,12 +927,11 @@
     }
 
     /**
-     * Moves the cursor to the end of
-     * this <code>ResultSet</code> object, just after the
-     * last row. This method has no effect if the result set contains no rows.
+     * Moves the cursor to the end of this <code>ResultSet</code> object, just after
+     * the last row. This method has no effect if the result set contains no rows.
      *
-     * @throws java.sql.SQLException if a database access error
-     *                               occurs or the result set type is <code>TYPE_FORWARD_ONLY</code>
+     * @throws java.sql.SQLException if a database access error occurs or the result
+     * set type is <code>TYPE_FORWARD_ONLY</code>
      * @since 1.2
      */
     public void afterLast() throws SQLException {
@@ -957,13 +939,12 @@
     }
 
     /**
-     * Moves the cursor to the first row in
-     * this <code>ResultSet</code> object.
+     * Moves the cursor to the first row in this <code>ResultSet</code> object.
      *
-     * @return <code>true</code> if the cursor is on a valid row;
-     *         <code>false</code> if there are no rows in the result set
-     * @throws java.sql.SQLException if a database access error
-     *                               occurs or the result set type is <code>TYPE_FORWARD_ONLY</code>
+     * @return <code>true</code> if the cursor is on a valid row; <code>false</code>
+     * if there are no rows in the result set
+     * @throws java.sql.SQLException if a database access error occurs or the result
+     * set type is <code>TYPE_FORWARD_ONLY</code>
      * @since 1.2
      */
     public boolean first() throws SQLException {
@@ -971,13 +952,12 @@
     }
 
     /**
-     * Moves the cursor to the last row in
-     * this <code>ResultSet</code> object.
+     * Moves the cursor to the last row in this <code>ResultSet</code> object.
      *
-     * @return <code>true</code> if the cursor is on a valid row;
-     *         <code>false</code> if there are no rows in the result set
-     * @throws java.sql.SQLException if a database access error
-     *                               occurs or the result set type is <code>TYPE_FORWARD_ONLY</code>
+     * @return <code>true</code> if the cursor is on a valid row; <code>false</code>
+     * if there are no rows in the result set
+     * @throws java.sql.SQLException if a database access error occurs or the result
+     * set type is <code>TYPE_FORWARD_ONLY</code>
      * @since 1.2
      */
     public boolean last() throws SQLException {
@@ -985,8 +965,8 @@
     }
 
     /**
-     * Retrieves the current row number.  The first row is number 1, the
-     * second number 2, and so on.
+     * Retrieves the current row number. The first row is number 1, the second
+     * number 2, and so on.
      *
      * @return the current row number; <code>0</code> if there is no current row
      * @throws java.sql.SQLException if a database access error occurs
@@ -997,37 +977,38 @@
     }
 
     /**
-     * Moves the cursor to the given row number in
-     * this <code>ResultSet</code> object.
+     * Moves the cursor to the given row number in this <code>ResultSet</code>
+     * object.
      * <p/>
-     * <p>If the row number is positive, the cursor moves to
-     * the given row number with respect to the
-     * beginning of the result set.  The first row is row 1, the second
-     * is row 2, and so on.
+     * <p>
+     * If the row number is positive, the cursor moves to the given row number with
+     * respect to the beginning of the result set. The first row is row 1, the
+     * second is row 2, and so on.
      * <p/>
-     * <p>If the given row number is negative, the cursor moves to
-     * an absolute row position with respect to
-     * the end of the result set.  For example, calling the method
-     * <code>absolute(-1)</code> positions the
-     * cursor on the last row; calling the method <code>absolute(-2)</code>
-     * moves the cursor to the next-to-last row, and so on.
+     * <p>
+     * If the given row number is negative, the cursor moves to an absolute row
+     * position with respect to the end of the result set. For example, calling the
+     * method <code>absolute(-1)</code> positions the cursor on the last row;
+     * calling the method <code>absolute(-2)</code> moves the cursor to the
+     * next-to-last row, and so on.
      * <p/>
-     * <p>An attempt to position the cursor beyond the first/last row in
-     * the result set leaves the cursor before the first row or after
-     * the last row.
+     * <p>
+     * An attempt to position the cursor beyond the first/last row in the result set
+     * leaves the cursor before the first row or after the last row.
      * <p/>
-     * <p><B>Note:</B> Calling <code>absolute(1)</code> is the same
-     * as calling <code>first()</code>. Calling <code>absolute(-1)</code>
-     * is the same as calling <code>last()</code>.
+     * <p>
+     * <B>Note:</B> Calling <code>absolute(1)</code> is the same as calling
+     * <code>first()</code>. Calling <code>absolute(-1)</code> is the same as
+     * calling <code>last()</code>.
      *
-     * @param row the number of the row to which the cursor should move.
-     *            A positive number indicates the row number counting from the
-     *            beginning of the result set; a negative number indicates the
-     *            row number counting from the end of the result set
+     * @param row the number of the row to which the cursor should move. A positive
+     * number indicates the row number counting from the beginning of the result
+     * set; a negative number indicates the row number counting from the end of the
+     * result set
      * @return <code>true</code> if the cursor is on the result set;
-     *         <code>false</code> otherwise
-     * @throws java.sql.SQLException if a database access error
-     *                               occurs, or the result set type is <code>TYPE_FORWARD_ONLY</code>
+     * <code>false</code> otherwise
+     * @throws java.sql.SQLException if a database access error occurs, or the
+     * result set type is <code>TYPE_FORWARD_ONLY</code>
      * @since 1.2
      */
     public boolean absolute(int row) throws SQLException {
@@ -1036,24 +1017,22 @@
 
     /**
      * Moves the cursor a relative number of rows, either positive or negative.
-     * Attempting to move beyond the first/last row in the
-     * result set positions the cursor before/after the
-     * the first/last row. Calling <code>relative(0)</code> is valid, but does
-     * not change the cursor position.
+     * Attempting to move beyond the first/last row in the result set positions the
+     * cursor before/after the the first/last row. Calling <code>relative(0)</code>
+     * is valid, but does not change the cursor position.
      * <p/>
-     * <p>Note: Calling the method <code>relative(1)</code>
-     * is identical to calling the method <code>next()</code> and
-     * calling the method <code>relative(-1)</code> is identical
-     * to calling the method <code>previous()</code>.
+     * <p>
+     * Note: Calling the method <code>relative(1)</code> is identical to calling the
+     * method <code>next()</code> and calling the method <code>relative(-1)</code>
+     * is identical to calling the method <code>previous()</code>.
      *
-     * @param rows an <code>int</code> specifying the number of rows to
-     *             move from the current row; a positive number moves the cursor
-     *             forward; a negative number moves the cursor backward
-     * @return <code>true</code> if the cursor is on a row;
-     *         <code>false</code> otherwise
-     * @throws java.sql.SQLException if a database access error occurs,
-     *                               there is no current row, or the result set type is
-     *                               <code>TYPE_FORWARD_ONLY</code>
+     * @param rows an <code>int</code> specifying the number of rows to move from
+     * the current row; a positive number moves the cursor forward; a negative
+     * number moves the cursor backward
+     * @return <code>true</code> if the cursor is on a row; <code>false</code>
+     * otherwise
+     * @throws java.sql.SQLException if a database access error occurs, there is no
+     * current row, or the result set type is <code>TYPE_FORWARD_ONLY</code>
      * @since 1.2
      */
     public boolean relative(int rows) throws SQLException {
@@ -1061,13 +1040,12 @@
     }
 
     /**
-     * Moves the cursor to the previous row in this
-     * <code>ResultSet</code> object.
+     * Moves the cursor to the previous row in this <code>ResultSet</code> object.
      *
-     * @return <code>true</code> if the cursor is on a valid row;
-     *         <code>false</code> if it is off the result set
-     * @throws java.sql.SQLException if a database access error
-     *                               occurs or the result set type is <code>TYPE_FORWARD_ONLY</code>
+     * @return <code>true</code> if the cursor is on a valid row; <code>false</code>
+     * if it is off the result set
+     * @throws java.sql.SQLException if a database access error occurs or the result
+     * set type is <code>TYPE_FORWARD_ONLY</code>
      * @since 1.2
      */
     public boolean previous() throws SQLException {
@@ -1076,19 +1054,17 @@
 
     /**
      * Gives a hint as to the direction in which the rows in this
-     * <code>ResultSet</code> object will be processed.
-     * The initial value is determined by the
-     * <code>Statement</code> object
-     * that produced this <code>ResultSet</code> object.
-     * The fetch direction may be changed at any time.
+     * <code>ResultSet</code> object will be processed. The initial value is
+     * determined by the <code>Statement</code> object that produced this
+     * <code>ResultSet</code> object. The fetch direction may be changed at any
+     * time.
      *
-     * @param direction an <code>int</code> specifying the suggested
-     *                  fetch direction; one of <code>ResultSet.FETCH_FORWARD</code>,
-     *                  <code>ResultSet.FETCH_REVERSE</code>, or
-     *                  <code>ResultSet.FETCH_UNKNOWN</code>
-     * @throws java.sql.SQLException if a database access error occurs or
-     *                               the result set type is <code>TYPE_FORWARD_ONLY</code> and the fetch
-     *                               direction is not <code>FETCH_FORWARD</code>
+     * @param direction an <code>int</code> specifying the suggested fetch
+     * direction; one of <code>ResultSet.FETCH_FORWARD</code>,
+     * <code>ResultSet.FETCH_REVERSE</code>, or <code>ResultSet.FETCH_UNKNOWN</code>
+     * @throws java.sql.SQLException if a database access error occurs or the result
+     * set type is <code>TYPE_FORWARD_ONLY</code> and the fetch direction is not
+     * <code>FETCH_FORWARD</code>
      * @see java.sql.Statement#setFetchDirection
      * @see #getFetchDirection
      * @since 1.2
@@ -1098,8 +1074,7 @@
     }
 
     /**
-     * Retrieves the fetch direction for this
-     * <code>ResultSet</code> object.
+     * Retrieves the fetch direction for this <code>ResultSet</code> object.
      *
      * @return the current fetch direction for this <code>ResultSet</code> object
      * @throws java.sql.SQLException if a database access error occurs
@@ -1111,18 +1086,16 @@
     }
 
     /**
-     * Gives the JDBC driver a hint as to the number of rows that should
-     * be fetched from the database when more rows are needed for this
-     * <code>ResultSet</code> object.
-     * If the fetch size specified is zero, the JDBC driver
-     * ignores the value and is free to make its own best guess as to what
-     * the fetch size should be.  The default value is set by the
-     * <code>Statement</code> object
-     * that created the result set.  The fetch size may be changed at any time.
+     * Gives the JDBC driver a hint as to the number of rows that should be fetched
+     * from the database when more rows are needed for this <code>ResultSet</code>
+     * object. If the fetch size specified is zero, the JDBC driver ignores the
+     * value and is free to make its own best guess as to what the fetch size should
+     * be. The default value is set by the <code>Statement</code> object that
+     * created the result set. The fetch size may be changed at any time.
      *
      * @param rows the number of rows to fetch
      * @throws java.sql.SQLException if a database access error occurs or the
-     *                               condition <code>0 <= rows <= Statement.getMaxRows()</code> is not satisfied
+     * condition <code>0 <= rows <= Statement.getMaxRows()</code> is not satisfied
      * @see #getFetchSize
      * @since 1.2
      */
@@ -1131,8 +1104,7 @@
     }
 
     /**
-     * Retrieves the fetch size for this
-     * <code>ResultSet</code> object.
+     * Retrieves the fetch size for this <code>ResultSet</code> object.
      *
      * @return the current fetch size for this <code>ResultSet</code> object
      * @throws java.sql.SQLException if a database access error occurs
@@ -1144,13 +1116,12 @@
     }
 
     /**
-     * Retrieves the type of this <code>ResultSet</code> object.
-     * The type is determined by the <code>Statement</code> object
-     * that created the result set.
+     * Retrieves the type of this <code>ResultSet</code> object. The type is
+     * determined by the <code>Statement</code> object that created the result set.
      *
      * @return <code>ResultSet.TYPE_FORWARD_ONLY</code>,
-     *         <code>ResultSet.TYPE_SCROLL_INSENSITIVE</code>,
-     *         or <code>ResultSet.TYPE_SCROLL_SENSITIVE</code>
+     * <code>ResultSet.TYPE_SCROLL_INSENSITIVE</code>, or
+     * <code>ResultSet.TYPE_SCROLL_SENSITIVE</code>
      * @throws java.sql.SQLException if a database access error occurs
      * @since 1.2
      */
@@ -1159,13 +1130,12 @@
     }
 
     /**
-     * Retrieves the concurrency mode of this <code>ResultSet</code> object.
-     * The concurrency used is determined by the
-     * <code>Statement</code> object that created the result set.
+     * Retrieves the concurrency mode of this <code>ResultSet</code> object. The
+     * concurrency used is determined by the <code>Statement</code> object that
+     * created the result set.
      *
-     * @return the concurrency type, either
-     *         <code>ResultSet.CONCUR_READ_ONLY</code>
-     *         or <code>ResultSet.CONCUR_UPDATABLE</code>
+     * @return the concurrency type, either <code>ResultSet.CONCUR_READ_ONLY</code>
+     * or <code>ResultSet.CONCUR_UPDATABLE</code>
      * @throws java.sql.SQLException if a database access error occurs
      * @since 1.2
      */
@@ -1174,11 +1144,11 @@
     }
 
     /**
-     * Retrieves whether the current row has been updated.  The value returned
+     * Retrieves whether the current row has been updated. The value returned
      * depends on whether or not the result set can detect updates.
      *
-     * @return <code>true</code> if both (1) the row has been visibly updated
-     *         by the owner or another and (2) updates are detected
+     * @return <code>true</code> if both (1) the row has been visibly updated by the
+     * owner or another and (2) updates are detected
      * @throws java.sql.SQLException if a database access error occurs
      * @see java.sql.DatabaseMetaData#updatesAreDetected
      * @since 1.2
@@ -1188,12 +1158,12 @@
     }
 
     /**
-     * Retrieves whether the current row has had an insertion.
-     * The value returned depends on whether or not this
-     * <code>ResultSet</code> object can detect visible inserts.
+     * Retrieves whether the current row has had an insertion. The value returned
+     * depends on whether or not this <code>ResultSet</code> object can detect
+     * visible inserts.
      *
-     * @return <code>true</code> if a row has had an insertion
-     *         and insertions are detected; <code>false</code> otherwise
+     * @return <code>true</code> if a row has had an insertion and insertions are
+     * detected; <code>false</code> otherwise
      * @throws java.sql.SQLException if a database access error occurs
      * @see java.sql.DatabaseMetaData#insertsAreDetected
      * @since 1.2
@@ -1203,13 +1173,13 @@
     }
 
     /**
-     * Retrieves whether a row has been deleted.  A deleted row may leave
-     * a visible "hole" in a result set.  This method can be used to
-     * detect holes in a result set.  The value returned depends on whether
-     * or not this <code>ResultSet</code> object can detect deletions.
+     * Retrieves whether a row has been deleted. A deleted row may leave a visible
+     * "hole" in a result set. This method can be used to detect holes in a result
+     * set. The value returned depends on whether or not this <code>ResultSet</code>
+     * object can detect deletions.
      *
      * @return <code>true</code> if a row was deleted and deletions are detected;
-     *         <code>false</code> otherwise
+     * <code>false</code> otherwise
      * @throws java.sql.SQLException if a database access error occurs
      * @see java.sql.DatabaseMetaData#deletesAreDetected
      * @since 1.2
@@ -1221,10 +1191,10 @@
     /**
      * Gives a nullable column a null value.
      * <p/>
-     * The updater methods are used to update column values in the
-     * current row or the insert row.  The updater methods do not
-     * update the underlying database; instead the <code>updateRow</code>
-     * or <code>insertRow</code> methods are called to update the database.
+     * The updater methods are used to update column values in the current row or
+     * the insert row. The updater methods do not update the underlying database;
+     * instead the <code>updateRow</code> or <code>insertRow</code> methods are
+     * called to update the database.
      *
      * @param columnIndex the first column is 1, the second is 2, ...
      * @throws java.sql.SQLException if a database access error occurs
@@ -1235,14 +1205,14 @@
     }
 
     /**
-     * Updates the designated column with a <code>boolean</code> value.
-     * The updater methods are used to update column values in the
-     * current row or the insert row.  The updater methods do not
-     * update the underlying database; instead the <code>updateRow</code> or
-     * <code>insertRow</code> methods are called to update the database.
+     * Updates the designated column with a <code>boolean</code> value. The updater
+     * methods are used to update column values in the current row or the insert
+     * row. The updater methods do not update the underlying database; instead the
+     * <code>updateRow</code> or <code>insertRow</code> methods are called to update
+     * the database.
      *
      * @param columnIndex the first column is 1, the second is 2, ...
-     * @param x           the new column value
+     * @param x the new column value
      * @throws java.sql.SQLException if a database access error occurs
      * @since 1.2
      */
@@ -1251,14 +1221,14 @@
     }
 
     /**
-     * Updates the designated column with a <code>byte</code> value.
-     * The updater methods are used to update column values in the
-     * current row or the insert row.  The updater methods do not
-     * update the underlying database; instead the <code>updateRow</code> or
-     * <code>insertRow</code> methods are called to update the database.
+     * Updates the designated column with a <code>byte</code> value. The updater
+     * methods are used to update column values in the current row or the insert
+     * row. The updater methods do not update the underlying database; instead the
+     * <code>updateRow</code> or <code>insertRow</code> methods are called to update
+     * the database.
      *
      * @param columnIndex the first column is 1, the second is 2, ...
-     * @param x           the new column value
+     * @param x the new column value
      * @throws java.sql.SQLException if a database access error occurs
      * @since 1.2
      */
@@ -1267,14 +1237,14 @@
     }
 
     /**
-     * Updates the designated column with a <code>short</code> value.
-     * The updater methods are used to update column values in the
-     * current row or the insert row.  The updater methods do not
-     * update the underlying database; instead the <code>updateRow</code> or
-     * <code>insertRow</code> methods are called to update the database.
+     * Updates the designated column with a <code>short</code> value. The updater
+     * methods are used to update column values in the current row or the insert
+     * row. The updater methods do not update the underlying database; instead the
+     * <code>updateRow</code> or <code>insertRow</code> methods are called to update
+     * the database.
      *
      * @param columnIndex the first column is 1, the second is 2, ...
-     * @param x           the new column value
+     * @param x the new column value
      * @throws java.sql.SQLException if a database access error occurs
      * @since 1.2
      */
@@ -1283,14 +1253,14 @@
     }
 
     /**
-     * Updates the designated column with an <code>int</code> value.
-     * The updater methods are used to update column values in the
-     * current row or the insert row.  The updater methods do not
-     * update the underlying database; instead the <code>updateRow</code> or
-     * <code>insertRow</code> methods are called to update the database.
+     * Updates the designated column with an <code>int</code> value. The updater
+     * methods are used to update column values in the current row or the insert
+     * row. The updater methods do not update the underlying database; instead the
+     * <code>updateRow</code> or <code>insertRow</code> methods are called to update
+     * the database.
      *
      * @param columnIndex the first column is 1, the second is 2, ...
-     * @param x           the new column value
+     * @param x the new column value
      * @throws java.sql.SQLException if a database access error occurs
      * @since 1.2
      */
@@ -1299,14 +1269,14 @@
     }
 
     /**
-     * Updates the designated column with a <code>long</code> value.
-     * The updater methods are used to update column values in the
-     * current row or the insert row.  The updater methods do not
-     * update the underlying database; instead the <code>updateRow</code> or
-     * <code>insertRow</code> methods are called to update the database.
+     * Updates the designated column with a <code>long</code> value. The updater
+     * methods are used to update column values in the current row or the insert
+     * row. The updater methods do not update the underlying database; instead the
+     * <code>updateRow</code> or <code>insertRow</code> methods are called to update
+     * the database.
      *
      * @param columnIndex the first column is 1, the second is 2, ...
-     * @param x           the new column value
+     * @param x the new column value
      * @throws java.sql.SQLException if a database access error occurs
      * @since 1.2
      */
@@ -1315,14 +1285,14 @@
     }
 
     /**
-     * Updates the designated column with a <code>float</code> value.
-     * The updater methods are used to update column values in the
-     * current row or the insert row.  The updater methods do not
-     * update the underlying database; instead the <code>updateRow</code> or
-     * <code>insertRow</code> methods are called to update the database.
+     * Updates the designated column with a <code>float</code> value. The updater
+     * methods are used to update column values in the current row or the insert
+     * row. The updater methods do not update the underlying database; instead the
+     * <code>updateRow</code> or <code>insertRow</code> methods are called to update
+     * the database.
      *
      * @param columnIndex the first column is 1, the second is 2, ...
-     * @param x           the new column value
+     * @param x the new column value
      * @throws java.sql.SQLException if a database access error occurs
      * @since 1.2
      */
@@ -1331,14 +1301,14 @@
     }
 
     /**
-     * Updates the designated column with a <code>double</code> value.
-     * The updater methods are used to update column values in the
-     * current row or the insert row.  The updater methods do not
-     * update the underlying database; instead the <code>updateRow</code> or
-     * <code>insertRow</code> methods are called to update the database.
+     * Updates the designated column with a <code>double</code> value. The updater
+     * methods are used to update column values in the current row or the insert
+     * row. The updater methods do not update the underlying database; instead the
+     * <code>updateRow</code> or <code>insertRow</code> methods are called to update
+     * the database.
      *
      * @param columnIndex the first column is 1, the second is 2, ...
-     * @param x           the new column value
+     * @param x the new column value
      * @throws java.sql.SQLException if a database access error occurs
      * @since 1.2
      */
@@ -1347,15 +1317,14 @@
     }
 
     /**
-     * Updates the designated column with a <code>java.math.BigDecimal</code>
-     * value.
-     * The updater methods are used to update column values in the
-     * current row or the insert row.  The updater methods do not
-     * update the underlying database; instead the <code>updateRow</code> or
-     * <code>insertRow</code> methods are called to update the database.
+     * Updates the designated column with a <code>java.math.BigDecimal</code> value.
+     * The updater methods are used to update column values in the current row or
+     * the insert row. The updater methods do not update the underlying database;
+     * instead the <code>updateRow</code> or <code>insertRow</code> methods are
+     * called to update the database.
      *
      * @param columnIndex the first column is 1, the second is 2, ...
-     * @param x           the new column value
+     * @param x the new column value
      * @throws java.sql.SQLException if a database access error occurs
      * @since 1.2
      */
@@ -1364,14 +1333,14 @@
     }
 
     /**
-     * Updates the designated column with a <code>String</code> value.
-     * The updater methods are used to update column values in the
-     * current row or the insert row.  The updater methods do not
-     * update the underlying database; instead the <code>updateRow</code> or
-     * <code>insertRow</code> methods are called to update the database.
+     * Updates the designated column with a <code>String</code> value. The updater
+     * methods are used to update column values in the current row or the insert
+     * row. The updater methods do not update the underlying database; instead the
+     * <code>updateRow</code> or <code>insertRow</code> methods are called to update
+     * the database.
      *
      * @param columnIndex the first column is 1, the second is 2, ...
-     * @param x           the new column value
+     * @param x the new column value
      * @throws java.sql.SQLException if a database access error occurs
      * @since 1.2
      */
@@ -1380,14 +1349,14 @@
     }
 
     /**
-     * Updates the designated column with a <code>byte</code> array value.
-     * The updater methods are used to update column values in the
-     * current row or the insert row.  The updater methods do not
-     * update the underlying database; instead the <code>updateRow</code> or
-     * <code>insertRow</code> methods are called to update the database.
+     * Updates the designated column with a <code>byte</code> array value. The
+     * updater methods are used to update column values in the current row or the
+     * insert row. The updater methods do not update the underlying database;
+     * instead the <code>updateRow</code> or <code>insertRow</code> methods are
+     * called to update the database.
      *
      * @param columnIndex the first column is 1, the second is 2, ...
-     * @param x           the new column value
+     * @param x the new column value
      * @throws java.sql.SQLException if a database access error occurs
      * @since 1.2
      */
@@ -1396,14 +1365,14 @@
     }
 
     /**
-     * Updates the designated column with a <code>java.sql.Date</code> value.
-     * The updater methods are used to update column values in the
-     * current row or the insert row.  The updater methods do not
-     * update the underlying database; instead the <code>updateRow</code> or
-     * <code>insertRow</code> methods are called to update the database.
+     * Updates the designated column with a <code>java.sql.Date</code> value. The
+     * updater methods are used to update column values in the current row or the
+     * insert row. The updater methods do not update the underlying database;
+     * instead the <code>updateRow</code> or <code>insertRow</code> methods are
+     * called to update the database.
      *
      * @param columnIndex the first column is 1, the second is 2, ...
-     * @param x           the new column value
+     * @param x the new column value
      * @throws java.sql.SQLException if a database access error occurs
      * @since 1.2
      */
@@ -1412,14 +1381,14 @@
     }
 
     /**
-     * Updates the designated column with a <code>java.sql.Time</code> value.
-     * The updater methods are used to update column values in the
-     * current row or the insert row.  The updater methods do not
-     * update the underlying database; instead the <code>updateRow</code> or
-     * <code>insertRow</code> methods are called to update the database.
+     * Updates the designated column with a <code>java.sql.Time</code> value. The
+     * updater methods are used to update column values in the current row or the
+     * insert row. The updater methods do not update the underlying database;
+     * instead the <code>updateRow</code> or <code>insertRow</code> methods are
+     * called to update the database.
      *
      * @param columnIndex the first column is 1, the second is 2, ...
-     * @param x           the new column value
+     * @param x the new column value
      * @throws java.sql.SQLException if a database access error occurs
      * @since 1.2
      */
@@ -1428,15 +1397,14 @@
     }
 
     /**
-     * Updates the designated column with a <code>java.sql.Timestamp</code>
-     * value.
-     * The updater methods are used to update column values in the
-     * current row or the insert row.  The updater methods do not
-     * update the underlying database; instead the <code>updateRow</code> or
-     * <code>insertRow</code> methods are called to update the database.
+     * Updates the designated column with a <code>java.sql.Timestamp</code> value.
+     * The updater methods are used to update column values in the current row or
+     * the insert row. The updater methods do not update the underlying database;
+     * instead the <code>updateRow</code> or <code>insertRow</code> methods are
+     * called to update the database.
      *
      * @param columnIndex the first column is 1, the second is 2, ...
-     * @param x           the new column value
+     * @param x the new column value
      * @throws java.sql.SQLException if a database access error occurs
      * @since 1.2
      */
@@ -1445,15 +1413,15 @@
     }
 
     /**
-     * Updates the designated column with an ascii stream value.
-     * The updater methods are used to update column values in the
-     * current row or the insert row.  The updater methods do not
-     * update the underlying database; instead the <code>updateRow</code> or
-     * <code>insertRow</code> methods are called to update the database.
+     * Updates the designated column with an ascii stream value. The updater methods
+     * are used to update column values in the current row or the insert row. The
+     * updater methods do not update the underlying database; instead the
+     * <code>updateRow</code> or <code>insertRow</code> methods are called to update
+     * the database.
      *
      * @param columnIndex the first column is 1, the second is 2, ...
-     * @param x           the new column value
-     * @param length      the length of the stream
+     * @param x the new column value
+     * @param length the length of the stream
      * @throws java.sql.SQLException if a database access error occurs
      * @since 1.2
      */
@@ -1462,15 +1430,15 @@
     }
 
     /**
-     * Updates the designated column with a binary stream value.
-     * The updater methods are used to update column values in the
-     * current row or the insert row.  The updater methods do not
-     * update the underlying database; instead the <code>updateRow</code> or
-     * <code>insertRow</code> methods are called to update the database.
+     * Updates the designated column with a binary stream value. The updater methods
+     * are used to update column values in the current row or the insert row. The
+     * updater methods do not update the underlying database; instead the
+     * <code>updateRow</code> or <code>insertRow</code> methods are called to update
+     * the database.
      *
      * @param columnIndex the first column is 1, the second is 2, ...
-     * @param x           the new column value
-     * @param length      the length of the stream
+     * @param x the new column value
+     * @param length the length of the stream
      * @throws java.sql.SQLException if a database access error occurs
      * @since 1.2
      */
@@ -1479,15 +1447,15 @@
     }
 
     /**
-     * Updates the designated column with a character stream value.
-     * The updater methods are used to update column values in the
-     * current row or the insert row.  The updater methods do not
-     * update the underlying database; instead the <code>updateRow</code> or
-     * <code>insertRow</code> methods are called to update the database.
+     * Updates the designated column with a character stream value. The updater
+     * methods are used to update column values in the current row or the insert
+     * row. The updater methods do not update the underlying database; instead the
+     * <code>updateRow</code> or <code>insertRow</code> methods are called to update
+     * the database.
      *
      * @param columnIndex the first column is 1, the second is 2, ...
-     * @param x           the new column value
-     * @param length      the length of the stream
+     * @param x the new column value
+     * @param length the length of the stream
      * @throws java.sql.SQLException if a database access error occurs
      * @since 1.2
      */
@@ -1496,18 +1464,17 @@
     }
 
     /**
-     * Updates the designated column with an <code>Object</code> value.
-     * The updater methods are used to update column values in the
-     * current row or the insert row.  The updater methods do not
-     * update the underlying database; instead the <code>updateRow</code> or
-     * <code>insertRow</code> methods are called to update the database.
+     * Updates the designated column with an <code>Object</code> value. The updater
+     * methods are used to update column values in the current row or the insert
+     * row. The updater methods do not update the underlying database; instead the
+     * <code>updateRow</code> or <code>insertRow</code> methods are called to update
+     * the database.
      *
      * @param columnIndex the first column is 1, the second is 2, ...
-     * @param x           the new column value
-     * @param scale       for <code>java.sql.Types.DECIMA</code>
-     *                    or <code>java.sql.Types.NUMERIC</code> types,
-     *                    this is the number of digits after the decimal point.  For all other
-     *                    types this value will be ignored.
+     * @param x the new column value
+     * @param scale for <code>java.sql.Types.DECIMA</code> or
+     * <code>java.sql.Types.NUMERIC</code> types, this is the number of digits after
+     * the decimal point. For all other types this value will be ignored.
      * @throws java.sql.SQLException if a database access error occurs
      * @since 1.2
      */
@@ -1516,14 +1483,14 @@
     }
 
     /**
-     * Updates the designated column with an <code>Object</code> value.
-     * The updater methods are used to update column values in the
-     * current row or the insert row.  The updater methods do not
-     * update the underlying database; instead the <code>updateRow</code> or
-     * <code>insertRow</code> methods are called to update the database.
+     * Updates the designated column with an <code>Object</code> value. The updater
+     * methods are used to update column values in the current row or the insert
+     * row. The updater methods do not update the underlying database; instead the
+     * <code>updateRow</code> or <code>insertRow</code> methods are called to update
+     * the database.
      *
      * @param columnIndex the first column is 1, the second is 2, ...
-     * @param x           the new column value
+     * @param x the new column value
      * @throws java.sql.SQLException if a database access error occurs
      * @since 1.2
      */
@@ -1532,11 +1499,11 @@
     }
 
     /**
-     * Updates the designated column with a <code>null</code> value.
-     * The updater methods are used to update column values in the
-     * current row or the insert row.  The updater methods do not
-     * update the underlying database; instead the <code>updateRow</code> or
-     * <code>insertRow</code> methods are called to update the database.
+     * Updates the designated column with a <code>null</code> value. The updater
+     * methods are used to update column values in the current row or the insert
+     * row. The updater methods do not update the underlying database; instead the
+     * <code>updateRow</code> or <code>insertRow</code> methods are called to update
+     * the database.
      *
      * @param columnName the name of the column
      * @throws java.sql.SQLException if a database access error occurs
@@ -1547,14 +1514,14 @@
     }
 
     /**
-     * Updates the designated column with a <code>boolean</code> value.
-     * The updater methods are used to update column values in the
-     * current row or the insert row.  The updater methods do not
-     * update the underlying database; instead the <code>updateRow</code> or
-     * <code>insertRow</code> methods are called to update the database.
+     * Updates the designated column with a <code>boolean</code> value. The updater
+     * methods are used to update column values in the current row or the insert
+     * row. The updater methods do not update the underlying database; instead the
+     * <code>updateRow</code> or <code>insertRow</code> methods are called to update
+     * the database.
      *
      * @param columnName the name of the column
-     * @param x          the new column value
+     * @param x the new column value
      * @throws java.sql.SQLException if a database access error occurs
      * @since 1.2
      */
@@ -1563,14 +1530,14 @@
     }
 
     /**
-     * Updates the designated column with a <code>byte</code> value.
-     * The updater methods are used to update column values in the
-     * current row or the insert row.  The updater methods do not
-     * update the underlying database; instead the <code>updateRow</code> or
-     * <code>insertRow</code> methods are called to update the database.
+     * Updates the designated column with a <code>byte</code> value. The updater
+     * methods are used to update column values in the current row or the insert
+     * row. The updater methods do not update the underlying database; instead the
+     * <code>updateRow</code> or <code>insertRow</code> methods are called to update
+     * the database.
      *
      * @param columnName the name of the column
-     * @param x          the new column value
+     * @param x the new column value
      * @throws java.sql.SQLException if a database access error occurs
      * @since 1.2
      */
@@ -1579,14 +1546,14 @@
     }
 
     /**
-     * Updates the designated column with a <code>short</code> value.
-     * The updater methods are used to update column values in the
-     * current row or the insert row.  The updater methods do not
-     * update the underlying database; instead the <code>updateRow</code> or
-     * <code>insertRow</code> methods are called to update the database.
+     * Updates the designated column with a <code>short</code> value. The updater
+     * methods are used to update column values in the current row or the insert
+     * row. The updater methods do not update the underlying database; instead the
+     * <code>updateRow</code> or <code>insertRow</code> methods are called to update
+     * the database.
      *
      * @param columnName the name of the column
-     * @param x          the new column value
+     * @param x the new column value
      * @throws java.sql.SQLException if a database access error occurs
      * @since 1.2
      */
@@ -1595,14 +1562,14 @@
     }
 
     /**
-     * Updates the designated column with an <code>int</code> value.
-     * The updater methods are used to update column values in the
-     * current row or the insert row.  The updater methods do not
-     * update the underlying database; instead the <code>updateRow</code> or
-     * <code>insertRow</code> methods are called to update the database.
+     * Updates the designated column with an <code>int</code> value. The updater
+     * methods are used to update column values in the current row or the insert
+     * row. The updater methods do not update the underlying database; instead the
+     * <code>updateRow</code> or <code>insertRow</code> methods are called to update
+     * the database.
      *
      * @param columnName the name of the column
-     * @param x          the new column value
+     * @param x the new column value
      * @throws java.sql.SQLException if a database access error occurs
      * @since 1.2
      */
@@ -1611,14 +1578,14 @@
     }
 
     /**
-     * Updates the designated column with a <code>long</code> value.
-     * The updater methods are used to update column values in the
-     * current row or the insert row.  The updater methods do not
-     * update the underlying database; instead the <code>updateRow</code> or
-     * <code>insertRow</code> methods are called to update the database.
+     * Updates the designated column with a <code>long</code> value. The updater
+     * methods are used to update column values in the current row or the insert
+     * row. The updater methods do not update the underlying database; instead the
+     * <code>updateRow</code> or <code>insertRow</code> methods are called to update
+     * the database.
      *
      * @param columnName the name of the column
-     * @param x          the new column value
+     * @param x the new column value
      * @throws java.sql.SQLException if a database access error occurs
      * @since 1.2
      */
@@ -1627,14 +1594,14 @@
     }
 
     /**
-     * Updates the designated column with a <code>float    </code> value.
-     * The updater methods are used to update column values in the
-     * current row or the insert row.  The updater methods do not
-     * update the underlying database; instead the <code>updateRow</code> or
-     * <code>insertRow</code> methods are called to update the database.
+     * Updates the designated column with a <code>float    </code> value. The
+     * updater methods are used to update column values in the current row or the
+     * insert row. The updater methods do not update the underlying database;
+     * instead the <code>updateRow</code> or <code>insertRow</code> methods are
+     * called to update the database.
      *
      * @param columnName the name of the column
-     * @param x          the new column value
+     * @param x the new column value
      * @throws java.sql.SQLException if a database access error occurs
      * @since 1.2
      */
@@ -1643,14 +1610,14 @@
     }
 
     /**
-     * Updates the designated column with a <code>double</code> value.
-     * The updater methods are used to update column values in the
-     * current row or the insert row.  The updater methods do not
-     * update the underlying database; instead the <code>updateRow</code> or
-     * <code>insertRow</code> methods are called to update the database.
+     * Updates the designated column with a <code>double</code> value. The updater
+     * methods are used to update column values in the current row or the insert
+     * row. The updater methods do not update the underlying database; instead the
+     * <code>updateRow</code> or <code>insertRow</code> methods are called to update
+     * the database.
      *
      * @param columnName the name of the column
-     * @param x          the new column value
+     * @param x the new column value
      * @throws java.sql.SQLException if a database access error occurs
      * @since 1.2
      */
@@ -1659,15 +1626,14 @@
     }
 
     /**
-     * Updates the designated column with a <code>java.sql.BigDecimal</code>
-     * value.
-     * The updater methods are used to update column values in the
-     * current row or the insert row.  The updater methods do not
-     * update the underlying database; instead the <code>updateRow</code> or
-     * <code>insertRow</code> methods are called to update the database.
+     * Updates the designated column with a <code>java.sql.BigDecimal</code> value.
+     * The updater methods are used to update column values in the current row or
+     * the insert row. The updater methods do not update the underlying database;
+     * instead the <code>updateRow</code> or <code>insertRow</code> methods are
+     * called to update the database.
      *
      * @param columnName the name of the column
-     * @param x          the new column value
+     * @param x the new column value
      * @throws java.sql.SQLException if a database access error occurs
      * @since 1.2
      */
@@ -1676,14 +1642,14 @@
     }
 
     /**
-     * Updates the designated column with a <code>String</code> value.
-     * The updater methods are used to update column values in the
-     * current row or the insert row.  The updater methods do not
-     * update the underlying database; instead the <code>updateRow</code> or
-     * <code>insertRow</code> methods are called to update the database.
+     * Updates the designated column with a <code>String</code> value. The updater
+     * methods are used to update column values in the current row or the insert
+     * row. The updater methods do not update the underlying database; instead the
+     * <code>updateRow</code> or <code>insertRow</code> methods are called to update
+     * the database.
      *
      * @param columnName the name of the column
-     * @param x          the new column value
+     * @param x the new column value
      * @throws java.sql.SQLException if a database access error occurs
      * @since 1.2
      */
@@ -1694,13 +1660,13 @@
     /**
      * Updates the designated column with a byte array value.
      * <p/>
-     * The updater methods are used to update column values in the
-     * current row or the insert row.  The updater methods do not
-     * update the underlying database; instead the <code>updateRow</code>
-     * or <code>insertRow</code> methods are called to update the database.
+     * The updater methods are used to update column values in the current row or
+     * the insert row. The updater methods do not update the underlying database;
+     * instead the <code>updateRow</code> or <code>insertRow</code> methods are
+     * called to update the database.
      *
      * @param columnName the name of the column
-     * @param x          the new column value
+     * @param x the new column value
      * @throws java.sql.SQLException if a database access error occurs
      * @since 1.2
      */
@@ -1709,14 +1675,14 @@
     }
 
     /**
-     * Updates the designated column with a <code>java.sql.Date</code> value.
-     * The updater methods are used to update column values in the
-     * current row or the insert row.  The updater methods do not
-     * update the underlying database; instead the <code>updateRow</code> or
-     * <code>insertRow</code> methods are called to update the database.
+     * Updates the designated column with a <code>java.sql.Date</code> value. The
+     * updater methods are used to update column values in the current row or the
+     * insert row. The updater methods do not update the underlying database;
+     * instead the <code>updateRow</code> or <code>insertRow</code> methods are
+     * called to update the database.
      *
      * @param columnName the name of the column
-     * @param x          the new column value
+     * @param x the new column value
      * @throws java.sql.SQLException if a database access error occurs
      * @since 1.2
      */
@@ -1725,14 +1691,14 @@
     }
 
     /**
-     * Updates the designated column with a <code>java.sql.Time</code> value.
-     * The updater methods are used to update column values in the
-     * current row or the insert row.  The updater methods do not
-     * update the underlying database; instead the <code>updateRow</code> or
-     * <code>insertRow</code> methods are called to update the database.
+     * Updates the designated column with a <code>java.sql.Time</code> value. The
+     * updater methods are used to update column values in the current row or the
+     * insert row. The updater methods do not update the underlying database;
+     * instead the <code>updateRow</code> or <code>insertRow</code> methods are
+     * called to update the database.
      *
      * @param columnName the name of the column
-     * @param x          the new column value
+     * @param x the new column value
      * @throws java.sql.SQLException if a database access error occurs
      * @since 1.2
      */
@@ -1741,15 +1707,14 @@
     }
 
     /**
-     * Updates the designated column with a <code>java.sql.Timestamp</code>
-     * value.
-     * The updater methods are used to update column values in the
-     * current row or the insert row.  The updater methods do not
-     * update the underlying database; instead the <code>updateRow</code> or
-     * <code>insertRow</code> methods are called to update the database.
+     * Updates the designated column with a <code>java.sql.Timestamp</code> value.
+     * The updater methods are used to update column values in the current row or
+     * the insert row. The updater methods do not update the underlying database;
+     * instead the <code>updateRow</code> or <code>insertRow</code> methods are
+     * called to update the database.
      *
      * @param columnName the name of the column
-     * @param x          the new column value
+     * @param x the new column value
      * @throws java.sql.SQLException if a database access error occurs
      * @since 1.2
      */
@@ -1758,15 +1723,15 @@
     }
 
     /**
-     * Updates the designated column with an ascii stream value.
-     * The updater methods are used to update column values in the
-     * current row or the insert row.  The updater methods do not
-     * update the underlying database; instead the <code>updateRow</code> or
-     * <code>insertRow</code> methods are called to update the database.
+     * Updates the designated column with an ascii stream value. The updater methods
+     * are used to update column values in the current row or the insert row. The
+     * updater methods do not update the underlying database; instead the
+     * <code>updateRow</code> or <code>insertRow</code> methods are called to update
+     * the database.
      *
      * @param columnName the name of the column
-     * @param x          the new column value
-     * @param length     the length of the stream
+     * @param x the new column value
+     * @param length the length of the stream
      * @throws java.sql.SQLException if a database access error occurs
      * @since 1.2
      */
@@ -1775,15 +1740,15 @@
     }
 
     /**
-     * Updates the designated column with a binary stream value.
-     * The updater methods are used to update column values in the
-     * current row or the insert row.  The updater methods do not
-     * update the underlying database; instead the <code>updateRow</code> or
-     * <code>insertRow</code> methods are called to update the database.
+     * Updates the designated column with a binary stream value. The updater methods
+     * are used to update column values in the current row or the insert row. The
+     * updater methods do not update the underlying database; instead the
+     * <code>updateRow</code> or <code>insertRow</code> methods are called to update
+     * the database.
      *
      * @param columnName the name of the column
-     * @param x          the new column value
-     * @param length     the length of the stream
+     * @param x the new column value
+     * @param length the length of the stream
      * @throws java.sql.SQLException if a database access error occurs
      * @since 1.2
      */
@@ -1792,16 +1757,16 @@
     }
 
     /**
-     * Updates the designated column with a character stream value.
-     * The updater methods are used to update column values in the
-     * current row or the insert row.  The updater methods do not
-     * update the underlying database; instead the <code>updateRow</code> or
-     * <code>insertRow</code> methods are called to update the database.
+     * Updates the designated column with a character stream value. The updater
+     * methods are used to update column values in the current row or the insert
+     * row. The updater methods do not update the underlying database; instead the
+     * <code>updateRow</code> or <code>insertRow</code> methods are called to update
+     * the database.
      *
      * @param columnName the name of the column
-     * @param reader     the <code>java.io.Reader</code> object containing
-     *                   the new column value
-     * @param length     the length of the stream
+     * @param reader the <code>java.io.Reader</code> object containing the new
+     * column value
+     * @param length the length of the stream
      * @throws java.sql.SQLException if a database access error occurs
      * @since 1.2
      */
@@ -1810,18 +1775,17 @@
     }
 
     /**
-     * Updates the designated column with an <code>Object</code> value.
-     * The updater methods are used to update column values in the
-     * current row or the insert row.  The updater methods do not
-     * update the underlying database; instead the <code>updateRow</code> or
-     * <code>insertRow</code> methods are called to update the database.
+     * Updates the designated column with an <code>Object</code> value. The updater
+     * methods are used to update column values in the current row or the insert
+     * row. The updater methods do not update the underlying database; instead the
+     * <code>updateRow</code> or <code>insertRow</code> methods are called to update
+     * the database.
      *
      * @param columnName the name of the column
-     * @param x          the new column value
-     * @param scale      for <code>java.sql.Types.DECIMAL</code>
-     *                   or <code>java.sql.Types.NUMERIC</code> types,
-     *                   this is the number of digits after the decimal point.  For all other
-     *                   types this value will be ignored.
+     * @param x the new column value
+     * @param scale for <code>java.sql.Types.DECIMAL</code> or
+     * <code>java.sql.Types.NUMERIC</code> types, this is the number of digits after
+     * the decimal point. For all other types this value will be ignored.
      * @throws java.sql.SQLException if a database access error occurs
      * @since 1.2
      */
@@ -1830,14 +1794,14 @@
     }
 
     /**
-     * Updates the designated column with an <code>Object</code> value.
-     * The updater methods are used to update column values in the
-     * current row or the insert row.  The updater methods do not
-     * update the underlying database; instead the <code>updateRow</code> or
-     * <code>insertRow</code> methods are called to update the database.
+     * Updates the designated column with an <code>Object</code> value. The updater
+     * methods are used to update column values in the current row or the insert
+     * row. The updater methods do not update the underlying database; instead the
+     * <code>updateRow</code> or <code>insertRow</code> methods are called to update
+     * the database.
      *
      * @param columnName the name of the column
-     * @param x          the new column value
+     * @param x the new column value
      * @throws java.sql.SQLException if a database access error occurs
      * @since 1.2
      */
@@ -1846,14 +1810,13 @@
     }
 
     /**
-     * Inserts the contents of the insert row into this
-     * <code>ResultSet</code> object and into the database.
-     * The cursor must be on the insert row when this method is called.
+     * Inserts the contents of the insert row into this <code>ResultSet</code>
+     * object and into the database. The cursor must be on the insert row when this
+     * method is called.
      *
-     * @throws java.sql.SQLException if a database access error occurs,
-     *                               if this method is called when the cursor is not on the insert row,
-     *                               or if not all of non-nullable columns in
-     *                               the insert row have been given a value
+     * @throws java.sql.SQLException if a database access error occurs, if this
+     * method is called when the cursor is not on the insert row, or if not all of
+     * non-nullable columns in the insert row have been given a value
      * @since 1.2
      */
     public void insertRow() throws SQLException {
@@ -1861,12 +1824,12 @@
     }
 
     /**
-     * Updates the underlying database with the new contents of the
-     * current row of this <code>ResultSet</code> object.
-     * This method cannot be called when the cursor is on the insert row.
+     * Updates the underlying database with the new contents of the current row of
+     * this <code>ResultSet</code> object. This method cannot be called when the
+     * cursor is on the insert row.
      *
-     * @throws java.sql.SQLException if a database access error occurs or
-     *                               if this method is called when the cursor is on the insert row
+     * @throws java.sql.SQLException if a database access error occurs or if this
+     * method is called when the cursor is on the insert row
      * @since 1.2
      */
     public void updateRow() throws SQLException {
@@ -1874,12 +1837,12 @@
     }
 
     /**
-     * Deletes the current row from this <code>ResultSet</code> object
-     * and from the underlying database.  This method cannot be called when
-     * the cursor is on the insert row.
+     * Deletes the current row from this <code>ResultSet</code> object and from the
+     * underlying database. This method cannot be called when the cursor is on the
+     * insert row.
      *
-     * @throws java.sql.SQLException if a database access error occurs
-     *                               or if this method is called when the cursor is on the insert row
+     * @throws java.sql.SQLException if a database access error occurs or if this
+     * method is called when the cursor is on the insert row
      * @since 1.2
      */
     public void deleteRow() throws SQLException {
@@ -1887,28 +1850,26 @@
     }
 
     /**
-     * Refreshes the current row with its most recent value in
-     * the database.  This method cannot be called when
-     * the cursor is on the insert row.
+     * Refreshes the current row with its most recent value in the database. This
+     * method cannot be called when the cursor is on the insert row.
      * <p/>
-     * <P>The <code>refreshRow</code> method provides a way for an
-     * application to
-     * explicitly tell the JDBC driver to refetch a row(s) from the
-     * database.  An application may want to call <code>refreshRow</code> when
-     * caching or prefetching is being done by the JDBC driver to
-     * fetch the latest value of a row from the database.  The JDBC driver
-     * may actually refresh multiple rows at once if the fetch size is
-     * greater than one.
+     * <P>
+     * The <code>refreshRow</code> method provides a way for an application to
+     * explicitly tell the JDBC driver to refetch a row(s) from the database. An
+     * application may want to call <code>refreshRow</code> when caching or
+     * prefetching is being done by the JDBC driver to fetch the latest value of a
+     * row from the database. The JDBC driver may actually refresh multiple rows at
+     * once if the fetch size is greater than one.
      * <p/>
-     * <P> All values are refetched subject to the transaction isolation
-     * level and cursor sensitivity.  If <code>refreshRow</code> is called after
-     * calling an updater method, but before calling
-     * the method <code>updateRow</code>, then the
-     * updates made to the row are lost.  Calling the method
+     * <P>
+     * All values are refetched subject to the transaction isolation level and
+     * cursor sensitivity. If <code>refreshRow</code> is called after calling an
+     * updater method, but before calling the method <code>updateRow</code>, then
+     * the updates made to the row are lost. Calling the method
      * <code>refreshRow</code> frequently will likely slow performance.
      *
-     * @throws java.sql.SQLException if a database access error
-     *                               occurs or if this method is called when the cursor is on the insert row
+     * @throws java.sql.SQLException if a database access error occurs or if this
+     * method is called when the cursor is on the insert row
      * @since 1.2
      */
     public void refreshRow() throws SQLException {
@@ -1916,18 +1877,14 @@
     }
 
     /**
-     * Cancels the updates made to the current row in this
-     * <code>ResultSet</code> object.
-     * This method may be called after calling an
-     * updater method(s) and before calling
-     * the method <code>updateRow</code> to roll back
-     * the updates made to a row.  If no updates have been made or
-     * <code>updateRow</code> has already been called, this method has no
-     * effect.
+     * Cancels the updates made to the current row in this <code>ResultSet</code>
+     * object. This method may be called after calling an updater method(s) and
+     * before calling the method <code>updateRow</code> to roll back the updates
+     * made to a row. If no updates have been made or <code>updateRow</code> has
+     * already been called, this method has no effect.
      *
-     * @throws java.sql.SQLException if a database access error
-     *                               occurs or if this method is called when the cursor is
-     *                               on the insert row
+     * @throws java.sql.SQLException if a database access error occurs or if this
+     * method is called when the cursor is on the insert row
      * @since 1.2
      */
     public void cancelRowUpdates() throws SQLException {
@@ -1935,24 +1892,21 @@
     }
 
     /**
-     * Moves the cursor to the insert row.  The current cursor position is
-     * remembered while the cursor is positioned on the insert row.
+     * Moves the cursor to the insert row. The current cursor position is remembered
+     * while the cursor is positioned on the insert row.
      * <p/>
-     * The insert row is a special row associated with an updatable
-     * result set.  It is essentially a buffer where a new row may
-     * be constructed by calling the updater methods prior to
-     * inserting the row into the result set.
+     * The insert row is a special row associated with an updatable result set. It
+     * is essentially a buffer where a new row may be constructed by calling the
+     * updater methods prior to inserting the row into the result set.
      * <p/>
-     * Only the updater, getter,
-     * and <code>insertRow</code> methods may be
-     * called when the cursor is on the insert row.  All of the columns in
-     * a result set must be given a value each time this method is
-     * called before calling <code>insertRow</code>.
-     * An updater method must be called before a
-     * getter method can be called on a column value.
+     * Only the updater, getter, and <code>insertRow</code> methods may be called
+     * when the cursor is on the insert row. All of the columns in a result set must
+     * be given a value each time this method is called before calling
+     * <code>insertRow</code>. An updater method must be called before a getter
+     * method can be called on a column value.
      *
-     * @throws java.sql.SQLException if a database access error occurs
-     *                               or the result set is not updatable
+     * @throws java.sql.SQLException if a database access error occurs or the result
+     * set is not updatable
      * @since 1.2
      */
     public void moveToInsertRow() throws SQLException {
@@ -1960,12 +1914,11 @@
     }
 
     /**
-     * Moves the cursor to the remembered cursor position, usually the
-     * current row.  This method has no effect if the cursor is not on
-     * the insert row.
+     * Moves the cursor to the remembered cursor position, usually the current row.
+     * This method has no effect if the cursor is not on the insert row.
      *
-     * @throws java.sql.SQLException if a database access error occurs
-     *                               or the result set is not updatable
+     * @throws java.sql.SQLException if a database access error occurs or the result
+     * set is not updatable
      * @since 1.2
      */
     public void moveToCurrentRow() throws SQLException {
@@ -1974,14 +1927,13 @@
 
     /**
      * Retrieves the <code>Statement</code> object that produced this
-     * <code>ResultSet</code> object.
-     * If the result set was generated some other way, such as by a
-     * <code>DatabaseMetaData</code> method, this method returns
+     * <code>ResultSet</code> object. If the result set was generated some other
+     * way, such as by a <code>DatabaseMetaData</code> method, this method returns
      * <code>null</code>.
      *
-     * @return the <code>Statment</code> object that produced
-     *         this <code>ResultSet</code> object or <code>null</code>
-     *         if the result set was produced some other way
+     * @return the <code>Statment</code> object that produced this
+     * <code>ResultSet</code> object or <code>null</code> if the result set was
+     * produced some other way
      * @throws java.sql.SQLException if a database access error occurs
      * @since 1.2
      */
@@ -2000,20 +1952,18 @@
     }
 
     /**
-     * Retrieves the value of the designated column in the current row
-     * of this <code>ResultSet</code> object as an <code>Object</code>
-     * in the Java programming language.
-     * If the value is an SQL <code>NULL</code>,
-     * the driver returns a Java <code>null</code>.
-     * This method uses the given <code>Map</code> object
-     * for the custom mapping of the
-     * SQL structured or distinct type that is being retrieved.
+     * Retrieves the value of the designated column in the current row of this
+     * <code>ResultSet</code> object as an <code>Object</code> in the Java
+     * programming language. If the value is an SQL <code>NULL</code>, the driver
+     * returns a Java <code>null</code>. This method uses the given <code>Map</code>
+     * object for the custom mapping of the SQL structured or distinct type that is
+     * being retrieved.
      *
-     * @param i   the first column is 1, the second is 2, ...
-     * @param map a <code>java.util.Map</code> object that contains the mapping
-     *            from SQL type names to classes in the Java programming language
-     * @return an <code>Object</code> in the Java programming language
-     *         representing the SQL value
+     * @param i the first column is 1, the second is 2, ...
+     * @param map a <code>java.util.Map</code> object that contains the mapping from
+     * SQL type names to classes in the Java programming language
+     * @return an <code>Object</code> in the Java programming language representing
+     * the SQL value
      * @throws java.sql.SQLException if a database access error occurs
      * @since 1.2
      */
@@ -2022,13 +1972,12 @@
     }
 
     /**
-     * Retrieves the value of the designated column in the current row
-     * of this <code>ResultSet</code> object as a <code>Ref</code> object
-     * in the Java programming language.
+     * Retrieves the value of the designated column in the current row of this
+     * <code>ResultSet</code> object as a <code>Ref</code> object in the Java
+     * programming language.
      *
      * @param i the first column is 1, the second is 2, ...
-     * @return a <code>Ref</code> object representing an SQL <code>REF</code>
-     *         value
+     * @return a <code>Ref</code> object representing an SQL <code>REF</code> value
      * @throws java.sql.SQLException if a database access error occurs
      * @since 1.2
      */
@@ -2037,13 +1986,13 @@
     }
 
     /**
-     * Retrieves the value of the designated column in the current row
-     * of this <code>ResultSet</code> object as a <code>Blob</code> object
-     * in the Java programming language.
+     * Retrieves the value of the designated column in the current row of this
+     * <code>ResultSet</code> object as a <code>Blob</code> object in the Java
+     * programming language.
      *
      * @param i the first column is 1, the second is 2, ...
-     * @return a <code>Blob</code> object representing the SQL
-     *         <code>BLOB</code> value in the specified column
+     * @return a <code>Blob</code> object representing the SQL <code>BLOB</code>
+     * value in the specified column
      * @throws java.sql.SQLException if a database access error occurs
      * @since 1.2
      */
@@ -2052,13 +2001,13 @@
     }
 
     /**
-     * Retrieves the value of the designated column in the current row
-     * of this <code>ResultSet</code> object as a <code>Clob</code> object
-     * in the Java programming language.
+     * Retrieves the value of the designated column in the current row of this
+     * <code>ResultSet</code> object as a <code>Clob</code> object in the Java
+     * programming language.
      *
      * @param i the first column is 1, the second is 2, ...
-     * @return a <code>Clob</code> object representing the SQL
-     *         <code>CLOB</code> value in the specified column
+     * @return a <code>Clob</code> object representing the SQL <code>CLOB</code>
+     * value in the specified column
      * @throws java.sql.SQLException if a database access error occurs
      * @since 1.2
      */
@@ -2067,13 +2016,13 @@
     }
 
     /**
-     * Retrieves the value of the designated column in the current row
-     * of this <code>ResultSet</code> object as an <code>Array</code> object
-     * in the Java programming language.
+     * Retrieves the value of the designated column in the current row of this
+     * <code>ResultSet</code> object as an <code>Array</code> object in the Java
+     * programming language.
      *
      * @param i the first column is 1, the second is 2, ...
-     * @return an <code>Array</code> object representing the SQL
-     *         <code>ARRAY</code> value in the specified column
+     * @return an <code>Array</code> object representing the SQL <code>ARRAY</code>
+     * value in the specified column
      * @throws java.sql.SQLException if a database access error occurs
      * @since 1.2
      */
@@ -2082,19 +2031,17 @@
     }
 
     /**
-     * Retrieves the value of the designated column in the current row
-     * of this <code>ResultSet</code> object as an <code>Object</code>
-     * in the Java programming language.
-     * If the value is an SQL <code>NULL</code>,
-     * the driver returns a Java <code>null</code>.
-     * This method uses the specified <code>Map</code> object for
-     * custom mapping if appropriate.
+     * Retrieves the value of the designated column in the current row of this
+     * <code>ResultSet</code> object as an <code>Object</code> in the Java
+     * programming language. If the value is an SQL <code>NULL</code>, the driver
+     * returns a Java <code>null</code>. This method uses the specified
+     * <code>Map</code> object for custom mapping if appropriate.
      *
      * @param colName the name of the column from which to retrieve the value
-     * @param map     a <code>java.util.Map</code> object that contains the mapping
-     *                from SQL type names to classes in the Java programming language
-     * @return an <code>Object</code> representing the SQL value in the
-     *         specified column
+     * @param map a <code>java.util.Map</code> object that contains the mapping from
+     * SQL type names to classes in the Java programming language
+     * @return an <code>Object</code> representing the SQL value in the specified
+     * column
      * @throws java.sql.SQLException if a database access error occurs
      * @since 1.2
      */
@@ -2103,13 +2050,13 @@
     }
 
     /**
-     * Retrieves the value of the designated column in the current row
-     * of this <code>ResultSet</code> object as a <code>Ref</code> object
-     * in the Java programming language.
+     * Retrieves the value of the designated column in the current row of this
+     * <code>ResultSet</code> object as a <code>Ref</code> object in the Java
+     * programming language.
      *
      * @param colName the column name
-     * @return a <code>Ref</code> object representing the SQL <code>REF</code>
-     *         value in the specified column
+     * @return a <code>Ref</code> object representing the SQL <code>REF</code> value
+     * in the specified column
      * @throws java.sql.SQLException if a database access error occurs
      * @since 1.2
      */
@@ -2118,13 +2065,13 @@
     }
 
     /**
-     * Retrieves the value of the designated column in the current row
-     * of this <code>ResultSet</code> object as a <code>Blob</code> object
-     * in the Java programming language.
+     * Retrieves the value of the designated column in the current row of this
+     * <code>ResultSet</code> object as a <code>Blob</code> object in the Java
+     * programming language.
      *
      * @param colName the name of the column from which to retrieve the value
      * @return a <code>Blob</code> object representing the SQL <code>BLOB</code>
-     *         value in the specified column
+     * value in the specified column
      * @throws java.sql.SQLException if a database access error occurs
      * @since 1.2
      */
@@ -2133,13 +2080,13 @@
     }
 
     /**
-     * Retrieves the value of the designated column in the current row
-     * of this <code>ResultSet</code> object as a <code>Clob</code> object
-     * in the Java programming language.
+     * Retrieves the value of the designated column in the current row of this
+     * <code>ResultSet</code> object as a <code>Clob</code> object in the Java
+     * programming language.
      *
      * @param colName the name of the column from which to retrieve the value
      * @return a <code>Clob</code> object representing the SQL <code>CLOB</code>
-     *         value in the specified column
+     * value in the specified column
      * @throws java.sql.SQLException if a database access error occurs
      * @since 1.2
      */
@@ -2148,13 +2095,13 @@
     }
 
     /**
-     * Retrieves the value of the designated column in the current row
-     * of this <code>ResultSet</code> object as an <code>Array</code> object
-     * in the Java programming language.
+     * Retrieves the value of the designated column in the current row of this
+     * <code>ResultSet</code> object as an <code>Array</code> object in the Java
+     * programming language.
      *
      * @param colName the name of the column from which to retrieve the value
-     * @return an <code>Array</code> object representing the SQL <code>ARRAY</code> value in
-     *         the specified column
+     * @return an <code>Array</code> object representing the SQL <code>ARRAY</code>
+     * value in the specified column
      * @throws java.sql.SQLException if a database access error occurs
      * @since 1.2
      */
@@ -2163,19 +2110,18 @@
     }
 
     /**
-     * Retrieves the value of the designated column in the current row
-     * of this <code>ResultSet</code> object as a <code>java.sql.Date</code> object
-     * in the Java programming language.
-     * This method uses the given calendar to construct an appropriate millisecond
-     * value for the date if the underlying database does not store
-     * timezone information.
+     * Retrieves the value of the designated column in the current row of this
+     * <code>ResultSet</code> object as a <code>java.sql.Date</code> object in the
+     * Java programming language. This method uses the given calendar to construct
+     * an appropriate millisecond value for the date if the underlying database does
+     * not store timezone information.
      *
      * @param columnIndex the first column is 1, the second is 2, ...
-     * @param cal         the <code>java.util.Calendar</code> object
-     *                    to use in constructing the date
-     * @return the column value as a <code>java.sql.Date</code> object;
-     *         if the value is SQL <code>NULL</code>,
-     *         the value returned is <code>null</code> in the Java programming language
+     * @param cal the <code>java.util.Calendar</code> object to use in constructing
+     * the date
+     * @return the column value as a <code>java.sql.Date</code> object; if the value
+     * is SQL <code>NULL</code>, the value returned is <code>null</code> in the Java
+     * programming language
      * @throws java.sql.SQLException if a database access error occurs
      * @since 1.2
      */
@@ -2184,19 +2130,18 @@
     }
 
     /**
-     * Retrieves the value of the designated column in the current row
-     * of this <code>ResultSet</code> object as a <code>java.sql.Date</code> object
-     * in the Java programming language.
-     * This method uses the given calendar to construct an appropriate millisecond
-     * value for the date if the underlying database does not store
-     * timezone information.
+     * Retrieves the value of the designated column in the current row of this
+     * <code>ResultSet</code> object as a <code>java.sql.Date</code> object in the
+     * Java programming language. This method uses the given calendar to construct
+     * an appropriate millisecond value for the date if the underlying database does
+     * not store timezone information.
      *
      * @param columnName the SQL name of the column from which to retrieve the value
-     * @param cal        the <code>java.util.Calendar</code> object
-     *                   to use in constructing the date
-     * @return the column value as a <code>java.sql.Date</code> object;
-     *         if the value is SQL <code>NULL</code>,
-     *         the value returned is <code>null</code> in the Java programming language
+     * @param cal the <code>java.util.Calendar</code> object to use in constructing
+     * the date
+     * @return the column value as a <code>java.sql.Date</code> object; if the value
+     * is SQL <code>NULL</code>, the value returned is <code>null</code> in the Java
+     * programming language
      * @throws java.sql.SQLException if a database access error occurs
      * @since 1.2
      */
@@ -2205,19 +2150,18 @@
     }
 
     /**
-     * Retrieves the value of the designated column in the current row
-     * of this <code>ResultSet</code> object as a <code>java.sql.Time</code> object
-     * in the Java programming language.
-     * This method uses the given calendar to construct an appropriate millisecond
-     * value for the time if the underlying database does not store
-     * timezone information.
+     * Retrieves the value of the designated column in the current row of this
+     * <code>ResultSet</code> object as a <code>java.sql.Time</code> object in the
+     * Java programming language. This method uses the given calendar to construct
+     * an appropriate millisecond value for the time if the underlying database does
+     * not store timezone information.
      *
      * @param columnIndex the first column is 1, the second is 2, ...
-     * @param cal         the <code>java.util.Calendar</code> object
-     *                    to use in constructing the time
-     * @return the column value as a <code>java.sql.Time</code> object;
-     *         if the value is SQL <code>NULL</code>,
-     *         the value returned is <code>null</code> in the Java programming language
+     * @param cal the <code>java.util.Calendar</code> object to use in constructing
+     * the time
+     * @return the column value as a <code>java.sql.Time</code> object; if the value
+     * is SQL <code>NULL</code>, the value returned is <code>null</code> in the Java
+     * programming language
      * @throws java.sql.SQLException if a database access error occurs
      * @since 1.2
      */
@@ -2226,19 +2170,18 @@
     }
 
     /**
-     * Retrieves the value of the designated column in the current row
-     * of this <code>ResultSet</code> object as a <code>java.sql.Time</code> object
-     * in the Java programming language.
-     * This method uses the given calendar to construct an appropriate millisecond
-     * value for the time if the underlying database does not store
-     * timezone information.
+     * Retrieves the value of the designated column in the current row of this
+     * <code>ResultSet</code> object as a <code>java.sql.Time</code> object in the
+     * Java programming language. This method uses the given calendar to construct
+     * an appropriate millisecond value for the time if the underlying database does
+     * not store timezone information.
      *
      * @param columnName the SQL name of the column
-     * @param cal        the <code>java.util.Calendar</code> object
-     *                   to use in constructing the time
-     * @return the column value as a <code>java.sql.Time</code> object;
-     *         if the value is SQL <code>NULL</code>,
-     *         the value returned is <code>null</code> in the Java programming language
+     * @param cal the <code>java.util.Calendar</code> object to use in constructing
+     * the time
+     * @return the column value as a <code>java.sql.Time</code> object; if the value
+     * is SQL <code>NULL</code>, the value returned is <code>null</code> in the Java
+     * programming language
      * @throws java.sql.SQLException if a database access error occurs
      * @since 1.2
      */
@@ -2247,19 +2190,18 @@
     }
 
     /**
-     * Retrieves the value of the designated column in the current row
-     * of this <code>ResultSet</code> object as a <code>java.sql.Timestamp</code> object
-     * in the Java programming language.
-     * This method uses the given calendar to construct an appropriate millisecond
-     * value for the timestamp if the underlying database does not store
-     * timezone information.
+     * Retrieves the value of the designated column in the current row of this
+     * <code>ResultSet</code> object as a <code>java.sql.Timestamp</code> object in
+     * the Java programming language. This method uses the given calendar to
+     * construct an appropriate millisecond value for the timestamp if the
+     * underlying database does not store timezone information.
      *
      * @param columnIndex the first column is 1, the second is 2, ...
-     * @param cal         the <code>java.util.Calendar</code> object
-     *                    to use in constructing the timestamp
-     * @return the column value as a <code>java.sql.Timestamp</code> object;
-     *         if the value is SQL <code>NULL</code>,
-     *         the value returned is <code>null</code> in the Java programming language
+     * @param cal the <code>java.util.Calendar</code> object to use in constructing
+     * the timestamp
+     * @return the column value as a <code>java.sql.Timestamp</code> object; if the
+     * value is SQL <code>NULL</code>, the value returned is <code>null</code> in
+     * the Java programming language
      * @throws java.sql.SQLException if a database access error occurs
      * @since 1.2
      */
@@ -2268,19 +2210,18 @@
     }
 
     /**
-     * Retrieves the value of the designated column in the current row
-     * of this <code>ResultSet</code> object as a <code>java.sql.Timestamp</code> object
-     * in the Java programming language.
-     * This method uses the given calendar to construct an appropriate millisecond
-     * value for the timestamp if the underlying database does not store
-     * timezone information.
+     * Retrieves the value of the designated column in the current row of this
+     * <code>ResultSet</code> object as a <code>java.sql.Timestamp</code> object in
+     * the Java programming language. This method uses the given calendar to
+     * construct an appropriate millisecond value for the timestamp if the
+     * underlying database does not store timezone information.
      *
      * @param columnName the SQL name of the column
-     * @param cal        the <code>java.util.Calendar</code> object
-     *                   to use in constructing the date
-     * @return the column value as a <code>java.sql.Timestamp</code> object;
-     *         if the value is SQL <code>NULL</code>,
-     *         the value returned is <code>null</code> in the Java programming language
+     * @param cal the <code>java.util.Calendar</code> object to use in constructing
+     * the date
+     * @return the column value as a <code>java.sql.Timestamp</code> object; if the
+     * value is SQL <code>NULL</code>, the value returned is <code>null</code> in
+     * the Java programming language
      * @throws java.sql.SQLException if a database access error occurs
      * @since 1.2
      */
@@ -2289,16 +2230,17 @@
     }
 
     /**
-     * Retrieves the value of the designated column in the current row
-     * of this <code>ResultSet</code> object as a <code>java.net.URL</code>
-     * object in the Java programming language.
+     * Retrieves the value of the designated column in the current row of this
+     * <code>ResultSet</code> object as a <code>java.net.URL</code> object in the
+     * Java programming language.
      *
-     * @param columnIndex the index of the column 1 is the first, 2 is the second,...
-     * @return the column value as a <code>java.net.URL</code> object;
-     *         if the value is SQL <code>NULL</code>,
-     *         the value returned is <code>null</code> in the Java programming language
-     * @throws java.sql.SQLException if a database access error occurs,
-     *                               or if a URL is malformed
+     * @param columnIndex the index of the column 1 is the first, 2 is the
+     * second,...
+     * @return the column value as a <code>java.net.URL</code> object; if the value
+     * is SQL <code>NULL</code>, the value returned is <code>null</code> in the Java
+     * programming language
+     * @throws java.sql.SQLException if a database access error occurs, or if a URL
+     * is malformed
      * @since 1.4
      */
     public URL getURL(int columnIndex) throws SQLException {
@@ -2306,16 +2248,16 @@
     }
 
     /**
-     * Retrieves the value of the designated column in the current row
-     * of this <code>ResultSet</code> object as a <code>java.net.URL</code>
-     * object in the Java programming language.
+     * Retrieves the value of the designated column in the current row of this
+     * <code>ResultSet</code> object as a <code>java.net.URL</code> object in the
+     * Java programming language.
      *
      * @param columnName the SQL name of the column
-     * @return the column value as a <code>java.net.URL</code> object;
-     *         if the value is SQL <code>NULL</code>,
-     *         the value returned is <code>null</code> in the Java programming language
-     * @throws java.sql.SQLException if a database access error occurs
-     *                               or if a URL is malformed
+     * @return the column value as a <code>java.net.URL</code> object; if the value
+     * is SQL <code>NULL</code>, the value returned is <code>null</code> in the Java
+     * programming language
+     * @throws java.sql.SQLException if a database access error occurs or if a URL
+     * is malformed
      * @since 1.4
      */
     public URL getURL(String columnName) throws SQLException {
@@ -2323,14 +2265,14 @@
     }
 
     /**
-     * Updates the designated column with a <code>java.sql.Ref</code> value.
-     * The updater methods are used to update column values in the
-     * current row or the insert row.  The updater methods do not
-     * update the underlying database; instead the <code>updateRow</code> or
-     * <code>insertRow</code> methods are called to update the database.
+     * Updates the designated column with a <code>java.sql.Ref</code> value. The
+     * updater methods are used to update column values in the current row or the
+     * insert row. The updater methods do not update the underlying database;
+     * instead the <code>updateRow</code> or <code>insertRow</code> methods are
+     * called to update the database.
      *
      * @param columnIndex the first column is 1, the second is 2, ...
-     * @param x           the new column value
+     * @param x the new column value
      * @throws java.sql.SQLException if a database access error occurs
      * @since 1.4
      */
@@ -2339,14 +2281,14 @@
     }
 
     /**
-     * Updates the designated column with a <code>java.sql.Ref</code> value.
-     * The updater methods are used to update column values in the
-     * current row or the insert row.  The updater methods do not
-     * update the underlying database; instead the <code>updateRow</code> or
-     * <code>insertRow</code> methods are called to update the database.
+     * Updates the designated column with a <code>java.sql.Ref</code> value. The
+     * updater methods are used to update column values in the current row or the
+     * insert row. The updater methods do not update the underlying database;
+     * instead the <code>updateRow</code> or <code>insertRow</code> methods are
+     * called to update the database.
      *
      * @param columnName the name of the column
-     * @param x          the new column value
+     * @param x the new column value
      * @throws java.sql.SQLException if a database access error occurs
      * @since 1.4
      */
@@ -2355,14 +2297,14 @@
     }
 
     /**
-     * Updates the designated column with a <code>java.sql.Blob</code> value.
-     * The updater methods are used to update column values in the
-     * current row or the insert row.  The updater methods do not
-     * update the underlying database; instead the <code>updateRow</code> or
-     * <code>insertRow</code> methods are called to update the database.
+     * Updates the designated column with a <code>java.sql.Blob</code> value. The
+     * updater methods are used to update column values in the current row or the
+     * insert row. The updater methods do not update the underlying database;
+     * instead the <code>updateRow</code> or <code>insertRow</code> methods are
+     * called to update the database.
      *
      * @param columnIndex the first column is 1, the second is 2, ...
-     * @param x           the new column value
+     * @param x the new column value
      * @throws java.sql.SQLException if a database access error occurs
      * @since 1.4
      */
@@ -2371,14 +2313,14 @@
     }
 
     /**
-     * Updates the designated column with a <code>java.sql.Blob</code> value.
-     * The updater methods are used to update column values in the
-     * current row or the insert row.  The updater methods do not
-     * update the underlying database; instead the <code>updateRow</code> or
-     * <code>insertRow</code> methods are called to update the database.
+     * Updates the designated column with a <code>java.sql.Blob</code> value. The
+     * updater methods are used to update column values in the current row or the
+     * insert row. The updater methods do not update the underlying database;
+     * instead the <code>updateRow</code> or <code>insertRow</code> methods are
+     * called to update the database.
      *
      * @param columnName the name of the column
-     * @param x          the new column value
+     * @param x the new column value
      * @throws java.sql.SQLException if a database access error occurs
      * @since 1.4
      */
@@ -2387,14 +2329,14 @@
     }
 
     /**
-     * Updates the designated column with a <code>java.sql.Clob</code> value.
-     * The updater methods are used to update column values in the
-     * current row or the insert row.  The updater methods do not
-     * update the underlying database; instead the <code>updateRow</code> or
-     * <code>insertRow</code> methods are called to update the database.
+     * Updates the designated column with a <code>java.sql.Clob</code> value. The
+     * updater methods are used to update column values in the current row or the
+     * insert row. The updater methods do not update the underlying database;
+     * instead the <code>updateRow</code> or <code>insertRow</code> methods are
+     * called to update the database.
      *
      * @param columnIndex the first column is 1, the second is 2, ...
-     * @param x           the new column value
+     * @param x the new column value
      * @throws java.sql.SQLException if a database access error occurs
      * @since 1.4
      */
@@ -2403,14 +2345,14 @@
     }
 
     /**
-     * Updates the designated column with a <code>java.sql.Clob</code> value.
-     * The updater methods are used to update column values in the
-     * current row or the insert row.  The updater methods do not
-     * update the underlying database; instead the <code>updateRow</code> or
-     * <code>insertRow</code> methods are called to update the database.
+     * Updates the designated column with a <code>java.sql.Clob</code> value. The
+     * updater methods are used to update column values in the current row or the
+     * insert row. The updater methods do not update the underlying database;
+     * instead the <code>updateRow</code> or <code>insertRow</code> methods are
+     * called to update the database.
      *
      * @param columnName the name of the column
-     * @param x          the new column value
+     * @param x the new column value
      * @throws java.sql.SQLException if a database access error occurs
      * @since 1.4
      */
@@ -2419,14 +2361,14 @@
     }
 
     /**
-     * Updates the designated column with a <code>java.sql.Array</code> value.
-     * The updater methods are used to update column values in the
-     * current row or the insert row.  The updater methods do not
-     * update the underlying database; instead the <code>updateRow</code> or
-     * <code>insertRow</code> methods are called to update the database.
+     * Updates the designated column with a <code>java.sql.Array</code> value. The
+     * updater methods are used to update column values in the current row or the
+     * insert row. The updater methods do not update the underlying database;
+     * instead the <code>updateRow</code> or <code>insertRow</code> methods are
+     * called to update the database.
      *
      * @param columnIndex the first column is 1, the second is 2, ...
-     * @param x           the new column value
+     * @param x the new column value
      * @throws java.sql.SQLException if a database access error occurs
      * @since 1.4
      */
@@ -2435,14 +2377,14 @@
     }
 
     /**
-     * Updates the designated column with a <code>java.sql.Array</code> value.
-     * The updater methods are used to update column values in the
-     * current row or the insert row.  The updater methods do not
-     * update the underlying database; instead the <code>updateRow</code> or
-     * <code>insertRow</code> methods are called to update the database.
+     * Updates the designated column with a <code>java.sql.Array</code> value. The
+     * updater methods are used to update column values in the current row or the
+     * insert row. The updater methods do not update the underlying database;
+     * instead the <code>updateRow</code> or <code>insertRow</code> methods are
+     * called to update the database.
      *
      * @param columnName the name of the column
-     * @param x          the new column value
+     * @param x the new column value
      * @throws java.sql.SQLException if a database access error occurs
      * @since 1.4
      */
diff --git a/appserver/jdbc/jdbc-ra/jdbc-core/src/main/java/com/sun/gjc/spi/base/StatementWrapper.java b/appserver/jdbc/jdbc-ra/jdbc-core/src/main/java/com/sun/gjc/spi/base/StatementWrapper.java
index f53091a..a81f81e 100644
--- a/appserver/jdbc/jdbc-ra/jdbc-core/src/main/java/com/sun/gjc/spi/base/StatementWrapper.java
+++ b/appserver/jdbc/jdbc-ra/jdbc-core/src/main/java/com/sun/gjc/spi/base/StatementWrapper.java
@@ -1,4 +1,5 @@
 /*
+ * Copyright (c) 2022 Contributors to the Eclipse Foundation.
  * Copyright (c) 1997, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
@@ -16,11 +17,6 @@
 
 package com.sun.gjc.spi.base;
 
-import com.sun.gjc.common.DataSourceObjectBuilder;
-import com.sun.gjc.util.MethodExecutor;
-import com.sun.gjc.util.StatementLeakDetector;
-import com.sun.gjc.util.StatementLeakListener;
-import com.sun.logging.LogDomains;
 import java.sql.CallableStatement;
 import java.sql.Connection;
 import java.sql.PreparedStatement;
@@ -30,6 +26,12 @@
 import java.util.concurrent.atomic.AtomicInteger;
 import java.util.logging.Level;
 import java.util.logging.Logger;
+
+import com.sun.gjc.util.MethodExecutor;
+import com.sun.gjc.util.StatementLeakDetector;
+import com.sun.gjc.util.StatementLeakListener;
+import com.sun.logging.LogDomains;
+
 import jakarta.resource.ResourceException;
 
 /**
@@ -37,415 +39,414 @@
  */
 public abstract class StatementWrapper implements Statement, StatementLeakListener {
 
-    protected Connection connection = null;
-    protected Statement jdbcStatement = null;
-    protected StatementLeakDetector leakDetector = null;
-    private boolean markedForReclaim = false;
-    protected final static Logger _logger;
-    protected MethodExecutor executor = null;
-    private boolean closeOnCompletion = false;
+    protected final static Logger _logger = LogDomains.getLogger(MethodExecutor.class, LogDomains.RSR_LOGGER);
+
+    protected Connection connection;
+    protected Statement jdbcStatement;
+    protected StatementLeakDetector leakDetector;
+    private boolean markedForReclaim;
+    protected MethodExecutor executor;
+    private boolean closeOnCompletion;
     protected AtomicInteger resultSetCount = new AtomicInteger();
 
 
-    static {
-        _logger = LogDomains.getLogger(MethodExecutor.class, LogDomains.RSR_LOGGER);
-    }
-
     /**
      * Abstract class for wrapping Statement<br>
      *
-     * @param con       ConnectionWrapper <br>
+     * @param con ConnectionWrapper <br>
      * @param statement Statement that is to be wrapped<br>
      */
     public StatementWrapper(Connection con, Statement statement) {
         connection = con;
         jdbcStatement = statement;
         executor = new MethodExecutor();
-        //Start leak tracing if statement is a pure Statement & stmtWrapping is ON
-        //Check if this is an instanceof PS/CS. There could exist
-        //a CustomStatement class in a jdbc driver that implements PS/CS as well
-        //as Statement
-        if(!(this instanceof PreparedStatement) &&
-                !(this instanceof CallableStatement)) {
+
+        // Start leak tracing if statement is a pure Statement & stmtWrapping is ON
+        // Check if this is an instanceof PS/CS. There could exist
+        // a CustomStatement class in a jdbc driver that implements PS/CS as well
+        // as Statement
+        if (!(this instanceof PreparedStatement) && !(this instanceof CallableStatement)) {
             ConnectionHolder wrappedCon = (ConnectionHolder) con;
 
             leakDetector = wrappedCon.getManagedConnection().getLeakDetector();
-            if(leakDetector != null) {
+            if (leakDetector != null) {
                 leakDetector.startStatementLeakTracing(jdbcStatement, this);
             }
         }
-        //If PS or CS, do not start leak tracing here
+        // If PS or CS, do not start leak tracing here
     }
 
     /**
      * Executes the given SQL statement, which may be an <code>INSERT</code>,
-     * <code>UPDATE</code>, or <code>DELETE</code> statement or an
-     * SQL statement that returns nothing, such as an SQL DDL statement.
+     * <code>UPDATE</code>, or <code>DELETE</code> statement or an SQL statement
+     * that returns nothing, such as an SQL DDL statement.
      *
      * @param sql an SQL <code>INSERT</code>, <code>UPDATE</code> or
-     *            <code>DELETE</code> statement or an SQL statement that returns nothing
-     * @return either the row count for <code>INSERT</code>, <code>UPDATE</code>
-     *         or <code>DELETE</code> statements, or <code>0</code> for SQL statements
-     *         that return nothing
+     * <code>DELETE</code> statement or an SQL statement that returns nothing
+     * @return either the row count for <code>INSERT</code>, <code>UPDATE</code> or
+     * <code>DELETE</code> statements, or <code>0</code> for SQL statements that
+     * return nothing
      * @throws java.sql.SQLException if a database access error occurs or the given
-     *                               SQL statement produces a <code>ResultSet</code> object
+     * SQL statement produces a <code>ResultSet</code> object
      */
+    @Override
     public int executeUpdate(final String sql) throws SQLException {
         return jdbcStatement.executeUpdate(sql);
     }
 
     /**
-     * Releases this <code>Statement</code> object's database
-     * and JDBC resources immediately instead of waiting for
-     * this to happen when it is automatically closed.
-     * It is generally good practice to release resources as soon as
-     * you are finished with them to avoid tying up database
-     * resources.
+     * Releases this <code>Statement</code> object's database and JDBC resources
+     * immediately instead of waiting for this to happen when it is automatically
+     * closed. It is generally good practice to release resources as soon as you are
+     * finished with them to avoid tying up database resources.
      * <p/>
-     * Calling the method <code>close</code> on a <code>Statement</code>
-     * object that is already closed has no effect.
+     * Calling the method <code>close</code> on a <code>Statement</code> object that
+     * is already closed has no effect.
      * <p/>
-     * <B>Note:</B> A <code>Statement</code> object is automatically closed
-     * when it is garbage collected. When a <code>Statement</code> object is
-     * closed, its current <code>ResultSet</code> object, if one exists, is
-     * also closed.
+     * <B>Note:</B> A <code>Statement</code> object is automatically closed when it
+     * is garbage collected. When a <code>Statement</code> object is closed, its
+     * current <code>ResultSet</code> object, if one exists, is also closed.
      *
      * @throws java.sql.SQLException if a database access error occurs
      */
+    @Override
     public void close() throws SQLException {
-        //Stop leak tracing
-        if(leakDetector != null) {
+        // Stop leak tracing
+        if (leakDetector != null) {
             leakDetector.stopStatementLeakTracing(jdbcStatement, this);
         }
         jdbcStatement.close();
     }
 
     /**
-     * Retrieves the maximum number of bytes that can be
-     * returned for character and binary column values in a <code>ResultSet</code>
-     * object produced by this <code>Statement</code> object.
-     * This limit applies only to <code>BINARY</code>,
-     * <code>VARBINARY</code>, <code>LONGVARBINARY</code>, <code>CHAR</code>,
-     * <code>VARCHAR</code>, and <code>LONGVARCHAR</code>
-     * columns.  If the limit is exceeded, the excess data is silently
-     * discarded.
+     * Retrieves the maximum number of bytes that can be returned for character and
+     * binary column values in a <code>ResultSet</code> object produced by this
+     * <code>Statement</code> object. This limit applies only to
+     * <code>BINARY</code>, <code>VARBINARY</code>, <code>LONGVARBINARY</code>,
+     * <code>CHAR</code>, <code>VARCHAR</code>, and <code>LONGVARCHAR</code>
+     * columns. If the limit is exceeded, the excess data is silently discarded.
      *
      * @return the current column size limit for columns storing character and
-     *         binary values; zero means there is no limit
+     * binary values; zero means there is no limit
      * @throws java.sql.SQLException if a database access error occurs
      * @see #setMaxFieldSize
      */
+    @Override
     public int getMaxFieldSize() throws SQLException {
         return jdbcStatement.getMaxFieldSize();
     }
 
     /**
      * Sets the limit for the maximum number of bytes in a <code>ResultSet</code>
-     * column storing character or binary values to
-     * the given number of bytes.  This limit applies
-     * only to <code>BINARY</code>, <code>VARBINARY</code>,
+     * column storing character or binary values to the given number of bytes. This
+     * limit applies only to <code>BINARY</code>, <code>VARBINARY</code>,
      * <code>LONGVARBINARY</code>, <code>CHAR</code>, <code>VARCHAR</code>, and
-     * <code>LONGVARCHAR</code> fields.  If the limit is exceeded, the excess data
-     * is silently discarded. For maximum portability, use values
-     * greater than 256.
+     * <code>LONGVARCHAR</code> fields. If the limit is exceeded, the excess data is
+     * silently discarded. For maximum portability, use values greater than 256.
      *
      * @param max the new column size limit in bytes; zero means there is no limit
-     * @throws java.sql.SQLException if a database access error occurs
-     *                               or the condition max >= 0 is not satisfied
+     * @throws java.sql.SQLException if a database access error occurs or the
+     * condition max >= 0 is not satisfied
      * @see #getMaxFieldSize
      */
+    @Override
     public void setMaxFieldSize(int max) throws SQLException {
         jdbcStatement.setMaxFieldSize(max);
     }
 
     /**
-     * Retrieves the maximum number of rows that a
-     * <code>ResultSet</code> object produced by this
-     * <code>Statement</code> object can contain.  If this limit is exceeded,
-     * the excess rows are silently dropped.
+     * Retrieves the maximum number of rows that a <code>ResultSet</code> object
+     * produced by this <code>Statement</code> object can contain. If this limit is
+     * exceeded, the excess rows are silently dropped.
      *
      * @return the current maximum number of rows for a <code>ResultSet</code>
-     *         object produced by this <code>Statement</code> object;
-     *         zero means there is no limit
+     * object produced by this <code>Statement</code> object; zero means there is no
+     * limit
      * @throws java.sql.SQLException if a database access error occurs
      * @see #setMaxRows
      */
+    @Override
     public int getMaxRows() throws SQLException {
         return jdbcStatement.getMaxRows();
     }
 
     /**
-     * Sets the limit for the maximum number of rows that any
-     * <code>ResultSet</code> object can contain to the given number.
-     * If the limit is exceeded, the excess
+     * Sets the limit for the maximum number of rows that any <code>ResultSet</code>
+     * object can contain to the given number. If the limit is exceeded, the excess
      * rows are silently dropped.
      *
      * @param max the new max rows limit; zero means there is no limit
-     * @throws java.sql.SQLException if a database access error occurs
-     *                               or the condition max >= 0 is not satisfied
+     * @throws java.sql.SQLException if a database access error occurs or the
+     * condition max >= 0 is not satisfied
      * @see #getMaxRows
      */
+    @Override
     public void setMaxRows(int max) throws SQLException {
         jdbcStatement.setMaxRows(max);
     }
 
     /**
-     * Sets escape processing on or off.
-     * If escape scanning is on (the default), the driver will do
-     * escape substitution before sending the SQL statement to the database.
+     * Sets escape processing on or off. If escape scanning is on (the default), the
+     * driver will do escape substitution before sending the SQL statement to the
+     * database.
      * <p/>
-     * Note: Since prepared statements have usually been parsed prior
-     * to making this call, disabling escape processing for
-     * <code>PreparedStatements</code> objects will have no effect.
+     * Note: Since prepared statements have usually been parsed prior to making this
+     * call, disabling escape processing for <code>PreparedStatements</code> objects
+     * will have no effect.
      *
      * @param enable <code>true</code> to enable escape processing;
-     *               <code>false</code> to disable it
+     * <code>false</code> to disable it
      * @throws java.sql.SQLException if a database access error occurs
      */
+    @Override
     public void setEscapeProcessing(boolean enable) throws SQLException {
         jdbcStatement.setEscapeProcessing(enable);
     }
 
     /**
-     * Retrieves the number of seconds the driver will
-     * wait for a <code>Statement</code> object to execute. If the limit is exceeded, a
+     * Retrieves the number of seconds the driver will wait for a
+     * <code>Statement</code> object to execute. If the limit is exceeded, a
      * <code>SQLException</code> is thrown.
      *
-     * @return the current query timeout limit in seconds; zero means there is
-     *         no limit
+     * @return the current query timeout limit in seconds; zero means there is no
+     * limit
      * @throws java.sql.SQLException if a database access error occurs
      * @see #setQueryTimeout
      */
+    @Override
     public int getQueryTimeout() throws SQLException {
         return jdbcStatement.getQueryTimeout();
     }
 
     /**
-     * Sets the number of seconds the driver will wait for a
-     * <code>Statement</code> object to execute to the given number of seconds.
-     * If the limit is exceeded, an <code>SQLException</code> is thrown.
+     * Sets the number of seconds the driver will wait for a <code>Statement</code>
+     * object to execute to the given number of seconds. If the limit is exceeded,
+     * an <code>SQLException</code> is thrown.
      *
-     * @param seconds the new query timeout limit in seconds; zero means
-     *                there is no limit
-     * @throws java.sql.SQLException if a database access error occurs
-     *                               or the condition seconds >= 0 is not satisfied
+     * @param seconds the new query timeout limit in seconds; zero means there is no
+     * limit
+     * @throws java.sql.SQLException if a database access error occurs or the
+     * condition seconds >= 0 is not satisfied
      * @see #getQueryTimeout
      */
+    @Override
     public void setQueryTimeout(int seconds) throws SQLException {
         jdbcStatement.setQueryTimeout(seconds);
     }
 
     /**
-     * Cancels this <code>Statement</code> object if both the DBMS and
-     * driver support aborting an SQL statement.
-     * This method can be used by one thread to cancel a statement that
-     * is being executed by another thread.
+     * Cancels this <code>Statement</code> object if both the DBMS and driver
+     * support aborting an SQL statement. This method can be used by one thread to
+     * cancel a statement that is being executed by another thread.
      *
      * @throws java.sql.SQLException if a database access error occurs
      */
+    @Override
     public void cancel() throws SQLException {
         jdbcStatement.cancel();
     }
 
     /**
-     * Retrieves the first warning reported by calls on this <code>Statement</code> object.
-     * Subsequent <code>Statement</code> object warnings will be chained to this
-     * <code>SQLWarning</code> object.
+     * Retrieves the first warning reported by calls on this <code>Statement</code>
+     * object. Subsequent <code>Statement</code> object warnings will be chained to
+     * this <code>SQLWarning</code> object.
      * <p/>
-     * <p>The warning chain is automatically cleared each time
-     * a statement is (re)executed. This method may not be called on a closed
-     * <code>Statement</code> object; doing so will cause an <code>SQLException</code>
-     * to be thrown.
+     * <p>
+     * The warning chain is automatically cleared each time a statement is
+     * (re)executed. This method may not be called on a closed
+     * <code>Statement</code> object; doing so will cause an
+     * <code>SQLException</code> to be thrown.
      * <p/>
-     * <P><B>Note:</B> If you are processing a <code>ResultSet</code> object, any
-     * warnings associated with reads on that <code>ResultSet</code> object
-     * will be chained on it rather than on the <code>Statement</code>
-     * object that produced it.
+     * <P>
+     * <B>Note:</B> If you are processing a <code>ResultSet</code> object, any
+     * warnings associated with reads on that <code>ResultSet</code> object will be
+     * chained on it rather than on the <code>Statement</code> object that produced
+     * it.
      *
-     * @return the first <code>SQLWarning</code> object or <code>null</code>
-     *         if there are no warnings
+     * @return the first <code>SQLWarning</code> object or <code>null</code> if
+     * there are no warnings
      * @throws java.sql.SQLException if a database access error occurs or this
-     *                               method is called on a closed statement
+     * method is called on a closed statement
      */
+    @Override
     public SQLWarning getWarnings() throws SQLException {
         return jdbcStatement.getWarnings();
     }
 
     /**
-     * Clears all the warnings reported on this <code>Statement</code>
-     * object. After a call to this method,
-     * the method <code>getWarnings</code> will return
+     * Clears all the warnings reported on this <code>Statement</code> object. After
+     * a call to this method, the method <code>getWarnings</code> will return
      * <code>null</code> until a new warning is reported for this
      * <code>Statement</code> object.
      *
      * @throws java.sql.SQLException if a database access error occurs
      */
+    @Override
     public void clearWarnings() throws SQLException {
         jdbcStatement.clearWarnings();
     }
 
     /**
-     * Sets the SQL cursor name to the given <code>String</code>, which
-     * will be used by subsequent <code>Statement</code> object
-     * <code>execute</code> methods. This name can then be
-     * used in SQL positioned update or delete statements to identify the
-     * current row in the <code>ResultSet</code> object generated by this
-     * statement.  If the database does not support positioned update/delete,
-     * this method is a noop.  To insure that a cursor has the proper isolation
-     * level to support updates, the cursor's <code>SELECT</code> statement
-     * should have the form <code>SELECT FOR UPDATE</code>.  If
-     * <code>FOR UPDATE</code> is not present, positioned updates may fail.
+     * Sets the SQL cursor name to the given <code>String</code>, which will be used
+     * by subsequent <code>Statement</code> object <code>execute</code> methods.
+     * This name can then be used in SQL positioned update or delete statements to
+     * identify the current row in the <code>ResultSet</code> object generated by
+     * this statement. If the database does not support positioned update/delete,
+     * this method is a noop. To insure that a cursor has the proper isolation level
+     * to support updates, the cursor's <code>SELECT</code> statement should have
+     * the form <code>SELECT FOR UPDATE</code>. If <code>FOR UPDATE</code> is not
+     * present, positioned updates may fail.
      * <p/>
-     * <P><B>Note:</B> By definition, the execution of positioned updates and
-     * deletes must be done by a different <code>Statement</code> object than
-     * the one that generated the <code>ResultSet</code> object being used for
-     * positioning. Also, cursor names must be unique within a connection.
+     * <P>
+     * <B>Note:</B> By definition, the execution of positioned updates and deletes
+     * must be done by a different <code>Statement</code> object than the one that
+     * generated the <code>ResultSet</code> object being used for positioning. Also,
+     * cursor names must be unique within a connection.
      *
-     * @param name the new cursor name, which must be unique within
-     *             a connection
+     * @param name the new cursor name, which must be unique within a connection
      * @throws java.sql.SQLException if a database access error occurs
      */
+    @Override
     public void setCursorName(String name) throws SQLException {
         jdbcStatement.setCursorName(name);
     }
 
     /**
-     * Executes the given SQL statement, which may return multiple results.
-     * In some (uncommon) situations, a single SQL statement may return
-     * multiple result sets and/or update counts.  Normally you can ignore
-     * this unless you are (1) executing a stored procedure that you know may
-     * return multiple results or (2) you are dynamically executing an
-     * unknown SQL string.
+     * Executes the given SQL statement, which may return multiple results. In some
+     * (uncommon) situations, a single SQL statement may return multiple result sets
+     * and/or update counts. Normally you can ignore this unless you are (1)
+     * executing a stored procedure that you know may return multiple results or (2)
+     * you are dynamically executing an unknown SQL string.
      * <p/>
      * The <code>execute</code> method executes an SQL statement and indicates the
-     * form of the first result.  You must then use the methods
-     * <code>getResultSet</code> or <code>getUpdateCount</code>
-     * to retrieve the result, and <code>getMoreResults</code> to
-     * move to any subsequent result(s).
+     * form of the first result. You must then use the methods
+     * <code>getResultSet</code> or <code>getUpdateCount</code> to retrieve the
+     * result, and <code>getMoreResults</code> to move to any subsequent result(s).
      *
      * @param sql any SQL statement
      * @return <code>true</code> if the first result is a <code>ResultSet</code>
-     *         object; <code>false</code> if it is an update count or there are
-     *         no results
+     * object; <code>false</code> if it is an update count or there are no results
      * @throws java.sql.SQLException if a database access error occurs
      * @see #getResultSet
      * @see #getUpdateCount
      * @see #getMoreResults
      */
+    @Override
     public boolean execute(final String sql) throws SQLException {
         return jdbcStatement.execute(sql);
     }
 
-
     /**
-     * Retrieves the current result as an update count;
-     * if the result is a <code>ResultSet</code> object or there are no more results, -1
-     * is returned. This method should be called only once per result.
+     * Retrieves the current result as an update count; if the result is a
+     * <code>ResultSet</code> object or there are no more results, -1 is returned.
+     * This method should be called only once per result.
      *
      * @return the current result as an update count; -1 if the current result is a
-     *         <code>ResultSet</code> object or there are no more results
+     * <code>ResultSet</code> object or there are no more results
      * @throws java.sql.SQLException if a database access error occurs
      * @see #execute
      */
+    @Override
     public int getUpdateCount() throws SQLException {
         return jdbcStatement.getUpdateCount();
     }
 
     /**
      * Moves to this <code>Statement</code> object's next result, returns
-     * <code>true</code> if it is a <code>ResultSet</code> object, and
-     * implicitly closes any current <code>ResultSet</code>
-     * object(s) obtained with the method <code>getResultSet</code>.
+     * <code>true</code> if it is a <code>ResultSet</code> object, and implicitly
+     * closes any current <code>ResultSet</code> object(s) obtained with the method
+     * <code>getResultSet</code>.
      * <p/>
-     * <P>There are no more results when the following is true:
+     * <P>
+     * There are no more results when the following is true:
+     *
      * <PRE>
      * // stmt is a Statement object
      * ((stmt.getMoreResults() == false) && (stmt.getUpdateCount() == -1))
      * </PRE>
      *
      * @return <code>true</code> if the next result is a <code>ResultSet</code>
-     *         object; <code>false</code> if it is an update count or there are
-     *         no more results
+     * object; <code>false</code> if it is an update count or there are no more
+     * results
      * @throws java.sql.SQLException if a database access error occurs
      * @see #execute
      */
+    @Override
     public boolean getMoreResults() throws SQLException {
         return jdbcStatement.getMoreResults();
     }
 
     /**
-     * Gives the driver a hint as to the direction in which
-     * rows will be processed in <code>ResultSet</code>
-     * objects created using this <code>Statement</code> object.  The
-     * default value is <code>ResultSet.FETCH_FORWARD</code>.
+     * Gives the driver a hint as to the direction in which rows will be processed
+     * in <code>ResultSet</code> objects created using this <code>Statement</code>
+     * object. The default value is <code>ResultSet.FETCH_FORWARD</code>.
      * <p/>
-     * Note that this method sets the default fetch direction for
-     * result sets generated by this <code>Statement</code> object.
-     * Each result set has its own methods for getting and setting
-     * its own fetch direction.
+     * Note that this method sets the default fetch direction for result sets
+     * generated by this <code>Statement</code> object. Each result set has its own
+     * methods for getting and setting its own fetch direction.
      *
      * @param direction the initial direction for processing rows
-     * @throws java.sql.SQLException if a database access error occurs
-     *                               or the given direction
-     *                               is not one of <code>ResultSet.FETCH_FORWARD</code>,
-     *                               <code>ResultSet.FETCH_REVERSE</code>, or <code>ResultSet.FETCH_UNKNOWN</code>
+     * @throws java.sql.SQLException if a database access error occurs or the given
+     * direction is not one of <code>ResultSet.FETCH_FORWARD</code>,
+     * <code>ResultSet.FETCH_REVERSE</code>, or <code>ResultSet.FETCH_UNKNOWN</code>
      * @see #getFetchDirection
      * @since 1.2
      */
+    @Override
     public void setFetchDirection(int direction) throws SQLException {
         jdbcStatement.setFetchDirection(direction);
     }
 
     /**
-     * Retrieves the direction for fetching rows from
-     * database tables that is the default for result sets
-     * generated from this <code>Statement</code> object.
-     * If this <code>Statement</code> object has not set
-     * a fetch direction by calling the method <code>setFetchDirection</code>,
-     * the return value is implementation-specific.
+     * Retrieves the direction for fetching rows from database tables that is the
+     * default for result sets generated from this <code>Statement</code> object. If
+     * this <code>Statement</code> object has not set a fetch direction by calling
+     * the method <code>setFetchDirection</code>, the return value is
+     * implementation-specific.
      *
-     * @return the default fetch direction for result sets generated
-     *         from this <code>Statement</code> object
+     * @return the default fetch direction for result sets generated from this
+     * <code>Statement</code> object
      * @throws java.sql.SQLException if a database access error occurs
      * @see #setFetchDirection
      * @since 1.2
      */
+    @Override
     public int getFetchDirection() throws SQLException {
         return jdbcStatement.getFetchDirection();
     }
 
     /**
-     * Gives the JDBC driver a hint as to the number of rows that should
-     * be fetched from the database when more rows are needed.  The number
-     * of rows specified affects only result sets created using this
-     * statement. If the value specified is zero, then the hint is ignored.
-     * The default value is zero.
+     * Gives the JDBC driver a hint as to the number of rows that should be fetched
+     * from the database when more rows are needed. The number of rows specified
+     * affects only result sets created using this statement. If the value specified
+     * is zero, then the hint is ignored. The default value is zero.
      *
      * @param rows the number of rows to fetch
      * @throws java.sql.SQLException if a database access error occurs, or the
-     *                               condition 0 <= <code>rows</code> <= <code>this.getMaxRows()</code>
-     *                               is not satisfied.
+     * condition 0 <= <code>rows</code> <= <code>this.getMaxRows()</code> is not
+     * satisfied.
      * @see #getFetchSize
      * @since 1.2
      */
+    @Override
     public void setFetchSize(int rows) throws SQLException {
         jdbcStatement.setFetchSize(rows);
     }
 
     /**
-     * Retrieves the number of result set rows that is the default
-     * fetch size for <code>ResultSet</code> objects
-     * generated from this <code>Statement</code> object.
-     * If this <code>Statement</code> object has not set
-     * a fetch size by calling the method <code>setFetchSize</code>,
-     * the return value is implementation-specific.
+     * Retrieves the number of result set rows that is the default fetch size for
+     * <code>ResultSet</code> objects generated from this <code>Statement</code>
+     * object. If this <code>Statement</code> object has not set a fetch size by
+     * calling the method <code>setFetchSize</code>, the return value is
+     * implementation-specific.
      *
-     * @return the default fetch size for result sets generated
-     *         from this <code>Statement</code> object
+     * @return the default fetch size for result sets generated from this
+     * <code>Statement</code> object
      * @throws java.sql.SQLException if a database access error occurs
      * @see #setFetchSize
      * @since 1.2
      */
+    @Override
     public int getFetchSize() throws SQLException {
         return jdbcStatement.getFetchSize();
     }
@@ -455,121 +456,123 @@
      * generated by this <code>Statement</code> object.
      *
      * @return either <code>ResultSet.CONCUR_READ_ONLY</code> or
-     *         <code>ResultSet.CONCUR_UPDATABLE</code>
+     * <code>ResultSet.CONCUR_UPDATABLE</code>
      * @throws java.sql.SQLException if a database access error occurs
      * @since 1.2
      */
+    @Override
     public int getResultSetConcurrency() throws SQLException {
         return jdbcStatement.getResultSetConcurrency();
     }
 
     /**
-     * Retrieves the result set type for <code>ResultSet</code> objects
-     * generated by this <code>Statement</code> object.
+     * Retrieves the result set type for <code>ResultSet</code> objects generated by
+     * this <code>Statement</code> object.
      *
      * @return one of <code>ResultSet.TYPE_FORWARD_ONLY</code>,
-     *         <code>ResultSet.TYPE_SCROLL_INSENSITIVE</code>, or
-     *         <code>ResultSet.TYPE_SCROLL_SENSITIVE</code>
+     * <code>ResultSet.TYPE_SCROLL_INSENSITIVE</code>, or
+     * <code>ResultSet.TYPE_SCROLL_SENSITIVE</code>
      * @throws java.sql.SQLException if a database access error occurs
      * @since 1.2
      */
+    @Override
     public int getResultSetType() throws SQLException {
         return jdbcStatement.getResultSetType();
     }
 
     /**
      * Adds the given SQL command to the current list of commmands for this
-     * <code>Statement</code> object. The commands in this list can be
-     * executed as a batch by calling the method <code>executeBatch</code>.
+     * <code>Statement</code> object. The commands in this list can be executed as a
+     * batch by calling the method <code>executeBatch</code>.
      * <p/>
-     * <B>NOTE:</B>  This method is optional.
+     * <B>NOTE:</B> This method is optional.
      *
      * @param sql typically this is a static SQL <code>INSERT</code> or
-     *            <code>UPDATE</code> statement
+     * <code>UPDATE</code> statement
      * @throws java.sql.SQLException if a database access error occurs, or the
-     *                               driver does not support batch updates
+     * driver does not support batch updates
      * @see #executeBatch
      * @since 1.2
      */
+    @Override
     public void addBatch(String sql) throws SQLException {
         jdbcStatement.addBatch(sql);
     }
 
     /**
-     * Empties this <code>Statement</code> object's current list of
-     * SQL commands.
+     * Empties this <code>Statement</code> object's current list of SQL commands.
      * <p/>
-     * <B>NOTE:</B>  This method is optional.
+     * <B>NOTE:</B> This method is optional.
      *
-     * @throws java.sql.SQLException if a database access error occurs or the
-     *                               driver does not support batch updates
+     * @throws java.sql.SQLException if a database access error occurs or the driver
+     * does not support batch updates
      * @see #addBatch
      * @since 1.2
      */
+    @Override
     public void clearBatch() throws SQLException {
         jdbcStatement.clearBatch();
     }
 
     /**
-     * Submits a batch of commands to the database for execution and
-     * if all commands execute successfully, returns an array of update counts.
-     * The <code>int</code> elements of the array that is returned are ordered
-     * to correspond to the commands in the batch, which are ordered
-     * according to the order in which they were added to the batch.
-     * The elements in the array returned by the method <code>executeBatch</code>
-     * may be one of the following:
+     * Submits a batch of commands to the database for execution and if all commands
+     * execute successfully, returns an array of update counts. The <code>int</code>
+     * elements of the array that is returned are ordered to correspond to the
+     * commands in the batch, which are ordered according to the order in which they
+     * were added to the batch. The elements in the array returned by the method
+     * <code>executeBatch</code> may be one of the following:
      * <OL>
-     * <LI>A number greater than or equal to zero -- indicates that the
-     * command was processed successfully and is an update count giving the
-     * number of rows in the database that were affected by the command's
-     * execution
+     * <LI>A number greater than or equal to zero -- indicates that the command was
+     * processed successfully and is an update count giving the number of rows in
+     * the database that were affected by the command's execution
      * <LI>A value of <code>SUCCESS_NO_INFO</code> -- indicates that the command was
-     * processed successfully but that the number of rows affected is
-     * unknown
+     * processed successfully but that the number of rows affected is unknown
      * <p/>
-     * If one of the commands in a batch update fails to execute properly,
-     * this method throws a <code>BatchUpdateException</code>, and a JDBC
-     * driver may or may not continue to process the remaining commands in
-     * the batch.  However, the driver's behavior must be consistent with a
-     * particular DBMS, either always continuing to process commands or never
-     * continuing to process commands.  If the driver continues processing
-     * after a failure, the array returned by the method
-     * <code>BatchUpdateException.getUpdateCounts</code>
-     * will contain as many elements as there are commands in the batch, and
-     * at least one of the elements will be the following:
+     * If one of the commands in a batch update fails to execute properly, this
+     * method throws a <code>BatchUpdateException</code>, and a JDBC driver may or
+     * may not continue to process the remaining commands in the batch. However, the
+     * driver's behavior must be consistent with a particular DBMS, either always
+     * continuing to process commands or never continuing to process commands. If
+     * the driver continues processing after a failure, the array returned by the
+     * method <code>BatchUpdateException.getUpdateCounts</code> will contain as many
+     * elements as there are commands in the batch, and at least one of the elements
+     * will be the following:
      * <p/>
-     * <LI>A value of <code>EXECUTE_FAILED</code> -- indicates that the command failed
-     * to execute successfully and occurs only if a driver continues to
+     * <LI>A value of <code>EXECUTE_FAILED</code> -- indicates that the command
+     * failed to execute successfully and occurs only if a driver continues to
      * process commands after a command fails
      * </OL>
      * <p/>
-     * A driver is not required to implement this method.
-     * The possible implementations and return values have been modified in
-     * the Java 2 SDK, Standard Edition, version 1.3 to
-     * accommodate the option of continuing to proccess commands in a batch
-     * update after a <code>BatchUpdateException</code> obejct has been thrown.
+     * A driver is not required to implement this method. The possible
+     * implementations and return values have been modified in the Java 2 SDK,
+     * Standard Edition, version 1.3 to accommodate the option of continuing to
+     * proccess commands in a batch update after a <code>BatchUpdateException</code>
+     * obejct has been thrown.
      *
-     * @return an array of update counts containing one element for each
-     *         command in the batch.  The elements of the array are ordered according
-     *         to the order in which commands were added to the batch.
-     * @throws java.sql.SQLException if a database access error occurs or the
-     *                               driver does not support batch statements. Throws {@link java.sql.BatchUpdateException}
-     *                               (a subclass of <code>SQLException</code>) if one of the commands sent to the
-     *                               database fails to execute properly or attempts to return a result set.
+     * @return an array of update counts containing one element for each command in
+     * the batch. The elements of the array are ordered according to the order in
+     * which commands were added to the batch.
+     * @throws java.sql.SQLException if a database access error occurs or the driver
+     * does not support batch statements. Throws
+     * {@link java.sql.BatchUpdateException} (a subclass of
+     * <code>SQLException</code>) if one of the commands sent to the database fails
+     * to execute properly or attempts to return a result set.
      * @since 1.3
      */
+    @Override
     public int[] executeBatch() throws SQLException {
         return jdbcStatement.executeBatch();
     }
 
     /**
-     * Retrieves the <code>Connection</code> object
-     * that produced this <code>Statement</code> object.
+     * Retrieves the <code>Connection</code> object that produced this
+     * <code>Statement</code> object.
      *
      * @return the connection that produced this statement
      * @throws java.sql.SQLException if a database access error occurs
      * @since 1.2
      */
+    @Override
     public Connection getConnection() throws SQLException {
         return connection;
     }
@@ -585,231 +588,223 @@
     }
 
     /**
-     * Moves to this <code>Statement</code> object's next result, deals with
-     * any current <code>ResultSet</code> object(s) according  to the instructions
-     * specified by the given flag, and returns
-     * <code>true</code> if the next result is a <code>ResultSet</code> object.
+     * Moves to this <code>Statement</code> object's next result, deals with any
+     * current <code>ResultSet</code> object(s) according to the instructions
+     * specified by the given flag, and returns <code>true</code> if the next result
+     * is a <code>ResultSet</code> object.
      * <p/>
-     * <P>There are no more results when the following is true:
+     * <P>
+     * There are no more results when the following is true:
+     *
      * <PRE>
      * // stmt is a Statement object
      * ((stmt.getMoreResults() == false) && (stmt.getUpdateCount() == -1))
      * </PRE>
      *
-     * @param current one of the following <code>Statement</code>
-     *                constants indicating what should happen to current
-     *                <code>ResultSet</code> objects obtained using the method
-     *                <code>getResultSet</code>:
-     *                <code>Statement.CLOSE_CURRENT_RESULT</code>,
-     *                <code>Statement.KEEP_CURRENT_RESULT</code>, or
-     *                <code>Statement.CLOSE_ALL_RESULTS</code>
+     * @param current one of the following <code>Statement</code> constants
+     * indicating what should happen to current <code>ResultSet</code> objects
+     * obtained using the method <code>getResultSet</code>:
+     * <code>Statement.CLOSE_CURRENT_RESULT</code>,
+     * <code>Statement.KEEP_CURRENT_RESULT</code>, or
+     * <code>Statement.CLOSE_ALL_RESULTS</code>
      * @return <code>true</code> if the next result is a <code>ResultSet</code>
-     *         object; <code>false</code> if it is an update count or there are no
-     *         more results
-     * @throws java.sql.SQLException if a database access error occurs or the argument
-     *                               supplied is not one of the following:
-     *                               <code>Statement.CLOSE_CURRENT_RESULT</code>,
-     *                               <code>Statement.KEEP_CURRENT_RESULT</code>, or
-     *                               <code>Statement.CLOSE_ALL_RESULTS</code>
+     * object; <code>false</code> if it is an update count or there are no more
+     * results
+     * @throws java.sql.SQLException if a database access error occurs or the
+     * argument supplied is not one of the following:
+     * <code>Statement.CLOSE_CURRENT_RESULT</code>,
+     * <code>Statement.KEEP_CURRENT_RESULT</code>, or
+     * <code>Statement.CLOSE_ALL_RESULTS</code>
      * @see #execute
      * @since 1.4
      */
+    @Override
     public boolean getMoreResults(int current) throws SQLException {
         return jdbcStatement.getMoreResults(current);
     }
 
     /**
-     * Executes the given SQL statement and signals the driver with the
-     * given flag about whether the
-     * auto-generated keys produced by this <code>Statement</code> object
-     * should be made available for retrieval.
+     * Executes the given SQL statement and signals the driver with the given flag
+     * about whether the auto-generated keys produced by this <code>Statement</code>
+     * object should be made available for retrieval.
      *
-     * @param sql               must be an SQL <code>INSERT</code>, <code>UPDATE</code> or
-     *                          <code>DELETE</code> statement or an SQL statement that
-     *                          returns nothing
-     * @param autoGeneratedKeys a flag indicating whether auto-generated keys
-     *                          should be made available for retrieval;
-     *                          one of the following constants:
-     *                          <code>Statement.RETURN_GENERATED_KEYS</code>
-     *                          <code>Statement.NO_GENERATED_KEYS</code>
-     * @return either the row count for <code>INSERT</code>, <code>UPDATE</code>
-     *         or <code>DELETE</code> statements, or <code>0</code> for SQL
-     *         statements that return nothing
+     * @param sql must be an SQL <code>INSERT</code>, <code>UPDATE</code> or
+     * <code>DELETE</code> statement or an SQL statement that returns nothing
+     * @param autoGeneratedKeys a flag indicating whether auto-generated keys should
+     * be made available for retrieval; one of the following constants:
+     * <code>Statement.RETURN_GENERATED_KEYS</code>
+     * <code>Statement.NO_GENERATED_KEYS</code>
+     * @return either the row count for <code>INSERT</code>, <code>UPDATE</code> or
+     * <code>DELETE</code> statements, or <code>0</code> for SQL statements that
+     * return nothing
      * @throws java.sql.SQLException if a database access error occurs, the given
-     *                               SQL statement returns a <code>ResultSet</code> object, or
-     *                               the given constant is not one of those allowed
+     * SQL statement returns a <code>ResultSet</code> object, or the given constant
+     * is not one of those allowed
      * @since 1.4
      */
+    @Override
     public int executeUpdate(final String sql, int autoGeneratedKeys) throws SQLException {
         return jdbcStatement.executeUpdate(sql, autoGeneratedKeys);
     }
 
     /**
      * Executes the given SQL statement and signals the driver that the
-     * auto-generated keys indicated in the given array should be made available
-     * for retrieval.  The driver will ignore the array if the SQL statement
-     * is not an <code>INSERT</code> statement.
+     * auto-generated keys indicated in the given array should be made available for
+     * retrieval. The driver will ignore the array if the SQL statement is not an
+     * <code>INSERT</code> statement.
      *
-     * @param sql           an SQL <code>INSERT</code>, <code>UPDATE</code> or
-     *                      <code>DELETE</code> statement or an SQL statement that returns nothing,
-     *                      such as an SQL DDL statement
-     * @param columnIndexes an array of column indexes indicating the columns
-     *                      that should be returned from the inserted row
-     * @return either the row count for <code>INSERT</code>, <code>UPDATE</code>,
-     *         or <code>DELETE</code> statements, or 0 for SQL statements
-     *         that return nothing
+     * @param sql an SQL <code>INSERT</code>, <code>UPDATE</code> or
+     * <code>DELETE</code> statement or an SQL statement that returns nothing, such
+     * as an SQL DDL statement
+     * @param columnIndexes an array of column indexes indicating the columns that
+     * should be returned from the inserted row
+     * @return either the row count for <code>INSERT</code>, <code>UPDATE</code>, or
+     * <code>DELETE</code> statements, or 0 for SQL statements that return nothing
      * @throws java.sql.SQLException if a database access error occurs, the SQL
-     *                               statement returns a <code>ResultSet</code> object, or the
-     *                               second argument supplied to this method is not an <code>int</code> array
-     *                               whose elements are valid column indexes
+     * statement returns a <code>ResultSet</code> object, or the second argument
+     * supplied to this method is not an <code>int</code> array whose elements are
+     * valid column indexes
      * @since 1.4
      */
+    @Override
     public int executeUpdate(final String sql, int columnIndexes[]) throws SQLException {
         return jdbcStatement.executeUpdate(sql, columnIndexes);
     }
 
     /**
      * Executes the given SQL statement and signals the driver that the
-     * auto-generated keys indicated in the given array should be made available
-     * for retrieval.  The driver will ignore the array if the SQL statement
-     * is not an <code>INSERT</code> statement.
+     * auto-generated keys indicated in the given array should be made available for
+     * retrieval. The driver will ignore the array if the SQL statement is not an
+     * <code>INSERT</code> statement.
      *
-     * @param sql         an SQL <code>INSERT</code>, <code>UPDATE</code> or
-     *                    <code>DELETE</code> statement or an SQL statement that returns nothing
+     * @param sql an SQL <code>INSERT</code>, <code>UPDATE</code> or
+     * <code>DELETE</code> statement or an SQL statement that returns nothing
      * @param columnNames an array of the names of the columns that should be
-     *                    returned from the inserted row
-     * @return either the row count for <code>INSERT</code>, <code>UPDATE</code>,
-     *         or <code>DELETE</code> statements, or 0 for SQL statements
-     *         that return nothing
+     * returned from the inserted row
+     * @return either the row count for <code>INSERT</code>, <code>UPDATE</code>, or
+     * <code>DELETE</code> statements, or 0 for SQL statements that return nothing
      * @throws java.sql.SQLException if a database access error occurs, the SQL
-     *                               statement returns a <code>ResultSet</code> object, or the
-     *                               second argument supplied to this method is not a <code>String</code> array
-     *                               whose elements are valid column names
+     * statement returns a <code>ResultSet</code> object, or the second argument
+     * supplied to this method is not a <code>String</code> array whose elements are
+     * valid column names
      * @since 1.4
      */
+    @Override
     public int executeUpdate(final String sql, String columnNames[]) throws SQLException {
         return jdbcStatement.executeUpdate(sql, columnNames);
     }
 
     /**
-     * Executes the given SQL statement, which may return multiple results,
-     * and signals the driver that any
-     * auto-generated keys should be made available
-     * for retrieval.  The driver will ignore this signal if the SQL statement
-     * is not an <code>INSERT</code> statement.
+     * Executes the given SQL statement, which may return multiple results, and
+     * signals the driver that any auto-generated keys should be made available for
+     * retrieval. The driver will ignore this signal if the SQL statement is not an
+     * <code>INSERT</code> statement.
      * <p/>
-     * In some (uncommon) situations, a single SQL statement may return
-     * multiple result sets and/or update counts.  Normally you can ignore
-     * this unless you are (1) executing a stored procedure that you know may
-     * return multiple results or (2) you are dynamically executing an
-     * unknown SQL string.
+     * In some (uncommon) situations, a single SQL statement may return multiple
+     * result sets and/or update counts. Normally you can ignore this unless you are
+     * (1) executing a stored procedure that you know may return multiple results or
+     * (2) you are dynamically executing an unknown SQL string.
      * <p/>
      * The <code>execute</code> method executes an SQL statement and indicates the
-     * form of the first result.  You must then use the methods
-     * <code>getResultSet</code> or <code>getUpdateCount</code>
-     * to retrieve the result, and <code>getMoreResults</code> to
-     * move to any subsequent result(s).
+     * form of the first result. You must then use the methods
+     * <code>getResultSet</code> or <code>getUpdateCount</code> to retrieve the
+     * result, and <code>getMoreResults</code> to move to any subsequent result(s).
      *
-     * @param sql               any SQL statement
-     * @param autoGeneratedKeys a constant indicating whether auto-generated
-     *                          keys should be made available for retrieval using the method
-     *                          <code>getGeneratedKeys</code>; one of the following constants:
-     *                          <code>Statement.RETURN_GENERATED_KEYS</code> or
-     *                          <code>Statement.NO_GENERATED_KEYS</code>
+     * @param sql any SQL statement
+     * @param autoGeneratedKeys a constant indicating whether auto-generated keys
+     * should be made available for retrieval using the method
+     * <code>getGeneratedKeys</code>; one of the following constants:
+     * <code>Statement.RETURN_GENERATED_KEYS</code> or
+     * <code>Statement.NO_GENERATED_KEYS</code>
      * @return <code>true</code> if the first result is a <code>ResultSet</code>
-     *         object; <code>false</code> if it is an update count or there are
-     *         no results
+     * object; <code>false</code> if it is an update count or there are no results
      * @throws java.sql.SQLException if a database access error occurs or the second
-     *                               parameter supplied to this method is not
-     *                               <code>Statement.RETURN_GENERATED_KEYS</code> or
-     *                               <code>Statement.NO_GENERATED_KEYS</code>.
+     * parameter supplied to this method is not
+     * <code>Statement.RETURN_GENERATED_KEYS</code> or
+     * <code>Statement.NO_GENERATED_KEYS</code>.
      * @see #getResultSet
      * @see #getUpdateCount
      * @see #getMoreResults
      * @see #getGeneratedKeys
      * @since 1.4
      */
+    @Override
     public boolean execute(final String sql, int autoGeneratedKeys) throws SQLException {
         return jdbcStatement.execute(sql, autoGeneratedKeys);
     }
 
     /**
-     * Executes the given SQL statement, which may return multiple results,
-     * and signals the driver that the
-     * auto-generated keys indicated in the given array should be made available
-     * for retrieval.  This array contains the indexes of the columns in the
-     * target table that contain the auto-generated keys that should be made
-     * available. The driver will ignore the array if the given SQL statement
-     * is not an <code>INSERT</code> statement.
+     * Executes the given SQL statement, which may return multiple results, and
+     * signals the driver that the auto-generated keys indicated in the given array
+     * should be made available for retrieval. This array contains the indexes of
+     * the columns in the target table that contain the auto-generated keys that
+     * should be made available. The driver will ignore the array if the given SQL
+     * statement is not an <code>INSERT</code> statement.
      * <p/>
-     * Under some (uncommon) situations, a single SQL statement may return
-     * multiple result sets and/or update counts.  Normally you can ignore
-     * this unless you are (1) executing a stored procedure that you know may
-     * return multiple results or (2) you are dynamically executing an
-     * unknown SQL string.
+     * Under some (uncommon) situations, a single SQL statement may return multiple
+     * result sets and/or update counts. Normally you can ignore this unless you are
+     * (1) executing a stored procedure that you know may return multiple results or
+     * (2) you are dynamically executing an unknown SQL string.
      * <p/>
      * The <code>execute</code> method executes an SQL statement and indicates the
-     * form of the first result.  You must then use the methods
-     * <code>getResultSet</code> or <code>getUpdateCount</code>
-     * to retrieve the result, and <code>getMoreResults</code> to
-     * move to any subsequent result(s).
+     * form of the first result. You must then use the methods
+     * <code>getResultSet</code> or <code>getUpdateCount</code> to retrieve the
+     * result, and <code>getMoreResults</code> to move to any subsequent result(s).
      *
-     * @param sql           any SQL statement
-     * @param columnIndexes an array of the indexes of the columns in the
-     *                      inserted row that should be  made available for retrieval by a
-     *                      call to the method <code>getGeneratedKeys</code>
+     * @param sql any SQL statement
+     * @param columnIndexes an array of the indexes of the columns in the inserted
+     * row that should be made available for retrieval by a call to the method
+     * <code>getGeneratedKeys</code>
      * @return <code>true</code> if the first result is a <code>ResultSet</code>
-     *         object; <code>false</code> if it is an update count or there
-     *         are no results
+     * object; <code>false</code> if it is an update count or there are no results
      * @throws java.sql.SQLException if a database access error occurs or the
-     *                               elements in the <code>int</code> array passed to this method
-     *                               are not valid column indexes
+     * elements in the <code>int</code> array passed to this method are not valid
+     * column indexes
      * @see #getResultSet
      * @see #getUpdateCount
      * @see #getMoreResults
      * @since 1.4
      */
+    @Override
     public boolean execute(final String sql, int columnIndexes[]) throws SQLException {
         return jdbcStatement.execute(sql, columnIndexes);
     }
 
     /**
-     * Executes the given SQL statement, which may return multiple results,
-     * and signals the driver that the
-     * auto-generated keys indicated in the given array should be made available
-     * for retrieval. This array contains the names of the columns in the
-     * target table that contain the auto-generated keys that should be made
-     * available. The driver will ignore the array if the given SQL statement
-     * is not an <code>INSERT</code> statement.
+     * Executes the given SQL statement, which may return multiple results, and
+     * signals the driver that the auto-generated keys indicated in the given array
+     * should be made available for retrieval. This array contains the names of the
+     * columns in the target table that contain the auto-generated keys that should
+     * be made available. The driver will ignore the array if the given SQL
+     * statement is not an <code>INSERT</code> statement.
      * <p/>
-     * In some (uncommon) situations, a single SQL statement may return
-     * multiple result sets and/or update counts.  Normally you can ignore
-     * this unless you are (1) executing a stored procedure that you know may
-     * return multiple results or (2) you are dynamically executing an
-     * unknown SQL string.
+     * In some (uncommon) situations, a single SQL statement may return multiple
+     * result sets and/or update counts. Normally you can ignore this unless you are
+     * (1) executing a stored procedure that you know may return multiple results or
+     * (2) you are dynamically executing an unknown SQL string.
      * <p/>
      * The <code>execute</code> method executes an SQL statement and indicates the
-     * form of the first result.  You must then use the methods
-     * <code>getResultSet</code> or <code>getUpdateCount</code>
-     * to retrieve the result, and <code>getMoreResults</code> to
-     * move to any subsequent result(s).
+     * form of the first result. You must then use the methods
+     * <code>getResultSet</code> or <code>getUpdateCount</code> to retrieve the
+     * result, and <code>getMoreResults</code> to move to any subsequent result(s).
      *
-     * @param sql         any SQL statement
-     * @param columnNames an array of the names of the columns in the inserted
-     *                    row that should be made available for retrieval by a call to the
-     *                    method <code>getGeneratedKeys</code>
+     * @param sql any SQL statement
+     * @param columnNames an array of the names of the columns in the inserted row
+     * that should be made available for retrieval by a call to the method
+     * <code>getGeneratedKeys</code>
      * @return <code>true</code> if the next result is a <code>ResultSet</code>
-     *         object; <code>false</code> if it is an update count or there
-     *         are no more results
+     * object; <code>false</code> if it is an update count or there are no more
+     * results
      * @throws java.sql.SQLException if a database access error occurs or the
-     *                               elements of the <code>String</code> array passed to this
-     *                               method are not valid column names
+     * elements of the <code>String</code> array passed to this method are not valid
+     * column names
      * @see #getResultSet
      * @see #getUpdateCount
      * @see #getMoreResults
      * @see #getGeneratedKeys
      * @since 1.4
      */
+    @Override
     public boolean execute(final String sql, String columnNames[]) throws SQLException {
         return jdbcStatement.execute(sql, columnNames);
     }
@@ -819,14 +814,16 @@
      * generated by this <code>Statement</code> object.
      *
      * @return either <code>ResultSet.HOLD_CURSORS_OVER_COMMIT</code> or
-     *         <code>ResultSet.CLOSE_CURSORS_AT_COMMIT</code>
+     * <code>ResultSet.CLOSE_CURSORS_AT_COMMIT</code>
      * @throws java.sql.SQLException if a database access error occurs
      * @since 1.4
      */
+    @Override
     public int getResultSetHoldability() throws SQLException {
         return jdbcStatement.getResultSetHoldability();
     }
 
+    @Override
     public void reclaimStatement() throws SQLException {
         markForReclaim(true);
         close();
@@ -840,16 +837,15 @@
         return markedForReclaim;
     }
 
+    @Override
     public void closeOnCompletion() throws SQLException {
         if (leakDetector != null) {
             _logger.log(Level.INFO, "jdbc.invalid_operation.close_on_completion");
             throw new UnsupportedOperationException("Not supported yet.");
         }
-        if (DataSourceObjectBuilder.isJDBC41()) {
-            closeOnCompletion = true;
-            return;
-        }
-        throw new UnsupportedOperationException("Operation not supported in this runtime.");
+
+        closeOnCompletion = true;
+        return;
     }
 
     public void actualCloseOnCompletion() throws SQLException {
@@ -859,20 +855,18 @@
             _logger.log(Level.SEVERE, "jdbc.ex_stmt_wrapper", ex);
             throw new SQLException(ex);
         }
+
         return;
     }
 
+    @Override
     public boolean isCloseOnCompletion() throws SQLException {
-        if (DataSourceObjectBuilder.isJDBC41()) {
-            try {
-                return (Boolean) executor.invokeMethod(jdbcStatement,
-                        "isCloseOnCompletion", null);
-            } catch (ResourceException ex) {
-                _logger.log(Level.SEVERE, "jdbc.ex_stmt_wrapper", ex);
-                throw new SQLException(ex);
-            }
+        try {
+            return (Boolean) executor.invokeMethod(jdbcStatement, "isCloseOnCompletion", null);
+        } catch (ResourceException ex) {
+            _logger.log(Level.SEVERE, "jdbc.ex_stmt_wrapper", ex);
+            throw new SQLException(ex);
         }
-        throw new UnsupportedOperationException("Operation not supported in this runtime.");
     }
 
     public boolean getCloseOnCompletion() {
diff --git a/appserver/jdbc/jdbc-ra/jdbc-core/src/main/java/com/sun/gjc/spi/base/datastructure/Cache.java b/appserver/jdbc/jdbc-ra/jdbc-core/src/main/java/com/sun/gjc/spi/base/datastructure/Cache.java
index 2611b26..71c3313 100644
--- a/appserver/jdbc/jdbc-ra/jdbc-core/src/main/java/com/sun/gjc/spi/base/datastructure/Cache.java
+++ b/appserver/jdbc/jdbc-ra/jdbc-core/src/main/java/com/sun/gjc/spi/base/datastructure/Cache.java
@@ -25,64 +25,63 @@
 public interface Cache {
 
     /**
-     * Check if an entry is found for this key object. If found, the entry is
-     * put in the result object and back into the list.
+     * Check if an entry is found for this key object. If found, the entry is put in
+     * the result object and back into the list.
      *
      * @param key whose mapping entry is to be checked.
-     * @return result object that contains the key with the entry if not busy
-     * or null when
-     * (1) object not found in cache
-     * (2) object found but is busy
+     * @return result object that contains the key with the entry if not busy or
+     * null when (1) object not found in cache (2) object found but is busy
      */
-    public Object checkAndUpdateCache(CacheObjectKey key);
+    Object checkAndUpdateCache(CacheObjectKey key);
 
     /**
      * Add key and entry value into the cache.
+     *
      * @param key that contains the sql string and its type (PS/CS)
-     * @param entry that is the wrapper of PreparedStatement or
-     * CallableStatement
+     * @param entry that is the wrapper of PreparedStatement or CallableStatement
      * @param force If existing key is to be overwritten
      */
-    public void addToCache(CacheObjectKey key, Object entry, boolean force);
+    void addToCache(CacheObjectKey key, Object entry, boolean force);
 
     /**
      * Clear statement cache
      */
-    public void clearCache();
+    void clearCache();
 
     /**
-     * Remove all statements stored in the statement cache after closing
-     * the statement objects. Used when the statement cache size exceeds
-     * user defined maximum cache size.
+     * Remove all statements stored in the statement cache after closing the
+     * statement objects. Used when the statement cache size exceeds user defined
+     * maximum cache size.
      */
-    public void purge();
+    void purge();
 
     /**
-     * Closing all statements in statement cache and flush the statement cache
-     * of all the statements. Used when a physical connection to the underlying
+     * Closing all statements in statement cache and flush the statement cache of
+     * all the statements. Used when a physical connection to the underlying
      * resource manager is destroyed.
      */
-    public void flushCache();
+    void flushCache();
 
     /**
      * Get the size of statement cache
+     *
      * @return int statement cache size
      */
-    public int getSize();
+    int getSize();
 
     /**
      * Check if the statement cache is synchronized.
+     *
      * @return boolean synchronized flag.
      */
-    public boolean isSynchronized();
+    boolean isSynchronized();
 
     /**
-     * Remove the specified entry stored in the statement cache after closing
-     * the statement object associated with this entry. Used when statement is
-     * being reclaimed and is being used for the subsequent requests from the
-     * application.
+     * Remove the specified entry stored in the statement cache after closing the
+     * statement object associated with this entry. Used when statement is being
+     * reclaimed and is being used for the subsequent requests from the application.
      *
      * @param entry
      */
-    public void purge(Object entry);
+    void purge(Object entry);
 }
diff --git a/appserver/jdbc/jdbc-ra/jdbc-core/src/main/java/com/sun/gjc/spi/base/datastructure/CacheFactory.java b/appserver/jdbc/jdbc-ra/jdbc-core/src/main/java/com/sun/gjc/spi/base/datastructure/CacheFactory.java
index 51acc7f..6cecdc3 100644
--- a/appserver/jdbc/jdbc-ra/jdbc-core/src/main/java/com/sun/gjc/spi/base/datastructure/CacheFactory.java
+++ b/appserver/jdbc/jdbc-ra/jdbc-core/src/main/java/com/sun/gjc/spi/base/datastructure/CacheFactory.java
@@ -16,92 +16,85 @@
 
 package com.sun.gjc.spi.base.datastructure;
 
+import static java.util.logging.Level.FINE;
+import static java.util.logging.Level.WARNING;
+
+import java.security.AccessController;
+import java.security.PrivilegedAction;
+import java.util.logging.Logger;
+
+import org.glassfish.resourcebase.resources.api.PoolInfo;
+
 import com.sun.enterprise.util.i18n.StringManager;
 import com.sun.gjc.common.DataSourceObjectBuilder;
 import com.sun.logging.LogDomains;
-import org.glassfish.resourcebase.resources.api.PoolInfo;
 
 import jakarta.resource.ResourceException;
-import java.lang.reflect.Constructor;
-import java.security.AccessController;
-import java.security.PrivilegedAction;
-import java.util.logging.Level;
-import java.util.logging.Logger;
 
 /**
- * Creates an appropriate statement cache datastructure used in the
- * Resource Adapter.
+ * Creates an appropriate statement cache datastructure used in the Resource
+ * Adapter.
  *
  * @author Shalini M
  */
 public class CacheFactory {
-    protected final static Logger _logger =
-            LogDomains.getLogger(CacheFactory.class, LogDomains.RSR_LOGGER);
+    protected final static Logger _logger = LogDomains.getLogger(CacheFactory.class, LogDomains.RSR_LOGGER);
 
-    protected final static StringManager localStrings =
-            StringManager.getManager(DataSourceObjectBuilder.class);
+    protected final static StringManager localStrings = StringManager.getManager(DataSourceObjectBuilder.class);
 
-    public static Cache getDataStructure(PoolInfo poolInfo, String cacheType,
-            int maxSize) throws ResourceException {
+    public static Cache getDataStructure(PoolInfo poolInfo, String cacheType, int maxSize) throws ResourceException {
         Cache stmtCacheStructure;
 
-        if(cacheType == null || cacheType.trim().equals("")) {
+        if (cacheType == null || cacheType.trim().equals("")) {
             debug("Initializing LRU Cache Implementation");
             stmtCacheStructure = new LRUCacheImpl(poolInfo, maxSize);
-        } else if(cacheType.equals("FIXED")) {
+        } else if (cacheType.equals("FIXED")) {
             debug("Initializing FIXED Cache Implementation");
             stmtCacheStructure = new FIXEDCacheImpl(poolInfo, maxSize);
         } else { // consider the value of cacheType as a className
-            stmtCacheStructure = initCustomCacheStructurePrivileged(cacheType,
-                    maxSize);
+            stmtCacheStructure = initCustomCacheStructurePrivileged(cacheType, maxSize);
         }
-        if(!stmtCacheStructure.isSynchronized()) {
+
+        if (!stmtCacheStructure.isSynchronized()) {
             return new SynchronizedCache(stmtCacheStructure);
         }
+
         return stmtCacheStructure;
     }
 
-    private static Cache initCustomCacheStructurePrivileged(
-            final String className, final int cacheSize) throws ResourceException {
-        Object result = AccessController.doPrivileged(new PrivilegedAction() {
+    private static Cache initCustomCacheStructurePrivileged(final String className, final int cacheSize) throws ResourceException {
+        Object result = AccessController.doPrivileged(new PrivilegedAction<>() {
             public Object run() {
 
                 Object result = null;
                 try {
                     result = initializeCacheStructure(className, cacheSize);
                 } catch (Exception e) {
-                    _logger.log(Level.WARNING, localStrings.getString(
-                            "jdbc.statement-cache.datastructure.init.failure",
-                            className));
-                    _logger.log(Level.WARNING, localStrings.getString(
-                            "jdbc.statement-cache.datastructure.init.failure.exception",
-                            e));
+                    _logger.log(WARNING,
+                            localStrings.getString("jdbc.statement-cache.datastructure.init.failure", className));
+                    _logger.log(WARNING,
+                            localStrings.getString("jdbc.statement-cache.datastructure.init.failure.exception", e));
                 }
+
                 return result;
             }
         });
+
         if (result != null) {
             return (Cache) result;
-        } else {
-            throw new ResourceException("Unable to initalize custom DataStructure " +
-                    "for Statement Cahe : " + className);
         }
+
+        throw new ResourceException("Unable to initalize custom DataStructure " + "for Statement Cahe : " + className);
     }
 
-    private static Cache initializeCacheStructure(String className,
-            int maxSize) throws Exception {
-        Cache ds;
-        Object[] constructorParameters = new Object[]{maxSize};
+    private static Cache initializeCacheStructure(String className, int maxSize) throws Exception {
+        Class<?> class1 = Class.forName(className);
 
-        Class class1 = Class.forName(className);
-        Constructor constructor = class1.getConstructor(class1, Integer.class);
-        ds = (Cache) constructor.newInstance(constructorParameters);
-        return ds;
+        return (Cache) class1.getConstructor(class1, Integer.class)
+                             .newInstance(new Object[] { maxSize });
     }
 
     private static void debug(String debugStatement) {
-        if(_logger.isLoggable(Level.FINE)) {
-            _logger.log(Level.FINE, debugStatement);
-        }
+        _logger.log(FINE, debugStatement);
     }
 }
diff --git a/appserver/jdbc/jdbc-ra/jdbc-core/src/main/java/com/sun/gjc/spi/base/datastructure/FIXEDCacheImpl.java b/appserver/jdbc/jdbc-ra/jdbc-core/src/main/java/com/sun/gjc/spi/base/datastructure/FIXEDCacheImpl.java
index 5894e3c..20696a1 100644
--- a/appserver/jdbc/jdbc-ra/jdbc-core/src/main/java/com/sun/gjc/spi/base/datastructure/FIXEDCacheImpl.java
+++ b/appserver/jdbc/jdbc-ra/jdbc-core/src/main/java/com/sun/gjc/spi/base/datastructure/FIXEDCacheImpl.java
@@ -16,9 +16,10 @@
 
 package com.sun.gjc.spi.base.datastructure;
 
+import org.glassfish.resourcebase.resources.api.PoolInfo;
+
 import com.sun.gjc.spi.base.CacheObjectKey;
 import com.sun.gjc.spi.base.PreparedStatementWrapper;
-import org.glassfish.resourcebase.resources.api.PoolInfo;
 
 /**
  * This ia a FIXED size cache implementation.
diff --git a/appserver/jdbc/jdbc-ra/jdbc-core/src/main/java/com/sun/gjc/spi/base/datastructure/LRUCacheImpl.java b/appserver/jdbc/jdbc-ra/jdbc-core/src/main/java/com/sun/gjc/spi/base/datastructure/LRUCacheImpl.java
index f986477..0ef4a89 100644
--- a/appserver/jdbc/jdbc-ra/jdbc-core/src/main/java/com/sun/gjc/spi/base/datastructure/LRUCacheImpl.java
+++ b/appserver/jdbc/jdbc-ra/jdbc-core/src/main/java/com/sun/gjc/spi/base/datastructure/LRUCacheImpl.java
@@ -16,12 +16,6 @@
 
 package com.sun.gjc.spi.base.datastructure;
 
-import com.sun.gjc.monitoring.StatementCacheProbeProvider;
-import com.sun.gjc.spi.base.CacheObjectKey;
-import com.sun.gjc.spi.base.PreparedStatementWrapper;
-import com.sun.logging.LogDomains;
-import org.glassfish.resourcebase.resources.api.PoolInfo;
-
 import java.sql.SQLException;
 import java.util.Iterator;
 import java.util.LinkedHashMap;
@@ -30,81 +24,92 @@
 import java.util.logging.Level;
 import java.util.logging.Logger;
 
+import org.glassfish.resourcebase.resources.api.PoolInfo;
+
+import com.sun.gjc.monitoring.StatementCacheProbeProvider;
+import com.sun.gjc.spi.base.CacheObjectKey;
+import com.sun.gjc.spi.base.PreparedStatementWrapper;
+import com.sun.logging.LogDomains;
+
 /**
  *
  * @author Shalini M
  */
 public class LRUCacheImpl implements Cache {
 
+    protected final static Logger _logger = LogDomains.getLogger(LRUCacheImpl.class, LogDomains.RSR_LOGGER);
+
     /**
      * Stores the objects for statement caching
      */
     private Map<CacheObjectKey, CacheEntry> list;
+
     /**
      * Size of the cache
      */
-    private int maxSize ;
-    protected final static Logger _logger;
-    private StatementCacheProbeProvider probeProvider = null;
+    private int maxSize;
+    private StatementCacheProbeProvider probeProvider;
     private PoolInfo poolInfo;
 
-    static {
-        _logger = LogDomains.getLogger(LRUCacheImpl.class, LogDomains.RSR_LOGGER);
-    }
 
-    public LRUCacheImpl(PoolInfo poolInfo, int maxSize){
+    public LRUCacheImpl(PoolInfo poolInfo, int maxSize) {
         this.maxSize = maxSize;
         this.poolInfo = poolInfo;
         list = new LinkedHashMap<CacheObjectKey, CacheEntry>();
+
         try {
             probeProvider = new StatementCacheProbeProvider();
-        } catch(Exception ex) {
-            //TODO logger
+        } catch (Exception ex) {
+            // TODO logger
         }
     }
 
     /**
-     * Check if an entry is found for this key object. If found, the entry is
-     * put in the result object and back into the list.
+     * Check if an entry is found for this key object. If found, the entry is put in
+     * the result object and back into the list.
      *
      * @param key key whose mapping entry is to be checked.
-     * @return result object that contains the key with the entry if not
-     * null when
+     * @return result object that contains the key with the entry if not null when
      * (1) object not found in cache
      */
     public Object checkAndUpdateCache(CacheObjectKey key) {
         Object result = null;
+
         CacheEntry entry = list.get(key);
-        if(entry != null) {
-            //Cache hit
+        if (entry != null) {
+            // Cache hit
             result = entry.entryObj;
-            if(_logger.isLoggable(Level.FINEST)) {
-                _logger.finest("Cache Hit");
-            }
-            //TODO-SC Busy cache hits?
-            probeProvider.statementCacheHitEvent(poolInfo.getName(), poolInfo.getApplicationName(), poolInfo.getModuleName());
+            _logger.finest("Cache Hit");
+
+            // TODO-SC Busy cache hits?
+            probeProvider.statementCacheHitEvent(
+                poolInfo.getName(),
+                poolInfo.getApplicationName(),
+                poolInfo.getModuleName());
         } else {
-            //Cache miss
-            if(_logger.isLoggable(Level.FINEST)) {
-                _logger.finest("Cache Miss");
-            }
-            probeProvider.statementCacheMissEvent(poolInfo.getName(), poolInfo.getApplicationName(), poolInfo.getModuleName());
+            // Cache miss
+            _logger.finest("Cache Miss");
+            probeProvider.statementCacheMissEvent(
+                poolInfo.getName(),
+                poolInfo.getApplicationName(),
+                poolInfo.getModuleName());
         }
+
         return result;
     }
 
     /**
      * Add the key and entry value into the cache.
+     *
      * @param key key that contains the sql string and its type (PS/CS)
-     * @param o entry that is the wrapper of PreparedStatement or
-     * CallableStatement
+     * @param o entry that is the wrapper of PreparedStatement or CallableStatement
      * @param force If the already existing key is to be overwritten
      */
     public void addToCache(CacheObjectKey key, Object o, boolean force) {
-        if(force || !list.containsKey(key)){
-            //overwrite or if not already found in cache
+        if (force || !list.containsKey(key)) {
+            // overwrite or if not already found in cache
 
-            if(list.size() >= maxSize){
+            if (list.size() >= maxSize) {
                 purge();
             }
             CacheEntry entry = new CacheEntry(o);
@@ -115,15 +120,13 @@
     /**
      * Clears the statement cache
      */
-    public void clearCache(){
-        if (_logger.isLoggable(Level.FINE)) {
-            _logger.fine("clearing objects in cache");
-        }
-       list.clear();
+    public void clearCache() {
+        _logger.fine("clearing objects in cache");
+        list.clear();
     }
 
     public void flushCache() {
-        while(list.size()!=0){
+        while (list.size() != 0) {
             purge();
         }
     }
@@ -131,20 +134,18 @@
     public void purge() {
         Set<Map.Entry<CacheObjectKey, CacheEntry>> entrySet = list.entrySet();
         Iterator entrySetIterator = entrySet.iterator();
-//        Iterator keyIterator = list.keySet().iterator();
-        while(entrySetIterator.hasNext()){
-//            CacheObjectKey key = (CacheObjectKey) entrySetIterator.next();
-            Map.Entry<CacheObjectKey, CacheEntry> entryTuple =
-                    (Map.Entry<CacheObjectKey, CacheEntry>) entrySetIterator.next();
+        while (entrySetIterator.hasNext()) {
+            Map.Entry<CacheObjectKey, CacheEntry> entryTuple = (Map.Entry<CacheObjectKey, CacheEntry>) entrySetIterator
+                    .next();
             CacheEntry entry = entryTuple.getValue();
-            try{
-                //TODO Move to a more generic Contract and invoke close()
-                //PreparedStatementWrapper could implement the contract instead
-                PreparedStatementWrapper ps = (PreparedStatementWrapper)entry.entryObj;
+            try {
+                // TODO Move to a more generic Contract and invoke close()
+                // PreparedStatementWrapper could implement the contract instead
+                PreparedStatementWrapper ps = (PreparedStatementWrapper) entry.entryObj;
                 ps.setCached(false);
                 ps.close();
-            }catch(SQLException e){
-                //ignore
+            } catch (SQLException e) {
+                // ignore
             }
             entrySetIterator.remove();
             break;
@@ -156,27 +157,23 @@
         PreparedStatementWrapper tmpPS = (PreparedStatementWrapper) obj;
         Set<Map.Entry<CacheObjectKey, CacheEntry>> entrySet = list.entrySet();
         Iterator entrySetIterator = entrySet.iterator();
-//        Iterator keyIterator = list.keySet().iterator();
-        while(entrySetIterator.hasNext()){
-//            CacheObjectKey key = (CacheObjectKey)keyIterator.next();
-//            CacheEntry entry = list.get(key);
-            Map.Entry<CacheObjectKey, CacheEntry> entryTuple =
-                    (Map.Entry<CacheObjectKey, CacheEntry>) entrySetIterator.next();
+
+        while (entrySetIterator.hasNext()) {
+            Map.Entry<CacheObjectKey, CacheEntry> entryTuple = (Map.Entry<CacheObjectKey, CacheEntry>) entrySetIterator
+                    .next();
             CacheEntry entry = entryTuple.getValue();
-            try{
-                //TODO Move to a more generic Contract and invoke close()
-                //PreparedStatementWrapper could implement the contract instead
-                PreparedStatementWrapper ps = (PreparedStatementWrapper)entry.entryObj;
-                if(ps.equals(tmpPS)) {
-                    //Found the entry in the cache. Remove this entry.
-                    if(_logger.isLoggable(Level.FINEST)) {
-                        _logger.log(Level.FINEST, "Purging an entry from cache");
-                    }
+            try {
+                // TODO Move to a more generic Contract and invoke close()
+                // PreparedStatementWrapper could implement the contract instead
+                PreparedStatementWrapper ps = (PreparedStatementWrapper) entry.entryObj;
+                if (ps.equals(tmpPS)) {
+                    // Found the entry in the cache. Remove this entry.
+                    _logger.log(Level.FINEST, "Purging an entry from cache");
                     ps.setCached(false);
                     ps.close();
                 }
-            }catch(SQLException e){
-                //ignore
+            } catch (SQLException e) {
+                // ignore
             }
             entrySetIterator.remove();
             break;
@@ -185,10 +182,11 @@
 
     /**
      * Returns the number of entries in the statement cache
+     *
      * @return has integer value
      */
     public int getSize() {
-       return list.size();
+        return list.size();
     }
 
     public int getMaxSize() {
@@ -196,26 +194,17 @@
     }
 
     /**
-     * Cache object that has an entry. This is used to put inside the
-     * statement cache.
+     * Cache object that has an entry. This is used to put inside the statement
+     * cache.
      */
-    public static class CacheEntry{
+    public static class CacheEntry {
         private Object entryObj;
 
-        public CacheEntry(Object o){
+        public CacheEntry(Object o) {
             this.entryObj = o;
         }
     }
 
-    /*public Set getObjects(){
-        //TODO-SC-DEFER can the set be "type-safe"
-        Set set = new HashSet();
-        for(CacheEntry entry : list.values()){
-            set.add(entry.entryObj);
-        }
-        return set;
-    }*/
-
     public boolean isSynchronized() {
         return false;
     }
diff --git a/appserver/jdbc/jdbc-ra/jdbc-core/src/main/java/com/sun/gjc/util/MethodExecutor.java b/appserver/jdbc/jdbc-ra/jdbc-core/src/main/java/com/sun/gjc/util/MethodExecutor.java
index 842e247..c7d7951 100644
--- a/appserver/jdbc/jdbc-ra/jdbc-core/src/main/java/com/sun/gjc/util/MethodExecutor.java
+++ b/appserver/jdbc/jdbc-ra/jdbc-core/src/main/java/com/sun/gjc/util/MethodExecutor.java
@@ -1,4 +1,5 @@
 /*
+ * Copyright (c) 2022 Contributors to the Eclipse Foundation.
  * Copyright (c) 1997, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
@@ -16,87 +17,85 @@
 
 package com.sun.gjc.util;
 
-import com.sun.enterprise.util.i18n.StringManager;
-import com.sun.gjc.common.DataSourceObjectBuilder;
-import com.sun.logging.LogDomains;
+import static java.util.logging.Level.FINEST;
 
-import jakarta.resource.ResourceException;
+import java.io.IOException;
+import java.io.Serializable;
+import java.io.StringBufferInputStream;
 import java.lang.reflect.InvocationTargetException;
 import java.lang.reflect.Method;
 import java.security.AccessController;
 import java.security.PrivilegedAction;
 import java.security.PrivilegedActionException;
 import java.security.PrivilegedExceptionAction;
-import java.util.Vector;
+import java.util.Enumeration;
+import java.util.List;
 import java.util.Properties;
 import java.util.logging.Level;
 import java.util.logging.Logger;
 
+import com.sun.enterprise.util.i18n.StringManager;
+import com.sun.gjc.common.DataSourceObjectBuilder;
+import com.sun.logging.LogDomains;
+
+import jakarta.resource.ResourceException;
+
 /**
  * Execute the methods based on the parameters.
  *
  * @author Binod P.G
  * @version 1.0, 02/07/23
  */
-public class MethodExecutor implements java.io.Serializable {
+public class MethodExecutor implements Serializable {
 
-    private static Logger _logger;
+    private static final long serialVersionUID = 1L;
 
-    static {
-        _logger = LogDomains.getLogger(MethodExecutor.class, LogDomains.RSR_LOGGER);
-    }
-
-    private boolean debug = false;
+    private static Logger _logger = LogDomains.getLogger(MethodExecutor.class, LogDomains.RSR_LOGGER);
+    private static StringManager sm = StringManager.getManager(DataSourceObjectBuilder.class);
 
     private final static String newline = System.getProperty("line.separator");
 
-    private static StringManager sm = StringManager.getManager(
-            DataSourceObjectBuilder.class);
-
     /**
      * Exceute a simple set Method.
      *
-     * @param value  Value to be set.
+     * @param value Value to be set.
      * @param method <code>Method</code> object.
-     * @param obj    Object on which the method to be executed.
-     * @throws <code>ResourceException</code>,
-     *          in case of the mismatch of parameter values or
-     *          a security violation.
+     * @param obj Object on which the method to be executed.
+     * @throws <code>ResourceException</code>, in case of the mismatch of parameter
+     * values or a security violation.
      */
     public void runJavaBeanMethod(String value, Method method, Object obj) throws ResourceException {
         if (value == null || value.trim().equals("")) {
             return;
         }
 
-        Class[] parameters = method.getParameterTypes();
+        Class<?>[] parameters = method.getParameterTypes();
         if (parameters.length == 1) {
             Object[] values = new Object[1];
             values[0] = convertType(parameters[0], value);
 
             final ResourceException[] exception = new ResourceException[1];
-            AccessController
-                .doPrivileged(new PrivilegedAction() {
-                    public Object run() {
-                        try {
-                            method.setAccessible(true);
-                            method.invoke(obj, values);
-                        } catch (IllegalAccessException | InvocationTargetException | SecurityException iae) {
-                            _logger.log(Level.SEVERE, "jdbc.exc_jb_val", value);
-                            _logger.log(Level.SEVERE, "", iae);
-                            String msg = sm.getString("me.access_denied",
-                                method.getName());
-                            exception[0] = new ResourceException(msg);
-                        } catch (IllegalArgumentException ie) {
-                            _logger.log(Level.SEVERE, "jdbc.exc_jb_val", value);
-                            _logger.log(Level.SEVERE, "", ie);
-                            String msg = sm
-                                .getString("me.illegal_args", method.getName());
-                            exception[0] = new ResourceException(msg);
-                        }
-                        return null;
+            AccessController.doPrivileged(new PrivilegedAction<>() {
+                @Override
+                public Object run() {
+                    try {
+                        method.setAccessible(true);
+                        method.invoke(obj, values);
+                    } catch (IllegalAccessException | InvocationTargetException | SecurityException iae) {
+                        _logger.log(Level.SEVERE, "jdbc.exc_jb_val", value);
+                        _logger.log(Level.SEVERE, "", iae);
+                        String msg = sm.getString("me.access_denied", method.getName());
+                        exception[0] = new ResourceException(msg);
+                    } catch (IllegalArgumentException ie) {
+                        _logger.log(Level.SEVERE, "jdbc.exc_jb_val", value);
+                        _logger.log(Level.SEVERE, "", ie);
+                        String msg = sm.getString("me.illegal_args", method.getName());
+                        exception[0] = new ResourceException(msg);
                     }
-                });
-            if( exception[0] != null){
+                    return null;
+                }
+            });
+            if (exception[0] != null) {
                 throw exception[0];
             }
         }
@@ -106,28 +105,30 @@
      * Executes the method.
      *
      * @param method <code>Method</code> object.
-     * @param obj    Object on which the method to be executed.
+     * @param obj Object on which the method to be executed.
      * @param values Parameter values for executing the method.
-     * @throws <code>ResourceException</code>,
-     *          in case of the mismatch of parameter values or
-     *          a security violation.
+     * @throws <code>ResourceException</code>, in case of the mismatch of parameter
+     * values or a security violation.
      */
-    public void runMethod(Method method, Object obj, Vector values) throws ResourceException {
-            Class[] parameters = method.getParameterTypes();
-            if (values.size() != parameters.length) {
-                return;
+    public void runMethod(Method method, Object obj, List<String> values) throws ResourceException {
+        Class<?>[] parameters = method.getParameterTypes();
+        if (values.size() != parameters.length) {
+            return;
+        }
+
+        Object[] actualValues = new Object[parameters.length];
+        for (int i = 0; i < parameters.length; i++) {
+            String val = values.get(i);
+            if (val.trim().equals("NULL")) {
+                actualValues[i] = null;
+            } else {
+                actualValues[i] = convertType(parameters[i], val);
             }
-            Object[] actualValues = new Object[parameters.length];
-            for (int i = 0; i < parameters.length; i++) {
-                String val = (String) values.get(i);
-                if (val.trim().equals("NULL")) {
-                    actualValues[i] = null;
-                } else {
-                    actualValues[i] = convertType(parameters[i], val);
-                }
-            }
+        }
+
         final ResourceException[] exception = new ResourceException[1];
-         AccessController.doPrivileged(new PrivilegedAction() {
+        AccessController.doPrivileged(new PrivilegedAction<>() {
+            @Override
             public Object run() {
                 try {
                     method.setAccessible(true);
@@ -135,20 +136,19 @@
                 } catch (IllegalAccessException | InvocationTargetException | SecurityException iae) {
                     _logger.log(Level.SEVERE, "jdbc.exc_jb_val", values);
                     _logger.log(Level.SEVERE, "", iae);
-                    String msg = sm
-                        .getString("me.access_denied", method.getName());
+                    String msg = sm.getString("me.access_denied", method.getName());
                     exception[0] = new ResourceException(msg);
                 } catch (IllegalArgumentException ie) {
                     _logger.log(Level.SEVERE, "jdbc.exc_jb_val", values);
                     _logger.log(Level.SEVERE, "", ie);
-                    String msg = sm
-                        .getString("me.illegal_args", method.getName());
+                    String msg = sm.getString("me.illegal_args", method.getName());
                     exception[0] = new ResourceException(msg);
                 }
                 return null;
             }
         });
-        if( exception[0] != null){
+
+        if (exception[0] != null) {
             throw exception[0];
         }
     }
@@ -156,14 +156,13 @@
     /**
      * Converts the type from String to the Class type.
      *
-     * @param type      Class name to which the conversion is required.
+     * @param type Class name to which the conversion is required.
      * @param parameter String value to be converted.
      * @return Converted value.
-     * @throws <code>ResourceException</code>,
-     *          in case of the mismatch of parameter values or
-     *          a security violation.
+     * @throws <code>ResourceException</code>, in case of the mismatch of parameter
+     * values or a security violation.
      */
-    private Object convertType(Class type, String parameter) throws ResourceException {
+    private Object convertType(Class<?> type, String parameter) throws ResourceException {
         try {
             String typeName = type.getName();
             if (typeName.equals("java.lang.String") || typeName.equals("java.lang.Object")) {
@@ -208,7 +207,8 @@
 
             if (typeName.equals("java.util.Properties")) {
                 Properties p = stringToProperties(parameter);
-                if (p!= null) return p;
+                if (p != null)
+                    return p;
             }
 
             return parameter;
@@ -219,10 +219,9 @@
         }
     }
 
-    public Object invokeMethod(Object object, String methodName,
-            Class<?>[] valueTypes, Object... values) throws ResourceException {
+    public Object invokeMethod(Object object, String methodName, Class<?>[] valueTypes, Object... values) throws ResourceException {
         Object returnValue = null;
-        Method actualMethod ;
+        Method actualMethod;
         try {
             actualMethod = object.getClass().getMethod(methodName, valueTypes);
         } catch (NoSuchMethodException ex) {
@@ -232,15 +231,14 @@
         }
         if (actualMethod != null) {
             try {
-                returnValue = AccessController.doPrivileged(
-                    (PrivilegedExceptionAction<Object>) () -> {
-                            actualMethod.setAccessible(true);
-                            return actualMethod.invoke(object, values);
-                    });
+                returnValue = AccessController.doPrivileged((PrivilegedExceptionAction<Object>) () -> {
+                    actualMethod.setAccessible(true);
+                    return actualMethod.invoke(object, values);
+                });
             } catch (PrivilegedActionException e) {
-                if(e.getException() != null){
+                if (e.getException() != null) {
                     throw new ResourceException(e.getException());
-                }else{
+                } else {
                     throw new ResourceException(e);
                 }
             }
@@ -248,44 +246,43 @@
         return returnValue;
     }
 
-    private Properties stringToProperties(String parameter)
-    {
-         if (parameter == null) return null;
-         String s = parameter.trim();
-         if (!((s.startsWith("(") && s.endsWith(")")))) {
-            return null; // not a "( .... )" syntax
-         }
-         s = s.substring(1,s.length()-1);
-         s = s.replaceAll("(?<!\\\\),",newline); // , -> \n
-         s = s.replaceAll("\\\\,",",");  // escape-"," -> ,
-
-         Properties p = new Properties();
-         Properties prop = new Properties();
-         try {
-            p.load(new java.io.StringBufferInputStream(s));
-         } catch (java.io.IOException ex) {
-            if (_logger.isLoggable(Level.FINEST)) {
-               _logger.log(Level.FINEST, "Parsing string to properties: {0}", ex.getMessage());
-            }
+    private Properties stringToProperties(String parameter) {
+        if (parameter == null)
             return null;
-         }
-         // cleanup trailing whitespace in value
-         for (java.util.Enumeration propKeys = p.propertyNames();
-               propKeys.hasMoreElements();) {
-             String tmpKey = (String)propKeys.nextElement();
-             String tmpValue = p.getProperty(tmpKey);
-             // Trim spaces
-             tmpValue = tmpValue.trim();
-             // Quoted string.
-             if (tmpValue.length() > 1 && tmpValue.startsWith("\"")
-                     && tmpValue.endsWith("\"")) {
-                tmpValue = tmpValue.substring(1,tmpValue.length()-1);
-             }
-             prop.put(tmpKey, tmpValue);
-         }
-         if (_logger.isLoggable(Level.FINEST)) {
-               _logger.log(Level.FINEST, "Parsing string to properties: {0}size:{1}", new Object[]{prop, prop.size()});
-         }
-         return prop;
+        String s = parameter.trim();
+        if (!((s.startsWith("(") && s.endsWith(")")))) {
+            return null; // not a "( .... )" syntax
+        }
+        s = s.substring(1, s.length() - 1);
+        s = s.replaceAll("(?<!\\\\),", newline); // , -> \n
+        s = s.replaceAll("\\\\,", ","); // escape-"," -> ,
+
+        Properties p = new Properties();
+        Properties prop = new Properties();
+        try {
+            p.load(new StringBufferInputStream(s));
+        } catch (IOException ex) {
+            _logger.log(FINEST, "Parsing string to properties: {0}", ex.getMessage());
+            return null;
+        }
+
+        // cleanup trailing whitespace in value
+        for (Enumeration propKeys = p.propertyNames(); propKeys.hasMoreElements();) {
+            String tmpKey = (String) propKeys.nextElement();
+            String tmpValue = p.getProperty(tmpKey);
+            // Trim spaces
+            tmpValue = tmpValue.trim();
+            // Quoted string.
+            if (tmpValue.length() > 1 && tmpValue.startsWith("\"") && tmpValue.endsWith("\"")) {
+                tmpValue = tmpValue.substring(1, tmpValue.length() - 1);
+            }
+            prop.put(tmpKey, tmpValue);
+        }
+
+        if (_logger.isLoggable(FINEST)) {
+            _logger.log(FINEST, "Parsing string to properties: {0}size:{1}", new Object[] { prop, prop.size() });
+        }
+
+        return prop;
     }
 }
diff --git a/appserver/jdbc/jdbc-ra/jdbc-core/src/main/java/com/sun/gjc/util/ResultSetClosedEventListener.java b/appserver/jdbc/jdbc-ra/jdbc-core/src/main/java/com/sun/gjc/util/ResultSetClosedEventListener.java
index 0a16dd0..3a74810 100644
--- a/appserver/jdbc/jdbc-ra/jdbc-core/src/main/java/com/sun/gjc/util/ResultSetClosedEventListener.java
+++ b/appserver/jdbc/jdbc-ra/jdbc-core/src/main/java/com/sun/gjc/util/ResultSetClosedEventListener.java
@@ -27,8 +27,8 @@
 public interface ResultSetClosedEventListener {
 
     /**
-     * Used to perform operations like statement closeOnCompletion when the
-     * result set object is closed.
+     * Used to perform operations like statement closeOnCompletion when the result
+     * set object is closed.
      */
-    public void resultSetClosed() throws SQLException;
+    void resultSetClosed() throws SQLException;
 }
diff --git a/appserver/jdbc/jdbc-ra/jdbc-core/src/main/java/com/sun/gjc/util/SQLTrace.java b/appserver/jdbc/jdbc-ra/jdbc-core/src/main/java/com/sun/gjc/util/SQLTrace.java
index 8d4e5d3..6aa0084 100644
--- a/appserver/jdbc/jdbc-ra/jdbc-core/src/main/java/com/sun/gjc/util/SQLTrace.java
+++ b/appserver/jdbc/jdbc-ra/jdbc-core/src/main/java/com/sun/gjc/util/SQLTrace.java
@@ -17,9 +17,9 @@
 package com.sun.gjc.util;
 
 /**
- * Store the sql queries executed by applications along with the number of
- * times executed and the time stamp of the last usage.
- * Used for monitoring information.
+ * Store the sql queries executed by applications along with the number of times
+ * executed and the time stamp of the last usage. Used for monitoring
+ * information.
  *
  * @author Shalini M
  */
@@ -90,8 +90,8 @@
     }
 
     /**
-     * Check for equality of the SQLTrace with the object passed by
-     * comparing the queryName stored.
+     * Check for equality of the SQLTrace with the object passed by comparing the
+     * queryName stored.
      *
      * @param obj against which the equality is to be checked.
      * @return true or false
@@ -101,12 +101,11 @@
         if (obj == null) {
             return false;
         }
-        if(!(obj instanceof SQLTrace)) {
+        if (!(obj instanceof SQLTrace)) {
             return false;
         }
         final SQLTrace other = (SQLTrace) obj;
-        if ((this.queryName == null) || (other.queryName == null) ||
-                !this.queryName.equals(other.queryName)) {
+        if ((this.queryName == null) || (other.queryName == null) || !this.queryName.equals(other.queryName)) {
             return false;
         }
         return true;
@@ -114,6 +113,7 @@
 
     /**
      * Generate hash code for this obejct using all the fields.
+     *
      * @return
      */
     @Override
@@ -140,15 +140,15 @@
             compare = 1;
         }
         if (compare == 0) {
-            //same number of executions. Hence compare based on time.
+            // same number of executions. Hence compare based on time.
             long timeCompare = this.getLastUsageTime() - t;
-            if(timeCompare == 0) {
+            if (timeCompare == 0) {
                 compare = 0;
-            } else if(timeCompare < 0) {
-                //compare = -1;
+            } else if (timeCompare < 0) {
+                // compare = -1;
                 compare = 1;
             } else {
-                //compare = 1;
+                // compare = 1;
                 compare = -1;
             }
         }
diff --git a/appserver/jdbc/jdbc-ra/jdbc-core/src/main/java/com/sun/gjc/util/SQLTraceCache.java b/appserver/jdbc/jdbc-ra/jdbc-core/src/main/java/com/sun/gjc/util/SQLTraceCache.java
index b69a7b3..c63b4a7 100644
--- a/appserver/jdbc/jdbc-ra/jdbc-core/src/main/java/com/sun/gjc/util/SQLTraceCache.java
+++ b/appserver/jdbc/jdbc-ra/jdbc-core/src/main/java/com/sun/gjc/util/SQLTraceCache.java
@@ -16,7 +16,6 @@
 
 package com.sun.gjc.util;
 
-import com.sun.logging.LogDomains;
 import java.util.ArrayList;
 import java.util.Collections;
 import java.util.Iterator;
@@ -25,6 +24,8 @@
 import java.util.logging.Level;
 import java.util.logging.Logger;
 
+import com.sun.logging.LogDomains;
+
 /**
  * Maintains the Sql Tracing Cache used to store SQL statements used by the
  * applications. This is used by the JDBCRA monitoring to display the most
@@ -34,17 +35,16 @@
  */
 public class SQLTraceCache {
 
-    //List of sql trace objects
+    // List of sql trace objects
     private final List<SQLTrace> list;
-    //Maximum size of the cache.
+    // Maximum size of the cache.
     private int numTopQueriesToReport = 10;
     private long timeToKeepQueries = 60 * 1000;
     private SQLTraceTimerTask sqlTraceTimerTask;
     private String poolName;
     private String appName;
     private String moduleName;
-    private final static Logger _logger = LogDomains.getLogger(SQLTraceCache.class,
-            LogDomains.RSR_LOGGER);
+    private final static Logger _logger = LogDomains.getLogger(SQLTraceCache.class, LogDomains.RSR_LOGGER);
     private static final String LINE_BREAK = "%%%EOL%%%";
 
     public SQLTraceCache(String poolName, String appName, String moduleName, int maxSize, long timeToKeepQueries) {
@@ -65,23 +65,23 @@
     }
 
     /**
-     * Schedule timer to perform purgeEntries on the cache after the
-     * specified timeToKeepQueries delay and period.
+     * Schedule timer to perform purgeEntries on the cache after the specified
+     * timeToKeepQueries delay and period.
      */
     public void scheduleTimerTask(Timer timer) {
 
-        if(sqlTraceTimerTask != null) {
+        if (sqlTraceTimerTask != null) {
             sqlTraceTimerTask.cancel();
             sqlTraceTimerTask = null;
         }
 
         sqlTraceTimerTask = initializeTimerTask();
 
-        if(timer != null) {
+        if (timer != null) {
 
             timer.scheduleAtFixedRate(sqlTraceTimerTask, timeToKeepQueries, timeToKeepQueries);
         }
-        if(_logger.isLoggable(Level.FINEST)) {
+        if (_logger.isLoggable(Level.FINEST)) {
             _logger.finest("Scheduled Sql Trace Caching timer task");
         }
     }
@@ -91,7 +91,7 @@
      */
     public synchronized void cancelTimerTask() {
 
-        if(_logger.isLoggable(Level.FINEST)) {
+        if (_logger.isLoggable(Level.FINEST)) {
             _logger.finest("Cancelling Sql Trace Caching timer task");
         }
         if (sqlTraceTimerTask != null) {
@@ -106,18 +106,17 @@
      * @return SQLTraceTimerTask
      */
     private SQLTraceTimerTask initializeTimerTask() {
-        if(_logger.isLoggable(Level.FINEST)) {
+        if (_logger.isLoggable(Level.FINEST)) {
             _logger.finest("Initializing Sql Trace Caching timer task");
         }
         return new SQLTraceTimerTask(this);
     }
 
     /**
-     * Request for adding a sql query in the form of SQLTrace to this cache.
-     * If the query is already found
-     * in the list, the number of times it is executed is incremented by one
-     * along with the timestamp.
-     * If the query is a new one, it is added to the list.
+     * Request for adding a sql query in the form of SQLTrace to this cache. If the
+     * query is already found in the list, the number of times it is executed is
+     * incremented by one along with the timestamp. If the query is a new one, it is
+     * added to the list.
      *
      * @param cacheObj
      * @return
@@ -127,14 +126,14 @@
             if (cacheObj != null) {
                 int index = list.indexOf(cacheObj);
                 if (index != -1) {
-                    //If already found in the cache
-                    //equals is invoked here and hence comparison based on query name is done
-                    //Get the object at the index to update the numExecutions
-                    SQLTrace cache = (SQLTrace) list.get(index);
+                    // If already found in the cache
+                    // equals is invoked here and hence comparison based on query name is done
+                    // Get the object at the index to update the numExecutions
+                    SQLTrace cache = list.get(index);
                     cache.setNumExecutions(cache.getNumExecutions() + 1);
                     cache.setLastUsageTime(System.currentTimeMillis());
                 } else {
-                    //First occurrence of the query. query to be added.
+                    // First occurrence of the query. query to be added.
                     cacheObj.setNumExecutions(1);
                     cacheObj.setLastUsageTime(System.currentTimeMillis());
                     list.add(cacheObj);
@@ -144,18 +143,18 @@
     }
 
     /**
-     * Entries are removed from the list after sorting
-     * them in the least frequently used order. Only numTopQueriesToReport number of
-     * entries are maintained in the list after the purgeEntries.
+     * Entries are removed from the list after sorting them in the least frequently
+     * used order. Only numTopQueriesToReport number of entries are maintained in
+     * the list after the purgeEntries.
      */
     public void purgeEntries() {
-        synchronized(list) {
+        synchronized (list) {
             Collections.sort(list, Collections.reverseOrder());
             Iterator i = list.iterator();
             while (i.hasNext()) {
                 SQLTrace cacheObj = (SQLTrace) i.next();
                 if (list.size() > numTopQueriesToReport) {
-                    if(_logger.isLoggable(Level.FINEST)) {
+                    if (_logger.isLoggable(Level.FINEST)) {
                         _logger.finest("removing sql=" + cacheObj.getQueryName());
                     }
                     i.remove();
@@ -163,23 +162,23 @@
                     break;
                 }
             }
-            //sort by most frequently used queries first
+            // sort by most frequently used queries first
             Collections.sort(list);
         }
     }
 
     /**
-     * Returns the String representation of the list of traced sql queries
-     * ordered by the number most frequently used, followed by the usage
-     * timestamp. Only the top 'n' queries represented by the numTopQueriesToReport are
-     * chosen for display.
+     * Returns the String representation of the list of traced sql queries ordered
+     * by the number most frequently used, followed by the usage timestamp. Only the
+     * top 'n' queries represented by the numTopQueriesToReport are chosen for
+     * display.
      *
      * @return string representation of the list of sql queries sorted
      */
     public String getTopQueries() {
         purgeEntries();
         StringBuffer sb = new StringBuffer();
-        for(SQLTrace cache : list) {
+        for (SQLTrace cache : list) {
             sb.append(LINE_BREAK);
             sb.append(cache.getQueryName());
         }
diff --git a/appserver/jdbc/jdbc-ra/jdbc-core/src/main/java/com/sun/gjc/util/SQLTraceDelegator.java b/appserver/jdbc/jdbc-ra/jdbc-core/src/main/java/com/sun/gjc/util/SQLTraceDelegator.java
index db65197..1a94b6c 100644
--- a/appserver/jdbc/jdbc-ra/jdbc-core/src/main/java/com/sun/gjc/util/SQLTraceDelegator.java
+++ b/appserver/jdbc/jdbc-ra/jdbc-core/src/main/java/com/sun/gjc/util/SQLTraceDelegator.java
@@ -16,35 +16,31 @@
 
 package com.sun.gjc.util;
 
-import com.sun.gjc.monitoring.JdbcRAConstants;
-import com.sun.gjc.monitoring.SQLTraceProbeProvider;
+import static java.util.logging.Level.FINEST;
+
 import java.util.ArrayList;
 import java.util.List;
-import java.util.logging.Level;
 import java.util.logging.Logger;
 
-import com.sun.logging.LogDomains;
 import org.glassfish.api.jdbc.SQLTraceListener;
 import org.glassfish.api.jdbc.SQLTraceRecord;
 
+import com.sun.gjc.monitoring.JdbcRAConstants;
+import com.sun.gjc.monitoring.SQLTraceProbeProvider;
+import com.sun.logging.LogDomains;
+
 /**
- * Implementation of SQLTraceListener to listen to events related to a
- * sql record tracing. The registry allows multiple listeners
- * to listen to the sql tracing events. Maintains a list of listeners.
+ * Implementation of SQLTraceListener to listen to events related to a sql
+ * record tracing. The registry allows multiple listeners to listen to the sql
+ * tracing events. Maintains a list of listeners.
  *
  * @author Shalini M
  */
-//@Singleton
 public class SQLTraceDelegator implements SQLTraceListener {
 
-    private static Logger _logger;
+    private static Logger _logger = LogDomains.getLogger(MethodExecutor.class, LogDomains.RSR_LOGGER);
 
-    static {
-        _logger = LogDomains
-            .getLogger(MethodExecutor.class, LogDomains.RSR_LOGGER);
-    }
-
-    //List of listeners
+    // List of listeners
     protected List<SQLTraceListener> sqlTraceListenersList;
     private String poolName;
     private String appName;
@@ -63,43 +59,46 @@
     }
 
     /**
-     * Add a listener to the list of sql trace listeners maintained by
-     * this registry.
+     * Add a listener to the list of sql trace listeners maintained by this
+     * registry.
+     *
      * @param listener
      */
     public void registerSQLTraceListener(SQLTraceListener listener) {
-        if(sqlTraceListenersList == null) {
-                sqlTraceListenersList = new ArrayList<SQLTraceListener>();
+        if (sqlTraceListenersList == null) {
+            sqlTraceListenersList = new ArrayList<SQLTraceListener>();
         }
         sqlTraceListenersList.add(listener);
     }
 
-
-   public void sqlTrace(SQLTraceRecord record) {
-       if (sqlTraceListenersList != null) {
-           for (SQLTraceListener listener : sqlTraceListenersList) {
-               try {
-                   listener.sqlTrace(record);
-               }catch(Exception e){
-                   //it is possible that any of the implementations may fail processing a trace record.
-                   //do not propagate such failures. Log them as FINEST.
-                   if(_logger.isLoggable(Level.FINEST)){
-                       _logger.log(Level.FINEST, "exception from one of the SQL trace listeners ["+listener.getClass().getName()+"]", e);
-                   }
-               }
-           }
-       }
+    public void sqlTrace(SQLTraceRecord record) {
+        if (sqlTraceListenersList != null) {
+            for (SQLTraceListener listener : sqlTraceListenersList) {
+                try {
+                    listener.sqlTrace(record);
+                } catch (Exception e) {
+                    // it is possible that any of the implementations may fail processing a trace
+                    // record.
+                    // do not propagate such failures. Log them as FINEST.
+                    if (_logger.isLoggable(FINEST)) {
+                        _logger.log(FINEST,
+                                "exception from one of the SQL trace listeners [" + listener.getClass().getName() + "]",
+                                e);
+                    }
+                }
+            }
+        }
 
         if (record != null) {
             record.setPoolName(poolName);
             String methodName = record.getMethodName();
-            //Check if the method name is one in which sql query is used
+            // Check if the method name is one in which sql query is used
             if (isMethodValidForCaching(methodName)) {
                 Object[] params = record.getParams();
                 if (params != null && params.length > 0) {
                     String sqlQuery = null;
                     for (Object param : params) {
-                        if(param instanceof String) {
+                        if (param instanceof String) {
                             sqlQuery = param.toString();
                         }
                         break;
@@ -112,15 +111,15 @@
         }
     }
 
-   /**
-    * Check if the method name from the sql trace record can be used to
-    * retrieve a sql string for caching purpose. Most of the method names do not
-    * contain a sql string and hence are unusable for caching the sql strings.
-    * These method names are filtered in this method.
-    *
-    * @param methodName
-    * @return true if method name can be used to get a sql string for caching.
-    */
+    /**
+     * Check if the method name from the sql trace record can be used to retrieve a
+     * sql string for caching purpose. Most of the method names do not contain a sql
+     * string and hence are unusable for caching the sql strings. These method names
+     * are filtered in this method.
+     *
+     * @param methodName
+     * @return true if method name can be used to get a sql string for caching.
+     */
     private boolean isMethodValidForCaching(String methodName) {
         return JdbcRAConstants.validSqlTracingMethodNames.contains(methodName);
     }
diff --git a/appserver/jdbc/jdbc-ra/jdbc-core/src/main/java/com/sun/gjc/util/SQLTraceLogger.java b/appserver/jdbc/jdbc-ra/jdbc-core/src/main/java/com/sun/gjc/util/SQLTraceLogger.java
index 6c000e8..f70cce8 100644
--- a/appserver/jdbc/jdbc-ra/jdbc-core/src/main/java/com/sun/gjc/util/SQLTraceLogger.java
+++ b/appserver/jdbc/jdbc-ra/jdbc-core/src/main/java/com/sun/gjc/util/SQLTraceLogger.java
@@ -16,15 +16,17 @@
 
 package com.sun.gjc.util;
 
-import com.sun.logging.LogDomains;
 import java.util.logging.Level;
 import java.util.logging.Logger;
+
 import org.glassfish.api.jdbc.SQLTraceListener;
 import org.glassfish.api.jdbc.SQLTraceRecord;
 
+import com.sun.logging.LogDomains;
+
 /**
- * Implementation of SQLTraceListener to listen to events related to a
- * sql record tracing.
+ * Implementation of SQLTraceListener to listen to events related to a sql
+ * record tracing.
  *
  * @author Shalini M
  */
diff --git a/appserver/jdbc/jdbc-ra/jdbc-core/src/main/java/com/sun/gjc/util/SQLTraceTimerTask.java b/appserver/jdbc/jdbc-ra/jdbc-core/src/main/java/com/sun/gjc/util/SQLTraceTimerTask.java
index d53b634..434e151 100644
--- a/appserver/jdbc/jdbc-ra/jdbc-core/src/main/java/com/sun/gjc/util/SQLTraceTimerTask.java
+++ b/appserver/jdbc/jdbc-ra/jdbc-core/src/main/java/com/sun/gjc/util/SQLTraceTimerTask.java
@@ -37,7 +37,7 @@
      */
     @Override
     public void run() {
-        //Redirecting the purge operation of the cache to the cache factory
+        // Redirecting the purge operation of the cache to the cache factory
         cache.purgeEntries();
     }
 
diff --git a/appserver/jdbc/jdbc-ra/jdbc-core/src/main/java/com/sun/gjc/util/SecurityUtils.java b/appserver/jdbc/jdbc-ra/jdbc-core/src/main/java/com/sun/gjc/util/SecurityUtils.java
index dd71311..39966fb 100644
--- a/appserver/jdbc/jdbc-ra/jdbc-core/src/main/java/com/sun/gjc/util/SecurityUtils.java
+++ b/appserver/jdbc/jdbc-ra/jdbc-core/src/main/java/com/sun/gjc/util/SecurityUtils.java
@@ -16,20 +16,23 @@
 
 package com.sun.gjc.util;
 
-import com.sun.enterprise.util.i18n.StringManager;
-import com.sun.gjc.common.DataSourceObjectBuilder;
-import com.sun.gjc.spi.ConnectionRequestInfoImpl;
-
-import jakarta.resource.ResourceException;
-import jakarta.resource.spi.ManagedConnectionFactory;
-import jakarta.resource.spi.security.PasswordCredential;
-import javax.security.auth.Subject;
 import java.security.AccessController;
 import java.security.PrivilegedAction;
 import java.util.Arrays;
 import java.util.Iterator;
 import java.util.Set;
 
+import javax.security.auth.Subject;
+
+import com.sun.enterprise.util.i18n.StringManager;
+import com.sun.gjc.common.DataSourceObjectBuilder;
+import com.sun.gjc.spi.ConnectionRequestInfoImpl;
+
+import jakarta.resource.ResourceException;
+import jakarta.resource.spi.ConnectionRequestInfo;
+import jakarta.resource.spi.ManagedConnectionFactory;
+import jakarta.resource.spi.security.PasswordCredential;
+
 /**
  * SecurityUtils for Generic JDBC Connector.
  *
@@ -38,51 +41,50 @@
  */
 public class SecurityUtils {
 
-    static private StringManager sm = StringManager.getManager(
-            DataSourceObjectBuilder.class);
+    static private StringManager sm = StringManager.getManager(DataSourceObjectBuilder.class);
 
     /**
-     * This method returns the <code>PasswordCredential</code> object, given
-     * the <code>ManagedConnectionFactory</code>, subject and the
+     * This method returns the <code>PasswordCredential</code> object, given the
+     * <code>ManagedConnectionFactory</code>, subject and the
      * <code>ConnectionRequestInfo</code>. It first checks if the
-     * <code>ConnectionRequestInfo</code> is null or not. If it is not null,
-     * it constructs a <code>PasswordCredential</code> object with
-     * the user and password fields from the <code>ConnectionRequestInfo</code> and returns this
-     * <code>PasswordCredential</code> object. If the <code>ConnectionRequestInfo</code>
-     * is null, it retrieves the <code>PasswordCredential</code> objects from
-     * the <code>Subject</code> parameter and returns the first
-     * <code>PasswordCredential</code> object which contains a
-     * <code>ManagedConnectionFactory</code>, instance equivalent
-     * to the <code>ManagedConnectionFactory</code>, parameter.
+     * <code>ConnectionRequestInfo</code> is null or not. If it is not null, it
+     * constructs a <code>PasswordCredential</code> object with the user and
+     * password fields from the <code>ConnectionRequestInfo</code> and returns this
+     * <code>PasswordCredential</code> object. If the
+     * <code>ConnectionRequestInfo</code> is null, it retrieves the
+     * <code>PasswordCredential</code> objects from the <code>Subject</code>
+     * parameter and returns the first <code>PasswordCredential</code> object which
+     * contains a <code>ManagedConnectionFactory</code>, instance equivalent to the
+     * <code>ManagedConnectionFactory</code>, parameter.
      *
-     * @param mcf     <code>ManagedConnectionFactory</code>
+     * @param mcf <code>ManagedConnectionFactory</code>
      * @param subject <code>Subject</code>
-     * @param info    <code>ConnectionRequestInfo</code>
+     * @param info <code>ConnectionRequestInfo</code>
      * @return <code>PasswordCredential</code>
      * @throws <code>ResourceException</code> generic exception if operation fails
-     * @throws <code>SecurityException</code> if access to the <code>Subject</code> instance is denied
+     * @throws <code>SecurityException</code> if access to the <code>Subject</code>
+     * instance is denied
      */
-    public static PasswordCredential getPasswordCredential(final ManagedConnectionFactory mcf,
-                                                           final Subject subject, jakarta.resource.spi.ConnectionRequestInfo info) throws ResourceException {
+    public static PasswordCredential getPasswordCredential(final ManagedConnectionFactory mcf, final Subject subject,
+            ConnectionRequestInfo info) throws ResourceException {
 
         if (info == null) {
             if (subject == null) {
                 return null;
             } else {
-                PasswordCredential pc = (PasswordCredential) AccessController.doPrivileged
-                        (new PrivilegedAction() {
-                            public Object run() {
-                                Set passwdCredentialSet = subject.getPrivateCredentials(PasswordCredential.class);
-                                Iterator iter = passwdCredentialSet.iterator();
-                                while (iter.hasNext()) {
-                                    PasswordCredential temp = (PasswordCredential) iter.next();
-                                    if (temp.getManagedConnectionFactory().equals(mcf)) {
-                                        return temp;
-                                    }
-                                }
-                                return null;
+                PasswordCredential pc = (PasswordCredential) AccessController.doPrivileged(new PrivilegedAction() {
+                    public Object run() {
+                        Set passwdCredentialSet = subject.getPrivateCredentials(PasswordCredential.class);
+                        Iterator iter = passwdCredentialSet.iterator();
+                        while (iter.hasNext()) {
+                            PasswordCredential temp = (PasswordCredential) iter.next();
+                            if (temp.getManagedConnectionFactory().equals(mcf)) {
+                                return temp;
                             }
-                        });
+                        }
+                        return null;
+                    }
+                });
                 if (pc == null) {
                     String msg = sm.getString("su.no_passwd_cred");
                     throw new jakarta.resource.spi.SecurityException(msg);
@@ -103,24 +105,23 @@
      *
      * @param str1 <code>String</code>
      * @param str2 <code>String</code>
-     * @return true    if the two strings are equal
-     *         false    otherwise
+     * @return true if the two strings are equal false otherwise
      */
     static private boolean isEqual(String str1, String str2) {
         if (str1 == null) {
             return (str2 == null);
-        } else {
-            return str1.equals(str2);
         }
+
+        return str1.equals(str2);
     }
 
     /**
-     * Returns true if two <code>PasswordCredential</code> objects are equal; false otherwise
+     * Returns true if two <code>PasswordCredential</code> objects are equal; false
+     * otherwise
      *
      * @param pC1 <code>PasswordCredential</code>
      * @param pC2 <code>PasswordCredential</code>
-     * @return true    if the two PasswordCredentials are equal
-     *         false    otherwise
+     * @return true if the two PasswordCredentials are equal false otherwise
      */
     static public boolean isPasswordCredentialEqual(PasswordCredential pC1, PasswordCredential pC2) {
         if (pC1 == pC2)
@@ -130,6 +131,7 @@
         if (!isEqual(pC1.getUserName(), pC2.getUserName())) {
             return false;
         }
+
         return Arrays.equals(pC1.getPassword(), pC2.getPassword());
     }
 }
diff --git a/appserver/jdbc/jdbc-ra/jdbc-core/src/main/java/com/sun/gjc/util/StatementLeakDetector.java b/appserver/jdbc/jdbc-ra/jdbc-core/src/main/java/com/sun/gjc/util/StatementLeakDetector.java
index 1d0c28a..5ff9448 100644
--- a/appserver/jdbc/jdbc-ra/jdbc-core/src/main/java/com/sun/gjc/util/StatementLeakDetector.java
+++ b/appserver/jdbc/jdbc-ra/jdbc-core/src/main/java/com/sun/gjc/util/StatementLeakDetector.java
@@ -16,10 +16,7 @@
 
 package com.sun.gjc.util;
 
-import com.sun.enterprise.util.i18n.StringManager;
-import com.sun.gjc.monitoring.StatementLeakProbeProvider;
-import com.sun.logging.LogDomains;
-import org.glassfish.resourcebase.resources.api.PoolInfo;
+import static java.util.logging.Level.WARNING;
 
 import java.sql.SQLException;
 import java.sql.Statement;
@@ -28,9 +25,14 @@
 import java.util.Map;
 import java.util.Timer;
 import java.util.TimerTask;
-import java.util.logging.Level;
 import java.util.logging.Logger;
 
+import org.glassfish.resourcebase.resources.api.PoolInfo;
+
+import com.sun.enterprise.util.i18n.StringManager;
+import com.sun.gjc.monitoring.StatementLeakProbeProvider;
+import com.sun.logging.LogDomains;
+
 /**
  * Statement leak detector that prints the stack trace of the thread when a
  * statement object is leaked. Once the leak timeout expires, a statement leak
@@ -46,18 +48,16 @@
     private boolean statementLeakTracing;
     private long statementLeakTimeoutInMillis;
     private boolean statementLeakReclaim;
-    //Lock on HashMap to trace statement leaks
+    // Lock on HashMap to trace statement leaks
     private final Object statementLeakLock;
     private Map<Statement, StatementLeakListener> listeners;
-    private final static Logger _logger = LogDomains.getLogger(
-            StatementLeakDetector.class, LogDomains.RSR_LOGGER);
-    private final static StringManager localStrings =
-            StringManager.getManager(StatementLeakDetector.class);
+    private final static Logger _logger = LogDomains.getLogger(StatementLeakDetector.class, LogDomains.RSR_LOGGER);
+    private final static StringManager localStrings = StringManager.getManager(StatementLeakDetector.class);
     private Timer timer;
     private StatementLeakProbeProvider stmtLeakProbeProvider = null;
 
-    public StatementLeakDetector(PoolInfo poolInfo, boolean leakTracing,
-            long leakTimeoutInMillis, boolean leakReclaim, Timer timer) {
+    public StatementLeakDetector(PoolInfo poolInfo, boolean leakTracing, long leakTimeoutInMillis, boolean leakReclaim,
+            Timer timer) {
         this.poolInfo = poolInfo;
         statementLeakThreadStackHashMap = new HashMap<Statement, StackTraceElement[]>();
         statementLeakTimerTaskHashMap = new HashMap<Statement, StatementLeakTask>();
@@ -79,7 +79,6 @@
         statementLeakReclaim = leakReclaim;
     }
 
-
     private void registerListener(Statement stmt, StatementLeakListener listener) {
         listeners.put(stmt, listener);
     }
@@ -88,12 +87,11 @@
         listeners.remove(stmt);
     }
 
-
     /**
      * Starts statement leak tracing
      *
      * @param stmt Statement which needs to be traced
-     * @param listener       Leak Listener
+     * @param listener Leak Listener
      */
     public void startStatementLeakTracing(Statement stmt, StatementLeakListener listener) {
         synchronized (statementLeakLock) {
@@ -104,9 +102,7 @@
                 registerListener(stmt, listener);
                 if (timer != null) {
                     timer.schedule(statementLeakTask, statementLeakTimeoutInMillis);
-                    if(_logger.isLoggable(Level.FINEST)) {
-                        _logger.finest("Scheduled Statement leak tracing timer task");
-                    }
+                    _logger.finest("Scheduled Statement leak tracing timer task");
                 }
             }
         }
@@ -116,25 +112,21 @@
      * Stops statement leak tracing
      *
      * @param stmt Statement which needs to be traced
-     * @param listener       Leak Listener
+     * @param listener Leak Listener
      */
     public void stopStatementLeakTracing(Statement stmt, StatementLeakListener listener) {
         synchronized (statementLeakLock) {
             if (statementLeakThreadStackHashMap.containsKey(stmt)) {
                 statementLeakThreadStackHashMap.remove(stmt);
-                StatementLeakTask statementLeakTask =
-                        statementLeakTimerTaskHashMap.remove(stmt);
+                StatementLeakTask statementLeakTask = statementLeakTimerTaskHashMap.remove(stmt);
                 statementLeakTask.cancel();
                 timer.purge();
-                if(_logger.isLoggable(Level.FINEST)) {
-                    _logger.finest("Stopped Statement leak tracing timer task");
-                }
+                _logger.finest("Stopped Statement leak tracing timer task");
                 unRegisterListener(stmt);
             }
         }
     }
 
-
     /**
      * Logs the potential statement leaks
      *
@@ -145,21 +137,19 @@
             if (statementLeakThreadStackHashMap.containsKey(stmt)) {
                 StackTraceElement[] threadStack = statementLeakThreadStackHashMap.remove(stmt);
                 StatementLeakListener stmtLeakListener = listeners.get(stmt);
-                stmtLeakProbeProvider.potentialStatementLeakEvent(poolInfo.getName(),
-                        poolInfo.getApplicationName(), poolInfo.getModuleName());
+                stmtLeakProbeProvider.potentialStatementLeakEvent(poolInfo.getName(), poolInfo.getApplicationName(),
+                        poolInfo.getModuleName());
                 printStatementLeakTrace(threadStack);
                 statementLeakTimerTaskHashMap.remove(stmt);
                 if (statementLeakReclaim) {
                     try {
                         stmtLeakListener.reclaimStatement();
                     } catch (SQLException ex) {
-                        Object[] params = new Object[]{poolInfo, ex};
-                        _logger.log(Level.WARNING,
-                                "statement.leak.detector_reclaim_statement_failure",
-                                params);
+                        Object[] params = new Object[] { poolInfo, ex };
+                        _logger.log(WARNING, "statement.leak.detector_reclaim_statement_failure", params);
                     }
                 }
-                //Unregister here as the listeners would still be present in the map.
+                // Unregister here as the listeners would still be present in the map.
                 unRegisterListener(stmt);
             }
         }
@@ -172,30 +162,30 @@
      */
     private void printStatementLeakTrace(StackTraceElement[] threadStackTrace) {
         StringBuffer stackTrace = new StringBuffer();
-        String msg = localStrings.getStringWithDefault(
-                "potential.statement.leak.msg",
-                "A potential statement leak detected for connection pool " + poolInfo +
-                        ". The stack trace of the thread is provided below : ",
-                new Object[]{poolInfo});
+        String msg = localStrings
+                .getStringWithDefault(
+                        "potential.statement.leak.msg", "A potential statement leak detected for connection pool "
+                                + poolInfo + ". The stack trace of the thread is provided below : ",
+                        new Object[] { poolInfo });
         stackTrace.append(msg);
         stackTrace.append("\n");
         for (int i = 2; i < threadStackTrace.length; i++) {
             stackTrace.append(threadStackTrace[i].toString());
             stackTrace.append("\n");
         }
-        _logger.log(Level.WARNING, stackTrace.toString(), "ConnectionPoolName=" + poolInfo);
+        _logger.log(WARNING, stackTrace.toString(), "ConnectionPoolName=" + poolInfo);
     }
 
     /**
-     * Clear all statement leak tracing tasks in case of statement leak
-     * tracing being turned off
+     * Clear all statement leak tracing tasks in case of statement leak tracing
+     * being turned off
      */
     public void clearAllStatementLeakTasks() {
         synchronized (statementLeakLock) {
-            Iterator<Map.Entry<Statement, StatementLeakTask>> entryIterator =
-                    statementLeakTimerTaskHashMap.entrySet().iterator();
+            Iterator<Map.Entry<Statement, StatementLeakTask>> entryIterator = statementLeakTimerTaskHashMap.entrySet()
+                    .iterator();
             while (entryIterator.hasNext()) {
-                Map.Entry<Statement,StatementLeakTask> entry = entryIterator.next();
+                Map.Entry<Statement, StatementLeakTask> entry = entryIterator.next();
                 StatementLeakTask statementLeakTask = entry.getValue();
                 statementLeakTask.cancel();
             }
@@ -206,7 +196,6 @@
         }
     }
 
-
     private class StatementLeakTask extends TimerTask {
 
         private Statement statement;
diff --git a/appserver/jdbc/jdbc-ra/jdbc-core/src/main/java/com/sun/gjc/util/StatementLeakListener.java b/appserver/jdbc/jdbc-ra/jdbc-core/src/main/java/com/sun/gjc/util/StatementLeakListener.java
index f4c268e..5bdce2b 100644
--- a/appserver/jdbc/jdbc-ra/jdbc-core/src/main/java/com/sun/gjc/util/StatementLeakListener.java
+++ b/appserver/jdbc/jdbc-ra/jdbc-core/src/main/java/com/sun/gjc/util/StatementLeakListener.java
@@ -30,6 +30,6 @@
     /**
      * Reclaim the leaked statement
      */
-    public void reclaimStatement() throws SQLException;
+    void reclaimStatement() throws SQLException;
 
 }
diff --git a/appserver/jdbc/jdbc-ra/jdbc40/src/main/java/com/sun/gjc/spi/jdbc40/CallableStatementWrapper40.java b/appserver/jdbc/jdbc-ra/jdbc40/src/main/java/com/sun/gjc/spi/jdbc40/CallableStatementWrapper40.java
index 366cc53..19b7a4f 100644
--- a/appserver/jdbc/jdbc-ra/jdbc40/src/main/java/com/sun/gjc/spi/jdbc40/CallableStatementWrapper40.java
+++ b/appserver/jdbc/jdbc-ra/jdbc40/src/main/java/com/sun/gjc/spi/jdbc40/CallableStatementWrapper40.java
@@ -1,4 +1,5 @@
 /*
+ * Copyright (c) 2022 Contributors to the Eclipse Foundation.
  * Copyright (c) 1997, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
@@ -16,13 +17,23 @@
 
 package com.sun.gjc.spi.jdbc40;
 
-import com.sun.gjc.common.DataSourceObjectBuilder;
-import com.sun.gjc.spi.base.CallableStatementWrapper;
+import static java.util.logging.Level.SEVERE;
 
 import java.io.InputStream;
 import java.io.Reader;
-import java.sql.*;
-import java.util.logging.Level;
+import java.sql.Blob;
+import java.sql.CallableStatement;
+import java.sql.Clob;
+import java.sql.Connection;
+import java.sql.NClob;
+import java.sql.ResultSet;
+import java.sql.RowId;
+import java.sql.SQLException;
+import java.sql.SQLFeatureNotSupportedException;
+import java.sql.SQLXML;
+
+import com.sun.gjc.spi.base.CallableStatementWrapper;
+
 import jakarta.resource.ResourceException;
 
 /**
@@ -32,12 +43,10 @@
     /**
      * Creates a new instance of CallableStatement wrapper for JDBC 3.0<br>
      *
-     * @param con       ConnectionWrapper<br>
+     * @param con ConnectionWrapper<br>
      * @param statement CallableStatement that is wrapped<br>
      */
-    public CallableStatementWrapper40(Connection con, CallableStatement statement,
-                                      boolean cachingEnabled)
-            throws SQLException {
+    public CallableStatementWrapper40(Connection con, CallableStatement statement, boolean cachingEnabled) throws SQLException {
         super(con, statement, cachingEnabled);
     }
 
@@ -47,12 +56,14 @@
      *
      * @param parameterIndex the first parameter is 1, the second is 2, ...
      * @return a <code>java.io.Reader</code> object that contains the parameter
-     *         value; if the value is SQL <code>NULL</code>, the value returned is
-     *         <code>null</code> in the Java programming language.
-     * @throws SQLException if the parameterIndex is not valid; if a database access error occurs or
-     *                      this method is called on a closed <code>CallableStatement</code>
+     * value; if the value is SQL <code>NULL</code>, the value returned is
+     * <code>null</code> in the Java programming language.
+     * @throws SQLException if the parameterIndex is not valid; if a database access
+     * error occurs or this method is called on a closed
+     * <code>CallableStatement</code>
      * @since 1.6
      */
+    @Override
     public Reader getCharacterStream(int parameterIndex) throws SQLException {
         return callableStatement.getCharacterStream(parameterIndex);
     }
@@ -63,62 +74,60 @@
      *
      * @param parameterName the name of the parameter
      * @return a <code>java.io.Reader</code> object that contains the parameter
-     *         value; if the value is SQL <code>NULL</code>, the value returned is
-     *         <code>null</code> in the Java programming language
+     * value; if the value is SQL <code>NULL</code>, the value returned is
+     * <code>null</code> in the Java programming language
      * @throws SQLException if parameterName does not correspond to a named
-     *                      parameter; if a database access error occurs or
-     *                      this method is called on a closed <code>CallableStatement</code>
-     * @throws SQLFeatureNotSupportedException
-     *                      if the JDBC driver does not support
-     *                      this method
+     * parameter; if a database access error occurs or this method is called on a
+     * closed <code>CallableStatement</code>
+     * @throws SQLFeatureNotSupportedException if the JDBC driver does not support
+     * this method
      * @since 1.6
      */
+    @Override
     public Reader getCharacterStream(String parameterName) throws SQLException {
         return callableStatement.getCharacterStream(parameterName);
     }
 
     /**
      * Retrieves the value of the designated parameter as a
-     * <code>java.io.Reader</code> object in the Java programming language.
-     * It is intended for use when
-     * accessing  <code>NCHAR</code>,<code>NVARCHAR</code>
-     * and <code>LONGNVARCHAR</code> parameters.
+     * <code>java.io.Reader</code> object in the Java programming language. It is
+     * intended for use when accessing <code>NCHAR</code>,<code>NVARCHAR</code> and
+     * <code>LONGNVARCHAR</code> parameters.
      *
      * @param parameterIndex the first parameter is 1, the second is 2, ...
      * @return a <code>java.io.Reader</code> object that contains the parameter
-     *         value; if the value is SQL <code>NULL</code>, the value returned is
-     *         <code>null</code> in the Java programming language.
-     * @throws SQLException if the parameterIndex is not valid;
-     *                      if a database access error occurs or
-     *                      this method is called on a closed <code>CallableStatement</code>
-     * @throws SQLFeatureNotSupportedException
-     *                      if the JDBC driver does not support
-     *                      this method
+     * value; if the value is SQL <code>NULL</code>, the value returned is
+     * <code>null</code> in the Java programming language.
+     * @throws SQLException if the parameterIndex is not valid; if a database access
+     * error occurs or this method is called on a closed
+     * <code>CallableStatement</code>
+     * @throws SQLFeatureNotSupportedException if the JDBC driver does not support
+     * this method
      * @since 1.6
      */
+    @Override
     public Reader getNCharacterStream(int parameterIndex) throws SQLException {
         return callableStatement.getNCharacterStream(parameterIndex);
     }
 
     /**
      * Retrieves the value of the designated parameter as a
-     * <code>java.io.Reader</code> object in the Java programming language.
-     * It is intended for use when
-     * accessing  <code>NCHAR</code>,<code>NVARCHAR</code>
-     * and <code>LONGNVARCHAR</code> parameters.
+     * <code>java.io.Reader</code> object in the Java programming language. It is
+     * intended for use when accessing <code>NCHAR</code>,<code>NVARCHAR</code> and
+     * <code>LONGNVARCHAR</code> parameters.
      *
      * @param parameterName the name of the parameter
      * @return a <code>java.io.Reader</code> object that contains the parameter
-     *         value; if the value is SQL <code>NULL</code>, the value returned is
-     *         <code>null</code> in the Java programming language
+     * value; if the value is SQL <code>NULL</code>, the value returned is
+     * <code>null</code> in the Java programming language
      * @throws SQLException if parameterName does not correspond to a named
-     *                      parameter; if a database access error occurs or
-     *                      this method is called on a closed <code>CallableStatement</code>
-     * @throws SQLFeatureNotSupportedException
-     *                      if the JDBC driver does not support
-     *                      this method
+     * parameter; if a database access error occurs or this method is called on a
+     * closed <code>CallableStatement</code>
+     * @throws SQLFeatureNotSupportedException if the JDBC driver does not support
+     * this method
      * @since 1.6
      */
+    @Override
     public Reader getNCharacterStream(String parameterName) throws SQLException {
         return callableStatement.getNCharacterStream(parameterName);
     }
@@ -127,21 +136,19 @@
      * Retrieves the value of the designated JDBC <code>NCLOB</code> parameter as a
      * <code>java.sql.NClob</code> object in the Java programming language.
      *
-     * @param parameterIndex the first parameter is 1, the second is 2, and
-     *                       so on
-     * @return the parameter value as a <code>NClob</code> object in the
-     *         Java programming language.  If the value was SQL <code>NULL</code>, the
-     *         value <code>null</code> is returned.
-     * @throws SQLException if the parameterIndex is not valid;
-     *                      if the driver does not support national
-     *                      character sets;  if the driver can detect that a data conversion
-     *                      error could occur; if a database access error occurs or
-     *                      this method is called on a closed <code>CallableStatement</code>
-     * @throws SQLFeatureNotSupportedException
-     *                      if the JDBC driver does not support
-     *                      this method
+     * @param parameterIndex the first parameter is 1, the second is 2, and so on
+     * @return the parameter value as a <code>NClob</code> object in the Java
+     * programming language. If the value was SQL <code>NULL</code>, the value
+     * <code>null</code> is returned.
+     * @throws SQLException if the parameterIndex is not valid; if the driver does
+     * not support national character sets; if the driver can detect that a data
+     * conversion error could occur; if a database access error occurs or this
+     * method is called on a closed <code>CallableStatement</code>
+     * @throws SQLFeatureNotSupportedException if the JDBC driver does not support
+     * this method
      * @since 1.6
      */
+    @Override
     public NClob getNClob(int parameterIndex) throws SQLException {
         return callableStatement.getNClob(parameterIndex);
     }
@@ -151,76 +158,69 @@
      * <code>java.sql.NClob</code> object in the Java programming language.
      *
      * @param parameterName the name of the parameter
-     * @return the parameter value as a <code>NClob</code> object in the
-     *         Java programming language.  If the value was SQL <code>NULL</code>,
-     *         the value <code>null</code> is returned.
+     * @return the parameter value as a <code>NClob</code> object in the Java
+     * programming language. If the value was SQL <code>NULL</code>, the value
+     * <code>null</code> is returned.
      * @throws SQLException if parameterName does not correspond to a named
-     *                      parameter; if the driver does not support national
-     *                      character sets;  if the driver can detect that a data conversion
-     *                      error could occur; if a database access error occurs or
-     *                      this method is called on a closed <code>CallableStatement</code>
-     * @throws SQLFeatureNotSupportedException
-     *                      if the JDBC driver does not support
-     *                      this method
+     * parameter; if the driver does not support national character sets; if the
+     * driver can detect that a data conversion error could occur; if a database
+     * access error occurs or this method is called on a closed
+     * <code>CallableStatement</code>
+     * @throws SQLFeatureNotSupportedException if the JDBC driver does not support
+     * this method
      * @since 1.6
      */
+    @Override
     public NClob getNClob(String parameterName) throws SQLException {
         return callableStatement.getNClob(parameterName);
     }
 
     /**
      * Retrieves the value of the designated <code>NCHAR</code>,
-     * <code>NVARCHAR</code>
-     * or <code>LONGNVARCHAR</code> parameter as
-     * a <code>String</code> in the Java programming language.
+     * <code>NVARCHAR</code> or <code>LONGNVARCHAR</code> parameter as a
+     * <code>String</code> in the Java programming language.
      * <p/>
-     * For the fixed-length type JDBC <code>NCHAR</code>,
-     * the <code>String</code> object
-     * returned has exactly the same value the SQL
-     * <code>NCHAR</code> value had in the
-     * database, including any padding added by the database.
+     * For the fixed-length type JDBC <code>NCHAR</code>, the <code>String</code>
+     * object returned has exactly the same value the SQL <code>NCHAR</code> value
+     * had in the database, including any padding added by the database.
      *
      * @param parameterIndex index of the first parameter is 1, the second is 2, ...
-     * @return a <code>String</code> object that maps an
-     *         <code>NCHAR</code>, <code>NVARCHAR</code> or <code>LONGNVARCHAR</code> value
-     * @throws SQLException if the parameterIndex is not valid;
-     *                      if a database access error occurs or
-     *                      this method is called on a closed <code>CallableStatement</code>
-     * @throws SQLFeatureNotSupportedException
-     *                      if the JDBC driver does not support
-     *                      this method
+     * @return a <code>String</code> object that maps an <code>NCHAR</code>,
+     * <code>NVARCHAR</code> or <code>LONGNVARCHAR</code> value
+     * @throws SQLException if the parameterIndex is not valid; if a database access
+     * error occurs or this method is called on a closed
+     * <code>CallableStatement</code>
+     * @throws SQLFeatureNotSupportedException if the JDBC driver does not support
+     * this method
      * @see #setNString
      * @since 1.6
      */
+    @Override
     public String getNString(int parameterIndex) throws SQLException {
         return callableStatement.getNString(parameterIndex);
     }
 
     /**
      * Retrieves the value of the designated <code>NCHAR</code>,
-     * <code>NVARCHAR</code>
-     * or <code>LONGNVARCHAR</code> parameter as
-     * a <code>String</code> in the Java programming language.
+     * <code>NVARCHAR</code> or <code>LONGNVARCHAR</code> parameter as a
+     * <code>String</code> in the Java programming language.
      * <p/>
-     * For the fixed-length type JDBC <code>NCHAR</code>,
-     * the <code>String</code> object
-     * returned has exactly the same value the SQL
-     * <code>NCHAR</code> value had in the
-     * database, including any padding added by the database.
+     * For the fixed-length type JDBC <code>NCHAR</code>, the <code>String</code>
+     * object returned has exactly the same value the SQL <code>NCHAR</code> value
+     * had in the database, including any padding added by the database.
      *
      * @param parameterName the name of the parameter
-     * @return a <code>String</code> object that maps an
-     *         <code>NCHAR</code>, <code>NVARCHAR</code> or <code>LONGNVARCHAR</code> value
+     * @return a <code>String</code> object that maps an <code>NCHAR</code>,
+     * <code>NVARCHAR</code> or <code>LONGNVARCHAR</code> value
      * @throws SQLException if parameterName does not correspond to a named
-     *                      parameter;
-     *                      if a database access error occurs or
-     *                      this method is called on a closed <code>CallableStatement</code>
-     * @throws SQLFeatureNotSupportedException
-     *                      if the JDBC driver does not support
-     *                      this method
+     * parameter; if a database access error occurs or this method is called on a
+     * closed <code>CallableStatement</code>
+     * @throws SQLFeatureNotSupportedException if the JDBC driver does not support
+     * this method
      * @see #setNString
      * @since 1.6
      */
+    @Override
     public String getNString(String parameterName) throws SQLException {
         return callableStatement.getNString(parameterName);
     }
@@ -230,17 +230,18 @@
      * <code>java.sql.RowId</code> object.
      *
      * @param parameterIndex the first parameter is 1, the second is 2,...
-     * @return a <code>RowId</code> object that represents the JDBC <code>ROWID</code>
-     *         value is used as the designated parameter. If the parameter contains
-     *         a SQL <code>NULL</code>, then a <code>null</code> value is returned.
-     * @throws SQLException if the parameterIndex is not valid;
-     *                      if a database access error occurs or
-     *                      this method is called on a closed <code>CallableStatement</code>
-     * @throws SQLFeatureNotSupportedException
-     *                      if the JDBC driver does not support
-     *                      this method
+     * @return a <code>RowId</code> object that represents the JDBC
+     * <code>ROWID</code> value is used as the designated parameter. If the
+     * parameter contains a SQL <code>NULL</code>, then a <code>null</code> value is
+     * returned.
+     * @throws SQLException if the parameterIndex is not valid; if a database access
+     * error occurs or this method is called on a closed
+     * <code>CallableStatement</code>
+     * @throws SQLFeatureNotSupportedException if the JDBC driver does not support
+     * this method
      * @since 1.6
      */
+    @Override
     public RowId getRowId(int parameterIndex) throws SQLException {
         return callableStatement.getRowId(parameterIndex);
     }
@@ -250,17 +251,18 @@
      * <code>java.sql.RowId</code> object.
      *
      * @param parameterName the name of the parameter
-     * @return a <code>RowId</code> object that represents the JDBC <code>ROWID</code>
-     *         value is used as the designated parameter. If the parameter contains
-     *         a SQL <code>NULL</code>, then a <code>null</code> value is returned.
+     * @return a <code>RowId</code> object that represents the JDBC
+     * <code>ROWID</code> value is used as the designated parameter. If the
+     * parameter contains a SQL <code>NULL</code>, then a <code>null</code> value is
+     * returned.
      * @throws SQLException if parameterName does not correspond to a named
-     *                      parameter; if a database access error occurs or
-     *                      this method is called on a closed <code>CallableStatement</code>
-     * @throws SQLFeatureNotSupportedException
-     *                      if the JDBC driver does not support
-     *                      this method
+     * parameter; if a database access error occurs or this method is called on a
+     * closed <code>CallableStatement</code>
+     * @throws SQLFeatureNotSupportedException if the JDBC driver does not support
+     * this method
      * @since 1.6
      */
+    @Override
     public RowId getRowId(String parameterName) throws SQLException {
         return callableStatement.getRowId(parameterName);
     }
@@ -271,14 +273,14 @@
      *
      * @param parameterIndex index of the first parameter is 1, the second is 2, ...
      * @return a <code>SQLXML</code> object that maps an <code>SQL XML</code> value
-     * @throws SQLException if the parameterIndex is not valid;
-     *                      if a database access error occurs or
-     *                      this method is called on a closed <code>CallableStatement</code>
-     * @throws SQLFeatureNotSupportedException
-     *                      if the JDBC driver does not support
-     *                      this method
+     * @throws SQLException if the parameterIndex is not valid; if a database access
+     * error occurs or this method is called on a closed
+     * <code>CallableStatement</code>
+     * @throws SQLFeatureNotSupportedException if the JDBC driver does not support
+     * this method
      * @since 1.6
      */
+    @Override
     public SQLXML getSQLXML(int parameterIndex) throws SQLException {
         return callableStatement.getSQLXML(parameterIndex);
     }
@@ -290,1048 +292,1102 @@
      * @param parameterName the name of the parameter
      * @return a <code>SQLXML</code> object that maps an <code>SQL XML</code> value
      * @throws SQLException if parameterName does not correspond to a named
-     *                      parameter; if a database access error occurs or
-     *                      this method is called on a closed <code>CallableStatement</code>
-     * @throws SQLFeatureNotSupportedException
-     *                      if the JDBC driver does not support
-     *                      this method
+     * parameter; if a database access error occurs or this method is called on a
+     * closed <code>CallableStatement</code>
+     * @throws SQLFeatureNotSupportedException if the JDBC driver does not support
+     * this method
      * @since 1.6
      */
+    @Override
     public SQLXML getSQLXML(String parameterName) throws SQLException {
         return callableStatement.getSQLXML(parameterName);
     }
 
     /**
-     * Sets the designated parameter to the given input stream.
-     * When a very large ASCII value is input to a <code>LONGVARCHAR</code>
-     * parameter, it may be more practical to send it via a
-     * <code>java.io.InputStream</code>. Data will be read from the stream
-     * as needed until end-of-file is reached.  The JDBC driver will
-     * do any necessary conversion from ASCII to the database char format.
+     * Sets the designated parameter to the given input stream. When a very large
+     * ASCII value is input to a <code>LONGVARCHAR</code> parameter, it may be more
+     * practical to send it via a <code>java.io.InputStream</code>. Data will be
+     * read from the stream as needed until end-of-file is reached. The JDBC driver
+     * will do any necessary conversion from ASCII to the database char format.
      * <p/>
-     * <P><B>Note:</B> This stream object can either be a standard
-     * Java stream object or your own subclass that implements the
-     * standard interface.
-     * <P><B>Note:</B> Consult your JDBC driver documentation to determine if
-     * it might be more efficient to use a version of
-     * <code>setAsciiStream</code> which takes a length parameter.
+     * <P>
+     * <B>Note:</B> This stream object can either be a standard Java stream object
+     * or your own subclass that implements the standard interface.
+     * <P>
+     * <B>Note:</B> Consult your JDBC driver documentation to determine if it might
+     * be more efficient to use a version of <code>setAsciiStream</code> which takes
+     * a length parameter.
      *
      * @param parameterName the name of the parameter
-     * @param x             the Java input stream that contains the ASCII parameter value
+     * @param x the Java input stream that contains the ASCII parameter value
      * @throws SQLException if parameterName does not correspond to a named
-     *                      parameter; if a database access error occurs or
-     *                      this method is called on a closed <code>CallableStatement</code>
-     * @throws SQLFeatureNotSupportedException
-     *                      if the JDBC driver does not support this method
+     * parameter; if a database access error occurs or this method is called on a
+     * closed <code>CallableStatement</code>
+     * @throws SQLFeatureNotSupportedException if the JDBC driver does not support
+     * this method
      * @since 1.6
      */
+    @Override
     public void setAsciiStream(String parameterName, InputStream x) throws SQLException {
         callableStatement.setAsciiStream(parameterName, x);
     }
 
     /**
-     * Sets the designated parameter to the given input stream, which will have
-     * the specified number of bytes.
-     * When a very large ASCII value is input to a <code>LONGVARCHAR</code>
-     * parameter, it may be more practical to send it via a
-     * <code>java.io.InputStream</code>. Data will be read from the stream
-     * as needed until end-of-file is reached.  The JDBC driver will
-     * do any necessary conversion from ASCII to the database char format.
+     * Sets the designated parameter to the given input stream, which will have the
+     * specified number of bytes. When a very large ASCII value is input to a
+     * <code>LONGVARCHAR</code> parameter, it may be more practical to send it via a
+     * <code>java.io.InputStream</code>. Data will be read from the stream as needed
+     * until end-of-file is reached. The JDBC driver will do any necessary
+     * conversion from ASCII to the database char format.
      * <p/>
-     * <P><B>Note:</B> This stream object can either be a standard
-     * Java stream object or your own subclass that implements the
-     * standard interface.
+     * <P>
+     * <B>Note:</B> This stream object can either be a standard Java stream object
+     * or your own subclass that implements the standard interface.
      *
      * @param parameterName the name of the parameter
-     * @param x             the Java input stream that contains the ASCII parameter value
-     * @param length        the number of bytes in the stream
+     * @param x the Java input stream that contains the ASCII parameter value
+     * @param length the number of bytes in the stream
      * @throws SQLException if parameterName does not correspond to a named
-     *                      parameter; if a database access error occurs or
-     *                      this method is called on a closed <code>CallableStatement</code>
-     * @throws SQLFeatureNotSupportedException
-     *                      if the JDBC driver does not support
-     *                      this method
+     * parameter; if a database access error occurs or this method is called on a
+     * closed <code>CallableStatement</code>
+     * @throws SQLFeatureNotSupportedException if the JDBC driver does not support
+     * this method
      * @since 1.6
      */
+    @Override
     public void setAsciiStream(String parameterName, InputStream x, long length) throws SQLException {
         callableStatement.setAsciiStream(parameterName, x, length);
     }
 
     /**
-     * Sets the designated parameter to the given input stream.
-     * When a very large binary value is input to a <code>LONGVARBINARY</code>
-     * parameter, it may be more practical to send it via a
-     * <code>java.io.InputStream</code> object. The data will be read from the
-     * stream as needed until end-of-file is reached.
+     * Sets the designated parameter to the given input stream. When a very large
+     * binary value is input to a <code>LONGVARBINARY</code> parameter, it may be
+     * more practical to send it via a <code>java.io.InputStream</code> object. The
+     * data will be read from the stream as needed until end-of-file is reached.
      * <p/>
-     * <P><B>Note:</B> This stream object can either be a standard
-     * Java stream object or your own subclass that implements the
-     * standard interface.
-     * <P><B>Note:</B> Consult your JDBC driver documentation to determine if
-     * it might be more efficient to use a version of
-     * <code>setBinaryStream</code> which takes a length parameter.
+     * <P>
+     * <B>Note:</B> This stream object can either be a standard Java stream object
+     * or your own subclass that implements the standard interface.
+     * <P>
+     * <B>Note:</B> Consult your JDBC driver documentation to determine if it might
+     * be more efficient to use a version of <code>setBinaryStream</code> which
+     * takes a length parameter.
      *
      * @param parameterName the name of the parameter
-     * @param x             the java input stream which contains the binary parameter value
+     * @param x the java input stream which contains the binary parameter value
      * @throws SQLException if parameterName does not correspond to a named
-     *                      parameter; if a database access error occurs or
-     *                      this method is called on a closed <code>CallableStatement</code>
-     * @throws SQLFeatureNotSupportedException
-     *                      if the JDBC driver does not support this method
+     * parameter; if a database access error occurs or this method is called on a
+     * closed <code>CallableStatement</code>
+     * @throws SQLFeatureNotSupportedException if the JDBC driver does not support
+     * this method
      * @since 1.6
      */
+    @Override
     public void setBinaryStream(String parameterName, InputStream x) throws SQLException {
         callableStatement.setBinaryStream(parameterName, x);
     }
 
     /**
-     * Sets the designated parameter to the given input stream, which will have
-     * the specified number of bytes.
-     * When a very large binary value is input to a <code>LONGVARBINARY</code>
-     * parameter, it may be more practical to send it via a
-     * <code>java.io.InputStream</code> object. The data will be read from the stream
-     * as needed until end-of-file is reached.
+     * Sets the designated parameter to the given input stream, which will have the
+     * specified number of bytes. When a very large binary value is input to a
+     * <code>LONGVARBINARY</code> parameter, it may be more practical to send it via
+     * a <code>java.io.InputStream</code> object. The data will be read from the
+     * stream as needed until end-of-file is reached.
      * <p/>
-     * <P><B>Note:</B> This stream object can either be a standard
-     * Java stream object or your own subclass that implements the
-     * standard interface.
+     * <P>
+     * <B>Note:</B> This stream object can either be a standard Java stream object
+     * or your own subclass that implements the standard interface.
      *
      * @param parameterName the name of the parameter
-     * @param x             the java input stream which contains the binary parameter value
-     * @param length        the number of bytes in the stream
+     * @param x the java input stream which contains the binary parameter value
+     * @param length the number of bytes in the stream
      * @throws SQLException if parameterName does not correspond to a named
-     *                      parameter; if a database access error occurs or
-     *                      this method is called on a closed <code>CallableStatement</code>
-     * @throws SQLFeatureNotSupportedException
-     *                      if the JDBC driver does not support
-     *                      this method
+     * parameter; if a database access error occurs or this method is called on a
+     * closed <code>CallableStatement</code>
+     * @throws SQLFeatureNotSupportedException if the JDBC driver does not support
+     * this method
      * @since 1.6
      */
+    @Override
     public void setBinaryStream(String parameterName, InputStream x, long length) throws SQLException {
         callableStatement.setBinaryStream(parameterName, x, length);
     }
 
     /**
      * Sets the designated parameter to the given <code>java.sql.Blob</code> object.
-     * The driver converts this to an SQL <code>BLOB</code> value when it
-     * sends it to the database.
+     * The driver converts this to an SQL <code>BLOB</code> value when it sends it
+     * to the database.
      *
      * @param parameterName the name of the parameter
-     * @param x             a <code>Blob</code> object that maps an SQL <code>BLOB</code> value
+     * @param x a <code>Blob</code> object that maps an SQL <code>BLOB</code> value
      * @throws SQLException if parameterName does not correspond to a named
-     *                      parameter; if a database access error occurs or
-     *                      this method is called on a closed <code>CallableStatement</code>
-     * @throws SQLFeatureNotSupportedException
-     *                      if the JDBC driver does not support
-     *                      this method
+     * parameter; if a database access error occurs or this method is called on a
+     * closed <code>CallableStatement</code>
+     * @throws SQLFeatureNotSupportedException if the JDBC driver does not support
+     * this method
      * @since 1.6
      */
+    @Override
     public void setBlob(String parameterName, Blob x) throws SQLException {
         callableStatement.setBlob(parameterName, x);
     }
 
     /**
-     * Sets the designated parameter to a <code>InputStream</code> object.
-     * This method differs from the <code>setBinaryStream (int, InputStream)</code>
-     * method because it informs the driver that the parameter value should be
-     * sent to the server as a <code>BLOB</code>.  When the <code>setBinaryStream</code> method is used,
-     * the driver may have to do extra work to determine whether the parameter
-     * data should be send to the server as a <code>LONGVARBINARY</code> or a <code>BLOB</code>
+     * Sets the designated parameter to a <code>InputStream</code> object. This
+     * method differs from the <code>setBinaryStream (int, InputStream)</code>
+     * method because it informs the driver that the parameter value should be sent
+     * to the server as a <code>BLOB</code>. When the <code>setBinaryStream</code>
+     * method is used, the driver may have to do extra work to determine whether the
+     * parameter data should be send to the server as a <code>LONGVARBINARY</code>
+     * or a <code>BLOB</code>
      * <p/>
-     * <P><B>Note:</B> Consult your JDBC driver documentation to determine if
-     * it might be more efficient to use a version of
-     * <code>setBlob</code> which takes a length parameter.
+     * <P>
+     * <B>Note:</B> Consult your JDBC driver documentation to determine if it might
+     * be more efficient to use a version of <code>setBlob</code> which takes a
+     * length parameter.
      *
      * @param parameterName the name of the parameter
-     * @param inputStream   An object that contains the data to set the parameter
-     *                      value to.
+     * @param inputStream An object that contains the data to set the parameter
+     * value to.
      * @throws SQLException if parameterName does not correspond to a named
-     *                      parameter; if a database access error occurs or
-     *                      this method is called on a closed <code>CallableStatement</code>
-     * @throws SQLFeatureNotSupportedException
-     *                      if the JDBC driver does not support this method
+     * parameter; if a database access error occurs or this method is called on a
+     * closed <code>CallableStatement</code>
+     * @throws SQLFeatureNotSupportedException if the JDBC driver does not support
+     * this method
      * @since 1.6
      */
+    @Override
     public void setBlob(String parameterName, InputStream inputStream) throws SQLException {
         callableStatement.setBlob(parameterName, inputStream);
     }
 
     /**
-     * Sets the designated parameter to a <code>InputStream</code> object.  The <code>inputstream</code> must contain  the number
-     * of characters specified by length, otherwise a <code>SQLException</code> will be
-     * generated when the <code>CallableStatement</code> is executed.
-     * This method differs from the <code>setBinaryStream (int, InputStream, int)</code>
-     * method because it informs the driver that the parameter value should be
-     * sent to the server as a <code>BLOB</code>.  When the <code>setBinaryStream</code> method is used,
-     * the driver may have to do extra work to determine whether the parameter
-     * data should be sent to the server as a <code>LONGVARBINARY</code> or a <code>BLOB</code>
+     * Sets the designated parameter to a <code>InputStream</code> object. The
+     * <code>inputstream</code> must contain the number of characters specified by
+     * length, otherwise a <code>SQLException</code> will be generated when the
+     * <code>CallableStatement</code> is executed. This method differs from the
+     * <code>setBinaryStream (int, InputStream, int)</code> method because it
+     * informs the driver that the parameter value should be sent to the server as a
+     * <code>BLOB</code>. When the <code>setBinaryStream</code> method is used, the
+     * driver may have to do extra work to determine whether the parameter data
+     * should be sent to the server as a <code>LONGVARBINARY</code> or a
+     * <code>BLOB</code>
      *
-     * @param parameterName the name of the parameter to be set
-     *                      the second is 2, ...
-     * @param inputStream   An object that contains the data to set the parameter
-     *                      value to.
-     * @param length        the number of bytes in the parameter data.
+     * @param parameterName the name of the parameter to be set the second is 2, ...
+     * @param inputStream An object that contains the data to set the parameter
+     * value to.
+     * @param length the number of bytes in the parameter data.
      * @throws SQLException if parameterName does not correspond to a named
-     *                      parameter; if the length specified
-     *                      is less than zero; if the number of bytes in the inputstream does not match
-     *                      the specfied length; if a database access error occurs or
-     *                      this method is called on a closed <code>CallableStatement</code>
-     * @throws SQLFeatureNotSupportedException
-     *                      if the JDBC driver does not support
-     *                      this method
+     * parameter; if the length specified is less than zero; if the number of bytes
+     * in the inputstream does not match the specfied length; if a database access
+     * error occurs or this method is called on a closed
+     * <code>CallableStatement</code>
+     * @throws SQLFeatureNotSupportedException if the JDBC driver does not support
+     * this method
      * @since 1.6
      */
+    @Override
     public void setBlob(String parameterName, InputStream inputStream, long length) throws SQLException {
         callableStatement.setBlob(parameterName, inputStream, length);
     }
 
     /**
-     * Sets the designated parameter to the given <code>Reader</code>
-     * object.
-     * When a very large UNICODE value is input to a <code>LONGVARCHAR</code>
-     * parameter, it may be more practical to send it via a
-     * <code>java.io.Reader</code> object. The data will be read from the stream
-     * as needed until end-of-file is reached.  The JDBC driver will
-     * do any necessary conversion from UNICODE to the database char format.
+     * Sets the designated parameter to the given <code>Reader</code> object. When a
+     * very large UNICODE value is input to a <code>LONGVARCHAR</code> parameter, it
+     * may be more practical to send it via a <code>java.io.Reader</code> object.
+     * The data will be read from the stream as needed until end-of-file is reached.
+     * The JDBC driver will do any necessary conversion from UNICODE to the database
+     * char format.
      * <p/>
-     * <P><B>Note:</B> This stream object can either be a standard
-     * Java stream object or your own subclass that implements the
-     * standard interface.
-     * <P><B>Note:</B> Consult your JDBC driver documentation to determine if
-     * it might be more efficient to use a version of
-     * <code>setCharacterStream</code> which takes a length parameter.
+     * <P>
+     * <B>Note:</B> This stream object can either be a standard Java stream object
+     * or your own subclass that implements the standard interface.
+     * <P>
+     * <B>Note:</B> Consult your JDBC driver documentation to determine if it might
+     * be more efficient to use a version of <code>setCharacterStream</code> which
+     * takes a length parameter.
      *
      * @param parameterName the name of the parameter
-     * @param reader        the <code>java.io.Reader</code> object that contains the
-     *                      Unicode data
+     * @param reader the <code>java.io.Reader</code> object that contains the
+     * Unicode data
      * @throws SQLException if parameterName does not correspond to a named
-     *                      parameter; if a database access error occurs or
-     *                      this method is called on a closed <code>CallableStatement</code>
-     * @throws SQLFeatureNotSupportedException
-     *                      if the JDBC driver does not support this method
+     * parameter; if a database access error occurs or this method is called on a
+     * closed <code>CallableStatement</code>
+     * @throws SQLFeatureNotSupportedException if the JDBC driver does not support
+     * this method
      * @since 1.6
      */
+    @Override
     public void setCharacterStream(String parameterName, Reader reader) throws SQLException {
         callableStatement.setCharacterStream(parameterName, reader);
     }
 
     /**
-     * Sets the designated parameter to the given <code>Reader</code>
-     * object, which is the given number of characters long.
-     * When a very large UNICODE value is input to a <code>LONGVARCHAR</code>
-     * parameter, it may be more practical to send it via a
-     * <code>java.io.Reader</code> object. The data will be read from the stream
-     * as needed until end-of-file is reached.  The JDBC driver will
-     * do any necessary conversion from UNICODE to the database char format.
+     * Sets the designated parameter to the given <code>Reader</code> object, which
+     * is the given number of characters long. When a very large UNICODE value is
+     * input to a <code>LONGVARCHAR</code> parameter, it may be more practical to
+     * send it via a <code>java.io.Reader</code> object. The data will be read from
+     * the stream as needed until end-of-file is reached. The JDBC driver will do
+     * any necessary conversion from UNICODE to the database char format.
      * <p/>
-     * <P><B>Note:</B> This stream object can either be a standard
-     * Java stream object or your own subclass that implements the
-     * standard interface.
+     * <P>
+     * <B>Note:</B> This stream object can either be a standard Java stream object
+     * or your own subclass that implements the standard interface.
      *
      * @param parameterName the name of the parameter
-     * @param reader        the <code>java.io.Reader</code> object that
-     *                      contains the UNICODE data used as the designated parameter
-     * @param length        the number of characters in the stream
+     * @param reader the <code>java.io.Reader</code> object that contains the
+     * UNICODE data used as the designated parameter
+     * @param length the number of characters in the stream
      * @throws SQLException if parameterName does not correspond to a named
-     *                      parameter; if a database access error occurs or
-     *                      this method is called on a closed <code>CallableStatement</code>
-     * @throws SQLFeatureNotSupportedException
-     *                      if the JDBC driver does not support
-     *                      this method
+     * parameter; if a database access error occurs or this method is called on a
+     * closed <code>CallableStatement</code>
+     * @throws SQLFeatureNotSupportedException if the JDBC driver does not support
+     * this method
      * @since 1.6
      */
+    @Override
     public void setCharacterStream(String parameterName, Reader reader, long length) throws SQLException {
         callableStatement.setCharacterStream(parameterName, reader, length);
     }
 
     /**
      * Sets the designated parameter to the given <code>java.sql.Clob</code> object.
-     * The driver converts this to an SQL <code>CLOB</code> value when it
-     * sends it to the database.
+     * The driver converts this to an SQL <code>CLOB</code> value when it sends it
+     * to the database.
      *
      * @param parameterName the name of the parameter
-     * @param x             a <code>Clob</code> object that maps an SQL <code>CLOB</code> value
+     * @param x a <code>Clob</code> object that maps an SQL <code>CLOB</code> value
      * @throws SQLException if parameterName does not correspond to a named
-     *                      parameter; if a database access error occurs or
-     *                      this method is called on a closed <code>CallableStatement</code>
-     * @throws SQLFeatureNotSupportedException
-     *                      if the JDBC driver does not support
-     *                      this method
+     * parameter; if a database access error occurs or this method is called on a
+     * closed <code>CallableStatement</code>
+     * @throws SQLFeatureNotSupportedException if the JDBC driver does not support
+     * this method
      * @since 1.6
      */
+    @Override
     public void setClob(String parameterName, Clob x) throws SQLException {
         callableStatement.setClob(parameterName, x);
     }
 
     /**
-     * Sets the designated parameter to a <code>Reader</code> object.
-     * This method differs from the <code>setCharacterStream (int, Reader)</code> method
-     * because it informs the driver that the parameter value should be sent to
-     * the server as a <code>CLOB</code>.  When the <code>setCharacterStream</code> method is used, the
-     * driver may have to do extra work to determine whether the parameter
-     * data should be send to the server as a <code>LONGVARCHAR</code> or a <code>CLOB</code>
+     * Sets the designated parameter to a <code>Reader</code> object. This method
+     * differs from the <code>setCharacterStream (int, Reader)</code> method because
+     * it informs the driver that the parameter value should be sent to the server
+     * as a <code>CLOB</code>. When the <code>setCharacterStream</code> method is
+     * used, the driver may have to do extra work to determine whether the parameter
+     * data should be send to the server as a <code>LONGVARCHAR</code> or a
+     * <code>CLOB</code>
      * <p/>
-     * <P><B>Note:</B> Consult your JDBC driver documentation to determine if
-     * it might be more efficient to use a version of
-     * <code>setClob</code> which takes a length parameter.
+     * <P>
+     * <B>Note:</B> Consult your JDBC driver documentation to determine if it might
+     * be more efficient to use a version of <code>setClob</code> which takes a
+     * length parameter.
      *
      * @param parameterName the name of the parameter
-     * @param reader        An object that contains the data to set the parameter value to.
+     * @param reader An object that contains the data to set the parameter value to.
      * @throws SQLException if parameterName does not correspond to a named
-     *                      parameter; if a database access error occurs or this method is called on
-     *                      a closed <code>CallableStatement</code>
-     * @throws SQLFeatureNotSupportedException
-     *                      if the JDBC driver does not support this method
+     * parameter; if a database access error occurs or this method is called on a
+     * closed <code>CallableStatement</code>
+     * @throws SQLFeatureNotSupportedException if the JDBC driver does not support
+     * this method
      * @since 1.6
      */
+    @Override
     public void setClob(String parameterName, Reader reader) throws SQLException {
         callableStatement.setClob(parameterName, reader);
     }
 
     /**
      * Sets the designated parameter to a <code>Reader</code> object. The
-     * <code>Reader</code> reads the data till end-of-file is reached. The
-     * driver does the necessary conversion from Java character format to
-     * the national character set in the database.
+     * <code>Reader</code> reads the data till end-of-file is reached. The driver
+     * does the necessary conversion from Java character format to the national
+     * character set in the database.
      * <p/>
-     * <P><B>Note:</B> This stream object can either be a standard
-     * Java stream object or your own subclass that implements the
-     * standard interface.
-     * <P><B>Note:</B> Consult your JDBC driver documentation to determine if
-     * it might be more efficient to use a version of
-     * <code>setNCharacterStream</code> which takes a length parameter.
+     * <P>
+     * <B>Note:</B> This stream object can either be a standard Java stream object
+     * or your own subclass that implements the standard interface.
+     * <P>
+     * <B>Note:</B> Consult your JDBC driver documentation to determine if it might
+     * be more efficient to use a version of <code>setNCharacterStream</code> which
+     * takes a length parameter.
      *
      * @param parameterName the name of the parameter
-     * @param value         the parameter value
+     * @param value the parameter value
      * @throws SQLException if parameterName does not correspond to a named
-     *                      parameter; if the driver does not support national
-     *                      character sets;  if the driver can detect that a data conversion
-     *                      error could occur; if a database access error occurs; or
-     *                      this method is called on a closed <code>CallableStatement</code>
-     * @throws SQLFeatureNotSupportedException
-     *                      if the JDBC driver does not support this method
+     * parameter; if the driver does not support national character sets; if the
+     * driver can detect that a data conversion error could occur; if a database
+     * access error occurs; or this method is called on a closed
+     * <code>CallableStatement</code>
+     * @throws SQLFeatureNotSupportedException if the JDBC driver does not support
+     * this method
      * @since 1.6
      */
+    @Override
     public void setNCharacterStream(String parameterName, Reader value) throws SQLException {
         callableStatement.setNCharacterStream(parameterName, value);
     }
 
     /**
      * Sets the designated parameter to a <code>Reader</code> object. The
-     * <code>Reader</code> reads the data till end-of-file is reached. The
-     * driver does the necessary conversion from Java character format to
-     * the national character set in the database.
+     * <code>Reader</code> reads the data till end-of-file is reached. The driver
+     * does the necessary conversion from Java character format to the national
+     * character set in the database.
      *
      * @param parameterName the name of the parameter to be set
-     * @param value         the parameter value
-     * @param length        the number of characters in the parameter data.
+     * @param value the parameter value
+     * @param length the number of characters in the parameter data.
      * @throws SQLException if parameterName does not correspond to a named
-     *                      parameter; if the driver does not support national
-     *                      character sets;  if the driver can detect that a data conversion
-     *                      error could occur; if a database access error occurs or
-     *                      this method is called on a closed <code>CallableStatement</code>
-     * @throws SQLFeatureNotSupportedException
-     *                      if the JDBC driver does not support
-     *                      this method
+     * parameter; if the driver does not support national character sets; if the
+     * driver can detect that a data conversion error could occur; if a database
+     * access error occurs or this method is called on a closed
+     * <code>CallableStatement</code>
+     * @throws SQLFeatureNotSupportedException if the JDBC driver does not support
+     * this method
      * @since 1.6
      */
+    @Override
     public void setNCharacterStream(String parameterName, Reader value, long length) throws SQLException {
         callableStatement.setNCharacterStream(parameterName, value, length);
     }
 
     /**
-     * Sets the designated parameter to a <code>Reader</code> object.
-     * This method differs from the <code>setCharacterStream (int, Reader)</code> method
-     * because it informs the driver that the parameter value should be sent to
-     * the server as a <code>NCLOB</code>.  When the <code>setCharacterStream</code> method is used, the
-     * driver may have to do extra work to determine whether the parameter
-     * data should be send to the server as a <code>LONGNVARCHAR</code> or a <code>NCLOB</code>
-     * <P><B>Note:</B> Consult your JDBC driver documentation to determine if
-     * it might be more efficient to use a version of
-     * <code>setNClob</code> which takes a length parameter.
+     * Sets the designated parameter to a <code>Reader</code> object. This method
+     * differs from the <code>setCharacterStream (int, Reader)</code> method because
+     * it informs the driver that the parameter value should be sent to the server
+     * as a <code>NCLOB</code>. When the <code>setCharacterStream</code> method is
+     * used, the driver may have to do extra work to determine whether the parameter
+     * data should be send to the server as a <code>LONGNVARCHAR</code> or a
+     * <code>NCLOB</code>
+     * <P>
+     * <B>Note:</B> Consult your JDBC driver documentation to determine if it might
+     * be more efficient to use a version of <code>setNClob</code> which takes a
+     * length parameter.
      *
      * @param parameterName the name of the parameter
-     * @param reader        An object that contains the data to set the parameter value to.
+     * @param reader An object that contains the data to set the parameter value to.
      * @throws SQLException if parameterName does not correspond to a named
-     *                      parameter; if the driver does not support national character sets;
-     *                      if the driver can detect that a data conversion
-     *                      error could occur;  if a database access error occurs or
-     *                      this method is called on a closed <code>CallableStatement</code>
-     * @throws SQLFeatureNotSupportedException
-     *                      if the JDBC driver does not support this method
+     * parameter; if the driver does not support national character sets; if the
+     * driver can detect that a data conversion error could occur; if a database
+     * access error occurs or this method is called on a closed
+     * <code>CallableStatement</code>
+     * @throws SQLFeatureNotSupportedException if the JDBC driver does not support
+     * this method
      * @since 1.6
      */
+    @Override
     public void setNClob(String parameterName, NClob reader) throws SQLException {
         callableStatement.setNClob(parameterName, reader);
     }
 
     /**
-     * Sets the designated parameter to a <code>Reader</code> object.  The <code>reader</code> must contain  the number
-     * of characters specified by length otherwise a <code>SQLException</code> will be
-     * generated when the <code>CallableStatement</code> is executed.
-     * This method differs from the <code>setCharacterStream (int, Reader, int)</code> method
-     * because it informs the driver that the parameter value should be sent to
-     * the server as a <code>CLOB</code>.  When the <code>setCharacterStream</code> method is used, the
-     * driver may have to do extra work to determine whether the parameter
-     * data should be send to the server as a <code>LONGVARCHAR</code> or a <code>CLOB</code>
+     * Sets the designated parameter to a <code>Reader</code> object. The
+     * <code>reader</code> must contain the number of characters specified by length
+     * otherwise a <code>SQLException</code> will be generated when the
+     * <code>CallableStatement</code> is executed. This method differs from the
+     * <code>setCharacterStream (int, Reader, int)</code> method because it informs
+     * the driver that the parameter value should be sent to the server as a
+     * <code>CLOB</code>. When the <code>setCharacterStream</code> method is used,
+     * the driver may have to do extra work to determine whether the parameter data
+     * should be send to the server as a <code>LONGVARCHAR</code> or a
+     * <code>CLOB</code>
      *
      * @param parameterName the name of the parameter to be set
-     * @param reader        An object that contains the data to set the parameter value to.
-     * @param length        the number of characters in the parameter data.
+     * @param reader An object that contains the data to set the parameter value to.
+     * @param length the number of characters in the parameter data.
      * @throws SQLException if parameterName does not correspond to a named
-     *                      parameter; if the length specified is less than zero;
-     *                      a database access error occurs or
-     *                      this method is called on a closed <code>CallableStatement</code>
-     * @throws SQLFeatureNotSupportedException
-     *                      if the JDBC driver does not support
-     *                      this method
+     * parameter; if the length specified is less than zero; a database access error
+     * occurs or this method is called on a closed <code>CallableStatement</code>
+     * @throws SQLFeatureNotSupportedException if the JDBC driver does not support
+     * this method
      * @since 1.6
      */
+    @Override
     public void setClob(String parameterName, Reader reader, long length) throws SQLException {
         callableStatement.setClob(parameterName, reader, length);
     }
 
     /**
-     * Sets the designated parameter to a <code>Reader</code> object.
-     * This method differs from the <code>setCharacterStream (int, Reader)</code> method
-     * because it informs the driver that the parameter value should be sent to
-     * the server as a <code>NCLOB</code>.  When the <code>setCharacterStream</code> method is used, the
-     * driver may have to do extra work to determine whether the parameter
-     * data should be send to the server as a <code>LONGNVARCHAR</code> or a <code>NCLOB</code>
-     * <P><B>Note:</B> Consult your JDBC driver documentation to determine if
-     * it might be more efficient to use a version of
-     * <code>setNClob</code> which takes a length parameter.
+     * Sets the designated parameter to a <code>Reader</code> object. This method
+     * differs from the <code>setCharacterStream (int, Reader)</code> method because
+     * it informs the driver that the parameter value should be sent to the server
+     * as a <code>NCLOB</code>. When the <code>setCharacterStream</code> method is
+     * used, the driver may have to do extra work to determine whether the parameter
+     * data should be send to the server as a <code>LONGNVARCHAR</code> or a
+     * <code>NCLOB</code>
+     * <P>
+     * <B>Note:</B> Consult your JDBC driver documentation to determine if it might
+     * be more efficient to use a version of <code>setNClob</code> which takes a
+     * length parameter.
      *
      * @param parameterName the name of the parameter
-     * @param reader        An object that contains the data to set the parameter value to.
+     * @param reader An object that contains the data to set the parameter value to.
      * @throws SQLException if parameterName does not correspond to a named
-     *                      parameter; if the driver does not support national character sets;
-     *                      if the driver can detect that a data conversion
-     *                      error could occur;  if a database access error occurs or
-     *                      this method is called on a closed <code>CallableStatement</code>
-     * @throws SQLFeatureNotSupportedException
-     *                      if the JDBC driver does not support this method
+     * parameter; if the driver does not support national character sets; if the
+     * driver can detect that a data conversion error could occur; if a database
+     * access error occurs or this method is called on a closed
+     * <code>CallableStatement</code>
+     * @throws SQLFeatureNotSupportedException if the JDBC driver does not support
+     * this method
      * @since 1.6
      */
+    @Override
     public void setNClob(String parameterName, Reader reader) throws SQLException {
         callableStatement.setNClob(parameterName, reader);
     }
 
     /**
-     * Sets the designated parameter to a <code>Reader</code> object.  The <code>reader</code> must contain  the number
-     * of characters specified by length otherwise a <code>SQLException</code> will be
-     * generated when the <code>CallableStatement</code> is executed.
-     * This method differs from the <code>setCharacterStream (int, Reader, int)</code> method
-     * because it informs the driver that the parameter value should be sent to
-     * the server as a <code>NCLOB</code>.  When the <code>setCharacterStream</code> method is used, the
-     * driver may have to do extra work to determine whether the parameter
-     * data should be send to the server as a <code>LONGNVARCHAR</code> or a <code>NCLOB</code>
+     * Sets the designated parameter to a <code>Reader</code> object. The
+     * <code>reader</code> must contain the number of characters specified by length
+     * otherwise a <code>SQLException</code> will be generated when the
+     * <code>CallableStatement</code> is executed. This method differs from the
+     * <code>setCharacterStream (int, Reader, int)</code> method because it informs
+     * the driver that the parameter value should be sent to the server as a
+     * <code>NCLOB</code>. When the <code>setCharacterStream</code> method is used,
+     * the driver may have to do extra work to determine whether the parameter data
+     * should be send to the server as a <code>LONGNVARCHAR</code> or a
+     * <code>NCLOB</code>
      *
      * @param parameterName the name of the parameter to be set
-     * @param reader        An object that contains the data to set the parameter value to.
-     * @param length        the number of characters in the parameter data.
+     * @param reader An object that contains the data to set the parameter value to.
+     * @param length the number of characters in the parameter data.
      * @throws SQLException if parameterName does not correspond to a named
-     *                      parameter; if the length specified is less than zero;
-     *                      if the driver does not support national
-     *                      character sets;  if the driver can detect that a data conversion
-     *                      error could occur; if a database access error occurs or
-     *                      this method is called on a closed <code>CallableStatement</code>
-     * @throws SQLFeatureNotSupportedException
-     *                      if the JDBC driver does not support
-     *                      this method
+     * parameter; if the length specified is less than zero; if the driver does not
+     * support national character sets; if the driver can detect that a data
+     * conversion error could occur; if a database access error occurs or this
+     * method is called on a closed <code>CallableStatement</code>
+     * @throws SQLFeatureNotSupportedException if the JDBC driver does not support
+     * this method
      * @since 1.6
      */
+    @Override
     public void setNClob(String parameterName, Reader reader, long length) throws SQLException {
         callableStatement.setNClob(parameterName, reader, length);
     }
 
     /**
-     * Sets the designated parameter to the given <code>String</code> object.
-     * The driver converts this to a SQL <code>NCHAR</code> or
-     * <code>NVARCHAR</code> or <code>LONGNVARCHAR</code>
+     * Sets the designated parameter to the given <code>String</code> object. The
+     * driver converts this to a SQL <code>NCHAR</code> or <code>NVARCHAR</code> or
+     * <code>LONGNVARCHAR</code>
      *
      * @param parameterName the name of the parameter to be set
-     * @param value         the parameter value
+     * @param value the parameter value
      * @throws SQLException if parameterName does not correspond to a named
-     *                      parameter; if the driver does not support national
-     *                      character sets;  if the driver can detect that a data conversion
-     *                      error could occur; if a database access error occurs or
-     *                      this method is called on a closed <code>CallableStatement</code>
-     * @throws SQLFeatureNotSupportedException
-     *                      if the JDBC driver does not support
-     *                      this method
+     * parameter; if the driver does not support national character sets; if the
+     * driver can detect that a data conversion error could occur; if a database
+     * access error occurs or this method is called on a closed
+     * <code>CallableStatement</code>
+     * @throws SQLFeatureNotSupportedException if the JDBC driver does not support
+     * this method
      * @since 1.6
      */
+    @Override
     public void setNString(String parameterName, String value) throws SQLException {
         callableStatement.setNString(parameterName, value);
     }
 
     /**
-     * Sets the designated parameter to the given <code>java.sql.RowId</code> object. The
-     * driver converts this to a SQL <code>ROWID</code> when it sends it to the
-     * database.
+     * Sets the designated parameter to the given <code>java.sql.RowId</code>
+     * object. The driver converts this to a SQL <code>ROWID</code> when it sends it
+     * to the database.
      *
      * @param parameterName the name of the parameter
-     * @param x             the parameter value
+     * @param x the parameter value
      * @throws SQLException if parameterName does not correspond to a named
-     *                      parameter; if a database access error occurs or
-     *                      this method is called on a closed <code>CallableStatement</code>
-     * @throws SQLFeatureNotSupportedException
-     *                      if the JDBC driver does not support
-     *                      this method
+     * parameter; if a database access error occurs or this method is called on a
+     * closed <code>CallableStatement</code>
+     * @throws SQLFeatureNotSupportedException if the JDBC driver does not support
+     * this method
      * @since 1.6
      */
+    @Override
     public void setRowId(String parameterName, RowId x) throws SQLException {
         callableStatement.setRowId(parameterName, x);
     }
 
     /**
-     * Sets the designated parameter to the given <code>java.sql.SQLXML</code> object. The driver converts this to an
-     * <code>SQL XML</code> value when it sends it to the database.
+     * Sets the designated parameter to the given <code>java.sql.SQLXML</code>
+     * object. The driver converts this to an <code>SQL XML</code> value when it
+     * sends it to the database.
      *
      * @param parameterName the name of the parameter
-     * @param xmlObject     a <code>SQLXML</code> object that maps an <code>SQL XML</code> value
+     * @param xmlObject a <code>SQLXML</code> object that maps an
+     * <code>SQL XML</code> value
      * @throws SQLException if parameterName does not correspond to a named
-     *                      parameter; if a database access error occurs;
-     *                      this method is called on a closed <code>CallableStatement</code> or
-     *                      the <code>java.xml.transform.Result</code>,
-     *                      <code>Writer</code> or <code>OutputStream</code> has not been closed for the <code>SQLXML</code> object
-     * @throws SQLFeatureNotSupportedException
-     *                      if the JDBC driver does not support
-     *                      this method
+     * parameter; if a database access error occurs; this method is called on a
+     * closed <code>CallableStatement</code> or the
+     * <code>java.xml.transform.Result</code>, <code>Writer</code> or
+     * <code>OutputStream</code> has not been closed for the <code>SQLXML</code>
+     * object
+     * @throws SQLFeatureNotSupportedException if the JDBC driver does not support
+     * this method
      * @since 1.6
      */
+    @Override
     public void setSQLXML(String parameterName, SQLXML xmlObject) throws SQLException {
         callableStatement.setSQLXML(parameterName, xmlObject);
     }
 
     /**
-     * Sets the designated parameter to the given input stream.
-     * When a very large ASCII value is input to a <code>LONGVARCHAR</code>
-     * parameter, it may be more practical to send it via a
-     * <code>java.io.InputStream</code>. Data will be read from the stream
-     * as needed until end-of-file is reached.  The JDBC driver will
-     * do any necessary conversion from ASCII to the database char format.
+     * Sets the designated parameter to the given input stream. When a very large
+     * ASCII value is input to a <code>LONGVARCHAR</code> parameter, it may be more
+     * practical to send it via a <code>java.io.InputStream</code>. Data will be
+     * read from the stream as needed until end-of-file is reached. The JDBC driver
+     * will do any necessary conversion from ASCII to the database char format.
      * <p/>
-     * <P><B>Note:</B> This stream object can either be a standard
-     * Java stream object or your own subclass that implements the
-     * standard interface.
-     * <P><B>Note:</B> Consult your JDBC driver documentation to determine if
-     * it might be more efficient to use a version of
-     * <code>setAsciiStream</code> which takes a length parameter.
+     * <P>
+     * <B>Note:</B> This stream object can either be a standard Java stream object
+     * or your own subclass that implements the standard interface.
+     * <P>
+     * <B>Note:</B> Consult your JDBC driver documentation to determine if it might
+     * be more efficient to use a version of <code>setAsciiStream</code> which takes
+     * a length parameter.
      *
      * @param parameterIndex the first parameter is 1, the second is 2, ...
-     * @param x              the Java input stream that contains the ASCII parameter value
+     * @param x the Java input stream that contains the ASCII parameter value
      * @throws SQLException if parameterIndex does not correspond to a parameter
-     *                      marker in the SQL statement; if a database access error occurs or
-     *                      this method is called on a closed <code>PreparedStatement</code>
-     * @throws SQLFeatureNotSupportedException
-     *                      if the JDBC driver does not support this method
+     * marker in the SQL statement; if a database access error occurs or this method
+     * is called on a closed <code>PreparedStatement</code>
+     * @throws SQLFeatureNotSupportedException if the JDBC driver does not support
+     * this method
      * @since 1.6
      */
+    @Override
     public void setAsciiStream(int parameterIndex, InputStream x) throws SQLException {
         callableStatement.setAsciiStream(parameterIndex, x);
     }
 
     /**
-     * Sets the designated parameter to the given input stream, which will have
-     * the specified number of bytes.
-     * When a very large ASCII value is input to a <code>LONGVARCHAR</code>
-     * parameter, it may be more practical to send it via a
-     * <code>java.io.InputStream</code>. Data will be read from the stream
-     * as needed until end-of-file is reached.  The JDBC driver will
-     * do any necessary conversion from ASCII to the database char format.
+     * Sets the designated parameter to the given input stream, which will have the
+     * specified number of bytes. When a very large ASCII value is input to a
+     * <code>LONGVARCHAR</code> parameter, it may be more practical to send it via a
+     * <code>java.io.InputStream</code>. Data will be read from the stream as needed
+     * until end-of-file is reached. The JDBC driver will do any necessary
+     * conversion from ASCII to the database char format.
      * <p/>
-     * <P><B>Note:</B> This stream object can either be a standard
-     * Java stream object or your own subclass that implements the
-     * standard interface.
+     * <P>
+     * <B>Note:</B> This stream object can either be a standard Java stream object
+     * or your own subclass that implements the standard interface.
      *
      * @param parameterIndex the first parameter is 1, the second is 2, ...
-     * @param x              the Java input stream that contains the ASCII parameter value
-     * @param length         the number of bytes in the stream
+     * @param x the Java input stream that contains the ASCII parameter value
+     * @param length the number of bytes in the stream
      * @throws SQLException if parameterIndex does not correspond to a parameter
-     *                      marker in the SQL statement; if a database access error occurs or
-     *                      this method is called on a closed <code>PreparedStatement</code>
+     * marker in the SQL statement; if a database access error occurs or this method
+     * is called on a closed <code>PreparedStatement</code>
      * @since 1.6
      */
+    @Override
     public void setAsciiStream(int parameterIndex, InputStream x, long length) throws SQLException {
         callableStatement.setAsciiStream(parameterIndex, x, length);
     }
 
     /**
-     * Sets the designated parameter to the given input stream.
-     * When a very large binary value is input to a <code>LONGVARBINARY</code>
-     * parameter, it may be more practical to send it via a
-     * <code>java.io.InputStream</code> object. The data will be read from the
-     * stream as needed until end-of-file is reached.
+     * Sets the designated parameter to the given input stream. When a very large
+     * binary value is input to a <code>LONGVARBINARY</code> parameter, it may be
+     * more practical to send it via a <code>java.io.InputStream</code> object. The
+     * data will be read from the stream as needed until end-of-file is reached.
      * <p/>
-     * <P><B>Note:</B> This stream object can either be a standard
-     * Java stream object or your own subclass that implements the
-     * standard interface.
-     * <P><B>Note:</B> Consult your JDBC driver documentation to determine if
-     * it might be more efficient to use a version of
-     * <code>setBinaryStream</code> which takes a length parameter.
+     * <P>
+     * <B>Note:</B> This stream object can either be a standard Java stream object
+     * or your own subclass that implements the standard interface.
+     * <P>
+     * <B>Note:</B> Consult your JDBC driver documentation to determine if it might
+     * be more efficient to use a version of <code>setBinaryStream</code> which
+     * takes a length parameter.
      *
      * @param parameterIndex the first parameter is 1, the second is 2, ...
-     * @param x              the java input stream which contains the binary parameter value
+     * @param x the java input stream which contains the binary parameter value
      * @throws SQLException if parameterIndex does not correspond to a parameter
-     *                      marker in the SQL statement; if a database access error occurs or
-     *                      this method is called on a closed <code>PreparedStatement</code>
-     * @throws SQLFeatureNotSupportedException
-     *                      if the JDBC driver does not support this method
+     * marker in the SQL statement; if a database access error occurs or this method
+     * is called on a closed <code>PreparedStatement</code>
+     * @throws SQLFeatureNotSupportedException if the JDBC driver does not support
+     * this method
      * @since 1.6
      */
+    @Override
     public void setBinaryStream(int parameterIndex, InputStream x) throws SQLException {
         callableStatement.setBinaryStream(parameterIndex, x);
     }
 
     /**
-     * Sets the designated parameter to the given input stream, which will have
-     * the specified number of bytes.
-     * When a very large binary value is input to a <code>LONGVARBINARY</code>
-     * parameter, it may be more practical to send it via a
-     * <code>java.io.InputStream</code> object. The data will be read from the
+     * Sets the designated parameter to the given input stream, which will have the
+     * specified number of bytes. When a very large binary value is input to a
+     * <code>LONGVARBINARY</code> parameter, it may be more practical to send it via
+     * a <code>java.io.InputStream</code> object. The data will be read from the
      * stream as needed until end-of-file is reached.
      * <p/>
-     * <P><B>Note:</B> This stream object can either be a standard
-     * Java stream object or your own subclass that implements the
-     * standard interface.
+     * <P>
+     * <B>Note:</B> This stream object can either be a standard Java stream object
+     * or your own subclass that implements the standard interface.
      *
      * @param parameterIndex the first parameter is 1, the second is 2, ...
-     * @param x              the java input stream which contains the binary parameter value
-     * @param length         the number of bytes in the stream
+     * @param x the java input stream which contains the binary parameter value
+     * @param length the number of bytes in the stream
      * @throws SQLException if parameterIndex does not correspond to a parameter
-     *                      marker in the SQL statement; if a database access error occurs or
-     *                      this method is called on a closed <code>PreparedStatement</code>
+     * marker in the SQL statement; if a database access error occurs or this method
+     * is called on a closed <code>PreparedStatement</code>
      * @since 1.6
      */
+    @Override
     public void setBinaryStream(int parameterIndex, InputStream x, long length) throws SQLException {
         callableStatement.setBinaryStream(parameterIndex, x, length);
     }
 
     /**
-     * Sets the designated parameter to a <code>InputStream</code> object.
-     * This method differs from the <code>setBinaryStream (int, InputStream)</code>
-     * method because it informs the driver that the parameter value should be
-     * sent to the server as a <code>BLOB</code>.  When the <code>setBinaryStream</code> method is used,
-     * the driver may have to do extra work to determine whether the parameter
-     * data should be sent to the server as a <code>LONGVARBINARY</code> or a <code>BLOB</code>
+     * Sets the designated parameter to a <code>InputStream</code> object. This
+     * method differs from the <code>setBinaryStream (int, InputStream)</code>
+     * method because it informs the driver that the parameter value should be sent
+     * to the server as a <code>BLOB</code>. When the <code>setBinaryStream</code>
+     * method is used, the driver may have to do extra work to determine whether the
+     * parameter data should be sent to the server as a <code>LONGVARBINARY</code>
+     * or a <code>BLOB</code>
      * <p/>
-     * <P><B>Note:</B> Consult your JDBC driver documentation to determine if
-     * it might be more efficient to use a version of
-     * <code>setBlob</code> which takes a length parameter.
+     * <P>
+     * <B>Note:</B> Consult your JDBC driver documentation to determine if it might
+     * be more efficient to use a version of <code>setBlob</code> which takes a
+     * length parameter.
      *
-     * @param parameterIndex index of the first parameter is 1,
-     *                       the second is 2, ...
-     * @param inputStream    An object that contains the data to set the parameter
-     *                       value to.
+     * @param parameterIndex index of the first parameter is 1, the second is 2, ...
+     * @param inputStream An object that contains the data to set the parameter
+     * value to.
      * @throws SQLException if parameterIndex does not correspond to a parameter
-     *                      marker in the SQL statement; if a database access error occurs;
-     *                      this method is called on a closed <code>PreparedStatement</code> or
-     *                      if parameterIndex does not correspond
-     *                      to a parameter marker in the SQL statement,
-     * @throws SQLFeatureNotSupportedException
-     *                      if the JDBC driver does not support this method
+     * marker in the SQL statement; if a database access error occurs; this method
+     * is called on a closed <code>PreparedStatement</code> or if parameterIndex
+     * does not correspond to a parameter marker in the SQL statement,
+     * @throws SQLFeatureNotSupportedException if the JDBC driver does not support
+     * this method
      * @since 1.6
      */
+    @Override
     public void setBlob(int parameterIndex, InputStream inputStream) throws SQLException {
         callableStatement.setBlob(parameterIndex, inputStream);
     }
 
     /**
-     * Sets the designated parameter to a <code>InputStream</code> object.  The inputstream must contain  the number
-     * of characters specified by length otherwise a <code>SQLException</code> will be
-     * generated when the <code>PreparedStatement</code> is executed.
-     * This method differs from the <code>setBinaryStream (int, InputStream, int)</code>
-     * method because it informs the driver that the parameter value should be
-     * sent to the server as a <code>BLOB</code>.  When the <code>setBinaryStream</code> method is used,
-     * the driver may have to do extra work to determine whether the parameter
-     * data should be sent to the server as a <code>LONGVARBINARY</code> or a <code>BLOB</code>
+     * Sets the designated parameter to a <code>InputStream</code> object. The
+     * inputstream must contain the number of characters specified by length
+     * otherwise a <code>SQLException</code> will be generated when the
+     * <code>PreparedStatement</code> is executed. This method differs from the
+     * <code>setBinaryStream (int, InputStream, int)</code> method because it
+     * informs the driver that the parameter value should be sent to the server as a
+     * <code>BLOB</code>. When the <code>setBinaryStream</code> method is used, the
+     * driver may have to do extra work to determine whether the parameter data
+     * should be sent to the server as a <code>LONGVARBINARY</code> or a
+     * <code>BLOB</code>
      *
-     * @param parameterIndex index of the first parameter is 1,
-     *                       the second is 2, ...
-     * @param inputStream    An object that contains the data to set the parameter
-     *                       value to.
-     * @param length         the number of bytes in the parameter data.
+     * @param parameterIndex index of the first parameter is 1, the second is 2, ...
+     * @param inputStream An object that contains the data to set the parameter
+     * value to.
+     * @param length the number of bytes in the parameter data.
      * @throws SQLException if parameterIndex does not correspond to a parameter
-     *                      marker in the SQL statement; if a database access error occurs;
-     *                      this method is called on a closed <code>PreparedStatement</code>;
-     *                      if the length specified
-     *                      is less than zero or if the number of bytes in the inputstream does not match
-     *                      the specfied length.
-     * @throws SQLFeatureNotSupportedException
-     *                      if the JDBC driver does not support this method
+     * marker in the SQL statement; if a database access error occurs; this method
+     * is called on a closed <code>PreparedStatement</code>; if the length specified
+     * is less than zero or if the number of bytes in the inputstream does not match
+     * the specfied length.
+     * @throws SQLFeatureNotSupportedException if the JDBC driver does not support
+     * this method
      * @since 1.6
      */
+    @Override
     public void setBlob(int parameterIndex, InputStream inputStream, long length) throws SQLException {
         callableStatement.setBlob(parameterIndex, inputStream, length);
     }
 
     /**
-     * Sets the designated parameter to the given <code>Reader</code>
-     * object.
-     * When a very large UNICODE value is input to a <code>LONGVARCHAR</code>
-     * parameter, it may be more practical to send it via a
-     * <code>java.io.Reader</code> object. The data will be read from the stream
-     * as needed until end-of-file is reached.  The JDBC driver will
-     * do any necessary conversion from UNICODE to the database char format.
+     * Sets the designated parameter to the given <code>Reader</code> object. When a
+     * very large UNICODE value is input to a <code>LONGVARCHAR</code> parameter, it
+     * may be more practical to send it via a <code>java.io.Reader</code> object.
+     * The data will be read from the stream as needed until end-of-file is reached.
+     * The JDBC driver will do any necessary conversion from UNICODE to the database
+     * char format.
      * <p/>
-     * <P><B>Note:</B> This stream object can either be a standard
-     * Java stream object or your own subclass that implements the
-     * standard interface.
-     * <P><B>Note:</B> Consult your JDBC driver documentation to determine if
-     * it might be more efficient to use a version of
-     * <code>setCharacterStream</code> which takes a length parameter.
+     * <P>
+     * <B>Note:</B> This stream object can either be a standard Java stream object
+     * or your own subclass that implements the standard interface.
+     * <P>
+     * <B>Note:</B> Consult your JDBC driver documentation to determine if it might
+     * be more efficient to use a version of <code>setCharacterStream</code> which
+     * takes a length parameter.
      *
      * @param parameterIndex the first parameter is 1, the second is 2, ...
-     * @param reader         the <code>java.io.Reader</code> object that contains the
-     *                       Unicode data
+     * @param reader the <code>java.io.Reader</code> object that contains the
+     * Unicode data
      * @throws SQLException if parameterIndex does not correspond to a parameter
-     *                      marker in the SQL statement; if a database access error occurs or
-     *                      this method is called on a closed <code>PreparedStatement</code>
-     * @throws SQLFeatureNotSupportedException
-     *                      if the JDBC driver does not support this method
+     * marker in the SQL statement; if a database access error occurs or this method
+     * is called on a closed <code>PreparedStatement</code>
+     * @throws SQLFeatureNotSupportedException if the JDBC driver does not support
+     * this method
      * @since 1.6
      */
+    @Override
     public void setCharacterStream(int parameterIndex, Reader reader) throws SQLException {
         callableStatement.setCharacterStream(parameterIndex, reader);
     }
 
     /**
-     * Sets the designated parameter to the given <code>Reader</code>
-     * object, which is the given number of characters long.
-     * When a very large UNICODE value is input to a <code>LONGVARCHAR</code>
-     * parameter, it may be more practical to send it via a
-     * <code>java.io.Reader</code> object. The data will be read from the stream
-     * as needed until end-of-file is reached.  The JDBC driver will
-     * do any necessary conversion from UNICODE to the database char format.
+     * Sets the designated parameter to the given <code>Reader</code> object, which
+     * is the given number of characters long. When a very large UNICODE value is
+     * input to a <code>LONGVARCHAR</code> parameter, it may be more practical to
+     * send it via a <code>java.io.Reader</code> object. The data will be read from
+     * the stream as needed until end-of-file is reached. The JDBC driver will do
+     * any necessary conversion from UNICODE to the database char format.
      * <p/>
-     * <P><B>Note:</B> This stream object can either be a standard
-     * Java stream object or your own subclass that implements the
-     * standard interface.
+     * <P>
+     * <B>Note:</B> This stream object can either be a standard Java stream object
+     * or your own subclass that implements the standard interface.
      *
      * @param parameterIndex the first parameter is 1, the second is 2, ...
-     * @param reader         the <code>java.io.Reader</code> object that contains the
-     *                       Unicode data
-     * @param length         the number of characters in the stream
+     * @param reader the <code>java.io.Reader</code> object that contains the
+     * Unicode data
+     * @param length the number of characters in the stream
      * @throws SQLException if parameterIndex does not correspond to a parameter
-     *                      marker in the SQL statement; if a database access error occurs or
-     *                      this method is called on a closed <code>PreparedStatement</code>
+     * marker in the SQL statement; if a database access error occurs or this method
+     * is called on a closed <code>PreparedStatement</code>
      * @since 1.6
      */
+    @Override
     public void setCharacterStream(int parameterIndex, Reader reader, long length) throws SQLException {
         callableStatement.setCharacterStream(parameterIndex, reader, length);
     }
 
     /**
-     * Sets the designated parameter to a <code>Reader</code> object.
-     * This method differs from the <code>setCharacterStream (int, Reader)</code> method
-     * because it informs the driver that the parameter value should be sent to
-     * the server as a <code>CLOB</code>.  When the <code>setCharacterStream</code> method is used, the
-     * driver may have to do extra work to determine whether the parameter
-     * data should be sent to the server as a <code>LONGVARCHAR</code> or a <code>CLOB</code>
+     * Sets the designated parameter to a <code>Reader</code> object. This method
+     * differs from the <code>setCharacterStream (int, Reader)</code> method because
+     * it informs the driver that the parameter value should be sent to the server
+     * as a <code>CLOB</code>. When the <code>setCharacterStream</code> method is
+     * used, the driver may have to do extra work to determine whether the parameter
+     * data should be sent to the server as a <code>LONGVARCHAR</code> or a
+     * <code>CLOB</code>
      * <p/>
-     * <P><B>Note:</B> Consult your JDBC driver documentation to determine if
-     * it might be more efficient to use a version of
-     * <code>setClob</code> which takes a length parameter.
+     * <P>
+     * <B>Note:</B> Consult your JDBC driver documentation to determine if it might
+     * be more efficient to use a version of <code>setClob</code> which takes a
+     * length parameter.
      *
      * @param parameterIndex index of the first parameter is 1, the second is 2, ...
-     * @param reader         An object that contains the data to set the parameter value to.
+     * @param reader An object that contains the data to set the parameter value to.
      * @throws SQLException if parameterIndex does not correspond to a parameter
-     *                      marker in the SQL statement; if a database access error occurs; this method is called on
-     *                      a closed <code>PreparedStatement</code>or if parameterIndex does not correspond to a parameter
-     *                      marker in the SQL statement
-     * @throws SQLFeatureNotSupportedException
-     *                      if the JDBC driver does not support this method
+     * marker in the SQL statement; if a database access error occurs; this method
+     * is called on a closed <code>PreparedStatement</code>or if parameterIndex does
+     * not correspond to a parameter marker in the SQL statement
+     * @throws SQLFeatureNotSupportedException if the JDBC driver does not support
+     * this method
      * @since 1.6
      */
+    @Override
     public void setClob(int parameterIndex, Reader reader) throws SQLException {
         callableStatement.setClob(parameterIndex, reader);
     }
 
     /**
-     * Sets the designated parameter to a <code>Reader</code> object.  The reader must contain  the number
-     * of characters specified by length otherwise a <code>SQLException</code> will be
-     * generated when the <code>PreparedStatement</code> is executed.
-     * This method differs from the <code>setCharacterStream (int, Reader, int)</code> method
-     * because it informs the driver that the parameter value should be sent to
-     * the server as a <code>CLOB</code>.  When the <code>setCharacterStream</code> method is used, the
-     * driver may have to do extra work to determine whether the parameter
-     * data should be sent to the server as a <code>LONGVARCHAR</code> or a <code>CLOB</code>
+     * Sets the designated parameter to a <code>Reader</code> object. The reader
+     * must contain the number of characters specified by length otherwise a
+     * <code>SQLException</code> will be generated when the
+     * <code>PreparedStatement</code> is executed. This method differs from the
+     * <code>setCharacterStream (int, Reader, int)</code> method because it informs
+     * the driver that the parameter value should be sent to the server as a
+     * <code>CLOB</code>. When the <code>setCharacterStream</code> method is used,
+     * the driver may have to do extra work to determine whether the parameter data
+     * should be sent to the server as a <code>LONGVARCHAR</code> or a
+     * <code>CLOB</code>
      *
      * @param parameterIndex index of the first parameter is 1, the second is 2, ...
-     * @param reader         An object that contains the data to set the parameter value to.
-     * @param length         the number of characters in the parameter data.
+     * @param reader An object that contains the data to set the parameter value to.
+     * @param length the number of characters in the parameter data.
      * @throws SQLException if parameterIndex does not correspond to a parameter
-     *                      marker in the SQL statement; if a database access error occurs; this method is called on
-     *                      a closed <code>PreparedStatement</code> or if the length specified is less than zero.
-     * @throws SQLFeatureNotSupportedException
-     *                      if the JDBC driver does not support this method
+     * marker in the SQL statement; if a database access error occurs; this method
+     * is called on a closed <code>PreparedStatement</code> or if the length
+     * specified is less than zero.
+     * @throws SQLFeatureNotSupportedException if the JDBC driver does not support
+     * this method
      * @since 1.6
      */
+    @Override
     public void setClob(int parameterIndex, Reader reader, long length) throws SQLException {
         callableStatement.setClob(parameterIndex, reader, length);
     }
 
     /**
      * Sets the designated parameter to a <code>Reader</code> object. The
-     * <code>Reader</code> reads the data till end-of-file is reached. The
-     * driver does the necessary conversion from Java character format to
-     * the national character set in the database.
+     * <code>Reader</code> reads the data till end-of-file is reached. The driver
+     * does the necessary conversion from Java character format to the national
+     * character set in the database.
      * <p/>
-     * <P><B>Note:</B> This stream object can either be a standard
-     * Java stream object or your own subclass that implements the
-     * standard interface.
-     * <P><B>Note:</B> Consult your JDBC driver documentation to determine if
-     * it might be more efficient to use a version of
-     * <code>setNCharacterStream</code> which takes a length parameter.
+     * <P>
+     * <B>Note:</B> This stream object can either be a standard Java stream object
+     * or your own subclass that implements the standard interface.
+     * <P>
+     * <B>Note:</B> Consult your JDBC driver documentation to determine if it might
+     * be more efficient to use a version of <code>setNCharacterStream</code> which
+     * takes a length parameter.
      *
      * @param parameterIndex of the first parameter is 1, the second is 2, ...
-     * @param value          the parameter value
+     * @param value the parameter value
      * @throws SQLException if parameterIndex does not correspond to a parameter
-     *                      marker in the SQL statement; if the driver does not support national
-     *                      character sets;  if the driver can detect that a data conversion
-     *                      error could occur; if a database access error occurs; or
-     *                      this method is called on a closed <code>PreparedStatement</code>
-     * @throws SQLFeatureNotSupportedException
-     *                      if the JDBC driver does not support this method
+     * marker in the SQL statement; if the driver does not support national
+     * character sets; if the driver can detect that a data conversion error could
+     * occur; if a database access error occurs; or this method is called on a
+     * closed <code>PreparedStatement</code>
+     * @throws SQLFeatureNotSupportedException if the JDBC driver does not support
+     * this method
      * @since 1.6
      */
+    @Override
     public void setNCharacterStream(int parameterIndex, Reader value) throws SQLException {
         callableStatement.setNCharacterStream(parameterIndex, value);
     }
 
     /**
      * Sets the designated parameter to a <code>Reader</code> object. The
-     * <code>Reader</code> reads the data till end-of-file is reached. The
-     * driver does the necessary conversion from Java character format to
-     * the national character set in the database.
+     * <code>Reader</code> reads the data till end-of-file is reached. The driver
+     * does the necessary conversion from Java character format to the national
+     * character set in the database.
      *
      * @param parameterIndex of the first parameter is 1, the second is 2, ...
-     * @param value          the parameter value
-     * @param length         the number of characters in the parameter data.
+     * @param value the parameter value
+     * @param length the number of characters in the parameter data.
      * @throws SQLException if parameterIndex does not correspond to a parameter
-     *                      marker in the SQL statement; if the driver does not support national
-     *                      character sets;  if the driver can detect that a data conversion
-     *                      error could occur; if a database access error occurs; or
-     *                      this method is called on a closed <code>PreparedStatement</code>
-     * @throws SQLFeatureNotSupportedException
-     *                      if the JDBC driver does not support this method
+     * marker in the SQL statement; if the driver does not support national
+     * character sets; if the driver can detect that a data conversion error could
+     * occur; if a database access error occurs; or this method is called on a
+     * closed <code>PreparedStatement</code>
+     * @throws SQLFeatureNotSupportedException if the JDBC driver does not support
+     * this method
      * @since 1.6
      */
+    @Override
     public void setNCharacterStream(int parameterIndex, Reader value, long length) throws SQLException {
         callableStatement.setNCharacterStream(parameterIndex, value, length);
     }
 
     /**
-     * Sets the designated parameter to a <code>java.sql.NClob</code> object. The driver converts this to a
-     * SQL <code>NCLOB</code> value when it sends it to the database.
+     * Sets the designated parameter to a <code>java.sql.NClob</code> object. The
+     * driver converts this to a SQL <code>NCLOB</code> value when it sends it to
+     * the database.
      *
      * @param parameterIndex of the first parameter is 1, the second is 2, ...
-     * @param value          the parameter value
+     * @param value the parameter value
      * @throws SQLException if parameterIndex does not correspond to a parameter
-     *                      marker in the SQL statement; if the driver does not support national
-     *                      character sets;  if the driver can detect that a data conversion
-     *                      error could occur; if a database access error occurs; or
-     *                      this method is called on a closed <code>PreparedStatement</code>
-     * @throws SQLFeatureNotSupportedException
-     *                      if the JDBC driver does not support this method
+     * marker in the SQL statement; if the driver does not support national
+     * character sets; if the driver can detect that a data conversion error could
+     * occur; if a database access error occurs; or this method is called on a
+     * closed <code>PreparedStatement</code>
+     * @throws SQLFeatureNotSupportedException if the JDBC driver does not support
+     * this method
      * @since 1.6
      */
+    @Override
     public void setNClob(int parameterIndex, NClob value) throws SQLException {
         callableStatement.setNClob(parameterIndex, value);
     }
 
     /**
-     * Sets the designated parameter to a <code>Reader</code> object.
-     * This method differs from the <code>setCharacterStream (int, Reader)</code> method
-     * because it informs the driver that the parameter value should be sent to
-     * the server as a <code>NCLOB</code>.  When the <code>setCharacterStream</code> method is used, the
-     * driver may have to do extra work to determine whether the parameter
-     * data should be sent to the server as a <code>LONGNVARCHAR</code> or a <code>NCLOB</code>
-     * <P><B>Note:</B> Consult your JDBC driver documentation to determine if
-     * it might be more efficient to use a version of
-     * <code>setNClob</code> which takes a length parameter.
+     * Sets the designated parameter to a <code>Reader</code> object. This method
+     * differs from the <code>setCharacterStream (int, Reader)</code> method because
+     * it informs the driver that the parameter value should be sent to the server
+     * as a <code>NCLOB</code>. When the <code>setCharacterStream</code> method is
+     * used, the driver may have to do extra work to determine whether the parameter
+     * data should be sent to the server as a <code>LONGNVARCHAR</code> or a
+     * <code>NCLOB</code>
+     * <P>
+     * <B>Note:</B> Consult your JDBC driver documentation to determine if it might
+     * be more efficient to use a version of <code>setNClob</code> which takes a
+     * length parameter.
      *
      * @param parameterIndex index of the first parameter is 1, the second is 2, ...
-     * @param reader         An object that contains the data to set the parameter value to.
+     * @param reader An object that contains the data to set the parameter value to.
      * @throws SQLException if parameterIndex does not correspond to a parameter
-     *                      marker in the SQL statement;
-     *                      if the driver does not support national character sets;
-     *                      if the driver can detect that a data conversion
-     *                      error could occur;  if a database access error occurs or
-     *                      this method is called on a closed <code>PreparedStatement</code>
-     * @throws SQLFeatureNotSupportedException
-     *                      if the JDBC driver does not support this method
+     * marker in the SQL statement; if the driver does not support national
+     * character sets; if the driver can detect that a data conversion error could
+     * occur; if a database access error occurs or this method is called on a closed
+     * <code>PreparedStatement</code>
+     * @throws SQLFeatureNotSupportedException if the JDBC driver does not support
+     * this method
      * @since 1.6
      */
+    @Override
     public void setNClob(int parameterIndex, Reader reader) throws SQLException {
         callableStatement.setNClob(parameterIndex, reader);
     }
 
     /**
-     * Sets the designated parameter to a <code>Reader</code> object.  The reader must contain  the number
-     * of characters specified by length otherwise a <code>SQLException</code> will be
-     * generated when the <code>PreparedStatement</code> is executed.
-     * This method differs from the <code>setCharacterStream (int, Reader, int)</code> method
-     * because it informs the driver that the parameter value should be sent to
-     * the server as a <code>NCLOB</code>.  When the <code>setCharacterStream</code> method is used, the
-     * driver may have to do extra work to determine whether the parameter
-     * data should be sent to the server as a <code>LONGNVARCHAR</code> or a <code>NCLOB</code>
+     * Sets the designated parameter to a <code>Reader</code> object. The reader
+     * must contain the number of characters specified by length otherwise a
+     * <code>SQLException</code> will be generated when the
+     * <code>PreparedStatement</code> is executed. This method differs from the
+     * <code>setCharacterStream (int, Reader, int)</code> method because it informs
+     * the driver that the parameter value should be sent to the server as a
+     * <code>NCLOB</code>. When the <code>setCharacterStream</code> method is used,
+     * the driver may have to do extra work to determine whether the parameter data
+     * should be sent to the server as a <code>LONGNVARCHAR</code> or a
+     * <code>NCLOB</code>
      *
      * @param parameterIndex index of the first parameter is 1, the second is 2, ...
-     * @param reader         An object that contains the data to set the parameter value to.
-     * @param length         the number of characters in the parameter data.
+     * @param reader An object that contains the data to set the parameter value to.
+     * @param length the number of characters in the parameter data.
      * @throws SQLException if parameterIndex does not correspond to a parameter
-     *                      marker in the SQL statement; if the length specified is less than zero;
-     *                      if the driver does not support national character sets;
-     *                      if the driver can detect that a data conversion
-     *                      error could occur;  if a database access error occurs or
-     *                      this method is called on a closed <code>PreparedStatement</code>
-     * @throws SQLFeatureNotSupportedException
-     *                      if the JDBC driver does not support this method
+     * marker in the SQL statement; if the length specified is less than zero; if
+     * the driver does not support national character sets; if the driver can detect
+     * that a data conversion error could occur; if a database access error occurs
+     * or this method is called on a closed <code>PreparedStatement</code>
+     * @throws SQLFeatureNotSupportedException if the JDBC driver does not support
+     * this method
      * @since 1.6
      */
+    @Override
     public void setNClob(int parameterIndex, Reader reader, long length) throws SQLException {
         callableStatement.setNClob(parameterIndex, reader, length);
     }
 
     /**
-     * Sets the designated paramter to the given <code>String</code> object.
-     * The driver converts this to a SQL <code>NCHAR</code> or
-     * <code>NVARCHAR</code> or <code>LONGNVARCHAR</code> value
-     * (depending on the argument's
-     * size relative to the driver's limits on <code>NVARCHAR</code> values)
-     * when it sends it to the database.
+     * Sets the designated paramter to the given <code>String</code> object. The
+     * driver converts this to a SQL <code>NCHAR</code> or <code>NVARCHAR</code> or
+     * <code>LONGNVARCHAR</code> value (depending on the argument's size relative to
+     * the driver's limits on <code>NVARCHAR</code> values) when it sends it to the
+     * database.
      *
      * @param parameterIndex of the first parameter is 1, the second is 2, ...
-     * @param value          the parameter value
+     * @param value the parameter value
      * @throws SQLException if parameterIndex does not correspond to a parameter
-     *                      marker in the SQL statement; if the driver does not support national
-     *                      character sets;  if the driver can detect that a data conversion
-     *                      error could occur; if a database access error occurs; or
-     *                      this method is called on a closed <code>PreparedStatement</code>
-     * @throws SQLFeatureNotSupportedException
-     *                      if the JDBC driver does not support this method
+     * marker in the SQL statement; if the driver does not support national
+     * character sets; if the driver can detect that a data conversion error could
+     * occur; if a database access error occurs; or this method is called on a
+     * closed <code>PreparedStatement</code>
+     * @throws SQLFeatureNotSupportedException if the JDBC driver does not support
+     * this method
      * @since 1.6
      */
+    @Override
     public void setNString(int parameterIndex, String value) throws SQLException {
         callableStatement.setNString(parameterIndex, value);
     }
 
     /**
-     * Sets the designated parameter to the given <code>java.sql.RowId</code> object. The
-     * driver converts this to a SQL <code>ROWID</code> value when it sends it
-     * to the database
+     * Sets the designated parameter to the given <code>java.sql.RowId</code>
+     * object. The driver converts this to a SQL <code>ROWID</code> value when it
+     * sends it to the database
      *
      * @param parameterIndex the first parameter is 1, the second is 2, ...
-     * @param x              the parameter value
+     * @param x the parameter value
      * @throws SQLException if parameterIndex does not correspond to a parameter
-     *                      marker in the SQL statement; if a database access error occurs or
-     *                      this method is called on a closed <code>PreparedStatement</code>
-     * @throws SQLFeatureNotSupportedException
-     *                      if the JDBC driver does not support this method
+     * marker in the SQL statement; if a database access error occurs or this method
+     * is called on a closed <code>PreparedStatement</code>
+     * @throws SQLFeatureNotSupportedException if the JDBC driver does not support
+     * this method
      * @since 1.6
      */
+    @Override
     public void setRowId(int parameterIndex, RowId x) throws SQLException {
         callableStatement.setRowId(parameterIndex, x);
     }
 
     /**
-     * Sets the designated parameter to the given <code>java.sql.SQLXML</code> object.
-     * The driver converts this to an
-     * SQL <code>XML</code> value when it sends it to the database.
+     * Sets the designated parameter to the given <code>java.sql.SQLXML</code>
+     * object. The driver converts this to an SQL <code>XML</code> value when it
+     * sends it to the database.
      * <p/>
      *
      * @param parameterIndex index of the first parameter is 1, the second is 2, ...
-     * @param xmlObject      a <code>SQLXML</code> object that maps an SQL <code>XML</code> value
+     * @param xmlObject a <code>SQLXML</code> object that maps an SQL
+     * <code>XML</code> value
      * @throws SQLException if parameterIndex does not correspond to a parameter
-     *                      marker in the SQL statement; if a database access error occurs;
-     *                      this method is called on a closed <code>PreparedStatement</code>
-     *                      or the <code>java.xml.transform.Result</code>,
-     *                      <code>Writer</code> or <code>OutputStream</code> has not been closed for
-     *                      the <code>SQLXML</code> object
-     * @throws SQLFeatureNotSupportedException
-     *                      if the JDBC driver does not support this method
+     * marker in the SQL statement; if a database access error occurs; this method
+     * is called on a closed <code>PreparedStatement</code> or the
+     * <code>java.xml.transform.Result</code>, <code>Writer</code> or
+     * <code>OutputStream</code> has not been closed for the <code>SQLXML</code>
+     * object
+     * @throws SQLFeatureNotSupportedException if the JDBC driver does not support
+     * this method
      * @since 1.6
      */
+    @Override
     public void setSQLXML(int parameterIndex, SQLXML xmlObject) throws SQLException {
         callableStatement.setSQLXML(parameterIndex, xmlObject);
     }
 
     /**
-     * Retrieves whether this <code>Statement</code> object has been closed. A <code>Statement</code> is closed if the
-     * method close has been called on it, or if it is automatically closed.
+     * Retrieves whether this <code>Statement</code> object has been closed. A
+     * <code>Statement</code> is closed if the method close has been called on it,
+     * or if it is automatically closed.
      *
-     * @return true if this <code>Statement</code> object is closed; false if it is still open
+     * @return true if this <code>Statement</code> object is closed; false if it is
+     * still open
      * @throws SQLException if a database access error occurs
      * @since 1.6
      */
+    @Override
     public boolean isClosed() throws SQLException {
         return callableStatement.isClosed();
     }
 
     /**
-     * Returns a  value indicating whether the <code>Statement</code>
-     * is poolable or not.
+     * Returns a value indicating whether the <code>Statement</code> is poolable or
+     * not.
      * <p/>
      *
      * @throws SQLException if this method is called on a closed
-     *                      <code>Statement</code>
-     *                      <p/>
-     * @return        <code>true</code> if the <code>Statement</code>
-     * is poolable; <code>false</code> otherwise
+     * <code>Statement</code>
+     * <p/>
+     * @return <code>true</code> if the <code>Statement</code> is poolable;
+     * <code>false</code> otherwise
      * <p/>
      * @see java.sql.Statement#setPoolable(boolean) setPoolable(boolean)
      * @since 1.6
-     *        <p/>
+     * <p/>
      */
+    @Override
     public boolean isPoolable() throws SQLException {
         return callableStatement.isPoolable();
     }
 
     /**
-     * Requests that a <code>Statement</code> be pooled or not pooled.  The value
-     * specified is a hint to the statement pool implementation indicating
-     * whether the applicaiton wants the statement to be pooled.  It is up to
-     * the statement pool manager as to whether the hint is used.
+     * Requests that a <code>Statement</code> be pooled or not pooled. The value
+     * specified is a hint to the statement pool implementation indicating whether
+     * the applicaiton wants the statement to be pooled. It is up to the statement
+     * pool manager as to whether the hint is used.
      * <p/>
-     * The poolable value of a statement is applicable to both internal
-     * statement caches implemented by the driver and external statement caches
-     * implemented by application servers and other applications.
+     * The poolable value of a statement is applicable to both internal statement
+     * caches implemented by the driver and external statement caches implemented by
+     * application servers and other applications.
      * <p/>
-     * By default, a <code>Statement</code> is not poolable when created, and
-     * a <code>PreparedStatement</code> and <code>CallableStatement</code>
-     * are poolable when created.
+     * By default, a <code>Statement</code> is not poolable when created, and a
+     * <code>PreparedStatement</code> and <code>CallableStatement</code> are
+     * poolable when created.
      * <p/>
      *
-     * @param poolable requests that the statement be pooled if true and
-     *                 that the statement not be pooled if false
-     *                 <p/>
+     * @param poolable requests that the statement be pooled if true and that the
+     * statement not be pooled if false
+     * <p/>
      * @throws SQLException if this method is called on a closed
-     *                      <code>Statement</code>
-     *                      <p/>
+     * <code>Statement</code>
+     * <p/>
      * @since 1.6
      */
+    @Override
     public void setPoolable(boolean poolable) throws SQLException {
         callableStatement.setPoolable(poolable);
     }
 
     /**
-     * Returns true if this either implements the interface argument or is directly or indirectly a wrapper
-     * for an object that does. Returns false otherwise. If this implements the interface then return true,
-     * else if this is a wrapper then return the result of recursively calling <code>isWrapperFor</code> on the wrapped
-     * object. If this does not implement the interface and is not a wrapper, return false.
-     * This method should be implemented as a low-cost operation compared to <code>unwrap</code> so that
-     * callers can use this method to avoid expensive <code>unwrap</code> calls that may fail. If this method
-     * returns true then calling <code>unwrap</code> with the same argument should succeed.
+     * Returns true if this either implements the interface argument or is directly
+     * or indirectly a wrapper for an object that does. Returns false otherwise. If
+     * this implements the interface then return true, else if this is a wrapper
+     * then return the result of recursively calling <code>isWrapperFor</code> on
+     * the wrapped object. If this does not implement the interface and is not a
+     * wrapper, return false. This method should be implemented as a low-cost
+     * operation compared to <code>unwrap</code> so that callers can use this method
+     * to avoid expensive <code>unwrap</code> calls that may fail. If this method
+     * returns true then calling <code>unwrap</code> with the same argument should
+     * succeed.
      *
      * @param iface a Class defining an interface.
-     * @return true if this implements the interface or directly or indirectly wraps an object that does.
-     * @throws java.sql.SQLException if an error occurs while determining whether this is a wrapper
-     *                               for an object with the given interface.
+     * @return true if this implements the interface or directly or indirectly wraps
+     * an object that does.
+     * @throws java.sql.SQLException if an error occurs while determining whether
+     * this is a wrapper for an object with the given interface.
      * @since 1.6
      */
+    @Override
     public boolean isWrapperFor(Class<?> iface) throws SQLException {
         boolean result;
         if (iface.isInstance(this)) {
@@ -1346,19 +1402,22 @@
      * Returns an object that implements the given interface to allow access to
      * non-standard methods, or standard methods not exposed by the proxy.
      * <p/>
-     * If the receiver implements the interface then the result is the receiver
-     * or a proxy for the receiver. If the receiver is a wrapper
-     * and the wrapped object implements the interface then the result is the
-     * wrapped object or a proxy for the wrapped object. Otherwise return the
-     * the result of calling <code>unwrap</code> recursively on the wrapped object
-     * or a proxy for that result. If the receiver is not a
-     * wrapper and does not implement the interface, then an <code>SQLException</code> is thrown.
+     * If the receiver implements the interface then the result is the receiver or a
+     * proxy for the receiver. If the receiver is a wrapper and the wrapped object
+     * implements the interface then the result is the wrapped object or a proxy for
+     * the wrapped object. Otherwise return the the result of calling
+     * <code>unwrap</code> recursively on the wrapped object or a proxy for that
+     * result. If the receiver is not a wrapper and does not implement the
+     * interface, then an <code>SQLException</code> is thrown.
      *
      * @param iface A Class defining an interface that the result must implement.
-     * @return an object that implements the interface. May be a proxy for the actual implementing object.
-     * @throws java.sql.SQLException If no object found that implements the interface
+     * @return an object that implements the interface. May be a proxy for the
+     * actual implementing object.
+     * @throws java.sql.SQLException If no object found that implements the
+     * interface
      * @since 1.6
      */
+    @Override
     public <T> T unwrap(Class<T> iface) throws SQLException {
         T result = null;
         if (iface.isInstance(this)) {
@@ -1370,15 +1429,16 @@
     }
 
     /**
-     * Executes the SQL query in this <code>PreparedStatement</code> object
-     * and returns the <code>ResultSet</code> object generated by the query.
+     * Executes the SQL query in this <code>PreparedStatement</code> object and
+     * returns the <code>ResultSet</code> object generated by the query.
      *
-     * @return a <code>ResultSet</code> object that contains the data produced by the
-     *         query; never <code>null</code>
-     * @throws SQLException if a database access error occurs;
-     *                      this method is called on a closed  <code>PreparedStatement</code> or the SQL
-     *                      statement does not return a <code>ResultSet</code> object
+     * @return a <code>ResultSet</code> object that contains the data produced by
+     * the query; never <code>null</code>
+     * @throws SQLException if a database access error occurs; this method is called
+     * on a closed <code>PreparedStatement</code> or the SQL statement does not
+     * return a <code>ResultSet</code> object
      */
+    @Override
     public java.sql.ResultSet executeQuery() throws java.sql.SQLException {
         ResultSet rs = callableStatement.executeQuery();
         incrementResultSetReferenceCount();
@@ -1389,17 +1449,16 @@
      * Executes the given SQL statement, which returns a single
      * <code>ResultSet</code> object.
      *
-     * @param sql an SQL statement to be sent to the database, typically a
-     *            static SQL <code>SELECT</code> statement
-     * @return a <code>ResultSet</code> object that contains the data produced
-     *         by the given query; never <code>null</code>
-     * @throws SQLException if a database access error occurs,
-     *                      this method is called on a closed <code>Statement</code> or the given
-     *                      SQL statement produces anything other than a single
-     *                      <code>ResultSet</code> object
+     * @param sql an SQL statement to be sent to the database, typically a static
+     * SQL <code>SELECT</code> statement
+     * @return a <code>ResultSet</code> object that contains the data produced by
+     * the given query; never <code>null</code>
+     * @throws SQLException if a database access error occurs, this method is called
+     * on a closed <code>Statement</code> or the given SQL statement produces
+     * anything other than a single <code>ResultSet</code> object
      */
-    public java.sql.ResultSet executeQuery(String sql) throws
-            java.sql.SQLException {
+    @Override
+    public java.sql.ResultSet executeQuery(String sql) throws java.sql.SQLException {
         ResultSet rs = callableStatement.executeQuery(sql);
         incrementResultSetReferenceCount();
         return new ResultSetWrapper40(this, rs);
@@ -1407,21 +1466,23 @@
 
     /**
      * Retrieves any auto-generated keys created as a result of executing this
-     * <code>Statement</code> object. If this <code>Statement</code> object did
-     * not generate any keys, an empty <code>ResultSet</code>
-     * object is returned.
+     * <code>Statement</code> object. If this <code>Statement</code> object did not
+     * generate any keys, an empty <code>ResultSet</code> object is returned.
      * <p/>
-     * <p><B>Note:</B>If the columns which represent the auto-generated keys were not specified,
-     * the JDBC driver implementation will determine the columns which best represent the auto-generated keys.
+     * <p>
+     * <B>Note:</B>If the columns which represent the auto-generated keys were not
+     * specified, the JDBC driver implementation will determine the columns which
+     * best represent the auto-generated keys.
      *
      * @return a <code>ResultSet</code> object containing the auto-generated key(s)
-     *         generated by the execution of this <code>Statement</code> object
-     * @throws SQLException if a database access error occurs or
-     *                      this method is called on a closed <code>Statement</code>
-     * @throws SQLFeatureNotSupportedException
-     *                      if the JDBC driver does not support this method
+     * generated by the execution of this <code>Statement</code> object
+     * @throws SQLException if a database access error occurs or this method is
+     * called on a closed <code>Statement</code>
+     * @throws SQLFeatureNotSupportedException if the JDBC driver does not support
+     * this method
      * @since 1.4
      */
+    @Override
     public java.sql.ResultSet getGeneratedKeys() throws java.sql.SQLException {
         ResultSet rs = callableStatement.getGeneratedKeys();
         if (rs == null)
@@ -1431,48 +1492,48 @@
     }
 
     /**
-     * Retrieves the current result as a <code>ResultSet</code> object.
-     * This method should be called only once per result.
+     * Retrieves the current result as a <code>ResultSet</code> object. This method
+     * should be called only once per result.
      *
      * @return the current result as a <code>ResultSet</code> object or
-     *         <code>null</code> if the result is an update count or there are no more results
-     * @throws SQLException if a database access error occurs or
-     *                      this method is called on a closed <code>Statement</code>
+     * <code>null</code> if the result is an update count or there are no more
+     * results
+     * @throws SQLException if a database access error occurs or this method is
+     * called on a closed <code>Statement</code>
      * @see #execute
      */
-    public java.sql.ResultSet getResultSet() throws java.sql.SQLException {
+    @Override
+    public ResultSet getResultSet() throws java.sql.SQLException {
         ResultSet rs = callableStatement.getResultSet();
-        if (rs == null)
+        if (rs == null) {
             return null;
+        }
+
         incrementResultSetReferenceCount();
         return new ResultSetWrapper40(this, rs);
     }
 
+    @Override
+    @SuppressWarnings("unchecked")
     public <T> T getObject(int parameterIndex, Class<T> type) throws SQLException {
-        if (DataSourceObjectBuilder.isJDBC41()) {
-            Class<?>[] valueTypes = new Class<?>[]{Integer.TYPE, Class.class};
-            try {
-                return (T) executor.invokeMethod(jdbcStatement, "getObject",
-                        valueTypes, parameterIndex, type);
-            } catch (ResourceException ex) {
-                _logger.log(Level.SEVERE, "jdbc.ex_get_object", ex);
-                throw new SQLException(ex);
-            }
+        Class<?>[] valueTypes = new Class<?>[] { Integer.TYPE, Class.class };
+        try {
+            return (T) executor.invokeMethod(jdbcStatement, "getObject", valueTypes, parameterIndex, type);
+        } catch (ResourceException ex) {
+            _logger.log(SEVERE, "jdbc.ex_get_object", ex);
+            throw new SQLException(ex);
         }
-        throw new UnsupportedOperationException("Operation not supported in this runtime.");
     }
 
+    @Override
+    @SuppressWarnings("unchecked")
     public <T> T getObject(String parameterName, Class<T> type) throws SQLException {
-        if (DataSourceObjectBuilder.isJDBC41()) {
-            Class<?>[] valueTypes = new Class<?>[]{String.class, Class.class};
-            try {
-                return (T) executor.invokeMethod(jdbcStatement, "getObject",
-                        valueTypes, parameterName, type);
-            } catch (ResourceException ex) {
-                _logger.log(Level.SEVERE, "jdbc.ex_get_object", ex);
-                throw new SQLException(ex);
-            }
+        Class<?>[] valueTypes = new Class<?>[] { String.class, Class.class };
+        try {
+            return (T) executor.invokeMethod(jdbcStatement, "getObject", valueTypes, parameterName, type);
+        } catch (ResourceException ex) {
+            _logger.log(SEVERE, "jdbc.ex_get_object", ex);
+            throw new SQLException(ex);
         }
-        throw new UnsupportedOperationException("Operation not supported in this runtime.");
     }
 }
diff --git a/appserver/jdbc/jdbc-ra/jdbc40/src/main/java/com/sun/gjc/spi/jdbc40/ConnectionHolder40.java b/appserver/jdbc/jdbc-ra/jdbc40/src/main/java/com/sun/gjc/spi/jdbc40/ConnectionHolder40.java
index 567683c..d54e222 100644
--- a/appserver/jdbc/jdbc-ra/jdbc40/src/main/java/com/sun/gjc/spi/jdbc40/ConnectionHolder40.java
+++ b/appserver/jdbc/jdbc-ra/jdbc40/src/main/java/com/sun/gjc/spi/jdbc40/ConnectionHolder40.java
@@ -1,4 +1,5 @@
 /*
+ * Copyright (c) 2022 Contributors to the Eclipse Foundation.
  * Copyright (c) 1997, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
@@ -16,56 +17,68 @@
 
 package com.sun.gjc.spi.jdbc40;
 
-import com.sun.enterprise.util.i18n.StringManager;
-import com.sun.gjc.common.DataSourceObjectBuilder;
-import com.sun.gjc.spi.ManagedConnectionFactoryImpl;
-import com.sun.gjc.spi.ManagedConnectionImpl;
-import com.sun.gjc.spi.base.ConnectionHolder;
+import static java.util.logging.Level.FINE;
+import static java.util.logging.Level.FINEST;
+import static java.util.logging.Level.INFO;
+import static java.util.logging.Level.SEVERE;
 
 import java.lang.reflect.InvocationHandler;
 import java.lang.reflect.InvocationTargetException;
 import java.lang.reflect.Method;
 import java.lang.reflect.Proxy;
-import java.sql.*;
+import java.sql.Array;
+import java.sql.Blob;
+import java.sql.Clob;
+import java.sql.Connection;
+import java.sql.NClob;
+import java.sql.ResultSet;
+import java.sql.SQLClientInfoException;
+import java.sql.SQLException;
+import java.sql.SQLXML;
+import java.sql.Struct;
 import java.util.Properties;
 import java.util.concurrent.Executor;
-import java.util.logging.Level;
-import jakarta.resource.ResourceException;
 
+import com.sun.enterprise.util.i18n.StringManager;
+import com.sun.gjc.spi.ManagedConnectionFactoryImpl;
+import com.sun.gjc.spi.ManagedConnectionImpl;
+import com.sun.gjc.spi.base.ConnectionHolder;
+
+import jakarta.resource.ResourceException;
+import jakarta.resource.spi.ConnectionRequestInfo;
 
 /**
- * Holds the java.sql.Connection object, which is to be
- * passed to the application program.
+ * Holds the java.sql.Connection object, which is to be passed to the
+ * application program.
  *
  * @author Jagadish Ramu
  * @version 1.0, 25-Aug-2006
  */
 public class ConnectionHolder40 extends ConnectionHolder {
 
+    protected final static StringManager localStrings = StringManager.getManager(ManagedConnectionFactoryImpl.class);
     protected Properties defaultClientInfo;
-    protected final static StringManager localStrings =
-            StringManager.getManager(ManagedConnectionFactoryImpl.class);
     protected boolean jdbc30Connection;
 
     /**
      * Connection wrapper given to application program
      *
-     * @param con           Connection that is wrapped
-     * @param mc            ManagedConnection
+     * @param con Connection that is wrapped
+     * @param mc ManagedConnection
      * @param cxRequestInfo Connection Request Information
      */
-    public ConnectionHolder40(Connection con, ManagedConnectionImpl mc,
-                              jakarta.resource.spi.ConnectionRequestInfo cxRequestInfo,
-                              boolean jdbc30Connection) {
+    public ConnectionHolder40(Connection con, ManagedConnectionImpl mc, ConnectionRequestInfo cxRequestInfo, boolean jdbc30Connection) {
         super(con, mc, cxRequestInfo);
         this.jdbc30Connection = jdbc30Connection;
-        if (!jdbc30Connection)
+        if (!jdbc30Connection) {
             init();
+        }
     }
 
     /**
      * cache the default client info which can will set back during close()<br>
-     * as this connection may be re-used by connection pool of application server<br>
+     * as this connection may be re-used by connection pool of application
+     * server<br>
      */
     protected void init() {
         try {
@@ -73,180 +86,177 @@
                 defaultClientInfo = getClientInfo();
             }
         } catch (Throwable e) {
-            _logger.log(Level.INFO, "jdbc.unable_to_get_client_info", e.getMessage());
-            if(_logger.isLoggable(Level.FINEST)) {
-                _logger.log(Level.FINEST, "jdbc.unable_to_get_client_info", e);
-            }
+            _logger.log(FINEST, "jdbc.unable_to_get_client_info", e);
         }
     }
 
     /**
-     * Constructs an object that implements the <code>Clob</code> interface. The object
-     * returned initially contains no data.  The <code>setAsciiStream</code>,
-     * <code>setCharacterStream</code> and <code>setString</code> methods of
-     * the <code>Clob</code> interface may be used to add data to the <code>Clob</code>.
+     * Constructs an object that implements the <code>Clob</code> interface. The
+     * object returned initially contains no data. The <code>setAsciiStream</code>,
+     * <code>setCharacterStream</code> and <code>setString</code> methods of the
+     * <code>Clob</code> interface may be used to add data to the <code>Clob</code>.
      *
      * @return An object that implements the <code>Clob</code> interface
      * @throws java.sql.SQLException if an object that implements the
-     *                               <code>Clob</code> interface can not be constructed, this method is
-     *                               called on a closed connection or a database access error occurs.
-     * @throws java.sql.SQLFeatureNotSupportedException
-     *                               if the JDBC driver does not support
-     *                               this data type
+     * <code>Clob</code> interface can not be constructed, this method is called on
+     * a closed connection or a database access error occurs.
+     * @throws java.sql.SQLFeatureNotSupportedException if the JDBC driver does not
+     * support this data type
      * @since 1.6
      */
+    @Override
     public Clob createClob() throws SQLException {
         checkValidity();
         jdbcPreInvoke();
-        return con.createClob();
+        return connection.createClob();
     }
 
     /**
-     * Constructs an object that implements the <code>Blob</code> interface. The object
-     * returned initially contains no data.  The <code>setBinaryStream</code> and
-     * <code>setBytes</code> methods of the <code>Blob</code> interface may be used to add data to
-     * the <code>Blob</code>.
+     * Constructs an object that implements the <code>Blob</code> interface. The
+     * object returned initially contains no data. The <code>setBinaryStream</code>
+     * and <code>setBytes</code> methods of the <code>Blob</code> interface may be
+     * used to add data to the <code>Blob</code>.
      *
      * @return An object that implements the <code>Blob</code> interface
      * @throws java.sql.SQLException if an object that implements the
-     *                               <code>Blob</code> interface can not be constructed, this method is
-     *                               called on a closed connection or a database access error occurs.
-     * @throws java.sql.SQLFeatureNotSupportedException
-     *                               if the JDBC driver does not support
-     *                               this data type
+     * <code>Blob</code> interface can not be constructed, this method is called on
+     * a closed connection or a database access error occurs.
+     * @throws java.sql.SQLFeatureNotSupportedException if the JDBC driver does not
+     * support this data type
      * @since 1.6
      */
+    @Override
     public Blob createBlob() throws SQLException {
         checkValidity();
         jdbcPreInvoke();
-        return con.createBlob();
+        return connection.createBlob();
     }
 
     /**
-     * Constructs an object that implements the <code>NClob</code> interface. The object
-     * returned initially contains no data.  The <code>setAsciiStream</code>,
-     * <code>setCharacterStream</code> and <code>setString</code> methods of the <code>NClob</code> interface may
-     * be used to add data to the <code>NClob</code>.
+     * Constructs an object that implements the <code>NClob</code> interface. The
+     * object returned initially contains no data. The <code>setAsciiStream</code>,
+     * <code>setCharacterStream</code> and <code>setString</code> methods of the
+     * <code>NClob</code> interface may be used to add data to the
+     * <code>NClob</code>.
      *
      * @return An object that implements the <code>NClob</code> interface
      * @throws java.sql.SQLException if an object that implements the
-     *                               <code>NClob</code> interface can not be constructed, this method is
-     *                               called on a closed connection or a database access error occurs.
-     * @throws java.sql.SQLFeatureNotSupportedException
-     *                               if the JDBC driver does not support
-     *                               this data type
+     * <code>NClob</code> interface can not be constructed, this method is called on
+     * a closed connection or a database access error occurs.
+     * @throws java.sql.SQLFeatureNotSupportedException if the JDBC driver does not
+     * support this data type
      * @since 1.6
      */
+    @Override
     public NClob createNClob() throws SQLException {
         checkValidity();
         jdbcPreInvoke();
-        return con.createNClob();
+        return connection.createNClob();
     }
 
     /**
-     * Constructs an object that implements the <code>SQLXML</code> interface. The object
-     * returned initially contains no data. The <code>createXmlStreamWriter</code> object and
-     * <code>setString</code> method of the <code>SQLXML</code> interface may be used to add data to the <code>SQLXML</code>
-     * object.
+     * Constructs an object that implements the <code>SQLXML</code> interface. The
+     * object returned initially contains no data. The
+     * <code>createXmlStreamWriter</code> object and <code>setString</code> method
+     * of the <code>SQLXML</code> interface may be used to add data to the
+     * <code>SQLXML</code> object.
      *
      * @return An object that implements the <code>SQLXML</code> interface
-     * @throws java.sql.SQLException if an object that implements the <code>SQLXML</code> interface can not
-     *                               be constructed, this method is
-     *                               called on a closed connection or a database access error occurs.
-     * @throws java.sql.SQLFeatureNotSupportedException
-     *                               if the JDBC driver does not support
-     *                               this data type
+     * @throws java.sql.SQLException if an object that implements the
+     * <code>SQLXML</code> interface can not be constructed, this method is called
+     * on a closed connection or a database access error occurs.
+     * @throws java.sql.SQLFeatureNotSupportedException if the JDBC driver does not
+     * support this data type
      * @since 1.6
      */
+    @Override
     public SQLXML createSQLXML() throws SQLException {
         checkValidity();
         jdbcPreInvoke();
-        return con.createSQLXML();
+        return connection.createSQLXML();
     }
 
     /**
-     * Returns true if the connection has not been closed and is still valid.
-     * The driver shall submit a query on the connection or use some other
-     * mechanism that positively verifies the connection is still valid when
-     * this method is called.
+     * Returns true if the connection has not been closed and is still valid. The
+     * driver shall submit a query on the connection or use some other mechanism
+     * that positively verifies the connection is still valid when this method is
+     * called.
      * <p/>
      * The query submitted by the driver to validate the connection shall be
      * executed in the context of the current transaction.
      *
-     * @param timeout - The time in seconds to wait for the database operation
-     *                used to validate the connection to complete.  If
-     *                the timeout period expires before the operation
-     *                completes, this method returns false.  A value of
-     *                0 indicates a timeout is not applied to the
-     *                database operation.
-     *                <p/>
+     * @param timeout - The time in seconds to wait for the database operation used
+     * to validate the connection to complete. If the timeout period expires before
+     * the operation completes, this method returns false. A value of 0 indicates a
+     * timeout is not applied to the database operation.
+     * <p/>
      * @return true if the connection is valid, false otherwise
      * @throws java.sql.SQLException if the value supplied for <code>timeout</code>
-     *                               is less then 0
+     * is less then 0
      * @see java.sql.DatabaseMetaData#getClientInfoProperties
      * @since 1.6
-     *        <p/>
+     * <p/>
      */
+    @Override
     public boolean isValid(int timeout) throws SQLException {
         checkValidity();
-        return con.isValid(timeout);
+        return connection.isValid(timeout);
     }
 
     /**
-     * Sets the value of the client info property specified by name to the
-     * value specified by value.
+     * Sets the value of the client info property specified by name to the value
+     * specified by value.
      * <p/>
-     * Applications may use the <code>DatabaseMetaData.getClientInfoProperties</code>
-     * method to determine the client info properties supported by the driver
-     * and the maximum length that may be specified for each property.
+     * Applications may use the
+     * <code>DatabaseMetaData.getClientInfoProperties</code> method to determine the
+     * client info properties supported by the driver and the maximum length that
+     * may be specified for each property.
      * <p/>
-     * The driver stores the value specified in a suitable location in the
-     * database. For example in a special register, session parameter, or
-     * system table column. For efficiency the driver may defer setting the
-     * value in the database until the next time a statement is executed or
-     * prepared. Other than storing the client information in the appropriate
-     * place in the database, these methods shall not alter the behavior of
-     * the connection in anyway. The values supplied to these methods are
-     * used for accounting, diagnostics and debugging purposes only.
+     * The driver stores the value specified in a suitable location in the database.
+     * For example in a special register, session parameter, or system table column.
+     * For efficiency the driver may defer setting the value in the database until
+     * the next time a statement is executed or prepared. Other than storing the
+     * client information in the appropriate place in the database, these methods
+     * shall not alter the behavior of the connection in anyway. The values supplied
+     * to these methods are used for accounting, diagnostics and debugging purposes
+     * only.
      * <p/>
-     * The driver shall generate a warning if the client info name specified
-     * is not recognized by the driver.
+     * The driver shall generate a warning if the client info name specified is not
+     * recognized by the driver.
      * <p/>
-     * If the value specified to this method is greater than the maximum
-     * length for the property the driver may either truncate the value and
-     * generate a warning or generate a <code>SQLClientInfoException</code>. If the driver
-     * generates a <code>SQLClientInfoException</code>, the value specified was not set on the
+     * If the value specified to this method is greater than the maximum length for
+     * the property the driver may either truncate the value and generate a warning
+     * or generate a <code>SQLClientInfoException</code>. If the driver generates a
+     * <code>SQLClientInfoException</code>, the value specified was not set on the
      * connection.
      * <p/>
-     * The following are standard client info properties. Drivers are not
-     * required to support these properties however if the driver supports a
-     * client info property that can be described by one of the standard
-     * properties, the standard property name should be used.
+     * The following are standard client info properties. Drivers are not required
+     * to support these properties however if the driver supports a client info
+     * property that can be described by one of the standard properties, the
+     * standard property name should be used.
      * <p/>
      * <ul>
-     * <li>ApplicationName - The name of the application currently utilizing
-     * the connection</li>
-     * <li>ClientUser - The name of the user that the application using
-     * the connection is performing work for. This may
-     * not be the same as the user name that was used
-     * in establishing the connection.</li>
-     * <li>ClientHostname - The hostname of the computer the application
-     * using the connection is running on.</li>
+     * <li>ApplicationName - The name of the application currently utilizing the
+     * connection</li>
+     * <li>ClientUser - The name of the user that the application using the
+     * connection is performing work for. This may not be the same as the user name
+     * that was used in establishing the connection.</li>
+     * <li>ClientHostname - The hostname of the computer the application using the
+     * connection is running on.</li>
      * </ul>
      * <p/>
      *
      * @param name The name of the client info property to set
-     * @param value The value to set the client info property to. If the
-     *            value is null, the current value of the specified
-     *            property is cleared.
-     *            <p/>
-     * @throws java.sql.SQLClientInfoException
-     *             if the database server returns an error while
-     *             setting the client info value on the database server or this method
-     *             is called on a closed connection
-     *             <p/>
+     * @param value The value to set the client info property to. If the value is
+     * null, the current value of the specified property is cleared.
+     * <p/>
+     * @throws java.sql.SQLClientInfoException if the database server returns an
+     * error while setting the client info value on the database server or this
+     * method is called on a closed connection
+     * <p/>
      * @since 1.6
      */
+    @Override
     public void setClientInfo(String name, String value) throws SQLClientInfoException {
         try {
             checkValidity();
@@ -255,40 +265,40 @@
             sce.setStackTrace(sqe.getStackTrace());
             throw sce;
         }
-        con.setClientInfo(name, value);
+        connection.setClientInfo(name, value);
     }
 
     /**
-     * Sets the value of the connection's client info properties.  The
-     * <code>Properties</code> object contains the names and values of the client info
-     * properties to be set.  The set of client info properties contained in
-     * the properties list replaces the current set of client info properties
-     * on the connection.  If a property that is currently set on the
-     * connection is not present in the properties list, that property is
-     * cleared.  Specifying an empty properties list will clear all of the
-     * properties on the connection.  See <code>setClientInfo (String, String)</code> for
-     * more information.
+     * Sets the value of the connection's client info properties. The
+     * <code>Properties</code> object contains the names and values of the client
+     * info properties to be set. The set of client info properties contained in the
+     * properties list replaces the current set of client info properties on the
+     * connection. If a property that is currently set on the connection is not
+     * present in the properties list, that property is cleared. Specifying an empty
+     * properties list will clear all of the properties on the connection. See
+     * <code>setClientInfo (String, String)</code> for more information.
      * <p/>
      * If an error occurs in setting any of the client info properties, a
-     * <code>SQLClientInfoException</code> is thrown. The <code>SQLClientInfoException</code>
-     * contains information indicating which client info properties were not set.
-     * The state of the client information is unknown because
-     * some databases do not allow multiple client info properties to be set
-     * atomically.  For those databases, one or more properties may have been
-     * set before the error occurred.
+     * <code>SQLClientInfoException</code> is thrown. The
+     * <code>SQLClientInfoException</code> contains information indicating which
+     * client info properties were not set. The state of the client information is
+     * unknown because some databases do not allow multiple client info properties
+     * to be set atomically. For those databases, one or more properties may have
+     * been set before the error occurred.
      * <p/>
      *
      * @param properties the list of client info properties to set
-     *                   <p/>
-     * @throws java.sql.SQLClientInfoException
-     *          if the database server returns an error while
-     *          setting the clientInfo values on the database server or this method
-     *          is called on a closed connection
-     *          <p/>
-     * @see java.sql.Connection#setClientInfo(String,String) setClientInfo(String, String)
+     * <p/>
+     * @throws java.sql.SQLClientInfoException if the database server returns an
+     * error while setting the clientInfo values on the database server or this
+     * method is called on a closed connection
+     * <p/>
+     * @see java.sql.Connection#setClientInfo(String,String) setClientInfo(String,
+     * String)
      * @since 1.6
-     *        <p/>
+     * <p/>
      */
+    @Override
     public void setClientInfo(Properties properties) throws SQLClientInfoException {
         try {
             checkValidity();
@@ -297,73 +307,76 @@
             sce.setStackTrace(sqe.getStackTrace());
             throw sce;
         }
-        con.setClientInfo(properties);
+        connection.setClientInfo(properties);
     }
 
     /**
-     * Returns the value of the client info property specified by name.  This
-     * method may return null if the specified client info property has not
-     * been set and does not have a default value.  This method will also
-     * return null if the specified client info property name is not supported
-     * by the driver.
+     * Returns the value of the client info property specified by name. This method
+     * may return null if the specified client info property has not been set and
+     * does not have a default value. This method will also return null if the
+     * specified client info property name is not supported by the driver.
      * <p/>
-     * Applications may use the <code>DatabaseMetaData.getClientInfoProperties</code>
-     * method to determine the client info properties supported by the driver.
+     * Applications may use the
+     * <code>DatabaseMetaData.getClientInfoProperties</code> method to determine the
+     * client info properties supported by the driver.
      * <p/>
      *
      * @param name The name of the client info property to retrieve
-     *             <p/>
+     * <p/>
      * @return The value of the client info property specified
-     *         <p/>
+     * <p/>
      * @throws java.sql.SQLException if the database server returns an error when
-     *                               fetching the client info value from the database
-     *                               or this method is called on a closed connection
-     *                               <p/>
+     * fetching the client info value from the database or this method is called on
+     * a closed connection
+     * <p/>
      * @see java.sql.DatabaseMetaData#getClientInfoProperties
      * @since 1.6
-     *        <p/>
+     * <p/>
      */
+    @Override
     public String getClientInfo(String name) throws SQLException {
         checkValidity();
-        return con.getClientInfo(name);
+        return connection.getClientInfo(name);
     }
 
     /**
      * Returns a list containing the name and current value of each client info
-     * property supported by the driver.  The value of a client info property
-     * may be null if the property has not been set and does not have a
-     * default value.
+     * property supported by the driver. The value of a client info property may be
+     * null if the property has not been set and does not have a default value.
      * <p/>
      *
-     * @return A <code>Properties</code> object that contains the name and current value of
-     *         each of the client info properties supported by the driver.
-     *         <p/>
+     * @return A <code>Properties</code> object that contains the name and current
+     * value of each of the client info properties supported by the driver.
+     * <p/>
      * @throws java.sql.SQLException if the database server returns an error when
-     *                               fetching the client info values from the database
-     *                               or this method is called on a closed connection
-     *                               <p/>
+     * fetching the client info values from the database or this method is called on
+     * a closed connection
+     * <p/>
      * @since 1.6
      */
+    @Override
     public Properties getClientInfo() throws SQLException {
         checkValidity();
-        return con.getClientInfo();
+        return connection.getClientInfo();
     }
 
     /**
-     * Returns true if the client info properties are supported.
-     * The application server calls the <code>getClientInfo</code> method and the <code>setClientInfo</code> method
-     * only if the driver supports the client info properties.
-     * The <code>DatabaseMetaData#getClientInfoProperties</code> method is used to determine
-     * whether the driver supports the client info properties or not.
-     * Note that the <code>DatabaseMetaData</code> will be cached by <code>ManagedConnection</code>.
+     * Returns true if the client info properties are supported. The application
+     * server calls the <code>getClientInfo</code> method and the
+     * <code>setClientInfo</code> method only if the driver supports the client info
+     * properties. The <code>DatabaseMetaData#getClientInfoProperties</code> method
+     * is used to determine whether the driver supports the client info properties
+     * or not. Note that the <code>DatabaseMetaData</code> will be cached by
+     * <code>ManagedConnection</code>.
      * <p/>
      *
      * @return true if the client info properties are supported, false otherwise
      *
-     * @throws jakarta.resource.ResourceException if the access to connection is failed.
+     * @throws jakarta.resource.ResourceException if the access to connection is
+     * failed.
      *
-     * @throws java.sql.SQLException if the database server returns an error when retrieving
-     *                               a list of the client info properties.
+     * @throws java.sql.SQLException if the database server returns an error when
+     * retrieving a list of the client info properties.
      *
      * @see java.sql.DatabaseMetaData#getClientInfoProperties
      * @since 1.6
@@ -380,10 +393,10 @@
                 return isSupportClientInfo;
             } finally {
                 try {
-                rs.close();
-                } catch(SQLException ex) {
-                    if(_logger.isLoggable(Level.FINEST)) {
-                        _logger.log(Level.FINEST, "jdbc.unable_to_get_client_info", ex);
+                    rs.close();
+                } catch (SQLException ex) {
+                    if (_logger.isLoggable(FINEST)) {
+                        _logger.log(FINEST, "jdbc.unable_to_get_client_info", ex);
                     }
                     return false;
                 }
@@ -394,100 +407,113 @@
     /**
      * Factory method for creating Array objects.
      *
-     * @param typeName the SQL name of the type the elements of the array map to. The typeName is a
-     *                 database-specific name which may be the name of a built-in type, a user-defined type or a standard  SQL type supported by this database. This
-     *                 is the value returned by <code>Array.getBaseTypeName</code>
+     * @param typeName the SQL name of the type the elements of the array map to.
+     * The typeName is a database-specific name which may be the name of a built-in
+     * type, a user-defined type or a standard SQL type supported by this database.
+     * This is the value returned by <code>Array.getBaseTypeName</code>
      * @param elements the elements that populate the returned object
      * @return an Array object whose elements map to the specified SQL type
-     * @throws java.sql.SQLException if a database error occurs, the typeName is null or this method is called on a closed connection
-     * @throws java.sql.SQLFeatureNotSupportedException
-     *                               if the JDBC driver does not support this data type
+     * @throws java.sql.SQLException if a database error occurs, the typeName is
+     * null or this method is called on a closed connection
+     * @throws java.sql.SQLFeatureNotSupportedException if the JDBC driver does not
+     * support this data type
      * @since 1.6
      */
+    @Override
     public Array createArrayOf(String typeName, Object[] elements) throws SQLException {
         checkValidity();
         jdbcPreInvoke();
-        return con.createArrayOf(typeName, elements);
+        return connection.createArrayOf(typeName, elements);
     }
 
     /**
      * Factory method for creating Struct objects.
      *
-     * @param typeName   the SQL type name of the SQL structured type that this <code>Struct</code>
-     *                   object maps to. The typeName is the name of  a user-defined type that
-     *                   has been defined for this database. It is the value returned by
-     *                   <code>Struct.getSQLTypeName</code>.
+     * @param typeName the SQL type name of the SQL structured type that this
+     * <code>Struct</code> object maps to. The typeName is the name of a
+     * user-defined type that has been defined for this database. It is the value
+     * returned by <code>Struct.getSQLTypeName</code>.
      * @param attributes the attributes that populate the returned object
-     * @return a Struct object that maps to the given SQL type and is populated with the given attributes
-     * @throws java.sql.SQLException if a database error occurs, the typeName is null or this method is called on a closed connection
-     * @throws java.sql.SQLFeatureNotSupportedException
-     *                               if the JDBC driver does not support this data type
+     * @return a Struct object that maps to the given SQL type and is populated with
+     * the given attributes
+     * @throws java.sql.SQLException if a database error occurs, the typeName is
+     * null or this method is called on a closed connection
+     * @throws java.sql.SQLFeatureNotSupportedException if the JDBC driver does not
+     * support this data type
      * @since 1.6
      */
+    @Override
     public Struct createStruct(String typeName, Object[] attributes) throws SQLException {
         checkValidity();
         jdbcPreInvoke();
-        return con.createStruct(typeName, attributes);
+        return connection.createStruct(typeName, attributes);
     }
 
     /**
      * Returns an object that implements the given interface to allow access to
      * non-standard methods, or standard methods not exposed by the proxy.
      * <p/>
-     * If the receiver implements the interface then the result is the receiver
-     * or a proxy for the receiver. If the receiver is a wrapper
-     * and the wrapped object implements the interface then the result is the
-     * wrapped object or a proxy for the wrapped object. Otherwise return the
-     * the result of calling <code>unwrap</code> recursively on the wrapped object
-     * or a proxy for that result. If the receiver is not a
-     * wrapper and does not implement the interface, then an <code>SQLException</code> is thrown.
+     * If the receiver implements the interface then the result is the receiver or a
+     * proxy for the receiver. If the receiver is a wrapper and the wrapped object
+     * implements the interface then the result is the wrapped object or a proxy for
+     * the wrapped object. Otherwise return the the result of calling
+     * <code>unwrap</code> recursively on the wrapped object or a proxy for that
+     * result. If the receiver is not a wrapper and does not implement the
+     * interface, then an <code>SQLException</code> is thrown.
      *
      * @param iface A Class defining an interface that the result must implement.
-     * @return an object that implements the interface. May be a proxy for the actual implementing object.
-     * @throws java.sql.SQLException If no object found that implements the interface
+     * @return an object that implements the interface. May be a proxy for the
+     * actual implementing object.
+     * @throws java.sql.SQLException If no object found that implements the
+     * interface
      * @since 1.6
      */
+    @Override
     public <T> T unwrap(Class<T> iface) throws SQLException {
         checkValidity();
-        T result = null;
-        if (iface.isInstance(this)) { //if iface is "java.sql.Connection"
-            result = iface.cast(this);
-        } else if (iface.isInstance(con)) {
-            //if iface is not "java.sql.Connection" & implemented by native Connection
-            Class<T> listIntf[] = new Class[]{iface};
-            result = getProxyObject(con, listIntf);
-        } else {
-            //probably a proxy, delegating to native connection
-            result = con.unwrap(iface);
-            if (Connection.class.isInstance(result)) {
-                // rare case : returned object implements both iface & java.sql.Connection
-                Class<T> listIntf[] = new Class[]{iface, Connection.class};
-                result = getProxyObject(result, listIntf);
-            }
+
+        if (iface.isInstance(this)) { // if iface is "java.sql.Connection"
+            return iface.cast(this);
         }
+
+        if (iface.isInstance(connection)) {
+            // If iface is not "java.sql.Connection" & implemented by native Connection
+            @SuppressWarnings("unchecked")
+            Class<T>[] listIntf = new Class[] { iface };
+            return getProxyObject(connection, listIntf);
+        }
+
+        // Probably a proxy, delegating to native connection
+        T result = connection.unwrap(iface);
+        if (Connection.class.isInstance(result)) {
+            // rare case : returned object implements both iface & java.sql.Connection
+            @SuppressWarnings("unchecked")
+            Class<T> listIntf[] = new Class[] { iface, Connection.class };
+            result = getProxyObject(result, listIntf);
+        }
+
         return result;
     }
 
     /**
      * @param actualObject Object from jdbc vendor connection's unwrap
-     * @param ifaces       Interfaces for which proxy is needed
+     * @param ifaces Interfaces for which proxy is needed
      * @return Proxy class implmenting the interfaces
      * @throws SQLException
      */
+    @SuppressWarnings("unchecked")
     private <T> T getProxyObject(final Object actualObject, Class<T>[] ifaces) throws SQLException {
-        T result;
-        InvocationHandler ih;
+        InvocationHandler invocationHandler;
         try {
-            ih = new InvocationHandler() {
-                public Object invoke(Object proxy, Method method, Object[] args) throws SQLException,
-                        IllegalAccessException, InvocationTargetException {
+            invocationHandler = new InvocationHandler() {
+                @Override
+                public Object invoke(Object proxy, Method method, Object[] args) throws SQLException, IllegalAccessException, InvocationTargetException {
+
                     // When close() is called on proxy object, call close() on resource adapter's
                     // Connection Holder instead of physical connection.
-                    if (method.getName().equals("close")
-                            && method.getParameterTypes().length == 0) {
-                        if (_logger.isLoggable(Level.FINE)) {
-                            String msg = localStrings.getString("jdbc.close_called_on_proxy_object", actualObject);
-                            _logger.log(Level.FINE, msg);
+                    if (method.getName().equals("close") && method.getParameterTypes().length == 0) {
+                        if (_logger.isLoggable(FINE)) {
+                            _logger.log(FINE, localStrings.getString("jdbc.close_called_on_proxy_object", actualObject));
                         }
                         ConnectionHolder40.this.close();
                         return null;
@@ -500,34 +526,37 @@
         } catch (Exception e) {
             throw new SQLException(e.fillInStackTrace());
         }
-        result = (T) Proxy.newProxyInstance(actualObject.getClass().getClassLoader(), ifaces, ih);
-        return result;
+
+        return (T) Proxy.newProxyInstance(actualObject.getClass().getClassLoader(), ifaces, invocationHandler);
     }
 
     /**
-     * Returns true if this either implements the interface argument or is directly or indirectly a wrapper
-     * for an object that does. Returns false otherwise. If this implements the interface then return true,
-     * else if this is a wrapper then return the result of recursively calling <code>isWrapperFor</code> on the wrapped
-     * object. If this does not implement the interface and is not a wrapper, return false.
-     * This method should be implemented as a low-cost operation compared to <code>unwrap</code> so that
-     * callers can use this method to avoid expensive <code>unwrap</code> calls that may fail. If this method
-     * returns true then calling <code>unwrap</code> with the same argument should succeed.
+     * Returns true if this either implements the interface argument or is directly
+     * or indirectly a wrapper for an object that does. Returns false otherwise. If
+     * this implements the interface then return true, else if this is a wrapper
+     * then return the result of recursively calling <code>isWrapperFor</code> on
+     * the wrapped object. If this does not implement the interface and is not a
+     * wrapper, return false. This method should be implemented as a low-cost
+     * operation compared to <code>unwrap</code> so that callers can use this method
+     * to avoid expensive <code>unwrap</code> calls that may fail. If this method
+     * returns true then calling <code>unwrap</code> with the same argument should
+     * succeed.
      *
      * @param iface a Class defining an interface.
-     * @return true if this implements the interface or directly or indirectly wraps an object that does.
-     * @throws java.sql.SQLException if an error occurs while determining whether this is a wrapper
-     *                               for an object with the given interface.
+     * @return true if this implements the interface or directly or indirectly wraps
+     * an object that does.
+     * @throws java.sql.SQLException if an error occurs while determining whether
+     * this is a wrapper for an object with the given interface.
      * @since 1.6
      */
+    @Override
     public boolean isWrapperFor(Class<?> iface) throws SQLException {
         checkValidity();
-        boolean result;
         if (iface.isInstance(this)) {
-            result = true;
-        } else {
-            result = con.isWrapperFor(iface);
+            return true;
         }
-        return result;
+
+        return connection.isWrapperFor(iface);
     }
 
     /**
@@ -536,13 +565,13 @@
      *
      * @throws SQLException In case of a database error.
      */
+    @Override
     public void close() throws SQLException {
         if (isClosed) {
-            if (_logger.isLoggable(Level.FINE)) {
-                _logger.log(Level.FINE, "jdbc.duplicate_close_connection", this);
-            }
+            _logger.log(FINE, "jdbc.duplicate_close_connection", this);
             return;
         }
+
         if (!jdbc30Connection) {
             try {
                 checkValidity();
@@ -554,91 +583,83 @@
                     }
                 }
             } catch (Throwable e) {
-                _logger.log(Level.INFO, "jdbc.unable_to_set_client_info", e.getMessage());
-                if(_logger.isLoggable(Level.FINEST)) {
-                    _logger.log(Level.FINEST, "jdbc.unable_to_set_client_info", e);
-                }
+                _logger.log(FINEST, "jdbc.unable_to_set_client_info", e);
             }
         }
+
         super.close();
     }
 
+    @Override
     public void setSchema(String schema) throws SQLException {
-        if(DataSourceObjectBuilder.isJDBC41()) {
-            checkValidity();
-            Class<?>[] valueTypes = new Class<?>[]{String.class};
-            try {
-                getMethodExecutor().invokeMethod(con, "setSchema", valueTypes, schema);
-            } catch (ResourceException ex) {
-                _logger.log(Level.SEVERE, "jdbc.ex_connection_holder", ex);
-                throw new SQLException(ex);
-            }
-            return;
+        checkValidity();
+
+        Class<?>[] valueTypes = new Class<?>[] { String.class };
+        try {
+            getMethodExecutor().invokeMethod(connection, "setSchema", valueTypes, schema);
+        } catch (ResourceException ex) {
+            _logger.log(SEVERE, "jdbc.ex_connection_holder", ex);
+            throw new SQLException(ex);
         }
-        throw new UnsupportedOperationException("Operation not supported in this runtime.");
+
+        return;
+
     }
 
+    @Override
     public String getSchema() throws SQLException {
-        if(DataSourceObjectBuilder.isJDBC41()) {
-            checkValidity();
-            try {
-                return (String) getMethodExecutor().invokeMethod(con, "getSchema", null);
-            } catch (ResourceException ex) {
-                _logger.log(Level.SEVERE, "jdbc.ex_connection_holder", ex);
-                throw new SQLException(ex);
-            }
+        checkValidity();
+
+        try {
+            return (String) getMethodExecutor().invokeMethod(connection, "getSchema", null);
+        } catch (ResourceException ex) {
+            _logger.log(SEVERE, "jdbc.ex_connection_holder", ex);
+            throw new SQLException(ex);
         }
-        throw new UnsupportedOperationException("Operation not supported in this runtime.");
     }
 
-    public void setNetworkTimeout(Executor executorObj, int milliseconds)
-            throws SQLException {
-        if (DataSourceObjectBuilder.isJDBC41()) {
-            checkValidity();
-            Class<?>[] valueTypes = new Class<?>[]{Executor.class, Integer.TYPE};
-            try {
-                getMethodExecutor().invokeMethod(con, "setNetworkTimeout", valueTypes, executorObj, milliseconds);
-            } catch (ResourceException ex) {
-                _logger.log(Level.SEVERE, "jdbc.ex_connection_holder", ex);
-                throw new SQLException(ex);
-            }
-            return;
+    @Override
+    public void setNetworkTimeout(Executor executorObj, int milliseconds) throws SQLException {
+        checkValidity();
+
+        Class<?>[] valueTypes = new Class<?>[] { Executor.class, Integer.TYPE };
+        try {
+            getMethodExecutor().invokeMethod(connection, "setNetworkTimeout", valueTypes, executorObj, milliseconds);
+        } catch (ResourceException ex) {
+            _logger.log(SEVERE, "jdbc.ex_connection_holder", ex);
+            throw new SQLException(ex);
         }
-        throw new UnsupportedOperationException("Operation not supported in this runtime.");
+        return;
     }
 
+    @Override
     public int getNetworkTimeout() throws SQLException {
-        if (DataSourceObjectBuilder.isJDBC41()) {
-            checkValidity();
-            try {
-                return (Integer) getMethodExecutor().invokeMethod(con, "getNetworkTimeout", null);
-            } catch (ResourceException ex) {
-                _logger.log(Level.SEVERE, "jdbc.ex_connection_holder", ex);
-                throw new SQLException(ex);
-            }
+        checkValidity();
+
+        try {
+            return (Integer) getMethodExecutor().invokeMethod(connection, "getNetworkTimeout", null);
+        } catch (ResourceException ex) {
+            _logger.log(SEVERE, "jdbc.ex_connection_holder", ex);
+            throw new SQLException(ex);
         }
-        throw new UnsupportedOperationException("Operation not supported in this runtime.");
     }
 
     /**
-     * Abort operation to mark the connection internally as a bad connection
-     * for removal and to close the connection. This ensures that at the end
-     * of the transaction, the connection is destroyed. A running thread
-     * holding a connection will run to completion before the connection is
-     * destroyed
+     * Abort operation to mark the connection internally as a bad connection for
+     * removal and to close the connection. This ensures that at the end of the
+     * transaction, the connection is destroyed. A running thread holding a
+     * connection will run to completion before the connection is destroyed
      *
      * @param executor
      * @throws SQLException
      */
+    @Override
     public void abort(Executor executor) throws SQLException {
-        if (DataSourceObjectBuilder.isJDBC41()) {
-            getManagedConnection().markForRemoval(true);
-            getManagedConnection().setAborted(true);
-            if(!getManagedConnection().isTransactionInProgress()) {
-                close();
-            }
-        } else {
-            throw new UnsupportedOperationException("Operation not supported in this runtime.");
+        getManagedConnection().markForRemoval(true);
+        getManagedConnection().setAborted(true);
+        if (!getManagedConnection().isTransactionInProgress()) {
+            close();
         }
+
     }
 }
diff --git a/appserver/jdbc/jdbc-ra/jdbc40/src/main/java/com/sun/gjc/spi/jdbc40/ConnectionWrapper40.java b/appserver/jdbc/jdbc-ra/jdbc40/src/main/java/com/sun/gjc/spi/jdbc40/ConnectionWrapper40.java
index 4b3619b..a337163 100644
--- a/appserver/jdbc/jdbc-ra/jdbc40/src/main/java/com/sun/gjc/spi/jdbc40/ConnectionWrapper40.java
+++ b/appserver/jdbc/jdbc-ra/jdbc40/src/main/java/com/sun/gjc/spi/jdbc40/ConnectionWrapper40.java
@@ -16,13 +16,24 @@
 
 package com.sun.gjc.spi.jdbc40;
 
+import static java.sql.ResultSet.CONCUR_READ_ONLY;
+import static java.sql.ResultSet.TYPE_FORWARD_ONLY;
+
+import java.sql.CallableStatement;
+import java.sql.Connection;
+import java.sql.DatabaseMetaData;
+import java.sql.PreparedStatement;
+import java.sql.SQLException;
+import java.sql.Statement;
+
 import com.sun.gjc.spi.ManagedConnectionImpl;
 import com.sun.gjc.spi.base.ConnectionWrapper;
 
-import java.sql.*;
+import jakarta.resource.spi.ConnectionRequestInfo;
 
 /**
- * Wrapper class that aids to provide wrapper for the following JDBC objects : <br>
+ * Wrapper class that aids to provide wrapper for the following JDBC objects :
+ * <br>
  * Statement, PreparedStatement, CallableStatement, DatabaseMetaData
  */
 public class ConnectionWrapper40 extends ConnectionHolder40 implements ConnectionWrapper {
@@ -30,13 +41,12 @@
     /**
      * Instantiates connection wrapper to wrap JDBC objects.
      *
-     * @param con           Connection that is wrapped
-     * @param mc            Managed Connection
+     * @param con Connection that is wrapped
+     * @param mc Managed Connection
      * @param cxRequestInfo Connection Request Info
      */
-    public ConnectionWrapper40(Connection con, ManagedConnectionImpl mc,
-                               jakarta.resource.spi.ConnectionRequestInfo cxRequestInfo,
-                               boolean jdbc30Connection) {
+    public ConnectionWrapper40(Connection con, ManagedConnectionImpl mc, ConnectionRequestInfo cxRequestInfo,
+            boolean jdbc30Connection) {
         super(con, mc, cxRequestInfo, jdbc30Connection);
     }
 
@@ -46,37 +56,36 @@
      * @return <code>Statement</code> object.
      * @throws java.sql.SQLException In case of a database error.
      */
+    @Override
     public Statement createStatement() throws SQLException {
-
         return new StatementWrapper40(this, super.createStatement());
     }
 
     /**
      * Creates a statement from the underlying Connection.
      *
-     * @param resultSetType        Type of the ResultSet
+     * @param resultSetType Type of the ResultSet
      * @param resultSetConcurrency ResultSet Concurrency.
      * @return <code>Statement</code> object.
      * @throws SQLException In case of a database error.
      */
+    @Override
     public Statement createStatement(int resultSetType, int resultSetConcurrency) throws SQLException {
-        return new StatementWrapper40(this, super.createStatement(resultSetType,
-                resultSetConcurrency));
+        return new StatementWrapper40(this, super.createStatement(resultSetType, resultSetConcurrency));
     }
 
     /**
      * Creates a statement from the underlying Connection.
      *
-     * @param resultSetType        Type of the ResultSet
+     * @param resultSetType Type of the ResultSet
      * @param resultSetConcurrency ResultSet Concurrency.
      * @param resultSetHoldability ResultSet Holdability.
      * @return <code>Statement</code> object.
      * @throws SQLException In case of a database error.
      */
-    public Statement createStatement(int resultSetType, int resultSetConcurrency,
-                                     int resultSetHoldability) throws SQLException {
-        return new StatementWrapper40(this, super.createStatement(resultSetType,
-                resultSetConcurrency, resultSetHoldability));
+    @Override
+    public Statement createStatement(int resultSetType, int resultSetConcurrency, int resultSetHoldability) throws SQLException {
+        return new StatementWrapper40(this, super.createStatement(resultSetType, resultSetConcurrency, resultSetHoldability));
     }
 
     /**
@@ -86,195 +95,187 @@
      * @return <code>DatabaseMetaData</code> object.
      * @throws SQLException In case of a database error.
      */
+    @Override
     public DatabaseMetaData getMetaData() throws SQLException {
         return new DatabaseMetaDataWrapper40(this, super.getMetaData());
     }
 
-
     /**
-     * Creates a <code> CallableStatement </code> object for calling database
-     * stored procedures.
+     * Creates a <code> CallableStatement </code> object for calling database stored
+     * procedures.
      *
      * @param sql SQL Statement
      * @return <code> CallableStatement</code> object.
      * @throws java.sql.SQLException In case of a database error.
      */
+    @Override
     public CallableStatement prepareCall(String sql) throws SQLException {
-        return mc.prepareCachedCallableStatement(this, sql, ResultSet.TYPE_FORWARD_ONLY,
-                ResultSet.CONCUR_READ_ONLY);
+        return managedConnectionImpl.prepareCachedCallableStatement(this, sql, TYPE_FORWARD_ONLY, CONCUR_READ_ONLY);
     }
 
     /**
-     * Creates a <code> CallableStatement </code> object for calling database
-     * stored procedures.
+     * Creates a <code> CallableStatement </code> object for calling database stored
+     * procedures.
      *
-     * @param sql                  SQL Statement
-     * @param resultSetType        Type of the ResultSet
+     * @param sql SQL Statement
+     * @param resultSetType Type of the ResultSet
      * @param resultSetConcurrency ResultSet Concurrency.
      * @return <code> CallableStatement</code> object.
      * @throws SQLException In case of a database error.
      */
-    public CallableStatement prepareCall(String sql, int resultSetType,
-                                         int resultSetConcurrency) throws SQLException {
-        return mc.prepareCachedCallableStatement(this, sql, resultSetType, resultSetConcurrency);
+    @Override
+    public CallableStatement prepareCall(String sql, int resultSetType, int resultSetConcurrency) throws SQLException {
+        return managedConnectionImpl.prepareCachedCallableStatement(this, sql, resultSetType, resultSetConcurrency);
     }
 
     /**
-     * Creates a <code> CallableStatement </code> object for calling database
-     * stored procedures.
+     * Creates a <code> CallableStatement </code> object for calling database stored
+     * procedures.
      *
-     * @param sql                  SQL Statement
-     * @param resultSetType        Type of the ResultSet
+     * @param sql SQL Statement
+     * @param resultSetType Type of the ResultSet
      * @param resultSetConcurrency ResultSet Concurrency.
      * @param resultSetHoldability ResultSet Holdability.
      * @return <code> CallableStatement</code> object.
      * @throws SQLException In case of a database error.
      */
-     public CallableStatement prepareCall(String sql, int resultSetType,
-                                         int resultSetConcurrency,
-                                         int resultSetHoldability) throws SQLException {
-        return mc.prepareCachedCallableStatement(this, sql, resultSetType,
-                resultSetConcurrency, resultSetHoldability);
+    @Override
+    public CallableStatement prepareCall(String sql, int resultSetType, int resultSetConcurrency, int resultSetHoldability) throws SQLException {
+        return managedConnectionImpl.prepareCachedCallableStatement(this, sql, resultSetType, resultSetConcurrency, resultSetHoldability);
     }
 
     /**
-     * Creates a <code> PreparedStatement </code> object for sending
-     * paramterized SQL statements to database
+     * Creates a <code> PreparedStatement </code> object for sending paramterized
+     * SQL statements to database
      *
      * @param sql SQL Statement
      * @return <code> PreparedStatement</code> object.
      * @throws SQLException In case of a database error.
      */
+    @Override
     public PreparedStatement prepareStatement(String sql) throws SQLException {
-        return mc.prepareCachedStatement(this, sql, ResultSet.TYPE_FORWARD_ONLY,
-                ResultSet.CONCUR_READ_ONLY);
+        return managedConnectionImpl.prepareCachedStatement(this, sql, TYPE_FORWARD_ONLY, CONCUR_READ_ONLY);
     }
 
     /**
-     * Creates a <code> PreparedStatement </code> object for sending
-     * paramterized SQL statements to database
+     * Creates a <code> PreparedStatement </code> object for sending paramterized
+     * SQL statements to database
      *
-     * @param sql               SQL Statement
-     * @param autoGeneratedKeys a flag indicating AutoGeneratedKeys need to be returned.
+     * @param sql SQL Statement
+     * @param autoGeneratedKeys a flag indicating AutoGeneratedKeys need to be
+     * returned.
      * @return <code> PreparedStatement</code> object.
      * @throws SQLException In case of a database error.
      */
-     public PreparedStatement prepareStatement(String sql, int autoGeneratedKeys) throws SQLException {
-        return mc.prepareCachedStatement(this, sql, autoGeneratedKeys);
+    @Override
+    public PreparedStatement prepareStatement(String sql, int autoGeneratedKeys) throws SQLException {
+        return managedConnectionImpl.prepareCachedStatement(this, sql, autoGeneratedKeys);
     }
 
     /**
-     * Creates a <code> PreparedStatement </code> object for sending
-     * paramterized SQL statements to database
+     * Creates a <code> PreparedStatement </code> object for sending paramterized
+     * SQL statements to database
      *
-     * @param sql           SQL Statement
-     * @param columnIndexes an array of column indexes indicating the columns that should be
-     *                      returned from the inserted row or rows.
+     * @param sql SQL Statement
+     * @param columnIndexes an array of column indexes indicating the columns that
+     * should be returned from the inserted row or rows.
      * @return <code> PreparedStatement</code> object.
      * @throws SQLException In case of a database error.
      */
-     public PreparedStatement prepareStatement(String sql, int[] columnIndexes) throws SQLException {
-        return mc.prepareCachedStatement(this, sql, columnIndexes);
+    @Override
+    public PreparedStatement prepareStatement(String sql, int[] columnIndexes) throws SQLException {
+        return managedConnectionImpl.prepareCachedStatement(this, sql, columnIndexes);
     }
 
     /**
-     * Creates a <code> PreparedStatement </code> object for sending
-     * paramterized SQL statements to database
+     * Creates a <code> PreparedStatement </code> object for sending paramterized
+     * SQL statements to database
      *
-     * @param sql                  SQL Statement
-     * @param resultSetType        Type of the ResultSet
+     * @param sql SQL Statement
+     * @param resultSetType Type of the ResultSet
      * @param resultSetConcurrency ResultSet Concurrency.
      * @return <code> PreparedStatement</code> object.
      * @throws SQLException In case of a database error.
      */
-     public PreparedStatement prepareStatement(String sql, int resultSetType,
-                                              int resultSetConcurrency) throws SQLException {
-        return mc.prepareCachedStatement(this, sql, resultSetType, resultSetConcurrency);
+    @Override
+    public PreparedStatement prepareStatement(String sql, int resultSetType, int resultSetConcurrency) throws SQLException {
+        return managedConnectionImpl.prepareCachedStatement(this, sql, resultSetType, resultSetConcurrency);
     }
 
     /**
-     * Creates a <code> PreparedStatement </code> object for sending
-     * paramterized SQL statements to database
+     * Creates a <code> PreparedStatement </code> object for sending paramterized
+     * SQL statements to database
      *
-     * @param sql                  SQL Statement
-     * @param resultSetType        Type of the ResultSet
+     * @param sql SQL Statement
+     * @param resultSetType Type of the ResultSet
      * @param resultSetConcurrency ResultSet Concurrency.
      * @param resultSetHoldability ResultSet Holdability.
      * @return <code> PreparedStatement</code> object.
      * @throws SQLException In case of a database error.
      */
-     public PreparedStatement prepareStatement(String sql, int resultSetType,
-                                              int resultSetConcurrency,
-                                              int resultSetHoldability) throws SQLException {
-        return mc.prepareCachedStatement(this, sql, resultSetType,
-                resultSetConcurrency, resultSetHoldability);
+    @Override
+    public PreparedStatement prepareStatement(String sql, int resultSetType, int resultSetConcurrency, int resultSetHoldability) throws SQLException {
+        return managedConnectionImpl.prepareCachedStatement(this, sql, resultSetType, resultSetConcurrency, resultSetHoldability);
     }
 
     /**
-     * Creates a <code> PreparedStatement </code> object for sending
-     * paramterized SQL statements to database
+     * Creates a <code> PreparedStatement </code> object for sending paramterized
+     * SQL statements to database
      *
-     * @param sql         SQL Statement
+     * @param sql SQL Statement
      * @param columnNames Name of bound columns.
      * @return <code> PreparedStatement</code> object.
      * @throws SQLException In case of a database error.
      */
-     public PreparedStatement prepareStatement(String sql, String[] columnNames) throws SQLException {
+    @Override
+    public PreparedStatement prepareStatement(String sql, String[] columnNames) throws SQLException {
         checkValidity();
         jdbcPreInvoke();
-        return mc.prepareCachedStatement(this, sql, columnNames);
+        return managedConnectionImpl.prepareCachedStatement(this, sql, columnNames);
     }
 
-      public PreparedStatementWrapper40 prepareCachedStatement(String sql,
-              int resultSetType, int resultSetConcurrency, boolean enableCaching)
-              throws SQLException {
-           return new PreparedStatementWrapper40(this, super.prepareStatement(sql,
-                   resultSetType, resultSetConcurrency), enableCaching);
-       }
+    @Override
+    public PreparedStatementWrapper40 prepareCachedStatement(String sql, int resultSetType, int resultSetConcurrency, boolean enableCaching) throws SQLException {
+        return new PreparedStatementWrapper40(
+            this,
+            super.prepareStatement(sql, resultSetType, resultSetConcurrency),
+            enableCaching);
+    }
 
-       public PreparedStatementWrapper40 prepareCachedStatement(String sql,
-              String[] columnNames, boolean enableCaching)
-              throws SQLException {
-           return new PreparedStatementWrapper40(this,
-                   super.prepareStatement(sql, columnNames), enableCaching);
-       }
+    @Override
+    public PreparedStatementWrapper40 prepareCachedStatement(String sql, String[] columnNames, boolean enableCaching) throws SQLException {
+        return new PreparedStatementWrapper40(this, super.prepareStatement(sql, columnNames), enableCaching);
+    }
 
-        public PreparedStatementWrapper40 prepareCachedStatement(String sql,
-                int resultSetType, int resultSetConcurrency, int resultSetHoldability,
-                boolean enableCaching) throws SQLException {
-            return new PreparedStatementWrapper40(this,
-                    super.prepareCall(sql, resultSetType, resultSetConcurrency, resultSetHoldability),
-                    enableCaching);
-        }
+    @Override
+    public PreparedStatementWrapper40 prepareCachedStatement(String sql, int resultSetType, int resultSetConcurrency, int resultSetHoldability, boolean enableCaching) throws SQLException {
+        return new PreparedStatementWrapper40(
+            this,
+            super.prepareCall(sql, resultSetType, resultSetConcurrency, resultSetHoldability),
+            enableCaching);
+    }
 
-        public PreparedStatementWrapper40 prepareCachedStatement(String sql,
-              int[] columnIndexes, boolean enableCaching)
-              throws SQLException {
-           return new PreparedStatementWrapper40(this,
-                   super.prepareStatement(sql, columnIndexes), enableCaching);
-       }
+    @Override
+    public PreparedStatementWrapper40 prepareCachedStatement(String sql, int[] columnIndexes, boolean enableCaching) throws SQLException {
+        return new PreparedStatementWrapper40(this, super.prepareStatement(sql, columnIndexes), enableCaching);
+    }
 
-        public PreparedStatementWrapper40 prepareCachedStatement(String sql,
-              int autoGeneratedKeys, boolean enableCaching)
-              throws SQLException {
-           return new PreparedStatementWrapper40(this,
-                   super.prepareStatement(sql, autoGeneratedKeys), enableCaching);
-       }
+    @Override
+    public PreparedStatementWrapper40 prepareCachedStatement(String sql, int autoGeneratedKeys, boolean enableCaching) throws SQLException {
+        return new PreparedStatementWrapper40(this, super.prepareStatement(sql, autoGeneratedKeys), enableCaching);
+    }
 
-        public CallableStatementWrapper40 callableCachedStatement(String sql,
-               int resultSetType, int resultSetConcurrency, boolean enableCaching)
-               throws SQLException {
-           return new CallableStatementWrapper40(this, super.prepareCall(sql,
-                   resultSetType, resultSetConcurrency), enableCaching);
-       }
+    @Override
+    public CallableStatementWrapper40 callableCachedStatement(String sql, int resultSetType, int resultSetConcurrency, boolean enableCaching) throws SQLException {
+        return new CallableStatementWrapper40(this, super.prepareCall(sql, resultSetType, resultSetConcurrency), enableCaching);
+    }
 
-        public CallableStatementWrapper40 callableCachedStatement(String sql,
-               int resultSetType, int resultSetConcurrency,
-               int resultSetHoldability, boolean enableCaching)
-               throws SQLException {
-           return new CallableStatementWrapper40(this, super.prepareCall(sql,
-                   resultSetType, resultSetConcurrency, resultSetHoldability),
-                   enableCaching);
-       }
+    @Override
+    public CallableStatementWrapper40 callableCachedStatement(String sql, int resultSetType, int resultSetConcurrency, int resultSetHoldability, boolean enableCaching) throws SQLException {
+        return new CallableStatementWrapper40(
+            this,
+            super.prepareCall(sql, resultSetType, resultSetConcurrency, resultSetHoldability),
+            enableCaching);
+    }
 
 }
diff --git a/appserver/jdbc/jdbc-ra/jdbc40/src/main/java/com/sun/gjc/spi/jdbc40/DataSource40.java b/appserver/jdbc/jdbc-ra/jdbc40/src/main/java/com/sun/gjc/spi/jdbc40/DataSource40.java
index 00c0878..7a43fb9 100644
--- a/appserver/jdbc/jdbc-ra/jdbc40/src/main/java/com/sun/gjc/spi/jdbc40/DataSource40.java
+++ b/appserver/jdbc/jdbc-ra/jdbc40/src/main/java/com/sun/gjc/spi/jdbc40/DataSource40.java
@@ -1,4 +1,5 @@
 /*
+ * Copyright (c) 2022 Contributors to the Eclipse Foundation.
  * Copyright (c) 1997, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
@@ -16,38 +17,40 @@
 
 package com.sun.gjc.spi.jdbc40;
 
+import static java.util.logging.Level.SEVERE;
+import static java.util.logging.Level.WARNING;
+
+import java.sql.SQLException;
+import java.sql.SQLFeatureNotSupportedException;
+import java.sql.Wrapper;
+import java.util.logging.Logger;
+
 import com.sun.enterprise.util.i18n.StringManager;
-import com.sun.gjc.common.DataSourceObjectBuilder;
 import com.sun.gjc.spi.ManagedConnectionFactoryImpl;
 import com.sun.gjc.spi.base.AbstractDataSource;
 
 import jakarta.resource.ResourceException;
 import jakarta.resource.spi.ConnectionManager;
-import java.util.logging.Level;
-import java.sql.*;
-import java.util.logging.Logger;
 
 /**
- * Holds the <code>java.sql.Connection</code> object, which is to be
- * passed to the application program.
+ * Holds the <code>java.sql.Connection</code> object, which is to be passed to
+ * the application program.
  *
  * @author Binod P.G
  * @version 1.0, 02/07/31
  */
 public class DataSource40 extends AbstractDataSource {
 
-
-    protected final static StringManager localStrings =
-            StringManager.getManager(ManagedConnectionFactoryImpl.class);
+    private static final long serialVersionUID = 1L;
+    protected final static StringManager localStrings = StringManager.getManager(ManagedConnectionFactoryImpl.class);
 
     /**
      * Constructs <code>DataSource</code> object. This is created by the
      * <code>ManagedConnectionFactory</code> object.
      *
-     * @param mcf <code>ManagedConnectionFactory</code> object
-     *            creating this object.
-     * @param cm  <code>ConnectionManager</code> object either associated
-     *            with Application server or Resource Adapter.
+     * @param mcf <code>ManagedConnectionFactory</code> object creating this object.
+     * @param cm <code>ConnectionManager</code> object either associated with
+     * Application server or Resource Adapter.
      */
     public DataSource40(ManagedConnectionFactoryImpl mcf, ConnectionManager cm) {
         super(mcf, cm);
@@ -57,23 +60,26 @@
      * Returns an object that implements the given interface to allow access to
      * non-standard methods, or standard methods not exposed by the proxy.
      * <p/>
-     * If the receiver implements the interface then the result is the receiver
-     * or a proxy for the receiver. If the receiver is a wrapper
-     * and the wrapped object implements the interface then the result is the
-     * wrapped object or a proxy for the wrapped object. Otherwise return the
-     * the result of calling <code>unwrap</code> recursively on the wrapped object
-     * or a proxy for that result. If the receiver is not a
-     * wrapper and does not implement the interface, then an <code>SQLException</code> is thrown.
+     * If the receiver implements the interface then the result is the receiver or a
+     * proxy for the receiver. If the receiver is a wrapper and the wrapped object
+     * implements the interface then the result is the wrapped object or a proxy for
+     * the wrapped object. Otherwise return the the result of calling
+     * <code>unwrap</code> recursively on the wrapped object or a proxy for that
+     * result. If the receiver is not a wrapper and does not implement the
+     * interface, then an <code>SQLException</code> is thrown.
      *
      * @param iface A Class defining an interface that the result must implement.
-     * @return an object that implements the interface. May be a proxy for the actual implementing object.
-     * @throws java.sql.SQLException If no object found that implements the interface
+     * @return an object that implements the interface. May be a proxy for the
+     * actual implementing object.
+     * @throws java.sql.SQLException If no object found that implements the
+     * interface
      * @since 1.6
      */
+    @Override
     public <T> T unwrap(Class<T> iface) throws SQLException {
         T result;
         try {
-            Object cds = mcf.getDataSource();
+            Object cds = managedConnectionFactoryImpl.getDataSource();
 
             if (iface.isInstance(cds)) {
                 result = iface.cast(cds);
@@ -84,54 +90,58 @@
                 throw new SQLException(msg);
             }
         } catch (ResourceException e) {
-            _logger.log(Level.WARNING, "jdbc.exc_unwrap", e);
+            _logger.log(WARNING, "jdbc.exc_unwrap", e);
             throw new SQLException(e);
         }
+
         return result;
     }
 
     /**
-     * Returns true if this either implements the interface argument or is directly or indirectly a wrapper
-     * for an object that does. Returns false otherwise. If this implements the interface then return true,
-     * else if this is a wrapper then return the result of recursively calling <code>isWrapperFor</code> on the wrapped
-     * object. If this does not implement the interface and is not a wrapper, return false.
-     * This method should be implemented as a low-cost operation compared to <code>unwrap</code> so that
-     * callers can use this method to avoid expensive <code>unwrap</code> calls that may fail. If this method
-     * returns true then calling <code>unwrap</code> with the same argument should succeed.
+     * Returns true if this either implements the interface argument or is directly
+     * or indirectly a wrapper for an object that does. Returns false otherwise. If
+     * this implements the interface then return true, else if this is a wrapper
+     * then return the result of recursively calling <code>isWrapperFor</code> on
+     * the wrapped object. If this does not implement the interface and is not a
+     * wrapper, return false. This method should be implemented as a low-cost
+     * operation compared to <code>unwrap</code> so that callers can use this method
+     * to avoid expensive <code>unwrap</code> calls that may fail. If this method
+     * returns true then calling <code>unwrap</code> with the same argument should
+     * succeed.
      *
      * @param iface a Class defining an interface.
-     * @return true if this implements the interface or directly or indirectly wraps an object that does.
-     * @throws java.sql.SQLException if an error occurs while determining whether this is a wrapper
-     *                               for an object with the given interface.
+     * @return true if this implements the interface or directly or indirectly wraps
+     * an object that does.
+     * @throws java.sql.SQLException if an error occurs while determining whether
+     * this is a wrapper for an object with the given interface.
      * @since 1.6
      */
+    @Override
     public boolean isWrapperFor(Class<?> iface) throws SQLException {
         boolean result = false;
         try {
-            Object cds = mcf.getDataSource();
+            Object cds = managedConnectionFactoryImpl.getDataSource();
 
             if (iface.isInstance(cds)) {
                 result = true;
             } else if (cds instanceof java.sql.Wrapper) {
-                result = ((java.sql.Wrapper) cds).isWrapperFor(iface);
+                result = ((Wrapper) cds).isWrapperFor(iface);
             }
         } catch (ResourceException e) {
-            _logger.log(Level.WARNING, "jdbc.exc_is_wrapper", e);
+            _logger.log(WARNING, "jdbc.exc_is_wrapper", e);
             throw new SQLException(e);
         }
         return result;
     }
 
+    @Override
     public Logger getParentLogger() throws SQLFeatureNotSupportedException {
-        if(DataSourceObjectBuilder.isJDBC41()) {
-            try {
-                return (Logger) executor.invokeMethod(mcf.getDataSource().getClass(),
-                    "getParentLogger", null);
-            } catch (ResourceException ex) {
-                _logger.log(Level.SEVERE, "jdbc.ex_get_parent_logger", ex);
-                throw new SQLFeatureNotSupportedException(ex);
-            }
+        try {
+            return (Logger) executor.invokeMethod(managedConnectionFactoryImpl.getDataSource().getClass(), "getParentLogger", null);
+        } catch (ResourceException ex) {
+            _logger.log(SEVERE, "jdbc.ex_get_parent_logger", ex);
+            throw new SQLFeatureNotSupportedException(ex);
         }
-        throw new UnsupportedOperationException("Operation not supported in this runtime.");
+
     }
 }
diff --git a/appserver/jdbc/jdbc-ra/jdbc40/src/main/java/com/sun/gjc/spi/jdbc40/DatabaseMetaDataWrapper40.java b/appserver/jdbc/jdbc-ra/jdbc40/src/main/java/com/sun/gjc/spi/jdbc40/DatabaseMetaDataWrapper40.java
index 36e6c0d..cc33230 100644
--- a/appserver/jdbc/jdbc-ra/jdbc40/src/main/java/com/sun/gjc/spi/jdbc40/DatabaseMetaDataWrapper40.java
+++ b/appserver/jdbc/jdbc-ra/jdbc40/src/main/java/com/sun/gjc/spi/jdbc40/DatabaseMetaDataWrapper40.java
@@ -1,4 +1,5 @@
 /*
+ * Copyright (c) 2022 Contributors to the Eclipse Foundation.
  * Copyright (c) 1997, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
@@ -16,11 +17,15 @@
 
 package com.sun.gjc.spi.jdbc40;
 
-import com.sun.gjc.common.DataSourceObjectBuilder;
+import java.sql.Connection;
+import java.sql.DatabaseMetaData;
+import java.sql.ResultSet;
+import java.sql.RowIdLifetime;
+import java.sql.SQLException;
+import java.util.logging.Level;
+
 import com.sun.gjc.spi.base.DatabaseMetaDataWrapper;
 
-import java.sql.*;
-import java.util.logging.Level;
 import jakarta.resource.ResourceException;
 
 /**
@@ -31,7 +36,7 @@
     /**
      * Creates a new instance of DatabaseMetaDataWrapper40 for JDBC 4.0
      *
-     * @param con      Connection that is wrapped
+     * @param con Connection that is wrapped
      * @param metaData DatabaseMetaData that is wrapped
      */
     public DatabaseMetaDataWrapper40(Connection con, DatabaseMetaData metaData) {
@@ -39,256 +44,270 @@
     }
 
     /**
-     * Indicates whether or not this data source supports the SQL <code>ROWID</code> type,
-     * and if so  the lifetime for which a <code>RowId</code> object remains valid.
+     * Indicates whether or not this data source supports the SQL <code>ROWID</code>
+     * type, and if so the lifetime for which a <code>RowId</code> object remains
+     * valid.
      * <p/>
      * The returned int values have the following relationship:
+     *
      * <pre>
-     *     ROWID_UNSUPPORTED < ROWID_VALID_OTHER < ROWID_VALID_TRANSACTION
-     *         < ROWID_VALID_SESSION < ROWID_VALID_FOREVER
+     * ROWID_UNSUPPORTED < ROWID_VALID_OTHER < ROWID_VALID_TRANSACTION < ROWID_VALID_SESSION < ROWID_VALID_FOREVER
      * </pre>
+     *
      * so conditional logic such as
+     *
      * <pre>
      *     if (metadata.getRowIdLifetime() > DatabaseMetaData.ROWID_VALID_TRANSACTION)
      * </pre>
-     * can be used. Valid Forever means valid across all Sessions, and valid for
-     * a Session means valid across all its contained Transactions.
+     *
+     * can be used. Valid Forever means valid across all Sessions, and valid for a
+     * Session means valid across all its contained Transactions.
      *
      * @return the status indicating the lifetime of a <code>RowId</code>
      * @throws SQLException if a database access error occurs
      * @since 1.6
      */
+    @Override
     public RowIdLifetime getRowIdLifetime() throws SQLException {
         return databaseMetaData.getRowIdLifetime();
     }
 
     /**
-     * Retrieves the schema names available in this database.  The results
-     * are ordered by <code>TABLE_CATALOG</code> and
-     * <code>TABLE_SCHEM</code>.
+     * Retrieves the schema names available in this database. The results are
+     * ordered by <code>TABLE_CATALOG</code> and <code>TABLE_SCHEM</code>.
      * <p/>
-     * <P>The schema columns are:
+     * <P>
+     * The schema columns are:
      * <OL>
      * <LI><B>TABLE_SCHEM</B> String => schema name
      * <LI><B>TABLE_CATALOG</B> String => catalog name (may be <code>null</code>)
      * </OL>
      *
-     * @param catalog       a catalog name; must match the catalog name as it is stored
-     *                      in the database;"" retrieves those without a catalog; null means catalog
-     *                      name should not be used to narrow down the search.
+     * @param catalog a catalog name; must match the catalog name as it is stored in
+     * the database;"" retrieves those without a catalog; null means catalog name
+     * should not be used to narrow down the search.
      * @param schemaPattern a schema name; must match the schema name as it is
-     *                      stored in the database; null means
-     *                      schema name should not be used to narrow down the search.
-     * @return a <code>ResultSet</code> object in which each row is a
-     *         schema description
+     * stored in the database; null means schema name should not be used to narrow
+     * down the search.
+     * @return a <code>ResultSet</code> object in which each row is a schema
+     * description
      * @throws SQLException if a database access error occurs
      * @see #getSearchStringEscape
      * @since 1.6
      */
+    @Override
     public ResultSet getSchemas(String catalog, String schemaPattern) throws SQLException {
         return databaseMetaData.getSchemas(catalog, schemaPattern);
     }
 
     /**
-     * Retrieves whether this database supports invoking user-defined or vendor functions
-     * using the stored procedure escape syntax.
+     * Retrieves whether this database supports invoking user-defined or vendor
+     * functions using the stored procedure escape syntax.
      *
      * @return <code>true</code> if so; <code>false</code> otherwise
      * @throws SQLException if a database access error occurs
      * @since 1.6
      */
+    @Override
     public boolean supportsStoredFunctionsUsingCallSyntax() throws SQLException {
         return databaseMetaData.supportsStoredFunctionsUsingCallSyntax();
     }
 
     /**
-     * Retrieves whether a <code>SQLException</code> while autoCommit is <code>true</code> inidcates
-     * that all open ResultSets are closed, even ones that are holdable.  When a <code>SQLException</code> occurs while
-     * autocommit is <code>true</code>, it is vendor specific whether the JDBC driver responds with a commit operation, a
-     * rollback operation, or by doing neither a commit nor a rollback.  A potential result of this difference
-     * is in whether or not holdable ResultSets are closed.
+     * Retrieves whether a <code>SQLException</code> while autoCommit is
+     * <code>true</code> inidcates that all open ResultSets are closed, even ones
+     * that are holdable. When a <code>SQLException</code> occurs while autocommit
+     * is <code>true</code>, it is vendor specific whether the JDBC driver responds
+     * with a commit operation, a rollback operation, or by doing neither a commit
+     * nor a rollback. A potential result of this difference is in whether or not
+     * holdable ResultSets are closed.
      *
      * @return <code>true</code> if so; <code>false</code> otherwise
      * @throws SQLException if a database access error occurs
      * @since 1.6
      */
+    @Override
     public boolean autoCommitFailureClosesAllResultSets() throws SQLException {
         return databaseMetaData.autoCommitFailureClosesAllResultSets();
     }
 
     /**
-     * Retrieves a list of the client info properties
-     * that the driver supports.  The result set contains the following columns
+     * Retrieves a list of the client info properties that the driver supports. The
+     * result set contains the following columns
      * <p/>
      * <ol>
      * <li><b>NAME</b> String=> The name of the client info property<br>
      * <li><b>MAX_LEN</b> int=> The maximum length of the value for the property<br>
      * <li><b>DEFAULT_VALUE</b> String=> The default value of the property<br>
-     * <li><b>DESCRIPTION</b> String=> A description of the property.  This will typically
-     * contain information as to where this property is
-     * stored in the database.
+     * <li><b>DESCRIPTION</b> String=> A description of the property. This will
+     * typically contain information as to where this property is stored in the
+     * database.
      * </ol>
      * <p/>
      * The <code>ResultSet</code> is sorted by the NAME column
      * <p/>
      *
      * @throws SQLException if a database access error occurs
-     *                      <p/>
+     * <p/>
      * @return A <code>ResultSet</code> object; each row is a supported client info
      * property
      * <p/>
      * @since 1.6
      */
+    @Override
     public ResultSet getClientInfoProperties() throws SQLException {
         return databaseMetaData.getClientInfoProperties();
     }
 
     /**
-     * Retrieves a description of the  system and user functions available
-     * in the given catalog.
+     * Retrieves a description of the system and user functions available in the
+     * given catalog.
      * <p/>
-     * Only system and user function descriptions matching the schema and
-     * function name criteria are returned.  They are ordered by
-     * <code>FUNCTION_CAT</code>, <code>FUNCTION_SCHEM</code>,
-     * <code>FUNCTION_NAME</code> and
+     * Only system and user function descriptions matching the schema and function
+     * name criteria are returned. They are ordered by <code>FUNCTION_CAT</code>,
+     * <code>FUNCTION_SCHEM</code>, <code>FUNCTION_NAME</code> and
      * <code>SPECIFIC_ NAME</code>.
      * <p/>
-     * <P>Each function description has the the following columns:
+     * <P>
+     * Each function description has the the following columns:
      * <OL>
      * <LI><B>FUNCTION_CAT</B> String => function catalog (may be <code>null</code>)
-     * <LI><B>FUNCTION_SCHEM</B> String => function schema (may be <code>null</code>)
-     * <LI><B>FUNCTION_NAME</B> String => function name.  This is the name
-     * used to invoke the function
+     * <LI><B>FUNCTION_SCHEM</B> String => function schema (may be
+     * <code>null</code>)
+     * <LI><B>FUNCTION_NAME</B> String => function name. This is the name used to
+     * invoke the function
      * <LI><B>REMARKS</B> String => explanatory comment on the function
      * <LI><B>FUNCTION_TYPE</B> short => kind of function:
      * <UL>
-     * <LI>functionResultUnknown - Cannot determine if a return value
-     * or table will be returned
-     * <LI> functionNoTable- Does not return a table
-     * <LI> functionReturnsTable - Returns a table
+     * <LI>functionResultUnknown - Cannot determine if a return value or table will
+     * be returned
+     * <LI>functionNoTable- Does not return a table
+     * <LI>functionReturnsTable - Returns a table
      * </UL>
-     * <LI><B>SPECIFIC_NAME</B> String  => the name which uniquely identifies
-     * this function within its schema.  This is a user specified, or DBMS
-     * generated, name that may be different then the <code>FUNCTION_NAME</code>
-     * for example with overload functions
+     * <LI><B>SPECIFIC_NAME</B> String => the name which uniquely identifies this
+     * function within its schema. This is a user specified, or DBMS generated, name
+     * that may be different then the <code>FUNCTION_NAME</code> for example with
+     * overload functions
      * </OL>
      * <p/>
      * A user may not have permission to execute any of the functions that are
      * returned by <code>getFunctions</code>
      *
-     * @param catalog             a catalog name; must match the catalog name as it
-     *                            is stored in the database; "" retrieves those without a catalog;
-     *                            <code>null</code> means that the catalog name should not be used to narrow
-     *                            the search
-     * @param schemaPattern       a schema name pattern; must match the schema name
-     *                            as it is stored in the database; "" retrieves those without a schema;
-     *                            <code>null</code> means that the schema name should not be used to narrow
-     *                            the search
-     * @param functionNamePattern a function name pattern; must match the
-     *                            function name as it is stored in the database
+     * @param catalog a catalog name; must match the catalog name as it is stored in
+     * the database; "" retrieves those without a catalog; <code>null</code> means
+     * that the catalog name should not be used to narrow the search
+     * @param schemaPattern a schema name pattern; must match the schema name as it
+     * is stored in the database; "" retrieves those without a schema;
+     * <code>null</code> means that the schema name should not be used to narrow the
+     * search
+     * @param functionNamePattern a function name pattern; must match the function
+     * name as it is stored in the database
      * @return <code>ResultSet</code> - each row is a function description
      * @throws SQLException if a database access error occurs
      * @see #getSearchStringEscape
      * @since 1.6
      */
+    @Override
     public ResultSet getFunctions(String catalog, String schemaPattern, String functionNamePattern) throws SQLException {
         return databaseMetaData.getFunctions(catalog, schemaPattern, functionNamePattern);
     }
 
     /**
-     * Retrieves a description of the given catalog's system or user
-     * function parameters and return type.
+     * Retrieves a description of the given catalog's system or user function
+     * parameters and return type.
      * <p/>
-     * <P>Only descriptions matching the schema,  function and
-     * parameter name criteria are returned. They are ordered by
-     * <code>FUNCTION_CAT</code>, <code>FUNCTION_SCHEM</code>,
-     * <code>FUNCTION_NAME</code> and
-     * <code>SPECIFIC_ NAME</code>. Within this, the return value,
-     * if any, is first. Next are the parameter descriptions in call
-     * order. The column descriptions follow in column number order.
+     * <P>
+     * Only descriptions matching the schema, function and parameter name criteria
+     * are returned. They are ordered by <code>FUNCTION_CAT</code>,
+     * <code>FUNCTION_SCHEM</code>, <code>FUNCTION_NAME</code> and
+     * <code>SPECIFIC_ NAME</code>. Within this, the return value, if any, is first.
+     * Next are the parameter descriptions in call order. The column descriptions
+     * follow in column number order.
      * <p/>
-     * <P>Each row in the <code>ResultSet</code>
-     * is a parameter description, column description or
-     * return type description with the following fields:
+     * <P>
+     * Each row in the <code>ResultSet</code> is a parameter description, column
+     * description or return type description with the following fields:
      * <OL>
      * <LI><B>FUNCTION_CAT</B> String => function catalog (may be <code>null</code>)
-     * <LI><B>FUNCTION_SCHEM</B> String => function schema (may be <code>null</code>)
-     * <LI><B>FUNCTION_NAME</B> String => function name.  This is the name
-     * used to invoke the function
+     * <LI><B>FUNCTION_SCHEM</B> String => function schema (may be
+     * <code>null</code>)
+     * <LI><B>FUNCTION_NAME</B> String => function name. This is the name used to
+     * invoke the function
      * <LI><B>COLUMN_NAME</B> String => column/parameter name
      * <LI><B>COLUMN_TYPE</B> Short => kind of column/parameter:
      * <UL>
-     * <LI> functionColumnUnknown - nobody knows
-     * <LI> functionColumnIn - IN parameter
-     * <LI> functionColumnInOut - INOUT parameter
-     * <LI> functionColumnOut - OUT parameter
-     * <LI> functionColumnReturn - function return value
-     * <LI> functionColumnResult - Indicates that the parameter or column
-     * is a column in the <code>ResultSet</code>
+     * <LI>functionColumnUnknown - nobody knows
+     * <LI>functionColumnIn - IN parameter
+     * <LI>functionColumnInOut - INOUT parameter
+     * <LI>functionColumnOut - OUT parameter
+     * <LI>functionColumnReturn - function return value
+     * <LI>functionColumnResult - Indicates that the parameter or column is a column
+     * in the <code>ResultSet</code>
      * </UL>
      * <LI><B>DATA_TYPE</B> int => SQL type from java.sql.Types
-     * <LI><B>TYPE_NAME</B> String => SQL type name, for a UDT type the
-     * type name is fully qualified
+     * <LI><B>TYPE_NAME</B> String => SQL type name, for a UDT type the type name is
+     * fully qualified
      * <LI><B>PRECISION</B> int => precision
      * <LI><B>LENGTH</B> int => length in bytes of data
-     * <LI><B>SCALE</B> short => scale -  null is returned for data types where
-     * SCALE is not applicable.
+     * <LI><B>SCALE</B> short => scale - null is returned for data types where SCALE
+     * is not applicable.
      * <LI><B>RADIX</B> short => radix
      * <LI><B>NULLABLE</B> short => can it contain NULL.
      * <UL>
-     * <LI> functionNoNulls - does not allow NULL values
-     * <LI> functionNullable - allows NULL values
-     * <LI> functionNullableUnknown - nullability unknown
+     * <LI>functionNoNulls - does not allow NULL values
+     * <LI>functionNullable - allows NULL values
+     * <LI>functionNullableUnknown - nullability unknown
      * </UL>
      * <LI><B>REMARKS</B> String => comment describing column/parameter
-     * <LI><B>CHAR_OCTET_LENGTH</B> int  => the maximum length of binary
-     * and character based parameters or columns.  For any other datatype the returned value
-     * is a NULL
-     * <LI><B>ORDINAL_POSITION</B> int  => the ordinal position, starting
-     * from 1, for the input and output parameters. A value of 0
-     * is returned if this row describes the function's return value.
-     * For result set columns, it is the
+     * <LI><B>CHAR_OCTET_LENGTH</B> int => the maximum length of binary and
+     * character based parameters or columns. For any other datatype the returned
+     * value is a NULL
+     * <LI><B>ORDINAL_POSITION</B> int => the ordinal position, starting from 1, for
+     * the input and output parameters. A value of 0 is returned if this row
+     * describes the function's return value. For result set columns, it is the
      * ordinal position of the column in the result set starting from 1.
-     * <LI><B>IS_NULLABLE</B> String  => ISO rules are used to determine
-     * the nullability for a parameter or column.
+     * <LI><B>IS_NULLABLE</B> String => ISO rules are used to determine the
+     * nullability for a parameter or column.
      * <UL>
-     * <LI> YES           --- if the parameter or column can include NULLs
-     * <LI> NO            --- if the parameter or column  cannot include NULLs
-     * <LI> empty string  --- if the nullability for the
-     * parameter  or column is unknown
+     * <LI>YES --- if the parameter or column can include NULLs
+     * <LI>NO --- if the parameter or column cannot include NULLs
+     * <LI>empty string --- if the nullability for the parameter or column is
+     * unknown
      * </UL>
-     * <LI><B>SPECIFIC_NAME</B> String  => the name which uniquely identifies
-     * this function within its schema.  This is a user specified, or DBMS
-     * generated, name that may be different then the <code>FUNCTION_NAME</code>
-     * for example with overload functions
+     * <LI><B>SPECIFIC_NAME</B> String => the name which uniquely identifies this
+     * function within its schema. This is a user specified, or DBMS generated, name
+     * that may be different then the <code>FUNCTION_NAME</code> for example with
+     * overload functions
      * </OL>
      * <p/>
-     * <p>The PRECISION column represents the specified column size for the given
-     * parameter or column.
-     * For numeric data, this is the maximum precision.  For character data, this is the length in characters.
-     * For datetime datatypes, this is the length in characters of the String representation (assuming the
-     * maximum allowed precision of the fractional seconds component). For binary data, this is the length in bytes.  For the ROWID datatype,
-     * this is the length in bytes. Null is returned for data types where the
-     * column size is not applicable.
+     * <p>
+     * The PRECISION column represents the specified column size for the given
+     * parameter or column. For numeric data, this is the maximum precision. For
+     * character data, this is the length in characters. For datetime datatypes,
+     * this is the length in characters of the String representation (assuming the
+     * maximum allowed precision of the fractional seconds component). For binary
+     * data, this is the length in bytes. For the ROWID datatype, this is the length
+     * in bytes. Null is returned for data types where the column size is not
+     * applicable.
      *
-     * @param catalog             a catalog name; must match the catalog name as it
-     *                            is stored in the database; "" retrieves those without a catalog;
-     *                            <code>null</code> means that the catalog name should not be used to narrow
-     *                            the search
-     * @param schemaPattern       a schema name pattern; must match the schema name
-     *                            as it is stored in the database; "" retrieves those without a schema;
-     *                            <code>null</code> means that the schema name should not be used to narrow
-     *                            the search
-     * @param functionNamePattern a procedure name pattern; must match the
-     *                            function name as it is stored in the database
-     * @param columnNamePattern   a parameter name pattern; must match the
-     *                            parameter or column name as it is stored in the database
-     * @return <code>ResultSet</code> - each row describes a
-     *         user function parameter, column  or return type
+     * @param catalog a catalog name; must match the catalog name as it is stored in
+     * the database; "" retrieves those without a catalog; <code>null</code> means
+     * that the catalog name should not be used to narrow the search
+     * @param schemaPattern a schema name pattern; must match the schema name as it
+     * is stored in the database; "" retrieves those without a schema;
+     * <code>null</code> means that the schema name should not be used to narrow the
+     * search
+     * @param functionNamePattern a procedure name pattern; must match the function
+     * name as it is stored in the database
+     * @param columnNamePattern a parameter name pattern; must match the parameter
+     * or column name as it is stored in the database
+     * @return <code>ResultSet</code> - each row describes a user function
+     * parameter, column or return type
      * @throws SQLException if a database access error occurs
      * @see #getSearchStringEscape
      * @since 1.6
      */
+    @Override
     public ResultSet getFunctionColumns(String catalog, String schemaPattern, String functionNamePattern, String columnNamePattern) throws SQLException {
         return databaseMetaData.getFunctionColumns(catalog, schemaPattern, functionNamePattern, columnNamePattern);
     }
@@ -297,19 +316,22 @@
      * Returns an object that implements the given interface to allow access to
      * non-standard methods, or standard methods not exposed by the proxy.
      * <p/>
-     * If the receiver implements the interface then the result is the receiver
-     * or a proxy for the receiver. If the receiver is a wrapper
-     * and the wrapped object implements the interface then the result is the
-     * wrapped object or a proxy for the wrapped object. Otherwise return the
-     * the result of calling <code>unwrap</code> recursively on the wrapped object
-     * or a proxy for that result. If the receiver is not a
-     * wrapper and does not implement the interface, then an <code>SQLException</code> is thrown.
+     * If the receiver implements the interface then the result is the receiver or a
+     * proxy for the receiver. If the receiver is a wrapper and the wrapped object
+     * implements the interface then the result is the wrapped object or a proxy for
+     * the wrapped object. Otherwise return the the result of calling
+     * <code>unwrap</code> recursively on the wrapped object or a proxy for that
+     * result. If the receiver is not a wrapper and does not implement the
+     * interface, then an <code>SQLException</code> is thrown.
      *
      * @param iface A Class defining an interface that the result must implement.
-     * @return an object that implements the interface. May be a proxy for the actual implementing object.
-     * @throws java.sql.SQLException If no object found that implements the interface
+     * @return an object that implements the interface. May be a proxy for the
+     * actual implementing object.
+     * @throws java.sql.SQLException If no object found that implements the
+     * interface
      * @since 1.6
      */
+    @Override
     public <T> T unwrap(Class<T> iface) throws SQLException {
         T result;
         if (iface.isInstance(this)) {
@@ -321,20 +343,25 @@
     }
 
     /**
-     * Returns true if this either implements the interface argument or is directly or indirectly a wrapper
-     * for an object that does. Returns false otherwise. If this implements the interface then return true,
-     * else if this is a wrapper then return the result of recursively calling <code>isWrapperFor</code> on the wrapped
-     * object. If this does not implement the interface and is not a wrapper, return false.
-     * This method should be implemented as a low-cost operation compared to <code>unwrap</code> so that
-     * callers can use this method to avoid expensive <code>unwrap</code> calls that may fail. If this method
-     * returns true then calling <code>unwrap</code> with the same argument should succeed.
+     * Returns true if this either implements the interface argument or is directly
+     * or indirectly a wrapper for an object that does. Returns false otherwise. If
+     * this implements the interface then return true, else if this is a wrapper
+     * then return the result of recursively calling <code>isWrapperFor</code> on
+     * the wrapped object. If this does not implement the interface and is not a
+     * wrapper, return false. This method should be implemented as a low-cost
+     * operation compared to <code>unwrap</code> so that callers can use this method
+     * to avoid expensive <code>unwrap</code> calls that may fail. If this method
+     * returns true then calling <code>unwrap</code> with the same argument should
+     * succeed.
      *
      * @param iface a Class defining an interface.
-     * @return true if this implements the interface or directly or indirectly wraps an object that does.
-     * @throws java.sql.SQLException if an error occurs while determining whether this is a wrapper
-     *                               for an object with the given interface.
+     * @return true if this implements the interface or directly or indirectly wraps
+     * an object that does.
+     * @throws java.sql.SQLException if an error occurs while determining whether
+     * this is a wrapper for an object with the given interface.
      * @since 1.6
      */
+    @Override
     public boolean isWrapperFor(Class<?> iface) throws SQLException {
         boolean result;
         if (iface.isInstance(this)) {
@@ -345,33 +372,25 @@
         return result;
     }
 
-    public ResultSet getPseudoColumns(String catalog, String schemaPattern,
-            String tableNamePattern, String columnNamePattern) throws SQLException {
-        if (DataSourceObjectBuilder.isJDBC41()) {
-            Class<?>[] valueTypes =
-                    new Class<?>[]{String.class, String.class, String.class, String.class};
-            try {
-                return (ResultSet) getMethodExecutor().invokeMethod(databaseMetaData,
-                        "getPseudoColumns", valueTypes, catalog, schemaPattern,
-                        tableNamePattern, columnNamePattern);
-            } catch (ResourceException ex) {
-                _logger.log(Level.SEVERE, "jdbc.ex_dmd_wrapper", ex);
-                throw new SQLException(ex);
-            }
+    @Override
+    public ResultSet getPseudoColumns(String catalog, String schemaPattern, String tableNamePattern, String columnNamePattern) throws SQLException {
+        Class<?>[] valueTypes = new Class<?>[] { String.class, String.class, String.class, String.class };
+        try {
+            return (ResultSet) getMethodExecutor().invokeMethod(databaseMetaData, "getPseudoColumns", valueTypes, catalog,
+                    schemaPattern, tableNamePattern, columnNamePattern);
+        } catch (ResourceException ex) {
+            _logger.log(Level.SEVERE, "jdbc.ex_dmd_wrapper", ex);
+            throw new SQLException(ex);
         }
-        throw new UnsupportedOperationException("Operation not supported in this runtime.");
     }
 
+    @Override
     public boolean generatedKeyAlwaysReturned() throws SQLException {
-        if (DataSourceObjectBuilder.isJDBC41()) {
-            try {
-                return (Boolean) getMethodExecutor().invokeMethod(databaseMetaData,
-                        "generatedKeyAlwaysReturned", null);
-            } catch (ResourceException ex) {
-                _logger.log(Level.SEVERE, "jdbc.ex_dmd_wrapper", ex);
-                throw new SQLException(ex);
-            }
+        try {
+            return (Boolean) getMethodExecutor().invokeMethod(databaseMetaData, "generatedKeyAlwaysReturned", null);
+        } catch (ResourceException ex) {
+            _logger.log(Level.SEVERE, "jdbc.ex_dmd_wrapper", ex);
+            throw new SQLException(ex);
         }
-        throw new UnsupportedOperationException("Operation not supported in this runtime.");
     }
 }
diff --git a/appserver/jdbc/jdbc-ra/jdbc40/src/main/java/com/sun/gjc/spi/jdbc40/Jdbc40ObjectsFactory.java b/appserver/jdbc/jdbc-ra/jdbc40/src/main/java/com/sun/gjc/spi/jdbc40/Jdbc40ObjectsFactory.java
index ae9f258..860d230 100644
--- a/appserver/jdbc/jdbc-ra/jdbc40/src/main/java/com/sun/gjc/spi/jdbc40/Jdbc40ObjectsFactory.java
+++ b/appserver/jdbc/jdbc-ra/jdbc40/src/main/java/com/sun/gjc/spi/jdbc40/Jdbc40ObjectsFactory.java
@@ -16,52 +16,58 @@
 
 package com.sun.gjc.spi.jdbc40;
 
+import static java.lang.reflect.Modifier.isAbstract;
+
+import java.lang.reflect.Method;
+import java.sql.Connection;
+import java.util.logging.Level;
+
+import javax.sql.DataSource;
+
 import com.sun.gjc.spi.JdbcObjectsFactory;
 import com.sun.gjc.spi.ManagedConnectionFactoryImpl;
 import com.sun.gjc.spi.ManagedConnectionImpl;
 import com.sun.gjc.spi.base.ConnectionHolder;
-
 import com.sun.gjc.util.SQLTraceDelegator;
-import java.lang.reflect.Method;
-import java.lang.reflect.Modifier;
-import java.sql.Connection;
-import java.util.logging.Level;
 
+import jakarta.resource.spi.ConnectionManager;
 
 /**
  * Factory to create jdbc40 connection & datasource
  */
 public class Jdbc40ObjectsFactory extends JdbcObjectsFactory {
-    //indicates whether JDBC 3.0 Connection (and hence JDBC 3.0 DataSource) is used
+
+    private static final long serialVersionUID = 1L;
+
+    // indicates whether JDBC 3.0 Connection (and hence JDBC 3.0 DataSource) is used
     private boolean jdbc30Connection;
-    //indicates whether detection of JDBC 3.0 Datasource in JDK 1.6 is done or not
+
+    // indicates whether detection of JDBC 3.0 Datasource in JDK 1.6 is done or not
     private boolean initJDBC30Connection;
 
     /**
      * To get an instance of ConnectionHolder40.<br>
      * Will return a ConnectionHolder40 with or without wrapper<br>
      *
-     * @param conObject         Connection
-     * @param mcObject          ManagedConnection
-     * @param criObject         Connection Request Info
+     * @param conObject Connection
+     * @param mcObject ManagedConnection
+     * @param criObject Connection Request Info
      * @param statementWrapping Whether to wrap statement objects or not.
      * @return ConnectionHolder
      */
-    public ConnectionHolder getConnection(Connection conObject,
-                                          ManagedConnectionImpl mcObject,
-                                          jakarta.resource.spi.ConnectionRequestInfo criObject,
-                                          boolean statementWrapping,
-                                          SQLTraceDelegator sqlTraceDelegator) {
+    @Override
+    public ConnectionHolder getConnection(Connection conObject, ManagedConnectionImpl mcObject,
+            jakarta.resource.spi.ConnectionRequestInfo criObject, boolean statementWrapping, SQLTraceDelegator sqlTraceDelegator) {
         ConnectionHolder connection = null;
         if (!initJDBC30Connection) {
             detectJDBC30Connection(conObject, mcObject);
         }
+
         if (statementWrapping) {
             if (sqlTraceDelegator != null) {
-                Class connIntf[] = new Class[]{java.sql.Connection.class};
+                Class<?>[] connIntf = new Class[] { Connection.class };
                 Connection proxiedConn = getProxiedConnection(conObject, connIntf, sqlTraceDelegator);
-                connection = new ProfiledConnectionWrapper40(proxiedConn, mcObject,
-                        criObject, jdbc30Connection, sqlTraceDelegator);
+                connection = new ProfiledConnectionWrapper40(proxiedConn, mcObject, criObject, jdbc30Connection, sqlTraceDelegator);
             } else {
                 connection = new ConnectionWrapper40(conObject, mcObject, criObject, jdbc30Connection);
             }
@@ -75,11 +81,11 @@
      * Returns a DataSource instance for JDBC 4.0
      *
      * @param mcfObject Managed Connection Factory
-     * @param cmObject  Connection Manager
+     * @param cmObject Connection Manager
      * @return DataSource
      */
-    public javax.sql.DataSource getDataSourceInstance(ManagedConnectionFactoryImpl mcfObject,
-                                                      jakarta.resource.spi.ConnectionManager cmObject) {
+    @Override
+    public DataSource getDataSourceInstance(ManagedConnectionFactoryImpl mcfObject, ConnectionManager cmObject) {
         return new DataSource40(mcfObject, cmObject);
     }
 
@@ -96,21 +102,17 @@
     }
 
     public void detectJDBC30Connection(Connection con, ManagedConnectionImpl mcObject) {
-
         String dataSourceProperty = mcObject.getManagedConnectionFactory().getJdbc30DataSource();
         if (dataSourceProperty != null) {
             setJdbc30Connection(Boolean.valueOf(dataSourceProperty));
             initJDBC30Connection = true;
         } else {
             try {
-                Class paramClasses[] = new Class[]{Class.class};
+                Class<?>[] paramClasses = new Class[] { Class.class };
 
                 Method isWrapperMethod = con.getClass().getMethod("isWrapperFor", paramClasses);
-                int modifiers = isWrapperMethod.getModifiers();
-                setJdbc30Connection(Modifier.isAbstract(modifiers));
-            } catch (NoSuchMethodException e) {
-                setJdbc30Connection(true);
-            } catch (AbstractMethodError e) {
+                setJdbc30Connection(isAbstract(isWrapperMethod.getModifiers()));
+            } catch (NoSuchMethodException | AbstractMethodError e) {
                 setJdbc30Connection(true);
             } catch (Throwable t) {
                 setJdbc30Connection(true);
diff --git a/appserver/jdbc/jdbc-ra/jdbc40/src/main/java/com/sun/gjc/spi/jdbc40/PreparedStatementWrapper40.java b/appserver/jdbc/jdbc-ra/jdbc40/src/main/java/com/sun/gjc/spi/jdbc40/PreparedStatementWrapper40.java
index 287b366..84f1fb9 100644
--- a/appserver/jdbc/jdbc-ra/jdbc40/src/main/java/com/sun/gjc/spi/jdbc40/PreparedStatementWrapper40.java
+++ b/appserver/jdbc/jdbc-ra/jdbc40/src/main/java/com/sun/gjc/spi/jdbc40/PreparedStatementWrapper40.java
@@ -16,12 +16,18 @@
 
 package com.sun.gjc.spi.jdbc40;
 
-import com.sun.gjc.spi.base.PreparedStatementWrapper;
-
 import java.io.InputStream;
 import java.io.Reader;
-import java.sql.*;
+import java.sql.Connection;
+import java.sql.NClob;
+import java.sql.PreparedStatement;
+import java.sql.ResultSet;
+import java.sql.RowId;
+import java.sql.SQLException;
+import java.sql.SQLFeatureNotSupportedException;
+import java.sql.SQLXML;
 
+import com.sun.gjc.spi.base.PreparedStatementWrapper;
 
 /**
  * Wrapper for JDBC 4.0 PreparedStatement
@@ -31,523 +37,550 @@
     /**
      * Creates a new instance of PreparedStatement Wrapper for JDBC 3.0<br>
      *
-     * @param con       ConnectionWrapper<br>
+     * @param con ConnectionWrapper<br>
      * @param statement PreparedStatement that is wrapped<br>
      */
-    public PreparedStatementWrapper40(Connection con,
-                                      PreparedStatement statement, boolean statementCaching)
-            throws SQLException {
+    public PreparedStatementWrapper40(Connection con, PreparedStatement statement, boolean statementCaching) throws SQLException {
         super(con, statement, statementCaching);
     }
 
     /**
-     * Sets the designated parameter to the given <code>java.sql.RowId</code> object. The
-     * driver converts this to a SQL <code>ROWID</code> value when it sends it
-     * to the database
+     * Sets the designated parameter to the given <code>java.sql.RowId</code>
+     * object. The driver converts this to a SQL <code>ROWID</code> value when it
+     * sends it to the database
      *
      * @param parameterIndex the first parameter is 1, the second is 2, ...
-     * @param x              the parameter value
+     * @param x the parameter value
      * @throws SQLException if parameterIndex does not correspond to a parameter
-     *                      marker in the SQL statement; if a database access error occurs or
-     *                      this method is called on a closed <code>PreparedStatement</code>
-     * @throws SQLFeatureNotSupportedException
-     *                      if the JDBC driver does not support this method
+     * marker in the SQL statement; if a database access error occurs or this method
+     * is called on a closed <code>PreparedStatement</code>
+     * @throws SQLFeatureNotSupportedException if the JDBC driver does not support
+     * this method
      * @since 1.6
      */
+    @Override
     public void setRowId(int parameterIndex, RowId x) throws SQLException {
         preparedStatement.setRowId(parameterIndex, x);
     }
 
     /**
-     * Sets the designated paramter to the given <code>String</code> object.
-     * The driver converts this to a SQL <code>NCHAR</code> or
-     * <code>NVARCHAR</code> or <code>LONGNVARCHAR</code> value
-     * (depending on the argument's
-     * size relative to the driver's limits on <code>NVARCHAR</code> values)
-     * when it sends it to the database.
+     * Sets the designated paramter to the given <code>String</code> object. The
+     * driver converts this to a SQL <code>NCHAR</code> or <code>NVARCHAR</code> or
+     * <code>LONGNVARCHAR</code> value (depending on the argument's size relative to
+     * the driver's limits on <code>NVARCHAR</code> values) when it sends it to the
+     * database.
      *
      * @param parameterIndex of the first parameter is 1, the second is 2, ...
-     * @param value          the parameter value
+     * @param value the parameter value
      * @throws SQLException if parameterIndex does not correspond to a parameter
-     *                      marker in the SQL statement; if the driver does not support national
-     *                      character sets;  if the driver can detect that a data conversion
-     *                      error could occur; if a database access error occurs; or
-     *                      this method is called on a closed <code>PreparedStatement</code>
-     * @throws SQLFeatureNotSupportedException
-     *                      if the JDBC driver does not support this method
+     * marker in the SQL statement; if the driver does not support national
+     * character sets; if the driver can detect that a data conversion error could
+     * occur; if a database access error occurs; or this method is called on a
+     * closed <code>PreparedStatement</code>
+     * @throws SQLFeatureNotSupportedException if the JDBC driver does not support
+     * this method
      * @since 1.6
      */
+    @Override
     public void setNString(int parameterIndex, String value) throws SQLException {
         preparedStatement.setNString(parameterIndex, value);
     }
 
     /**
      * Sets the designated parameter to a <code>Reader</code> object. The
-     * <code>Reader</code> reads the data till end-of-file is reached. The
-     * driver does the necessary conversion from Java character format to
-     * the national character set in the database.
+     * <code>Reader</code> reads the data till end-of-file is reached. The driver
+     * does the necessary conversion from Java character format to the national
+     * character set in the database.
      *
      * @param parameterIndex of the first parameter is 1, the second is 2, ...
-     * @param value          the parameter value
-     * @param length         the number of characters in the parameter data.
+     * @param value the parameter value
+     * @param length the number of characters in the parameter data.
      * @throws SQLException if parameterIndex does not correspond to a parameter
-     *                      marker in the SQL statement; if the driver does not support national
-     *                      character sets;  if the driver can detect that a data conversion
-     *                      error could occur; if a database access error occurs; or
-     *                      this method is called on a closed <code>PreparedStatement</code>
-     * @throws SQLFeatureNotSupportedException
-     *                      if the JDBC driver does not support this method
+     * marker in the SQL statement; if the driver does not support national
+     * character sets; if the driver can detect that a data conversion error could
+     * occur; if a database access error occurs; or this method is called on a
+     * closed <code>PreparedStatement</code>
+     * @throws SQLFeatureNotSupportedException if the JDBC driver does not support
+     * this method
      * @since 1.6
      */
+    @Override
     public void setNCharacterStream(int parameterIndex, Reader value, long length) throws SQLException {
         preparedStatement.setNCharacterStream(parameterIndex, value, length);
     }
 
     /**
-     * Sets the designated parameter to a <code>java.sql.NClob</code> object. The driver converts this to a
-     * SQL <code>NCLOB</code> value when it sends it to the database.
+     * Sets the designated parameter to a <code>java.sql.NClob</code> object. The
+     * driver converts this to a SQL <code>NCLOB</code> value when it sends it to
+     * the database.
      *
      * @param parameterIndex of the first parameter is 1, the second is 2, ...
-     * @param value          the parameter value
+     * @param value the parameter value
      * @throws SQLException if parameterIndex does not correspond to a parameter
-     *                      marker in the SQL statement; if the driver does not support national
-     *                      character sets;  if the driver can detect that a data conversion
-     *                      error could occur; if a database access error occurs; or
-     *                      this method is called on a closed <code>PreparedStatement</code>
-     * @throws SQLFeatureNotSupportedException
-     *                      if the JDBC driver does not support this method
+     * marker in the SQL statement; if the driver does not support national
+     * character sets; if the driver can detect that a data conversion error could
+     * occur; if a database access error occurs; or this method is called on a
+     * closed <code>PreparedStatement</code>
+     * @throws SQLFeatureNotSupportedException if the JDBC driver does not support
+     * this method
      * @since 1.6
      */
+    @Override
     public void setNClob(int parameterIndex, NClob value) throws SQLException {
         preparedStatement.setNClob(parameterIndex, value);
     }
 
     /**
-     * Sets the designated parameter to a <code>Reader</code> object.  The reader must contain  the number
-     * of characters specified by length otherwise a <code>SQLException</code> will be
-     * generated when the <code>PreparedStatement</code> is executed.
-     * This method differs from the <code>setCharacterStream (int, Reader, int)</code> method
-     * because it informs the driver that the parameter value should be sent to
-     * the server as a <code>CLOB</code>.  When the <code>setCharacterStream</code> method is used, the
-     * driver may have to do extra work to determine whether the parameter
-     * data should be sent to the server as a <code>LONGVARCHAR</code> or a <code>CLOB</code>
+     * Sets the designated parameter to a <code>Reader</code> object. The reader
+     * must contain the number of characters specified by length otherwise a
+     * <code>SQLException</code> will be generated when the
+     * <code>PreparedStatement</code> is executed. This method differs from the
+     * <code>setCharacterStream (int, Reader, int)</code> method because it informs
+     * the driver that the parameter value should be sent to the server as a
+     * <code>CLOB</code>. When the <code>setCharacterStream</code> method is used,
+     * the driver may have to do extra work to determine whether the parameter data
+     * should be sent to the server as a <code>LONGVARCHAR</code> or a
+     * <code>CLOB</code>
      *
      * @param parameterIndex index of the first parameter is 1, the second is 2, ...
-     * @param reader         An object that contains the data to set the parameter value to.
-     * @param length         the number of characters in the parameter data.
+     * @param reader An object that contains the data to set the parameter value to.
+     * @param length the number of characters in the parameter data.
      * @throws SQLException if parameterIndex does not correspond to a parameter
-     *                      marker in the SQL statement; if a database access error occurs; this method is called on
-     *                      a closed <code>PreparedStatement</code> or if the length specified is less than zero.
-     * @throws SQLFeatureNotSupportedException
-     *                      if the JDBC driver does not support this method
+     * marker in the SQL statement; if a database access error occurs; this method
+     * is called on a closed <code>PreparedStatement</code> or if the length
+     * specified is less than zero.
+     * @throws SQLFeatureNotSupportedException if the JDBC driver does not support
+     * this method
      * @since 1.6
      */
+    @Override
     public void setClob(int parameterIndex, Reader reader, long length) throws SQLException {
         preparedStatement.setClob(parameterIndex, reader, length);
     }
 
     /**
-     * Sets the designated parameter to a <code>InputStream</code> object.  The inputstream must contain  the number
-     * of characters specified by length otherwise a <code>SQLException</code> will be
-     * generated when the <code>PreparedStatement</code> is executed.
-     * This method differs from the <code>setBinaryStream (int, InputStream, int)</code>
-     * method because it informs the driver that the parameter value should be
-     * sent to the server as a <code>BLOB</code>.  When the <code>setBinaryStream</code> method is used,
-     * the driver may have to do extra work to determine whether the parameter
-     * data should be sent to the server as a <code>LONGVARBINARY</code> or a <code>BLOB</code>
+     * Sets the designated parameter to a <code>InputStream</code> object. The
+     * inputstream must contain the number of characters specified by length
+     * otherwise a <code>SQLException</code> will be generated when the
+     * <code>PreparedStatement</code> is executed. This method differs from the
+     * <code>setBinaryStream (int, InputStream, int)</code> method because it
+     * informs the driver that the parameter value should be sent to the server as a
+     * <code>BLOB</code>. When the <code>setBinaryStream</code> method is used, the
+     * driver may have to do extra work to determine whether the parameter data
+     * should be sent to the server as a <code>LONGVARBINARY</code> or a
+     * <code>BLOB</code>
      *
-     * @param parameterIndex index of the first parameter is 1,
-     *                       the second is 2, ...
-     * @param inputStream    An object that contains the data to set the parameter
-     *                       value to.
-     * @param length         the number of bytes in the parameter data.
+     * @param parameterIndex index of the first parameter is 1, the second is 2, ...
+     * @param inputStream An object that contains the data to set the parameter
+     * value to.
+     * @param length the number of bytes in the parameter data.
      * @throws SQLException if parameterIndex does not correspond to a parameter
-     *                      marker in the SQL statement; if a database access error occurs;
-     *                      this method is called on a closed <code>PreparedStatement</code>;
-     *                      if the length specified
-     *                      is less than zero or if the number of bytes in the inputstream does not match
-     *                      the specfied length.
-     * @throws SQLFeatureNotSupportedException
-     *                      if the JDBC driver does not support this method
+     * marker in the SQL statement; if a database access error occurs; this method
+     * is called on a closed <code>PreparedStatement</code>; if the length specified
+     * is less than zero or if the number of bytes in the inputstream does not match
+     * the specfied length.
+     * @throws SQLFeatureNotSupportedException if the JDBC driver does not support
+     * this method
      * @since 1.6
      */
+    @Override
     public void setBlob(int parameterIndex, InputStream inputStream, long length) throws SQLException {
         preparedStatement.setBlob(parameterIndex, inputStream, length);
     }
 
     /**
-     * Sets the designated parameter to a <code>Reader</code> object.  The reader must contain  the number
-     * of characters specified by length otherwise a <code>SQLException</code> will be
-     * generated when the <code>PreparedStatement</code> is executed.
-     * This method differs from the <code>setCharacterStream (int, Reader, int)</code> method
-     * because it informs the driver that the parameter value should be sent to
-     * the server as a <code>NCLOB</code>.  When the <code>setCharacterStream</code> method is used, the
-     * driver may have to do extra work to determine whether the parameter
-     * data should be sent to the server as a <code>LONGNVARCHAR</code> or a <code>NCLOB</code>
+     * Sets the designated parameter to a <code>Reader</code> object. The reader
+     * must contain the number of characters specified by length otherwise a
+     * <code>SQLException</code> will be generated when the
+     * <code>PreparedStatement</code> is executed. This method differs from the
+     * <code>setCharacterStream (int, Reader, int)</code> method because it informs
+     * the driver that the parameter value should be sent to the server as a
+     * <code>NCLOB</code>. When the <code>setCharacterStream</code> method is used,
+     * the driver may have to do extra work to determine whether the parameter data
+     * should be sent to the server as a <code>LONGNVARCHAR</code> or a
+     * <code>NCLOB</code>
      *
      * @param parameterIndex index of the first parameter is 1, the second is 2, ...
-     * @param reader         An object that contains the data to set the parameter value to.
-     * @param length         the number of characters in the parameter data.
+     * @param reader An object that contains the data to set the parameter value to.
+     * @param length the number of characters in the parameter data.
      * @throws SQLException if parameterIndex does not correspond to a parameter
-     *                      marker in the SQL statement; if the length specified is less than zero;
-     *                      if the driver does not support national character sets;
-     *                      if the driver can detect that a data conversion
-     *                      error could occur;  if a database access error occurs or
-     *                      this method is called on a closed <code>PreparedStatement</code>
-     * @throws SQLFeatureNotSupportedException
-     *                      if the JDBC driver does not support this method
+     * marker in the SQL statement; if the length specified is less than zero; if
+     * the driver does not support national character sets; if the driver can detect
+     * that a data conversion error could occur; if a database access error occurs
+     * or this method is called on a closed <code>PreparedStatement</code>
+     * @throws SQLFeatureNotSupportedException if the JDBC driver does not support
+     * this method
      * @since 1.6
      */
+    @Override
     public void setNClob(int parameterIndex, Reader reader, long length) throws SQLException {
         preparedStatement.setNClob(parameterIndex, reader, length);
     }
 
     /**
-     * Sets the designated parameter to the given <code>java.sql.SQLXML</code> object.
-     * The driver converts this to an
-     * SQL <code>XML</code> value when it sends it to the database.
+     * Sets the designated parameter to the given <code>java.sql.SQLXML</code>
+     * object. The driver converts this to an SQL <code>XML</code> value when it
+     * sends it to the database.
      * <p/>
      *
      * @param parameterIndex index of the first parameter is 1, the second is 2, ...
-     * @param xmlObject      a <code>SQLXML</code> object that maps an SQL <code>XML</code> value
+     * @param xmlObject a <code>SQLXML</code> object that maps an SQL
+     * <code>XML</code> value
      * @throws SQLException if parameterIndex does not correspond to a parameter
-     *                      marker in the SQL statement; if a database access error occurs;
-     *                      this method is called on a closed <code>PreparedStatement</code>
-     *                      or the <code>java.xml.transform.Result</code>,
-     *                      <code>Writer</code> or <code>OutputStream</code> has not been closed for
-     *                      the <code>SQLXML</code> object
-     * @throws SQLFeatureNotSupportedException
-     *                      if the JDBC driver does not support this method
+     * marker in the SQL statement; if a database access error occurs; this method
+     * is called on a closed <code>PreparedStatement</code> or the
+     * <code>java.xml.transform.Result</code>, <code>Writer</code> or
+     * <code>OutputStream</code> has not been closed for the <code>SQLXML</code>
+     * object
+     * @throws SQLFeatureNotSupportedException if the JDBC driver does not support
+     * this method
      * @since 1.6
      */
+    @Override
     public void setSQLXML(int parameterIndex, SQLXML xmlObject) throws SQLException {
         preparedStatement.setSQLXML(parameterIndex, xmlObject);
     }
 
     /**
-     * Sets the designated parameter to the given input stream, which will have
-     * the specified number of bytes.
-     * When a very large ASCII value is input to a <code>LONGVARCHAR</code>
-     * parameter, it may be more practical to send it via a
-     * <code>java.io.InputStream</code>. Data will be read from the stream
-     * as needed until end-of-file is reached.  The JDBC driver will
-     * do any necessary conversion from ASCII to the database char format.
+     * Sets the designated parameter to the given input stream, which will have the
+     * specified number of bytes. When a very large ASCII value is input to a
+     * <code>LONGVARCHAR</code> parameter, it may be more practical to send it via a
+     * <code>java.io.InputStream</code>. Data will be read from the stream as needed
+     * until end-of-file is reached. The JDBC driver will do any necessary
+     * conversion from ASCII to the database char format.
      * <p/>
-     * <P><B>Note:</B> This stream object can either be a standard
-     * Java stream object or your own subclass that implements the
-     * standard interface.
+     * <P>
+     * <B>Note:</B> This stream object can either be a standard Java stream object
+     * or your own subclass that implements the standard interface.
      *
      * @param parameterIndex the first parameter is 1, the second is 2, ...
-     * @param x              the Java input stream that contains the ASCII parameter value
-     * @param length         the number of bytes in the stream
+     * @param x the Java input stream that contains the ASCII parameter value
+     * @param length the number of bytes in the stream
      * @throws SQLException if parameterIndex does not correspond to a parameter
-     *                      marker in the SQL statement; if a database access error occurs or
-     *                      this method is called on a closed <code>PreparedStatement</code>
+     * marker in the SQL statement; if a database access error occurs or this method
+     * is called on a closed <code>PreparedStatement</code>
      * @since 1.6
      */
+    @Override
     public void setAsciiStream(int parameterIndex, InputStream x, long length) throws SQLException {
         preparedStatement.setAsciiStream(parameterIndex, x, length);
     }
 
     /**
-     * Sets the designated parameter to the given input stream, which will have
-     * the specified number of bytes.
-     * When a very large binary value is input to a <code>LONGVARBINARY</code>
-     * parameter, it may be more practical to send it via a
-     * <code>java.io.InputStream</code> object. The data will be read from the
+     * Sets the designated parameter to the given input stream, which will have the
+     * specified number of bytes. When a very large binary value is input to a
+     * <code>LONGVARBINARY</code> parameter, it may be more practical to send it via
+     * a <code>java.io.InputStream</code> object. The data will be read from the
      * stream as needed until end-of-file is reached.
      * <p/>
-     * <P><B>Note:</B> This stream object can either be a standard
-     * Java stream object or your own subclass that implements the
-     * standard interface.
+     * <P>
+     * <B>Note:</B> This stream object can either be a standard Java stream object
+     * or your own subclass that implements the standard interface.
      *
      * @param parameterIndex the first parameter is 1, the second is 2, ...
-     * @param x              the java input stream which contains the binary parameter value
-     * @param length         the number of bytes in the stream
+     * @param x the java input stream which contains the binary parameter value
+     * @param length the number of bytes in the stream
      * @throws SQLException if parameterIndex does not correspond to a parameter
-     *                      marker in the SQL statement; if a database access error occurs or
-     *                      this method is called on a closed <code>PreparedStatement</code>
+     * marker in the SQL statement; if a database access error occurs or this method
+     * is called on a closed <code>PreparedStatement</code>
      * @since 1.6
      */
+    @Override
     public void setBinaryStream(int parameterIndex, InputStream x, long length) throws SQLException {
         preparedStatement.setBinaryStream(parameterIndex, x, length);
     }
 
     /**
-     * Sets the designated parameter to the given <code>Reader</code>
-     * object, which is the given number of characters long.
-     * When a very large UNICODE value is input to a <code>LONGVARCHAR</code>
-     * parameter, it may be more practical to send it via a
-     * <code>java.io.Reader</code> object. The data will be read from the stream
-     * as needed until end-of-file is reached.  The JDBC driver will
-     * do any necessary conversion from UNICODE to the database char format.
+     * Sets the designated parameter to the given <code>Reader</code> object, which
+     * is the given number of characters long. When a very large UNICODE value is
+     * input to a <code>LONGVARCHAR</code> parameter, it may be more practical to
+     * send it via a <code>java.io.Reader</code> object. The data will be read from
+     * the stream as needed until end-of-file is reached. The JDBC driver will do
+     * any necessary conversion from UNICODE to the database char format.
      * <p/>
-     * <P><B>Note:</B> This stream object can either be a standard
-     * Java stream object or your own subclass that implements the
-     * standard interface.
+     * <P>
+     * <B>Note:</B> This stream object can either be a standard Java stream object
+     * or your own subclass that implements the standard interface.
      *
      * @param parameterIndex the first parameter is 1, the second is 2, ...
-     * @param reader         the <code>java.io.Reader</code> object that contains the
-     *                       Unicode data
-     * @param length         the number of characters in the stream
+     * @param reader the <code>java.io.Reader</code> object that contains the
+     * Unicode data
+     * @param length the number of characters in the stream
      * @throws SQLException if parameterIndex does not correspond to a parameter
-     *                      marker in the SQL statement; if a database access error occurs or
-     *                      this method is called on a closed <code>PreparedStatement</code>
+     * marker in the SQL statement; if a database access error occurs or this method
+     * is called on a closed <code>PreparedStatement</code>
      * @since 1.6
      */
+    @Override
     public void setCharacterStream(int parameterIndex, Reader reader, long length) throws SQLException {
         preparedStatement.setCharacterStream(parameterIndex, reader, length);
     }
 
     /**
-     * Sets the designated parameter to the given input stream.
-     * When a very large ASCII value is input to a <code>LONGVARCHAR</code>
-     * parameter, it may be more practical to send it via a
-     * <code>java.io.InputStream</code>. Data will be read from the stream
-     * as needed until end-of-file is reached.  The JDBC driver will
-     * do any necessary conversion from ASCII to the database char format.
+     * Sets the designated parameter to the given input stream. When a very large
+     * ASCII value is input to a <code>LONGVARCHAR</code> parameter, it may be more
+     * practical to send it via a <code>java.io.InputStream</code>. Data will be
+     * read from the stream as needed until end-of-file is reached. The JDBC driver
+     * will do any necessary conversion from ASCII to the database char format.
      * <p/>
-     * <P><B>Note:</B> This stream object can either be a standard
-     * Java stream object or your own subclass that implements the
-     * standard interface.
-     * <P><B>Note:</B> Consult your JDBC driver documentation to determine if
-     * it might be more efficient to use a version of
-     * <code>setAsciiStream</code> which takes a length parameter.
+     * <P>
+     * <B>Note:</B> This stream object can either be a standard Java stream object
+     * or your own subclass that implements the standard interface.
+     * <P>
+     * <B>Note:</B> Consult your JDBC driver documentation to determine if it might
+     * be more efficient to use a version of <code>setAsciiStream</code> which takes
+     * a length parameter.
      *
      * @param parameterIndex the first parameter is 1, the second is 2, ...
-     * @param x              the Java input stream that contains the ASCII parameter value
+     * @param x the Java input stream that contains the ASCII parameter value
      * @throws SQLException if parameterIndex does not correspond to a parameter
-     *                      marker in the SQL statement; if a database access error occurs or
-     *                      this method is called on a closed <code>PreparedStatement</code>
-     * @throws SQLFeatureNotSupportedException
-     *                      if the JDBC driver does not support this method
+     * marker in the SQL statement; if a database access error occurs or this method
+     * is called on a closed <code>PreparedStatement</code>
+     * @throws SQLFeatureNotSupportedException if the JDBC driver does not support
+     * this method
      * @since 1.6
      */
+    @Override
     public void setAsciiStream(int parameterIndex, InputStream x) throws SQLException {
         preparedStatement.setAsciiStream(parameterIndex, x);
     }
 
     /**
-     * Sets the designated parameter to the given input stream.
-     * When a very large binary value is input to a <code>LONGVARBINARY</code>
-     * parameter, it may be more practical to send it via a
-     * <code>java.io.InputStream</code> object. The data will be read from the
-     * stream as needed until end-of-file is reached.
+     * Sets the designated parameter to the given input stream. When a very large
+     * binary value is input to a <code>LONGVARBINARY</code> parameter, it may be
+     * more practical to send it via a <code>java.io.InputStream</code> object. The
+     * data will be read from the stream as needed until end-of-file is reached.
      * <p/>
-     * <P><B>Note:</B> This stream object can either be a standard
-     * Java stream object or your own subclass that implements the
-     * standard interface.
-     * <P><B>Note:</B> Consult your JDBC driver documentation to determine if
-     * it might be more efficient to use a version of
-     * <code>setBinaryStream</code> which takes a length parameter.
+     * <P>
+     * <B>Note:</B> This stream object can either be a standard Java stream object
+     * or your own subclass that implements the standard interface.
+     * <P>
+     * <B>Note:</B> Consult your JDBC driver documentation to determine if it might
+     * be more efficient to use a version of <code>setBinaryStream</code> which
+     * takes a length parameter.
      *
      * @param parameterIndex the first parameter is 1, the second is 2, ...
-     * @param x              the java input stream which contains the binary parameter value
+     * @param x the java input stream which contains the binary parameter value
      * @throws SQLException if parameterIndex does not correspond to a parameter
-     *                      marker in the SQL statement; if a database access error occurs or
-     *                      this method is called on a closed <code>PreparedStatement</code>
-     * @throws SQLFeatureNotSupportedException
-     *                      if the JDBC driver does not support this method
+     * marker in the SQL statement; if a database access error occurs or this method
+     * is called on a closed <code>PreparedStatement</code>
+     * @throws SQLFeatureNotSupportedException if the JDBC driver does not support
+     * this method
      * @since 1.6
      */
+    @Override
     public void setBinaryStream(int parameterIndex, InputStream x) throws SQLException {
         preparedStatement.setBinaryStream(parameterIndex, x);
     }
 
     /**
-     * Sets the designated parameter to the given <code>Reader</code>
-     * object.
-     * When a very large UNICODE value is input to a <code>LONGVARCHAR</code>
-     * parameter, it may be more practical to send it via a
-     * <code>java.io.Reader</code> object. The data will be read from the stream
-     * as needed until end-of-file is reached.  The JDBC driver will
-     * do any necessary conversion from UNICODE to the database char format.
+     * Sets the designated parameter to the given <code>Reader</code> object. When a
+     * very large UNICODE value is input to a <code>LONGVARCHAR</code> parameter, it
+     * may be more practical to send it via a <code>java.io.Reader</code> object.
+     * The data will be read from the stream as needed until end-of-file is reached.
+     * The JDBC driver will do any necessary conversion from UNICODE to the database
+     * char format.
      * <p/>
-     * <P><B>Note:</B> This stream object can either be a standard
-     * Java stream object or your own subclass that implements the
-     * standard interface.
-     * <P><B>Note:</B> Consult your JDBC driver documentation to determine if
-     * it might be more efficient to use a version of
-     * <code>setCharacterStream</code> which takes a length parameter.
+     * <P>
+     * <B>Note:</B> This stream object can either be a standard Java stream object
+     * or your own subclass that implements the standard interface.
+     * <P>
+     * <B>Note:</B> Consult your JDBC driver documentation to determine if it might
+     * be more efficient to use a version of <code>setCharacterStream</code> which
+     * takes a length parameter.
      *
      * @param parameterIndex the first parameter is 1, the second is 2, ...
-     * @param reader         the <code>java.io.Reader</code> object that contains the
-     *                       Unicode data
+     * @param reader the <code>java.io.Reader</code> object that contains the
+     * Unicode data
      * @throws SQLException if parameterIndex does not correspond to a parameter
-     *                      marker in the SQL statement; if a database access error occurs or
-     *                      this method is called on a closed <code>PreparedStatement</code>
-     * @throws SQLFeatureNotSupportedException
-     *                      if the JDBC driver does not support this method
+     * marker in the SQL statement; if a database access error occurs or this method
+     * is called on a closed <code>PreparedStatement</code>
+     * @throws SQLFeatureNotSupportedException if the JDBC driver does not support
+     * this method
      * @since 1.6
      */
+    @Override
     public void setCharacterStream(int parameterIndex, Reader reader) throws SQLException {
         preparedStatement.setCharacterStream(parameterIndex, reader);
     }
 
     /**
      * Sets the designated parameter to a <code>Reader</code> object. The
-     * <code>Reader</code> reads the data till end-of-file is reached. The
-     * driver does the necessary conversion from Java character format to
-     * the national character set in the database.
+     * <code>Reader</code> reads the data till end-of-file is reached. The driver
+     * does the necessary conversion from Java character format to the national
+     * character set in the database.
      * <p/>
-     * <P><B>Note:</B> This stream object can either be a standard
-     * Java stream object or your own subclass that implements the
-     * standard interface.
-     * <P><B>Note:</B> Consult your JDBC driver documentation to determine if
-     * it might be more efficient to use a version of
-     * <code>setNCharacterStream</code> which takes a length parameter.
+     * <P>
+     * <B>Note:</B> This stream object can either be a standard Java stream object
+     * or your own subclass that implements the standard interface.
+     * <P>
+     * <B>Note:</B> Consult your JDBC driver documentation to determine if it might
+     * be more efficient to use a version of <code>setNCharacterStream</code> which
+     * takes a length parameter.
      *
      * @param parameterIndex of the first parameter is 1, the second is 2, ...
-     * @param value          the parameter value
+     * @param value the parameter value
      * @throws SQLException if parameterIndex does not correspond to a parameter
-     *                      marker in the SQL statement; if the driver does not support national
-     *                      character sets;  if the driver can detect that a data conversion
-     *                      error could occur; if a database access error occurs; or
-     *                      this method is called on a closed <code>PreparedStatement</code>
-     * @throws SQLFeatureNotSupportedException
-     *                      if the JDBC driver does not support this method
+     * marker in the SQL statement; if the driver does not support national
+     * character sets; if the driver can detect that a data conversion error could
+     * occur; if a database access error occurs; or this method is called on a
+     * closed <code>PreparedStatement</code>
+     * @throws SQLFeatureNotSupportedException if the JDBC driver does not support
+     * this method
      * @since 1.6
      */
+    @Override
     public void setNCharacterStream(int parameterIndex, Reader value) throws SQLException {
         preparedStatement.setNCharacterStream(parameterIndex, value);
     }
 
     /**
-     * Sets the designated parameter to a <code>Reader</code> object.
-     * This method differs from the <code>setCharacterStream (int, Reader)</code> method
-     * because it informs the driver that the parameter value should be sent to
-     * the server as a <code>CLOB</code>.  When the <code>setCharacterStream</code> method is used, the
-     * driver may have to do extra work to determine whether the parameter
-     * data should be sent to the server as a <code>LONGVARCHAR</code> or a <code>CLOB</code>
+     * Sets the designated parameter to a <code>Reader</code> object. This method
+     * differs from the <code>setCharacterStream (int, Reader)</code> method because
+     * it informs the driver that the parameter value should be sent to the server
+     * as a <code>CLOB</code>. When the <code>setCharacterStream</code> method is
+     * used, the driver may have to do extra work to determine whether the parameter
+     * data should be sent to the server as a <code>LONGVARCHAR</code> or a
+     * <code>CLOB</code>
      * <p/>
-     * <P><B>Note:</B> Consult your JDBC driver documentation to determine if
-     * it might be more efficient to use a version of
-     * <code>setClob</code> which takes a length parameter.
+     * <P>
+     * <B>Note:</B> Consult your JDBC driver documentation to determine if it might
+     * be more efficient to use a version of <code>setClob</code> which takes a
+     * length parameter.
      *
      * @param parameterIndex index of the first parameter is 1, the second is 2, ...
-     * @param reader         An object that contains the data to set the parameter value to.
+     * @param reader An object that contains the data to set the parameter value to.
      * @throws SQLException if parameterIndex does not correspond to a parameter
-     *                      marker in the SQL statement; if a database access error occurs; this method is called on
-     *                      a closed <code>PreparedStatement</code>or if parameterIndex does not correspond to a parameter
-     *                      marker in the SQL statement
-     * @throws SQLFeatureNotSupportedException
-     *                      if the JDBC driver does not support this method
+     * marker in the SQL statement; if a database access error occurs; this method
+     * is called on a closed <code>PreparedStatement</code>or if parameterIndex does
+     * not correspond to a parameter marker in the SQL statement
+     * @throws SQLFeatureNotSupportedException if the JDBC driver does not support
+     * this method
      * @since 1.6
      */
+    @Override
     public void setClob(int parameterIndex, Reader reader) throws SQLException {
         preparedStatement.setClob(parameterIndex, reader);
     }
 
     /**
-     * Sets the designated parameter to a <code>InputStream</code> object.
-     * This method differs from the <code>setBinaryStream (int, InputStream)</code>
-     * method because it informs the driver that the parameter value should be
-     * sent to the server as a <code>BLOB</code>.  When the <code>setBinaryStream</code> method is used,
-     * the driver may have to do extra work to determine whether the parameter
-     * data should be sent to the server as a <code>LONGVARBINARY</code> or a <code>BLOB</code>
+     * Sets the designated parameter to a <code>InputStream</code> object. This
+     * method differs from the <code>setBinaryStream (int, InputStream)</code>
+     * method because it informs the driver that the parameter value should be sent
+     * to the server as a <code>BLOB</code>. When the <code>setBinaryStream</code>
+     * method is used, the driver may have to do extra work to determine whether the
+     * parameter data should be sent to the server as a <code>LONGVARBINARY</code>
+     * or a <code>BLOB</code>
      * <p/>
-     * <P><B>Note:</B> Consult your JDBC driver documentation to determine if
-     * it might be more efficient to use a version of
-     * <code>setBlob</code> which takes a length parameter.
+     * <P>
+     * <B>Note:</B> Consult your JDBC driver documentation to determine if it might
+     * be more efficient to use a version of <code>setBlob</code> which takes a
+     * length parameter.
      *
-     * @param parameterIndex index of the first parameter is 1,
-     *                       the second is 2, ...
-     * @param inputStream    An object that contains the data to set the parameter
-     *                       value to.
+     * @param parameterIndex index of the first parameter is 1, the second is 2, ...
+     * @param inputStream An object that contains the data to set the parameter
+     * value to.
      * @throws SQLException if parameterIndex does not correspond to a parameter
-     *                      marker in the SQL statement; if a database access error occurs;
-     *                      this method is called on a closed <code>PreparedStatement</code> or
-     *                      if parameterIndex does not correspond
-     *                      to a parameter marker in the SQL statement,
-     * @throws SQLFeatureNotSupportedException
-     *                      if the JDBC driver does not support this method
+     * marker in the SQL statement; if a database access error occurs; this method
+     * is called on a closed <code>PreparedStatement</code> or if parameterIndex
+     * does not correspond to a parameter marker in the SQL statement,
+     * @throws SQLFeatureNotSupportedException if the JDBC driver does not support
+     * this method
      * @since 1.6
      */
+    @Override
     public void setBlob(int parameterIndex, InputStream inputStream) throws SQLException {
         preparedStatement.setBlob(parameterIndex, inputStream);
     }
 
     /**
-     * Sets the designated parameter to a <code>Reader</code> object.
-     * This method differs from the <code>setCharacterStream (int, Reader)</code> method
-     * because it informs the driver that the parameter value should be sent to
-     * the server as a <code>NCLOB</code>.  When the <code>setCharacterStream</code> method is used, the
-     * driver may have to do extra work to determine whether the parameter
-     * data should be sent to the server as a <code>LONGNVARCHAR</code> or a <code>NCLOB</code>
-     * <P><B>Note:</B> Consult your JDBC driver documentation to determine if
-     * it might be more efficient to use a version of
-     * <code>setNClob</code> which takes a length parameter.
+     * Sets the designated parameter to a <code>Reader</code> object. This method
+     * differs from the <code>setCharacterStream (int, Reader)</code> method because
+     * it informs the driver that the parameter value should be sent to the server
+     * as a <code>NCLOB</code>. When the <code>setCharacterStream</code> method is
+     * used, the driver may have to do extra work to determine whether the parameter
+     * data should be sent to the server as a <code>LONGNVARCHAR</code> or a
+     * <code>NCLOB</code>
+     * <P>
+     * <B>Note:</B> Consult your JDBC driver documentation to determine if it might
+     * be more efficient to use a version of <code>setNClob</code> which takes a
+     * length parameter.
      *
      * @param parameterIndex index of the first parameter is 1, the second is 2, ...
-     * @param reader         An object that contains the data to set the parameter value to.
+     * @param reader An object that contains the data to set the parameter value to.
      * @throws SQLException if parameterIndex does not correspond to a parameter
-     *                      marker in the SQL statement;
-     *                      if the driver does not support national character sets;
-     *                      if the driver can detect that a data conversion
-     *                      error could occur;  if a database access error occurs or
-     *                      this method is called on a closed <code>PreparedStatement</code>
-     * @throws SQLFeatureNotSupportedException
-     *                      if the JDBC driver does not support this method
+     * marker in the SQL statement; if the driver does not support national
+     * character sets; if the driver can detect that a data conversion error could
+     * occur; if a database access error occurs or this method is called on a closed
+     * <code>PreparedStatement</code>
+     * @throws SQLFeatureNotSupportedException if the JDBC driver does not support
+     * this method
      * @since 1.6
      */
+    @Override
     public void setNClob(int parameterIndex, Reader reader) throws SQLException {
         preparedStatement.setNClob(parameterIndex, reader);
     }
 
     /**
-     * Retrieves whether this <code>Statement</code> object has been closed. A <code>Statement</code> is closed if the
-     * method close has been called on it, or if it is automatically closed.
+     * Retrieves whether this <code>Statement</code> object has been closed. A
+     * <code>Statement</code> is closed if the method close has been called on it,
+     * or if it is automatically closed.
      *
-     * @return true if this <code>Statement</code> object is closed; false if it is still open
+     * @return true if this <code>Statement</code> object is closed; false if it is
+     * still open
      * @throws SQLException if a database access error occurs
      * @since 1.6
      */
+    @Override
     public boolean isClosed() throws SQLException {
         return preparedStatement.isClosed();
     }
 
     /**
-     * Requests that a <code>Statement</code> be pooled or not pooled.  The value
-     * specified is a hint to the statement pool implementation indicating
-     * whether the applicaiton wants the statement to be pooled.  It is up to
-     * the statement pool manager as to whether the hint is used.
+     * Requests that a <code>Statement</code> be pooled or not pooled. The value
+     * specified is a hint to the statement pool implementation indicating whether
+     * the applicaiton wants the statement to be pooled. It is up to the statement
+     * pool manager as to whether the hint is used.
      * <p/>
-     * The poolable value of a statement is applicable to both internal
-     * statement caches implemented by the driver and external statement caches
-     * implemented by application servers and other applications.
+     * The poolable value of a statement is applicable to both internal statement
+     * caches implemented by the driver and external statement caches implemented by
+     * application servers and other applications.
      * <p/>
-     * By default, a <code>Statement</code> is not poolable when created, and
-     * a <code>PreparedStatement</code> and <code>CallableStatement</code>
-     * are poolable when created.
+     * By default, a <code>Statement</code> is not poolable when created, and a
+     * <code>PreparedStatement</code> and <code>CallableStatement</code> are
+     * poolable when created.
      * <p/>
      *
-     * @param poolable requests that the statement be pooled if true and
-     *                 that the statement not be pooled if false
-     *                 <p/>
+     * @param poolable requests that the statement be pooled if true and that the
+     * statement not be pooled if false
+     * <p/>
      * @throws SQLException if this method is called on a closed
-     *                      <code>Statement</code>
-     *                      <p/>
+     * <code>Statement</code>
+     * <p/>
      * @since 1.6
      */
+    @Override
     public void setPoolable(boolean poolable) throws SQLException {
         preparedStatement.setPoolable(poolable);
     }
 
     /**
-     * Returns a  value indicating whether the <code>Statement</code>
-     * is poolable or not.
+     * Returns a value indicating whether the <code>Statement</code> is poolable or
+     * not.
      * <p/>
      *
      * @throws SQLException if this method is called on a closed
-     *                      <code>Statement</code>
-     *                      <p/>
-     * @return        <code>true</code> if the <code>Statement</code>
-     * is poolable; <code>false</code> otherwise
+     * <code>Statement</code>
+     * <p/>
+     * @return <code>true</code> if the <code>Statement</code> is poolable;
+     * <code>false</code> otherwise
      * <p/>
      * @see java.sql.Statement#setPoolable(boolean) setPoolable(boolean)
      * @since 1.6
-     *        <p/>
+     * <p/>
      */
+    @Override
     public boolean isPoolable() throws SQLException {
         return preparedStatement.isPoolable();
     }
@@ -556,131 +589,143 @@
      * Returns an object that implements the given interface to allow access to
      * non-standard methods, or standard methods not exposed by the proxy.
      * <p/>
-     * If the receiver implements the interface then the result is the receiver
-     * or a proxy for the receiver. If the receiver is a wrapper
-     * and the wrapped object implements the interface then the result is the
-     * wrapped object or a proxy for the wrapped object. Otherwise return the
-     * the result of calling <code>unwrap</code> recursively on the wrapped object
-     * or a proxy for that result. If the receiver is not a
-     * wrapper and does not implement the interface, then an <code>SQLException</code> is thrown.
+     * If the receiver implements the interface then the result is the receiver or a
+     * proxy for the receiver. If the receiver is a wrapper and the wrapped object
+     * implements the interface then the result is the wrapped object or a proxy for
+     * the wrapped object. Otherwise return the the result of calling
+     * <code>unwrap</code> recursively on the wrapped object or a proxy for that
+     * result. If the receiver is not a wrapper and does not implement the
+     * interface, then an <code>SQLException</code> is thrown.
      *
      * @param iface A Class defining an interface that the result must implement.
-     * @return an object that implements the interface. May be a proxy for the actual implementing object.
-     * @throws java.sql.SQLException If no object found that implements the interface
+     * @return an object that implements the interface. May be a proxy for the
+     * actual implementing object.
+     * @throws java.sql.SQLException If no object found that implements the
+     * interface
      * @since 1.6
      */
+    @Override
     public <T> T unwrap(Class<T> iface) throws SQLException {
-        T result;
         if (iface.isInstance(this)) {
-            result = iface.cast(this);
-        } else {
-            result = preparedStatement.unwrap(iface);
+            return iface.cast(this);
         }
-        return result;
+
+        return preparedStatement.unwrap(iface);
     }
 
     /**
-     * Returns true if this either implements the interface argument or is directly or indirectly a wrapper
-     * for an object that does. Returns false otherwise. If this implements the interface then return true,
-     * else if this is a wrapper then return the result of recursively calling <code>isWrapperFor</code> on the wrapped
-     * object. If this does not implement the interface and is not a wrapper, return false.
-     * This method should be implemented as a low-cost operation compared to <code>unwrap</code> so that
-     * callers can use this method to avoid expensive <code>unwrap</code> calls that may fail. If this method
-     * returns true then calling <code>unwrap</code> with the same argument should succeed.
+     * Returns true if this either implements the interface argument or is directly
+     * or indirectly a wrapper for an object that does. Returns false otherwise. If
+     * this implements the interface then return true, else if this is a wrapper
+     * then return the result of recursively calling <code>isWrapperFor</code> on
+     * the wrapped object. If this does not implement the interface and is not a
+     * wrapper, return false. This method should be implemented as a low-cost
+     * operation compared to <code>unwrap</code> so that callers can use this method
+     * to avoid expensive <code>unwrap</code> calls that may fail. If this method
+     * returns true then calling <code>unwrap</code> with the same argument should
+     * succeed.
      *
      * @param iface a Class defining an interface.
-     * @return true if this implements the interface or directly or indirectly wraps an object that does.
-     * @throws java.sql.SQLException if an error occurs while determining whether this is a wrapper
-     *                               for an object with the given interface.
+     * @return true if this implements the interface or directly or indirectly wraps
+     * an object that does.
+     * @throws java.sql.SQLException if an error occurs while determining whether
+     * this is a wrapper for an object with the given interface.
      * @since 1.6
      */
+    @Override
     public boolean isWrapperFor(Class<?> iface) throws SQLException {
-        boolean result;
         if (iface.isInstance(this)) {
-            result = true;
-        } else {
-            result = preparedStatement.isWrapperFor(iface);
+            return true;
         }
-        return result;
+
+        return preparedStatement.isWrapperFor(iface);
     }
 
     /**
-     * Executes the SQL query in this <code>PreparedStatement</code> object
-     * and returns the <code>ResultSet</code> object generated by the query.
+     * Executes the SQL query in this <code>PreparedStatement</code> object and
+     * returns the <code>ResultSet</code> object generated by the query.
      *
-     * @return a <code>ResultSet</code> object that contains the data produced by the
-     *         query; never <code>null</code>
-     * @throws SQLException if a database access error occurs;
-     *                      this method is called on a closed  <code>PreparedStatement</code> or the SQL
-     *                      statement does not return a <code>ResultSet</code> object
+     * @return a <code>ResultSet</code> object that contains the data produced by
+     * the query; never <code>null</code>
+     * @throws SQLException if a database access error occurs; this method is called
+     * on a closed <code>PreparedStatement</code> or the SQL statement does not
+     * return a <code>ResultSet</code> object
      */
-    public java.sql.ResultSet executeQuery() throws java.sql.SQLException {
-        ResultSet rs = preparedStatement.executeQuery();
+    @Override
+    public ResultSet executeQuery() throws SQLException {
+        ResultSet resultSet = preparedStatement.executeQuery();
         incrementResultSetReferenceCount();
-        return new ResultSetWrapper40(this, rs);
+        return new ResultSetWrapper40(this, resultSet);
     }
 
     /**
      * Executes the given SQL statement, which returns a single
      * <code>ResultSet</code> object.
      *
-     * @param sql an SQL statement to be sent to the database, typically a
-     *            static SQL <code>SELECT</code> statement
-     * @return a <code>ResultSet</code> object that contains the data produced
-     *         by the given query; never <code>null</code>
-     * @throws SQLException if a database access error occurs,
-     *                      this method is called on a closed <code>Statement</code> or the given
-     *                      SQL statement produces anything other than a single
-     *                      <code>ResultSet</code> object
+     * @param sql an SQL statement to be sent to the database, typically a static
+     * SQL <code>SELECT</code> statement
+     * @return a <code>ResultSet</code> object that contains the data produced by
+     * the given query; never <code>null</code>
+     * @throws SQLException if a database access error occurs, this method is called
+     * on a closed <code>Statement</code> or the given SQL statement produces
+     * anything other than a single <code>ResultSet</code> object
      */
-    public java.sql.ResultSet executeQuery(String sql) throws
-            java.sql.SQLException {
-        ResultSet rs = preparedStatement.executeQuery(sql);
+    @Override
+    public ResultSet executeQuery(String sql) throws SQLException {
+        ResultSet resultSet = preparedStatement.executeQuery(sql);
         incrementResultSetReferenceCount();
-        return new ResultSetWrapper40(this, rs);
+        return new ResultSetWrapper40(this, resultSet);
     }
 
     /**
      * Retrieves any auto-generated keys created as a result of executing this
-     * <code>Statement</code> object. If this <code>Statement</code> object did
-     * not generate any keys, an empty <code>ResultSet</code>
-     * object is returned.
+     * <code>Statement</code> object. If this <code>Statement</code> object did not
+     * generate any keys, an empty <code>ResultSet</code> object is returned.
      * <p/>
-     * <p><B>Note:</B>If the columns which represent the auto-generated keys were not specified,
-     * the JDBC driver implementation will determine the columns which best represent the auto-generated keys.
+     * <p>
+     * <B>Note:</B>If the columns which represent the auto-generated keys were not
+     * specified, the JDBC driver implementation will determine the columns which
+     * best represent the auto-generated keys.
      *
      * @return a <code>ResultSet</code> object containing the auto-generated key(s)
-     *         generated by the execution of this <code>Statement</code> object
-     * @throws SQLException if a database access error occurs or
-     *                      this method is called on a closed <code>Statement</code>
-     * @throws java.sql.SQLFeatureNotSupportedException
-     *                      if the JDBC driver does not support this method
+     * generated by the execution of this <code>Statement</code> object
+     * @throws SQLException if a database access error occurs or this method is
+     * called on a closed <code>Statement</code>
+     * @throws java.sql.SQLFeatureNotSupportedException if the JDBC driver does not
+     * support this method
      * @since 1.4
      */
-    public java.sql.ResultSet getGeneratedKeys() throws java.sql.SQLException {
-        ResultSet rs = preparedStatement.getGeneratedKeys();
-        if (rs == null)
+    @Override
+    public ResultSet getGeneratedKeys() throws SQLException {
+        ResultSet resultSet = preparedStatement.getGeneratedKeys();
+        if (resultSet == null) {
             return null;
+        }
+
         incrementResultSetReferenceCount();
-        return new ResultSetWrapper40(this, rs);
+        return new ResultSetWrapper40(this, resultSet);
     }
 
     /**
-     * Retrieves the current result as a <code>ResultSet</code> object.
-     * This method should be called only once per result.
+     * Retrieves the current result as a <code>ResultSet</code> object. This method
+     * should be called only once per result.
      *
      * @return the current result as a <code>ResultSet</code> object or
-     *         <code>null</code> if the result is an update count or there are no more results
-     * @throws SQLException if a database access error occurs or
-     *                      this method is called on a closed <code>Statement</code>
+     * <code>null</code> if the result is an update count or there are no more
+     * results
+     * @throws SQLException if a database access error occurs or this method is
+     * called on a closed <code>Statement</code>
      * @see #execute
      */
-    public java.sql.ResultSet getResultSet() throws java.sql.SQLException {
-        ResultSet rs = preparedStatement.getResultSet();
-        if (rs == null)
+    @Override
+    public ResultSet getResultSet() throws SQLException {
+        ResultSet resultSet = preparedStatement.getResultSet();
+        if (resultSet == null) {
             return null;
+        }
+
         incrementResultSetReferenceCount();
-        return new ResultSetWrapper40(this, rs);
+        return new ResultSetWrapper40(this, resultSet);
     }
 
 }
diff --git a/appserver/jdbc/jdbc-ra/jdbc40/src/main/java/com/sun/gjc/spi/jdbc40/ProfiledConnectionWrapper40.java b/appserver/jdbc/jdbc-ra/jdbc40/src/main/java/com/sun/gjc/spi/jdbc40/ProfiledConnectionWrapper40.java
index 64f49be..3a1d222 100644
--- a/appserver/jdbc/jdbc-ra/jdbc40/src/main/java/com/sun/gjc/spi/jdbc40/ProfiledConnectionWrapper40.java
+++ b/appserver/jdbc/jdbc-ra/jdbc40/src/main/java/com/sun/gjc/spi/jdbc40/ProfiledConnectionWrapper40.java
@@ -16,9 +16,9 @@
 
 package com.sun.gjc.spi.jdbc40;
 
-import com.sun.gjc.spi.ManagedConnectionImpl;
-import com.sun.gjc.spi.base.ConnectionWrapper;
-import com.sun.gjc.util.SQLTraceDelegator;
+import static java.sql.ResultSet.CONCUR_READ_ONLY;
+import static java.sql.ResultSet.TYPE_FORWARD_ONLY;
+
 import java.lang.reflect.InvocationHandler;
 import java.lang.reflect.Method;
 import java.lang.reflect.Proxy;
@@ -26,11 +26,17 @@
 import java.sql.Connection;
 import java.sql.DatabaseMetaData;
 import java.sql.PreparedStatement;
-import java.sql.ResultSet;
 import java.sql.SQLException;
 import java.sql.Statement;
+
 import org.glassfish.api.jdbc.SQLTraceRecord;
 
+import com.sun.gjc.spi.ManagedConnectionImpl;
+import com.sun.gjc.spi.base.ConnectionWrapper;
+import com.sun.gjc.util.SQLTraceDelegator;
+
+import jakarta.resource.spi.ConnectionRequestInfo;
+
 /**
  * Wrapper class that aids to provide wrapper for Statement, PreparedStatement,
  * CallableStatement, DatabaseMetaData. Along with providing a wrapper, this
@@ -44,13 +50,12 @@
 
     /**
      * Instantiates connection wrapper to wrap JDBC objects.
+     *
      * @param con Connection that is wrapped
-     * @param mc  Managed Connection
-     * @param cxRequestInfo  Connection Request Info
+     * @param mc Managed Connection
+     * @param cxRequestInfo Connection Request Info
      */
-    public ProfiledConnectionWrapper40(Connection con, ManagedConnectionImpl mc,
-            jakarta.resource.spi.ConnectionRequestInfo cxRequestInfo,
-            boolean jdbc30Connection, SQLTraceDelegator delegator) {
+    public ProfiledConnectionWrapper40(Connection con, ManagedConnectionImpl mc, ConnectionRequestInfo cxRequestInfo, boolean jdbc30Connection, SQLTraceDelegator delegator) {
         super(con, mc, cxRequestInfo, jdbc30Connection);
         this.sqlTraceDelegator = delegator;
     }
@@ -61,14 +66,13 @@
      * @return <code>Statement</code> object.
      * @throws java.sql.SQLException In case of a database error.
      */
+    @Override
     public Statement createStatement() throws SQLException {
         Statement output = null;
-        Class intf[] = new Class[]{java.sql.Statement.class};
         try {
-            output = (java.sql.Statement) getProxyObject(
-                    new StatementWrapper40(this, super.createStatement()), intf);
+            output = (Statement) getProxyObject(new StatementWrapper40(this, super.createStatement()), new Class<?>[] { Statement.class });
         } catch (Exception e) {
-            //TODO SQLexception or any other type?
+            // TODO SQLexception or any other type?
             throw new SQLException(e);
         }
         return output;
@@ -77,43 +81,43 @@
     /**
      * Creates a statement from the underlying Connection.
      *
-     * @param resultSetType        Type of the ResultSet
+     * @param resultSetType Type of the ResultSet
      * @param resultSetConcurrency ResultSet Concurrency.
      * @return <code>Statement</code> object.
      * @throws SQLException In case of a database error.
      */
+    @Override
     public Statement createStatement(int resultSetType, int resultSetConcurrency) throws SQLException {
         Statement output = null;
-        Class intf[] = new Class[]{java.sql.Statement.class};
-        try{
-            output = (java.sql.Statement)getProxyObject(
-                    new StatementWrapper40(this,
-                    super.createStatement(resultSetType, resultSetConcurrency)), intf);
-        }catch(Exception e){
+        try {
+            output = (Statement)
+                getProxyObject(
+                    new StatementWrapper40(this, super.createStatement(resultSetType, resultSetConcurrency)), new Class<?>[] { Statement.class });
+        } catch (Exception e) {
             throw new SQLException(e);
         }
+
         return output;
     }
 
     /**
      * Creates a statement from the underlying Connection.
      *
-     * @param resultSetType        Type of the ResultSet
+     * @param resultSetType Type of the ResultSet
      * @param resultSetConcurrency ResultSet Concurrency.
      * @param resultSetHoldability ResultSet Holdability.
      * @return <code>Statement</code> object.
      * @throws SQLException In case of a database error.
      */
-    public Statement createStatement(int resultSetType, int resultSetConcurrency,
-            int resultSetHoldability) throws SQLException {
+    @Override
+    public Statement createStatement(int resultSetType, int resultSetConcurrency, int resultSetHoldability) throws SQLException {
         Statement output = null;
-        Class intf[] = new Class[]{java.sql.Statement.class};
-        try{
-            output = (java.sql.Statement)getProxyObject(
-                    new StatementWrapper40(this,
-                    super.createStatement(resultSetType, resultSetConcurrency, resultSetHoldability)),
-                    intf);
-        }catch(Exception e){
+        Class<?>[] intf = new Class[] { Statement.class };
+        try {
+            output = (Statement)
+                getProxyObject(
+                    new StatementWrapper40(this, super.createStatement(resultSetType, resultSetConcurrency, resultSetHoldability)), intf);
+        } catch (Exception e) {
             throw new SQLException(e);
         }
         return output;
@@ -126,279 +130,269 @@
      * @return <code>DatabaseMetaData</code> object.
      * @throws SQLException In case of a database error.
      */
+    @Override
     public DatabaseMetaData getMetaData() throws SQLException {
         return new DatabaseMetaDataWrapper40(this, super.getMetaData());
     }
 
     /**
-     * Creates a <code> CallableStatement </code> object for calling database
-     * stored procedures.
+     * Creates a <code> CallableStatement </code> object for calling database stored
+     * procedures.
      *
      * @param sql SQL Statement
      * @return <code> CallableStatement</code> object.
      * @throws java.sql.SQLException In case of a database error.
      */
+    @Override
     public CallableStatement prepareCall(String sql) throws SQLException {
         CallableStatement output = null;
-        Class intf[] = new Class[]{java.sql.CallableStatement.class};
-        try{
-            output = (java.sql.CallableStatement)getProxyObject(
-                    mc.prepareCachedCallableStatement(this,sql, ResultSet.TYPE_FORWARD_ONLY, ResultSet.CONCUR_READ_ONLY),
-                    intf);
-        }catch(Exception e){
+        Class<?>[] intf = new Class[] { java.sql.CallableStatement.class };
+        try {
+            output = (CallableStatement)
+                getProxyObject(
+                    managedConnectionImpl.prepareCachedCallableStatement(this, sql, TYPE_FORWARD_ONLY, CONCUR_READ_ONLY), intf);
+        } catch (Exception e) {
             throw new SQLException(e);
         }
         return output;
     }
 
     /**
-     * Creates a <code> CallableStatement </code> object for calling database
-     * stored procedures.
+     * Creates a <code> CallableStatement </code> object for calling database stored
+     * procedures.
      *
-     * @param sql                  SQL Statement
-     * @param resultSetType        Type of the ResultSet
+     * @param sql SQL Statement
+     * @param resultSetType Type of the ResultSet
      * @param resultSetConcurrency ResultSet Concurrency.
      * @return <code> CallableStatement</code> object.
      * @throws SQLException In case of a database error.
      */
-    public CallableStatement prepareCall(String sql, int resultSetType,
-            int resultSetConcurrency) throws SQLException {
+    @Override
+    public CallableStatement prepareCall(String sql, int resultSetType, int resultSetConcurrency) throws SQLException {
         CallableStatement output = null;
-        Class intf[] = new Class[]{java.sql.CallableStatement.class};
-        try{
-            output = (java.sql.CallableStatement)getProxyObject(
-                    mc.prepareCachedCallableStatement(this, sql, resultSetType, resultSetConcurrency),
-                    intf);
-        }catch(Exception e){
+        Class<?>[] intf = new Class[] { java.sql.CallableStatement.class };
+        try {
+            output = (CallableStatement)
+                getProxyObject(
+                    managedConnectionImpl.prepareCachedCallableStatement(this, sql, resultSetType, resultSetConcurrency), intf);
+        } catch (Exception e) {
             throw new SQLException(e);
         }
         return output;
     }
 
     /**
-     * Creates a <code> CallableStatement </code> object for calling database
-     * stored procedures.
+     * Creates a <code> CallableStatement </code> object for calling database stored
+     * procedures.
      *
-     * @param sql                  SQL Statement
-     * @param resultSetType        Type of the ResultSet
+     * @param sql SQL Statement
+     * @param resultSetType Type of the ResultSet
      * @param resultSetConcurrency ResultSet Concurrency.
      * @param resultSetHoldability ResultSet Holdability.
      * @return <code> CallableStatement</code> object.
      * @throws SQLException In case of a database error.
      */
-    public CallableStatement prepareCall(String sql, int resultSetType,
-            int resultSetConcurrency,
-            int resultSetHoldability) throws SQLException {
+    @Override
+    public CallableStatement prepareCall(String sql, int resultSetType, int resultSetConcurrency, int resultSetHoldability) throws SQLException {
         CallableStatement output = null;
-        Class intf[] = new Class[]{java.sql.CallableStatement.class};
-        try{
-            output = (java.sql.CallableStatement)getProxyObject(
-                    mc.prepareCachedCallableStatement(this, sql, resultSetType, resultSetConcurrency, resultSetHoldability),
-                    intf);
-        }catch(Exception e){
+        Class<?>[] intf = new Class[] { CallableStatement.class };
+        try {
+            output = (CallableStatement)
+                getProxyObject(
+                    managedConnectionImpl.prepareCachedCallableStatement(this, sql, resultSetType, resultSetConcurrency, resultSetHoldability), intf);
+        } catch (Exception e) {
             throw new SQLException(e);
         }
         return output;
     }
 
     /**
-     * Creates a <code> PreparedStatement </code> object for sending
-     * paramterized SQL statements to database
+     * Creates a <code> PreparedStatement </code> object for sending paramterized
+     * SQL statements to database
      *
      * @param sql SQL Statement
      * @return <code> PreparedStatement</code> object.
      * @throws SQLException In case of a database error.
      */
+    @Override
     public PreparedStatement prepareStatement(String sql) throws SQLException {
         PreparedStatement output = null;
-        Class intf[] = new Class[]{java.sql.PreparedStatement.class};
+        Class<?>[] intf = new Class[] { PreparedStatement.class };
 
-        try{
-            output = (PreparedStatement)getProxyObject(
-                    mc.prepareCachedStatement(this, sql,
-                    ResultSet.TYPE_FORWARD_ONLY, ResultSet.CONCUR_READ_ONLY),
-                    intf);
-        }catch(Exception e){
+        try {
+            output = (PreparedStatement)
+                getProxyObject(
+                    managedConnectionImpl.prepareCachedStatement(this, sql, TYPE_FORWARD_ONLY, CONCUR_READ_ONLY), intf);
+        } catch (Exception e) {
             throw new SQLException(e);
         }
         return output;
     }
 
     /**
-     * Creates a <code> PreparedStatement </code> object for sending
-     * paramterized SQL statements to database
+     * Creates a <code> PreparedStatement </code> object for sending paramterized
+     * SQL statements to database
      *
-     * @param sql               SQL Statement
-     * @param autoGeneratedKeys a flag indicating AutoGeneratedKeys need to be returned.
+     * @param sql SQL Statement
+     * @param autoGeneratedKeys a flag indicating AutoGeneratedKeys need to be
+     * returned.
      * @return <code> PreparedStatement</code> object.
      * @throws SQLException In case of a database error.
      */
+    @Override
     public PreparedStatement prepareStatement(String sql, int autoGeneratedKeys) throws SQLException {
         PreparedStatement output = null;
-        Class intf[] = new Class[]{java.sql.PreparedStatement.class};
-        try{
-            output = (PreparedStatement)getProxyObject(
-                    mc.prepareCachedStatement(this, sql, autoGeneratedKeys), intf);
-        }catch(Exception e){
+        Class<?>[] intf = new Class[] { PreparedStatement.class };
+        try {
+            output = (PreparedStatement)
+                getProxyObject(managedConnectionImpl.prepareCachedStatement(this, sql, autoGeneratedKeys), intf);
+        } catch (Exception e) {
             throw new SQLException(e);
         }
         return output;
     }
 
     /**
-     * Creates a <code> PreparedStatement </code> object for sending
-     * paramterized SQL statements to database
+     * Creates a <code> PreparedStatement </code> object for sending paramterized
+     * SQL statements to database
      *
-     * @param sql           SQL Statement
-     * @param columnIndexes an array of column indexes indicating the columns that should be
-     *                      returned from the inserted row or rows.
+     * @param sql SQL Statement
+     * @param columnIndexes an array of column indexes indicating the columns that
+     * should be returned from the inserted row or rows.
      * @return <code> PreparedStatement</code> object.
      * @throws SQLException In case of a database error.
      */
+    @Override
     public PreparedStatement prepareStatement(String sql, int[] columnIndexes) throws SQLException {
-            PreparedStatement output = null;
-        Class intf[] = new Class[]{java.sql.PreparedStatement.class};
-        try{
-            output = (PreparedStatement)getProxyObject(
-                    mc.prepareCachedStatement(this, sql, columnIndexes), intf);
-        }catch(Exception e){
+        PreparedStatement output = null;
+        Class<?>[] intf = new Class[] { PreparedStatement.class };
+        try {
+            output = (PreparedStatement)
+                getProxyObject(managedConnectionImpl.prepareCachedStatement(this, sql, columnIndexes), intf);
+        } catch (Exception e) {
             throw new SQLException(e);
         }
         return output;
     }
 
     /**
-     * Creates a <code> PreparedStatement </code> object for sending
-     * paramterized SQL statements to database
+     * Creates a <code> PreparedStatement </code> object for sending paramterized
+     * SQL statements to database
      *
-     * @param sql                  SQL Statement
-     * @param resultSetType        Type of the ResultSet
+     * @param sql SQL Statement
+     * @param resultSetType Type of the ResultSet
      * @param resultSetConcurrency ResultSet Concurrency.
      * @return <code> PreparedStatement</code> object.
      * @throws SQLException In case of a database error.
      */
-    public PreparedStatement prepareStatement(String sql, int resultSetType,
-            int resultSetConcurrency) throws SQLException {
+    @Override
+    public PreparedStatement prepareStatement(String sql, int resultSetType, int resultSetConcurrency) throws SQLException {
         PreparedStatement output = null;
-        Class intf[] = new Class[]{java.sql.PreparedStatement.class};
-        try{
-            output = (PreparedStatement)getProxyObject(
-                    mc.prepareCachedStatement(this, sql, resultSetType, resultSetConcurrency),
-                    intf);
-        }catch(Exception e){
+        Class<?>[] intf = new Class[] { PreparedStatement.class };
+        try {
+            output = (PreparedStatement)
+                getProxyObject(managedConnectionImpl.prepareCachedStatement(this, sql, resultSetType, resultSetConcurrency), intf);
+        } catch (Exception e) {
             throw new SQLException(e);
         }
         return output;
     }
 
     /**
-     * Creates a <code> PreparedStatement </code> object for sending
-     * paramterized SQL statements to database
+     * Creates a <code> PreparedStatement </code> object for sending paramterized
+     * SQL statements to database
      *
-     * @param sql                  SQL Statement
-     * @param resultSetType        Type of the ResultSet
+     * @param sql SQL Statement
+     * @param resultSetType Type of the ResultSet
      * @param resultSetConcurrency ResultSet Concurrency.
      * @param resultSetHoldability ResultSet Holdability.
      * @return <code> PreparedStatement</code> object.
      * @throws SQLException In case of a database error.
      */
-    public PreparedStatement prepareStatement(String sql, int resultSetType,
-            int resultSetConcurrency,
-            int resultSetHoldability) throws SQLException {
+    @Override
+    public PreparedStatement prepareStatement(String sql, int resultSetType, int resultSetConcurrency, int resultSetHoldability)
+            throws SQLException {
         PreparedStatement output = null;
-        Class intf[] = new Class[]{java.sql.PreparedStatement.class};
-        try{
-            output = (PreparedStatement)getProxyObject(
-                    mc.prepareCachedStatement(this, sql, resultSetType, resultSetConcurrency, resultSetHoldability),
-                    intf);
-        }catch(Exception e){
+        Class<?>[] intf = new Class[] { PreparedStatement.class };
+        try {
+            output = (PreparedStatement)
+                getProxyObject(
+                    managedConnectionImpl.prepareCachedStatement(this, sql, resultSetType, resultSetConcurrency, resultSetHoldability), intf);
+        } catch (Exception e) {
             throw new SQLException(e);
         }
         return output;
     }
 
     /**
-     * Creates a <code> PreparedStatement </code> object for sending
-     * paramterized SQL statements to database
+     * Creates a <code> PreparedStatement </code> object for sending paramterized
+     * SQL statements to database
      *
-     * @param sql         SQL Statement
+     * @param sql SQL Statement
      * @param columnNames Name of bound columns.
      * @return <code> PreparedStatement</code> object.
      * @throws SQLException In case of a database error.
      */
+    @Override
     public PreparedStatement prepareStatement(String sql, String[] columnNames) throws SQLException {
         checkValidity();
         jdbcPreInvoke();
         PreparedStatement output = null;
-        Class intf[] = new Class[]{java.sql.PreparedStatement.class};
-        try{
-            output = (PreparedStatement)getProxyObject(mc.prepareCachedStatement(this, sql, columnNames),
-                    intf);
-        }catch(Exception e){
+        Class<?>[] intf = new Class[] { PreparedStatement.class };
+        try {
+            output = (PreparedStatement)
+                getProxyObject(managedConnectionImpl.prepareCachedStatement(this, sql, columnNames), intf);
+        } catch (Exception e) {
             throw new SQLException(e);
         }
         return output;
 
     }
 
-    public PreparedStatementWrapper40 prepareCachedStatement(String sql,
-            int resultSetType, int resultSetConcurrency, boolean enableCaching)
-            throws SQLException {
-        return new PreparedStatementWrapper40(this, super.prepareStatement(sql,
-                resultSetType, resultSetConcurrency), enableCaching);
+    @Override
+    public PreparedStatementWrapper40 prepareCachedStatement(String sql, int resultSetType, int resultSetConcurrency, boolean enableCaching) throws SQLException {
+        return new PreparedStatementWrapper40(this, super.prepareStatement(sql, resultSetType, resultSetConcurrency), enableCaching);
     }
 
-    public PreparedStatementWrapper40 prepareCachedStatement(String sql,
-            String[] columnNames, boolean enableCaching)
-            throws SQLException {
-        return new PreparedStatementWrapper40(this,
-                super.prepareStatement(sql, columnNames), enableCaching);
+    @Override
+    public PreparedStatementWrapper40 prepareCachedStatement(String sql, String[] columnNames, boolean enableCaching) throws SQLException {
+        return new PreparedStatementWrapper40(this, super.prepareStatement(sql, columnNames), enableCaching);
     }
 
-    public PreparedStatementWrapper40 prepareCachedStatement(String sql,
-            int resultSetType, int resultSetConcurrency, int resultSetHoldability,
+    @Override
+    public PreparedStatementWrapper40 prepareCachedStatement(String sql, int resultSetType, int resultSetConcurrency, int resultSetHoldability, boolean enableCaching) throws SQLException {
+        return new PreparedStatementWrapper40(this, super.prepareCall(sql, resultSetType, resultSetConcurrency, resultSetHoldability),
+                enableCaching);
+    }
+
+    @Override
+    public PreparedStatementWrapper40 prepareCachedStatement(String sql, int[] columnIndexes, boolean enableCaching) throws SQLException {
+        return new PreparedStatementWrapper40(this, super.prepareStatement(sql, columnIndexes), enableCaching);
+    }
+
+    @Override
+    public PreparedStatementWrapper40 prepareCachedStatement(String sql, int autoGeneratedKeys, boolean enableCaching) throws SQLException {
+        return new PreparedStatementWrapper40(this, super.prepareStatement(sql, autoGeneratedKeys), enableCaching);
+    }
+
+    @Override
+    public CallableStatementWrapper40 callableCachedStatement(String sql, int resultSetType, int resultSetConcurrency,
             boolean enableCaching) throws SQLException {
-        return new PreparedStatementWrapper40(this,
-                super.prepareCall(sql, resultSetType, resultSetConcurrency, resultSetHoldability),
+        return new CallableStatementWrapper40(this, super.prepareCall(sql, resultSetType, resultSetConcurrency), enableCaching);
+    }
+
+    @Override
+    public CallableStatementWrapper40 callableCachedStatement(String sql, int resultSetType, int resultSetConcurrency, int resultSetHoldability, boolean enableCaching) throws SQLException {
+        return new CallableStatementWrapper40(this, super.prepareCall(sql, resultSetType, resultSetConcurrency, resultSetHoldability),
                 enableCaching);
     }
 
-    public PreparedStatementWrapper40 prepareCachedStatement(String sql,
-            int[] columnIndexes, boolean enableCaching)
-            throws SQLException {
-        return new PreparedStatementWrapper40(this,
-                super.prepareStatement(sql, columnIndexes), enableCaching);
-    }
-
-    public PreparedStatementWrapper40 prepareCachedStatement(String sql,
-            int autoGeneratedKeys, boolean enableCaching)
-            throws SQLException {
-        return new PreparedStatementWrapper40(this,
-                super.prepareStatement(sql, autoGeneratedKeys), enableCaching);
-    }
-
-    public CallableStatementWrapper40 callableCachedStatement(String sql,
-            int resultSetType, int resultSetConcurrency, boolean enableCaching)
-            throws SQLException {
-        return new CallableStatementWrapper40(this, super.prepareCall(sql,
-                resultSetType, resultSetConcurrency), enableCaching);
-    }
-
-    public CallableStatementWrapper40 callableCachedStatement(String sql,
-            int resultSetType, int resultSetConcurrency,
-            int resultSetHoldability, boolean enableCaching)
-            throws SQLException {
-        return new CallableStatementWrapper40(this, super.prepareCall(sql,
-                resultSetType, resultSetConcurrency, resultSetHoldability),
-                enableCaching);
-    }
-
-    //TODO refactor this method and move to a higher level
-    private <T> T getProxyObject(final Object actualObject, Class<T>[] ifaces) throws Exception {
-
-        T result;
+    // TODO refactor this method and move to a higher level
+    @SuppressWarnings("unchecked")
+    private <T> T getProxyObject(final Object actualObject, Class<?>[] ifaces) throws Exception {
         InvocationHandler ih = new InvocationHandler() {
 
+            @Override
             public Object invoke(Object proxy, Method method, Object[] args) throws Throwable {
                 SQLTraceRecord record = new SQLTraceRecord();
                 record.setMethodName(method.getName());
@@ -411,8 +405,8 @@
                 return method.invoke(actualObject, args);
             }
         };
-        result = (T) Proxy.newProxyInstance(actualObject.getClass().getClassLoader(), ifaces, ih);
-        return result;
+
+        return (T) Proxy.newProxyInstance(actualObject.getClass().getClassLoader(), ifaces, ih);
     }
 
 }
diff --git a/appserver/jdbc/jdbc-ra/jdbc40/src/main/java/com/sun/gjc/spi/jdbc40/ResultSetWrapper40.java b/appserver/jdbc/jdbc-ra/jdbc40/src/main/java/com/sun/gjc/spi/jdbc40/ResultSetWrapper40.java
index 9a479f3..a42af08 100644
--- a/appserver/jdbc/jdbc-ra/jdbc40/src/main/java/com/sun/gjc/spi/jdbc40/ResultSetWrapper40.java
+++ b/appserver/jdbc/jdbc-ra/jdbc40/src/main/java/com/sun/gjc/spi/jdbc40/ResultSetWrapper40.java
@@ -1,4 +1,5 @@
 /*
+ * Copyright (c) 2022 Contributors to the Eclipse Foundation.
  * Copyright (c) 1997, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
@@ -16,16 +17,22 @@
 
 package com.sun.gjc.spi.jdbc40;
 
-import com.sun.enterprise.util.i18n.StringManager;
-import com.sun.gjc.common.DataSourceObjectBuilder;
-import com.sun.gjc.spi.ManagedConnectionFactoryImpl;
-import com.sun.gjc.spi.base.ResultSetWrapper;
+import static java.util.logging.Level.SEVERE;
 
 import java.io.InputStream;
 import java.io.Reader;
+import java.sql.NClob;
+import java.sql.ResultSet;
+import java.sql.RowId;
+import java.sql.SQLException;
+import java.sql.SQLFeatureNotSupportedException;
+import java.sql.SQLXML;
+import java.sql.Statement;
 
-import java.sql.*;
-import java.util.logging.Level;
+import com.sun.enterprise.util.i18n.StringManager;
+import com.sun.gjc.spi.ManagedConnectionFactoryImpl;
+import com.sun.gjc.spi.base.ResultSetWrapper;
+
 import jakarta.resource.ResourceException;
 
 /**
@@ -33,104 +40,100 @@
  */
 public class ResultSetWrapper40 extends ResultSetWrapper {
 
-    protected final static StringManager localStrings =
-            StringManager.getManager(ManagedConnectionFactoryImpl.class);
+    protected final static StringManager localStrings = StringManager.getManager(ManagedConnectionFactoryImpl.class);
 
     /**
      * Creates a new instance of ResultSetWrapper for JDBC 4.0
      *
-     * @param stmt Statement that is to be wrapped<br>
-     * @param rs   ResultSet that is to be wraped<br>*
+     * @param statement Statement that is to be wrapped<br>
+     * @param resultSet ResultSet that is to be wraped<br>
+     * *
      */
-    public ResultSetWrapper40(Statement stmt, ResultSet rs) {
-        super(stmt, rs);
+    public ResultSetWrapper40(Statement statement, ResultSet resultSet) {
+        super(statement, resultSet);
     }
 
     /**
      * Retrieves the value of the designated column in the current row of this
-     * <code>ResultSet</code> object as a <code>java.sql.RowId</code> object in the Java
-     * programming language.
+     * <code>ResultSet</code> object as a <code>java.sql.RowId</code> object in the
+     * Java programming language.
      *
      * @param columnIndex the first column is 1, the second 2, ...
-     * @return the column value; if the value is a SQL <code>NULL</code> the
-     *         value returned is <code>null</code>
-     * @throws SQLException if the columnIndex is not valid;
-     *                      if a database access error occurs
-     *                      or this method is called on a closed result set
-     * @throws SQLFeatureNotSupportedException
-     *                      if the JDBC driver does not support
-     *                      this method
+     * @return the column value; if the value is a SQL <code>NULL</code> the value
+     * returned is <code>null</code>
+     * @throws SQLException if the columnIndex is not valid; if a database access
+     * error occurs or this method is called on a closed result set
+     * @throws SQLFeatureNotSupportedException if the JDBC driver does not support
+     * this method
      * @since 1.6
      */
+    @Override
     public RowId getRowId(int columnIndex) throws SQLException {
         return resultSet.getRowId(columnIndex);
     }
 
     /**
      * Retrieves the value of the designated column in the current row of this
-     * <code>ResultSet</code> object as a <code>java.sql.RowId</code> object in the Java
-     * programming language.
+     * <code>ResultSet</code> object as a <code>java.sql.RowId</code> object in the
+     * Java programming language.
      *
-     * @param columnLabel the label for the column specified with the SQL AS clause.  If the SQL AS clause was not
-     *                    specified, then the label is the name of the column
-     * @return the column value ; if the value is a SQL <code>NULL</code> the
-     *         value returned is <code>null</code>
-     * @throws SQLException if the columnLabel is not valid;
-     *                      if a database access error occurs
-     *                      or this method is called on a closed result set
-     * @throws SQLFeatureNotSupportedException
-     *                      if the JDBC driver does not support
-     *                      this method
+     * @param columnLabel the label for the column specified with the SQL AS clause.
+     * If the SQL AS clause was not specified, then the label is the name of the
+     * column
+     * @return the column value ; if the value is a SQL <code>NULL</code> the value
+     * returned is <code>null</code>
+     * @throws SQLException if the columnLabel is not valid; if a database access
+     * error occurs or this method is called on a closed result set
+     * @throws SQLFeatureNotSupportedException if the JDBC driver does not support
+     * this method
      * @since 1.6
      */
+    @Override
     public RowId getRowId(String columnLabel) throws SQLException {
         return resultSet.getRowId(columnLabel);
     }
 
+    @SuppressWarnings("unchecked")
+    @Override
     public <T> T getObject(int columnIndex, Class<T> type) throws SQLException {
-        if (DataSourceObjectBuilder.isJDBC41()) {
-            Class<?>[] valueTypes = new Class<?>[]{Integer.TYPE, Class.class};
-            try {
-                return (T) getMethodExecutor().invokeMethod(resultSet, "getObject", valueTypes, columnIndex, type);
-            } catch (ResourceException ex) {
-                _logger.log(Level.SEVERE, "jdbc.ex_get_object", ex);
-                throw new SQLException(ex);
-            }
+        Class<?>[] valueTypes = new Class<?>[] { Integer.TYPE, Class.class };
+        try {
+            return (T) getMethodExecutor().invokeMethod(resultSet, "getObject", valueTypes, columnIndex, type);
+        } catch (ResourceException ex) {
+            _logger.log(SEVERE, "jdbc.ex_get_object", ex);
+            throw new SQLException(ex);
         }
-        throw new UnsupportedOperationException("Operation not supported in this runtime.");
     }
 
+    @SuppressWarnings("unchecked")
+    @Override
     public <T> T getObject(String columnLabel, Class<T> type) throws SQLException {
-        if (DataSourceObjectBuilder.isJDBC41()) {
-            Class<?>[] valueTypes = new Class<?>[]{String.class, Class.class};
-            try {
-                return (T) getMethodExecutor().invokeMethod(resultSet, "getObject", valueTypes, columnLabel, type);
-            } catch (ResourceException ex) {
-                _logger.log(Level.SEVERE, "jdbc.ex_get_object", ex);
-                throw new SQLException(ex);
-            }
+        Class<?>[] valueTypes = new Class<?>[] { String.class, Class.class };
+        try {
+            return (T) getMethodExecutor().invokeMethod(resultSet, "getObject", valueTypes, columnLabel, type);
+        } catch (ResourceException ex) {
+            _logger.log(SEVERE, "jdbc.ex_get_object", ex);
+            throw new SQLException(ex);
         }
-        throw new UnsupportedOperationException("Operation not supported in this runtime.");
     }
 
     /**
      * Updates the designated column with a <code>RowId</code> value. The updater
      * methods are used to update column values in the current row or the insert
-     * row. The updater methods do not update the underlying database; instead
-     * the <code>updateRow</code> or <code>insertRow</code> methods are called
-     * to update the database.
+     * row. The updater methods do not update the underlying database; instead the
+     * <code>updateRow</code> or <code>insertRow</code> methods are called to update
+     * the database.
      *
      * @param columnIndex the first column is 1, the second 2, ...
-     * @param x           the column value
-     * @throws SQLException if the columnIndex is not valid;
-     *                      if a database access error occurs;
-     *                      the result set concurrency is <code>CONCUR_READ_ONLY</code>
-     *                      or this method is called on a closed result set
-     * @throws SQLFeatureNotSupportedException
-     *                      if the JDBC driver does not support
-     *                      this method
+     * @param x the column value
+     * @throws SQLException if the columnIndex is not valid; if a database access
+     * error occurs; the result set concurrency is <code>CONCUR_READ_ONLY</code> or
+     * this method is called on a closed result set
+     * @throws SQLFeatureNotSupportedException if the JDBC driver does not support
+     * this method
      * @since 1.6
      */
+    @Override
     public void updateRowId(int columnIndex, RowId x) throws SQLException {
         resultSet.updateRowId(columnIndex, x);
     }
@@ -138,22 +141,22 @@
     /**
      * Updates the designated column with a <code>RowId</code> value. The updater
      * methods are used to update column values in the current row or the insert
-     * row. The updater methods do not update the underlying database; instead
-     * the <code>updateRow</code> or <code>insertRow</code> methods are called
-     * to update the database.
+     * row. The updater methods do not update the underlying database; instead the
+     * <code>updateRow</code> or <code>insertRow</code> methods are called to update
+     * the database.
      *
-     * @param columnLabel the label for the column specified with the SQL AS clause.  If the SQL AS clause was
-     *                    not specified, then the label is the name of the column
-     * @param x           the column value
-     * @throws SQLException if the columnLabel is not valid;
-     *                      if a database access error occurs;
-     *                      the result set concurrency is <code>CONCUR_READ_ONLY</code>
-     *                      or this method is called on a closed result set
-     * @throws SQLFeatureNotSupportedException
-     *                      if the JDBC driver does not support
-     *                      this method
+     * @param columnLabel the label for the column specified with the SQL AS clause.
+     * If the SQL AS clause was not specified, then the label is the name of the
+     * column
+     * @param x the column value
+     * @throws SQLException if the columnLabel is not valid; if a database access
+     * error occurs; the result set concurrency is <code>CONCUR_READ_ONLY</code> or
+     * this method is called on a closed result set
+     * @throws SQLFeatureNotSupportedException if the JDBC driver does not support
+     * this method
      * @since 1.6
      */
+    @Override
     public void updateRowId(String columnLabel, RowId x) throws SQLException {
         resultSet.updateRowId(columnLabel, x);
     }
@@ -161,476 +164,457 @@
     /**
      * Retrieves the holdability of this <code>ResultSet</code> object
      *
-     * @return either <code>ResultSet.HOLD_CURSORS_OVER_COMMIT</code> or <code>ResultSet.CLOSE_CURSORS_AT_COMMIT</code>
-     * @throws SQLException if a database access error occurs
-     *                      or this method is called on a closed result set
+     * @return either <code>ResultSet.HOLD_CURSORS_OVER_COMMIT</code> or
+     * <code>ResultSet.CLOSE_CURSORS_AT_COMMIT</code>
+     * @throws SQLException if a database access error occurs or this method is
+     * called on a closed result set
      * @since 1.6
      */
+    @Override
     public int getHoldability() throws SQLException {
         return resultSet.getHoldability();
     }
 
     /**
-     * Retrieves whether this <code>ResultSet</code> object has been closed. A <code>ResultSet</code> is closed if the
-     * method close has been called on it, or if it is automatically closed.
+     * Retrieves whether this <code>ResultSet</code> object has been closed. A
+     * <code>ResultSet</code> is closed if the method close has been called on it,
+     * or if it is automatically closed.
      *
-     * @return true if this <code>ResultSet</code> object is closed; false if it is still open
+     * @return true if this <code>ResultSet</code> object is closed; false if it is
+     * still open
      * @throws SQLException if a database access error occurs
      * @since 1.6
      */
+    @Override
     public boolean isClosed() throws SQLException {
         return resultSet.isClosed();
     }
 
     /**
-     * Updates the designated column with a <code>String</code> value.
-     * It is intended for use when updating <code>NCHAR</code>,<code>NVARCHAR</code>
-     * and <code>LONGNVARCHAR</code> columns.
-     * The updater methods are used to update column values in the
-     * current row or the insert row.  The updater methods do not
-     * update the underlying database; instead the <code>updateRow</code> or
+     * Updates the designated column with a <code>String</code> value. It is
+     * intended for use when updating <code>NCHAR</code>,<code>NVARCHAR</code> and
+     * <code>LONGNVARCHAR</code> columns. The updater methods are used to update
+     * column values in the current row or the insert row. The updater methods do
+     * not update the underlying database; instead the <code>updateRow</code> or
      * <code>insertRow</code> methods are called to update the database.
      *
      * @param columnIndex the first column is 1, the second 2, ...
-     * @param nString     the value for the column to be updated
-     * @throws SQLException if the columnIndex is not valid;
-     *                      if the driver does not support national
-     *                      character sets;  if the driver can detect that a data conversion
-     *                      error could occur; this method is called on a closed result set;
-     *                      the result set concurrency is <code>CONCUR_READ_ONLY</code>
-     *                      or if a database access error occurs
-     * @throws SQLFeatureNotSupportedException
-     *                      if the JDBC driver does not support
-     *                      this method
+     * @param nString the value for the column to be updated
+     * @throws SQLException if the columnIndex is not valid; if the driver does not
+     * support national character sets; if the driver can detect that a data
+     * conversion error could occur; this method is called on a closed result set;
+     * the result set concurrency is <code>CONCUR_READ_ONLY</code> or if a database
+     * access error occurs
+     * @throws SQLFeatureNotSupportedException if the JDBC driver does not support
+     * this method
      * @since 1.6
      */
+    @Override
     public void updateNString(int columnIndex, String nString) throws SQLException {
         resultSet.updateNString(columnIndex, nString);
     }
 
     /**
-     * Updates the designated column with a <code>String</code> value.
-     * It is intended for use when updating <code>NCHAR</code>,<code>NVARCHAR</code>
-     * and <code>LONGNVARCHAR</code> columns.
-     * The updater methods are used to update column values in the
-     * current row or the insert row.  The updater methods do not
-     * update the underlying database; instead the <code>updateRow</code> or
+     * Updates the designated column with a <code>String</code> value. It is
+     * intended for use when updating <code>NCHAR</code>,<code>NVARCHAR</code> and
+     * <code>LONGNVARCHAR</code> columns. The updater methods are used to update
+     * column values in the current row or the insert row. The updater methods do
+     * not update the underlying database; instead the <code>updateRow</code> or
      * <code>insertRow</code> methods are called to update the database.
      *
-     * @param columnLabel the label for the column specified with the SQL AS clause.  If the SQL AS clause was not
-     *                    specified, then the label is the name of the column
-     * @param nString     the value for the column to be updated
-     * @throws SQLException if the columnLabel is not valid;
-     *                      if the driver does not support national
-     *                      character sets;  if the driver can detect that a data conversion
-     *                      error could occur; this method is called on a closed result set;
-     *                      the result set concurrency is <CODE>CONCUR_READ_ONLY</code>
-     *                      or if a database access error occurs
-     * @throws SQLFeatureNotSupportedException
-     *                      if the JDBC driver does not support
-     *                      this method
+     * @param columnLabel the label for the column specified with the SQL AS clause.
+     * If the SQL AS clause was not specified, then the label is the name of the
+     * column
+     * @param nString the value for the column to be updated
+     * @throws SQLException if the columnLabel is not valid; if the driver does not
+     * support national character sets; if the driver can detect that a data
+     * conversion error could occur; this method is called on a closed result set;
+     * the result set concurrency is <CODE>CONCUR_READ_ONLY</code> or if a database
+     * access error occurs
+     * @throws SQLFeatureNotSupportedException if the JDBC driver does not support
+     * this method
      * @since 1.6
      */
+    @Override
     public void updateNString(String columnLabel, String nString) throws SQLException {
         resultSet.updateNString(columnLabel, nString);
     }
 
     /**
-     * Updates the designated column with a <code>java.sql.NClob</code> value.
-     * The updater methods are used to update column values in the
-     * current row or the insert row.  The updater methods do not
-     * update the underlying database; instead the <code>updateRow</code> or
-     * <code>insertRow</code> methods are called to update the database.
+     * Updates the designated column with a <code>java.sql.NClob</code> value. The
+     * updater methods are used to update column values in the current row or the
+     * insert row. The updater methods do not update the underlying database;
+     * instead the <code>updateRow</code> or <code>insertRow</code> methods are
+     * called to update the database.
      *
      * @param columnIndex the first column is 1, the second 2, ...
-     * @param nClob       the value for the column to be updated
-     * @throws SQLException if the columnIndex is not valid;
-     *                      if the driver does not support national
-     *                      character sets;  if the driver can detect that a data conversion
-     *                      error could occur; this method is called on a closed result set;
-     *                      if a database access error occurs or
-     *                      the result set concurrency is <code>CONCUR_READ_ONLY</code>
-     * @throws SQLFeatureNotSupportedException
-     *                      if the JDBC driver does not support
-     *                      this method
+     * @param nClob the value for the column to be updated
+     * @throws SQLException if the columnIndex is not valid; if the driver does not
+     * support national character sets; if the driver can detect that a data
+     * conversion error could occur; this method is called on a closed result set;
+     * if a database access error occurs or the result set concurrency is
+     * <code>CONCUR_READ_ONLY</code>
+     * @throws SQLFeatureNotSupportedException if the JDBC driver does not support
+     * this method
      * @since 1.6
      */
+    @Override
     public void updateNClob(int columnIndex, NClob nClob) throws SQLException {
         resultSet.updateNClob(columnIndex, nClob);
     }
 
     /**
-     * Updates the designated column with a <code>java.sql.NClob</code> value.
-     * The updater methods are used to update column values in the
-     * current row or the insert row.  The updater methods do not
-     * update the underlying database; instead the <code>updateRow</code> or
-     * <code>insertRow</code> methods are called to update the database.
+     * Updates the designated column with a <code>java.sql.NClob</code> value. The
+     * updater methods are used to update column values in the current row or the
+     * insert row. The updater methods do not update the underlying database;
+     * instead the <code>updateRow</code> or <code>insertRow</code> methods are
+     * called to update the database.
      *
-     * @param columnLabel the label for the column specified with the SQL AS clause.  If the SQL AS clause was not
-     *                    specified, then the label is the name of the column
-     * @param nClob       the value for the column to be updated
-     * @throws SQLException if the columnLabel is not valid;
-     *                      if the driver does not support national
-     *                      character sets;  if the driver can detect that a data conversion
-     *                      error could occur; this method is called on a closed result set;
-     *                      if a database access error occurs or
-     *                      the result set concurrency is <code>CONCUR_READ_ONLY</code>
-     * @throws SQLFeatureNotSupportedException
-     *                      if the JDBC driver does not support
-     *                      this method
+     * @param columnLabel the label for the column specified with the SQL AS clause.
+     * If the SQL AS clause was not specified, then the label is the name of the
+     * column
+     * @param nClob the value for the column to be updated
+     * @throws SQLException if the columnLabel is not valid; if the driver does not
+     * support national character sets; if the driver can detect that a data
+     * conversion error could occur; this method is called on a closed result set;
+     * if a database access error occurs or the result set concurrency is
+     * <code>CONCUR_READ_ONLY</code>
+     * @throws SQLFeatureNotSupportedException if the JDBC driver does not support
+     * this method
      * @since 1.6
      */
+    @Override
     public void updateNClob(String columnLabel, NClob nClob) throws SQLException {
         resultSet.updateNClob(columnLabel, nClob);
     }
 
     /**
-     * Retrieves the value of the designated column in the current row
-     * of this <code>ResultSet</code> object as a <code>NClob</code> object
-     * in the Java programming language.
+     * Retrieves the value of the designated column in the current row of this
+     * <code>ResultSet</code> object as a <code>NClob</code> object in the Java
+     * programming language.
      *
      * @param columnIndex the first column is 1, the second is 2, ...
-     * @return a <code>NClob</code> object representing the SQL
-     *         <code>NCLOB</code> value in the specified column
-     * @throws SQLException if the columnIndex is not valid;
-     *                      if the driver does not support national
-     *                      character sets;  if the driver can detect that a data conversion
-     *                      error could occur; this method is called on a closed result set
-     *                      or if a database access error occurs
-     * @throws SQLFeatureNotSupportedException
-     *                      if the JDBC driver does not support
-     *                      this method
+     * @return a <code>NClob</code> object representing the SQL <code>NCLOB</code>
+     * value in the specified column
+     * @throws SQLException if the columnIndex is not valid; if the driver does not
+     * support national character sets; if the driver can detect that a data
+     * conversion error could occur; this method is called on a closed result set or
+     * if a database access error occurs
+     * @throws SQLFeatureNotSupportedException if the JDBC driver does not support
+     * this method
      * @since 1.6
      */
+    @Override
     public NClob getNClob(int columnIndex) throws SQLException {
         return resultSet.getNClob(columnIndex);
     }
 
     /**
-     * Retrieves the value of the designated column in the current row
-     * of this <code>ResultSet</code> object as a <code>NClob</code> object
-     * in the Java programming language.
+     * Retrieves the value of the designated column in the current row of this
+     * <code>ResultSet</code> object as a <code>NClob</code> object in the Java
+     * programming language.
      *
-     * @param columnLabel the label for the column specified with the SQL AS clause.  If the SQL AS clause was not
-     *                    specified, then the label is the name of the column
+     * @param columnLabel the label for the column specified with the SQL AS clause.
+     * If the SQL AS clause was not specified, then the label is the name of the
+     * column
      * @return a <code>NClob</code> object representing the SQL <code>NCLOB</code>
-     *         value in the specified column
-     * @throws SQLException if the columnLabel is not valid;
-     *                      if the driver does not support national
-     *                      character sets;  if the driver can detect that a data conversion
-     *                      error could occur; this method is called on a closed result set
-     *                      or if a database access error occurs
-     * @throws SQLFeatureNotSupportedException
-     *                      if the JDBC driver does not support
-     *                      this method
+     * value in the specified column
+     * @throws SQLException if the columnLabel is not valid; if the driver does not
+     * support national character sets; if the driver can detect that a data
+     * conversion error could occur; this method is called on a closed result set or
+     * if a database access error occurs
+     * @throws SQLFeatureNotSupportedException if the JDBC driver does not support
+     * this method
      * @since 1.6
      */
+    @Override
     public NClob getNClob(String columnLabel) throws SQLException {
         return resultSet.getNClob(columnLabel);
     }
 
     /**
-     * Retrieves the value of the designated column in  the current row of
-     * this <code>ResultSet</code> as a
-     * <code>java.sql.SQLXML</code> object in the Java programming language.
+     * Retrieves the value of the designated column in the current row of this
+     * <code>ResultSet</code> as a <code>java.sql.SQLXML</code> object in the Java
+     * programming language.
      *
      * @param columnIndex the first column is 1, the second is 2, ...
      * @return a <code>SQLXML</code> object that maps an <code>SQL XML</code> value
-     * @throws SQLException if the columnIndex is not valid;
-     *                      if a database access error occurs
-     *                      or this method is called on a closed result set
-     * @throws SQLFeatureNotSupportedException
-     *                      if the JDBC driver does not support
-     *                      this method
+     * @throws SQLException if the columnIndex is not valid; if a database access
+     * error occurs or this method is called on a closed result set
+     * @throws SQLFeatureNotSupportedException if the JDBC driver does not support
+     * this method
      * @since 1.6
      */
+    @Override
     public SQLXML getSQLXML(int columnIndex) throws SQLException {
         return resultSet.getSQLXML(columnIndex);
     }
 
     /**
-     * Retrieves the value of the designated column in  the current row of
-     * this <code>ResultSet</code> as a
-     * <code>java.sql.SQLXML</code> object in the Java programming language.
+     * Retrieves the value of the designated column in the current row of this
+     * <code>ResultSet</code> as a <code>java.sql.SQLXML</code> object in the Java
+     * programming language.
      *
-     * @param columnLabel the label for the column specified with the SQL AS clause.  If the SQL AS clause was not
-     *                    specified, then the label is the name of the column
+     * @param columnLabel the label for the column specified with the SQL AS clause.
+     * If the SQL AS clause was not specified, then the label is the name of the
+     * column
      * @return a <code>SQLXML</code> object that maps an <code>SQL XML</code> value
-     * @throws SQLException if the columnLabel is not valid;
-     *                      if a database access error occurs
-     *                      or this method is called on a closed result set
-     * @throws SQLFeatureNotSupportedException
-     *                      if the JDBC driver does not support
-     *                      this method
+     * @throws SQLException if the columnLabel is not valid; if a database access
+     * error occurs or this method is called on a closed result set
+     * @throws SQLFeatureNotSupportedException if the JDBC driver does not support
+     * this method
      * @since 1.6
      */
+    @Override
     public SQLXML getSQLXML(String columnLabel) throws SQLException {
         return resultSet.getSQLXML(columnLabel);
     }
 
     /**
-     * Updates the designated column with a <code>java.sql.SQLXML</code> value.
-     * The updater
-     * methods are used to update column values in the current row or the insert
-     * row. The updater methods do not update the underlying database; instead
-     * the <code>updateRow</code> or <code>insertRow</code> methods are called
-     * to update the database.
+     * Updates the designated column with a <code>java.sql.SQLXML</code> value. The
+     * updater methods are used to update column values in the current row or the
+     * insert row. The updater methods do not update the underlying database;
+     * instead the <code>updateRow</code> or <code>insertRow</code> methods are
+     * called to update the database.
      * <p/>
      *
      * @param columnIndex the first column is 1, the second 2, ...
-     * @param xmlObject   the value for the column to be updated
-     * @throws SQLException if the columnIndex is not valid;
-     *                      if a database access error occurs; this method
-     *                      is called on a closed result set;
-     *                      the <code>java.xml.transform.Result</code>,
-     *                      <code>Writer</code> or <code>OutputStream</code> has not been closed
-     *                      for the <code>SQLXML</code> object;
-     *                      if there is an error processing the XML value or
-     *                      the result set concurrency is <code>CONCUR_READ_ONLY</code>.  The <code>getCause</code> method
-     *                      of the exception may provide a more detailed exception, for example, if the
-     *                      stream does not contain valid XML.
-     * @throws SQLFeatureNotSupportedException
-     *                      if the JDBC driver does not support
-     *                      this method
+     * @param xmlObject the value for the column to be updated
+     * @throws SQLException if the columnIndex is not valid; if a database access
+     * error occurs; this method is called on a closed result set; the
+     * <code>java.xml.transform.Result</code>, <code>Writer</code> or
+     * <code>OutputStream</code> has not been closed for the <code>SQLXML</code>
+     * object; if there is an error processing the XML value or the result set
+     * concurrency is <code>CONCUR_READ_ONLY</code>. The <code>getCause</code>
+     * method of the exception may provide a more detailed exception, for example,
+     * if the stream does not contain valid XML.
+     * @throws SQLFeatureNotSupportedException if the JDBC driver does not support
+     * this method
      * @since 1.6
      */
+    @Override
     public void updateSQLXML(int columnIndex, SQLXML xmlObject) throws SQLException {
         resultSet.updateSQLXML(columnIndex, xmlObject);
     }
 
     /**
-     * Updates the designated column with a <code>java.sql.SQLXML</code> value.
-     * The updater
-     * methods are used to update column values in the current row or the insert
-     * row. The updater methods do not update the underlying database; instead
-     * the <code>updateRow</code> or <code>insertRow</code> methods are called
-     * to update the database.
+     * Updates the designated column with a <code>java.sql.SQLXML</code> value. The
+     * updater methods are used to update column values in the current row or the
+     * insert row. The updater methods do not update the underlying database;
+     * instead the <code>updateRow</code> or <code>insertRow</code> methods are
+     * called to update the database.
      * <p/>
      *
-     * @param columnLabel the label for the column specified with the SQL AS clause.  If the SQL AS clause was not
-     *                    specified, then the label is the name of the column
-     * @param xmlObject   the column value
-     * @throws SQLException if the columnLabel is not valid;
-     *                      if a database access error occurs; this method
-     *                      is called on a closed result set;
-     *                      the <code>java.xml.transform.Result</code>,
-     *                      <code>Writer</code> or <code>OutputStream</code> has not been closed
-     *                      for the <code>SQLXML</code> object;
-     *                      if there is an error processing the XML value or
-     *                      the result set concurrency is <code>CONCUR_READ_ONLY</code>.  The <code>getCause</code> method
-     *                      of the exception may provide a more detailed exception, for example, if the
-     *                      stream does not contain valid XML.
-     * @throws SQLFeatureNotSupportedException
-     *                      if the JDBC driver does not support
-     *                      this method
+     * @param columnLabel the label for the column specified with the SQL AS clause.
+     * If the SQL AS clause was not specified, then the label is the name of the
+     * column
+     * @param xmlObject the column value
+     * @throws SQLException if the columnLabel is not valid; if a database access
+     * error occurs; this method is called on a closed result set; the
+     * <code>java.xml.transform.Result</code>, <code>Writer</code> or
+     * <code>OutputStream</code> has not been closed for the <code>SQLXML</code>
+     * object; if there is an error processing the XML value or the result set
+     * concurrency is <code>CONCUR_READ_ONLY</code>. The <code>getCause</code>
+     * method of the exception may provide a more detailed exception, for example,
+     * if the stream does not contain valid XML.
+     * @throws SQLFeatureNotSupportedException if the JDBC driver does not support
+     * this method
      * @since 1.6
      */
+    @Override
     public void updateSQLXML(String columnLabel, SQLXML xmlObject) throws SQLException {
         resultSet.updateSQLXML(columnLabel, xmlObject);
     }
 
     /**
-     * Retrieves the value of the designated column in the current row
-     * of this <code>ResultSet</code> object as
-     * a <code>String</code> in the Java programming language.
-     * It is intended for use when
-     * accessing  <code>NCHAR</code>,<code>NVARCHAR</code>
-     * and <code>LONGNVARCHAR</code> columns.
+     * Retrieves the value of the designated column in the current row of this
+     * <code>ResultSet</code> object as a <code>String</code> in the Java
+     * programming language. It is intended for use when accessing
+     * <code>NCHAR</code>,<code>NVARCHAR</code> and <code>LONGNVARCHAR</code>
+     * columns.
      *
      * @param columnIndex the first column is 1, the second is 2, ...
-     * @return the column value; if the value is SQL <code>NULL</code>, the
-     *         value returned is <code>null</code>
-     * @throws SQLException if the columnIndex is not valid;
-     *                      if a database access error occurs
-     *                      or this method is called on a closed result set
-     * @throws SQLFeatureNotSupportedException
-     *                      if the JDBC driver does not support
-     *                      this method
+     * @return the column value; if the value is SQL <code>NULL</code>, the value
+     * returned is <code>null</code>
+     * @throws SQLException if the columnIndex is not valid; if a database access
+     * error occurs or this method is called on a closed result set
+     * @throws SQLFeatureNotSupportedException if the JDBC driver does not support
+     * this method
      * @since 1.6
      */
+    @Override
     public String getNString(int columnIndex) throws SQLException {
         return resultSet.getNString(columnIndex);
     }
 
     /**
-     * Retrieves the value of the designated column in the current row
-     * of this <code>ResultSet</code> object as
-     * a <code>String</code> in the Java programming language.
-     * It is intended for use when
-     * accessing  <code>NCHAR</code>,<code>NVARCHAR</code>
-     * and <code>LONGNVARCHAR</code> columns.
+     * Retrieves the value of the designated column in the current row of this
+     * <code>ResultSet</code> object as a <code>String</code> in the Java
+     * programming language. It is intended for use when accessing
+     * <code>NCHAR</code>,<code>NVARCHAR</code> and <code>LONGNVARCHAR</code>
+     * columns.
      *
-     * @param columnLabel the label for the column specified with the SQL AS clause.  If the SQL AS clause was not
-     *                    specified, then the label is the name of the column
-     * @return the column value; if the value is SQL <code>NULL</code>, the
-     *         value returned is <code>null</code>
-     * @throws SQLException if the columnLabel is not valid;
-     *                      if a database access error occurs
-     *                      or this method is called on a closed result set
-     * @throws SQLFeatureNotSupportedException
-     *                      if the JDBC driver does not support
-     *                      this method
+     * @param columnLabel the label for the column specified with the SQL AS clause.
+     * If the SQL AS clause was not specified, then the label is the name of the
+     * column
+     * @return the column value; if the value is SQL <code>NULL</code>, the value
+     * returned is <code>null</code>
+     * @throws SQLException if the columnLabel is not valid; if a database access
+     * error occurs or this method is called on a closed result set
+     * @throws SQLFeatureNotSupportedException if the JDBC driver does not support
+     * this method
      * @since 1.6
      */
+    @Override
     public String getNString(String columnLabel) throws SQLException {
         return resultSet.getNString(columnLabel);
     }
 
     /**
-     * Retrieves the value of the designated column in the current row
-     * of this <code>ResultSet</code> object as a
-     * <code>java.io.Reader</code> object.
-     * It is intended for use when
-     * accessing  <code>NCHAR</code>,<code>NVARCHAR</code>
-     * and <code>LONGNVARCHAR</code> columns.
+     * Retrieves the value of the designated column in the current row of this
+     * <code>ResultSet</code> object as a <code>java.io.Reader</code> object. It is
+     * intended for use when accessing <code>NCHAR</code>,<code>NVARCHAR</code> and
+     * <code>LONGNVARCHAR</code> columns.
      *
      * @param columnIndex the first column is 1, the second is 2, ...
-     * @return a <code>java.io.Reader</code> object that contains the column
-     *         value; if the value is SQL <code>NULL</code>, the value returned is
-     *         <code>null</code> in the Java programming language.
-     * @throws SQLException if the columnIndex is not valid;
-     *                      if a database access error occurs
-     *                      or this method is called on a closed result set
-     * @throws SQLFeatureNotSupportedException
-     *                      if the JDBC driver does not support
-     *                      this method
+     * @return a <code>java.io.Reader</code> object that contains the column value;
+     * if the value is SQL <code>NULL</code>, the value returned is
+     * <code>null</code> in the Java programming language.
+     * @throws SQLException if the columnIndex is not valid; if a database access
+     * error occurs or this method is called on a closed result set
+     * @throws SQLFeatureNotSupportedException if the JDBC driver does not support
+     * this method
      * @since 1.6
      */
+    @Override
     public Reader getNCharacterStream(int columnIndex) throws SQLException {
         return resultSet.getNCharacterStream(columnIndex);
     }
 
     /**
-     * Retrieves the value of the designated column in the current row
-     * of this <code>ResultSet</code> object as a
-     * <code>java.io.Reader</code> object.
-     * It is intended for use when
-     * accessing  <code>NCHAR</code>,<code>NVARCHAR</code>
-     * and <code>LONGNVARCHAR</code> columns.
+     * Retrieves the value of the designated column in the current row of this
+     * <code>ResultSet</code> object as a <code>java.io.Reader</code> object. It is
+     * intended for use when accessing <code>NCHAR</code>,<code>NVARCHAR</code> and
+     * <code>LONGNVARCHAR</code> columns.
      *
-     * @param columnLabel the label for the column specified with the SQL AS clause.  If the SQL AS clause was not
-     *                    specified, then the label is the name of the column
-     * @return a <code>java.io.Reader</code> object that contains the column
-     *         value; if the value is SQL <code>NULL</code>, the value returned is
-     *         <code>null</code> in the Java programming language
-     * @throws SQLException if the columnLabel is not valid;
-     *                      if a database access error occurs
-     *                      or this method is called on a closed result set
-     * @throws SQLFeatureNotSupportedException
-     *                      if the JDBC driver does not support
-     *                      this method
+     * @param columnLabel the label for the column specified with the SQL AS clause.
+     * If the SQL AS clause was not specified, then the label is the name of the
+     * column
+     * @return a <code>java.io.Reader</code> object that contains the column value;
+     * if the value is SQL <code>NULL</code>, the value returned is
+     * <code>null</code> in the Java programming language
+     * @throws SQLException if the columnLabel is not valid; if a database access
+     * error occurs or this method is called on a closed result set
+     * @throws SQLFeatureNotSupportedException if the JDBC driver does not support
+     * this method
      * @since 1.6
      */
+    @Override
     public Reader getNCharacterStream(String columnLabel) throws SQLException {
         return resultSet.getNCharacterStream(columnLabel);
     }
 
     /**
      * Updates the designated column with a character stream value, which will have
-     * the specified number of bytes.   The
-     * driver does the necessary conversion from Java character format to
-     * the national character set in the database.
-     * It is intended for use when
-     * updating  <code>NCHAR</code>,<code>NVARCHAR</code>
-     * and <code>LONGNVARCHAR</code> columns.
+     * the specified number of bytes. The driver does the necessary conversion from
+     * Java character format to the national character set in the database. It is
+     * intended for use when updating <code>NCHAR</code>,<code>NVARCHAR</code> and
+     * <code>LONGNVARCHAR</code> columns.
      * <p/>
-     * The updater methods are used to update column values in the
-     * current row or the insert row.  The updater methods do not
-     * update the underlying database; instead the <code>updateRow</code> or
-     * <code>insertRow</code> methods are called to update the database.
+     * The updater methods are used to update column values in the current row or
+     * the insert row. The updater methods do not update the underlying database;
+     * instead the <code>updateRow</code> or <code>insertRow</code> methods are
+     * called to update the database.
      *
      * @param columnIndex the first column is 1, the second is 2, ...
-     * @param x           the new column value
-     * @param length      the length of the stream
-     * @throws SQLException if the columnIndex is not valid;
-     *                      if a database access error occurs;
-     *                      the result set concurrency is <code>CONCUR_READ_ONLY</code> or this method is called on a closed result set
-     * @throws SQLFeatureNotSupportedException
-     *                      if the JDBC driver does not support
-     *                      this method
+     * @param x the new column value
+     * @param length the length of the stream
+     * @throws SQLException if the columnIndex is not valid; if a database access
+     * error occurs; the result set concurrency is <code>CONCUR_READ_ONLY</code> or
+     * this method is called on a closed result set
+     * @throws SQLFeatureNotSupportedException if the JDBC driver does not support
+     * this method
      * @since 1.6
      */
+    @Override
     public void updateNCharacterStream(int columnIndex, Reader x, long length) throws SQLException {
         resultSet.updateNCharacterStream(columnIndex, x, length);
     }
 
     /**
      * Updates the designated column with a character stream value, which will have
-     * the specified number of bytes.  The
-     * driver does the necessary conversion from Java character format to
-     * the national character set in the database.
-     * It is intended for use when
-     * updating  <code>NCHAR</code>,<code>NVARCHAR</code>
-     * and <code>LONGNVARCHAR</code> columns.
+     * the specified number of bytes. The driver does the necessary conversion from
+     * Java character format to the national character set in the database. It is
+     * intended for use when updating <code>NCHAR</code>,<code>NVARCHAR</code> and
+     * <code>LONGNVARCHAR</code> columns.
      * <p/>
-     * The updater methods are used to update column values in the
-     * current row or the insert row.  The updater methods do not
-     * update the underlying database; instead the <code>updateRow</code> or
-     * <code>insertRow</code> methods are called to update the database.
+     * The updater methods are used to update column values in the current row or
+     * the insert row. The updater methods do not update the underlying database;
+     * instead the <code>updateRow</code> or <code>insertRow</code> methods are
+     * called to update the database.
      *
-     * @param columnLabel the label for the column specified with the SQL AS clause.  If the SQL AS clause was not
-     *                    specified, then the label is the name of the column
-     * @param reader      the <code>java.io.Reader</code> object containing
-     *                    the new column value
-     * @param length      the length of the stream
-     * @throws SQLException if the columnLabel is not valid;
-     *                      if a database access error occurs;
-     *                      the result set concurrency is <code>CONCUR_READ_ONLY</code> or this method is called on a closed result set
-     * @throws SQLFeatureNotSupportedException
-     *                      if the JDBC driver does not support
-     *                      this method
+     * @param columnLabel the label for the column specified with the SQL AS clause.
+     * If the SQL AS clause was not specified, then the label is the name of the
+     * column
+     * @param reader the <code>java.io.Reader</code> object containing the new
+     * column value
+     * @param length the length of the stream
+     * @throws SQLException if the columnLabel is not valid; if a database access
+     * error occurs; the result set concurrency is <code>CONCUR_READ_ONLY</code> or
+     * this method is called on a closed result set
+     * @throws SQLFeatureNotSupportedException if the JDBC driver does not support
+     * this method
      * @since 1.6
      */
+    @Override
     public void updateNCharacterStream(String columnLabel, Reader reader, long length) throws SQLException {
         resultSet.updateNCharacterStream(columnLabel, reader, length);
     }
 
     /**
-     * Updates the designated column with an ascii stream value, which will have
-     * the specified number of bytes.
+     * Updates the designated column with an ascii stream value, which will have the
+     * specified number of bytes.
      * <p/>
-     * The updater methods are used to update column values in the
-     * current row or the insert row.  The updater methods do not
-     * update the underlying database; instead the <code>updateRow</code> or
-     * <code>insertRow</code> methods are called to update the database.
+     * The updater methods are used to update column values in the current row or
+     * the insert row. The updater methods do not update the underlying database;
+     * instead the <code>updateRow</code> or <code>insertRow</code> methods are
+     * called to update the database.
      *
      * @param columnIndex the first column is 1, the second is 2, ...
-     * @param x           the new column value
-     * @param length      the length of the stream
-     * @throws SQLException if the columnIndex is not valid;
-     *                      if a database access error occurs;
-     *                      the result set concurrency is <code>CONCUR_READ_ONLY</code>
-     *                      or this method is called on a closed result set
-     * @throws SQLFeatureNotSupportedException
-     *                      if the JDBC driver does not support
-     *                      this method
+     * @param x the new column value
+     * @param length the length of the stream
+     * @throws SQLException if the columnIndex is not valid; if a database access
+     * error occurs; the result set concurrency is <code>CONCUR_READ_ONLY</code> or
+     * this method is called on a closed result set
+     * @throws SQLFeatureNotSupportedException if the JDBC driver does not support
+     * this method
      * @since 1.6
      */
+    @Override
     public void updateAsciiStream(int columnIndex, InputStream x, long length) throws SQLException {
         resultSet.updateAsciiStream(columnIndex, x, length);
     }
 
     /**
-     * Updates the designated column with a binary stream value, which will have
-     * the specified number of bytes.
+     * Updates the designated column with a binary stream value, which will have the
+     * specified number of bytes.
      * <p/>
-     * The updater methods are used to update column values in the
-     * current row or the insert row.  The updater methods do not
-     * update the underlying database; instead the <code>updateRow</code> or
-     * <code>insertRow</code> methods are called to update the database.
+     * The updater methods are used to update column values in the current row or
+     * the insert row. The updater methods do not update the underlying database;
+     * instead the <code>updateRow</code> or <code>insertRow</code> methods are
+     * called to update the database.
      *
      * @param columnIndex the first column is 1, the second is 2, ...
-     * @param x           the new column value
-     * @param length      the length of the stream
-     * @throws SQLException if the columnIndex is not valid;
-     *                      if a database access error occurs;
-     *                      the result set concurrency is <code>CONCUR_READ_ONLY</code>
-     *                      or this method is called on a closed result set
-     * @throws SQLFeatureNotSupportedException
-     *                      if the JDBC driver does not support
-     *                      this method
+     * @param x the new column value
+     * @param length the length of the stream
+     * @throws SQLException if the columnIndex is not valid; if a database access
+     * error occurs; the result set concurrency is <code>CONCUR_READ_ONLY</code> or
+     * this method is called on a closed result set
+     * @throws SQLFeatureNotSupportedException if the JDBC driver does not support
+     * this method
      * @since 1.6
      */
+    @Override
     public void updateBinaryStream(int columnIndex, InputStream x, long length) throws SQLException {
         resultSet.updateBinaryStream(columnIndex, x, length);
     }
@@ -639,75 +623,74 @@
      * Updates the designated column with a character stream value, which will have
      * the specified number of bytes.
      * <p/>
-     * The updater methods are used to update column values in the
-     * current row or the insert row.  The updater methods do not
-     * update the underlying database; instead the <code>updateRow</code> or
-     * <code>insertRow</code> methods are called to update the database.
+     * The updater methods are used to update column values in the current row or
+     * the insert row. The updater methods do not update the underlying database;
+     * instead the <code>updateRow</code> or <code>insertRow</code> methods are
+     * called to update the database.
      *
      * @param columnIndex the first column is 1, the second is 2, ...
-     * @param x           the new column value
-     * @param length      the length of the stream
-     * @throws SQLException if the columnIndex is not valid;
-     *                      if a database access error occurs;
-     *                      the result set concurrency is <code>CONCUR_READ_ONLY</code>
-     *                      or this method is called on a closed result set
-     * @throws SQLFeatureNotSupportedException
-     *                      if the JDBC driver does not support
-     *                      this method
+     * @param x the new column value
+     * @param length the length of the stream
+     * @throws SQLException if the columnIndex is not valid; if a database access
+     * error occurs; the result set concurrency is <code>CONCUR_READ_ONLY</code> or
+     * this method is called on a closed result set
+     * @throws SQLFeatureNotSupportedException if the JDBC driver does not support
+     * this method
      * @since 1.6
      */
+    @Override
     public void updateCharacterStream(int columnIndex, Reader x, long length) throws SQLException {
         resultSet.updateCharacterStream(columnIndex, x, length);
     }
 
     /**
-     * Updates the designated column with an ascii stream value, which will have
-     * the specified number of bytes.
+     * Updates the designated column with an ascii stream value, which will have the
+     * specified number of bytes.
      * <p/>
-     * The updater methods are used to update column values in the
-     * current row or the insert row.  The updater methods do not
-     * update the underlying database; instead the <code>updateRow</code> or
-     * <code>insertRow</code> methods are called to update the database.
+     * The updater methods are used to update column values in the current row or
+     * the insert row. The updater methods do not update the underlying database;
+     * instead the <code>updateRow</code> or <code>insertRow</code> methods are
+     * called to update the database.
      *
-     * @param columnLabel the label for the column specified with the SQL AS clause.  If the SQL AS clause was not
-     *                    specified, then the label is the name of the column
-     * @param x           the new column value
-     * @param length      the length of the stream
-     * @throws SQLException if the columnLabel is not valid;
-     *                      if a database access error occurs;
-     *                      the result set concurrency is <code>CONCUR_READ_ONLY</code>
-     *                      or this method is called on a closed result set
-     * @throws SQLFeatureNotSupportedException
-     *                      if the JDBC driver does not support
-     *                      this method
+     * @param columnLabel the label for the column specified with the SQL AS clause.
+     * If the SQL AS clause was not specified, then the label is the name of the
+     * column
+     * @param x the new column value
+     * @param length the length of the stream
+     * @throws SQLException if the columnLabel is not valid; if a database access
+     * error occurs; the result set concurrency is <code>CONCUR_READ_ONLY</code> or
+     * this method is called on a closed result set
+     * @throws SQLFeatureNotSupportedException if the JDBC driver does not support
+     * this method
      * @since 1.6
      */
+    @Override
     public void updateAsciiStream(String columnLabel, InputStream x, long length) throws SQLException {
         resultSet.updateAsciiStream(columnLabel, x, length);
     }
 
     /**
-     * Updates the designated column with a binary stream value, which will have
-     * the specified number of bytes.
+     * Updates the designated column with a binary stream value, which will have the
+     * specified number of bytes.
      * <p/>
-     * The updater methods are used to update column values in the
-     * current row or the insert row.  The updater methods do not
-     * update the underlying database; instead the <code>updateRow</code> or
-     * <code>insertRow</code> methods are called to update the database.
+     * The updater methods are used to update column values in the current row or
+     * the insert row. The updater methods do not update the underlying database;
+     * instead the <code>updateRow</code> or <code>insertRow</code> methods are
+     * called to update the database.
      *
-     * @param columnLabel the label for the column specified with the SQL AS clause.  If the SQL AS clause was not
-     *                    specified, then the label is the name of the column
-     * @param x           the new column value
-     * @param length      the length of the stream
-     * @throws SQLException if the columnLabel is not valid;
-     *                      if a database access error occurs;
-     *                      the result set concurrency is <code>CONCUR_READ_ONLY</code>
-     *                      or this method is called on a closed result set
-     * @throws SQLFeatureNotSupportedException
-     *                      if the JDBC driver does not support
-     *                      this method
+     * @param columnLabel the label for the column specified with the SQL AS clause.
+     * If the SQL AS clause was not specified, then the label is the name of the
+     * column
+     * @param x the new column value
+     * @param length the length of the stream
+     * @throws SQLException if the columnLabel is not valid; if a database access
+     * error occurs; the result set concurrency is <code>CONCUR_READ_ONLY</code> or
+     * this method is called on a closed result set
+     * @throws SQLFeatureNotSupportedException if the JDBC driver does not support
+     * this method
      * @since 1.6
      */
+    @Override
     public void updateBinaryStream(String columnLabel, InputStream x, long length) throws SQLException {
         resultSet.updateBinaryStream(columnLabel, x, length);
     }
@@ -716,572 +699,565 @@
      * Updates the designated column with a character stream value, which will have
      * the specified number of bytes.
      * <p/>
-     * The updater methods are used to update column values in the
-     * current row or the insert row.  The updater methods do not
-     * update the underlying database; instead the <code>updateRow</code> or
-     * <code>insertRow</code> methods are called to update the database.
+     * The updater methods are used to update column values in the current row or
+     * the insert row. The updater methods do not update the underlying database;
+     * instead the <code>updateRow</code> or <code>insertRow</code> methods are
+     * called to update the database.
      *
-     * @param columnLabel the label for the column specified with the SQL AS clause.  If the SQL AS clause was not
-     *                    specified, then the label is the name of the column
-     * @param reader      the <code>java.io.Reader</code> object containing
-     *                    the new column value
-     * @param length      the length of the stream
-     * @throws SQLException if the columnLabel is not valid;
-     *                      if a database access error occurs;
-     *                      the result set concurrency is <code>CONCUR_READ_ONLY</code>
-     *                      or this method is called on a closed result set
-     * @throws SQLFeatureNotSupportedException
-     *                      if the JDBC driver does not support
-     *                      this method
+     * @param columnLabel the label for the column specified with the SQL AS clause.
+     * If the SQL AS clause was not specified, then the label is the name of the
+     * column
+     * @param reader the <code>java.io.Reader</code> object containing the new
+     * column value
+     * @param length the length of the stream
+     * @throws SQLException if the columnLabel is not valid; if a database access
+     * error occurs; the result set concurrency is <code>CONCUR_READ_ONLY</code> or
+     * this method is called on a closed result set
+     * @throws SQLFeatureNotSupportedException if the JDBC driver does not support
+     * this method
      * @since 1.6
      */
+    @Override
     public void updateCharacterStream(String columnLabel, Reader reader, long length) throws SQLException {
         resultSet.updateCharacterStream(columnLabel, reader, length);
     }
 
     /**
-     * Updates the designated column using the given input stream, which
-     * will have the specified number of bytes.
+     * Updates the designated column using the given input stream, which will have
+     * the specified number of bytes.
      * <p/>
      * <p/>
-     * The updater methods are used to update column values in the
-     * current row or the insert row.  The updater methods do not
-     * update the underlying database; instead the <code>updateRow</code> or
-     * <code>insertRow</code> methods are called to update the database.
+     * The updater methods are used to update column values in the current row or
+     * the insert row. The updater methods do not update the underlying database;
+     * instead the <code>updateRow</code> or <code>insertRow</code> methods are
+     * called to update the database.
      *
      * @param columnIndex the first column is 1, the second is 2, ...
      * @param inputStream An object that contains the data to set the parameter
-     *                    value to.
-     * @param length      the number of bytes in the parameter data.
-     * @throws SQLException if the columnIndex is not valid;
-     *                      if a database access error occurs;
-     *                      the result set concurrency is <code>CONCUR_READ_ONLY</code>
-     *                      or this method is called on a closed result set
-     * @throws SQLFeatureNotSupportedException
-     *                      if the JDBC driver does not support
-     *                      this method
+     * value to.
+     * @param length the number of bytes in the parameter data.
+     * @throws SQLException if the columnIndex is not valid; if a database access
+     * error occurs; the result set concurrency is <code>CONCUR_READ_ONLY</code> or
+     * this method is called on a closed result set
+     * @throws SQLFeatureNotSupportedException if the JDBC driver does not support
+     * this method
      * @since 1.6
      */
+    @Override
     public void updateBlob(int columnIndex, InputStream inputStream, long length) throws SQLException {
         resultSet.updateBlob(columnIndex, inputStream, length);
     }
 
     /**
-     * Updates the designated column using the given input stream, which
-     * will have the specified number of bytes.
+     * Updates the designated column using the given input stream, which will have
+     * the specified number of bytes.
      * <p/>
      * <p/>
-     * The updater methods are used to update column values in the
-     * current row or the insert row.  The updater methods do not
-     * update the underlying database; instead the <code>updateRow</code> or
-     * <code>insertRow</code> methods are called to update the database.
+     * The updater methods are used to update column values in the current row or
+     * the insert row. The updater methods do not update the underlying database;
+     * instead the <code>updateRow</code> or <code>insertRow</code> methods are
+     * called to update the database.
      *
-     * @param columnLabel the label for the column specified with the SQL AS clause.  If the SQL AS clause was not
-     *                    specified, then the label is the name of the column
+     * @param columnLabel the label for the column specified with the SQL AS clause.
+     * If the SQL AS clause was not specified, then the label is the name of the
+     * column
      * @param inputStream An object that contains the data to set the parameter
-     *                    value to.
-     * @param length      the number of bytes in the parameter data.
-     * @throws SQLException if the columnLabel is not valid;
-     *                      if a database access error occurs;
-     *                      the result set concurrency is <code>CONCUR_READ_ONLY</code>
-     *                      or this method is called on a closed result set
-     * @throws SQLFeatureNotSupportedException
-     *                      if the JDBC driver does not support
-     *                      this method
+     * value to.
+     * @param length the number of bytes in the parameter data.
+     * @throws SQLException if the columnLabel is not valid; if a database access
+     * error occurs; the result set concurrency is <code>CONCUR_READ_ONLY</code> or
+     * this method is called on a closed result set
+     * @throws SQLFeatureNotSupportedException if the JDBC driver does not support
+     * this method
      * @since 1.6
      */
+    @Override
     public void updateBlob(String columnLabel, InputStream inputStream, long length) throws SQLException {
         resultSet.updateBlob(columnLabel, inputStream, length);
     }
 
     /**
-     * Updates the designated column using the given <code>Reader</code>
-     * object, which is the given number of characters long.
-     * When a very large UNICODE value is input to a <code>LONGVARCHAR</code>
-     * parameter, it may be more practical to send it via a
-     * <code>java.io.Reader</code> object. The JDBC driver will
-     * do any necessary conversion from UNICODE to the database char format.
+     * Updates the designated column using the given <code>Reader</code> object,
+     * which is the given number of characters long. When a very large UNICODE value
+     * is input to a <code>LONGVARCHAR</code> parameter, it may be more practical to
+     * send it via a <code>java.io.Reader</code> object. The JDBC driver will do any
+     * necessary conversion from UNICODE to the database char format.
      * <p/>
      * <p/>
-     * The updater methods are used to update column values in the
-     * current row or the insert row.  The updater methods do not
-     * update the underlying database; instead the <code>updateRow</code> or
-     * <code>insertRow</code> methods are called to update the database.
+     * The updater methods are used to update column values in the current row or
+     * the insert row. The updater methods do not update the underlying database;
+     * instead the <code>updateRow</code> or <code>insertRow</code> methods are
+     * called to update the database.
      *
      * @param columnIndex the first column is 1, the second is 2, ...
-     * @param reader      An object that contains the data to set the parameter value to.
-     * @param length      the number of characters in the parameter data.
-     * @throws SQLException if the columnIndex is not valid;
-     *                      if a database access error occurs;
-     *                      the result set concurrency is <code>CONCUR_READ_ONLY</code>
-     *                      or this method is called on a closed result set
-     * @throws SQLFeatureNotSupportedException
-     *                      if the JDBC driver does not support
-     *                      this method
+     * @param reader An object that contains the data to set the parameter value to.
+     * @param length the number of characters in the parameter data.
+     * @throws SQLException if the columnIndex is not valid; if a database access
+     * error occurs; the result set concurrency is <code>CONCUR_READ_ONLY</code> or
+     * this method is called on a closed result set
+     * @throws SQLFeatureNotSupportedException if the JDBC driver does not support
+     * this method
      * @since 1.6
      */
+    @Override
     public void updateClob(int columnIndex, Reader reader, long length) throws SQLException {
         resultSet.updateClob(columnIndex, reader, length);
     }
 
     /**
-     * Updates the designated column using the given <code>Reader</code>
-     * object, which is the given number of characters long.
-     * When a very large UNICODE value is input to a <code>LONGVARCHAR</code>
-     * parameter, it may be more practical to send it via a
-     * <code>java.io.Reader</code> object.  The JDBC driver will
-     * do any necessary conversion from UNICODE to the database char format.
+     * Updates the designated column using the given <code>Reader</code> object,
+     * which is the given number of characters long. When a very large UNICODE value
+     * is input to a <code>LONGVARCHAR</code> parameter, it may be more practical to
+     * send it via a <code>java.io.Reader</code> object. The JDBC driver will do any
+     * necessary conversion from UNICODE to the database char format.
      * <p/>
      * <p/>
-     * The updater methods are used to update column values in the
-     * current row or the insert row.  The updater methods do not
-     * update the underlying database; instead the <code>updateRow</code> or
-     * <code>insertRow</code> methods are called to update the database.
+     * The updater methods are used to update column values in the current row or
+     * the insert row. The updater methods do not update the underlying database;
+     * instead the <code>updateRow</code> or <code>insertRow</code> methods are
+     * called to update the database.
      *
-     * @param columnLabel the label for the column specified with the SQL AS clause.  If the SQL AS clause was
-     *                    not specified, then the label is the name of the column
-     * @param reader      An object that contains the data to set the parameter value to.
-     * @param length      the number of characters in the parameter data.
-     * @throws SQLException if the columnLabel is not valid;
-     *                      if a database access error occurs;
-     *                      the result set concurrency is <code>CONCUR_READ_ONLY</code>
-     *                      or this method is called on a closed result set
-     * @throws SQLFeatureNotSupportedException
-     *                      if the JDBC driver does not support
-     *                      this method
+     * @param columnLabel the label for the column specified with the SQL AS clause.
+     * If the SQL AS clause was not specified, then the label is the name of the
+     * column
+     * @param reader An object that contains the data to set the parameter value to.
+     * @param length the number of characters in the parameter data.
+     * @throws SQLException if the columnLabel is not valid; if a database access
+     * error occurs; the result set concurrency is <code>CONCUR_READ_ONLY</code> or
+     * this method is called on a closed result set
+     * @throws SQLFeatureNotSupportedException if the JDBC driver does not support
+     * this method
      * @since 1.6
      */
+    @Override
     public void updateClob(String columnLabel, Reader reader, long length) throws SQLException {
         resultSet.updateClob(columnLabel, reader, length);
     }
 
     /**
-     * Updates the designated column using the given <code>Reader</code>
-     * object, which is the given number of characters long.
-     * When a very large UNICODE value is input to a <code>LONGVARCHAR</code>
-     * parameter, it may be more practical to send it via a
-     * <code>java.io.Reader</code> object. The JDBC driver will
-     * do any necessary conversion from UNICODE to the database char format.
+     * Updates the designated column using the given <code>Reader</code> object,
+     * which is the given number of characters long. When a very large UNICODE value
+     * is input to a <code>LONGVARCHAR</code> parameter, it may be more practical to
+     * send it via a <code>java.io.Reader</code> object. The JDBC driver will do any
+     * necessary conversion from UNICODE to the database char format.
      * <p/>
      * <p/>
-     * The updater methods are used to update column values in the
-     * current row or the insert row.  The updater methods do not
-     * update the underlying database; instead the <code>updateRow</code> or
-     * <code>insertRow</code> methods are called to update the database.
+     * The updater methods are used to update column values in the current row or
+     * the insert row. The updater methods do not update the underlying database;
+     * instead the <code>updateRow</code> or <code>insertRow</code> methods are
+     * called to update the database.
      *
      * @param columnIndex the first column is 1, the second 2, ...
-     * @param reader      An object that contains the data to set the parameter value to.
-     * @param length      the number of characters in the parameter data.
-     * @throws SQLException if the columnIndex is not valid;
-     *                      if the driver does not support national
-     *                      character sets;  if the driver can detect that a data conversion
-     *                      error could occur; this method is called on a closed result set,
-     *                      if a database access error occurs or
-     *                      the result set concurrency is <code>CONCUR_READ_ONLY</code>
-     * @throws SQLFeatureNotSupportedException
-     *                      if the JDBC driver does not support
-     *                      this method
+     * @param reader An object that contains the data to set the parameter value to.
+     * @param length the number of characters in the parameter data.
+     * @throws SQLException if the columnIndex is not valid; if the driver does not
+     * support national character sets; if the driver can detect that a data
+     * conversion error could occur; this method is called on a closed result set,
+     * if a database access error occurs or the result set concurrency is
+     * <code>CONCUR_READ_ONLY</code>
+     * @throws SQLFeatureNotSupportedException if the JDBC driver does not support
+     * this method
      * @since 1.6
      */
+    @Override
     public void updateNClob(int columnIndex, Reader reader, long length) throws SQLException {
         resultSet.updateNClob(columnIndex, reader, length);
     }
 
     /**
-     * Updates the designated column using the given <code>Reader</code>
-     * object, which is the given number of characters long.
-     * When a very large UNICODE value is input to a <code>LONGVARCHAR</code>
-     * parameter, it may be more practical to send it via a
-     * <code>java.io.Reader</code> object. The JDBC driver will
-     * do any necessary conversion from UNICODE to the database char format.
+     * Updates the designated column using the given <code>Reader</code> object,
+     * which is the given number of characters long. When a very large UNICODE value
+     * is input to a <code>LONGVARCHAR</code> parameter, it may be more practical to
+     * send it via a <code>java.io.Reader</code> object. The JDBC driver will do any
+     * necessary conversion from UNICODE to the database char format.
      * <p/>
      * <p/>
-     * The updater methods are used to update column values in the
-     * current row or the insert row.  The updater methods do not
-     * update the underlying database; instead the <code>updateRow</code> or
-     * <code>insertRow</code> methods are called to update the database.
+     * The updater methods are used to update column values in the current row or
+     * the insert row. The updater methods do not update the underlying database;
+     * instead the <code>updateRow</code> or <code>insertRow</code> methods are
+     * called to update the database.
      *
-     * @param columnLabel the label for the column specified with the SQL AS clause.  If the SQL AS clause was not
-     *                    specified, then the label is the name of the column
-     * @param reader      An object that contains the data to set the parameter value to.
-     * @param length      the number of characters in the parameter data.
-     * @throws SQLException if the columnLabel is not valid;
-     *                      if the driver does not support national
-     *                      character sets;  if the driver can detect that a data conversion
-     *                      error could occur; this method is called on a closed result set;
-     *                      if a database access error occurs or
-     *                      the result set concurrency is <code>CONCUR_READ_ONLY</code>
-     * @throws SQLFeatureNotSupportedException
-     *                      if the JDBC driver does not support
-     *                      this method
+     * @param columnLabel the label for the column specified with the SQL AS clause.
+     * If the SQL AS clause was not specified, then the label is the name of the
+     * column
+     * @param reader An object that contains the data to set the parameter value to.
+     * @param length the number of characters in the parameter data.
+     * @throws SQLException if the columnLabel is not valid; if the driver does not
+     * support national character sets; if the driver can detect that a data
+     * conversion error could occur; this method is called on a closed result set;
+     * if a database access error occurs or the result set concurrency is
+     * <code>CONCUR_READ_ONLY</code>
+     * @throws SQLFeatureNotSupportedException if the JDBC driver does not support
+     * this method
      * @since 1.6
      */
+    @Override
     public void updateNClob(String columnLabel, Reader reader, long length) throws SQLException {
         resultSet.updateNClob(columnLabel, reader, length);
     }
 
     /**
-     * Updates the designated column with a character stream value.
-     * The data will be read from the stream
-     * as needed until end-of-stream is reached.  The
-     * driver does the necessary conversion from Java character format to
-     * the national character set in the database.
-     * It is intended for use when
-     * updating  <code>NCHAR</code>,<code>NVARCHAR</code>
-     * and <code>LONGNVARCHAR</code> columns.
+     * Updates the designated column with a character stream value. The data will be
+     * read from the stream as needed until end-of-stream is reached. The driver
+     * does the necessary conversion from Java character format to the national
+     * character set in the database. It is intended for use when updating
+     * <code>NCHAR</code>,<code>NVARCHAR</code> and <code>LONGNVARCHAR</code>
+     * columns.
      * <p/>
-     * The updater methods are used to update column values in the
-     * current row or the insert row.  The updater methods do not
-     * update the underlying database; instead the <code>updateRow</code> or
-     * <code>insertRow</code> methods are called to update the database.
+     * The updater methods are used to update column values in the current row or
+     * the insert row. The updater methods do not update the underlying database;
+     * instead the <code>updateRow</code> or <code>insertRow</code> methods are
+     * called to update the database.
      * <p/>
-     * <P><B>Note:</B> Consult your JDBC driver documentation to determine if
-     * it might be more efficient to use a version of
-     * <code>updateNCharacterStream</code> which takes a length parameter.
+     * <P>
+     * <B>Note:</B> Consult your JDBC driver documentation to determine if it might
+     * be more efficient to use a version of <code>updateNCharacterStream</code>
+     * which takes a length parameter.
      *
      * @param columnIndex the first column is 1, the second is 2, ...
-     * @param x           the new column value
-     * @throws SQLException if the columnIndex is not valid;
-     *                      if a database access error occurs;
-     *                      the result set concurrency is <code>CONCUR_READ_ONLY</code> or this method is called on a closed result set
-     * @throws SQLFeatureNotSupportedException
-     *                      if the JDBC driver does not support
-     *                      this method
+     * @param x the new column value
+     * @throws SQLException if the columnIndex is not valid; if a database access
+     * error occurs; the result set concurrency is <code>CONCUR_READ_ONLY</code> or
+     * this method is called on a closed result set
+     * @throws SQLFeatureNotSupportedException if the JDBC driver does not support
+     * this method
      * @since 1.6
      */
+    @Override
     public void updateNCharacterStream(int columnIndex, Reader x) throws SQLException {
         resultSet.updateNCharacterStream(columnIndex, x);
     }
 
     /**
-     * Updates the designated column with a character stream value.
-     * The data will be read from the stream
-     * as needed until end-of-stream is reached.  The
-     * driver does the necessary conversion from Java character format to
-     * the national character set in the database.
-     * It is intended for use when
-     * updating  <code>NCHAR</code>,<code>NVARCHAR</code>
-     * and <code>LONGNVARCHAR</code> columns.
+     * Updates the designated column with a character stream value. The data will be
+     * read from the stream as needed until end-of-stream is reached. The driver
+     * does the necessary conversion from Java character format to the national
+     * character set in the database. It is intended for use when updating
+     * <code>NCHAR</code>,<code>NVARCHAR</code> and <code>LONGNVARCHAR</code>
+     * columns.
      * <p/>
-     * The updater methods are used to update column values in the
-     * current row or the insert row.  The updater methods do not
-     * update the underlying database; instead the <code>updateRow</code> or
-     * <code>insertRow</code> methods are called to update the database.
+     * The updater methods are used to update column values in the current row or
+     * the insert row. The updater methods do not update the underlying database;
+     * instead the <code>updateRow</code> or <code>insertRow</code> methods are
+     * called to update the database.
      * <p/>
-     * <P><B>Note:</B> Consult your JDBC driver documentation to determine if
-     * it might be more efficient to use a version of
-     * <code>updateNCharacterStream</code> which takes a length parameter.
+     * <P>
+     * <B>Note:</B> Consult your JDBC driver documentation to determine if it might
+     * be more efficient to use a version of <code>updateNCharacterStream</code>
+     * which takes a length parameter.
      *
-     * @param columnLabel the label for the column specified with the SQL AS clause.  If the SQL AS clause was not
-     *                    specified, then the label is the name of the column
-     * @param reader      the <code>java.io.Reader</code> object containing
-     *                    the new column value
-     * @throws SQLException if the columnLabel is not valid;
-     *                      if a database access error occurs;
-     *                      the result set concurrency is <code>CONCUR_READ_ONLY</code> or this method is called on a closed result set
-     * @throws SQLFeatureNotSupportedException
-     *                      if the JDBC driver does not support
-     *                      this method
+     * @param columnLabel the label for the column specified with the SQL AS clause.
+     * If the SQL AS clause was not specified, then the label is the name of the
+     * column
+     * @param reader the <code>java.io.Reader</code> object containing the new
+     * column value
+     * @throws SQLException if the columnLabel is not valid; if a database access
+     * error occurs; the result set concurrency is <code>CONCUR_READ_ONLY</code> or
+     * this method is called on a closed result set
+     * @throws SQLFeatureNotSupportedException if the JDBC driver does not support
+     * this method
      * @since 1.6
      */
+    @Override
     public void updateNCharacterStream(String columnLabel, Reader reader) throws SQLException {
         resultSet.updateNCharacterStream(columnLabel, reader);
     }
 
     /**
-     * Updates the designated column with an ascii stream value.
-     * The data will be read from the stream
-     * as needed until end-of-stream is reached.
+     * Updates the designated column with an ascii stream value. The data will be
+     * read from the stream as needed until end-of-stream is reached.
      * <p/>
-     * The updater methods are used to update column values in the
-     * current row or the insert row.  The updater methods do not
-     * update the underlying database; instead the <code>updateRow</code> or
-     * <code>insertRow</code> methods are called to update the database.
+     * The updater methods are used to update column values in the current row or
+     * the insert row. The updater methods do not update the underlying database;
+     * instead the <code>updateRow</code> or <code>insertRow</code> methods are
+     * called to update the database.
      * <p/>
-     * <P><B>Note:</B> Consult your JDBC driver documentation to determine if
-     * it might be more efficient to use a version of
-     * <code>updateAsciiStream</code> which takes a length parameter.
+     * <P>
+     * <B>Note:</B> Consult your JDBC driver documentation to determine if it might
+     * be more efficient to use a version of <code>updateAsciiStream</code> which
+     * takes a length parameter.
      *
      * @param columnIndex the first column is 1, the second is 2, ...
-     * @param x           the new column value
-     * @throws SQLException if the columnIndex is not valid;
-     *                      if a database access error occurs;
-     *                      the result set concurrency is <code>CONCUR_READ_ONLY</code>
-     *                      or this method is called on a closed result set
-     * @throws SQLFeatureNotSupportedException
-     *                      if the JDBC driver does not support
-     *                      this method
+     * @param x the new column value
+     * @throws SQLException if the columnIndex is not valid; if a database access
+     * error occurs; the result set concurrency is <code>CONCUR_READ_ONLY</code> or
+     * this method is called on a closed result set
+     * @throws SQLFeatureNotSupportedException if the JDBC driver does not support
+     * this method
      * @since 1.6
      */
+    @Override
     public void updateAsciiStream(int columnIndex, InputStream x) throws SQLException {
         resultSet.updateAsciiStream(columnIndex, x);
     }
 
     /**
-     * Updates the designated column with a binary stream value.
-     * The data will be read from the stream
-     * as needed until end-of-stream is reached.
+     * Updates the designated column with a binary stream value. The data will be
+     * read from the stream as needed until end-of-stream is reached.
      * <p/>
-     * The updater methods are used to update column values in the
-     * current row or the insert row.  The updater methods do not
-     * update the underlying database; instead the <code>updateRow</code> or
-     * <code>insertRow</code> methods are called to update the database.
+     * The updater methods are used to update column values in the current row or
+     * the insert row. The updater methods do not update the underlying database;
+     * instead the <code>updateRow</code> or <code>insertRow</code> methods are
+     * called to update the database.
      * <p/>
-     * <P><B>Note:</B> Consult your JDBC driver documentation to determine if
-     * it might be more efficient to use a version of
-     * <code>updateBinaryStream</code> which takes a length parameter.
+     * <P>
+     * <B>Note:</B> Consult your JDBC driver documentation to determine if it might
+     * be more efficient to use a version of <code>updateBinaryStream</code> which
+     * takes a length parameter.
      *
      * @param columnIndex the first column is 1, the second is 2, ...
-     * @param x           the new column value
-     * @throws SQLException if the columnIndex is not valid;
-     *                      if a database access error occurs;
-     *                      the result set concurrency is <code>CONCUR_READ_ONLY</code>
-     *                      or this method is called on a closed result set
-     * @throws SQLFeatureNotSupportedException
-     *                      if the JDBC driver does not support
-     *                      this method
+     * @param x the new column value
+     * @throws SQLException if the columnIndex is not valid; if a database access
+     * error occurs; the result set concurrency is <code>CONCUR_READ_ONLY</code> or
+     * this method is called on a closed result set
+     * @throws SQLFeatureNotSupportedException if the JDBC driver does not support
+     * this method
      * @since 1.6
      */
+    @Override
     public void updateBinaryStream(int columnIndex, InputStream x) throws SQLException {
         resultSet.updateBinaryStream(columnIndex, x);
     }
 
     /**
-     * Updates the designated column with a character stream value.
-     * The data will be read from the stream
-     * as needed until end-of-stream is reached.
+     * Updates the designated column with a character stream value. The data will be
+     * read from the stream as needed until end-of-stream is reached.
      * <p/>
-     * The updater methods are used to update column values in the
-     * current row or the insert row.  The updater methods do not
-     * update the underlying database; instead the <code>updateRow</code> or
-     * <code>insertRow</code> methods are called to update the database.
+     * The updater methods are used to update column values in the current row or
+     * the insert row. The updater methods do not update the underlying database;
+     * instead the <code>updateRow</code> or <code>insertRow</code> methods are
+     * called to update the database.
      * <p/>
-     * <P><B>Note:</B> Consult your JDBC driver documentation to determine if
-     * it might be more efficient to use a version of
-     * <code>updateCharacterStream</code> which takes a length parameter.
+     * <P>
+     * <B>Note:</B> Consult your JDBC driver documentation to determine if it might
+     * be more efficient to use a version of <code>updateCharacterStream</code>
+     * which takes a length parameter.
      *
      * @param columnIndex the first column is 1, the second is 2, ...
-     * @param x           the new column value
-     * @throws SQLException if the columnIndex is not valid;
-     *                      if a database access error occurs;
-     *                      the result set concurrency is <code>CONCUR_READ_ONLY</code>
-     *                      or this method is called on a closed result set
-     * @throws SQLFeatureNotSupportedException
-     *                      if the JDBC driver does not support
-     *                      this method
+     * @param x the new column value
+     * @throws SQLException if the columnIndex is not valid; if a database access
+     * error occurs; the result set concurrency is <code>CONCUR_READ_ONLY</code> or
+     * this method is called on a closed result set
+     * @throws SQLFeatureNotSupportedException if the JDBC driver does not support
+     * this method
      * @since 1.6
      */
+    @Override
     public void updateCharacterStream(int columnIndex, Reader x) throws SQLException {
         resultSet.updateCharacterStream(columnIndex, x);
     }
 
     /**
-     * Updates the designated column with an ascii stream value.
-     * The data will be read from the stream
-     * as needed until end-of-stream is reached.
+     * Updates the designated column with an ascii stream value. The data will be
+     * read from the stream as needed until end-of-stream is reached.
      * <p/>
-     * The updater methods are used to update column values in the
-     * current row or the insert row.  The updater methods do not
-     * update the underlying database; instead the <code>updateRow</code> or
-     * <code>insertRow</code> methods are called to update the database.
+     * The updater methods are used to update column values in the current row or
+     * the insert row. The updater methods do not update the underlying database;
+     * instead the <code>updateRow</code> or <code>insertRow</code> methods are
+     * called to update the database.
      * <p/>
-     * <P><B>Note:</B> Consult your JDBC driver documentation to determine if
-     * it might be more efficient to use a version of
-     * <code>updateAsciiStream</code> which takes a length parameter.
+     * <P>
+     * <B>Note:</B> Consult your JDBC driver documentation to determine if it might
+     * be more efficient to use a version of <code>updateAsciiStream</code> which
+     * takes a length parameter.
      *
-     * @param columnLabel the label for the column specified with the SQL AS clause.  If the SQL AS clause was not
-     *                    specified, then the label is the name of the column
-     * @param x           the new column value
-     * @throws SQLException if the columnLabel is not valid;
-     *                      if a database access error occurs;
-     *                      the result set concurrency is <code>CONCUR_READ_ONLY</code>
-     *                      or this method is called on a closed result set
-     * @throws SQLFeatureNotSupportedException
-     *                      if the JDBC driver does not support
-     *                      this method
+     * @param columnLabel the label for the column specified with the SQL AS clause.
+     * If the SQL AS clause was not specified, then the label is the name of the
+     * column
+     * @param x the new column value
+     * @throws SQLException if the columnLabel is not valid; if a database access
+     * error occurs; the result set concurrency is <code>CONCUR_READ_ONLY</code> or
+     * this method is called on a closed result set
+     * @throws SQLFeatureNotSupportedException if the JDBC driver does not support
+     * this method
      * @since 1.6
      */
+    @Override
     public void updateAsciiStream(String columnLabel, InputStream x) throws SQLException {
         resultSet.updateAsciiStream(columnLabel, x);
     }
 
     /**
-     * Updates the designated column with a binary stream value.
-     * The data will be read from the stream
-     * as needed until end-of-stream is reached.
+     * Updates the designated column with a binary stream value. The data will be
+     * read from the stream as needed until end-of-stream is reached.
      * <p/>
-     * The updater methods are used to update column values in the
-     * current row or the insert row.  The updater methods do not
-     * update the underlying database; instead the <code>updateRow</code> or
-     * <code>insertRow</code> methods are called to update the database.
+     * The updater methods are used to update column values in the current row or
+     * the insert row. The updater methods do not update the underlying database;
+     * instead the <code>updateRow</code> or <code>insertRow</code> methods are
+     * called to update the database.
      * <p/>
-     * <P><B>Note:</B> Consult your JDBC driver documentation to determine if
-     * it might be more efficient to use a version of
-     * <code>updateBinaryStream</code> which takes a length parameter.
+     * <P>
+     * <B>Note:</B> Consult your JDBC driver documentation to determine if it might
+     * be more efficient to use a version of <code>updateBinaryStream</code> which
+     * takes a length parameter.
      *
-     * @param columnLabel the label for the column specified with the SQL AS clause.  If the SQL AS clause was not
-     *                    specified, then the label is the name of the column
-     * @param x           the new column value
-     * @throws SQLException if the columnLabel is not valid;
-     *                      if a database access error occurs;
-     *                      the result set concurrency is <code>CONCUR_READ_ONLY</code>
-     *                      or this method is called on a closed result set
-     * @throws SQLFeatureNotSupportedException
-     *                      if the JDBC driver does not support
-     *                      this method
+     * @param columnLabel the label for the column specified with the SQL AS clause.
+     * If the SQL AS clause was not specified, then the label is the name of the
+     * column
+     * @param x the new column value
+     * @throws SQLException if the columnLabel is not valid; if a database access
+     * error occurs; the result set concurrency is <code>CONCUR_READ_ONLY</code> or
+     * this method is called on a closed result set
+     * @throws SQLFeatureNotSupportedException if the JDBC driver does not support
+     * this method
      * @since 1.6
      */
+    @Override
     public void updateBinaryStream(String columnLabel, InputStream x) throws SQLException {
         resultSet.updateBinaryStream(columnLabel, x);
     }
 
     /**
-     * Updates the designated column with a character stream value.
-     * The data will be read from the stream
-     * as needed until end-of-stream is reached.
+     * Updates the designated column with a character stream value. The data will be
+     * read from the stream as needed until end-of-stream is reached.
      * <p/>
-     * The updater methods are used to update column values in the
-     * current row or the insert row.  The updater methods do not
-     * update the underlying database; instead the <code>updateRow</code> or
-     * <code>insertRow</code> methods are called to update the database.
+     * The updater methods are used to update column values in the current row or
+     * the insert row. The updater methods do not update the underlying database;
+     * instead the <code>updateRow</code> or <code>insertRow</code> methods are
+     * called to update the database.
      * <p/>
-     * <P><B>Note:</B> Consult your JDBC driver documentation to determine if
-     * it might be more efficient to use a version of
-     * <code>updateCharacterStream</code> which takes a length parameter.
+     * <P>
+     * <B>Note:</B> Consult your JDBC driver documentation to determine if it might
+     * be more efficient to use a version of <code>updateCharacterStream</code>
+     * which takes a length parameter.
      *
-     * @param columnLabel the label for the column specified with the SQL AS clause.  If the SQL AS clause was not
-     *                    specified, then the label is the name of the column
-     * @param reader      the <code>java.io.Reader</code> object containing
-     *                    the new column value
-     * @throws SQLException if the columnLabel is not valid; if a database access error occurs;
-     *                      the result set concurrency is <code>CONCUR_READ_ONLY</code>
-     *                      or this method is called on a closed result set
-     * @throws SQLFeatureNotSupportedException
-     *                      if the JDBC driver does not support
-     *                      this method
+     * @param columnLabel the label for the column specified with the SQL AS clause.
+     * If the SQL AS clause was not specified, then the label is the name of the
+     * column
+     * @param reader the <code>java.io.Reader</code> object containing the new
+     * column value
+     * @throws SQLException if the columnLabel is not valid; if a database access
+     * error occurs; the result set concurrency is <code>CONCUR_READ_ONLY</code> or
+     * this method is called on a closed result set
+     * @throws SQLFeatureNotSupportedException if the JDBC driver does not support
+     * this method
      * @since 1.6
      */
+    @Override
     public void updateCharacterStream(String columnLabel, Reader reader) throws SQLException {
         resultSet.updateCharacterStream(columnLabel, reader);
     }
 
     /**
-     * Updates the designated column using the given input stream. The data will be read from the stream
-     * as needed until end-of-stream is reached.
+     * Updates the designated column using the given input stream. The data will be
+     * read from the stream as needed until end-of-stream is reached.
      * <p/>
-     * The updater methods are used to update column values in the
-     * current row or the insert row.  The updater methods do not
-     * update the underlying database; instead the <code>updateRow</code> or
-     * <code>insertRow</code> methods are called to update the database.
+     * The updater methods are used to update column values in the current row or
+     * the insert row. The updater methods do not update the underlying database;
+     * instead the <code>updateRow</code> or <code>insertRow</code> methods are
+     * called to update the database.
      * <p/>
-     * <P><B>Note:</B> Consult your JDBC driver documentation to determine if
-     * it might be more efficient to use a version of
-     * <code>updateBlob</code> which takes a length parameter.
+     * <P>
+     * <B>Note:</B> Consult your JDBC driver documentation to determine if it might
+     * be more efficient to use a version of <code>updateBlob</code> which takes a
+     * length parameter.
      *
      * @param columnIndex the first column is 1, the second is 2, ...
      * @param inputStream An object that contains the data to set the parameter
-     *                    value to.
-     * @throws SQLException if the columnIndex is not valid; if a database access error occurs;
-     *                      the result set concurrency is <code>CONCUR_READ_ONLY</code>
-     *                      or this method is called on a closed result set
-     * @throws SQLFeatureNotSupportedException
-     *                      if the JDBC driver does not support
-     *                      this method
+     * value to.
+     * @throws SQLException if the columnIndex is not valid; if a database access
+     * error occurs; the result set concurrency is <code>CONCUR_READ_ONLY</code> or
+     * this method is called on a closed result set
+     * @throws SQLFeatureNotSupportedException if the JDBC driver does not support
+     * this method
      * @since 1.6
      */
+    @Override
     public void updateBlob(int columnIndex, InputStream inputStream) throws SQLException {
         resultSet.updateBlob(columnIndex, inputStream);
     }
 
     /**
-     * Updates the designated column using the given input stream. The data will be read from the stream
-     * as needed until end-of-stream is reached.
+     * Updates the designated column using the given input stream. The data will be
+     * read from the stream as needed until end-of-stream is reached.
      * <p/>
-     * The updater methods are used to update column values in the
-     * current row or the insert row.  The updater methods do not
-     * update the underlying database; instead the <code>updateRow</code> or
-     * <code>insertRow</code> methods are called to update the database.
+     * The updater methods are used to update column values in the current row or
+     * the insert row. The updater methods do not update the underlying database;
+     * instead the <code>updateRow</code> or <code>insertRow</code> methods are
+     * called to update the database.
      * <p/>
-     * <P><B>Note:</B> Consult your JDBC driver documentation to determine if
-     * it might be more efficient to use a version of
-     * <code>updateBlob</code> which takes a length parameter.
+     * <P>
+     * <B>Note:</B> Consult your JDBC driver documentation to determine if it might
+     * be more efficient to use a version of <code>updateBlob</code> which takes a
+     * length parameter.
      *
-     * @param columnLabel the label for the column specified with the SQL AS clause.  If the SQL AS clause was not
-     *                    specified, then the label is the name of the column
+     * @param columnLabel the label for the column specified with the SQL AS clause.
+     * If the SQL AS clause was not specified, then the label is the name of the
+     * column
      * @param inputStream An object that contains the data to set the parameter
-     *                    value to.
-     * @throws SQLException if the columnLabel is not valid; if a database access error occurs;
-     *                      the result set concurrency is <code>CONCUR_READ_ONLY</code>
-     *                      or this method is called on a closed result set
-     * @throws SQLFeatureNotSupportedException
-     *                      if the JDBC driver does not support
-     *                      this method
+     * value to.
+     * @throws SQLException if the columnLabel is not valid; if a database access
+     * error occurs; the result set concurrency is <code>CONCUR_READ_ONLY</code> or
+     * this method is called on a closed result set
+     * @throws SQLFeatureNotSupportedException if the JDBC driver does not support
+     * this method
      * @since 1.6
      */
+    @Override
     public void updateBlob(String columnLabel, InputStream inputStream) throws SQLException {
         resultSet.updateBlob(columnLabel, inputStream);
     }
 
     /**
-     * Updates the designated column using the given <code>Reader</code>
-     * object.
-     * The data will be read from the stream
-     * as needed until end-of-stream is reached.  The JDBC driver will
-     * do any necessary conversion from UNICODE to the database char format.
+     * Updates the designated column using the given <code>Reader</code> object. The
+     * data will be read from the stream as needed until end-of-stream is reached.
+     * The JDBC driver will do any necessary conversion from UNICODE to the database
+     * char format.
      * <p/>
      * <p/>
-     * The updater methods are used to update column values in the
-     * current row or the insert row.  The updater methods do not
-     * update the underlying database; instead the <code>updateRow</code> or
-     * <code>insertRow</code> methods are called to update the database.
+     * The updater methods are used to update column values in the current row or
+     * the insert row. The updater methods do not update the underlying database;
+     * instead the <code>updateRow</code> or <code>insertRow</code> methods are
+     * called to update the database.
      * <p/>
-     * <P><B>Note:</B> Consult your JDBC driver documentation to determine if
-     * it might be more efficient to use a version of
-     * <code>updateClob</code> which takes a length parameter.
+     * <P>
+     * <B>Note:</B> Consult your JDBC driver documentation to determine if it might
+     * be more efficient to use a version of <code>updateClob</code> which takes a
+     * length parameter.
      *
      * @param columnIndex the first column is 1, the second is 2, ...
-     * @param reader      An object that contains the data to set the parameter value to.
-     * @throws SQLException if the columnIndex is not valid;
-     *                      if a database access error occurs;
-     *                      the result set concurrency is <code>CONCUR_READ_ONLY</code>
-     *                      or this method is called on a closed result set
-     * @throws SQLFeatureNotSupportedException
-     *                      if the JDBC driver does not support
-     *                      this method
+     * @param reader An object that contains the data to set the parameter value to.
+     * @throws SQLException if the columnIndex is not valid; if a database access
+     * error occurs; the result set concurrency is <code>CONCUR_READ_ONLY</code> or
+     * this method is called on a closed result set
+     * @throws SQLFeatureNotSupportedException if the JDBC driver does not support
+     * this method
      * @since 1.6
      */
+    @Override
     public void updateClob(int columnIndex, Reader reader) throws SQLException {
         resultSet.updateClob(columnIndex, reader);
     }
 
     /**
-     * Updates the designated column using the given <code>Reader</code>
-     * object.
-     * The data will be read from the stream
-     * as needed until end-of-stream is reached.  The JDBC driver will
-     * do any necessary conversion from UNICODE to the database char format.
+     * Updates the designated column using the given <code>Reader</code> object. The
+     * data will be read from the stream as needed until end-of-stream is reached.
+     * The JDBC driver will do any necessary conversion from UNICODE to the database
+     * char format.
      * <p/>
      * <p/>
-     * The updater methods are used to update column values in the
-     * current row or the insert row.  The updater methods do not
-     * update the underlying database; instead the <code>updateRow</code> or
-     * <code>insertRow</code> methods are called to update the database.
+     * The updater methods are used to update column values in the current row or
+     * the insert row. The updater methods do not update the underlying database;
+     * instead the <code>updateRow</code> or <code>insertRow</code> methods are
+     * called to update the database.
      * <p/>
-     * <P><B>Note:</B> Consult your JDBC driver documentation to determine if
-     * it might be more efficient to use a version of
-     * <code>updateClob</code> which takes a length parameter.
+     * <P>
+     * <B>Note:</B> Consult your JDBC driver documentation to determine if it might
+     * be more efficient to use a version of <code>updateClob</code> which takes a
+     * length parameter.
      *
-     * @param columnLabel the label for the column specified with the SQL AS clause.  If the SQL AS clause was not
-     *                    specified, then the label is the name of the column
-     * @param reader      An object that contains the data to set the parameter value to.
-     * @throws SQLException if the columnLabel is not valid; if a database access error occurs;
-     *                      the result set concurrency is <code>CONCUR_READ_ONLY</code>
-     *                      or this method is called on a closed result set
-     * @throws SQLFeatureNotSupportedException
-     *                      if the JDBC driver does not support
-     *                      this method
+     * @param columnLabel the label for the column specified with the SQL AS clause.
+     * If the SQL AS clause was not specified, then the label is the name of the
+     * column
+     * @param reader An object that contains the data to set the parameter value to.
+     * @throws SQLException if the columnLabel is not valid; if a database access
+     * error occurs; the result set concurrency is <code>CONCUR_READ_ONLY</code> or
+     * this method is called on a closed result set
+     * @throws SQLFeatureNotSupportedException if the JDBC driver does not support
+     * this method
      * @since 1.6
      */
+    @Override
     public void updateClob(String columnLabel, Reader reader) throws SQLException {
         resultSet.updateClob(columnLabel, reader);
     }
@@ -1289,67 +1265,68 @@
     /**
      * Updates the designated column using the given <code>Reader</code>
      * <p/>
-     * The data will be read from the stream
-     * as needed until end-of-stream is reached.  The JDBC driver will
-     * do any necessary conversion from UNICODE to the database char format.
+     * The data will be read from the stream as needed until end-of-stream is
+     * reached. The JDBC driver will do any necessary conversion from UNICODE to the
+     * database char format.
      * <p/>
      * <p/>
-     * The updater methods are used to update column values in the
-     * current row or the insert row.  The updater methods do not
-     * update the underlying database; instead the <code>updateRow</code> or
-     * <code>insertRow</code> methods are called to update the database.
+     * The updater methods are used to update column values in the current row or
+     * the insert row. The updater methods do not update the underlying database;
+     * instead the <code>updateRow</code> or <code>insertRow</code> methods are
+     * called to update the database.
      * <p/>
-     * <P><B>Note:</B> Consult your JDBC driver documentation to determine if
-     * it might be more efficient to use a version of
-     * <code>updateNClob</code> which takes a length parameter.
+     * <P>
+     * <B>Note:</B> Consult your JDBC driver documentation to determine if it might
+     * be more efficient to use a version of <code>updateNClob</code> which takes a
+     * length parameter.
      *
      * @param columnIndex the first column is 1, the second 2, ...
-     * @param reader      An object that contains the data to set the parameter value to.
-     * @throws SQLException if the columnIndex is not valid;
-     *                      if the driver does not support national
-     *                      character sets;  if the driver can detect that a data conversion
-     *                      error could occur; this method is called on a closed result set,
-     *                      if a database access error occurs or
-     *                      the result set concurrency is <code>CONCUR_READ_ONLY</code>
-     * @throws SQLFeatureNotSupportedException
-     *                      if the JDBC driver does not support
-     *                      this method
+     * @param reader An object that contains the data to set the parameter value to.
+     * @throws SQLException if the columnIndex is not valid; if the driver does not
+     * support national character sets; if the driver can detect that a data
+     * conversion error could occur; this method is called on a closed result set,
+     * if a database access error occurs or the result set concurrency is
+     * <code>CONCUR_READ_ONLY</code>
+     * @throws SQLFeatureNotSupportedException if the JDBC driver does not support
+     * this method
      * @since 1.6
      */
+    @Override
     public void updateNClob(int columnIndex, Reader reader) throws SQLException {
         resultSet.updateNClob(columnIndex, reader);
     }
 
     /**
-     * Updates the designated column using the given <code>Reader</code>
-     * object.
-     * The data will be read from the stream
-     * as needed until end-of-stream is reached.  The JDBC driver will
-     * do any necessary conversion from UNICODE to the database char format.
+     * Updates the designated column using the given <code>Reader</code> object. The
+     * data will be read from the stream as needed until end-of-stream is reached.
+     * The JDBC driver will do any necessary conversion from UNICODE to the database
+     * char format.
      * <p/>
      * <p/>
-     * The updater methods are used to update column values in the
-     * current row or the insert row.  The updater methods do not
-     * update the underlying database; instead the <code>updateRow</code> or
-     * <code>insertRow</code> methods are called to update the database.
+     * The updater methods are used to update column values in the current row or
+     * the insert row. The updater methods do not update the underlying database;
+     * instead the <code>updateRow</code> or <code>insertRow</code> methods are
+     * called to update the database.
      * <p/>
-     * <P><B>Note:</B> Consult your JDBC driver documentation to determine if
-     * it might be more efficient to use a version of
-     * <code>updateNClob</code> which takes a length parameter.
+     * <P>
+     * <B>Note:</B> Consult your JDBC driver documentation to determine if it might
+     * be more efficient to use a version of <code>updateNClob</code> which takes a
+     * length parameter.
      *
-     * @param columnLabel the label for the column specified with the SQL AS clause.  If the SQL AS clause was not
-     *                    specified, then the label is the name of the column
-     * @param reader      An object that contains the data to set the parameter value to.
-     * @throws SQLException if the columnLabel is not valid; if the driver does not support national
-     *                      character sets;  if the driver can detect that a data conversion
-     *                      error could occur; this method is called on a closed result set;
-     *                      if a database access error occurs or
-     *                      the result set concurrency is <code>CONCUR_READ_ONLY</code>
-     * @throws SQLFeatureNotSupportedException
-     *                      if the JDBC driver does not support
-     *                      this method
+     * @param columnLabel the label for the column specified with the SQL AS clause.
+     * If the SQL AS clause was not specified, then the label is the name of the
+     * column
+     * @param reader An object that contains the data to set the parameter value to.
+     * @throws SQLException if the columnLabel is not valid; if the driver does not
+     * support national character sets; if the driver can detect that a data
+     * conversion error could occur; this method is called on a closed result set;
+     * if a database access error occurs or the result set concurrency is
+     * <code>CONCUR_READ_ONLY</code>
+     * @throws SQLFeatureNotSupportedException if the JDBC driver does not support
+     * this method
      * @since 1.6
      */
+    @Override
     public void updateNClob(String columnLabel, Reader reader) throws SQLException {
         resultSet.updateNClob(columnLabel, reader);
     }
@@ -1358,51 +1335,55 @@
      * Returns an object that implements the given interface to allow access to
      * non-standard methods, or standard methods not exposed by the proxy.
      * <p/>
-     * If the receiver implements the interface then the result is the receiver
-     * or a proxy for the receiver. If the receiver is a wrapper
-     * and the wrapped object implements the interface then the result is the
-     * wrapped object or a proxy for the wrapped object. Otherwise return the
-     * the result of calling <code>unwrap</code> recursively on the wrapped object
-     * or a proxy for that result. If the receiver is not a
-     * wrapper and does not implement the interface, then an <code>SQLException</code> is thrown.
+     * If the receiver implements the interface then the result is the receiver or a
+     * proxy for the receiver. If the receiver is a wrapper and the wrapped object
+     * implements the interface then the result is the wrapped object or a proxy for
+     * the wrapped object. Otherwise return the the result of calling
+     * <code>unwrap</code> recursively on the wrapped object or a proxy for that
+     * result. If the receiver is not a wrapper and does not implement the
+     * interface, then an <code>SQLException</code> is thrown.
      *
      * @param iface A Class defining an interface that the result must implement.
-     * @return an object that implements the interface. May be a proxy for the actual implementing object.
-     * @throws java.sql.SQLException If no object found that implements the interface
+     * @return an object that implements the interface. May be a proxy for the
+     * actual implementing object.
+     * @throws java.sql.SQLException If no object found that implements the
+     * interface
      * @since 1.6
      */
+    @Override
     public <T> T unwrap(Class<T> iface) throws SQLException {
-        T result;
         if (iface.isInstance(this)) {
-            result = iface.cast(this);
-        } else {
-            result = resultSet.unwrap(iface);
+            return iface.cast(this);
         }
-        return result;
+
+        return resultSet.unwrap(iface);
     }
 
     /**
-     * Returns true if this either implements the interface argument or is directly or indirectly a wrapper
-     * for an object that does. Returns false otherwise. If this implements the interface then return true,
-     * else if this is a wrapper then return the result of recursively calling <code>isWrapperFor</code> on the wrapped
-     * object. If this does not implement the interface and is not a wrapper, return false.
-     * This method should be implemented as a low-cost operation compared to <code>unwrap</code> so that
-     * callers can use this method to avoid expensive <code>unwrap</code> calls that may fail. If this method
-     * returns true then calling <code>unwrap</code> with the same argument should succeed.
+     * Returns true if this either implements the interface argument or is directly
+     * or indirectly a wrapper for an object that does. Returns false otherwise. If
+     * this implements the interface then return true, else if this is a wrapper
+     * then return the result of recursively calling <code>isWrapperFor</code> on
+     * the wrapped object. If this does not implement the interface and is not a
+     * wrapper, return false. This method should be implemented as a low-cost
+     * operation compared to <code>unwrap</code> so that callers can use this method
+     * to avoid expensive <code>unwrap</code> calls that may fail. If this method
+     * returns true then calling <code>unwrap</code> with the same argument should
+     * succeed.
      *
      * @param iface a Class defining an interface.
-     * @return true if this implements the interface or directly or indirectly wraps an object that does.
-     * @throws java.sql.SQLException if an error occurs while determining whether this is a wrapper
-     *                               for an object with the given interface.
+     * @return true if this implements the interface or directly or indirectly wraps
+     * an object that does.
+     * @throws java.sql.SQLException if an error occurs while determining whether
+     * this is a wrapper for an object with the given interface.
      * @since 1.6
      */
+    @Override
     public boolean isWrapperFor(Class<?> iface) throws SQLException {
-        boolean result;
         if (iface.isInstance(this)) {
-            result = true;
-        } else {
-            result = resultSet.isWrapperFor(iface);
+            return true;
         }
-        return result;
+
+        return resultSet.isWrapperFor(iface);
     }
 }
diff --git a/appserver/jdbc/jdbc-ra/jdbc40/src/main/java/com/sun/gjc/spi/jdbc40/StatementWrapper40.java b/appserver/jdbc/jdbc-ra/jdbc40/src/main/java/com/sun/gjc/spi/jdbc40/StatementWrapper40.java
index 266a7e5..0be14f1 100644
--- a/appserver/jdbc/jdbc-ra/jdbc40/src/main/java/com/sun/gjc/spi/jdbc40/StatementWrapper40.java
+++ b/appserver/jdbc/jdbc-ra/jdbc40/src/main/java/com/sun/gjc/spi/jdbc40/StatementWrapper40.java
@@ -16,24 +16,26 @@
 
 package com.sun.gjc.spi.jdbc40;
 
+import java.sql.Connection;
+import java.sql.ResultSet;
+import java.sql.SQLException;
+import java.sql.Statement;
+
 import com.sun.enterprise.util.i18n.StringManager;
 import com.sun.gjc.spi.ManagedConnectionFactoryImpl;
 import com.sun.gjc.spi.base.StatementWrapper;
 
-import java.sql.*;
-
 /**
  * Wrapper for JDBC 4.0 Statement
  */
 public class StatementWrapper40 extends StatementWrapper {
 
-    protected final static StringManager localStrings =
-            StringManager.getManager(ManagedConnectionFactoryImpl.class);
+    protected final static StringManager localStrings = StringManager.getManager(ManagedConnectionFactoryImpl.class);
 
     /**
      * Creates a new instance of StatementWrapper for JDBC 3.0<br>
      *
-     * @param con       ConnectionWrapper <br>
+     * @param con ConnectionWrapper <br>
      * @param statement Statement that is to be wrapped<br>
      */
     public StatementWrapper40(Connection con, Statement statement) {
@@ -41,59 +43,64 @@
     }
 
     /**
-     * Retrieves whether this <code>Statement</code> object has been closed. A <code>Statement</code> is closed if the
-     * method close has been called on it, or if it is automatically closed.
+     * Retrieves whether this <code>Statement</code> object has been closed. A
+     * <code>Statement</code> is closed if the method close has been called on it,
+     * or if it is automatically closed.
      *
-     * @return true if this <code>Statement</code> object is closed; false if it is still open
+     * @return true if this <code>Statement</code> object is closed; false if it is
+     * still open
      * @throws SQLException if a database access error occurs
      * @since 1.6
      */
+    @Override
     public boolean isClosed() throws SQLException {
         return jdbcStatement.isClosed();
     }
 
     /**
-     * Requests that a <code>Statement</code> be pooled or not pooled.  The value
-     * specified is a hint to the statement pool implementation indicating
-     * whether the applicaiton wants the statement to be pooled.  It is up to
-     * the statement pool manager as to whether the hint is used.
+     * Requests that a <code>Statement</code> be pooled or not pooled. The value
+     * specified is a hint to the statement pool implementation indicating whether
+     * the application wants the statement to be pooled. It is up to the statement
+     * pool manager as to whether the hint is used.
      * <p/>
-     * The poolable value of a statement is applicable to both internal
-     * statement caches implemented by the driver and external statement caches
-     * implemented by application servers and other applications.
+     * The poolable value of a statement is applicable to both internal statement
+     * caches implemented by the driver and external statement caches implemented by
+     * application servers and other applications.
      * <p/>
-     * By default, a <code>Statement</code> is not poolable when created, and
-     * a <code>PreparedStatement</code> and <code>CallableStatement</code>
-     * are poolable when created.
+     * By default, a <code>Statement</code> is not poolable when created, and a
+     * <code>PreparedStatement</code> and <code>CallableStatement</code> are
+     * poolable when created.
      * <p/>
      *
-     * @param poolable requests that the statement be pooled if true and
-     *                 that the statement not be pooled if false
-     *                 <p/>
+     * @param poolable requests that the statement be pooled if true and that the
+     * statement not be pooled if false
+     * <p/>
      * @throws SQLException if this method is called on a closed
-     *                      <code>Statement</code>
-     *                      <p/>
+     * <code>Statement</code>
+     * <p/>
      * @since 1.6
      */
+    @Override
     public void setPoolable(boolean poolable) throws SQLException {
         jdbcStatement.setPoolable(poolable);
     }
 
     /**
-     * Returns a  value indicating whether the <code>Statement</code>
-     * is poolable or not.
+     * Returns a value indicating whether the <code>Statement</code> is poolable or
+     * not.
      * <p/>
      *
      * @throws SQLException if this method is called on a closed
-     *                      <code>Statement</code>
-     *                      <p/>
-     * @return        <code>true</code> if the <code>Statement</code>
-     * is poolable; <code>false</code> otherwise
+     * <code>Statement</code>
+     * <p/>
+     * @return <code>true</code> if the <code>Statement</code> is poolable;
+     * <code>false</code> otherwise
      * <p/>
      * @see java.sql.Statement#setPoolable(boolean) setPoolable(boolean)
      * @since 1.6
-     *        <p/>
+     * <p/>
      */
+    @Override
     public boolean isPoolable() throws SQLException {
         return jdbcStatement.isPoolable();
     }
@@ -102,19 +109,22 @@
      * Returns an object that implements the given interface to allow access to
      * non-standard methods, or standard methods not exposed by the proxy.
      * <p/>
-     * If the receiver implements the interface then the result is the receiver
-     * or a proxy for the receiver. If the receiver is a wrapper
-     * and the wrapped object implements the interface then the result is the
-     * wrapped object or a proxy for the wrapped object. Otherwise return the
-     * the result of calling <code>unwrap</code> recursively on the wrapped object
-     * or a proxy for that result. If the receiver is not a
-     * wrapper and does not implement the interface, then an <code>SQLException</code> is thrown.
+     * If the receiver implements the interface then the result is the receiver or a
+     * proxy for the receiver. If the receiver is a wrapper and the wrapped object
+     * implements the interface then the result is the wrapped object or a proxy for
+     * the wrapped object. Otherwise return the the result of calling
+     * <code>unwrap</code> recursively on the wrapped object or a proxy for that
+     * result. If the receiver is not a wrapper and does not implement the
+     * interface, then an <code>SQLException</code> is thrown.
      *
      * @param iface A Class defining an interface that the result must implement.
-     * @return an object that implements the interface. May be a proxy for the actual implementing object.
-     * @throws java.sql.SQLException If no object found that implements the interface
+     * @return an object that implements the interface. May be a proxy for the
+     * actual implementing object.
+     * @throws java.sql.SQLException If no object found that implements the
+     * interface
      * @since 1.6
      */
+    @Override
     public <T> T unwrap(Class<T> iface) throws SQLException {
         T result;
         if (iface.isInstance(this)) {
@@ -126,88 +136,96 @@
     }
 
     /**
-     * Returns true if this either implements the interface argument or is directly or indirectly a wrapper
-     * for an object that does. Returns false otherwise. If this implements the interface then return true,
-     * else if this is a wrapper then return the result of recursively calling <code>isWrapperFor</code> on the wrapped
-     * object. If this does not implement the interface and is not a wrapper, return false.
-     * This method should be implemented as a low-cost operation compared to <code>unwrap</code> so that
-     * callers can use this method to avoid expensive <code>unwrap</code> calls that may fail. If this method
-     * returns true then calling <code>unwrap</code> with the same argument should succeed.
+     * Returns true if this either implements the interface argument or is directly
+     * or indirectly a wrapper for an object that does. Returns false otherwise. If
+     * this implements the interface then return true, else if this is a wrapper
+     * then return the result of recursively calling <code>isWrapperFor</code> on
+     * the wrapped object. If this does not implement the interface and is not a
+     * wrapper, return false. This method should be implemented as a low-cost
+     * operation compared to <code>unwrap</code> so that callers can use this method
+     * to avoid expensive <code>unwrap</code> calls that may fail. If this method
+     * returns true then calling <code>unwrap</code> with the same argument should
+     * succeed.
      *
      * @param iface a Class defining an interface.
-     * @return true if this implements the interface or directly or indirectly wraps an object that does.
-     * @throws java.sql.SQLException if an error occurs while determining whether this is a wrapper
-     *                               for an object with the given interface.
+     * @return true if this implements the interface or directly or indirectly wraps
+     * an object that does.
+     * @throws java.sql.SQLException if an error occurs while determining whether
+     * this is a wrapper for an object with the given interface.
      * @since 1.6
      */
+    @Override
     public boolean isWrapperFor(Class<?> iface) throws SQLException {
-
-        boolean result;
         if (iface.isInstance(this)) {
-            result = true;
-        } else {
-            result = jdbcStatement.isWrapperFor(iface);
+            return true;
         }
-        return result;
+
+        return jdbcStatement.isWrapperFor(iface);
     }
 
     /**
      * Retrieves any auto-generated keys created as a result of executing this
-     * <code>Statement</code> object. If this <code>Statement</code> object did
-     * not generate any keys, an empty <code>ResultSet</code>
-     * object is returned.
+     * <code>Statement</code> object. If this <code>Statement</code> object did not
+     * generate any keys, an empty <code>ResultSet</code> object is returned.
      * <p/>
-     * <p><B>Note:</B>If the columns which represent the auto-generated keys were not specified,
-     * the JDBC driver implementation will determine the columns which best represent the auto-generated keys.
+     * <p>
+     * <B>Note:</B>If the columns which represent the auto-generated keys were not
+     * specified, the JDBC driver implementation will determine the columns which
+     * best represent the auto-generated keys.
      *
      * @return a <code>ResultSet</code> object containing the auto-generated key(s)
-     *         generated by the execution of this <code>Statement</code> object
-     * @throws SQLException if a database access error occurs or
-     *                      this method is called on a closed <code>Statement</code>
-     * @throws java.sql.SQLFeatureNotSupportedException
-     *                      if the JDBC driver does not support this method
+     * generated by the execution of this <code>Statement</code> object
+     * @throws SQLException if a database access error occurs or this method is
+     * called on a closed <code>Statement</code>
+     * @throws java.sql.SQLFeatureNotSupportedException if the JDBC driver does not
+     * support this method
      * @since 1.4
      */
-    public java.sql.ResultSet getGeneratedKeys() throws java.sql.SQLException {
-        ResultSet rs = jdbcStatement.getGeneratedKeys();
-        if (rs == null)
+    @Override
+    public ResultSet getGeneratedKeys() throws SQLException {
+        ResultSet resultSet = jdbcStatement.getGeneratedKeys();
+        if (resultSet == null) {
             return null;
-        return new ResultSetWrapper40(this, rs);
+        }
+
+        return new ResultSetWrapper40(this, resultSet);
     }
 
     /**
-     * Retrieves the current result as a <code>ResultSet</code> object.
-     * This method should be called only once per result.
+     * Retrieves the current result as a <code>ResultSet</code> object. This method
+     * should be called only once per result.
      *
      * @return the current result as a <code>ResultSet</code> object or
-     *         <code>null</code> if the result is an update count or there are no more results
-     * @throws SQLException if a database access error occurs or
-     *                      this method is called on a closed <code>Statement</code>
+     * <code>null</code> if the result is an update count or there are no more
+     * results
+     * @throws SQLException if a database access error occurs or this method is
+     * called on a closed <code>Statement</code>
      * @see #execute
      */
-    public java.sql.ResultSet getResultSet() throws java.sql.SQLException {
-        ResultSet rs = jdbcStatement.getResultSet();
-        if (rs == null)
+    @Override
+    public ResultSet getResultSet() throws SQLException {
+        ResultSet resultSet = jdbcStatement.getResultSet();
+        if (resultSet == null) {
             return null;
-        return new ResultSetWrapper40(this, rs);
+        }
+
+        return new ResultSetWrapper40(this, resultSet);
     }
 
     /**
      * Executes the given SQL statement, which returns a single
      * <code>ResultSet</code> object.
      *
-     * @param sql an SQL statement to be sent to the database, typically a
-     *            static SQL <code>SELECT</code> statement
-     * @return a <code>ResultSet</code> object that contains the data produced
-     *         by the given query; never <code>null</code>
-     * @throws SQLException if a database access error occurs,
-     *                      this method is called on a closed <code>Statement</code> or the given
-     *                      SQL statement produces anything other than a single
-     *                      <code>ResultSet</code> object
+     * @param sql an SQL statement to be sent to the database, typically a static
+     * SQL <code>SELECT</code> statement
+     * @return a <code>ResultSet</code> object that contains the data produced by
+     * the given query; never <code>null</code>
+     * @throws SQLException if a database access error occurs, this method is called
+     * on a closed <code>Statement</code> or the given SQL statement produces
+     * anything other than a single <code>ResultSet</code> object
      */
-    public java.sql.ResultSet executeQuery(final String sql) throws
-            java.sql.SQLException {
-        ResultSet rs = jdbcStatement.executeQuery(sql);
-        return new ResultSetWrapper40(this, rs);
+    @Override
+    public ResultSet executeQuery(final String sql) throws SQLException {
+        return new ResultSetWrapper40(this, jdbcStatement.executeQuery(sql));
     }
 }
diff --git a/appserver/jdbc/jdbc-runtime/src/main/java/org/glassfish/jdbc/deployer/DataSourceDefinitionDeployer.java b/appserver/jdbc/jdbc-runtime/src/main/java/org/glassfish/jdbc/deployer/DataSourceDefinitionDeployer.java
index 9408757..566a326 100644
--- a/appserver/jdbc/jdbc-runtime/src/main/java/org/glassfish/jdbc/deployer/DataSourceDefinitionDeployer.java
+++ b/appserver/jdbc/jdbc-runtime/src/main/java/org/glassfish/jdbc/deployer/DataSourceDefinitionDeployer.java
@@ -16,18 +16,40 @@
 
 package org.glassfish.jdbc.deployer;
 
-import com.sun.appserv.connectors.internal.api.ConnectorConstants;
-import com.sun.appserv.connectors.internal.api.ConnectorsUtil;
-import com.sun.enterprise.config.serverbeans.Resource;
-import com.sun.enterprise.config.serverbeans.Resources;
-import com.sun.enterprise.deployment.*;
+import static com.sun.appserv.connectors.internal.api.ConnectorConstants.JAVAX_SQL_CONNECTION_POOL_DATASOURCE;
+import static com.sun.appserv.connectors.internal.api.ConnectorConstants.JAVAX_SQL_DATASOURCE;
+import static com.sun.appserv.connectors.internal.api.ConnectorConstants.JAVAX_SQL_XA_DATASOURCE;
+import static com.sun.appserv.connectors.internal.api.ConnectorConstants.JAVA_SQL_DRIVER;
+import static com.sun.appserv.connectors.internal.api.ConnectorsUtil.deriveResourceName;
+import static com.sun.appserv.connectors.internal.api.ConnectorsUtil.getTransactionIsolationInt;
+import static java.util.logging.Level.FINE;
+import static java.util.logging.Level.FINEST;
+import static java.util.logging.Level.WARNING;
+import static org.glassfish.deployment.common.JavaEEResourceType.DSDPOOL;
+import static org.glassfish.resourcebase.resources.api.ResourceConstants.JAVA_APP_SCOPE_PREFIX;
+import static org.glassfish.resourcebase.resources.api.ResourceConstants.JAVA_GLOBAL_SCOPE_PREFIX;
+
+import java.beans.PropertyVetoException;
+import java.sql.Driver;
+import java.util.ArrayList;
+import java.util.Collection;
+import java.util.List;
+import java.util.Map;
+import java.util.Properties;
+import java.util.Set;
+import java.util.logging.Logger;
+
+import javax.naming.NamingException;
+import javax.sql.ConnectionPoolDataSource;
+import javax.sql.DataSource;
+import javax.sql.XADataSource;
+
+import org.glassfish.deployment.common.Descriptor;
 import org.glassfish.deployment.common.JavaEEResourceType;
+import org.glassfish.deployment.common.RootDeploymentDescriptor;
 import org.glassfish.javaee.services.CommonResourceProxy;
 import org.glassfish.jdbc.config.JdbcConnectionPool;
 import org.glassfish.jdbc.config.JdbcResource;
-import com.sun.logging.LogDomains;
-import org.glassfish.deployment.common.Descriptor;
-import org.glassfish.deployment.common.RootDeploymentDescriptor;
 import org.glassfish.resourcebase.resources.api.ResourceConflictException;
 import org.glassfish.resourcebase.resources.api.ResourceDeployer;
 import org.glassfish.resourcebase.resources.api.ResourceDeployerInfo;
@@ -39,16 +61,20 @@
 import org.jvnet.hk2.config.TransactionFailure;
 import org.jvnet.hk2.config.types.Property;
 
+import com.sun.enterprise.config.serverbeans.Application;
+import com.sun.enterprise.config.serverbeans.Resource;
+import com.sun.enterprise.config.serverbeans.Resources;
+import com.sun.enterprise.deployment.BundleDescriptor;
+import com.sun.enterprise.deployment.DataSourceDefinitionDescriptor;
+import com.sun.enterprise.deployment.EjbBundleDescriptor;
+import com.sun.enterprise.deployment.EjbDescriptor;
+import com.sun.enterprise.deployment.EjbInterceptor;
+import com.sun.enterprise.deployment.JndiNameEnvironment;
+import com.sun.enterprise.deployment.ManagedBeanDescriptor;
+import com.sun.logging.LogDomains;
+
 import jakarta.inject.Inject;
 import jakarta.inject.Provider;
-import javax.naming.NamingException;
-import java.beans.PropertyVetoException;
-import java.util.*;
-import java.util.logging.Level;
-import java.util.logging.Logger;
-
-import static org.glassfish.deployment.common.JavaEEResourceType.*;
-
 
 /**
  * @author Jagadish Ramu
@@ -57,6 +83,8 @@
 @ResourceDeployerInfo(DataSourceDefinitionDescriptor.class)
 public class DataSourceDefinitionDeployer implements ResourceDeployer {
 
+    private static Logger _logger = LogDomains.getLogger(DataSourceDefinitionDeployer.class, LogDomains.RSR_LOGGER);
+
     @Inject
     private Provider<ResourceManagerFactory> resourceManagerFactoryProvider;
 
@@ -66,29 +94,28 @@
     @Inject
     private Provider<ResourceNamingService> resourceNamingServiceProvider;
 
-    private static Logger _logger = LogDomains.getLogger(DataSourceDefinitionDeployer.class, LogDomains.RSR_LOGGER);
-
+    @Override
     public void deployResource(Object resource, String applicationName, String moduleName) throws Exception {
-        //TODO ASR
+        // TODO ASR
     }
+
+    @Override
     public void deployResource(Object resource) throws Exception {
 
         final DataSourceDefinitionDescriptor desc = (DataSourceDefinitionDescriptor) resource;
-        String poolName = ConnectorsUtil.deriveResourceName(desc.getResourceId(), desc.getName(), DSDPOOL);
-        String resourceName = ConnectorsUtil.deriveResourceName(desc.getResourceId(), desc.getName(), desc.getResourceType());
-                //desc.getName();
+        String poolName = deriveResourceName(desc.getResourceId(), desc.getName(), DSDPOOL);
+        String resourceName = deriveResourceName(desc.getResourceId(), desc.getName(), desc.getResourceType());
 
-        if(_logger.isLoggable(Level.FINE)) {
-            _logger.log(Level.FINE, "DataSourceDefinitionDeployer.deployResource() : pool-name ["+poolName+"], " +
-                    " resource-name ["+resourceName+"]");
-        }
+        _logger.log(FINE, () ->
+            "DataSourceDefinitionDeployer.deployResource() : pool-name [" + poolName + "], " +
+             " resource-name [" + resourceName + "]");
 
-        JdbcConnectionPool jdbcCp = new MyJdbcConnectionPool(desc, poolName);
+        JdbcConnectionPool jdbcConnectionPool = new MyJdbcConnectionPool(desc, poolName);
 
-        //deploy pool
-        getDeployer(jdbcCp).deployResource(jdbcCp);
+        // deploy pool
+        getDeployer(jdbcConnectionPool).deployResource(jdbcConnectionPool);
 
-        //deploy resource
+        // deploy resource
         JdbcResource jdbcResource = new MyJdbcResource(poolName, resourceName);
         getDeployer(jdbcResource).deployResource(jdbcResource);
     }
@@ -96,26 +123,26 @@
     /**
      * {@inheritDoc}
      */
-    public boolean canDeploy(boolean postApplicationDeployment, Collection<Resource> allResources, Resource resource){
-        if(handles(resource)){
-            if(!postApplicationDeployment){
+    @Override
+    public boolean canDeploy(boolean postApplicationDeployment, Collection<Resource> allResources, Resource resource) {
+        if (handles(resource)) {
+            if (!postApplicationDeployment) {
                 return true;
             }
         }
+
         return false;
     }
 
     /**
      * {@inheritDoc}
      */
-    public void validatePreservedResource(com.sun.enterprise.config.serverbeans.Application oldApp,
-                                          com.sun.enterprise.config.serverbeans.Application newApp, Resource resource,
-                                  Resources allResources)
-    throws ResourceConflictException {
-        //do nothing.
+    @Override
+    public void validatePreservedResource(Application oldApp, Application newApp, Resource resource, Resources allResources)
+            throws ResourceConflictException {
+        // do nothing.
     }
 
-
     private ResourceDeployer getDeployer(Object resource) {
         return resourceManagerFactoryProvider.get().getResourceDeployer(resource);
     }
@@ -124,67 +151,65 @@
         return new DataSourceProperty(name, value);
     }
 
-
     public void registerDataSourceDefinitions(com.sun.enterprise.deployment.Application application) {
         String appName = application.getAppName();
         Set<BundleDescriptor> bundles = application.getBundleDescriptors();
         for (BundleDescriptor bundle : bundles) {
             registerDataSourceDefinitions(appName, bundle);
-            Collection<RootDeploymentDescriptor> dds = bundle.getExtensionsDescriptors();
-            if(dds != null){
-                for(RootDeploymentDescriptor dd : dds){
-                    registerDataSourceDefinitions(appName, dd);
+            Collection<RootDeploymentDescriptor> deploymentDescriptors = bundle.getExtensionsDescriptors();
+            if (deploymentDescriptors != null) {
+                for (RootDeploymentDescriptor deploymentDescriptor : deploymentDescriptors) {
+                    registerDataSourceDefinitions(appName, deploymentDescriptor);
                 }
             }
         }
     }
 
     private void registerDataSourceDefinitions(String appName, Descriptor descriptor) {
-
         if (descriptor instanceof JndiNameEnvironment) {
             JndiNameEnvironment env = (JndiNameEnvironment) descriptor;
-            for (Descriptor dsd : env.getResourceDescriptors(JavaEEResourceType.DSD)) {
-                registerDSDReferredByApplication(appName,(DataSourceDefinitionDescriptor) dsd);
+            for (Descriptor resourceDescriptor : env.getResourceDescriptors(JavaEEResourceType.DSD)) {
+                registerDSDReferredByApplication(appName, (DataSourceDefinitionDescriptor) resourceDescriptor);
             }
         }
 
-        //ejb descriptor
+        // EJB descriptor
         if (descriptor instanceof EjbBundleDescriptor) {
             EjbBundleDescriptor ejbDesc = (EjbBundleDescriptor) descriptor;
             Set<? extends EjbDescriptor> ejbDescriptors = ejbDesc.getEjbs();
             for (EjbDescriptor ejbDescriptor : ejbDescriptors) {
-                for (Descriptor dsd : ejbDescriptor.getResourceDescriptors(JavaEEResourceType.DSD)) {
-                    registerDSDReferredByApplication(appName,(DataSourceDefinitionDescriptor) dsd);
+                for (Descriptor resourceDescriptor : ejbDescriptor.getResourceDescriptors(JavaEEResourceType.DSD)) {
+                    registerDSDReferredByApplication(appName, (DataSourceDefinitionDescriptor) resourceDescriptor);
                 }
             }
-            //ejb interceptors
+
+            // ejb interceptors
             Set<EjbInterceptor> ejbInterceptors = ejbDesc.getInterceptors();
             for (EjbInterceptor ejbInterceptor : ejbInterceptors) {
-                for (Descriptor dsd : ejbInterceptor.getResourceDescriptors(JavaEEResourceType.DSD)) {
-                    registerDSDReferredByApplication(appName,(DataSourceDefinitionDescriptor) dsd);
+                for (Descriptor resourceDescriptor : ejbInterceptor.getResourceDescriptors(JavaEEResourceType.DSD)) {
+                    registerDSDReferredByApplication(appName, (DataSourceDefinitionDescriptor) resourceDescriptor);
                 }
             }
         }
 
-        if(descriptor instanceof BundleDescriptor){
+        if (descriptor instanceof BundleDescriptor) {
             // managed bean descriptors
-            Set<ManagedBeanDescriptor> managedBeanDescriptors = ((BundleDescriptor)descriptor).getManagedBeans();
-            for (ManagedBeanDescriptor mbd : managedBeanDescriptors) {
-                for (Descriptor dsd : mbd.getResourceDescriptors(JavaEEResourceType.DSD)) {
-                    registerDSDReferredByApplication(appName, (DataSourceDefinitionDescriptor)dsd);
+            Set<ManagedBeanDescriptor> managedBeanDescriptors = ((BundleDescriptor) descriptor).getManagedBeans();
+            for (ManagedBeanDescriptor managedBeanDescriptor : managedBeanDescriptors) {
+                for (Descriptor resourceDescriptor : managedBeanDescriptor.getResourceDescriptors(JavaEEResourceType.DSD)) {
+                    registerDSDReferredByApplication(appName, (DataSourceDefinitionDescriptor) resourceDescriptor);
                 }
             }
         }
     }
 
-
-    private void unregisterDSDReferredByApplication(DataSourceDefinitionDescriptor dsd){
-        try{
-            if(dsd.isDeployed()){
-                undeployResource(dsd);
+    private void unregisterDSDReferredByApplication(DataSourceDefinitionDescriptor dataSourceDefinitionDescriptor) {
+        try {
+            if (dataSourceDefinitionDescriptor.isDeployed()) {
+                undeployResource(dataSourceDefinitionDescriptor);
             }
-        }catch(Exception e){
-            _logger.log(Level.WARNING, "exception while unregistering DSD [ "+dsd.getName()+" ]", e);
+        } catch (Exception e) {
+            _logger.log(WARNING, "exception while unregistering DSD [ " + dataSourceDefinitionDescriptor.getName() + " ]", e);
         }
     }
 
@@ -192,10 +217,10 @@
         Set<BundleDescriptor> bundles = application.getBundleDescriptors();
         for (BundleDescriptor bundle : bundles) {
             unRegisterDataSourceDefinitions(bundle);
-            Collection<RootDeploymentDescriptor> dds = bundle.getExtensionsDescriptors();
-            if(dds != null){
-                for(RootDeploymentDescriptor dd : dds){
-                    unRegisterDataSourceDefinitions(dd);
+            Collection<RootDeploymentDescriptor> deploymentDescriptors = bundle.getExtensionsDescriptors();
+            if (deploymentDescriptors != null) {
+                for (RootDeploymentDescriptor deploymentDescriptor : deploymentDescriptors) {
+                    unRegisterDataSourceDefinitions(deploymentDescriptor);
                 }
             }
         }
@@ -204,124 +229,129 @@
     private void unRegisterDataSourceDefinitions(Descriptor descriptor) {
         if (descriptor instanceof JndiNameEnvironment) {
             JndiNameEnvironment env = (JndiNameEnvironment) descriptor;
-            for (Descriptor dsd : env.getResourceDescriptors(JavaEEResourceType.DSD)) {
-                unregisterDSDReferredByApplication((DataSourceDefinitionDescriptor)dsd);
+            for (Descriptor resourceDescriptor : env.getResourceDescriptors(JavaEEResourceType.DSD)) {
+                unregisterDSDReferredByApplication((DataSourceDefinitionDescriptor) resourceDescriptor);
             }
         }
 
-        //ejb descriptor
+        // ejb descriptor
         if (descriptor instanceof EjbBundleDescriptor) {
             EjbBundleDescriptor ejbDesc = (EjbBundleDescriptor) descriptor;
             Set<? extends EjbDescriptor> ejbDescriptors = ejbDesc.getEjbs();
             for (EjbDescriptor ejbDescriptor : ejbDescriptors) {
-                for (Descriptor dsd : ejbDescriptor.getResourceDescriptors(JavaEEResourceType.DSD)) {
-                    unregisterDSDReferredByApplication((DataSourceDefinitionDescriptor)dsd);
+                for (Descriptor resourceDescriptor : ejbDescriptor.getResourceDescriptors(JavaEEResourceType.DSD)) {
+                    unregisterDSDReferredByApplication((DataSourceDefinitionDescriptor) resourceDescriptor);
                 }
             }
-            //ejb interceptors
+            // ejb interceptors
             Set<EjbInterceptor> ejbInterceptors = ejbDesc.getInterceptors();
             for (EjbInterceptor ejbInterceptor : ejbInterceptors) {
-                for (Descriptor dsd : ejbInterceptor.getResourceDescriptors(JavaEEResourceType.DSD)) {
-                    unregisterDSDReferredByApplication((DataSourceDefinitionDescriptor)dsd);
+                for (Descriptor resourceDescriptor : ejbInterceptor.getResourceDescriptors(JavaEEResourceType.DSD)) {
+                    unregisterDSDReferredByApplication((DataSourceDefinitionDescriptor) resourceDescriptor);
                 }
             }
         }
 
         // managed bean descriptors
-        if(descriptor instanceof BundleDescriptor){
-            Set<ManagedBeanDescriptor> managedBeanDescriptors = ((BundleDescriptor)descriptor).getManagedBeans();
-            for (ManagedBeanDescriptor mbd : managedBeanDescriptors) {
-                for (Descriptor dsd : mbd.getResourceDescriptors(JavaEEResourceType.DSD)) {
-                    unregisterDSDReferredByApplication((DataSourceDefinitionDescriptor)dsd);
+        if (descriptor instanceof BundleDescriptor) {
+            Set<ManagedBeanDescriptor> managedBeanDescriptors = ((BundleDescriptor) descriptor).getManagedBeans();
+            for (ManagedBeanDescriptor managedBeanDescriptor : managedBeanDescriptors) {
+                for (Descriptor resourceDescriptor : managedBeanDescriptor.getResourceDescriptors(JavaEEResourceType.DSD)) {
+                    unregisterDSDReferredByApplication((DataSourceDefinitionDescriptor) resourceDescriptor);
                 }
             }
         }
     }
 
-    private void registerDSDReferredByApplication(String appName,
-                                            DataSourceDefinitionDescriptor dsd) {
-        // It is possible that JPA might call this method multiple times in a single deployment,
-        // when there are multiple PUs eg: one PU in each of war, ejb-jar. Make sure that
-        // DSD is bound to JNDI only when it is not already deployed.
-        if(!dsd.isDeployed()){
+    private void registerDSDReferredByApplication(String appName, DataSourceDefinitionDescriptor dataSourceDefinitionDescriptor) {
+
+        // It is possible that Jakarta Persistence might call this method multiple times in a single
+        // deployment, when there are multiple persistence units eg:
+        // one persistence units in each of war, ejb-jar.
+        // Make sure that DSD is bound to JNDI only when it is not already deployed.
+
+        if (!dataSourceDefinitionDescriptor.isDeployed()) {
             CommonResourceProxy proxy = dataSourceDefinitionProxyProvider.get();
             ResourceNamingService resourceNamingService = resourceNamingServiceProvider.get();
-            proxy.setDescriptor(dsd);
+            proxy.setDescriptor(dataSourceDefinitionDescriptor);
 
-            //String appName = application.getAppName();
-            String dsdName = dsd.getName();
-            if(dsdName.startsWith(ConnectorConstants.JAVA_APP_SCOPE_PREFIX)){
-                dsd.setResourceId(appName);
+            String dsdName = dataSourceDefinitionDescriptor.getName();
+            if (dsdName.startsWith(JAVA_APP_SCOPE_PREFIX)) {
+                dataSourceDefinitionDescriptor.setResourceId(appName);
             }
 
-            if(dsdName.startsWith(ConnectorConstants.JAVA_GLOBAL_SCOPE_PREFIX)
-                    /*|| next.getName().startsWith("java:module/")*/
-                    || dsdName.startsWith(ConnectorConstants.JAVA_APP_SCOPE_PREFIX)){
+            if (dsdName.startsWith(JAVA_GLOBAL_SCOPE_PREFIX) || dsdName.startsWith(JAVA_APP_SCOPE_PREFIX)) {
                 ResourceInfo resourceInfo = new ResourceInfo(dsdName, appName, null);
                 try {
                     resourceNamingService.publishObject(resourceInfo, proxy, true);
-                    dsd.setDeployed(true);
+                    dataSourceDefinitionDescriptor.setDeployed(true);
                 } catch (NamingException e) {
-                    Object params[] = new Object[]{appName, dsdName, e};
-                    _logger.log(Level.WARNING, "dsd.registration.failed", params);
+                    _logger.log(WARNING, "dsd.registration.failed", new Object[] { appName, dsdName, e });
                 }
             }
         }
     }
 
+    @Override
     public void undeployResource(Object resource, String applicationName, String moduleName) throws Exception {
-        //TODO ASR
+        // TODO ASR
     }
 
+    @Override
     public void undeployResource(Object resource) throws Exception {
+        final DataSourceDefinitionDescriptor dataSourceDefinitionDescriptor = (DataSourceDefinitionDescriptor) resource;
 
-        final DataSourceDefinitionDescriptor desc = (DataSourceDefinitionDescriptor) resource;
+        String poolName = deriveResourceName(
+                dataSourceDefinitionDescriptor.getResourceId(),
+                dataSourceDefinitionDescriptor.getName(),
+                DSDPOOL);
 
-        String poolName = ConnectorsUtil.deriveResourceName(desc.getResourceId(), desc.getName(), DSDPOOL);
-        String resourceName = ConnectorsUtil.deriveResourceName(desc.getResourceId(), desc.getName(),desc.getResourceType());
+        String resourceName = deriveResourceName(
+                dataSourceDefinitionDescriptor.getResourceId(),
+                dataSourceDefinitionDescriptor.getName(),
+                dataSourceDefinitionDescriptor.getResourceType());
 
-        if(_logger.isLoggable(Level.FINE)) {
-            _logger.log(Level.FINE, "DataSourceDefinitionDeployer.undeployResource() : pool-name ["+poolName+"], " +
-                    " resource-name ["+resourceName+"]");
-        }
+        _logger.log(FINE, () ->
+            "DataSourceDefinitionDeployer.undeployResource() : pool-name [" + poolName + "], " +
+            " resource-name [" + resourceName + "]");
 
-        //undeploy resource
+        // Undeploy resource
         JdbcResource jdbcResource = new MyJdbcResource(poolName, resourceName);
         getDeployer(jdbcResource).undeployResource(jdbcResource);
 
-        //undeploy pool
-        JdbcConnectionPool jdbcCp = new MyJdbcConnectionPool(desc, poolName);
+        // Undeploy pool
+        JdbcConnectionPool jdbcCp = new MyJdbcConnectionPool(dataSourceDefinitionDescriptor, poolName);
         getDeployer(jdbcCp).undeployResource(jdbcCp);
 
-        desc.setDeployed(false);
+        dataSourceDefinitionDescriptor.setDeployed(false);
     }
 
+    @Override
     public void redeployResource(Object resource) throws Exception {
         throw new UnsupportedOperationException("redeploy() not supported for datasource-definition type");
     }
 
+    @Override
     public void enableResource(Object resource) throws Exception {
         throw new UnsupportedOperationException("enable() not supported for datasource-definition type");
     }
 
+    @Override
     public void disableResource(Object resource) throws Exception {
         throw new UnsupportedOperationException("disable() not supported for datasource-definition type");
     }
 
+    @Override
     public boolean handles(Object resource) {
         return resource instanceof DataSourceDefinitionDescriptor;
     }
 
-    /**
-     * @inheritDoc
-     */
+    @Override
     public boolean supportsDynamicReconfiguration() {
         return false;
     }
 
-    /**
-     * @inheritDoc
-     */
+    @Override
     public Class[] getProxyClassesForDynamicReconfiguration() {
         return new Class[0];
     }
@@ -359,32 +389,38 @@
             this.value = value;
         }
 
+        @Override
         public String getName() {
             return name;
         }
 
+        @Override
         public void setName(String value) throws PropertyVetoException {
             this.name = value;
         }
 
+        @Override
         public String getValue() {
             return value;
         }
 
+        @Override
         public void setValue(String value) throws PropertyVetoException {
             this.value = value;
         }
 
+        @Override
         public String getDescription() {
             return description;
         }
 
+        @Override
         public void setDescription(String value) throws PropertyVetoException {
             this.description = value;
         }
 
         public void injectedInto(Object o) {
-            //do nothing
+            // do nothing
         }
     }
 
@@ -398,51 +434,64 @@
             this.jndiName = jndiName;
         }
 
+        @Override
         public String getPoolName() {
             return poolName;
         }
 
+        @Override
         public void setPoolName(String value) throws PropertyVetoException {
             this.poolName = value;
         }
 
+        @Override
         public String getObjectType() {
             return null;
         }
 
+        @Override
         public void setObjectType(String value) throws PropertyVetoException {
         }
 
+        @Override
         public String getIdentity() {
             return jndiName;
         }
 
+        @Override
         public String getEnabled() {
             return String.valueOf(true);
         }
 
+        @Override
         public void setEnabled(String value) throws PropertyVetoException {
         }
 
+        @Override
         public String getDescription() {
             return null;
         }
 
+        @Override
         public void setDescription(String value) throws PropertyVetoException {
         }
 
+        @Override
         public List<Property> getProperty() {
             return null;
         }
 
+        @Override
         public Property getProperty(String name) {
             return null;
         }
 
+        @Override
         public String getPropertyValue(String name) {
             return null;
         }
 
+        @Override
         public String getPropertyValue(String name, String defaultValue) {
             return null;
         }
@@ -450,20 +499,24 @@
         public void injectedInto(Object o) {
         }
 
+        @Override
         public String getJndiName() {
             return jndiName;
         }
 
+        @Override
         public void setJndiName(String value) throws PropertyVetoException {
             this.jndiName = value;
         }
 
+        @Override
         public String getDeploymentOrder() {
             return null;
         }
 
+        @Override
         public void setDeploymentOrder(String value) {
-            //do nothing
+            // do nothing
         }
 
         @Override
@@ -489,480 +542,564 @@
 
     class MyJdbcConnectionPool extends FakeConfigBean implements JdbcConnectionPool {
 
-        private DataSourceDefinitionDescriptor desc;
+        private DataSourceDefinitionDescriptor dataSourceDefinitionDescriptor;
         private String name;
 
         public MyJdbcConnectionPool(DataSourceDefinitionDescriptor desc, String name) {
-            this.desc = desc;
+            this.dataSourceDefinitionDescriptor = desc;
             this.name = name;
         }
 
+        @Override
         public String getDatasourceClassname() {
-            if(!getResType().equals(ConnectorConstants.JAVA_SQL_DRIVER)){
-                return desc.getClassName();
+            if (!getResType().equals(JAVA_SQL_DRIVER)) {
+                return dataSourceDefinitionDescriptor.getClassName();
             }
+
             return null;
         }
 
+        @Override
         public void setDatasourceClassname(String value) throws PropertyVetoException {
-            //do nothing
+            // do nothing
         }
 
+        @Override
         public String getResType() {
-            String type = ConnectorConstants.JAVAX_SQL_DATASOURCE;
+            String type = JAVAX_SQL_DATASOURCE;
             try {
-                Class clz = Thread.currentThread().getContextClassLoader().loadClass(desc.getClassName());
-                 if (javax.sql.XADataSource.class.isAssignableFrom(clz)) {
-                    type = ConnectorConstants.JAVAX_SQL_XA_DATASOURCE;
-                } else if (javax.sql.ConnectionPoolDataSource.class.isAssignableFrom(clz)) {
-                    type = ConnectorConstants.JAVAX_SQL_CONNECTION_POOL_DATASOURCE;
-                } else if (javax.sql.DataSource.class.isAssignableFrom(clz)){
-                    type = ConnectorConstants.JAVAX_SQL_DATASOURCE;
-                } else if(java.sql.Driver.class.isAssignableFrom(clz)){
-                     type = ConnectorConstants.JAVA_SQL_DRIVER;
-                 }
-            } catch (ClassNotFoundException e) {
-                if(_logger.isLoggable(Level.FINEST)) {
-                    _logger.log(Level.FINEST, "Unable to load class [ " + desc.getClassName() + " ] to " +
-                        "determine its res-type, defaulting to ["+ConnectorConstants.JAVAX_SQL_DATASOURCE+"]");
+                Class<?> dataSoureClass =
+                    Thread.currentThread().getContextClassLoader().loadClass(dataSourceDefinitionDescriptor.getClassName());
+
+                if (XADataSource.class.isAssignableFrom(dataSoureClass)) {
+                    type = JAVAX_SQL_XA_DATASOURCE;
+                } else if (ConnectionPoolDataSource.class.isAssignableFrom(dataSoureClass)) {
+                    type = JAVAX_SQL_CONNECTION_POOL_DATASOURCE;
+                } else if (DataSource.class.isAssignableFrom(dataSoureClass)) {
+                    type = JAVAX_SQL_DATASOURCE;
+                } else if (Driver.class.isAssignableFrom(dataSoureClass)) {
+                    type = JAVA_SQL_DRIVER;
                 }
-                // ignore and default to "javax.sql.DataSource"
+            } catch (ClassNotFoundException e) {
+                    _logger.log(FINEST, () ->
+                        "Unable to load class [ " + dataSourceDefinitionDescriptor.getClassName() + " ] to " +
+                        "determine its res-type, defaulting to [" + JAVAX_SQL_DATASOURCE + "]");
+
+                    // ignore and default to "javax.sql.DataSource"
             }
+
             return type;
         }
 
+        @Override
         public void setResType(String value) throws PropertyVetoException {
-            //do nothing
+            // do nothing
         }
 
         @Override
         public String getObjectType() {
-            return null;  //To change body of implemented methods use File | Settings | File Templates.
+            return null; // To change body of implemented methods use File | Settings | File Templates.
         }
 
         @Override
         public void setObjectType(String value) throws PropertyVetoException {
-            //To change body of implemented methods use File | Settings | File Templates.
+            // To change body of implemented methods use File | Settings | File Templates.
         }
 
+        @Override
         public String getIdentity() {
             return name;
         }
 
+        @Override
         public String getSteadyPoolSize() {
-            int minPoolSize = desc.getMinPoolSize();
+            int minPoolSize = dataSourceDefinitionDescriptor.getMinPoolSize();
             if (minPoolSize == -1) {
                 minPoolSize = 8;
             }
+
             return String.valueOf(minPoolSize);
         }
 
+        @Override
         public void setSteadyPoolSize(String value) throws PropertyVetoException {
-            //do nothing
+            // do nothing
         }
 
+        @Override
         public String getMaxPoolSize() {
-            int maxPoolSize = desc.getMaxPoolSize();
+            int maxPoolSize = dataSourceDefinitionDescriptor.getMaxPoolSize();
             if (maxPoolSize == -1) {
                 maxPoolSize = 32;
             }
+
             return String.valueOf(maxPoolSize);
         }
 
+        @Override
         public void setMaxPoolSize(String value) throws PropertyVetoException {
-            //do nothing
+            // do nothing
         }
 
+        @Override
         public String getMaxWaitTimeInMillis() {
             return String.valueOf(60000);
         }
 
+        @Override
         public void setMaxWaitTimeInMillis(String value) throws PropertyVetoException {
-            //do nothing
+            // do nothing
         }
 
+        @Override
         public String getPoolResizeQuantity() {
             return String.valueOf(2);
         }
 
+        @Override
         public void setPoolResizeQuantity(String value) throws PropertyVetoException {
-            //do nothing
+            // do nothing
         }
 
+        @Override
         public String getIdleTimeoutInSeconds() {
-            long maxIdleTime = desc.getMaxIdleTime();
+            long maxIdleTime = dataSourceDefinitionDescriptor.getMaxIdleTime();
             if (maxIdleTime == -1) {
                 maxIdleTime = 300;
             }
+
             return String.valueOf(maxIdleTime);
         }
 
+        @Override
         public void setIdleTimeoutInSeconds(String value) throws PropertyVetoException {
-            //do nothing
+            // do nothing
         }
 
+        @Override
         public String getTransactionIsolationLevel() {
-            if (desc.getIsolationLevel() == -1) {
+            if (dataSourceDefinitionDescriptor.getIsolationLevel() == -1) {
                 return null;
-            } else {
-                return ConnectorsUtil.getTransactionIsolationInt(desc.getIsolationLevel());
             }
+
+            return getTransactionIsolationInt(dataSourceDefinitionDescriptor.getIsolationLevel());
+
         }
 
+        @Override
         public void setTransactionIsolationLevel(String value) throws PropertyVetoException {
-            //do nothing
+            // do nothing
         }
 
+        @Override
         public String getIsIsolationLevelGuaranteed() {
             return String.valueOf("true");
         }
 
+        @Override
         public void setIsIsolationLevelGuaranteed(String value) throws PropertyVetoException {
-            //do nothing
+            // do nothing
         }
 
+        @Override
         public String getIsConnectionValidationRequired() {
             return String.valueOf("false");
         }
 
+        @Override
         public void setIsConnectionValidationRequired(String value) throws PropertyVetoException {
-            //do nothing
+            // do nothing
         }
 
+        @Override
         public String getConnectionValidationMethod() {
             return null;
         }
 
+        @Override
         public void setConnectionValidationMethod(String value) throws PropertyVetoException {
-            //do nothing
+            // do nothing
         }
 
+        @Override
         public String getValidationTableName() {
             return null;
         }
 
+        @Override
         public void setValidationTableName(String value) throws PropertyVetoException {
-            //do nothing
+            // do nothing
         }
 
+        @Override
         public String getValidationClassname() {
             return null;
         }
 
+        @Override
         public void setValidationClassname(String value) throws PropertyVetoException {
-            //do nothing
+            // do nothing
         }
 
+        @Override
         public String getFailAllConnections() {
             return String.valueOf("false");
         }
 
+        @Override
         public void setFailAllConnections(String value) throws PropertyVetoException {
-            //do nothing
+            // do nothing
         }
 
+        @Override
         public String getNonTransactionalConnections() {
-            return String.valueOf(!desc.isTransactional());
+            return String.valueOf(!dataSourceDefinitionDescriptor.isTransactional());
         }
 
+        @Override
         public void setNonTransactionalConnections(String value) throws PropertyVetoException {
-            //do nothing
+            // do nothing
         }
 
+        @Override
         public String getAllowNonComponentCallers() {
             return String.valueOf("false");
         }
 
+        @Override
         public void setAllowNonComponentCallers(String value) throws PropertyVetoException {
-            //do nothing
+            // do nothing
         }
 
+        @Override
         public String getValidateAtmostOncePeriodInSeconds() {
             return String.valueOf(0);
         }
 
+        @Override
         public void setValidateAtmostOncePeriodInSeconds(String value) throws PropertyVetoException {
-            //do nothing
+            // do nothing
         }
 
+        @Override
         public String getConnectionLeakTimeoutInSeconds() {
             return String.valueOf(0);
         }
 
+        @Override
         public void setConnectionLeakTimeoutInSeconds(String value) throws PropertyVetoException {
-            //do nothing
+            // do nothing
         }
 
+        @Override
         public String getConnectionLeakReclaim() {
             return String.valueOf(false);
         }
 
+        @Override
         public void setConnectionLeakReclaim(String value) throws PropertyVetoException {
-            //do nothing
+            // do nothing
         }
 
+        @Override
         public String getConnectionCreationRetryAttempts() {
             return String.valueOf(0);
         }
 
+        @Override
         public void setConnectionCreationRetryAttempts(String value) throws PropertyVetoException {
-            //do nothing
+            // do nothing
         }
 
+        @Override
         public String getConnectionCreationRetryIntervalInSeconds() {
             return String.valueOf(10);
         }
 
+        @Override
         public void setConnectionCreationRetryIntervalInSeconds(String value) throws PropertyVetoException {
-            //do nothing
+            // do nothing
         }
 
+        @Override
         public String getStatementTimeoutInSeconds() {
             return String.valueOf(-1);
         }
 
+        @Override
         public void setStatementTimeoutInSeconds(String value) throws PropertyVetoException {
-            //do nothing
+            // do nothing
         }
 
+        @Override
         public String getLazyConnectionEnlistment() {
             return String.valueOf(false);
         }
 
+        @Override
         public void setLazyConnectionEnlistment(String value) throws PropertyVetoException {
-            //do nothing
+            // do nothing
         }
 
+        @Override
         public String getLazyConnectionAssociation() {
             return String.valueOf(false);
         }
 
+        @Override
         public void setLazyConnectionAssociation(String value) throws PropertyVetoException {
-            //do nothing
+            // do nothing
         }
 
+        @Override
         public String getAssociateWithThread() {
             return String.valueOf(false);
         }
 
+        @Override
         public void setAssociateWithThread(String value) throws PropertyVetoException {
-            //do nothing
+            // do nothing
         }
 
+        @Override
         public String getPooling() {
             return String.valueOf(true);
         }
 
+        @Override
         public void setPooling(String value) throws PropertyVetoException {
-            //do nothing
+            // do nothing
         }
 
+        @Override
         public String getStatementCacheSize() {
             return String.valueOf(0);
         }
 
+        @Override
         public void setStatementCacheSize(String value) throws PropertyVetoException {
-            //do nothing
+            // do nothing
         }
 
+        @Override
         public String getMatchConnections() {
             return String.valueOf(true);
         }
 
+        @Override
         public void setMatchConnections(String value) throws PropertyVetoException {
-            //do nothing
+            // do nothing
         }
 
+        @Override
         public String getMaxConnectionUsageCount() {
             return String.valueOf(0);
         }
 
+        @Override
         public void setMaxConnectionUsageCount(String value) throws PropertyVetoException {
-            //do nothing
+            // do nothing
         }
 
+        @Override
         public String getWrapJdbcObjects() {
             return String.valueOf(true);
         }
 
+        @Override
         public void setWrapJdbcObjects(String value) throws PropertyVetoException {
-            //do nothing
+            // do nothing
         }
 
+        @Override
         public String getDescription() {
-            return desc.getDescription();
+            return dataSourceDefinitionDescriptor.getDescription();
         }
 
+        @Override
         public void setDescription(String value) throws PropertyVetoException {
-            //do nothing
+            // do nothing
         }
 
+        @Override
         public List<Property> getProperty() {
-            Properties p = desc.getProperties();
+            Properties descriptorProperties = dataSourceDefinitionDescriptor.getProperties();
             List<Property> dataSourceProperties = new ArrayList<Property>();
-            for (Map.Entry entry : p.entrySet()) {
+
+            for (Map.Entry<Object, Object> entry : descriptorProperties.entrySet()) {
                 String key = (String) entry.getKey();
                 String value = (String) entry.getValue();
-                DataSourceProperty dp = convertProperty(key, value);
-                dataSourceProperties.add(dp);
+                dataSourceProperties.add(convertProperty(key, value));
             }
 
-            if (desc.getUser() != null) {
-                DataSourceProperty property = convertProperty(("user"),
-                        String.valueOf(desc.getUser()));
+            if (dataSourceDefinitionDescriptor.getUser() != null) {
+                DataSourceProperty property = convertProperty("user", dataSourceDefinitionDescriptor.getUser());
                 dataSourceProperties.add(property);
             }
 
-            if (desc.getPassword() != null) {
-                DataSourceProperty property = convertProperty(("password"),
-                        String.valueOf(desc.getPassword()));
+            if (dataSourceDefinitionDescriptor.getPassword() != null) {
+                DataSourceProperty property = convertProperty("password", dataSourceDefinitionDescriptor.getPassword());
                 dataSourceProperties.add(property);
             }
 
-            if (desc.getDatabaseName() != null) {
-                DataSourceProperty property = convertProperty(("databaseName"),
-                        String.valueOf(desc.getDatabaseName()));
+            if (dataSourceDefinitionDescriptor.getDatabaseName() != null) {
+                DataSourceProperty property = convertProperty("databaseName", dataSourceDefinitionDescriptor.getDatabaseName());
                 dataSourceProperties.add(property);
             }
 
-            if (desc.getServerName() != null) {
-                DataSourceProperty property = convertProperty(("serverName"),
-                        String.valueOf(desc.getServerName()));
+            if (dataSourceDefinitionDescriptor.getServerName() != null) {
+                DataSourceProperty property = convertProperty("serverName", dataSourceDefinitionDescriptor.getServerName());
                 dataSourceProperties.add(property);
             }
 
-            if (desc.getPortNumber() != -1) {
-                DataSourceProperty property = convertProperty(("portNumber"),
-                        String.valueOf(desc.getPortNumber()));
+            if (dataSourceDefinitionDescriptor.getPortNumber() != -1) {
+                DataSourceProperty property = convertProperty("portNumber", String.valueOf(dataSourceDefinitionDescriptor.getPortNumber()));
                 dataSourceProperties.add(property);
             }
 
-            //process URL only when standard properties are not set
-            if (desc.getUrl() != null && !isStandardPropertiesSet(desc)) {
-                DataSourceProperty property = convertProperty(("url"),
-                        String.valueOf(desc.getUrl()));
+            // Process URL only when standard properties are not set
+            if (dataSourceDefinitionDescriptor.getUrl() != null && !isStandardPropertiesSet(dataSourceDefinitionDescriptor)) {
+                DataSourceProperty property = convertProperty("url", dataSourceDefinitionDescriptor.getUrl());
                 dataSourceProperties.add(property);
             }
 
-            if (desc.getLoginTimeout() != 0) {
-                DataSourceProperty property = convertProperty(("loginTimeout"),
-                        String.valueOf(desc.getLoginTimeout()));
+            if (dataSourceDefinitionDescriptor.getLoginTimeout() != 0) {
+                DataSourceProperty property = convertProperty("loginTimeout", String.valueOf(dataSourceDefinitionDescriptor.getLoginTimeout()));
                 dataSourceProperties.add(property);
             }
 
-            if (desc.getMaxStatements() != -1) {
-                DataSourceProperty property = convertProperty(("maxStatements"),
-                        String.valueOf(desc.getMaxStatements()));
+            if (dataSourceDefinitionDescriptor.getMaxStatements() != -1) {
+                DataSourceProperty property = convertProperty("maxStatements", String.valueOf(dataSourceDefinitionDescriptor.getMaxStatements()));
                 dataSourceProperties.add(property);
             }
 
             return dataSourceProperties;
         }
 
-        private boolean isStandardPropertiesSet(DataSourceDefinitionDescriptor desc){
-            boolean result = false;
-            if(desc.getServerName() != null && desc.getDatabaseName() != null && desc.getPortNumber() != -1 ){
-                result = true;
-            }
-            return result;
+        private boolean isStandardPropertiesSet(DataSourceDefinitionDescriptor dataSourceDefinitionDescriptor) {
+            return
+                dataSourceDefinitionDescriptor.getServerName() != null &&
+                dataSourceDefinitionDescriptor.getDatabaseName() != null &&
+                dataSourceDefinitionDescriptor.getPortNumber() != -1;
         }
 
+        @Override
         public Property getProperty(String name) {
-            String value = (String) desc.getProperties().get(name);
+            String value = (String) dataSourceDefinitionDescriptor.getProperties().get(name);
             return new DataSourceProperty(name, value);
         }
 
+        @Override
         public String getPropertyValue(String name) {
-            return (String) desc.getProperties().get(name);
+            return (String) dataSourceDefinitionDescriptor.getProperties().get(name);
         }
 
+        @Override
         public String getPropertyValue(String name, String defaultValue) {
-            String value = null;
-            value = (String) desc.getProperties().get(name);
+            String value = (String) dataSourceDefinitionDescriptor.getProperties().get(name);
             if (value != null) {
                 return value;
-            } else {
-                return defaultValue;
             }
+
+            return defaultValue;
         }
 
         public void injectedInto(Object o) {
-            //do nothing
+            // do nothing
         }
 
+        @Override
         public String getName() {
             return name;
         }
 
+        @Override
         public void setName(String value) throws PropertyVetoException {
-            //do nothing
+            // do nothing
         }
 
+        @Override
         public String getSqlTraceListeners() {
             return null;
         }
 
+        @Override
         public void setSqlTraceListeners(String value) throws PropertyVetoException {
-            //do nothing
+            // do nothing
         }
 
+        @Override
         public String getPing() {
             return String.valueOf(false);
         }
 
+        @Override
         public void setPing(String value) throws PropertyVetoException {
-            //do nothing
+            // do nothing
         }
 
+        @Override
         public String getInitSql() {
             return null;
         }
 
+        @Override
         public void setInitSql(String value) throws PropertyVetoException {
-            //do nothing
+            // do nothing
         }
 
+        @Override
         public String getDriverClassname() {
-            if(getResType().equals(ConnectorConstants.JAVA_SQL_DRIVER)){
-                return desc.getClassName();
+            if (getResType().equals(JAVA_SQL_DRIVER)) {
+                return dataSourceDefinitionDescriptor.getClassName();
             }
+
             return null;
         }
 
+        @Override
         public void setDriverClassname(String value) throws PropertyVetoException {
-            //do nothing
+            // do nothing
         }
 
+        @Override
         public String getStatementLeakTimeoutInSeconds() {
             return String.valueOf(0);
         }
 
+        @Override
         public void setStatementLeakTimeoutInSeconds(String value) throws PropertyVetoException {
-            //do nothing
+            // do nothing
         }
 
+        @Override
         public String getStatementLeakReclaim() {
             return String.valueOf(false);
         }
 
+        @Override
         public void setStatementLeakReclaim(String value) throws PropertyVetoException {
-            //do nothing
+            // do nothing
         }
 
+        @Override
         public String getStatementCacheType() {
-                return null;
+            return null;
         }
 
+        @Override
         public void setStatementCacheType(String value) throws PropertyVetoException {
-            //do nothing
+            // do nothing
         }
 
+        @Override
         public String getDeploymentOrder() {
             return null;
         }
 
+        @Override
         public void setDeploymentOrder(String value) {
-            //do nothing
+            // do nothing
         }
 
         @Override
diff --git a/appserver/jdbc/jdbc-runtime/src/main/java/org/glassfish/jdbc/deployer/JdbcConnectionPoolDeployer.java b/appserver/jdbc/jdbc-runtime/src/main/java/org/glassfish/jdbc/deployer/JdbcConnectionPoolDeployer.java
index 4d1f2dc..b747346 100644
--- a/appserver/jdbc/jdbc-runtime/src/main/java/org/glassfish/jdbc/deployer/JdbcConnectionPoolDeployer.java
+++ b/appserver/jdbc/jdbc-runtime/src/main/java/org/glassfish/jdbc/deployer/JdbcConnectionPoolDeployer.java
@@ -17,10 +17,56 @@
 
 package org.glassfish.jdbc.deployer;
 
-import com.sun.appserv.connectors.internal.api.ConnectorConstants;
+import static com.sun.appserv.connectors.internal.api.ConnectorConstants.DYNAMIC_RECONFIGURATION_FLAG;
+import static com.sun.appserv.connectors.internal.api.ConnectorConstants.JAVA_SQL_DRIVER;
+import static com.sun.appserv.connectors.internal.api.ConnectorConstants.JDBCXA_RA_NAME;
+import static com.sun.appserv.connectors.internal.api.ConnectorConstants.LOCAL_TRANSACTION_TX_SUPPORT_STRING;
+import static com.sun.appserv.connectors.internal.api.ConnectorConstants.XA_TRANSACTION_TX_SUPPORT_STRING;
+import static com.sun.appserv.connectors.internal.api.ConnectorsUtil.getResourceInfo;
+import static com.sun.enterprise.connectors.util.ConnectionPoolObjectsUtils.setLazyEnlistAndLazyAssocProperties;
+import static java.util.Arrays.asList;
+import static java.util.concurrent.Executors.callable;
+import static java.util.logging.Level.FINE;
+import static java.util.logging.Level.FINEST;
+import static java.util.logging.Level.SEVERE;
+import static java.util.logging.Level.WARNING;
+import static org.glassfish.jdbc.util.JdbcResourcesUtil.getResourcesOfPool;
+
+import java.util.ArrayList;
+import java.util.Collection;
+import java.util.HashMap;
+import java.util.HashSet;
+import java.util.Iterator;
+import java.util.List;
+import java.util.ListIterator;
+import java.util.Locale;
+import java.util.Map;
+import java.util.MissingResourceException;
+import java.util.Set;
+import java.util.concurrent.ExecutorService;
+import java.util.concurrent.Executors;
+import java.util.concurrent.ThreadFactory;
+import java.util.logging.Logger;
+
+import org.glassfish.jdbc.config.JdbcConnectionPool;
+import org.glassfish.jdbc.util.JdbcResourcesUtil;
+import org.glassfish.resourcebase.resources.api.PoolInfo;
+import org.glassfish.resourcebase.resources.api.ResourceConflictException;
+import org.glassfish.resourcebase.resources.api.ResourceDeployer;
+import org.glassfish.resourcebase.resources.api.ResourceDeployerInfo;
+import org.glassfish.resourcebase.resources.api.ResourceInfo;
+import org.jvnet.hk2.annotations.Optional;
+import org.jvnet.hk2.annotations.Service;
+import org.jvnet.hk2.config.types.Property;
+
 import com.sun.appserv.connectors.internal.api.ConnectorRuntimeException;
 import com.sun.appserv.connectors.internal.api.ConnectorsUtil;
-import com.sun.enterprise.config.serverbeans.*;
+import com.sun.appserv.jdbc.DataSource;
+import com.sun.enterprise.config.serverbeans.Application;
+import com.sun.enterprise.config.serverbeans.BindableResource;
+import com.sun.enterprise.config.serverbeans.Domain;
+import com.sun.enterprise.config.serverbeans.Resource;
+import com.sun.enterprise.config.serverbeans.Resources;
 import com.sun.enterprise.connectors.ConnectorConnectionPool;
 import com.sun.enterprise.connectors.ConnectorDescriptorInfo;
 import com.sun.enterprise.connectors.ConnectorRegistry;
@@ -30,27 +76,15 @@
 import com.sun.enterprise.deployment.ConnectionDefDescriptor;
 import com.sun.enterprise.deployment.ConnectorConfigProperty;
 import com.sun.enterprise.deployment.ConnectorDescriptor;
-import com.sun.enterprise.resource.DynamicallyReconfigurableResource;
 import com.sun.enterprise.resource.pool.ResourcePool;
 import com.sun.enterprise.resource.pool.waitqueue.PoolWaitQueue;
 import com.sun.enterprise.util.i18n.StringManager;
 import com.sun.logging.LogDomains;
-import org.glassfish.jdbc.config.JdbcConnectionPool;
-import org.glassfish.jdbc.util.JdbcResourcesUtil;
-import org.glassfish.resourcebase.resources.api.*;
-import org.jvnet.hk2.annotations.Optional;
-import org.jvnet.hk2.annotations.Service;
-import org.jvnet.hk2.config.types.Property;
 
 import jakarta.inject.Inject;
 import jakarta.inject.Singleton;
-import java.util.*;
-import java.util.concurrent.Callable;
-import java.util.concurrent.ExecutorService;
-import java.util.concurrent.Executors;
-import java.util.concurrent.ThreadFactory;
-import java.util.logging.Level;
-import java.util.logging.Logger;
+
+//This class was created to fix the bug # 4650787
 
 /**
  * Handles Jdbc connection pool events in the server instance. When user adds a
@@ -62,77 +96,65 @@
  *
  * @author Tamil Vengan
  */
-
-// This class was created to fix the bug # 4650787
-
 @Service
 @ResourceDeployerInfo(JdbcConnectionPool.class)
 @Singleton
 public class JdbcConnectionPoolDeployer implements ResourceDeployer {
 
+    private static Logger _logger = LogDomains.getLogger(JdbcConnectionPoolDeployer.class, LogDomains.RSR_LOGGER);
+    private static StringManager sm = StringManager.getManager(JdbcConnectionPoolDeployer.class);
+    private static String msg = sm.getString("resource.restart_needed");
+    private static final Locale locale = Locale.getDefault();
+
     @Inject
     private ConnectorRuntime runtime;
 
     @Inject
-    @Optional //we need it only in server mode
+    @Optional // we need it only in server mode
     private Domain domain;
 
-    static private StringManager sm = StringManager.getManager(
-            JdbcConnectionPoolDeployer.class);
-    static private String msg = sm.getString("resource.restart_needed");
-
-    static private Logger _logger = LogDomains.getLogger(JdbcConnectionPoolDeployer.class,LogDomains.RSR_LOGGER);
-
-    private static final Locale locale = Locale.getDefault();
-
-    private ExecutorService execService =
-    Executors.newSingleThreadExecutor(new ThreadFactory() {
-           public Thread newThread(Runnable r) {
-             return new Thread(r);
-           }
+    private ExecutorService execService = Executors.newSingleThreadExecutor(new ThreadFactory() {
+        @Override
+        public Thread newThread(Runnable r) {
+            return new Thread(r);
+        }
     });
 
-    /**
-     * {@inheritDoc}
-     */
+    @Override
     public void deployResource(Object resource, String applicationName, String moduleName) throws Exception {
-        //deployResource is not synchronized as there is only one caller
-        //ResourceProxy which is synchronized
+        // deployResource is not synchronized as there is only one caller
+        // ResourceProxy which is synchronized
 
-        //intentional no-op
-        //From 8.1 PE/SE/EE, JDBC connection pools are no more resources and
-        //they would be available only to server instances that have a resoruce-ref
-        //that maps to a pool. So deploy resource would not be called during
-        //JDBC connection pool creation. The actualDeployResource method
-        //below is invoked by JdbcResourceDeployer when a resource-ref for a
-        //resource that is pointed to this pool is added to a server instance
-        JdbcConnectionPool jcp = (JdbcConnectionPool)resource;
-        PoolInfo poolInfo = new PoolInfo(jcp.getName(), applicationName, moduleName);
-        if(_logger.isLoggable(Level.FINE)){
-            _logger.fine(" JdbcConnectionPoolDeployer - deployResource : " + poolInfo + " calling actualDeploy");
-        }
+        // intentional no-op
+        // From 8.1 PE/SE/EE, JDBC connection pools are no more resources and
+        // they would be available only to server instances that have a resource-ref
+        // that maps to a pool. So deploy resource would not be called during
+        // JDBC connection pool creation. The actualDeployResource method
+        // below is invoked by JdbcResourceDeployer when a resource-ref for a
+        // resource that is pointed to this pool is added to a server instance
+
+        JdbcConnectionPool jdbcConnectionPool = (JdbcConnectionPool) resource;
+        PoolInfo poolInfo = new PoolInfo(jdbcConnectionPool.getName(), applicationName, moduleName);
+        _logger.fine(() -> " JdbcConnectionPoolDeployer - deployResource : " + poolInfo + " calling actualDeploy");
+
         actualDeployResource(resource, poolInfo);
     }
 
-    /**
-     * {@inheritDoc}
-     */
+    @Override
     public void deployResource(Object resource) throws Exception {
-
-        JdbcConnectionPool jcp = (JdbcConnectionPool)resource;
-        PoolInfo poolInfo = ConnectorsUtil.getPoolInfo(jcp);
+        JdbcConnectionPool jdbcConnectionPool = (JdbcConnectionPool) resource;
+        PoolInfo poolInfo = ConnectorsUtil.getPoolInfo(jdbcConnectionPool);
         actualDeployResource(resource, poolInfo);
     }
 
-    /**
-     * {@inheritDoc}
-     */
-    public boolean canDeploy(boolean postApplicationDeployment, Collection<Resource> allResources, Resource resource){
-        if(handles(resource)){
-            if(!postApplicationDeployment){
+    @Override
+    public boolean canDeploy(boolean postApplicationDeployment, Collection<Resource> allResources, Resource resource) {
+        if (handles(resource)) {
+            if (!postApplicationDeployment) {
                 return true;
             }
         }
+
         return false;
     }
 
@@ -143,390 +165,320 @@
      * @throws Exception thrown if fail
      */
     public void actualDeployResource(Object resource, PoolInfo poolInfo) {
-        if(_logger.isLoggable(Level.FINE)){
+        if (_logger.isLoggable(FINE)) {
             _logger.fine(" JdbcConnectionPoolDeployer - actualDeployResource : " + poolInfo);
         }
+
         JdbcConnectionPool adminPool = (JdbcConnectionPool) resource;
         try {
             ConnectorConnectionPool connConnPool = createConnectorConnectionPool(adminPool, poolInfo);
             registerTransparentDynamicReconfigPool(poolInfo, adminPool);
-            //now do internal book keeping
+
+            // Now do internal book keeping
             runtime.createConnectorConnectionPool(connConnPool);
         } catch (Exception e) {
-            Object params[] = new Object[]{poolInfo, e};
-            _logger.log(Level.WARNING, "error.creating.jdbc.pool", params);
+            _logger.log(WARNING, "error.creating.jdbc.pool", new Object[] { poolInfo, e });
         }
     }
 
-    //performance issue related fix : IT 15784
+    // performance issue related fix : IT 15784
     private void registerTransparentDynamicReconfigPool(PoolInfo poolInfo, JdbcConnectionPool resourcePool) {
         ConnectorRegistry registry = ConnectorRegistry.getInstance();
-        if(ConnectorsUtil.isDynamicReconfigurationEnabled(resourcePool)){
+        if (ConnectorsUtil.isDynamicReconfigurationEnabled(resourcePool)) {
             registry.addTransparentDynamicReconfigPool(poolInfo);
-        }else{
+        } else {
             registry.removeTransparentDynamicReconfigPool(poolInfo);
         }
     }
 
-    /**
-     * {@inheritDoc}
-     */
-    public void undeployResource(Object resource, String applicationName, String moduleName) throws Exception{
+    @Override
+    public void undeployResource(Object resource, String applicationName, String moduleName) throws Exception {
         JdbcConnectionPool jdbcConnPool = (JdbcConnectionPool) resource;
         PoolInfo poolInfo = new PoolInfo(jdbcConnPool.getName(), applicationName, moduleName);
-        if(_logger.isLoggable(Level.FINE)) {
-            _logger.fine(" JdbcConnectionPoolDeployer - unDeployResource : " +
-                "calling actualUndeploy of " + poolInfo);
-        }
+
+        _logger.fine(() -> " JdbcConnectionPoolDeployer - unDeployResource : " + "calling actualUndeploy of " + poolInfo);
         actualUndeployResource(poolInfo);
     }
 
-    /**
-     * {@inheritDoc}
-     */
+    @Override
     public synchronized void undeployResource(Object resource) throws Exception {
         JdbcConnectionPool jdbcConnPool = (JdbcConnectionPool) resource;
         PoolInfo poolInfo = ConnectorsUtil.getPoolInfo(jdbcConnPool);
-        if(_logger.isLoggable(Level.FINE)) {
-            _logger.fine(" JdbcConnectionPoolDeployer - unDeployResource : " +
-                "calling actualUndeploy of " + poolInfo);
-        }
+
+        _logger.fine(() -> " JdbcConnectionPoolDeployer - unDeployResource : " + "calling actualUndeploy of " + poolInfo);
         actualUndeployResource(poolInfo);
     }
 
-    /**
-     * {@inheritDoc}
-     */
-    public boolean handles(Object resource){
+    @Override
+    public boolean handles(Object resource) {
         return resource instanceof JdbcConnectionPool;
     }
 
-    /**
-     * @inheritDoc
-     */
+    @Override
     public boolean supportsDynamicReconfiguration() {
         return true;
     }
 
-    /**
-     * @inheritDoc
-     */
+    @Override
     public Class[] getProxyClassesForDynamicReconfiguration() {
-        return new Class[]{com.sun.appserv.jdbc.DataSource.class};
+        return new Class[] { DataSource.class };
     }
 
-
     /**
      * Undeploy the resource from the server's runtime naming context
      *
      * @param poolInfo a resource object
-     * @throws UnsupportedOperationException Currently we are not supporting this method.
+     * @throws UnsupportedOperationException Currently we are not supporting this
+     * method.
      */
-
     private synchronized void actualUndeployResource(PoolInfo poolInfo) throws Exception {
         runtime.deleteConnectorConnectionPool(poolInfo);
-        //performance issue related fix : IT 15784
+
+        // Performance issue related fix : IT 15784
         ConnectorRegistry.getInstance().removeTransparentDynamicReconfigPool(poolInfo);
-        if (_logger.isLoggable(Level.FINEST)) {
-            _logger.finest("Pool Undeployed");
-        }
+        _logger.finest("Pool Undeployed");
     }
 
     /**
-     * Pull out the MCF configuration properties and return them as an array
-     * of ConnectorConfigProperty
+     * Pull out the MCF configuration properties and return them as an array of
+     * ConnectorConfigProperty
      *
-     * @param adminPool   - The JdbcConnectionPool to pull out properties from
-     * @param conConnPool - ConnectorConnectionPool which will be used by Resource Pool
-     * @param connDesc    - The ConnectorDescriptor for this JDBC RA
+     * @param adminPool - The JdbcConnectionPool to pull out properties from
+     * @param connectorConnectionPool - ConnectorConnectionPool which will be used by Resource
+     * Pool
+     * @param connectorDescriptor - The ConnectorDescriptor for this JDBC RA
      * @return ConnectorConfigProperty [] array of MCF Config properties specified
-     *         in this JDBC RA
+     * in this JDBC RA
      */
-    private ConnectorConfigProperty [] getMCFConfigProperties(
-            JdbcConnectionPool adminPool,
-            ConnectorConnectionPool conConnPool, ConnectorDescriptor connDesc) {
-
-        ArrayList propList = new ArrayList();
+    private ConnectorConfigProperty[] getMCFConfigProperties(JdbcConnectionPool adminPool, ConnectorConnectionPool connectorConnectionPool, ConnectorDescriptor connectorDescriptor) {
+        List<ConnectorConfigProperty> configProperties = new ArrayList<>();
 
         if (adminPool.getResType() != null) {
-            if (ConnectorConstants.JAVA_SQL_DRIVER.equals(adminPool.getResType())) {
-                propList.add(new ConnectorConfigProperty("ClassName",
+            if (JAVA_SQL_DRIVER.equals(adminPool.getResType())) {
+                configProperties.add(new ConnectorConfigProperty("ClassName",
                         adminPool.getDriverClassname() == null ? "" : adminPool.getDriverClassname(),
-                        "The driver class name", "java.lang.String"));
+                        "The driver class name",
+                        "java.lang.String"));
             } else {
-                propList.add(new ConnectorConfigProperty("ClassName",
+                configProperties.add(new ConnectorConfigProperty("ClassName",
                         adminPool.getDatasourceClassname() == null ? "" : adminPool.getDatasourceClassname(),
-                        "The datasource class name", "java.lang.String"));
+                        "The datasource class name",
+                        "java.lang.String"));
             }
         } else {
-            //When resType is null, one of these classnames would be specified
+            // When resType is null, one of these classnames would be specified
             if (adminPool.getDriverClassname() != null) {
-                propList.add(new ConnectorConfigProperty("ClassName",
+                configProperties.add(new ConnectorConfigProperty("ClassName",
                         adminPool.getDriverClassname() == null ? "" : adminPool.getDriverClassname(),
-                        "The driver class name", "java.lang.String"));
+                        "The driver class name",
+                        "java.lang.String"));
             } else if (adminPool.getDatasourceClassname() != null) {
-                propList.add(new ConnectorConfigProperty("ClassName",
+                configProperties.add(new ConnectorConfigProperty("ClassName",
                         adminPool.getDatasourceClassname() == null ? "" : adminPool.getDatasourceClassname(),
-                        "The datasource class name", "java.lang.String"));
+                        "The datasource class name",
+                        "java.lang.String"));
             }
         }
-        propList.add(new ConnectorConfigProperty("ConnectionValidationRequired",
-                adminPool.getIsConnectionValidationRequired() + "",
-                "Is connection validation required",
+        configProperties.add(new ConnectorConfigProperty("ConnectionValidationRequired", adminPool.getIsConnectionValidationRequired() + "",
+                "Is connection validation required", "java.lang.String"));
+
+        configProperties.add(new ConnectorConfigProperty("ValidationMethod",
+                adminPool.getConnectionValidationMethod() == null ? "" : adminPool.getConnectionValidationMethod(),
+                "How the connection is validated", "java.lang.String"));
+
+        configProperties.add(new ConnectorConfigProperty("ValidationTableName",
+                adminPool.getValidationTableName() == null ? "" : adminPool.getValidationTableName(), "Validation Table name",
                 "java.lang.String"));
 
-        propList.add(new ConnectorConfigProperty("ValidationMethod",
-                adminPool.getConnectionValidationMethod() == null ? ""
-                : adminPool.getConnectionValidationMethod(),
-                "How the connection is validated",
+        configProperties.add(new ConnectorConfigProperty("ValidationClassName",
+                adminPool.getValidationClassname() == null ? "" : adminPool.getValidationClassname(), "Validation Class name",
                 "java.lang.String"));
 
-        propList.add(new ConnectorConfigProperty("ValidationTableName",
-                adminPool.getValidationTableName() == null
-                ? "" : adminPool.getValidationTableName(),
-                "Validation Table name",
+        configProperties.add(new ConnectorConfigProperty("TransactionIsolation",
+                adminPool.getTransactionIsolationLevel() == null ? "" : adminPool.getTransactionIsolationLevel(),
+                "Transaction Isolatin Level", "java.lang.String"));
+
+        configProperties.add(new ConnectorConfigProperty("GuaranteeIsolationLevel", adminPool.getIsIsolationLevelGuaranteed() + "",
+                "Transaction Isolation Guarantee", "java.lang.String"));
+
+        configProperties.add(new ConnectorConfigProperty("StatementWrapping", adminPool.getWrapJdbcObjects() + "", "Statement Wrapping",
                 "java.lang.String"));
 
-        propList.add(new ConnectorConfigProperty("ValidationClassName",
-                adminPool.getValidationClassname() == null
-                ? "" : adminPool.getValidationClassname(),
-                "Validation Class name",
+        configProperties.add(new ConnectorConfigProperty("StatementTimeout", adminPool.getStatementTimeoutInSeconds() + "", "Statement Timeout",
                 "java.lang.String"));
 
-        propList.add(new ConnectorConfigProperty("TransactionIsolation",
-                adminPool.getTransactionIsolationLevel() == null ? ""
-                : adminPool.getTransactionIsolationLevel(),
-                "Transaction Isolatin Level",
-                "java.lang.String"));
+        PoolInfo poolInfo = connectorConnectionPool.getPoolInfo();
 
-        propList.add(new ConnectorConfigProperty("GuaranteeIsolationLevel",
-                adminPool.getIsIsolationLevelGuaranteed() + "",
-                "Transaction Isolation Guarantee",
-                "java.lang.String"));
+        configProperties.add(new ConnectorConfigProperty("PoolMonitoringSubTreeRoot",
+                ConnectorsUtil.getPoolMonitoringSubTreeRoot(poolInfo, true) + "", "Pool Monitoring Sub Tree Root", "java.lang.String"));
 
-        propList.add(new ConnectorConfigProperty("StatementWrapping",
-                adminPool.getWrapJdbcObjects() + "",
-                "Statement Wrapping",
-                "java.lang.String"));
-
-
-        propList.add(new ConnectorConfigProperty("StatementTimeout",
-                adminPool.getStatementTimeoutInSeconds() + "",
-                "Statement Timeout",
-                "java.lang.String"));
-
-        PoolInfo poolInfo = conConnPool.getPoolInfo();
-
-        propList.add(new ConnectorConfigProperty("PoolMonitoringSubTreeRoot",
-                ConnectorsUtil.getPoolMonitoringSubTreeRoot(poolInfo, true) + "",
-                "Pool Monitoring Sub Tree Root",
-                "java.lang.String"));
-
-        propList.add(new ConnectorConfigProperty("PoolName",
-                poolInfo.getName() + "",
-                "Pool Name",
-                "java.lang.String"));
+        configProperties.add(new ConnectorConfigProperty("PoolName", poolInfo.getName() + "", "Pool Name", "java.lang.String"));
 
         if (poolInfo.getApplicationName() != null) {
-            propList.add(new ConnectorConfigProperty("ApplicationName",
-                    poolInfo.getApplicationName() + "",
-                    "Application Name",
+            configProperties.add(new ConnectorConfigProperty("ApplicationName", poolInfo.getApplicationName() + "", "Application Name",
                     "java.lang.String"));
         }
 
         if (poolInfo.getModuleName() != null) {
-            propList.add(new ConnectorConfigProperty("ModuleName",
-                    poolInfo.getModuleName() + "",
-                    "Module name",
-                    "java.lang.String"));
+            configProperties.add(new ConnectorConfigProperty("ModuleName", poolInfo.getModuleName() + "", "Module name", "java.lang.String"));
         }
 
-        propList.add(new ConnectorConfigProperty("StatementCacheSize",
-                adminPool.getStatementCacheSize() + "",
-                "Statement Cache Size",
+        configProperties.add(new ConnectorConfigProperty("StatementCacheSize", adminPool.getStatementCacheSize() + "", "Statement Cache Size",
                 "java.lang.String"));
 
-        propList.add(new ConnectorConfigProperty("StatementCacheType",
-                adminPool.getStatementCacheType() + "",
-                "Statement Cache Type",
+        configProperties.add(new ConnectorConfigProperty("StatementCacheType", adminPool.getStatementCacheType() + "", "Statement Cache Type",
                 "java.lang.String"));
 
-        propList.add(new ConnectorConfigProperty("InitSql",
-                adminPool.getInitSql() + "",
-                "InitSql",
+        configProperties.add(new ConnectorConfigProperty("InitSql", adminPool.getInitSql() + "", "InitSql", "java.lang.String"));
+
+        configProperties.add(new ConnectorConfigProperty("SqlTraceListeners", adminPool.getSqlTraceListeners() + "", "Sql Trace Listeners",
                 "java.lang.String"));
 
-        propList.add(new ConnectorConfigProperty("SqlTraceListeners",
-                adminPool.getSqlTraceListeners() + "",
-                "Sql Trace Listeners",
+        configProperties.add(new ConnectorConfigProperty("StatementLeakTimeoutInSeconds", adminPool.getStatementLeakTimeoutInSeconds() + "",
+                "Statement Leak Timeout in seconds", "java.lang.String"));
+
+        configProperties.add(new ConnectorConfigProperty("StatementLeakReclaim", adminPool.getStatementLeakReclaim() + "", "Statement Leak Reclaim",
                 "java.lang.String"));
 
-        propList.add(new ConnectorConfigProperty("StatementLeakTimeoutInSeconds",
-                adminPool.getStatementLeakTimeoutInSeconds() + "",
-                "Statement Leak Timeout in seconds",
-                "java.lang.String"));
+        // Dump user defined poperties into the list
+        Set<ConnectionDefDescriptor> connectionDefs = connectorDescriptor.getOutboundResourceAdapter().getConnectionDefs();
 
-        propList.add(new ConnectorConfigProperty("StatementLeakReclaim",
-                adminPool.getStatementLeakReclaim() + "",
-                "Statement Leak Reclaim",
-                "java.lang.String"));
-
-        //dump user defined poperties into the list
-        Set connDefDescSet = connDesc.getOutboundResourceAdapter().
-                getConnectionDefs();
-        //since this a 1.0 RAR, we will have only 1 connDefDesc
-        if (connDefDescSet.size() != 1) {
-            throw new MissingResourceException("Only one connDefDesc present",
-                    null, null);
+        // since this a 1.0 RAR, we will have only 1 connDefDesc
+        if (connectionDefs.size() != 1) {
+            throw new MissingResourceException("Only one connDefDesc present", null, null);
         }
 
-        Iterator iter = connDefDescSet.iterator();
+        Iterator<ConnectionDefDescriptor> iter = connectionDefs.iterator();
 
-        //Now get the set of MCF config properties associated with each
-        //connection-definition . Each element here is an EnviromnentProperty
-        Set mcfConfigProps = null;
+        // Now get the set of MCF config properties associated with each
+        // connection-definition. Each element here is an EnviromnentProperty
+        Set<ConnectorConfigProperty> mcfConfigProps = null;
         while (iter.hasNext()) {
-            mcfConfigProps = ((ConnectionDefDescriptor) iter.next()).getConfigProperties();
+            mcfConfigProps = iter.next().getConfigProperties();
         }
+
         if (mcfConfigProps != null) {
 
-            Map mcfConPropKeys = new HashMap();
-            Iterator mcfConfigPropsIter = mcfConfigProps.iterator();
+            Map<String, String> mcfConPropKeys = new HashMap<>();
+            Iterator<ConnectorConfigProperty> mcfConfigPropsIter = mcfConfigProps.iterator();
             while (mcfConfigPropsIter.hasNext()) {
-                String key = ((ConnectorConfigProperty) mcfConfigPropsIter.next()).getName();
+                String key = mcfConfigPropsIter.next().getName();
                 mcfConPropKeys.put(key.toUpperCase(locale), key);
             }
 
             String driverProperties = "";
-            for (Property rp : adminPool.getProperty()) {
-                if (rp == null) {
+            for (Property adminPoolProperty : adminPool.getProperty()) {
+                if (adminPoolProperty == null) {
                     continue;
                 }
-                String name = rp.getName();
 
-                //The idea here is to convert the Environment Properties coming from
-                //the admin connection pool to standard pool properties thereby
-                //making it easy to compare in the event of a reconfig
+                String name = adminPoolProperty.getName();
+
+                // The idea here is to convert the Environment Properties coming from
+                // the admin connection pool to standard pool properties thereby
+                // making it easy to compare in the event of a reconfig
+
                 if ("MATCHCONNECTIONS".equals(name.toUpperCase(locale))) {
-                    //JDBC - matchConnections if not set is decided by the ConnectionManager
-                    //so default is false
-                    conConnPool.setMatchConnections(toBoolean(rp.getValue(), false));
+                    // JDBC - matchConnections if not set is decided by the ConnectionManager
+                    // so default is false
+                    connectorConnectionPool.setMatchConnections(toBoolean(adminPoolProperty.getValue(), false));
                     logFine("MATCHCONNECTIONS");
 
                 } else if ("ASSOCIATEWITHTHREAD".equals(name.toUpperCase(locale))) {
-                    conConnPool.setAssociateWithThread(toBoolean(rp.getValue(), false));
+                    connectorConnectionPool.setAssociateWithThread(toBoolean(adminPoolProperty.getValue(), false));
                     logFine("ASSOCIATEWITHTHREAD");
 
                 } else if ("LAZYCONNECTIONASSOCIATION".equals(name.toUpperCase(locale))) {
-                    ConnectionPoolObjectsUtils.setLazyEnlistAndLazyAssocProperties(rp.getValue(),
-                            adminPool.getProperty(), conConnPool);
+                    setLazyEnlistAndLazyAssocProperties(adminPoolProperty.getValue(), adminPool.getProperty(), connectorConnectionPool);
                     logFine("LAZYCONNECTIONASSOCIATION");
 
                 } else if ("LAZYCONNECTIONENLISTMENT".equals(name.toUpperCase(Locale.getDefault()))) {
-                    conConnPool.setLazyConnectionEnlist(toBoolean(rp.getValue(), false));
+                    connectorConnectionPool.setLazyConnectionEnlist(toBoolean(adminPoolProperty.getValue(), false));
                     logFine("LAZYCONNECTIONENLISTMENT");
 
                 } else if ("POOLDATASTRUCTURE".equals(name.toUpperCase(Locale.getDefault()))) {
-                    conConnPool.setPoolDataStructureType(rp.getValue());
+                    connectorConnectionPool.setPoolDataStructureType(adminPoolProperty.getValue());
                     logFine("POOLDATASTRUCTURE");
 
-                } else if (ConnectorConstants.DYNAMIC_RECONFIGURATION_FLAG.equals(name.toLowerCase(locale))) {
-                    String value = rp.getValue();
+                } else if (DYNAMIC_RECONFIGURATION_FLAG.equals(name.toLowerCase(locale))) {
+                    String value = adminPoolProperty.getValue();
                     try {
-                        conConnPool.setDynamicReconfigWaitTimeout(Long.parseLong(rp.getValue()) * 1000L);
-                        logFine(ConnectorConstants.DYNAMIC_RECONFIGURATION_FLAG);
+                        connectorConnectionPool.setDynamicReconfigWaitTimeout(Long.parseLong(adminPoolProperty.getValue()) * 1000L);
+                        logFine(DYNAMIC_RECONFIGURATION_FLAG);
                     } catch (NumberFormatException nfe) {
-                        _logger.log(Level.WARNING, "Invalid value for "
-                                + "'" + ConnectorConstants.DYNAMIC_RECONFIGURATION_FLAG + "' : " + value);
+                        _logger.log(WARNING,
+                            "Invalid value for " + "'" + DYNAMIC_RECONFIGURATION_FLAG + "' : " + value);
                     }
                 } else if ("POOLWAITQUEUE".equals(name.toUpperCase(locale))) {
-                    conConnPool.setPoolWaitQueue(rp.getValue());
+                    connectorConnectionPool.setPoolWaitQueue(adminPoolProperty.getValue());
                     logFine("POOLWAITQUEUE");
 
                 } else if ("DATASTRUCTUREPARAMETERS".equals(name.toUpperCase(locale))) {
-                    conConnPool.setDataStructureParameters(rp.getValue());
+                    connectorConnectionPool.setDataStructureParameters(adminPoolProperty.getValue());
                     logFine("DATASTRUCTUREPARAMETERS");
 
-                } else if ("USERNAME".equals(name.toUpperCase(Locale.getDefault()))
-                        || "USER".equals(name.toUpperCase(locale))) {
-
-                    propList.add(new ConnectorConfigProperty("User",
-                            rp.getValue(), "user name", "java.lang.String"));
+                } else if ("USERNAME".equals(name.toUpperCase(Locale.getDefault())) || "USER".equals(name.toUpperCase(locale))) {
+                    configProperties.add(new ConnectorConfigProperty("User", adminPoolProperty.getValue(), "user name", "java.lang.String"));
 
                 } else if ("PASSWORD".equals(name.toUpperCase(locale))) {
-
-                    propList.add(new ConnectorConfigProperty("Password",
-                            rp.getValue(), "Password", "java.lang.String"));
+                    configProperties.add(new ConnectorConfigProperty("Password", adminPoolProperty.getValue(), "Password", "java.lang.String"));
 
                 } else if ("JDBC30DATASOURCE".equals(name.toUpperCase(locale))) {
-
-                    propList.add(new ConnectorConfigProperty("JDBC30DataSource",
-                            rp.getValue(), "JDBC30DataSource", "java.lang.String"));
+                    configProperties.add(new ConnectorConfigProperty("JDBC30DataSource", adminPoolProperty.getValue(), "JDBC30DataSource", "java.lang.String"));
 
                 } else if ("PREFER-VALIDATE-OVER-RECREATE".equals(name.toUpperCase(Locale.getDefault()))) {
-                    String value = rp.getValue();
-                    conConnPool.setPreferValidateOverRecreate(toBoolean(value, false));
+                    String value = adminPoolProperty.getValue();
+                    connectorConnectionPool.setPreferValidateOverRecreate(toBoolean(value, false));
                     logFine("PREFER-VALIDATE-OVER-RECREATE : " + value);
 
                 } else if ("STATEMENT-CACHE-TYPE".equals(name.toUpperCase(Locale.getDefault()))) {
-
                     if (adminPool.getStatementCacheType() != null) {
-                        propList.add(new ConnectorConfigProperty("StatementCacheType", rp.getValue(),
-                            "StatementCacheType", "java.lang.String"));
+                        configProperties.add(
+                                new ConnectorConfigProperty("StatementCacheType", adminPoolProperty.getValue(), "StatementCacheType", "java.lang.String"));
                     }
 
                 } else if ("NUMBER-OF-TOP-QUERIES-TO-REPORT".equals(name.toUpperCase(Locale.getDefault()))) {
-
-                    propList.add(new ConnectorConfigProperty("NumberOfTopQueriesToReport",
-                            rp.getValue(), "NumberOfTopQueriesToReport", "java.lang.String"));
+                    configProperties.add(new ConnectorConfigProperty("NumberOfTopQueriesToReport", adminPoolProperty.getValue(), "NumberOfTopQueriesToReport",
+                            "java.lang.String"));
 
                 } else if ("TIME-TO-KEEP-QUERIES-IN-MINUTES".equals(name.toUpperCase(Locale.getDefault()))) {
-
-                    propList.add(new ConnectorConfigProperty("TimeToKeepQueriesInMinutes",
-                            rp.getValue(), "TimeToKeepQueriesInMinutes", "java.lang.String"));
+                    configProperties.add(new ConnectorConfigProperty("TimeToKeepQueriesInMinutes", adminPoolProperty.getValue(), "TimeToKeepQueriesInMinutes",
+                            "java.lang.String"));
 
                 } else if (mcfConPropKeys.containsKey(name.toUpperCase(Locale.getDefault()))) {
-
-                    propList.add(new ConnectorConfigProperty(
-                            (String) mcfConPropKeys.get(name.toUpperCase(Locale.getDefault())),
-                            rp.getValue() == null ? "" : rp.getValue(),
-                            "Some property",
-                            "java.lang.String"));
+                    configProperties.add(new ConnectorConfigProperty(mcfConPropKeys.get(name.toUpperCase(Locale.getDefault())),
+                            adminPoolProperty.getValue() == null ? "" : adminPoolProperty.getValue(), "Some property", "java.lang.String"));
                 } else {
-                    driverProperties = driverProperties + "set" + escape(name)
-                            + "#" + escape(rp.getValue()) + "##";
+                    driverProperties = driverProperties + "set" + escape(name) + "#" + escape(adminPoolProperty.getValue()) + "##";
                 }
             }
 
             if (!driverProperties.equals("")) {
-                propList.add(new ConnectorConfigProperty("DriverProperties",
-                        driverProperties,
+                configProperties.add(
+                    new ConnectorConfigProperty(
+                        "DriverProperties", driverProperties,
                         "some proprietarty properties",
                         "java.lang.String"));
             }
         }
 
+        configProperties.add(new ConnectorConfigProperty("Delimiter", "#", "delim", "java.lang.String"));
+        configProperties.add(new ConnectorConfigProperty("EscapeCharacter", "\\", "escapeCharacter", "java.lang.String"));
 
-        propList.add(new ConnectorConfigProperty("Delimiter",
-                "#", "delim", "java.lang.String"));
-
-        propList.add(new ConnectorConfigProperty("EscapeCharacter",
-                "\\", "escapeCharacter", "java.lang.String"));
-
-        //create an array of EnvironmentProperties from above list
-        ConnectorConfigProperty[] eProps = new ConnectorConfigProperty[propList.size()];
-        ListIterator propListIter = propList.listIterator();
+        // Create an array of EnvironmentProperties from above list
+        ConnectorConfigProperty[] environmentProperties = new ConnectorConfigProperty[configProperties.size()];
+        ListIterator<ConnectorConfigProperty> propListIter = configProperties.listIterator();
 
         for (int i = 0; propListIter.hasNext(); i++) {
-            eProps[i] = (ConnectorConfigProperty) propListIter.next();
+            environmentProperties[i] = propListIter.next();
         }
 
-        return eProps;
-
+        return environmentProperties;
     }
 
     /**
-     * To escape the "delimiter" characters that are internally used by Connector & JDBCRA.
+     * To escape the "delimiter" characters that are internally used by Connector &
+     * JDBCRA.
      *
      * @param value String that need to be escaped
      * @return Escaped value
@@ -542,222 +494,182 @@
         return value;
     }
 
-
-    private boolean toBoolean(Object prop, boolean defaultVal) {
-        if (prop == null) {
-            return defaultVal;
+    private boolean toBoolean(Object property, boolean defaultValue) {
+        if (property == null) {
+            return defaultValue;
         }
-        return Boolean.valueOf(((String) prop).toLowerCase(locale));
+        return Boolean.valueOf(((String) property).toLowerCase(locale));
     }
 
     /**
      * Use this method if the string being passed does not <br>
      * involve multiple concatenations<br>
-     * Avoid using this method in exception-catch blocks as they
-     * are not frequently executed <br>
+     * Avoid using this method in exception-catch blocks as they are not frequently
+     * executed <br>
      *
      * @param msg
      */
     private void logFine(String msg) {
-        if (_logger.isLoggable(Level.FINE) && msg != null) {
+        if (_logger.isLoggable(FINE) && msg != null) {
             _logger.fine(msg);
         }
     }
 
-    public ConnectorConnectionPool createConnectorConnectionPool(JdbcConnectionPool adminPool, PoolInfo poolInfo)
-            throws ConnectorRuntimeException {
-
+    public ConnectorConnectionPool createConnectorConnectionPool(JdbcConnectionPool adminPool, PoolInfo poolInfo) throws ConnectorRuntimeException {
         String moduleName = JdbcResourcesUtil.createInstance().getRANameofJdbcConnectionPool(adminPool);
         int txSupport = getTxSupport(moduleName);
 
-        ConnectorDescriptor connDesc = runtime.getConnectorDescriptor(moduleName);
+        ConnectorDescriptor connectorDescriptor = runtime.getConnectorDescriptor(moduleName);
 
-        //Create the connector Connection Pool object from the configbean object
-        ConnectorConnectionPool conConnPool = new ConnectorConnectionPool(poolInfo);
+        // Create the connector Connection Pool object from the configbean object
+        ConnectorConnectionPool connectorConnectionPool = new ConnectorConnectionPool(poolInfo);
 
-        conConnPool.setTransactionSupport(txSupport);
-        setConnectorConnectionPoolAttributes(conConnPool, adminPool);
+        connectorConnectionPool.setTransactionSupport(txSupport);
+        setConnectorConnectionPoolAttributes(connectorConnectionPool, adminPool);
 
-        //Initially create the ConnectorDescriptor
-        ConnectorDescriptorInfo connDescInfo =
-                createConnectorDescriptorInfo(connDesc, moduleName);
+        // Initially create the ConnectorDescriptor
+        ConnectorDescriptorInfo connectorDescriptorInfo = createConnectorDescriptorInfo(connectorDescriptor, moduleName);
 
+        connectorDescriptorInfo.setMCFConfigProperties(getMCFConfigProperties(adminPool, connectorConnectionPool, connectorDescriptor));
 
-        connDescInfo.setMCFConfigProperties(
-                getMCFConfigProperties(adminPool, conConnPool, connDesc));
+        // Since we are deploying a 1.0 RAR, this is null
+        connectorDescriptorInfo.setResourceAdapterConfigProperties((Set) null);
 
-        //since we are deploying a 1.0 RAR, this is null
-        connDescInfo.setResourceAdapterConfigProperties((Set) null);
+        connectorConnectionPool.setConnectorDescriptorInfo(connectorDescriptorInfo);
 
-        conConnPool.setConnectorDescriptorInfo(connDescInfo);
-
-        return conConnPool;
+        return connectorConnectionPool;
     }
 
-
     private int getTxSupport(String moduleName) {
-        if (ConnectorConstants.JDBCXA_RA_NAME.equals(moduleName)) {
-           return ConnectionPoolObjectsUtils.parseTransactionSupportString(
-               ConnectorConstants.XA_TRANSACTION_TX_SUPPORT_STRING );
+        if (JDBCXA_RA_NAME.equals(moduleName)) {
+            return ConnectionPoolObjectsUtils.parseTransactionSupportString(XA_TRANSACTION_TX_SUPPORT_STRING);
         }
-        return ConnectionPoolObjectsUtils.parseTransactionSupportString(
-                ConnectorConstants.LOCAL_TRANSACTION_TX_SUPPORT_STRING);
+
+        return ConnectionPoolObjectsUtils.parseTransactionSupportString(LOCAL_TRANSACTION_TX_SUPPORT_STRING);
     }
 
-    private ConnectorDescriptorInfo createConnectorDescriptorInfo(
-            ConnectorDescriptor connDesc, String moduleName) {
-        ConnectorDescriptorInfo connDescInfo = new ConnectorDescriptorInfo();
+    private ConnectorDescriptorInfo createConnectorDescriptorInfo(ConnectorDescriptor connectorDescriptor, String moduleName) {
+        ConnectorDescriptorInfo connectorDescriptorInfo = new ConnectorDescriptorInfo();
 
-        connDescInfo.setManagedConnectionFactoryClass(
-                connDesc.getOutboundResourceAdapter().
-                        getManagedConnectionFactoryImpl());
+        connectorDescriptorInfo.setManagedConnectionFactoryClass(connectorDescriptor.getOutboundResourceAdapter().getManagedConnectionFactoryImpl());
+        connectorDescriptorInfo.setRarName(moduleName);
+        connectorDescriptorInfo.setResourceAdapterClassName(connectorDescriptor.getResourceAdapterClass());
+        connectorDescriptorInfo.setConnectionDefinitionName(connectorDescriptor.getOutboundResourceAdapter().getConnectionFactoryIntf());
+        connectorDescriptorInfo.setConnectionFactoryClass(connectorDescriptor.getOutboundResourceAdapter().getConnectionFactoryImpl());
+        connectorDescriptorInfo.setConnectionFactoryInterface(connectorDescriptor.getOutboundResourceAdapter().getConnectionFactoryIntf());
+        connectorDescriptorInfo.setConnectionClass(connectorDescriptor.getOutboundResourceAdapter().getConnectionImpl());
+        connectorDescriptorInfo.setConnectionInterface(connectorDescriptor.getOutboundResourceAdapter().getConnectionIntf());
 
-        connDescInfo.setRarName(moduleName);
-
-        connDescInfo.setResourceAdapterClassName(connDesc.
-                getResourceAdapterClass());
-
-        connDescInfo.setConnectionDefinitionName(
-                connDesc.getOutboundResourceAdapter().getConnectionFactoryIntf());
-
-        connDescInfo.setConnectionFactoryClass(
-                connDesc.getOutboundResourceAdapter().getConnectionFactoryImpl());
-
-        connDescInfo.setConnectionFactoryInterface(
-                connDesc.getOutboundResourceAdapter().getConnectionFactoryIntf());
-
-        connDescInfo.setConnectionClass(
-                connDesc.getOutboundResourceAdapter().getConnectionImpl());
-
-        connDescInfo.setConnectionInterface(
-                connDesc.getOutboundResourceAdapter().getConnectionIntf());
-
-        return connDescInfo;
+        return connectorDescriptorInfo;
     }
 
-    private void setConnectorConnectionPoolAttributes(ConnectorConnectionPool ccp, JdbcConnectionPool adminPool) {
-        String poolName = ccp.getName();
-        ccp.setMaxPoolSize(adminPool.getMaxPoolSize());
-        ccp.setSteadyPoolSize(adminPool.getSteadyPoolSize());
-        ccp.setMaxWaitTimeInMillis(adminPool.getMaxWaitTimeInMillis());
+    private void setConnectorConnectionPoolAttributes(ConnectorConnectionPool connectorConnectionPool, JdbcConnectionPool adminPool) {
+        String poolName = connectorConnectionPool.getName();
 
-        ccp.setPoolResizeQuantity(adminPool.getPoolResizeQuantity());
+        connectorConnectionPool.setMaxPoolSize(adminPool.getMaxPoolSize());
+        connectorConnectionPool.setSteadyPoolSize(adminPool.getSteadyPoolSize());
+        connectorConnectionPool.setMaxWaitTimeInMillis(adminPool.getMaxWaitTimeInMillis());
+        connectorConnectionPool.setPoolResizeQuantity(adminPool.getPoolResizeQuantity());
+        connectorConnectionPool.setIdleTimeoutInSeconds(adminPool.getIdleTimeoutInSeconds());
+        connectorConnectionPool.setFailAllConnections(Boolean.valueOf(adminPool.getFailAllConnections()));
+        connectorConnectionPool.setConnectionValidationRequired(Boolean.valueOf(adminPool.getIsConnectionValidationRequired()));
+        connectorConnectionPool.setNonTransactional(Boolean.valueOf(adminPool.getNonTransactionalConnections()));
+        connectorConnectionPool.setNonComponent(Boolean.valueOf(adminPool.getAllowNonComponentCallers()));
+        connectorConnectionPool.setPingDuringPoolCreation(Boolean.valueOf(adminPool.getPing()));
 
-        ccp.setIdleTimeoutInSeconds(adminPool.getIdleTimeoutInSeconds());
-
-        ccp.setFailAllConnections(Boolean.valueOf(adminPool.getFailAllConnections()));
-
-        ccp.setConnectionValidationRequired(Boolean.valueOf(adminPool.getIsConnectionValidationRequired()));
-
-        ccp.setNonTransactional(Boolean.valueOf(adminPool.getNonTransactionalConnections()));
-        ccp.setNonComponent(Boolean.valueOf(adminPool.getAllowNonComponentCallers()));
-
-        ccp.setPingDuringPoolCreation(Boolean.valueOf(adminPool.getPing()));
-        //These are default properties of all Jdbc pools
-        //So set them here first and then figure out from the parsing routine
-        //if they need to be reset
-        ccp.setMatchConnections(Boolean.valueOf(adminPool.getMatchConnections()));
-        ccp.setAssociateWithThread(Boolean.valueOf(adminPool.getAssociateWithThread()));
-        ccp.setConnectionLeakTracingTimeout(adminPool.getConnectionLeakTimeoutInSeconds());
-        ccp.setConnectionReclaim(Boolean.valueOf(adminPool.getConnectionLeakReclaim()));
+        // These are default properties of all Jdbc pools
+        // So set them here first and then figure out from the parsing routine
+        // if they need to be reset
+        connectorConnectionPool.setMatchConnections(Boolean.valueOf(adminPool.getMatchConnections()));
+        connectorConnectionPool.setAssociateWithThread(Boolean.valueOf(adminPool.getAssociateWithThread()));
+        connectorConnectionPool.setConnectionLeakTracingTimeout(adminPool.getConnectionLeakTimeoutInSeconds());
+        connectorConnectionPool.setConnectionReclaim(Boolean.valueOf(adminPool.getConnectionLeakReclaim()));
 
         boolean lazyConnectionEnlistment = Boolean.valueOf(adminPool.getLazyConnectionEnlistment());
         boolean lazyConnectionAssociation = Boolean.valueOf(adminPool.getLazyConnectionAssociation());
 
-        //lazy-connection-enlistment need to be ON for lazy-connection-association to work.
+        // lazy-connection-enlistment need to be ON for lazy-connection-association to
+        // work.
         if (lazyConnectionAssociation) {
             if (lazyConnectionEnlistment) {
-                ccp.setLazyConnectionAssoc(true);
-                ccp.setLazyConnectionEnlist(true);
+                connectorConnectionPool.setLazyConnectionAssoc(true);
+                connectorConnectionPool.setLazyConnectionEnlist(true);
             } else {
-                _logger.log(Level.SEVERE, "conn_pool_obj_utils.lazy_enlist-lazy_assoc-invalid-combination",
-                        poolName);
-                String i18nMsg = sm.getString(
-                        "cpou.lazy_enlist-lazy_assoc-invalid-combination", poolName);
-                throw new RuntimeException(i18nMsg);
+                _logger.log(SEVERE, "conn_pool_obj_utils.lazy_enlist-lazy_assoc-invalid-combination", poolName);
+                throw new RuntimeException(sm.getString("cpou.lazy_enlist-lazy_assoc-invalid-combination", poolName));
             }
         } else {
-            ccp.setLazyConnectionAssoc(lazyConnectionAssociation);
-            ccp.setLazyConnectionEnlist(lazyConnectionEnlistment);
+            connectorConnectionPool.setLazyConnectionAssoc(lazyConnectionAssociation);
+            connectorConnectionPool.setLazyConnectionEnlist(lazyConnectionEnlistment);
         }
 
         boolean pooling = Boolean.valueOf(adminPool.getPooling());
 
-        if(!pooling) {
-            //Throw exception if assoc with thread is set to true.
-            if(Boolean.valueOf(adminPool.getAssociateWithThread())) {
-                _logger.log(Level.SEVERE, "conn_pool_obj_utils.pooling_disabled_assocwiththread_invalid_combination",
-                        poolName);
-                String i18nMsg = sm.getString(
-                        "cpou.pooling_disabled_assocwiththread_invalid_combination", poolName);
-                throw new RuntimeException(i18nMsg);
+        if (!pooling) {
+            // Throw exception if assoc with thread is set to true.
+            if (Boolean.valueOf(adminPool.getAssociateWithThread())) {
+                _logger.log(SEVERE, "conn_pool_obj_utils.pooling_disabled_assocwiththread_invalid_combination", poolName);
+                throw new RuntimeException(sm.getString("cpou.pooling_disabled_assocwiththread_invalid_combination", poolName));
             }
 
-            //Below are useful in pooled environment only.
-            //Throw warning for connection validation/validate-atmost-once/
-            //match-connections/max-connection-usage-count/idele-timeout
-            if(Boolean.valueOf(adminPool.getIsConnectionValidationRequired())) {
-                _logger.log(Level.WARNING, "conn_pool_obj_utils.pooling_disabled_conn_validation_invalid_combination",
-                        poolName);
+            // Below are useful in pooled environment only.
+            // Throw warning for connection validation/validate-atmost-once/
+            // match-connections/max-connection-usage-count/idele-timeout
+            if (Boolean.valueOf(adminPool.getIsConnectionValidationRequired())) {
+                _logger.log(WARNING, "conn_pool_obj_utils.pooling_disabled_conn_validation_invalid_combination", poolName);
             }
-            if(Integer.parseInt(adminPool.getValidateAtmostOncePeriodInSeconds()) > 0) {
-                _logger.log(Level.WARNING, "conn_pool_obj_utils.pooling_disabled_validate_atmost_once_invalid_combination",
-                        poolName);
+            if (Integer.parseInt(adminPool.getValidateAtmostOncePeriodInSeconds()) > 0) {
+                _logger.log(WARNING, "conn_pool_obj_utils.pooling_disabled_validate_atmost_once_invalid_combination", poolName);
             }
-            if(Boolean.valueOf(adminPool.getMatchConnections())) {
-                _logger.log(Level.WARNING, "conn_pool_obj_utils.pooling_disabled_match_connections_invalid_combination",
-                        poolName);
+            if (Boolean.valueOf(adminPool.getMatchConnections())) {
+                _logger.log(WARNING, "conn_pool_obj_utils.pooling_disabled_match_connections_invalid_combination", poolName);
             }
-            if(Integer.parseInt(adminPool.getMaxConnectionUsageCount()) > 0) {
-                _logger.log(Level.WARNING, "conn_pool_obj_utils.pooling_disabled_max_conn_usage_invalid_combination",
-                        poolName);
+            if (Integer.parseInt(adminPool.getMaxConnectionUsageCount()) > 0) {
+                _logger.log(WARNING, "conn_pool_obj_utils.pooling_disabled_max_conn_usage_invalid_combination", poolName);
             }
-            if(Integer.parseInt(adminPool.getIdleTimeoutInSeconds()) > 0) {
-                _logger.log(Level.WARNING, "conn_pool_obj_utils.pooling_disabled_idle_timeout_invalid_combination",
-                        poolName);
+            if (Integer.parseInt(adminPool.getIdleTimeoutInSeconds()) > 0) {
+                _logger.log(WARNING, "conn_pool_obj_utils.pooling_disabled_idle_timeout_invalid_combination", poolName);
             }
         }
-        ccp.setPooling(pooling);
-        ccp.setMaxConnectionUsage(adminPool.getMaxConnectionUsageCount());
 
-        ccp.setConCreationRetryAttempts(adminPool.getConnectionCreationRetryAttempts());
-        ccp.setConCreationRetryInterval(
-                adminPool.getConnectionCreationRetryIntervalInSeconds());
+        connectorConnectionPool.setPooling(pooling);
+        connectorConnectionPool.setMaxConnectionUsage(adminPool.getMaxConnectionUsageCount());
 
-        ccp.setValidateAtmostOncePeriod(adminPool.getValidateAtmostOncePeriodInSeconds());
+        connectorConnectionPool.setConCreationRetryAttempts(adminPool.getConnectionCreationRetryAttempts());
+        connectorConnectionPool.setConCreationRetryInterval(adminPool.getConnectionCreationRetryIntervalInSeconds());
+
+        connectorConnectionPool.setValidateAtmostOncePeriod(adminPool.getValidateAtmostOncePeriodInSeconds());
     }
 
     /**
      * {@inheritDoc}
      */
+    @Override
     public synchronized void redeployResource(Object resource) throws Exception {
-
         final JdbcConnectionPool adminPool = (JdbcConnectionPool) resource;
         PoolInfo poolInfo = ConnectorsUtil.getPoolInfo(adminPool);
 
-        //Only if pool has already been deployed in this server-instance
-        //reconfig this pool
+        // Only if pool has already been deployed in this server-instance
+        // reconfig this pool
 
         if (!runtime.isConnectorConnectionPoolDeployed(poolInfo)) {
-            if(_logger.isLoggable(Level.FINE)) {
-                _logger.fine("The JDBC connection pool " + poolInfo
-                    + " is not referred or not yet created in this server "
-                    + "instance and hence pool redeployment is ignored");
-            }
+            _logger.fine(() ->
+                "The JDBC connection pool " + poolInfo + " is not referred or not yet created in this server " +
+                "instance and hence pool redeployment is ignored");
             return;
         }
-        final ConnectorConnectionPool connConnPool = createConnectorConnectionPool(adminPool, poolInfo);
 
-
-        if (connConnPool == null) {
-            throw new ConnectorRuntimeException("Unable to create ConnectorConnectionPool " +
-                    "from JDBC connection pool");
+        final ConnectorConnectionPool connectorConnectionPool = createConnectorConnectionPool(adminPool, poolInfo);
+        if (connectorConnectionPool == null) {
+            throw new ConnectorRuntimeException("Unable to create ConnectorConnectionPool " + "from JDBC connection pool");
         }
 
-        //now do internal book keeping
-        HashSet excludes = new HashSet();
-        //add MCF config props to the set that need to be excluded
-        //in checking for the equality of the props with old pool
+        // Now do internal book keeping
+
+        Set<String> excludes = new HashSet<>();
+
+        // Add MCF config props to the set that need to be excluded
+        // in checking for the equality of the props with old pool
         excludes.add("TransactionIsolation");
         excludes.add("GuaranteeIsolationLevel");
         excludes.add("ValidationTableName");
@@ -771,22 +683,18 @@
         excludes.add("StatementLeakTimeoutInSeconds");
         excludes.add("StatementLeakReclaim");
 
-
         try {
-            if(_logger.isLoggable(Level.FINEST)) {
-                _logger.finest("Calling reconfigure pool");
-            }
-            boolean requirePoolRecreation = runtime.reconfigureConnectorConnectionPool(connConnPool, excludes);
+            _logger.finest("Calling reconfigure pool");
+            boolean requirePoolRecreation = runtime.reconfigureConnectorConnectionPool(connectorConnectionPool, excludes);
             if (requirePoolRecreation) {
                 if (runtime.isServer() || runtime.isEmbedded()) {
-                    handlePoolRecreation(connConnPool);
-                }else{
-                    recreatePool(connConnPool);
+                    handlePoolRecreation(connectorConnectionPool);
+                } else {
+                    recreatePool(connectorConnectionPool);
                 }
             }
         } catch (ConnectorRuntimeException cre) {
-            Object params[] = new Object[]{poolInfo, cre};
-            _logger.log(Level.WARNING, "error.redeploying.jdbc.pool", params);
+            _logger.log(WARNING, "error.redeploying.jdbc.pool", new Object[] { poolInfo, cre });
             throw cre;
         }
     }
@@ -795,29 +703,27 @@
         debug("[DRC] Pool recreation required");
 
         final long reconfigWaitTimeout = connConnPool.getDynamicReconfigWaitTimeout();
-        PoolInfo poolInfo = new PoolInfo(connConnPool.getName(), connConnPool.getApplicationName(),
-                connConnPool.getModuleName());
+        PoolInfo poolInfo = new PoolInfo(connConnPool.getName(), connConnPool.getApplicationName(), connConnPool.getModuleName());
         final ResourcePool oldPool = runtime.getPoolManager().getPool(poolInfo);
 
         if (reconfigWaitTimeout > 0) {
-
             oldPool.blockRequests(reconfigWaitTimeout);
 
             if (oldPool.getPoolWaitQueue().getQueueLength() > 0 || oldPool.getPoolStatus().getNumConnUsed() > 0) {
 
                 Runnable thread = new Runnable() {
+                    @Override
                     public void run() {
                         try {
 
-                            long numSeconds = 5000L ; //poll every 5 seconds
-                            long steps = reconfigWaitTimeout/numSeconds;
-                            if(steps == 0){
+                            long numSeconds = 5000L; // poll every 5 seconds
+                            long steps = reconfigWaitTimeout / numSeconds;
+                            if (steps == 0) {
                                 waitForCompletion(steps, oldPool, reconfigWaitTimeout);
-                            }else{
+                            } else {
                                 for (long i = 0; i < steps; i++) {
                                     waitForCompletion(steps, oldPool, reconfigWaitTimeout);
-                                    if (oldPool.getPoolWaitQueue().getQueueLength() == 0 &&
-                                            oldPool.getPoolStatus().getNumConnUsed() == 0) {
+                                    if (oldPool.getPoolWaitQueue().getQueueLength() == 0 && oldPool.getPoolStatus().getNumConnUsed() == 0) {
                                         debug("wait-queue is empty and num-con-used is 0");
                                         break;
                                     }
@@ -837,81 +743,76 @@
                                 }
                             }
                         } catch (InterruptedException ie) {
-                            if(_logger.isLoggable(Level.FINEST)) {
-                                _logger.log(Level.FINEST,
+                            _logger.log(FINEST,
                                     "Interrupted while waiting for all existing clients to return connections to pool", ie);
-                            }
                         }
 
-                        if(_logger.isLoggable(Level.FINEST)){
-                            _logger.finest("woke-up after giving time for in-use connections to return, " +
-                                "WaitQueue-Length : ["+oldPool.getPoolWaitQueue().getQueueContents()+"], " +
-                                "Num-Conn-Used : ["+oldPool.getPoolStatus().getNumConnUsed()+"]");
-                        }
-                    }
+                        _logger.finest(() ->
+                            "woke-up after giving time for in-use connections to return, " +
+                                "WaitQueue-Length : [" + oldPool.getPoolWaitQueue().getQueueContents() + "], " +
+                                "Num-Conn-Used : [" + oldPool.getPoolStatus().getNumConnUsed() + "]");
+                }
                 };
 
-                Callable c = Executors.callable(thread);
-                ArrayList list = new ArrayList();
-                list.add(c);
-                try{
-                    execService.invokeAll(list);
-                }catch(Exception e){
-                    Object[] params = new Object[]{connConnPool.getName(), e};
-                    _logger.log(Level.WARNING,"exception.redeploying.pool.transparently", params);
+                try {
+                    execService.invokeAll(asList(callable(thread)));
+                } catch (Exception e) {
+                    _logger.log(WARNING, "exception.redeploying.pool.transparently", new Object[] { connConnPool.getName(), e });
                 }
 
-            }else{
+            } else {
                 handlePoolRecreationForExistingProxies(connConnPool);
             }
-        } else if(oldPool.getReconfigWaitTime() > 0){
-            //reconfig is being switched off, invalidate proxies
-            Collection<BindableResource> resources =
-                    JdbcResourcesUtil.getResourcesOfPool(runtime.getResources(oldPool.getPoolInfo()), oldPool.getPoolInfo().getName());
+        } else if (oldPool.getReconfigWaitTime() > 0) {
+            // Reconfig is being switched off, invalidate proxies
+            Collection<BindableResource> resources = getResourcesOfPool(
+                runtime.getResources(oldPool.getPoolInfo()),
+                oldPool.getPoolInfo().getName());
+
             ConnectorRegistry registry = ConnectorRegistry.getInstance();
-            for(BindableResource resource : resources){
-                ResourceInfo resourceInfo = ConnectorsUtil.getResourceInfo(resource);
-                registry.removeResourceFactories(resourceInfo);
+            for (BindableResource resource : resources) {
+                registry.removeResourceFactories(getResourceInfo(resource));
             }
-            //recreate the pool now.
+
+            // Recreate the pool now.
             recreatePool(connConnPool);
-        }else {
+        } else {
             recreatePool(connConnPool);
         }
     }
 
     private void waitForCompletion(long steps, ResourcePool oldPool, long totalWaitTime) throws InterruptedException {
         debug("waiting for in-use connections to return to pool or waiting requests to complete");
-        try{
+
+        try {
             Object poolWaitQueue = oldPool.getPoolWaitQueue();
-            synchronized(poolWaitQueue){
-                long waitTime = totalWaitTime/steps;
-                if(waitTime > 0) {
+            synchronized (poolWaitQueue) {
+                long waitTime = totalWaitTime / steps;
+                if (waitTime > 0) {
                     poolWaitQueue.wait(waitTime);
                 }
             }
-        }catch(InterruptedException ie){
-            //ignore
+        } catch (InterruptedException ie) {
+            // ignore
         }
+
         debug("woke-up to verify in-use / waiting requests list");
     }
 
+    private void handlePoolRecreationForExistingProxies(ConnectorConnectionPool connectorConnectionPool) {
+        recreatePool(connectorConnectionPool);
 
-    private void handlePoolRecreationForExistingProxies(ConnectorConnectionPool connConnPool) {
-
-        recreatePool(connConnPool);
-
-        Collection<BindableResource> resourcesList ;
-        if(!connConnPool.isApplicationScopedResource()){
-            resourcesList = JdbcResourcesUtil.getResourcesOfPool(domain.getResources(), connConnPool.getName());
-        }else{
-            PoolInfo poolInfo = connConnPool.getPoolInfo();
+        Collection<BindableResource> resourcesList;
+        if (!connectorConnectionPool.isApplicationScopedResource()) {
+            resourcesList = getResourcesOfPool(domain.getResources(), connectorConnectionPool.getName());
+        } else {
+            PoolInfo poolInfo = connectorConnectionPool.getPoolInfo();
             Resources resources = ResourcesUtil.createInstance().getResources(poolInfo);
-            resourcesList = JdbcResourcesUtil.getResourcesOfPool(resources, connConnPool.getName());
+            resourcesList = getResourcesOfPool(resources, connectorConnectionPool.getName());
         }
-        for (BindableResource bindableResource : resourcesList) {
 
-            ResourceInfo resourceInfo = ConnectorsUtil.getResourceInfo(bindableResource);
+        for (BindableResource bindableResource : resourcesList) {
+            ResourceInfo resourceInfo = getResourceInfo(bindableResource);
             ConnectorRegistry.getInstance().updateResourceInfoVersion(resourceInfo);
         }
     }
@@ -919,10 +820,9 @@
     private void recreatePool(ConnectorConnectionPool connConnPool) {
         try {
             runtime.recreateConnectorConnectionPool(connConnPool);
-            debug("Pool ["+connConnPool.getName()+"] recreation done");
+            debug("Pool [" + connConnPool.getName() + "] recreation done");
         } catch (ConnectorRuntimeException cre) {
-            Object params[] = new Object[]{connConnPool.getName(), cre};
-            _logger.log(Level.WARNING, "error.redeploying.jdbc.pool", params);
+            _logger.log(WARNING, "error.redeploying.jdbc.pool", new Object[] { connConnPool.getName(), cre });
         }
     }
 
@@ -930,9 +830,11 @@
      * Enable the resource in the server's runtime naming context
      *
      * @param resource a resource object
-     * @exception UnsupportedOperationException Currently we are not supporting this method.
+     * @exception UnsupportedOperationException Currently we are not supporting this
+     * method.
      *
      */
+    @Override
     public synchronized void enableResource(Object resource) throws Exception {
         throw new UnsupportedOperationException(msg);
     }
@@ -941,9 +843,11 @@
      * Disable the resource in the server's runtime naming context
      *
      * @param resource a resource object
-     * @exception UnsupportedOperationException Currently we are not supporting this method.
+     * @exception UnsupportedOperationException Currently we are not supporting this
+     * method.
      *
      */
+    @Override
     public synchronized void disableResource(Object resource) throws Exception {
         throw new UnsupportedOperationException(msg);
     }
@@ -951,15 +855,14 @@
     /**
      * {@inheritDoc}
      */
-    public void validatePreservedResource(Application oldApp, Application newApp, Resource resource,
-                                  Resources allResources)
-    throws ResourceConflictException {
-        //do nothing.
+    @Override
+    public void validatePreservedResource(Application oldApp, Application newApp, Resource resource, Resources allResources) throws ResourceConflictException {
+        // do nothing.
     }
 
-    private void debug(String message){
-        if(_logger.isLoggable(Level.FINEST)) {
-            _logger.finest("[DRC] : "+ message);
+    private void debug(String message) {
+        if (_logger.isLoggable(FINEST)) {
+            _logger.finest("[DRC] : " + message);
         }
     }
 }
diff --git a/appserver/jdbc/jdbc-runtime/src/main/java/org/glassfish/jdbc/deployer/JdbcResourceDeployer.java b/appserver/jdbc/jdbc-runtime/src/main/java/org/glassfish/jdbc/deployer/JdbcResourceDeployer.java
index 7d428b9..211288a 100644
--- a/appserver/jdbc/jdbc-runtime/src/main/java/org/glassfish/jdbc/deployer/JdbcResourceDeployer.java
+++ b/appserver/jdbc/jdbc-runtime/src/main/java/org/glassfish/jdbc/deployer/JdbcResourceDeployer.java
@@ -16,31 +16,39 @@
 
 package org.glassfish.jdbc.deployer;
 
+import static com.sun.appserv.connectors.internal.api.ConnectorsUtil.getPMJndiName;
+import static com.sun.appserv.connectors.internal.api.ConnectorsUtil.getResourceByName;
+import static com.sun.appserv.connectors.internal.api.ConnectorsUtil.getResourceInfo;
+import static com.sun.appserv.connectors.internal.api.ConnectorsUtil.getValidSuffix;
+
+import java.util.Collection;
+import java.util.logging.Logger;
+
+import org.glassfish.jdbc.config.JdbcConnectionPool;
+import org.glassfish.jdbc.config.JdbcResource;
+import org.glassfish.jdbc.util.JdbcResourcesUtil;
+import org.glassfish.resourcebase.resources.api.PoolInfo;
+import org.glassfish.resourcebase.resources.api.ResourceConflictException;
+import org.glassfish.resourcebase.resources.api.ResourceDeployer;
+import org.glassfish.resourcebase.resources.api.ResourceDeployerInfo;
+import org.glassfish.resourcebase.resources.api.ResourceInfo;
+import org.jvnet.hk2.annotations.Service;
+
 import com.sun.appserv.connectors.internal.api.ConnectorsUtil;
 import com.sun.enterprise.config.serverbeans.Application;
 import com.sun.enterprise.config.serverbeans.Resource;
 import com.sun.enterprise.config.serverbeans.Resources;
 import com.sun.enterprise.connectors.ConnectorRegistry;
 import com.sun.enterprise.connectors.ConnectorRuntime;
-import com.sun.enterprise.util.i18n.StringManager;
 import com.sun.logging.LogDomains;
-import org.glassfish.jdbc.config.JdbcConnectionPool;
-import org.glassfish.jdbc.config.JdbcResource;
-import org.glassfish.jdbc.util.JdbcResourcesUtil;
-import org.glassfish.resourcebase.resources.api.*;
-import org.jvnet.hk2.annotations.Service;
 
 import jakarta.inject.Inject;
 import jakarta.inject.Singleton;
-import java.util.Collection;
-import java.util.logging.Level;
-import java.util.logging.Logger;
-
 
 /**
- * Handles Jdbc resource events in the server instance. When user adds a
- * jdbc resource, the admin instance emits resource event. The jdbc
- * resource events are propagated to this object.
+ * Handles Jdbc resource events in the server instance. When user adds a jdbc
+ * resource, the admin instance emits resource event. The jdbc resource events
+ * are propagated to this object.
  * <p/>
  * The methods can potentially be called concurrently, therefore implementation
  * need to be synchronized.
@@ -53,22 +61,16 @@
 @Singleton
 public class JdbcResourceDeployer implements ResourceDeployer {
 
+    private static Logger _logger = LogDomains.getLogger(JdbcResourceDeployer.class, LogDomains.RSR_LOGGER);
+
     @Inject
     private ConnectorRuntime runtime;
 
-    private static final StringManager localStrings =
-            StringManager.getManager(JdbcResourceDeployer.class);
-    // logger for this deployer
-    private static Logger _logger = LogDomains.getLogger(JdbcResourceDeployer.class, LogDomains.RSR_LOGGER);
+    @Override
+    public synchronized void deployResource(Object resource, String applicationName, String moduleName) throws Exception {
 
-    /**
-     * {@inheritDoc}
-     */
-    public synchronized void deployResource(Object resource, String applicationName, String moduleName)
-            throws Exception {
-
-        //deployResource is not synchronized as there is only one caller
-        //ResourceProxy which is synchronized
+        // deployResource is not synchronized as there is only one caller
+        // ResourceProxy which is synchronized
 
         JdbcResource jdbcRes = (JdbcResource) resource;
         String jndiName = jdbcRes.getJndiName();
@@ -77,90 +79,82 @@
         ResourceInfo resourceInfo = new ResourceInfo(jndiName, applicationName, moduleName);
 
         runtime.createConnectorResource(resourceInfo, poolInfo, null);
-        //In-case the resource is explicitly created with a suffix (__nontx or __PM), no need to create one
-        if (ConnectorsUtil.getValidSuffix(jndiName) == null) {
-            ResourceInfo pmResourceInfo = new ResourceInfo(ConnectorsUtil.getPMJndiName(jndiName),
-                    resourceInfo.getApplicationName(), resourceInfo.getModuleName());
+
+        // In-case the resource is explicitly created with a suffix (__nontx or __PM),
+        // no need to create one
+        if (getValidSuffix(jndiName) == null) {
+            ResourceInfo pmResourceInfo =
+                new ResourceInfo(
+                    getPMJndiName(jndiName),
+                    resourceInfo.getApplicationName(),
+                    resourceInfo.getModuleName());
+
             runtime.createConnectorResource(pmResourceInfo, poolInfo, null);
         }
-        if (_logger.isLoggable(Level.FINEST)) {
-            _logger.finest("deployed resource " + jndiName);
-        }
+
+        _logger.finest(() -> "deployed resource " + jndiName);
     }
 
-    /**
-     * {@inheritDoc}
-     */
+    @Override
     public void deployResource(Object resource) throws Exception {
         JdbcResource jdbcRes = (JdbcResource) resource;
         ResourceInfo resourceInfo = ConnectorsUtil.getResourceInfo(jdbcRes);
+
         deployResource(jdbcRes, resourceInfo.getApplicationName(), resourceInfo.getModuleName());
     }
 
-    /**
-     * {@inheritDoc}
-     */
+    @Override
     public boolean canDeploy(boolean postApplicationDeployment, Collection<Resource> allResources, Resource resource) {
         if (handles(resource)) {
             if (!postApplicationDeployment) {
                 return true;
             }
         }
+
         return false;
     }
 
-    /**
-     * {@inheritDoc}
-     */
+    @Override
     public void undeployResource(Object resource, String applicationName, String moduleName) throws Exception {
         JdbcResource jdbcRes = (JdbcResource) resource;
         ResourceInfo resourceInfo = new ResourceInfo(jdbcRes.getJndiName(), applicationName, moduleName);
+
         deleteResource(jdbcRes, resourceInfo);
     }
 
-    /**
-     * {@inheritDoc}
-     */
-    public synchronized void undeployResource(Object resource)
-            throws Exception {
+    @Override
+    public synchronized void undeployResource(Object resource) throws Exception {
         JdbcResource jdbcRes = (JdbcResource) resource;
-        ResourceInfo resourceInfo = ConnectorsUtil.getResourceInfo(jdbcRes);
-        deleteResource(jdbcRes, resourceInfo);
+
+        deleteResource(jdbcRes, getResourceInfo(jdbcRes));
     }
 
     private void deleteResource(JdbcResource jdbcResource, ResourceInfo resourceInfo) throws Exception {
-
         runtime.deleteConnectorResource(resourceInfo);
         ConnectorRegistry.getInstance().removeResourceFactories(resourceInfo);
-        //In-case the resource is explicitly created with a suffix (__nontx or __PM), no need to delete one
-        if (ConnectorsUtil.getValidSuffix(resourceInfo.getName()) == null) {
-            String pmJndiName = ConnectorsUtil.getPMJndiName(resourceInfo.getName());
-            ResourceInfo pmResourceInfo = new ResourceInfo(pmJndiName, resourceInfo.getApplicationName(),
-                    resourceInfo.getModuleName());
+
+        // In-case the resource is explicitly created with a suffix (__nontx or __PM),
+        // no need to delete one
+        if (getValidSuffix(resourceInfo.getName()) == null) {
+            String pmJndiName = getPMJndiName(resourceInfo.getName());
+            ResourceInfo pmResourceInfo = new ResourceInfo(pmJndiName, resourceInfo.getApplicationName(), resourceInfo.getModuleName());
             runtime.deleteConnectorResource(pmResourceInfo);
             ConnectorRegistry.getInstance().removeResourceFactories(pmResourceInfo);
         }
 
-        //Since 8.1 PE/SE/EE - if no more resource-ref to the pool
-        //of this resource in this server instance, remove pool from connector
-        //runtime
+        // Since 8.1 PE/SE/EE - if no more resource-ref to the pool
+        // of this resource in this server instance, remove pool from connector
+        // runtime
         checkAndDeletePool(jdbcResource);
-
     }
 
-    /**
-     * {@inheritDoc}
-     */
-    public synchronized void redeployResource(Object resource)
-            throws Exception {
-
+    @Override
+    public synchronized void redeployResource(Object resource) throws Exception {
         undeployResource(resource);
         deployResource(resource);
     }
 
-    /**
-     * {@inheritDoc}
-     */
+    @Override
     public boolean handles(Object resource) {
         return resource instanceof JdbcResource;
     }
@@ -168,6 +162,7 @@
     /**
      * @inheritDoc
      */
+    @Override
     public Class[] getProxyClassesForDynamicReconfiguration() {
         return new Class[0];
     }
@@ -175,14 +170,15 @@
     /**
      * @inheritDoc
      */
+    @Override
     public boolean supportsDynamicReconfiguration() {
         return false;
     }
 
-
     /**
      * {@inheritDoc}
      */
+    @Override
     public synchronized void enableResource(Object resource) throws Exception {
         deployResource(resource);
     }
@@ -190,55 +186,51 @@
     /**
      * {@inheritDoc}
      */
+    @Override
     public synchronized void disableResource(Object resource) throws Exception {
         undeployResource(resource);
     }
 
     /**
-     * Checks if no more resource-refs to resources exists for the
-     * JDBC connection pool and then deletes the pool
+     * Checks if no more resource-refs to resources exists for the JDBC connection
+     * pool and then deletes the pool
      *
-     * @param cr Jdbc Resource Config bean
+     * @param jdbcResource Jdbc Resource Config bean
      * @throws Exception if unable to access configuration/undeploy resource.
      * @since 8.1 pe/se/ee
      */
-    private void checkAndDeletePool(JdbcResource cr) throws Exception {
-        String poolName = cr.getPoolName();
-        ResourceInfo resourceInfo = ConnectorsUtil.getResourceInfo(cr);
+    private void checkAndDeletePool(JdbcResource jdbcResource) throws Exception {
+        String poolName = jdbcResource.getPoolName();
+        ResourceInfo resourceInfo = ConnectorsUtil.getResourceInfo(jdbcResource);
         PoolInfo poolInfo = new PoolInfo(poolName, resourceInfo.getApplicationName(), resourceInfo.getModuleName());
-        Resources resources = (Resources) cr.getParent();
-        //Its possible that the JdbcResource here is a DataSourceDefinition. Ignore optimization.
+        Resources resources = (Resources) jdbcResource.getParent();
+
+        // Its possible that the JdbcResource here is a DataSourceDefinition. Ignore
+        // optimization.
         if (resources != null) {
             try {
-                boolean poolReferred =
-                    JdbcResourcesUtil.createInstance().isJdbcPoolReferredInServerInstance(poolInfo);
+                boolean poolReferred = JdbcResourcesUtil.createInstance().isJdbcPoolReferredInServerInstance(poolInfo);
                 if (!poolReferred) {
-                    if (_logger.isLoggable(Level.FINE)) {
-                        _logger.fine("Deleting JDBC pool [" + poolName + " ] as there are no more " +
-                                "resource-refs to the pool in this server instance");
-                    }
+                    _logger.fine(() ->
+                        "Deleting JDBC pool [" + poolName + " ] as there are no more " +
+                        "resource-refs to the pool in this server instance");
 
                     JdbcConnectionPool jcp = (JdbcConnectionPool)
-                            ConnectorsUtil.getResourceByName(resources, JdbcConnectionPool.class, poolName);
-                    //Delete/Undeploy Pool
+                        getResourceByName(resources, JdbcConnectionPool.class, poolName);
+
+                    // Delete/Undeploy Pool
                     runtime.getResourceDeployer(jcp).undeployResource(jcp);
                 }
             } catch (Exception ce) {
                 _logger.warning(ce.getMessage());
-                if (_logger.isLoggable(Level.FINE)) {
-                    _logger.fine("Exception while deleting pool [ " + poolName + " ] : " + ce);
-                }
+                _logger.fine(() -> "Exception while deleting pool [ " + poolName + " ] : " + ce);
                 throw ce;
             }
         }
     }
 
-    /**
-     * {@inheritDoc}
-     */
-    public void validatePreservedResource(Application oldApp, Application newApp, Resource resource,
-                                          Resources allResources)
-            throws ResourceConflictException {
-        //do nothing.
+    @Override
+    public void validatePreservedResource(Application oldApp, Application newApp, Resource resource, Resources allResources) throws ResourceConflictException {
+        // do nothing.
     }
 }
diff --git a/appserver/jdbc/jdbc-runtime/src/main/java/org/glassfish/jdbc/pool/monitor/JdbcConnPoolAppProbeProvider.java b/appserver/jdbc/jdbc-runtime/src/main/java/org/glassfish/jdbc/pool/monitor/JdbcConnPoolAppProbeProvider.java
index edaa779..61a210b 100644
--- a/appserver/jdbc/jdbc-runtime/src/main/java/org/glassfish/jdbc/pool/monitor/JdbcConnPoolAppProbeProvider.java
+++ b/appserver/jdbc/jdbc-runtime/src/main/java/org/glassfish/jdbc/pool/monitor/JdbcConnPoolAppProbeProvider.java
@@ -19,42 +19,44 @@
 import org.glassfish.external.probe.provider.annotations.Probe;
 import org.glassfish.external.probe.provider.annotations.ProbeParam;
 import org.glassfish.external.probe.provider.annotations.ProbeProvider;
-import com.sun.enterprise.resource.pool.monitor.*;
+
+import com.sun.enterprise.resource.pool.monitor.ConnectionPoolAppProbeProvider;
+
 /**
  * Probe provider interface for JDBC connection pool related events to provide
- * information related to the various objects on jdbc pool monitoring grouped
- * by applications.
+ * information related to the various objects on jdbc pool monitoring grouped by
+ * applications.
  *
  * @author Shalini M
  */
-@ProbeProvider(moduleProviderName="glassfish", moduleName="jdbc-pool", probeProviderName="applications")
+@ProbeProvider(moduleProviderName = "glassfish", moduleName = "jdbc-pool", probeProviderName = "applications")
 public class JdbcConnPoolAppProbeProvider extends ConnectionPoolAppProbeProvider {
 
     /**
      * Emits probe event/notification that the given jdbc connection pool
-     * <code>poolName</code> for the <code>appName</code> has got a
-     * decrement connections used event.
+     * <code>poolName</code> for the <code>appName</code> has got a decrement
+     * connections used event.
      *
      * @param poolName for which decrement numConnUsed is got
      * @param appName for which decrement numConnUsed is got
      */
-    @Probe(name="decrementConnectionUsedEvent")
-    public void decrementConnectionUsedEvent(
-            @ProbeParam("poolName") String poolName,
-            @ProbeParam("appName") String appName) { }
+    @Override
+    @Probe(name = "decrementConnectionUsedEvent")
+    public void decrementConnectionUsedEvent(@ProbeParam("poolName") String poolName, @ProbeParam("appName") String appName) {
+    }
 
     /**
      * Emits probe event/notification that the given jdbc connection pool
-     * <code>poolName</code> for the <code>appName</code> has got an
-     * increment connections used event.
+     * <code>poolName</code> for the <code>appName</code> has got an increment
+     * connections used event.
      *
      * @param poolName for which increment numConnUsed is got
      * @param appName for which increment numConnUsed is got
      */
-    @Probe(name="connectionUsedEvent")
-    public void connectionUsedEvent(
-            @ProbeParam("poolName") String poolName,
-            @ProbeParam("appName") String appName) { }
+    @Override
+    @Probe(name = "connectionUsedEvent")
+    public void connectionUsedEvent(@ProbeParam("poolName") String poolName, @ProbeParam("appName") String appName) {
+    }
 
     /**
      * Emits probe event/notification that a connection is acquired by application
@@ -64,22 +66,21 @@
      * @param poolName
      * @param appName
      */
-    @Probe(name="connectionAcquiredEvent")
-    public void connectionAcquiredEvent(
-            @ProbeParam("poolName") String poolName,
-            @ProbeParam("appName") String appName) { }
+    @Override
+    @Probe(name = "connectionAcquiredEvent")
+    public void connectionAcquiredEvent(@ProbeParam("poolName") String poolName, @ProbeParam("appName") String appName) {
+    }
 
     /**
      * Emits probe event/notification that a connection is released for the given
-     * jdbc connection pool <code>poolName</code> by the
-     * <code>appName</code>
+     * jdbc connection pool <code>poolName</code> by the <code>appName</code>
      *
      * @param poolName
      * @param appName
      */
-    @Probe(name="connectionReleasedEvent")
-    public void connectionReleasedEvent(@ProbeParam("poolName") String poolName,
-            @ProbeParam("appName") String appName) { }
-
+    @Override
+    @Probe(name = "connectionReleasedEvent")
+    public void connectionReleasedEvent(@ProbeParam("poolName") String poolName, @ProbeParam("appName") String appName) {
+    }
 
 }
diff --git a/appserver/jdbc/jdbc-runtime/src/main/java/org/glassfish/jdbc/pool/monitor/JdbcConnPoolAppStatsProvider.java b/appserver/jdbc/jdbc-runtime/src/main/java/org/glassfish/jdbc/pool/monitor/JdbcConnPoolAppStatsProvider.java
index 0bdf5d2..9c1e89f 100644
--- a/appserver/jdbc/jdbc-runtime/src/main/java/org/glassfish/jdbc/pool/monitor/JdbcConnPoolAppStatsProvider.java
+++ b/appserver/jdbc/jdbc-runtime/src/main/java/org/glassfish/jdbc/pool/monitor/JdbcConnPoolAppStatsProvider.java
@@ -16,13 +16,14 @@
 
 package org.glassfish.jdbc.pool.monitor;
 
+import static org.glassfish.external.statistics.impl.StatisticImpl.UNIT_COUNT;
+
 import org.glassfish.external.probe.provider.annotations.ProbeListener;
 import org.glassfish.external.probe.provider.annotations.ProbeParam;
 import org.glassfish.external.statistics.CountStatistic;
 import org.glassfish.external.statistics.RangeStatistic;
 import org.glassfish.external.statistics.impl.CountStatisticImpl;
 import org.glassfish.external.statistics.impl.RangeStatisticImpl;
-import org.glassfish.external.statistics.impl.StatisticImpl;
 import org.glassfish.gmbal.AMXMetadata;
 import org.glassfish.gmbal.Description;
 import org.glassfish.gmbal.ManagedAttribute;
@@ -37,25 +38,34 @@
  *
  * @author Shalini M
  */
-@AMXMetadata(type="jdbc-connection-pool-app-mon", group="monitoring")
+@AMXMetadata(type = "jdbc-connection-pool-app-mon", group = "monitoring")
 @ManagedObject
 @Description("JDBC Connection pool Application based Statistics")
 public class JdbcConnPoolAppStatsProvider {
 
-    private RangeStatisticImpl numConnUsed = new RangeStatisticImpl(
-            0, 0, 0,
-            "NumConnUsed", StatisticImpl.UNIT_COUNT, "Provides connection usage " +
+    private static final String JDBC_APP_PROBE_LISTENER = "glassfish:jdbc-pool:applications:";
+
+    private RangeStatisticImpl numConnUsed =
+        new RangeStatisticImpl(
+            0, 0, 0, "NumConnUsed", UNIT_COUNT,
+            "Provides connection usage " +
             "statistics. The total number of connections that are currently being " +
             "used, as well as information about the maximum number of connections " +
             "that were used (the high water mark).",
-            System.currentTimeMillis(), System.currentTimeMillis());
-    private CountStatisticImpl numConnAcquired = new CountStatisticImpl(
-            "NumConnAcquired", StatisticImpl.UNIT_COUNT, "Number of logical " +
+            System.currentTimeMillis(),
+            System.currentTimeMillis());
+
+    private CountStatisticImpl numConnAcquired =
+        new CountStatisticImpl("NumConnAcquired", UNIT_COUNT,
+            "Number of logical " +
             "connections acquired from the pool.");
-    private CountStatisticImpl numConnReleased = new CountStatisticImpl(
-            "NumConnReleased", StatisticImpl.UNIT_COUNT, "Number of logical " +
+
+    private CountStatisticImpl numConnReleased =
+        new CountStatisticImpl("NumConnReleased", UNIT_COUNT,
+            "Number of logical " +
             "connections released to the pool.");
-    private static final String JDBC_APP_PROBE_LISTENER = "glassfish:jdbc-pool:applications:";
+
+
     private String appName;
     private String poolName;
 
@@ -73,13 +83,11 @@
     }
 
     @ProbeListener(JDBC_APP_PROBE_LISTENER + "decrementConnectionUsedEvent")
-    public void decrementConnectionUsedEvent(
-            @ProbeParam("poolName") String poolName,
-            @ProbeParam("appName") String appName) {
+    public void decrementConnectionUsedEvent(@ProbeParam("poolName") String poolName, @ProbeParam("appName") String appName) {
         // handle the num conn used decrement event
-        if((poolName != null) && (poolName.equals(this.poolName))) {
+        if ((poolName != null) && (poolName.equals(this.poolName))) {
             if (appName != null && appName.equals(this.appName)) {
-                //Decrement numConnUsed counter
+                // Decrement numConnUsed counter
                 synchronized (numConnUsed) {
                     numConnUsed.setCurrent(numConnUsed.getCurrent() - 1);
                 }
@@ -89,17 +97,16 @@
 
     /**
      * Connection used event
+     *
      * @param poolName
      * @param appName
      */
     @ProbeListener(JDBC_APP_PROBE_LISTENER + "connectionUsedEvent")
-    public void connectionUsedEvent(
-            @ProbeParam("poolName") String poolName,
-            @ProbeParam("appName") String appName) {
+    public void connectionUsedEvent(@ProbeParam("poolName") String poolName, @ProbeParam("appName") String appName) {
         // handle the connection used event
-        if((poolName != null) && (poolName.equals(this.poolName))) {
+        if ((poolName != null) && (poolName.equals(this.poolName))) {
             if (appName != null && appName.equals(this.appName)) {
-                //increment numConnUsed
+                // increment numConnUsed
                 synchronized (numConnUsed) {
                     numConnUsed.setCurrent(numConnUsed.getCurrent() + 1);
                 }
@@ -111,10 +118,8 @@
      * When a connection is acquired increment counter
      */
     @ProbeListener(JDBC_APP_PROBE_LISTENER + "connectionAcquiredEvent")
-    public void connectionAcquiredEvent(
-            @ProbeParam("poolName") String poolName,
-            @ProbeParam("appName") String appName) {
-        if((poolName != null) && (poolName.equals(this.poolName))) {
+    public void connectionAcquiredEvent(@ProbeParam("poolName") String poolName, @ProbeParam("appName") String appName) {
+        if ((poolName != null) && (poolName.equals(this.poolName))) {
             if (appName != null && appName.equals(this.appName)) {
                 numConnAcquired.increment();
             }
@@ -125,27 +130,25 @@
      * When a connection is released increment counter
      */
     @ProbeListener(JDBC_APP_PROBE_LISTENER + "connectionReleasedEvent")
-    public void connectionReleasedEvent(
-            @ProbeParam("poolName") String poolName,
-            @ProbeParam("appName") String appName) {
-        if((poolName != null) && (poolName.equals(this.poolName))) {
+    public void connectionReleasedEvent(@ProbeParam("poolName") String poolName, @ProbeParam("appName") String appName) {
+        if ((poolName != null) && (poolName.equals(this.poolName))) {
             if (appName != null && appName.equals(this.appName)) {
                 numConnReleased.increment();
             }
         }
     }
 
-    @ManagedAttribute(id="numconnused")
+    @ManagedAttribute(id = "numconnused")
     public RangeStatistic getNumConnUsed() {
         return numConnUsed;
     }
 
-    @ManagedAttribute(id="numconnacquired")
+    @ManagedAttribute(id = "numconnacquired")
     public CountStatistic getNumConnAcquired() {
         return numConnAcquired;
     }
 
-    @ManagedAttribute(id="numconnreleased")
+    @ManagedAttribute(id = "numconnreleased")
     public CountStatistic getNumConnReleased() {
         return numConnReleased;
     }
diff --git a/appserver/jdbc/jdbc-runtime/src/main/java/org/glassfish/jdbc/pool/monitor/JdbcConnPoolProbeProvider.java b/appserver/jdbc/jdbc-runtime/src/main/java/org/glassfish/jdbc/pool/monitor/JdbcConnPoolProbeProvider.java
index 42b59df..5dac526 100644
--- a/appserver/jdbc/jdbc-runtime/src/main/java/org/glassfish/jdbc/pool/monitor/JdbcConnPoolProbeProvider.java
+++ b/appserver/jdbc/jdbc-runtime/src/main/java/org/glassfish/jdbc/pool/monitor/JdbcConnPoolProbeProvider.java
@@ -16,17 +16,19 @@
 
 package org.glassfish.jdbc.pool.monitor;
 
-import org.glassfish.external.probe.provider.annotations.ProbeParam;
 import org.glassfish.external.probe.provider.annotations.Probe;
+import org.glassfish.external.probe.provider.annotations.ProbeParam;
 import org.glassfish.external.probe.provider.annotations.ProbeProvider;
-import com.sun.enterprise.resource.pool.monitor.*;
+
+import com.sun.enterprise.resource.pool.monitor.ConnectionPoolProbeProvider;
+
 /**
  * Probe provider interface for JDBC connection pool related events to provide
  * information related to the various objects on jdbc pool monitoring.
  *
  * @author Shalini M
  */
-@ProbeProvider(moduleProviderName="glassfish", moduleName="jdbc", probeProviderName="connection-pool")
+@ProbeProvider(moduleProviderName = "glassfish", moduleName = "jdbc", probeProviderName = "connection-pool")
 public class JdbcConnPoolProbeProvider extends ConnectionPoolProbeProvider {
 
     /**
@@ -36,13 +38,14 @@
      * @param poolName for which connection validation has failed
      * @param increment number of times the validation failed
      */
-    @Probe(name="connectionValidationFailedEvent")
+    @Probe(name = "connectionValidationFailedEvent")
     @Override
     public void connectionValidationFailedEvent(
-            @ProbeParam("poolName") String poolName,
-            @ProbeParam("appName") String appName,
-            @ProbeParam("moduleName") String moduleName,
-            @ProbeParam("increment") int increment){ }
+        @ProbeParam("poolName") String poolName,
+        @ProbeParam("appName") String appName,
+        @ProbeParam("moduleName") String moduleName,
+        @ProbeParam("increment") int increment) {
+    }
 
     /**
      * Emits probe event/notification that a jdbc connection pool with the given
@@ -50,12 +53,13 @@
      *
      * @param poolName that has got a connection timed-out event
      */
-    @Probe(name="connectionTimedOutEvent")
+    @Probe(name = "connectionTimedOutEvent")
     @Override
-    public void connectionTimedOutEvent(@ProbeParam("poolName") String poolName,
-                                        @ProbeParam("appName") String appName,
-                                        @ProbeParam("moduleName") String moduleName
-                                        ) { }
+    public void connectionTimedOutEvent(
+        @ProbeParam("poolName") String poolName,
+        @ProbeParam("appName") String appName,
+        @ProbeParam("moduleName") String moduleName) {
+    }
 
     /**
      * Emits probe event/notification that the pool with the given name
@@ -63,12 +67,13 @@
      *
      * @param poolName
      */
-    @Probe(name="potentialConnLeakEvent")
+    @Probe(name = "potentialConnLeakEvent")
     @Override
-    public void potentialConnLeakEvent(@ProbeParam("poolName") String poolName,
-                                       @ProbeParam("appName") String appName,
-                                       @ProbeParam("moduleName") String moduleName
-                                       ) { }
+    public void potentialConnLeakEvent(
+        @ProbeParam("poolName") String poolName,
+        @ProbeParam("appName") String appName,
+        @ProbeParam("moduleName") String moduleName) {
+    }
 
     /**
      * Emits probe event/notification that the given jdbc connection pool
@@ -77,13 +82,11 @@
      * @param poolName for which decrement numConnFree is got
      * @param steadyPoolSize
      */
-    @Probe(name="decrementNumConnFreeEvent")
+    @Probe(name = "decrementNumConnFreeEvent")
     @Override
-    public void decrementNumConnFreeEvent(
-            @ProbeParam("poolName") String poolName,
-            @ProbeParam("appName") String appName,
-            @ProbeParam("moduleName") String moduleName
-            ) { }
+    public void decrementNumConnFreeEvent(@ProbeParam("poolName") String poolName, @ProbeParam("appName") String appName,
+            @ProbeParam("moduleName") String moduleName) {
+    }
 
     /**
      * Emits probe event/notification that the given jdbc connection pool
@@ -93,14 +96,12 @@
      * @param beingDestroyed if connection is destroyed due to error
      * @param steadyPoolSize
      */
-    @Probe(name="incrementNumConnFreeEvent")
+    @Probe(name = "incrementNumConnFreeEvent")
     @Override
-    public void incrementNumConnFreeEvent(
-            @ProbeParam("poolName") String poolName,
-            @ProbeParam("appName") String appName,
-            @ProbeParam("moduleName") String moduleName,
-            @ProbeParam("beingDestroyed") boolean beingDestroyed,
-            @ProbeParam("steadyPoolSize") int steadyPoolSize) { }
+    public void incrementNumConnFreeEvent(@ProbeParam("poolName") String poolName, @ProbeParam("appName") String appName,
+            @ProbeParam("moduleName") String moduleName, @ProbeParam("beingDestroyed") boolean beingDestroyed,
+            @ProbeParam("steadyPoolSize") int steadyPoolSize) {
+    }
 
     /**
      * Emits probe event/notification that the given jdbc connection pool
@@ -108,13 +109,11 @@
      *
      * @param poolName for which decrement numConnUsed is got
      */
-    @Probe(name="decrementConnectionUsedEvent")
+    @Probe(name = "decrementConnectionUsedEvent")
     @Override
-    public void decrementConnectionUsedEvent(
-            @ProbeParam("poolName") String poolName,
-            @ProbeParam("appName") String appName,
-            @ProbeParam("moduleName") String moduleName
-            ) { }
+    public void decrementConnectionUsedEvent(@ProbeParam("poolName") String poolName, @ProbeParam("appName") String appName,
+            @ProbeParam("moduleName") String moduleName) {
+    }
 
     /**
      * Emits probe event/notification that the given jdbc connection pool
@@ -122,13 +121,11 @@
      *
      * @param poolName for which increment numConnUsed is got
      */
-    @Probe(name="connectionUsedEvent")
+    @Probe(name = "connectionUsedEvent")
     @Override
-    public void connectionUsedEvent(
-            @ProbeParam("poolName") String poolName,
-            @ProbeParam("appName") String appName,
-            @ProbeParam("moduleName") String moduleName
-            ) { }
+    public void connectionUsedEvent(@ProbeParam("poolName") String poolName, @ProbeParam("appName") String appName,
+            @ProbeParam("moduleName") String moduleName) {
+    }
 
     /**
      * Emits probe event/notification that the given jdbc connection pool
@@ -137,13 +134,11 @@
      * @param poolName for which increment numConnFree is got
      * @param count number of connections freed to pool
      */
-    @Probe(name="connectionsFreedEvent")
+    @Probe(name = "connectionsFreedEvent")
     @Override
-    public void connectionsFreedEvent(
-            @ProbeParam("poolName") String poolName,
-            @ProbeParam("appName") String appName,
-            @ProbeParam("moduleName") String moduleName,
-            @ProbeParam("count") int count) { }
+    public void connectionsFreedEvent(@ProbeParam("poolName") String poolName, @ProbeParam("appName") String appName,
+            @ProbeParam("moduleName") String moduleName, @ProbeParam("count") int count) {
+    }
 
     /**
      * Emits probe event/notification that a connection request is served in the
@@ -153,27 +148,23 @@
      * @param poolName
      * @param timeTakenInMillis time taken to serve a connection
      */
-    @Probe(name="connectionRequestServedEvent")
+    @Probe(name = "connectionRequestServedEvent")
     @Override
-    public void connectionRequestServedEvent(
-            @ProbeParam("poolName") String poolName,
-            @ProbeParam("appName") String appName,
-            @ProbeParam("moduleName") String moduleName,
-            @ProbeParam("timeTakenInMillis") long timeTakenInMillis) { }
+    public void connectionRequestServedEvent(@ProbeParam("poolName") String poolName, @ProbeParam("appName") String appName,
+            @ProbeParam("moduleName") String moduleName, @ProbeParam("timeTakenInMillis") long timeTakenInMillis) {
+    }
 
     /**
-     * Emits probe event/notification that a connection is destroyed for the
-     * given jdbc connection pool <code>poolName</code>
+     * Emits probe event/notification that a connection is destroyed for the given
+     * jdbc connection pool <code>poolName</code>
      *
      * @param poolName
      */
-    @Probe(name="connectionDestroyedEvent")
+    @Probe(name = "connectionDestroyedEvent")
     @Override
-    public void connectionDestroyedEvent(
-            @ProbeParam("poolName") String poolName,
-            @ProbeParam("appName") String appName,
-            @ProbeParam("moduleName") String moduleName
-            ) { }
+    public void connectionDestroyedEvent(@ProbeParam("poolName") String poolName, @ProbeParam("appName") String appName,
+            @ProbeParam("moduleName") String moduleName) {
+    }
 
     /**
      * Emits probe event/notification that a connection is acquired by application
@@ -181,13 +172,11 @@
      *
      * @param poolName
      */
-    @Probe(name="connectionAcquiredEvent")
+    @Probe(name = "connectionAcquiredEvent")
     @Override
-    public void connectionAcquiredEvent(
-            @ProbeParam("poolName") String poolName,
-            @ProbeParam("appName") String appName,
-            @ProbeParam("moduleName") String moduleName
-            ) { }
+    public void connectionAcquiredEvent(@ProbeParam("poolName") String poolName, @ProbeParam("appName") String appName,
+            @ProbeParam("moduleName") String moduleName) {
+    }
 
     /**
      * Emits probe event/notification that a connection is released for the given
@@ -195,32 +184,29 @@
      *
      * @param poolName
      */
-    @Probe(name="connectionReleasedEvent")
+    @Probe(name = "connectionReleasedEvent")
     @Override
-    public void connectionReleasedEvent(@ProbeParam("poolName") String poolName,
-                                        @ProbeParam("appName") String appName,
-                                        @ProbeParam("moduleName") String moduleName
-                                        ) { }
+    public void connectionReleasedEvent(@ProbeParam("poolName") String poolName, @ProbeParam("appName") String appName,
+            @ProbeParam("moduleName") String moduleName) {
+    }
 
     /**
-     * Emits probe event/notification that a new connection is created for the
-     * given jdbc connection pool <code>poolName</code>
+     * Emits probe event/notification that a new connection is created for the given
+     * jdbc connection pool <code>poolName</code>
      *
      * @param poolName
      */
-    @Probe(name="connectionCreatedEvent")
+    @Probe(name = "connectionCreatedEvent")
     @Override
-    public void connectionCreatedEvent(@ProbeParam("poolName") String poolName,
-                                       @ProbeParam("appName") String appName,
-                                       @ProbeParam("moduleName") String moduleName
-                                       ) { }
+    public void connectionCreatedEvent(@ProbeParam("poolName") String poolName, @ProbeParam("appName") String appName,
+            @ProbeParam("moduleName") String moduleName) {
+    }
 
-    @Probe(name="toString", hidden=true)
+    @Probe(name = "toString", hidden = true)
     @Override
-    public void toString(@ProbeParam("poolName") String poolName,
-                         @ProbeParam("appName") String appName,
-                         @ProbeParam("moduleName") String moduleName,
-            @ProbeParam("stackTrace") StringBuffer stackTrace) { }
+    public void toString(@ProbeParam("poolName") String poolName, @ProbeParam("appName") String appName,
+            @ProbeParam("moduleName") String moduleName, @ProbeParam("stackTrace") StringBuffer stackTrace) {
+    }
 
     /**
      * Emits probe event/notification that a connection under test matches the
@@ -228,50 +214,45 @@
      *
      * @param poolName
      */
-    @Probe(name="connectionMatchedEvent")
+    @Probe(name = "connectionMatchedEvent")
     @Override
-    public void connectionMatchedEvent(@ProbeParam("poolName") String poolName,
-                                       @ProbeParam("appName") String appName,
-                                       @ProbeParam("moduleName") String moduleName
-                                       ) { }
+    public void connectionMatchedEvent(@ProbeParam("poolName") String poolName, @ProbeParam("appName") String appName,
+            @ProbeParam("moduleName") String moduleName) {
+    }
 
     /**
-     * Emits probe event/notification that a connection under test does not
-     * match the current request for the given jdbc connection pool
-     * <code>poolName</code>
+     * Emits probe event/notification that a connection under test does not match
+     * the current request for the given jdbc connection pool <code>poolName</code>
      *
      * @param poolName
      */
-    @Probe(name="connectionNotMatchedEvent")
+    @Probe(name = "connectionNotMatchedEvent")
     @Override
-    public void connectionNotMatchedEvent(@ProbeParam("poolName") String poolName,
-                                          @ProbeParam("appName") String appName,
-                                          @ProbeParam("moduleName") String moduleName
-                                          ) { }
+    public void connectionNotMatchedEvent(@ProbeParam("poolName") String poolName, @ProbeParam("appName") String appName,
+            @ProbeParam("moduleName") String moduleName) {
+    }
 
     /**
-     * Emits probe event/notification that the wait queue length has increased
-     * for the given jdbc connection pool <code>poolName</code>
+     * Emits probe event/notification that the wait queue length has increased for
+     * the given jdbc connection pool <code>poolName</code>
      *
      * @param poolName
      */
-    @Probe(name="connectionRequestQueuedEvent")
+    @Probe(name = "connectionRequestQueuedEvent")
     @Override
-    public void connectionRequestQueuedEvent(@ProbeParam("poolName") String poolName,
-                                             @ProbeParam("appName") String appName,
-                                             @ProbeParam("moduleName") String moduleName
-                                             ) { }
+    public void connectionRequestQueuedEvent(@ProbeParam("poolName") String poolName, @ProbeParam("appName") String appName,
+            @ProbeParam("moduleName") String moduleName) {
+    }
 
     /**
-     * Emits probe event/notification that the wait queue length has decreased
-     * for the given jdbc connection pool <code>poolName</code>
+     * Emits probe event/notification that the wait queue length has decreased for
+     * the given jdbc connection pool <code>poolName</code>
      *
      * @param poolName
      */
-    @Probe(name="connectionRequestDequeuedEvent")
+    @Probe(name = "connectionRequestDequeuedEvent")
     @Override
-    public void connectionRequestDequeuedEvent(@ProbeParam("poolName") String poolName,
-                                               @ProbeParam("appName") String appName,
-                                               @ProbeParam("moduleName") String moduleName
-                                               ) { }
+    public void connectionRequestDequeuedEvent(@ProbeParam("poolName") String poolName, @ProbeParam("appName") String appName,
+            @ProbeParam("moduleName") String moduleName) {
+    }
 }
diff --git a/appserver/jdbc/jdbc-runtime/src/main/java/org/glassfish/jdbc/pool/monitor/JdbcConnPoolStatsProvider.java b/appserver/jdbc/jdbc-runtime/src/main/java/org/glassfish/jdbc/pool/monitor/JdbcConnPoolStatsProvider.java
index 7785304..7bccdf3 100644
--- a/appserver/jdbc/jdbc-runtime/src/main/java/org/glassfish/jdbc/pool/monitor/JdbcConnPoolStatsProvider.java
+++ b/appserver/jdbc/jdbc-runtime/src/main/java/org/glassfish/jdbc/pool/monitor/JdbcConnPoolStatsProvider.java
@@ -16,9 +16,9 @@
 
 package org.glassfish.jdbc.pool.monitor;
 
-import com.sun.enterprise.connectors.ConnectorRuntime;
-import com.sun.enterprise.resource.pool.PoolLifeCycleListenerRegistry;
-import com.sun.enterprise.resource.pool.PoolStatus;
+import java.util.logging.Level;
+import java.util.logging.Logger;
+
 import org.glassfish.external.probe.provider.annotations.ProbeListener;
 import org.glassfish.external.probe.provider.annotations.ProbeParam;
 import org.glassfish.external.statistics.CountStatistic;
@@ -33,8 +33,9 @@
 import org.glassfish.gmbal.ManagedObject;
 import org.glassfish.resourcebase.resources.api.PoolInfo;
 
-import java.util.logging.Level;
-import java.util.logging.Logger;
+import com.sun.enterprise.connectors.ConnectorRuntime;
+import com.sun.enterprise.resource.pool.PoolLifeCycleListenerRegistry;
+import com.sun.enterprise.resource.pool.PoolStatus;
 
 /**
  * StatsProvider object for Jdbc pool monitoring.
@@ -61,14 +62,17 @@
             "NumConnFailedValidation", StatisticImpl.UNIT_COUNT,
             "The total number of connections in the connection pool that failed " +
             "validation from the start time until the last sample time.");
+
     private CountStatisticImpl numConnTimedOut = new CountStatisticImpl(
             "NumConnTimedOut", StatisticImpl.UNIT_COUNT, "The total number of " +
             "connections in the pool that timed out between the start time and the last sample time.");
+
     private RangeStatisticImpl numConnFree = new RangeStatisticImpl(
             0, 0, 0,
             "NumConnFree", StatisticImpl.UNIT_COUNT, "The total number of free " +
             "connections in the pool as of the last sampling.",
             System.currentTimeMillis(), System.currentTimeMillis());
+
     private RangeStatisticImpl numConnUsed = new RangeStatisticImpl(
             0, 0, 0,
             "NumConnUsed", StatisticImpl.UNIT_COUNT, "Provides connection usage " +
@@ -76,6 +80,7 @@
             "used, as well as information about the maximum number of connections " +
             "that were used (the high water mark).",
             System.currentTimeMillis(), System.currentTimeMillis());
+
     private RangeStatisticImpl connRequestWaitTime = new RangeStatisticImpl(
             0, 0, 0,
             "ConnRequestWaitTime", StatisticImpl.UNIT_MILLISECOND,
@@ -83,12 +88,15 @@
             "current value indicates the wait time of the last request that was " +
             "serviced by the pool.",
             System.currentTimeMillis(), System.currentTimeMillis());
+
     private CountStatisticImpl numConnDestroyed = new CountStatisticImpl(
             "NumConnDestroyed", StatisticImpl.UNIT_COUNT,
             "Number of physical connections that were destroyed since the last reset.");
+
     private CountStatisticImpl numConnAcquired = new CountStatisticImpl(
             "NumConnAcquired", StatisticImpl.UNIT_COUNT, "Number of logical " +
             "connections acquired from the pool.");
+
     private CountStatisticImpl numConnReleased = new CountStatisticImpl(
             "NumConnReleased", StatisticImpl.UNIT_COUNT, "Number of logical " +
             "connections released to the pool.");
@@ -203,22 +211,21 @@
             @ProbeParam("steadyPoolSize") int steadyPoolSize) {
         // handle the num conn free increment event
         PoolInfo poolInfo = new PoolInfo(poolName, appName, moduleName);
-        if(this.poolInfo.equals(poolInfo)) {
-            if(logger.isLoggable(Level.FINEST)) {
-                logger.finest("Increment Num Connections Free event received - poolName = " +
-                             poolName);
+        if (this.poolInfo.equals(poolInfo)) {
+            if (logger.isLoggable(Level.FINEST)) {
+                logger.finest("Increment Num Connections Free event received - poolName = " + poolName);
             }
-            if(beingDestroyed) {
-                //if pruned by resizer thread
-                synchronized(numConnFree) {
-                    synchronized(numConnUsed) {
-                        if(numConnFree.getCurrent() + numConnUsed.getCurrent() < steadyPoolSize) {
+            if (beingDestroyed) {
+                // if pruned by resizer thread
+                synchronized (numConnFree) {
+                    synchronized (numConnUsed) {
+                        if (numConnFree.getCurrent() + numConnUsed.getCurrent() < steadyPoolSize) {
                             numConnFree.setCurrent(numConnFree.getCurrent() + 1);
                         }
                     }
                 }
             } else {
-                synchronized(numConnFree) {
+                synchronized (numConnFree) {
                     numConnFree.setCurrent(numConnFree.getCurrent() + 1);
                 }
             }
@@ -232,20 +239,17 @@
      * @param steadyPoolSize
      */
     @ProbeListener(JDBC_PROBE_LISTENER + "decrementConnectionUsedEvent")
-    public void decrementConnectionUsedEvent(
-            @ProbeParam("poolName") String poolName,
-            @ProbeParam("appName") String appName,
-            @ProbeParam("moduleName") String moduleName
-            ) {
+    public void decrementConnectionUsedEvent(@ProbeParam("poolName") String poolName, @ProbeParam("appName") String appName,
+            @ProbeParam("moduleName") String moduleName) {
+
         // handle the num conn used decrement event
         PoolInfo poolInfo = new PoolInfo(poolName, appName, moduleName);
-        if(this.poolInfo.equals(poolInfo)) {
-            if(logger.isLoggable(Level.FINEST)) {
-                logger.finest("Decrement Num Connections Used event received - poolName = " +
-                             poolName);
+        if (this.poolInfo.equals(poolInfo)) {
+            if (logger.isLoggable(Level.FINEST)) {
+                logger.finest("Decrement Num Connections Used event received - poolName = " + poolName);
             }
-            //Decrement numConnUsed counter
-            synchronized(numConnUsed) {
+            // Decrement numConnUsed counter
+            synchronized (numConnUsed) {
                 numConnUsed.setCurrent(numConnUsed.getCurrent() - 1);
             }
         }
@@ -264,16 +268,14 @@
             @ProbeParam("count") int count) {
         // handle the connections freed event
         PoolInfo poolInfo = new PoolInfo(poolName, appName, moduleName);
-        if(this.poolInfo.equals(poolInfo)) {
-            if(logger.isLoggable(Level.FINEST)) {
-                logger.finest("Connections Freed event received - poolName = " +
-                             poolName);
-                logger.finest("numConnUsed =" + numConnUsed.getCurrent() +
-                    " numConnFree=" + numConnFree.getCurrent() +
-                    " Number of connections freed =" + count);
+        if (this.poolInfo.equals(poolInfo)) {
+            if (logger.isLoggable(Level.FINEST)) {
+                logger.finest("Connections Freed event received - poolName = " + poolName);
+                logger.finest("numConnUsed =" + numConnUsed.getCurrent() + " numConnFree=" + numConnFree.getCurrent()
+                        + " Number of connections freed =" + count);
             }
-            //set numConnFree to the count value
-            synchronized(numConnFree) {
+            // set numConnFree to the count value
+            synchronized (numConnFree) {
                 numConnFree.setCurrent(count);
             }
         }
@@ -284,20 +286,17 @@
      * @param poolName
      */
     @ProbeListener(JDBC_PROBE_LISTENER + "connectionUsedEvent")
-    public void connectionUsedEvent(
-            @ProbeParam("poolName") String poolName,
-            @ProbeParam("appName") String appName,
-            @ProbeParam("moduleName") String moduleName
-            ) {
+    public void connectionUsedEvent(@ProbeParam("poolName") String poolName, @ProbeParam("appName") String appName,
+            @ProbeParam("moduleName") String moduleName) {
+
         // handle the connection used event
         PoolInfo poolInfo = new PoolInfo(poolName, appName, moduleName);
-        if(this.poolInfo.equals(poolInfo)) {
-            if(logger.isLoggable(Level.FINEST)) {
-                logger.finest("Connection Used event received - poolName = " +
-                             poolName);
+        if (this.poolInfo.equals(poolInfo)) {
+            if (logger.isLoggable(Level.FINEST)) {
+                logger.finest("Connection Used event received - poolName = " + poolName);
             }
-            //increment numConnUsed
-            synchronized(numConnUsed) {
+            // increment numConnUsed
+            synchronized (numConnUsed) {
                 numConnUsed.setCurrent(numConnUsed.getCurrent() + 1);
             }
         }
@@ -315,12 +314,12 @@
             @ProbeParam("increment") int increment) {
 
         PoolInfo poolInfo = new PoolInfo(poolName, appName, moduleName);
-        if(this.poolInfo.equals(poolInfo)) {
-            if(logger.isLoggable(Level.FINEST)) {
-                logger.finest("Connection Validation Failed event received - " +
-                    "poolName = " + poolName);
+        if (this.poolInfo.equals(poolInfo)) {
+            if (logger.isLoggable(Level.FINEST)) {
+                logger.finest("Connection Validation Failed event received - " + "poolName = " + poolName);
             }
-            //TODO V3 : add support in CounterImpl for addAndGet(increment)
+
+            // TODO V3 : add support in CounterImpl for addAndGet(increment)
             numConnFailedValidation.increment(increment);
         }
 
@@ -553,58 +552,6 @@
         return poolRegistry;
     }
 
-    /**
-     * When a connection leak is observed, the monitoring statistics are displayed
-     * to the server.log. This method helps in segregating the statistics based
-     * on LOW/HIGH monitoring levels and displaying them.
-     *
-     * @param poolName
-     * @param stackTrace
-     */
-    //TODO V3 need this?
-    /*@ProbeListener("glassfish:connector:jdbc-connection-pool:toString")
-    public void toString(@ProbeParam("poolName") String poolName,
-            @ProbeParam("stackTrace") StringBuffer stackTrace) {
-        logger.finest("toString(poolName) event received. " +
-                "poolName = " + poolName);
-        if((poolName != null) && (poolName.equals(this.jdbcPoolName))) {
-            //If level is not OFF then print the stack trace.
-            if(jdbcPoolStatsProviderBootstrap.getEnabledValue(monitoringLevel)) {
-                if("LOW".equals(monitoringLevel)) {
-                    lowLevelLog(stackTrace);
-                } else if("HIGH".equals(monitoringLevel)) {
-                    highLevelLog(stackTrace);
-                }
-            }
-        }
-    }*/
-
-/*    private void lowLevelLog(StringBuffer stackTrace) {
-        stackTrace.append("\n curNumConnUsed = " + numConnUsed.getCurrent());
-        stackTrace.append("\n curNumConnFree = " + numConnFree.getCurrent());
-        stackTrace.append("\n numConnCreated = " + numConnCreated.getCount());
-        stackTrace.append("\n numConnDestroyed = " + numConnDestroyed.getCount());
-    }
-
-    private void highLevelLog(StringBuffer stackTrace) {
-        lowLevelLog(stackTrace);
-        stackTrace.append("\n numConnFailedValidation = " + numConnFailedValidation.getCount());
-        stackTrace.append("\n numConnTimedOut = " + numConnTimedOut.getCount());
-
-        stackTrace.append("\n numConnAcquired = " + numConnAcquired.getCount());
-        stackTrace.append("\n numConnReleased = " + numConnReleased.getCount());
-
-        //TODO V3 : enabling other counters.
-        stackTrace.append("\n currConnectionRequestWait = " + currConnectionRequestWait);
-        stackTrace.append("\n minConnectionRequestWait = " + minConnectionRequestWait);
-        stackTrace.append("\n maxConnectionRequestWait = " + maxConnectionRequestWait);
-        stackTrace.append("\n totalConnectionRequestWait = " + totalConnectionRequestWait);
-
-        stackTrace.append("\n numConnSuccessfullyMatched = " + this.numConnSuccessfullyMatched);
-        stackTrace.append("\n numConnNotSuccessfullyMatched = " + numConnNotSuccessfullyMatched);
-        stackTrace.append("\n numPotentialConnLeak = " + numPotentialConnLeak.getCount());
-    }
-*/
     @ManagedAttribute(id="numpotentialconnleak")
     public CountStatistic getNumPotentialConnLeakCount() {
         return numPotentialConnLeak;
@@ -667,8 +614,8 @@
 
     @ManagedAttribute(id="averageconnwaittime")
     public CountStatistic getAverageConnWaitTime() {
-       //Time taken by all connection requests divided by total number of
-       //connections acquired in the sampling period.
+       // Time taken by all connection requests divided by total number of
+       // connections acquired in the sampling period.
        long averageWaitTime = 0;
        if (numConnAcquired.getCount() != 0) {
            averageWaitTime = totalConnRequestWaitTime.getCount()/
diff --git a/appserver/jdbc/jdbc-runtime/src/main/java/org/glassfish/jdbc/recovery/JdbcRecoveryResourceHandler.java b/appserver/jdbc/jdbc-runtime/src/main/java/org/glassfish/jdbc/recovery/JdbcRecoveryResourceHandler.java
index c3b7e9a..ae348ce 100644
--- a/appserver/jdbc/jdbc-runtime/src/main/java/org/glassfish/jdbc/recovery/JdbcRecoveryResourceHandler.java
+++ b/appserver/jdbc/jdbc-runtime/src/main/java/org/glassfish/jdbc/recovery/JdbcRecoveryResourceHandler.java
@@ -16,15 +16,20 @@
 
 package org.glassfish.jdbc.recovery;
 
-import com.sun.appserv.connectors.internal.api.ConnectorRuntime;
-import com.sun.appserv.connectors.internal.api.ConnectorsUtil;
-import com.sun.enterprise.config.serverbeans.*;
-import com.sun.enterprise.connectors.util.ResourcesUtil;
-import com.sun.enterprise.deployment.ResourcePrincipal;
-import com.sun.enterprise.transaction.api.XAResourceWrapper;
-import com.sun.enterprise.transaction.config.TransactionService;
-import com.sun.enterprise.transaction.spi.RecoveryResourceHandler;
-import com.sun.logging.LogDomains;
+import java.security.Principal;
+import java.util.ArrayList;
+import java.util.Collection;
+import java.util.List;
+import java.util.Locale;
+import java.util.Properties;
+import java.util.logging.Level;
+import java.util.logging.Logger;
+
+import javax.naming.InitialContext;
+import javax.naming.NamingException;
+import javax.security.auth.Subject;
+import javax.transaction.xa.XAResource;
+
 import org.glassfish.api.admin.ServerEnvironment;
 import org.glassfish.hk2.api.ServiceLocator;
 import org.glassfish.jdbc.config.JdbcConnectionPool;
@@ -34,22 +39,29 @@
 import org.glassfish.resourcebase.resources.api.ResourceInfo;
 import org.jvnet.hk2.annotations.Service;
 import org.jvnet.hk2.config.types.Property;
+
+import com.sun.appserv.connectors.internal.api.ConnectorRuntime;
+import com.sun.appserv.connectors.internal.api.ConnectorsUtil;
+import com.sun.enterprise.config.serverbeans.Application;
+import com.sun.enterprise.config.serverbeans.Applications;
+import com.sun.enterprise.config.serverbeans.Config;
+import com.sun.enterprise.config.serverbeans.Domain;
 import com.sun.enterprise.config.serverbeans.Module;
+import com.sun.enterprise.config.serverbeans.Resource;
+import com.sun.enterprise.config.serverbeans.Resources;
+import com.sun.enterprise.connectors.util.ResourcesUtil;
+import com.sun.enterprise.deployment.ResourcePrincipal;
+import com.sun.enterprise.transaction.api.XAResourceWrapper;
+import com.sun.enterprise.transaction.config.TransactionService;
+import com.sun.enterprise.transaction.spi.RecoveryResourceHandler;
+import com.sun.logging.LogDomains;
 
 import jakarta.inject.Inject;
 import jakarta.inject.Provider;
-import javax.naming.InitialContext;
-import javax.naming.NamingException;
 import jakarta.resource.ResourceException;
 import jakarta.resource.spi.ManagedConnection;
 import jakarta.resource.spi.ManagedConnectionFactory;
 import jakarta.resource.spi.security.PasswordCredential;
-import javax.security.auth.Subject;
-import javax.transaction.xa.XAResource;
-import java.security.Principal;
-import java.util.*;
-import java.util.logging.Level;
-import java.util.logging.Logger;
 
 /**
  * Recovery Handler for Jdbc Resources
@@ -79,7 +91,7 @@
 
     private void loadAllJdbcResources() {
 
-        if(_logger.isLoggable(Level.FINEST)) {
+        if (_logger.isLoggable(Level.FINEST)) {
             _logger.log(Level.FINEST, "loadAllJdbcResources start");
         }
         try {
@@ -87,12 +99,11 @@
             InitialContext ic = new InitialContext();
             for (Resource resource : jdbcResources) {
                 JdbcResource jdbcResource = (JdbcResource) resource;
-                if(getResourcesUtil().isEnabled(jdbcResource)) {
+                if (getResourcesUtil().isEnabled(jdbcResource)) {
                     try {
                         ic.lookup(jdbcResource.getJndiName());
                     } catch (Exception ex) {
-                        _logger.log(Level.SEVERE, "error.loading.jdbc.resources.during.recovery",
-                                jdbcResource.getJndiName());
+                        _logger.log(Level.SEVERE, "error.loading.jdbc.resources.during.recovery", jdbcResource.getJndiName());
                         if (_logger.isLoggable(Level.FINE)) {
                             _logger.log(Level.FINE, ex.toString(), ex);
                         }
@@ -105,7 +116,7 @@
                 _logger.log(Level.FINE, ne.toString(), ne);
             }
         }
-        if(_logger.isLoggable(Level.FINEST)) {
+        if (_logger.isLoggable(Level.FINEST)) {
             _logger.log(Level.FINEST, "loadAllJdbcResources end");
         }
     }
@@ -114,28 +125,28 @@
         Collection<JdbcResource> allResources = new ArrayList<JdbcResource>();
         Collection<JdbcResource> jdbcResources = domain.getResources().getResources(JdbcResource.class);
         allResources.addAll(jdbcResources);
-         for(Application app : applications.getApplications()){
-             if(ResourcesUtil.createInstance().isEnabled(app)){
-                 Resources appScopedResources = app.getResources();
-                 if(appScopedResources != null && appScopedResources.getResources() != null){
-                     allResources.addAll(appScopedResources.getResources(JdbcResource.class));
-                 }
-                 List<Module> modules = app.getModule();
-                 if(modules != null){
-                     for(Module module : modules){
-                         Resources msr = module.getResources();
-                         if(msr != null && msr.getResources() != null){
-                             allResources.addAll(msr.getResources(JdbcResource.class));
-                         }
-                     }
-                 }
-             }
-         }
+        for (Application app : applications.getApplications()) {
+            if (ResourcesUtil.createInstance().isEnabled(app)) {
+                Resources appScopedResources = app.getResources();
+                if (appScopedResources != null && appScopedResources.getResources() != null) {
+                    allResources.addAll(appScopedResources.getResources(JdbcResource.class));
+                }
+                List<Module> modules = app.getModule();
+                if (modules != null) {
+                    for (Module module : modules) {
+                        Resources msr = module.getResources();
+                        if (msr != null && msr.getResources() != null) {
+                            allResources.addAll(msr.getResources(JdbcResource.class));
+                        }
+                    }
+                }
+            }
+        }
         return allResources;
     }
 
-    private ResourcesUtil getResourcesUtil(){
-        if(resourcesUtil == null){
+    private ResourcesUtil getResourcesUtil() {
+        if (resourcesUtil == null) {
             resourcesUtil = ResourcesUtil.createInstance();
         }
         return resourcesUtil;
@@ -144,16 +155,18 @@
     /**
      * {@inheritDoc}
      */
+    @Override
     public void loadXAResourcesAndItsConnections(List xaresList, List connList) {
 
-        //Done so as to initialize connectors-runtime before loading jdbc-resources. need a better way ?
+        // Done so as to initialize connectors-runtime before loading jdbc-resources.
+        // need a better way ?
         ConnectorRuntime crt = connectorRuntimeProvider.get();
 
         Collection<JdbcResource> jdbcResources = getAllJdbcResources();
 
         if (jdbcResources == null || jdbcResources.size() == 0) {
             if (_logger.isLoggable(Level.FINEST)) {
-                _logger.finest("loadXAResourcesAndItsConnections : no resources" );
+                _logger.finest("loadXAResourcesAndItsConnections : no resources");
             }
             return;
         }
@@ -162,15 +175,15 @@
 
         for (Resource resource : jdbcResources) {
             JdbcResource jdbcResource = (JdbcResource) resource;
-            if(getResourcesUtil().isEnabled(jdbcResource)) {
+            if (getResourcesUtil().isEnabled(jdbcResource)) {
                 ResourceInfo resourceInfo = ConnectorsUtil.getResourceInfo(jdbcResource);
                 JdbcConnectionPool pool = JdbcResourcesUtil.createInstance().getJdbcConnectionPoolOfResource(resourceInfo);
                 if (pool != null && "javax.sql.XADataSource".equals(pool.getResType())) {
                     jdbcPools.add(pool);
                 }
                 if (_logger.isLoggable(Level.FINE)) {
-                    _logger.fine("JdbcRecoveryResourceHandler:: loadXAResourcesAndItsConnections :: "
-                            + "adding : " + (jdbcResource.getPoolName()));
+                    _logger.fine("JdbcRecoveryResourceHandler:: loadXAResourcesAndItsConnections :: " + "adding : "
+                            + (jdbcResource.getPoolName()));
                 }
             }
         }
@@ -181,12 +194,10 @@
         // If yes, put the mapping in the xaresourcewrappers properties.
         Properties XAResourceWrappers = new Properties();
 
-        XAResourceWrappers.put(
-                "oracle.jdbc.xa.client.OracleXADataSource",
-                "com.sun.enterprise.transaction.jts.recovery.OracleXAResource");
+        XAResourceWrappers.put("oracle.jdbc.xa.client.OracleXADataSource", "com.sun.enterprise.transaction.jts.recovery.OracleXAResource");
 
         Config c = habitat.getService(Config.class, ServerEnvironment.DEFAULT_INSTANCE_NAME);
-        txService =  c.getExtensionByType(TransactionService.class);
+        txService = c.getExtensionByType(TransactionService.class);
 
         List<Property> properties = txService.getProperty();
 
@@ -196,24 +207,20 @@
                 String value = property.getValue();
                 if (name.equals("oracle-xa-recovery-workaround")) {
                     if ("false".equals(value)) {
-                        XAResourceWrappers.remove(
-                                "oracle.jdbc.xa.client.OracleXADataSource");
+                        XAResourceWrappers.remove("oracle.jdbc.xa.client.OracleXADataSource");
                     }
                 } else if (name.equals("sybase-xa-recovery-workaround")) {
                     if (value.equals("true")) {
-                        XAResourceWrappers.put(
-                                "com.sybase.jdbc2.jdbc.SybXADataSource",
+                        XAResourceWrappers.put("com.sybase.jdbc2.jdbc.SybXADataSource",
                                 "com.sun.enterprise.transaction.jts.recovery.SybaseXAResource");
                     }
                 }
             }
         }
 
-        for(JdbcConnectionPool jdbcConnectionPool : jdbcPools){
-            if (jdbcConnectionPool.getResType() == null
-                    || jdbcConnectionPool.getName() == null
-                    || !jdbcConnectionPool.getResType().equals(
-                    "javax.sql.XADataSource")) {
+        for (JdbcConnectionPool jdbcConnectionPool : jdbcPools) {
+            if (jdbcConnectionPool.getResType() == null || jdbcConnectionPool.getName() == null
+                    || !jdbcConnectionPool.getResType().equals("javax.sql.XADataSource")) {
                 if (_logger.isLoggable(Level.FINEST)) {
                     _logger.finest("skipping pool : " + jdbcConnectionPool.getName());
                 }
@@ -232,23 +239,19 @@
                 if (dbPassword == null) {
                     dbPassword = "";
                     if (_logger.isLoggable(Level.FINEST)) {
-                        _logger.log(Level.FINEST,
-                                "datasource.xadatasource_nullpassword_error", poolInfo);
+                        _logger.log(Level.FINEST, "datasource.xadatasource_nullpassword_error", poolInfo);
                     }
                 }
                 if (dbUser == null) {
                     dbUser = "";
                     if (_logger.isLoggable(Level.FINEST)) {
-                        _logger.log(Level.FINEST,
-                                "datasource.xadatasource_nulluser_error", poolInfo);
+                        _logger.log(Level.FINEST, "datasource.xadatasource_nulluser_error", poolInfo);
                     }
                 }
 
-                ManagedConnectionFactory fac =
-                        crt.obtainManagedConnectionFactory(poolInfo);
+                ManagedConnectionFactory fac = crt.obtainManagedConnectionFactory(poolInfo);
                 Subject subject = new Subject();
-                PasswordCredential pc = new PasswordCredential(
-                        dbUser, dbPassword.toCharArray());
+                PasswordCredential pc = new PasswordCredential(dbUser, dbPassword.toCharArray());
                 pc.setManagedConnectionFactory(fac);
                 Principal prin = new ResourcePrincipal(dbUser, dbPassword);
                 subject.getPrincipals().add(prin);
@@ -263,19 +266,16 @@
                         // specified if yes, replace the XAResouce class of database
                         // vendor with our own version
 
-                        String datasourceClassname =
-                                jdbcConnectionPool.getDatasourceClassname();
-                        String wrapperclass = (String) XAResourceWrappers.get(
-                                datasourceClassname);
+                        String datasourceClassname = jdbcConnectionPool.getDatasourceClassname();
+                        String wrapperclass = (String) XAResourceWrappers.get(datasourceClassname);
                         if (wrapperclass != null) {
-                            //need to load wrapper class provided by "transactions" module.
-                            //Using connector-class-loader so as to get access to "transaction" module.
+                            // need to load wrapper class provided by "transactions" module.
+                            // Using connector-class-loader so as to get access to "transaction" module.
                             XAResourceWrapper xaresWrapper = null;
-                            xaresWrapper = (XAResourceWrapper) crt.getConnectorClassLoader().loadClass(wrapperclass).
-                                    newInstance();
+                            xaresWrapper = (XAResourceWrapper) crt.getConnectorClassLoader().loadClass(wrapperclass).newInstance();
                             xaresWrapper.init(mc, subject);
                             if (_logger.isLoggable(Level.FINEST)) {
-                                _logger.finest("adding resource " + poolInfo + " -- "+xaresWrapper);
+                                _logger.finest("adding resource " + poolInfo + " -- " + xaresWrapper);
                             }
                             xaresList.add(xaresWrapper);
                         } else {
@@ -287,28 +287,28 @@
                     }
                 } catch (ResourceException ex) {
                     _logger.log(Level.WARNING, "datasource.xadatasource_error", poolInfo);
-                    if(_logger.isLoggable(Level.FINE)) {
+                    if (_logger.isLoggable(Level.FINE)) {
                         _logger.log(Level.FINE, "datasource.xadatasource_error_excp", ex);
                     }
                     // ignored. Not at XA_TRANSACTION level
                 }
             } catch (Exception ex) {
                 _logger.log(Level.WARNING, "datasource.xadatasource_error", poolInfo);
-                if(_logger.isLoggable(Level.FINE)) {
+                if (_logger.isLoggable(Level.FINE)) {
                     _logger.log(Level.FINE, "datasource.xadatasource_error_excp", ex);
                 }
             }
         }
     }
 
-
     /**
      * {@inheritDoc}
      */
+    @Override
     public void closeConnections(List connList) {
         for (Object obj : connList) {
             try {
-                ManagedConnection con = (ManagedConnection)obj;
+                ManagedConnection con = (ManagedConnection) obj;
                 con.destroy();
             } catch (Exception ex) {
                 _logger.log(Level.WARNING, "recovery.jdbc-resource.destroy-error", ex);
@@ -318,11 +318,11 @@
 
     /**
      * gets the user-name & password for the jdbc-connection-pool
+     *
      * @param jdbcConnectionPool connection pool
      * @return user, password
      */
-    public String[] getdbUserPasswordOfJdbcConnectionPool(
-            JdbcConnectionPool jdbcConnectionPool) {
+    public String[] getdbUserPasswordOfJdbcConnectionPool(JdbcConnectionPool jdbcConnectionPool) {
 
         String[] userPassword = new String[2];
         userPassword[0] = null;
diff --git a/appserver/jdbc/jdbc-runtime/src/main/java/org/glassfish/jdbc/util/JdbcResourcesUtil.java b/appserver/jdbc/jdbc-runtime/src/main/java/org/glassfish/jdbc/util/JdbcResourcesUtil.java
index bfe3e26..447b137 100644
--- a/appserver/jdbc/jdbc-runtime/src/main/java/org/glassfish/jdbc/util/JdbcResourcesUtil.java
+++ b/appserver/jdbc/jdbc-runtime/src/main/java/org/glassfish/jdbc/util/JdbcResourcesUtil.java
@@ -16,6 +16,17 @@
 
 package org.glassfish.jdbc.util;
 
+import java.util.Collection;
+import java.util.HashSet;
+import java.util.Set;
+import java.util.logging.Level;
+import java.util.logging.Logger;
+
+import org.glassfish.jdbc.config.JdbcConnectionPool;
+import org.glassfish.jdbc.config.JdbcResource;
+import org.glassfish.resourcebase.resources.api.PoolInfo;
+import org.glassfish.resourcebase.resources.api.ResourceInfo;
+
 import com.sun.appserv.connectors.internal.api.ConnectorConstants;
 import com.sun.appserv.connectors.internal.api.ConnectorsUtil;
 import com.sun.enterprise.config.serverbeans.BindableResource;
@@ -26,16 +37,6 @@
 import com.sun.enterprise.connectors.util.ClassLoadingUtility;
 import com.sun.enterprise.connectors.util.ResourcesUtil;
 import com.sun.logging.LogDomains;
-import org.glassfish.jdbc.config.JdbcConnectionPool;
-import org.glassfish.jdbc.config.JdbcResource;
-import org.glassfish.resourcebase.resources.api.PoolInfo;
-import org.glassfish.resourcebase.resources.api.ResourceInfo;
-
-import java.util.Collection;
-import java.util.HashSet;
-import java.util.Set;
-import java.util.logging.Level;
-import java.util.logging.Logger;
 
 /**
  * Utility class for JDBC related classes
@@ -43,18 +44,17 @@
 public class JdbcResourcesUtil {
 
     private volatile static JdbcResourcesUtil jdbcResourcesUtil;
-    static Logger _logger = LogDomains.getLogger(JdbcResourcesUtil.class,
-            LogDomains.RSR_LOGGER);
+    static Logger _logger = LogDomains.getLogger(JdbcResourcesUtil.class, LogDomains.RSR_LOGGER);
     private ConnectorRuntime runtime;
 
-    private JdbcResourcesUtil(){
+    private JdbcResourcesUtil() {
     }
 
     public static JdbcResourcesUtil createInstance() {
-        //stateless, no synchronization needed
-        if(jdbcResourcesUtil == null){
-            synchronized(JdbcResourcesUtil.class) {
-                if(jdbcResourcesUtil == null) {
+        // stateless, no synchronization needed
+        if (jdbcResourcesUtil == null) {
+            synchronized (JdbcResourcesUtil.class) {
+                if (jdbcResourcesUtil == null) {
                     jdbcResourcesUtil = new JdbcResourcesUtil();
                 }
             }
@@ -62,14 +62,13 @@
         return jdbcResourcesUtil;
     }
 
-    private ConnectorRuntime getRuntime(){
-        if(runtime == null){
+    private ConnectorRuntime getRuntime() {
+        if (runtime == null) {
             runtime = ConnectorRuntime.getRuntime();
         }
         return runtime;
     }
 
-
     public static <T> Resource getResourceByName(Resources resources, Class<T> type, String name) {
         return resources.getResourceByName(type, name);
     }
@@ -91,8 +90,8 @@
     }
 
     /**
-     * This method takes in an admin JdbcConnectionPool and returns the RA
-     * that it belongs to.
+     * This method takes in an admin JdbcConnectionPool and returns the RA that it
+     * belongs to.
      *
      * @param pool - The pool to check
      * @return The name of the JDBC RA that provides this pool's data-source
@@ -103,57 +102,56 @@
 
         Class clz = null;
 
-        if(pool.getDatasourceClassname() != null && !pool.getDatasourceClassname().isEmpty()) {
+        if (pool.getDatasourceClassname() != null && !pool.getDatasourceClassname().isEmpty()) {
             try {
                 clz = ClassLoadingUtility.loadClass(pool.getDatasourceClassname());
             } catch (ClassNotFoundException cnfe) {
-                Object params[] = new Object[]{dsRAName, pool.getName()};
+                Object params[] = new Object[] { dsRAName, pool.getName() };
                 _logger.log(Level.WARNING, "using.default.ds", params);
                 return dsRAName;
             }
-        } else if(pool.getDriverClassname() != null && !pool.getDriverClassname().isEmpty()) {
+        } else if (pool.getDriverClassname() != null && !pool.getDriverClassname().isEmpty()) {
             try {
                 clz = ClassLoadingUtility.loadClass(pool.getDriverClassname());
             } catch (ClassNotFoundException cnfe) {
-                Object params[] = new Object[]{dsRAName, pool.getName()};
+                Object params[] = new Object[] { dsRAName, pool.getName() };
                 _logger.log(Level.WARNING, "using.default.ds", params);
                 return dsRAName;
             }
         }
 
-        if(clz != null){
-            //check if its XA
+        if (clz != null) {
+            // check if its XA
             if (ConnectorConstants.JAVAX_SQL_XA_DATASOURCE.equals(pool.getResType())) {
                 if (javax.sql.XADataSource.class.isAssignableFrom(clz)) {
                     return ConnectorConstants.JDBCXA_RA_NAME;
                 }
             }
 
-            //check if its CP
+            // check if its CP
             if (ConnectorConstants.JAVAX_SQL_CONNECTION_POOL_DATASOURCE.equals(pool.getResType())) {
-                if (javax.sql.ConnectionPoolDataSource.class.isAssignableFrom(
-                        clz)) {
+                if (javax.sql.ConnectionPoolDataSource.class.isAssignableFrom(clz)) {
                     return ConnectorConstants.JDBCCONNECTIONPOOLDATASOURCE_RA_NAME;
                 }
             }
 
-            //check if its DM
-            if(ConnectorConstants.JAVA_SQL_DRIVER.equals(pool.getResType())) {
-                if(java.sql.Driver.class.isAssignableFrom(clz)) {
+            // check if its DM
+            if (ConnectorConstants.JAVA_SQL_DRIVER.equals(pool.getResType())) {
+                if (java.sql.Driver.class.isAssignableFrom(clz)) {
                     return ConnectorConstants.JDBCDRIVER_RA_NAME;
                 }
             }
 
-            //check if its DS
+            // check if its DS
             if ("javax.sql.DataSource".equals(pool.getResType())) {
                 if (javax.sql.DataSource.class.isAssignableFrom(clz)) {
                     return dsRAName;
                 }
             }
         }
-        Object params[] = new Object[]{dsRAName, pool.getName()};
+        Object params[] = new Object[] { dsRAName, pool.getName() };
         _logger.log(Level.WARNING, "using.default.ds", params);
-        //default to __ds
+        // default to __ds
         return dsRAName;
     }
 
@@ -161,10 +159,10 @@
         JdbcResource resource = null;
         JdbcConnectionPool pool = null;
         Resources resources = getResources(resourceInfo);
-        if(resources != null){
+        if (resources != null) {
             resource = (JdbcResource) ConnectorsUtil.getResourceByName(resources, JdbcResource.class, resourceInfo.getName());
-            if(resource != null){
-                pool = (JdbcConnectionPool)ConnectorsUtil.getResourceByName(resources, JdbcConnectionPool.class, resource.getPoolName());
+            if (resource != null) {
+                pool = (JdbcConnectionPool) ConnectorsUtil.getResourceByName(resources, JdbcConnectionPool.class, resource.getPoolName());
             }
         }
         return pool;
@@ -175,11 +173,12 @@
     }
 
     /**
-     * Determines if a JDBC connection pool is referred in a
-     * server-instance via resource-refs
+     * Determines if a JDBC connection pool is referred in a server-instance via
+     * resource-refs
+     *
      * @param poolInfo pool-name
-     * @return boolean true if pool is referred in this server instance as well enabled, false
-     * otherwise
+     * @return boolean true if pool is referred in this server instance as well
+     * enabled, false otherwise
      */
     public boolean isJdbcPoolReferredInServerInstance(PoolInfo poolInfo) {
 
@@ -187,21 +186,20 @@
 
         for (JdbcResource resource : jdbcResources) {
             ResourceInfo resourceInfo = ConnectorsUtil.getResourceInfo(resource);
-            //Have to check isReferenced here!
-            if ((resource.getPoolName().equalsIgnoreCase(poolInfo.getName())) &&
-                    ResourcesUtil.createInstance().isReferenced(resourceInfo)
-                    && ResourcesUtil.createInstance().isEnabled(resource)){
+            // Have to check isReferenced here!
+            if ((resource.getPoolName().equalsIgnoreCase(poolInfo.getName())) && ResourcesUtil.createInstance().isReferenced(resourceInfo)
+                    && ResourcesUtil.createInstance().isEnabled(resource)) {
                 if (_logger.isLoggable(Level.FINE)) {
-                    _logger.fine("pool " + poolInfo + "resource " + resourceInfo
-                            + " referred " + ResourcesUtil.createInstance().isReferenced(resourceInfo));
+                    _logger.fine("pool " + poolInfo + "resource " + resourceInfo + " referred "
+                            + ResourcesUtil.createInstance().isReferenced(resourceInfo));
 
-                    _logger.fine("JDBC resource " + resource.getJndiName() + "refers " + poolInfo
-                            + "in this server instance and is enabled");
+                    _logger.fine(
+                            "JDBC resource " + resource.getJndiName() + "refers " + poolInfo + "in this server instance and is enabled");
                 }
                 return true;
             }
         }
-        if(_logger.isLoggable(Level.FINE)) {
+        if (_logger.isLoggable(Level.FINE)) {
             _logger.fine("No JDBC resource refers [ " + poolInfo + " ] in this server instance");
         }
         return false;
diff --git a/appserver/jdbc/jdbc-runtime/src/main/java/org/glassfish/jdbcruntime/DefaultDataSource.java b/appserver/jdbc/jdbc-runtime/src/main/java/org/glassfish/jdbcruntime/DefaultDataSource.java
index 15cc607..dc86001 100644
--- a/appserver/jdbc/jdbc-runtime/src/main/java/org/glassfish/jdbcruntime/DefaultDataSource.java
+++ b/appserver/jdbc/jdbc-runtime/src/main/java/org/glassfish/jdbcruntime/DefaultDataSource.java
@@ -16,35 +16,38 @@
 
 package org.glassfish.jdbcruntime;
 
+import javax.naming.InitialContext;
 import javax.naming.NamingException;
 import javax.sql.DataSource;
+
 import org.glassfish.api.naming.DefaultResourceProxy;
 import org.glassfish.api.naming.NamedNamingObjectProxy;
 import org.glassfish.api.naming.NamespacePrefixes;
 import org.jvnet.hk2.annotations.Service;
 
 /**
- * Naming Object Proxy to handle the Default Data Source.
- * Maps to a pre-configured data source, when binding for
- * a datasource reference is absent in the @Resource annotation.
+ * Naming Object Proxy to handle the Default Data Source. Maps to a
+ * pre-configured data source, when binding for a datasource reference is absent
+ * in the @Resource annotation.
  *
  * @author Shalini M
  */
 @Service
-@NamespacePrefixes({DefaultDataSource.DEFAULT_DATASOURCE})
+@NamespacePrefixes(DefaultDataSource.DEFAULT_DATASOURCE)
 public class DefaultDataSource implements NamedNamingObjectProxy, DefaultResourceProxy {
 
     static final String DEFAULT_DATASOURCE = "java:comp/DefaultDataSource";
     static final String DEFAULT_DATASOURCE_PHYS = "jdbc/__default";
+
     private DataSource dataSource;
 
     @Override
     public Object handle(String name) throws NamingException {
-        if(dataSource == null) {
-            javax.naming.Context ctx = new javax.naming.InitialContext();
+        if (dataSource == null) {
             // cache the datasource to avoid JNDI lookup overheads
-            dataSource = (DataSource)ctx.lookup(DEFAULT_DATASOURCE_PHYS);
+            dataSource = (DataSource) new InitialContext().lookup(DEFAULT_DATASOURCE_PHYS);
         }
+
         return dataSource;
     }
 
diff --git a/appserver/jdbc/jdbc-runtime/src/main/java/org/glassfish/jdbcruntime/JdbcPoolMonitoringExtension.java b/appserver/jdbc/jdbc-runtime/src/main/java/org/glassfish/jdbcruntime/JdbcPoolMonitoringExtension.java
index 0b284f9..9858bba 100644
--- a/appserver/jdbc/jdbc-runtime/src/main/java/org/glassfish/jdbcruntime/JdbcPoolMonitoringExtension.java
+++ b/appserver/jdbc/jdbc-runtime/src/main/java/org/glassfish/jdbcruntime/JdbcPoolMonitoringExtension.java
@@ -16,16 +16,11 @@
 
 package org.glassfish.jdbcruntime;
 
-import com.sun.appserv.connectors.internal.api.ConnectorsUtil;
-import com.sun.enterprise.config.serverbeans.ResourcePool;
-import com.sun.enterprise.connectors.ConnectionPoolMonitoringExtension;
-import com.sun.enterprise.connectors.ConnectorRuntime;
-import com.sun.enterprise.resource.pool.PoolLifeCycleListenerRegistry;
-import com.sun.enterprise.resource.pool.PoolManager;
-import com.sun.enterprise.resource.pool.monitor.ConnectionPoolAppProbeProvider;
-import com.sun.enterprise.resource.pool.monitor.ConnectionPoolProbeProviderUtil;
-import com.sun.enterprise.resource.pool.monitor.ConnectionPoolStatsProviderBootstrap;
-import com.sun.logging.LogDomains;
+import java.util.ArrayList;
+import java.util.Iterator;
+import java.util.List;
+import java.util.logging.Logger;
+
 import org.glassfish.external.probe.provider.PluginPoint;
 import org.glassfish.external.probe.provider.StatsProviderManager;
 import org.glassfish.jdbc.config.JdbcConnectionPool;
@@ -36,12 +31,19 @@
 import org.glassfish.resourcebase.resources.api.PoolInfo;
 import org.jvnet.hk2.annotations.Service;
 
+import com.sun.appserv.connectors.internal.api.ConnectorsUtil;
+import com.sun.enterprise.config.serverbeans.ResourcePool;
+import com.sun.enterprise.connectors.ConnectionPoolMonitoringExtension;
+import com.sun.enterprise.connectors.ConnectorRuntime;
+import com.sun.enterprise.resource.pool.PoolLifeCycleListenerRegistry;
+import com.sun.enterprise.resource.pool.PoolManager;
+import com.sun.enterprise.resource.pool.monitor.ConnectionPoolAppProbeProvider;
+import com.sun.enterprise.resource.pool.monitor.ConnectionPoolProbeProviderUtil;
+import com.sun.enterprise.resource.pool.monitor.ConnectionPoolStatsProviderBootstrap;
+import com.sun.logging.LogDomains;
+
 import jakarta.inject.Inject;
 import jakarta.inject.Provider;
-import java.util.ArrayList;
-import java.util.Iterator;
-import java.util.List;
-import java.util.logging.Logger;
 
 /**
  * @author Shalini M
@@ -49,7 +51,6 @@
 @Service
 public class JdbcPoolMonitoringExtension implements ConnectionPoolMonitoringExtension {
 
-
     @Inject
     private Provider<ConnectionPoolProbeProviderUtil> connectionPoolProbeProviderUtilProvider;
 
@@ -61,10 +62,9 @@
 
     private ConnectorRuntime runtime;
 
-    private final static Logger logger =
-        LogDomains.getLogger(JdbcPoolMonitoringExtension.class, LogDomains.RSR_LOGGER);
+    private final static Logger logger = LogDomains.getLogger(JdbcPoolMonitoringExtension.class, LogDomains.RSR_LOGGER);
 
-    //List of all jdbc pool stats providers that are created and stored.
+    // List of all jdbc pool stats providers that are created and stored.
     private List<JdbcConnPoolStatsProvider> jdbcStatsProviders = null;
     private List<JdbcConnPoolAppStatsProvider> jdbcPoolAppStatsProviders = null;
 
@@ -74,49 +74,48 @@
         runtime = ConnectorRuntime.getRuntime();
     }
 
-    public ConnectionPoolProbeProviderUtil getProbeProviderUtil(){
+    public ConnectionPoolProbeProviderUtil getProbeProviderUtil() {
         return connectionPoolProbeProviderUtilProvider.get();
     }
 
     /**
-     * Register jdbc connection pool to the StatsProviderManager.
-     * Add the pool lifecycle listeners for the pool to receive events on
-     * change of any of the monitoring attribute values.
-     * Finally, add this provider to the list of jdbc providers maintained.
+     * Register jdbc connection pool to the StatsProviderManager. Add the pool
+     * lifecycle listeners for the pool to receive events on change of any of the
+     * monitoring attribute values. Finally, add this provider to the list of jdbc
+     * providers maintained.
+     *
      * @param poolInfo
      */
+    @Override
     public void registerPool(PoolInfo poolInfo) {
-        if(poolManager.getPool(poolInfo) != null) {
+        if (poolManager.getPool(poolInfo) != null) {
             getProbeProviderUtil().createJdbcProbeProvider();
-            //Found in the pool table (pool has been initialized/created)
-            JdbcConnPoolStatsProvider jdbcPoolStatsProvider =
-                    new JdbcConnPoolStatsProvider(poolInfo, logger);
-            StatsProviderManager.register(
-                    "jdbc-connection-pool",
-                    PluginPoint.SERVER,
+            // Found in the pool table (pool has been initialized/created)
+            JdbcConnPoolStatsProvider jdbcPoolStatsProvider = new JdbcConnPoolStatsProvider(poolInfo, logger);
+            StatsProviderManager.register("jdbc-connection-pool", PluginPoint.SERVER,
                     ConnectorsUtil.getPoolMonitoringSubTreeRoot(poolInfo, true), jdbcPoolStatsProvider);
-            //String jdbcPoolName = jdbcPoolStatsProvider.getJdbcPoolName();
-            PoolLifeCycleListenerRegistry registry =
-                    connectionPoolStatsProviderBootstrapProvider.get().registerPool(
-                            poolInfo,
-                            getProbeProviderUtil().getJdbcProbeProvider());
+            // String jdbcPoolName = jdbcPoolStatsProvider.getJdbcPoolName();
+            PoolLifeCycleListenerRegistry registry = connectionPoolStatsProviderBootstrapProvider.get().registerPool(poolInfo,
+                    getProbeProviderUtil().getJdbcProbeProvider());
             jdbcPoolStatsProvider.setPoolRegistry(registry);
             jdbcStatsProviders.add(jdbcPoolStatsProvider);
         }
     }
 
     /**
-     * Unregister Jdbc Connection pool from the StatsProviderManager.
-     * Remove the pool lifecycle listeners associated with this pool.
+     * Unregister Jdbc Connection pool from the StatsProviderManager. Remove the
+     * pool lifecycle listeners associated with this pool.
+     *
      * @param poolInfo
      */
+    @Override
     public void unregisterPool(PoolInfo poolInfo) {
-        if(jdbcStatsProviders != null) {
+        if (jdbcStatsProviders != null) {
             Iterator i = jdbcStatsProviders.iterator();
             while (i.hasNext()) {
                 JdbcConnPoolStatsProvider jdbcPoolStatsProvider = (JdbcConnPoolStatsProvider) i.next();
                 if (poolInfo.equals(jdbcPoolStatsProvider.getPoolInfo())) {
-                    //Get registry and unregister this pool from the registry
+                    // Get registry and unregister this pool from the registry
                     PoolLifeCycleListenerRegistry poolRegistry = jdbcPoolStatsProvider.getPoolRegistry();
                     poolRegistry.unRegisterPoolLifeCycleListener(poolInfo);
                     StatsProviderManager.unregister(jdbcPoolStatsProvider);
@@ -129,26 +128,21 @@
     }
 
     /**
-     * Register the jdbc connection pool Stats Provider object to the
-     * monitoring framework under the specific application name monitoring
-     * sub tree.
+     * Register the jdbc connection pool Stats Provider object to the monitoring
+     * framework under the specific application name monitoring sub tree.
      *
      * @param appName
      * @return
      */
-    public ConnectionPoolAppProbeProvider registerConnectionPool(
-            PoolInfo poolInfo, String appName) {
+    @Override
+    public ConnectionPoolAppProbeProvider registerConnectionPool(PoolInfo poolInfo, String appName) {
         ConnectionPoolAppProbeProvider probeAppProvider = null;
         ResourcePool pool = runtime.getConnectionPoolConfig(poolInfo);
         if (pool instanceof JdbcConnectionPool) {
             probeAppProvider = new JdbcConnPoolAppProbeProvider();
-            JdbcConnPoolAppStatsProvider jdbcPoolAppStatsProvider =
-                    new JdbcConnPoolAppStatsProvider(poolInfo, appName);
-            StatsProviderManager.register(
-                    "jdbc-connection-pool",
-                    PluginPoint.SERVER,
-                    "resources/" + ConnectorsUtil.escapeResourceNameForMonitoring(
-                            poolInfo.getName()) + "/" + appName,
+            JdbcConnPoolAppStatsProvider jdbcPoolAppStatsProvider = new JdbcConnPoolAppStatsProvider(poolInfo, appName);
+            StatsProviderManager.register("jdbc-connection-pool", PluginPoint.SERVER,
+                    "resources/" + ConnectorsUtil.escapeResourceNameForMonitoring(poolInfo.getName()) + "/" + appName,
                     jdbcPoolAppStatsProvider);
             jdbcPoolAppStatsProviders.add(jdbcPoolAppStatsProvider);
         }
@@ -158,20 +152,19 @@
     /**
      * Unregister the AppStatsProviders registered for this connection pool.
      */
+    @Override
     public void unRegisterConnectionPool() {
         Iterator jdbcProviders = jdbcPoolAppStatsProviders.iterator();
         while (jdbcProviders.hasNext()) {
-            JdbcConnPoolAppStatsProvider jdbcPoolAppStatsProvider =
-                    (JdbcConnPoolAppStatsProvider) jdbcProviders.next();
+            JdbcConnPoolAppStatsProvider jdbcPoolAppStatsProvider = (JdbcConnPoolAppStatsProvider) jdbcProviders.next();
             StatsProviderManager.unregister(jdbcPoolAppStatsProvider);
         }
         jdbcPoolAppStatsProviders.clear();
     }
 
+    @Override
     public JdbcConnPoolProbeProvider createProbeProvider() {
         return new JdbcConnPoolProbeProvider();
     }
 
-
-
 }
diff --git a/appserver/jdbc/jdbc-runtime/src/main/java/org/glassfish/jdbcruntime/JdbcRuntimeExtension.java b/appserver/jdbc/jdbc-runtime/src/main/java/org/glassfish/jdbcruntime/JdbcRuntimeExtension.java
index b16537d..f67506d 100644
--- a/appserver/jdbc/jdbc-runtime/src/main/java/org/glassfish/jdbcruntime/JdbcRuntimeExtension.java
+++ b/appserver/jdbc/jdbc-runtime/src/main/java/org/glassfish/jdbcruntime/JdbcRuntimeExtension.java
@@ -16,6 +16,21 @@
 
 package org.glassfish.jdbcruntime;
 
+import java.util.ArrayList;
+import java.util.Collection;
+import java.util.List;
+import java.util.logging.Level;
+import java.util.logging.Logger;
+
+import org.glassfish.jdbc.config.JdbcConnectionPool;
+import org.glassfish.jdbc.config.JdbcResource;
+import org.glassfish.jdbc.deployer.DataSourceDefinitionDeployer;
+import org.glassfish.jdbcruntime.service.JdbcDataSource;
+import org.glassfish.resourcebase.resources.api.PoolInfo;
+import org.glassfish.resourcebase.resources.api.ResourceInfo;
+import org.jvnet.hk2.annotations.Service;
+import org.jvnet.hk2.config.ConfigBeanProxy;
+
 import com.sun.appserv.connectors.internal.api.ConnectorConstants;
 import com.sun.appserv.connectors.internal.api.ConnectorRuntimeException;
 import com.sun.appserv.connectors.internal.api.ConnectorsUtil;
@@ -29,22 +44,9 @@
 import com.sun.enterprise.connectors.util.ResourcesUtil;
 import com.sun.enterprise.deployment.Application;
 import com.sun.logging.LogDomains;
-import org.glassfish.jdbc.config.JdbcConnectionPool;
-import org.glassfish.jdbc.config.JdbcResource;
-import org.glassfish.jdbc.deployer.DataSourceDefinitionDeployer;
-import org.glassfish.jdbcruntime.service.JdbcDataSource;
-import org.glassfish.resourcebase.resources.api.PoolInfo;
-import org.glassfish.resourcebase.resources.api.ResourceInfo;
-import org.jvnet.hk2.annotations.Service;
-import org.jvnet.hk2.config.ConfigBeanProxy;
 
 import jakarta.inject.Inject;
 import jakarta.inject.Provider;
-import java.util.ArrayList;
-import java.util.Collection;
-import java.util.List;
-import java.util.logging.Level;
-import java.util.logging.Logger;
 
 /**
  * @author Shalini M
@@ -58,8 +60,7 @@
     @Inject
     private Provider<DataSourceDefinitionDeployer> dataSourceDefinitionDeployerProvider;
 
-    protected final static Logger logger =
-        LogDomains.getLogger(JdbcRuntimeExtension.class, LogDomains.RSR_LOGGER);
+    protected final static Logger logger = LogDomains.getLogger(JdbcRuntimeExtension.class, LogDomains.RSR_LOGGER);
 
     protected ConnectorRuntime runtime;
 
@@ -67,16 +68,17 @@
         runtime = ConnectorRuntime.getRuntime();
     }
 
+    @Override
     public Collection<Resource> getAllSystemRAResourcesAndPools() {
         List<Resource> resources = new ArrayList<Resource>();
 
         Domain domain = domainProvider.get();
-        if(domain !=null) {
+        if (domain != null) {
             Resources allResources = domain.getResources();
-            for(Resource resource : allResources.getResources()){
-                if(resource instanceof JdbcConnectionPool){
+            for (Resource resource : allResources.getResources()) {
+                if (resource instanceof JdbcConnectionPool) {
                     resources.add(resource);
-                } else if(resource instanceof JdbcResource){
+                } else if (resource instanceof JdbcResource) {
                     resources.add(resource);
                 }
             }
@@ -86,27 +88,30 @@
         return resources;
     }
 
+    @Override
     public void registerDataSourceDefinitions(Application application) {
         dataSourceDefinitionDeployerProvider.get().registerDataSourceDefinitions(application);
     }
 
+    @Override
     public void unRegisterDataSourceDefinitions(Application application) {
         dataSourceDefinitionDeployerProvider.get().unRegisterDataSourceDefinitions(application);
     }
 
     /**
-     * Get a wrapper datasource specified by the jdbcjndi name
-     * This API is intended to be used in the DAS. The motivation for having this
-     * API is to provide the CMP backend/ JPA-Java2DB a means of acquiring a connection during
-     * the codegen phase. If a user is trying to deploy an JPA-Java2DB app on a remote server,
-     * without this API, a resource reference has to be present both in the DAS
-     * and the server instance. This makes the deployment more complex for the
-     * user since a resource needs to be forcibly created in the DAS Too.
-     * This API will mitigate this need.
+     * Get a wrapper datasource specified by the jdbcjndi name This API is intended
+     * to be used in the DAS. The motivation for having this API is to provide the
+     * CMP backend/ JPA-Java2DB a means of acquiring a connection during the codegen
+     * phase. If a user is trying to deploy an JPA-Java2DB app on a remote server,
+     * without this API, a resource reference has to be present both in the DAS and
+     * the server instance. This makes the deployment more complex for the user
+     * since a resource needs to be forcibly created in the DAS Too. This API will
+     * mitigate this need.
      *
      * @param resourceInfo the jndi name of the resource
      * @return DataSource representing the resource.
      */
+    @Override
     public Object lookupDataSourceInDAS(ResourceInfo resourceInfo) throws ConnectorRuntimeException {
         JdbcDataSource myDS = new JdbcDataSource();
         myDS.setResourceInfo(resourceInfo);
@@ -114,34 +119,33 @@
     }
 
     /**
-     * Gets the Pool name that this JDBC resource points to. In case of a PMF resource
-     * gets the pool name of the pool pointed to by jdbc resource being pointed to by
-     * the PMF resource
+     * Gets the Pool name that this JDBC resource points to. In case of a PMF
+     * resource gets the pool name of the pool pointed to by jdbc resource being
+     * pointed to by the PMF resource
      *
-     * @param resourceInfo the jndi name of the resource being used to get Connection from
-     *                 This resource can either be a pmf resource or a jdbc resource
+     * @param resourceInfo the jndi name of the resource being used to get
+     * Connection from This resource can either be a pmf resource or a jdbc resource
      * @return poolName of the pool that this resource directly/indirectly points to
      */
+    @Override
     public PoolInfo getPoolNameFromResourceJndiName(ResourceInfo resourceInfo) {
-        PoolInfo poolInfo= null;
+        PoolInfo poolInfo = null;
         JdbcResource jdbcResource = null;
         String jndiName = resourceInfo.getName();
 
-        ResourceInfo actualResourceInfo =
-                new ResourceInfo(jndiName, resourceInfo.getApplicationName(), resourceInfo.getModuleName());
+        ResourceInfo actualResourceInfo = new ResourceInfo(jndiName, resourceInfo.getApplicationName(), resourceInfo.getModuleName());
         ConnectorRuntime runtime = ConnectorRuntime.getRuntime();
-        jdbcResource = (JdbcResource) ConnectorsUtil.getResourceByName(runtime.getResources(actualResourceInfo),
-                JdbcResource.class, actualResourceInfo.getName());
-        if(jdbcResource == null){
+        jdbcResource = (JdbcResource) ConnectorsUtil.getResourceByName(runtime.getResources(actualResourceInfo), JdbcResource.class,
+                actualResourceInfo.getName());
+        if (jdbcResource == null) {
             String suffix = ConnectorsUtil.getValidSuffix(jndiName);
-            if(suffix != null){
+            if (suffix != null) {
                 jndiName = jndiName.substring(0, jndiName.lastIndexOf(suffix));
-                actualResourceInfo =
-                        new ResourceInfo(jndiName, resourceInfo.getApplicationName(), resourceInfo.getModuleName());
+                actualResourceInfo = new ResourceInfo(jndiName, resourceInfo.getApplicationName(), resourceInfo.getModuleName());
             }
         }
-        jdbcResource = (JdbcResource) ConnectorsUtil.getResourceByName(runtime.getResources(actualResourceInfo),
-                JdbcResource.class, actualResourceInfo.getName());
+        jdbcResource = (JdbcResource) ConnectorsUtil.getResourceByName(runtime.getResources(actualResourceInfo), JdbcResource.class,
+                actualResourceInfo.getName());
 
         if (jdbcResource != null) {
             if (logger.isLoggable(Level.FINE)) {
@@ -149,7 +153,7 @@
                 logger.fine("poolName is ---: " + jdbcResource.getPoolName());
             }
         }
-        if(jdbcResource != null){
+        if (jdbcResource != null) {
             poolInfo = new PoolInfo(jdbcResource.getPoolName(), actualResourceInfo.getApplicationName(),
                     actualResourceInfo.getModuleName());
         }
@@ -157,39 +161,39 @@
     }
 
     /**
-     * Determines if a JDBC connection pool is referred in a
-     * server-instance via resource-refs
+     * Determines if a JDBC connection pool is referred in a server-instance via
+     * resource-refs
+     *
      * @param poolInfo pool-name
-     * @return boolean true if pool is referred in this server instance as well enabled, false
-     * otherwise
+     * @return boolean true if pool is referred in this server instance as well
+     * enabled, false otherwise
      */
+    @Override
     public boolean isConnectionPoolReferredInServerInstance(PoolInfo poolInfo) {
 
-        Collection<JdbcResource> jdbcResources = ConnectorRuntime.getRuntime().
-                getResources(poolInfo).getResources(JdbcResource.class);
+        Collection<JdbcResource> jdbcResources = ConnectorRuntime.getRuntime().getResources(poolInfo).getResources(JdbcResource.class);
 
         for (JdbcResource resource : jdbcResources) {
             ResourceInfo resourceInfo = ConnectorsUtil.getResourceInfo(resource);
-            //Have to check isReferenced here!
-            if ((resource.getPoolName().equalsIgnoreCase(poolInfo.getName())) &&
-                    ResourcesUtil.createInstance().isReferenced(resourceInfo) &&
-                    ResourcesUtil.createInstance().isEnabled(resource)) {
+            // Have to check isReferenced here!
+            if ((resource.getPoolName().equalsIgnoreCase(poolInfo.getName())) && ResourcesUtil.createInstance().isReferenced(resourceInfo)
+                    && ResourcesUtil.createInstance().isEnabled(resource)) {
                 if (logger.isLoggable(Level.FINE)) {
-                    logger.fine("pool " + poolInfo + "resource " + resourceInfo
-                            + " referred is referenced by this server");
+                    logger.fine("pool " + poolInfo + "resource " + resourceInfo + " referred is referenced by this server");
 
-                    logger.fine("JDBC resource " + resource.getJndiName() + "refers " + poolInfo
-                            + "in this server instance and is enabled");
+                    logger.fine(
+                            "JDBC resource " + resource.getJndiName() + "refers " + poolInfo + "in this server instance and is enabled");
                 }
                 return true;
             }
         }
-        if(logger.isLoggable(Level.FINE)) {
+        if (logger.isLoggable(Level.FINE)) {
             logger.fine("No JDBC resource refers [ " + poolInfo + " ] in this server instance");
         }
         return false;
     }
 
+    @Override
     public String getResourceType(ConfigBeanProxy cb) {
         if (cb instanceof JdbcConnectionPool) {
             return ConnectorConstants.RES_TYPE_JCP;
@@ -199,13 +203,14 @@
         return null;
     }
 
-    public DeferredResourceConfig getDeferredResourceConfig(Object resource,
-                                                            Object pool, String resType, String raName)
+    @Override
+    public DeferredResourceConfig getDeferredResourceConfig(Object resource, Object pool, String resType, String raName)
             throws ConnectorRuntimeException {
         String resourceAdapterName;
         DeferredResourceConfig resConfig = null;
-        //TODO V3 there should not be res-type related check, refactor deferred-ra-config
-        //TODO V3 (not to hold specific resource types)
+        // TODO V3 there should not be res-type related check, refactor
+        // deferred-ra-config
+        // TODO V3 (not to hold specific resource types)
         if (resource instanceof JdbcResource || pool instanceof JdbcConnectionPool) {
 
             JdbcConnectionPool jdbcPool = (JdbcConnectionPool) pool;
@@ -215,7 +220,7 @@
 
             resConfig = new DeferredResourceConfig(resourceAdapterName, null, jdbcPool, jdbcResource, null);
 
-            Resource[] resourcesToload = new Resource[]{jdbcPool, jdbcResource};
+            Resource[] resourcesToload = new Resource[] { jdbcPool, jdbcResource };
             resConfig.setResourcesToLoad(resourcesToload);
 
         } else {
@@ -225,8 +230,8 @@
     }
 
     /**
-     * This method takes in an admin JdbcConnectionPool and returns the RA
-     * that it belongs to.
+     * This method takes in an admin JdbcConnectionPool and returns the RA that it
+     * belongs to.
      *
      * @param pool - The pool to check
      * @return The name of the JDBC RA that provides this pool's data-source
@@ -237,59 +242,57 @@
 
         Class clz = null;
 
-        if(pool.getDatasourceClassname() != null && !pool.getDatasourceClassname().isEmpty()) {
+        if (pool.getDatasourceClassname() != null && !pool.getDatasourceClassname().isEmpty()) {
             try {
                 clz = ClassLoadingUtility.loadClass(pool.getDatasourceClassname());
             } catch (ClassNotFoundException cnfe) {
-                Object params[] = new Object[]{dsRAName, pool.getName()};
+                Object params[] = new Object[] { dsRAName, pool.getName() };
                 logger.log(Level.WARNING, "using.default.ds", params);
                 return dsRAName;
             }
-        } else if(pool.getDriverClassname() != null && !pool.getDriverClassname().isEmpty()) {
+        } else if (pool.getDriverClassname() != null && !pool.getDriverClassname().isEmpty()) {
             try {
                 clz = ClassLoadingUtility.loadClass(pool.getDriverClassname());
             } catch (ClassNotFoundException cnfe) {
-                Object params[] = new Object[]{dsRAName, pool.getName()};
+                Object params[] = new Object[] { dsRAName, pool.getName() };
                 logger.log(Level.WARNING, "using.default.ds", params);
                 return dsRAName;
             }
         }
 
-        if(clz != null){
-            //check if its XA
+        if (clz != null) {
+            // check if its XA
             if (ConnectorConstants.JAVAX_SQL_XA_DATASOURCE.equals(pool.getResType())) {
                 if (javax.sql.XADataSource.class.isAssignableFrom(clz)) {
                     return ConnectorConstants.JDBCXA_RA_NAME;
                 }
             }
 
-            //check if its CP
+            // check if its CP
             if (ConnectorConstants.JAVAX_SQL_CONNECTION_POOL_DATASOURCE.equals(pool.getResType())) {
-                if (javax.sql.ConnectionPoolDataSource.class.isAssignableFrom(
-                        clz)) {
+                if (javax.sql.ConnectionPoolDataSource.class.isAssignableFrom(clz)) {
                     return ConnectorConstants.JDBCCONNECTIONPOOLDATASOURCE_RA_NAME;
                 }
             }
 
-            //check if its DM
-            if(ConnectorConstants.JAVA_SQL_DRIVER.equals(pool.getResType())) {
-                if(java.sql.Driver.class.isAssignableFrom(clz)) {
+            // check if its DM
+            if (ConnectorConstants.JAVA_SQL_DRIVER.equals(pool.getResType())) {
+                if (java.sql.Driver.class.isAssignableFrom(clz)) {
                     return ConnectorConstants.JDBCDRIVER_RA_NAME;
                 }
             }
 
-            //check if its DS
+            // check if its DS
             if ("javax.sql.DataSource".equals(pool.getResType())) {
                 if (javax.sql.DataSource.class.isAssignableFrom(clz)) {
                     return dsRAName;
                 }
             }
         }
-        Object params[] = new Object[]{dsRAName, pool.getName()};
+        Object params[] = new Object[] { dsRAName, pool.getName() };
         logger.log(Level.WARNING, "using.default.ds", params);
-        //default to __ds
+        // default to __ds
         return dsRAName;
     }
 
 }
-
diff --git a/appserver/jdbc/jdbc-runtime/src/main/java/org/glassfish/jdbcruntime/deployment/annotation/handlers/DataSourceDefinitionHandler.java b/appserver/jdbc/jdbc-runtime/src/main/java/org/glassfish/jdbcruntime/deployment/annotation/handlers/DataSourceDefinitionHandler.java
index ccbb37f..ab1702f 100644
--- a/appserver/jdbc/jdbc-runtime/src/main/java/org/glassfish/jdbcruntime/deployment/annotation/handlers/DataSourceDefinitionHandler.java
+++ b/appserver/jdbc/jdbc-runtime/src/main/java/org/glassfish/jdbcruntime/deployment/annotation/handlers/DataSourceDefinitionHandler.java
@@ -17,9 +17,15 @@
 
 package org.glassfish.jdbcruntime.deployment.annotation.handlers;
 
-import com.sun.enterprise.deployment.*;
-import com.sun.enterprise.deployment.annotation.context.*;
-import com.sun.enterprise.deployment.annotation.handlers.AbstractResourceHandler;
+import java.lang.annotation.Annotation;
+import java.lang.reflect.Method;
+import java.util.ArrayList;
+import java.util.Collection;
+import java.util.List;
+import java.util.Properties;
+import java.util.Set;
+import java.util.logging.Level;
+
 import org.glassfish.apf.AnnotationHandlerFor;
 import org.glassfish.apf.AnnotationInfo;
 import org.glassfish.apf.AnnotationProcessorException;
@@ -28,15 +34,26 @@
 import org.glassfish.deployment.common.RootDeploymentDescriptor;
 import org.jvnet.hk2.annotations.Service;
 
+import com.sun.enterprise.deployment.DataSourceDefinitionDescriptor;
+import com.sun.enterprise.deployment.EjbBundleDescriptor;
+import com.sun.enterprise.deployment.EjbDescriptor;
+import com.sun.enterprise.deployment.MetadataSource;
+import com.sun.enterprise.deployment.ResourceDescriptor;
+import com.sun.enterprise.deployment.WebBundleDescriptor;
+import com.sun.enterprise.deployment.annotation.context.EjbBundleContext;
+import com.sun.enterprise.deployment.annotation.context.EjbContext;
+import com.sun.enterprise.deployment.annotation.context.EjbInterceptorContext;
+import com.sun.enterprise.deployment.annotation.context.ResourceContainerContext;
+import com.sun.enterprise.deployment.annotation.context.WebBundleContext;
+import com.sun.enterprise.deployment.annotation.context.WebComponentContext;
+import com.sun.enterprise.deployment.annotation.context.WebComponentsContext;
+import com.sun.enterprise.deployment.annotation.handlers.AbstractResourceHandler;
+
 import jakarta.annotation.sql.DataSourceDefinition;
 import jakarta.interceptor.AroundInvoke;
 import jakarta.interceptor.AroundTimeout;
 import jakarta.interceptor.Interceptor;
 import jakarta.interceptor.Interceptors;
-import java.lang.annotation.Annotation;
-import java.lang.reflect.Method;
-import java.util.*;
-import java.util.logging.Level;
 
 /**
  * @author Jagadish Ramu
@@ -48,31 +65,30 @@
     public DataSourceDefinitionHandler() {
     }
 
+    @Override
     protected HandlerProcessingResult processAnnotation(AnnotationInfo ainfo, ResourceContainerContext[] rcContexts)
             throws AnnotationProcessorException {
-        DataSourceDefinition dataSourceDefnAn =
-                (DataSourceDefinition)ainfo.getAnnotation();
+        DataSourceDefinition dataSourceDefnAn = (DataSourceDefinition) ainfo.getAnnotation();
         return processAnnotation(dataSourceDefnAn, ainfo, rcContexts);
     }
 
     protected HandlerProcessingResult processAnnotation(DataSourceDefinition dataSourceDefnAn, AnnotationInfo aiInfo,
-                                                        ResourceContainerContext[] rcContexts)
-            throws AnnotationProcessorException {
-        Class annotatedClass = (Class)aiInfo.getAnnotatedElement();
+            ResourceContainerContext[] rcContexts) throws AnnotationProcessorException {
+        Class annotatedClass = (Class) aiInfo.getAnnotatedElement();
         Annotation[] annotations = annotatedClass.getAnnotations();
         boolean warClass = isAWebComponentClass(annotations);
         boolean ejbClass = isAEjbComponentClass(annotations);
 
-        for(ResourceContainerContext context : rcContexts){
-                if (!canProcessAnnotation(annotatedClass, ejbClass, warClass, context)){
-                    return getDefaultProcessedResult();
-                }
+        for (ResourceContainerContext context : rcContexts) {
+            if (!canProcessAnnotation(annotatedClass, ejbClass, warClass, context)) {
+                return getDefaultProcessedResult();
+            }
 
             Set<ResourceDescriptor> dsdDescs = context.getResourceDescriptors(JavaEEResourceType.DSD);
             DataSourceDefinitionDescriptor desc = createDescriptor(dataSourceDefnAn);
-            if(isDefinitionAlreadyPresent(dsdDescs, desc)){
+            if (isDefinitionAlreadyPresent(dsdDescs, desc)) {
                 merge(dsdDescs, dataSourceDefnAn);
-            }else{
+            } else {
                 dsdDescs.add(desc);
             }
         }
@@ -80,11 +96,12 @@
     }
 
     /**
-     * To take care of the case where an ejb is provided in a .war and
-     * annotation processor will process this class twice (once for ejb and
-     * once for web-bundle-context, which is a bug).<br>
+     * To take care of the case where an ejb is provided in a .war and annotation
+     * processor will process this class twice (once for ejb and once for
+     * web-bundle-context, which is a bug).<br>
      * This method helps to overcome the issue, partially.<br>
-     * Checks whether both the annotated class and the context are either ejb or web.
+     * Checks whether both the annotated class and the context are either ejb or
+     * web.
      *
      * @param annotatedClass annotated-class
      * @param ejbClass indicates whether the class is an ejb-class
@@ -92,16 +109,12 @@
      * @param context resource-container-context
      * @return boolean indicates whether the annotation can be processed.
      */
-    private boolean canProcessAnnotation(Class annotatedClass, boolean ejbClass, boolean warClass,
-                                         ResourceContainerContext context) {
+    private boolean canProcessAnnotation(Class annotatedClass, boolean ejbClass, boolean warClass, ResourceContainerContext context) {
         if (ejbClass) {
-            if (!(context instanceof EjbBundleContext ||
-                    context instanceof EjbContext ||
-                    context instanceof EjbInterceptorContext
-            )) {
+            if (!(context instanceof EjbBundleContext || context instanceof EjbContext || context instanceof EjbInterceptorContext)) {
                 if (logger.isLoggable(Level.FINEST)) {
-                    logger.log(Level.FINEST, "Ignoring @DataSourceDefinition annotation processing as the class is " +
-                            "an EJB class and context is not one of EJBContext");
+                    logger.log(Level.FINEST, "Ignoring @DataSourceDefinition annotation processing as the class is "
+                            + "an EJB class and context is not one of EJBContext");
                 }
                 return false;
             }
@@ -111,18 +124,17 @@
             EjbDescriptor[] ejbDescriptor = ejbBundleDescriptor.getEjbByClassName(annotatedClass.getName());
             if (ejbDescriptor == null || ejbDescriptor.length == 0) {
                 if (logger.isLoggable(Level.FINEST)) {
-                    logger.log(Level.FINEST, "Ignoring @DataSourceDefinition annotation processing as the class " +
-                            "[ " + annotatedClass + " ] is " +
-                            "not an EJB class and the context is EJBContext");
+                    logger.log(Level.FINEST, "Ignoring @DataSourceDefinition annotation processing as the class " + "[ " + annotatedClass
+                            + " ] is " + "not an EJB class and the context is EJBContext");
                 }
                 return false;
             }
         } else if (warClass) {
             if (!(context instanceof WebBundleContext || context instanceof WebComponentsContext
-                    || context instanceof WebComponentContext )) {
+                    || context instanceof WebComponentContext)) {
                 if (logger.isLoggable(Level.FINEST)) {
-                    logger.log(Level.FINEST, "Ignoring @DataSourceDefinition annotation processing as the class is " +
-                            "an Web class and context is not one of WebContext");
+                    logger.log(Level.FINEST, "Ignoring @DataSourceDefinition annotation processing as the class is "
+                            + "an Web class and context is not one of WebContext");
                 }
                 return false;
             }
@@ -130,38 +142,35 @@
             WebBundleContext webBundleContext = (WebBundleContext) context;
             WebBundleDescriptor webBundleDescriptor = webBundleContext.getDescriptor();
             Collection<RootDeploymentDescriptor> extDesc = webBundleDescriptor.getExtensionsDescriptors();
-            for(RootDeploymentDescriptor desc : extDesc){
-                if(desc instanceof EjbBundleDescriptor){
-                    EjbBundleDescriptor ejbBundleDesc = (EjbBundleDescriptor)desc;
+            for (RootDeploymentDescriptor desc : extDesc) {
+                if (desc instanceof EjbBundleDescriptor) {
+                    EjbBundleDescriptor ejbBundleDesc = (EjbBundleDescriptor) desc;
                     EjbDescriptor[] ejbDescs = ejbBundleDesc.getEjbByClassName(annotatedClass.getName());
-                    if(ejbDescs != null && ejbDescs.length > 0){
+                    if (ejbDescs != null && ejbDescs.length > 0) {
                         if (logger.isLoggable(Level.FINEST)) {
-                            logger.log(Level.FINEST, "Ignoring @DataSourceDefinition annotation processing as the class " +
-                                    "[ " + annotatedClass + " ] is " +
-                                    "not an Web class and the context is WebContext");
+                            logger.log(Level.FINEST, "Ignoring @DataSourceDefinition annotation processing as the class " + "[ "
+                                    + annotatedClass + " ] is " + "not an Web class and the context is WebContext");
                         }
                         return false;
-                    }else if(ejbBundleDesc.getInterceptorByClassName(annotatedClass.getName()) != null){
-                            if (logger.isLoggable(Level.FINEST)) {
-                                logger.log(Level.FINEST, "Ignoring @DataSourceDefinition annotation processing " +
-                                        "as the class " +
-                                        "[ " + annotatedClass + " ] is " +
-                                        "not an Web class and the context is WebContext");
-                            }
-                            return false;
-                    }else{
+                    } else if (ejbBundleDesc.getInterceptorByClassName(annotatedClass.getName()) != null) {
+                        if (logger.isLoggable(Level.FINEST)) {
+                            logger.log(Level.FINEST, "Ignoring @DataSourceDefinition annotation processing " + "as the class " + "[ "
+                                    + annotatedClass + " ] is " + "not an Web class and the context is WebContext");
+                        }
+                        return false;
+                    } else {
                         Method[] methods = annotatedClass.getDeclaredMethods();
-                        for(Method method : methods){
+                        for (Method method : methods) {
                             Annotation annotations[] = method.getAnnotations();
-                            for(Annotation annotation : annotations){
-                                if(annotation.annotationType().equals(AroundInvoke.class) ||
-                                        annotation.annotationType().equals(AroundTimeout.class) ||
-                                        annotation.annotationType().equals(Interceptors.class)) {
+                            for (Annotation annotation : annotations) {
+                                if (annotation.annotationType().equals(AroundInvoke.class)
+                                        || annotation.annotationType().equals(AroundTimeout.class)
+                                        || annotation.annotationType().equals(Interceptors.class)) {
                                     if (logger.isLoggable(Level.FINEST)) {
-                                        logger.log(Level.FINEST, "Ignoring @DataSourceDefinition annotation processing " +
-                                                "as the class " +
-                                                "[ " + annotatedClass + " ] is " +
-                                                "not an Web class, an interceptor and the context is WebContext");
+                                        logger.log(Level.FINEST,
+                                                "Ignoring @DataSourceDefinition annotation processing " + "as the class " + "[ "
+                                                        + annotatedClass + " ] is "
+                                                        + "not an Web class, an interceptor and the context is WebContext");
                                     }
                                     return false;
                                 }
@@ -174,11 +183,10 @@
         return true;
     }
 
-    private boolean isDefinitionAlreadyPresent(Set<ResourceDescriptor> dsdDescs,
-                                               DataSourceDefinitionDescriptor desc) {
-        boolean result = false ;
-        for(ResourceDescriptor descriptor : dsdDescs){
-            if(descriptor.equals(desc)){
+    private boolean isDefinitionAlreadyPresent(Set<ResourceDescriptor> dsdDescs, DataSourceDefinitionDescriptor desc) {
+        boolean result = false;
+        for (ResourceDescriptor descriptor : dsdDescs) {
+            if (descriptor.equals(desc)) {
                 result = true;
                 break;
             }
@@ -186,11 +194,11 @@
         return result;
     }
 
-
+    @Override
     public Class<? extends Annotation>[] getTypeDependencies() {
-        Class<? extends Annotation> [] annotations = getEjbAndWebAnnotationTypes();
-        List<Class <? extends Annotation>> annotationsList = new ArrayList<Class <? extends Annotation>>();
-        for(Class<? extends Annotation> annotation : annotations){
+        Class<? extends Annotation>[] annotations = getEjbAndWebAnnotationTypes();
+        List<Class<? extends Annotation>> annotationsList = new ArrayList<Class<? extends Annotation>>();
+        for (Class<? extends Annotation> annotation : annotations) {
             annotationsList.add(annotation);
         }
         annotationsList.add(Interceptors.class);
@@ -202,11 +210,10 @@
         return annotationsList.toArray(result);
     }
 
-
     private void merge(Set<ResourceDescriptor> dsdDescs, DataSourceDefinition defn) {
 
         for (ResourceDescriptor orgdesc : dsdDescs) {
-            DataSourceDefinitionDescriptor desc = (DataSourceDefinitionDescriptor)orgdesc;
+            DataSourceDefinitionDescriptor desc = (DataSourceDefinitionDescriptor) orgdesc;
             if (desc.getName().equals(defn.name())) {
 
                 if (desc.getClassName() == null) {
@@ -221,36 +228,37 @@
 
                 // When either URL or Standard properties are specified in DD, annotation values
                 // (of URL or standard properties) are ignored.
-                // DD values will win as either of URL or standard properties will be present most of the times.
-                // Only when neither URL nor standard properties are not present, annotation values are considered.
+                // DD values will win as either of URL or standard properties will be present
+                // most of the times.
+                // Only when neither URL nor standard properties are not present, annotation
+                // values are considered.
                 // In such case, standard properties take precedence over URL.
 
-                //try only when URL is not set
+                // try only when URL is not set
                 if (!desc.isServerNameSet() && desc.getUrl() == null) {
-                    //localhost is the default value (even in the descriptor)
+                    // localhost is the default value (even in the descriptor)
                     if (defn.serverName() != null && !defn.serverName().equals("localhost")) {
                         desc.setServerName(defn.serverName());
                     }
                 }
 
-                //try only when URL is not set
+                // try only when URL is not set
                 if (desc.getPortNumber() == -1 && desc.getUrl() == null) {
                     if (defn.portNumber() != -1) {
                         desc.setPortNumber(defn.portNumber());
                     }
                 }
 
-                //try only when URL is not set
+                // try only when URL is not set
                 if (desc.getDatabaseName() == null && desc.getUrl() == null) {
                     if (defn.databaseName() != null && !defn.databaseName().equals("")) {
                         desc.setDatabaseName(defn.databaseName());
                     }
                 }
 
-                //try only when URL or standard properties are not set
-                if (desc.getUrl() == null &&
-                        !(desc.getPortNumber() != -1 && desc.getServerName() != null &&
-                                (desc.getDatabaseName() != null))) {
+                // try only when URL or standard properties are not set
+                if (desc.getUrl() == null
+                        && !(desc.getPortNumber() != -1 && desc.getServerName() != null && (desc.getDatabaseName() != null))) {
                     if (defn.url() != null && !defn.url().equals("")) {
                         desc.setUrl(defn.url());
                     }
@@ -264,7 +272,7 @@
                 }
 
                 if (desc.getPassword() == null) {
-                    if (defn.password() != null /*ALLOW EMPTY PASSWORDS && !defn.password().equals("")*/) {
+                    if (defn.password() != null /* ALLOW EMPTY PASSWORDS && !defn.password().equals("") */) {
                         desc.setPassword(defn.password());
                     }
                 }
@@ -329,7 +337,7 @@
                         if (index > -1 && index != 0 && index < property.length() - 1) {
                             String name = property.substring(0, index);
                             String value = property.substring(index + 1);
-                            //add to properties only when not already present
+                            // add to properties only when not already present
                             if (properties.get(name) == null) {
                                 properties.put(name, value);
                             }
@@ -342,7 +350,6 @@
 
     }
 
-
     private DataSourceDefinitionDescriptor createDescriptor(DataSourceDefinition defn) {
 
         DataSourceDefinitionDescriptor desc = new DataSourceDefinitionDescriptor();
@@ -363,13 +370,12 @@
             desc.setPortNumber(defn.portNumber());
         }
 
-
         if (defn.databaseName() != null && !defn.databaseName().equals("")) {
             desc.setDatabaseName(defn.databaseName());
         }
 
         if ((desc.getPortNumber() != -1 && desc.getDatabaseName() != null && desc.getServerName() != null)) {
-            //standard properties are set, ignore URL
+            // standard properties are set, ignore URL
         } else {
             if (defn.url() != null && !defn.url().equals("")) {
                 desc.setUrl(defn.url());
@@ -380,7 +386,7 @@
             desc.setUser(defn.user());
         }
 
-        if (defn.password() != null /*ALLOW EMPTY PASSWORDS && !defn.password().equals("")*/) {
+        if (defn.password() != null /* ALLOW EMPTY PASSWORDS && !defn.password().equals("") */) {
             desc.setPassword(defn.password());
         }
 
@@ -416,7 +422,6 @@
             desc.setLoginTimeout(String.valueOf(defn.loginTimeout()));
         }
 
-
         if (defn.properties() != null) {
             Properties properties = desc.getProperties();
 
diff --git a/appserver/jdbc/jdbc-runtime/src/main/java/org/glassfish/jdbcruntime/deployment/annotation/handlers/DataSourceDefinitionsHandler.java b/appserver/jdbc/jdbc-runtime/src/main/java/org/glassfish/jdbcruntime/deployment/annotation/handlers/DataSourceDefinitionsHandler.java
index ebecd03..5a6d9c4 100644
--- a/appserver/jdbc/jdbc-runtime/src/main/java/org/glassfish/jdbcruntime/deployment/annotation/handlers/DataSourceDefinitionsHandler.java
+++ b/appserver/jdbc/jdbc-runtime/src/main/java/org/glassfish/jdbcruntime/deployment/annotation/handlers/DataSourceDefinitionsHandler.java
@@ -16,23 +16,24 @@
 
 package org.glassfish.jdbcruntime.deployment.annotation.handlers;
 
-
-import com.sun.enterprise.deployment.annotation.handlers.*;
-import org.glassfish.apf.*;
-import org.jvnet.hk2.annotations.Service;
-import org.glassfish.apf.impl.HandlerProcessingResultImpl;
-
-import jakarta.annotation.sql.DataSourceDefinitions;
-import jakarta.annotation.sql.DataSourceDefinition;
 import java.lang.annotation.Annotation;
-import java.util.Set;
 import java.util.HashSet;
-import java.util.logging.Level;
+import java.util.Set;
 
-import com.sun.enterprise.deployment.annotation.context.ResourceContainerContext;
+import org.glassfish.apf.AnnotationHandlerFor;
+import org.glassfish.apf.AnnotationInfo;
+import org.glassfish.apf.AnnotationProcessorException;
+import org.glassfish.apf.HandlerProcessingResult;
+import org.jvnet.hk2.annotations.Service;
+
 import com.sun.enterprise.deployment.DataSourceDefinitionDescriptor;
+import com.sun.enterprise.deployment.annotation.context.ResourceContainerContext;
+import com.sun.enterprise.deployment.annotation.handlers.AbstractResourceHandler;
 import com.sun.enterprise.util.LocalStringManagerImpl;
 
+import jakarta.annotation.sql.DataSourceDefinition;
+import jakarta.annotation.sql.DataSourceDefinitions;
+
 /**
  * @author Jagadish Ramu
  */
@@ -40,34 +41,33 @@
 @AnnotationHandlerFor(DataSourceDefinitions.class)
 public class DataSourceDefinitionsHandler extends AbstractResourceHandler {
 
-    protected final static LocalStringManagerImpl localStrings =
-            new LocalStringManagerImpl(DataSourceDefinitionsHandler.class);
+    protected final static LocalStringManagerImpl localStrings = new LocalStringManagerImpl(DataSourceDefinitionsHandler.class);
 
     public DataSourceDefinitionsHandler() {
     }
 
+    @Override
     protected HandlerProcessingResult processAnnotation(AnnotationInfo ainfo, ResourceContainerContext[] rcContexts)
             throws AnnotationProcessorException {
         DataSourceDefinitions defns = (DataSourceDefinitions) ainfo.getAnnotation();
 
         DataSourceDefinition values[] = defns.value();
         Set duplicates = new HashSet();
-        if(values != null && values.length >0){
-            for(DataSourceDefinition defn : values){
+        if (values != null && values.length > 0) {
+            for (DataSourceDefinition defn : values) {
                 String defnName = DataSourceDefinitionDescriptor.getJavaName(defn.name());
 
-                if(duplicates.contains(defnName)){
-                String localString = localStrings.getLocalString(
-                        "enterprise.deployment.annotation.handlers.datasourcedefinitionsduplicates",
-                        "@DataSourceDefinitions cannot have multiple definitions with same name : ''{0}''",
-                        defnName);
+                if (duplicates.contains(defnName)) {
+                    String localString = localStrings.getLocalString(
+                            "enterprise.deployment.annotation.handlers.datasourcedefinitionsduplicates",
+                            "@DataSourceDefinitions cannot have multiple definitions with same name : ''{0}''", defnName);
                     throw new IllegalStateException(localString);
                     /*
-                    //TODO V3 should we throw exception or return failure result ?
-                    return getFailureResult(ainfo, "@DataSourceDefinitions cannot have multiple" +
-                            " definitions with same name [ "+defnName+" ]", true );
-                    */
-                }else{
+                     * //TODO V3 should we throw exception or return failure result ? return
+                     * getFailureResult(ainfo, "@DataSourceDefinitions cannot have multiple" +
+                     * " definitions with same name [ "+defnName+" ]", true );
+                     */
+                } else {
                     duplicates.add(defnName);
                 }
                 DataSourceDefinitionHandler handler = new DataSourceDefinitionHandler();
@@ -78,21 +78,19 @@
         return getDefaultProcessedResult();
     }
 
-/*    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();
-            String localString = localStrings.getLocalString(
-                    "enterprise.deployment.annotation.handlers.datasourcedefinitionsfailure",
-                    "failed to handle annotation [ {0} ] on class [ {1} ] due to the following exception : ",
-                    element.getAnnotation(), className);
-            logger.log(Level.WARNING, localString, message);
-        }
-        return result;
-    }
-*/
+    /*
+     * 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(); String
+     * localString = localStrings.getLocalString(
+     * "enterprise.deployment.annotation.handlers.datasourcedefinitionsfailure",
+     * "failed to handle annotation [ {0} ] on class [ {1} ] due to the following exception : "
+     * , element.getAnnotation(), className); logger.log(Level.WARNING, localString,
+     * message); } return result; }
+     */
+    @Override
     public Class<? extends Annotation>[] getTypeDependencies() {
         return getEjbAndWebAnnotationTypes();
     }
diff --git a/appserver/jdbc/jdbc-runtime/src/main/java/org/glassfish/jdbcruntime/service/JdbcAdminServiceImpl.java b/appserver/jdbc/jdbc-runtime/src/main/java/org/glassfish/jdbcruntime/service/JdbcAdminServiceImpl.java
index 0a0fa21..717f639 100644
--- a/appserver/jdbc/jdbc-runtime/src/main/java/org/glassfish/jdbcruntime/service/JdbcAdminServiceImpl.java
+++ b/appserver/jdbc/jdbc-runtime/src/main/java/org/glassfish/jdbcruntime/service/JdbcAdminServiceImpl.java
@@ -16,6 +16,27 @@
 
 package org.glassfish.jdbcruntime.service;
 
+import static com.sun.enterprise.connectors.util.ConnectionPoolObjectsUtils.getValueFromMCF;
+import static java.util.logging.Level.FINEST;
+import static java.util.logging.Level.WARNING;
+
+import java.io.File;
+import java.lang.reflect.InvocationTargetException;
+import java.lang.reflect.Method;
+import java.sql.Connection;
+import java.sql.DatabaseMetaData;
+import java.util.Enumeration;
+import java.util.Properties;
+import java.util.Set;
+import java.util.SortedSet;
+import java.util.TreeSet;
+import java.util.logging.Level;
+
+import javax.naming.NamingException;
+
+import org.glassfish.resourcebase.resources.api.PoolInfo;
+import org.jvnet.hk2.annotations.Service;
+
 import com.sun.appserv.connectors.internal.api.ConnectorConstants;
 import com.sun.enterprise.connectors.ConnectorConnectionPool;
 import com.sun.enterprise.connectors.ConnectorRuntime;
@@ -23,22 +44,12 @@
 import com.sun.enterprise.connectors.service.ConnectorAdminServicesFactory;
 import com.sun.enterprise.connectors.service.ConnectorConnectionPoolAdminServiceImpl;
 import com.sun.enterprise.connectors.service.ConnectorService;
-import com.sun.enterprise.connectors.util.ConnectionPoolObjectsUtils;
 import com.sun.enterprise.connectors.util.DriverLoader;
-import org.glassfish.resourcebase.resources.api.PoolInfo;
-import org.jvnet.hk2.annotations.Service;
 
 import jakarta.inject.Singleton;
-import javax.naming.NamingException;
 import jakarta.resource.ResourceException;
 import jakarta.resource.spi.ManagedConnection;
 import jakarta.resource.spi.ManagedConnectionFactory;
-import java.io.File;
-import java.lang.reflect.InvocationTargetException;
-import java.lang.reflect.Method;
-import java.sql.DatabaseMetaData;
-import java.util.*;
-import java.util.logging.Level;
 
 /**
  * Jdbc admin service performs Jdbc related operations for administration.
@@ -51,11 +62,13 @@
 
     private ConnectorConnectionPoolAdminServiceImpl ccPoolAdmService;
     private static final String DBVENDOR_MAPPINGS_ROOT =
-            System.getProperty(ConnectorConstants.INSTALL_ROOT) + File.separator +
-            "lib" + File.separator + "install" + File.separator + "databases" +
-            File.separator + "dbvendormapping" + File.separator;
-    private final static String JDBC40_CONNECTION_VALIDATION =
-            "org.glassfish.api.jdbc.validation.JDBC40ConnectionValidation";
+        System.getProperty(ConnectorConstants.INSTALL_ROOT) + File.separator +
+        "lib" + File.separator +
+        "install" + File.separator +
+        "databases" + File.separator +
+        "dbvendormapping" + File.separator;
+
+    private final static String JDBC40_CONNECTION_VALIDATION = "org.glassfish.api.jdbc.validation.JDBC40ConnectionValidation";
     private final static String DS_PROPERTIES = "ds.properties";
     private final static String CPDS_PROPERTIES = "cpds.properties";
     private final static String XADS_PROPERTIES = "xads.properties";
@@ -69,35 +82,36 @@
      */
     public JdbcAdminServiceImpl() {
         super();
-        //jdbcAdminService = this;
-        ccPoolAdmService = (ConnectorConnectionPoolAdminServiceImpl)
-                ConnectorAdminServicesFactory.getService(ConnectorConstants.CCP);
+        ccPoolAdmService = (ConnectorConnectionPoolAdminServiceImpl) ConnectorAdminServicesFactory.getService(ConnectorConstants.CCP);
     }
 
     public static JdbcAdminServiceImpl getJdbcAdminService() {
         if (jdbcAdminService == null) {
             throw new RuntimeException("JDBC admin service not initialized");
         }
+
         return jdbcAdminService;
     }
 
     /**
-     * Get Validation class names list for the classname that the jdbc
-     * connection pool refers to. This is used for custom connection validation.
+     * Get Validation class names list for the classname that the jdbc connection
+     * pool refers to. This is used for custom connection validation.
+     *
      * @param className
      * @return all validation class names.
      */
     public Set<String> getValidationClassNames(String className) {
         SortedSet classNames = new TreeSet();
-        if(className == null) {
-            _logger.log(Level.WARNING, "jdbc.admin.service.ds_class_name_null");
+        if (className == null) {
+            _logger.log(WARNING, "jdbc.admin.service.ds_class_name_null");
             return classNames;
         }
         File validationClassMappingFile;
         String dbVendor = getDatabaseVendorName(className);
 
-        //Retrieve validation classnames from the properties file based on the retrieved
-        //dbvendor name
+        // Retrieve validation classnames from the properties file based on the
+        // retrieved
+        // dbvendor name
         if (dbVendor != null) {
             validationClassMappingFile = new File(DBVENDOR_MAPPINGS_ROOT + CONVAL_PROPERTIES);
             Properties validationClassMappings = DriverLoader.loadFile(validationClassMappingFile);
@@ -105,7 +119,7 @@
             if (validationClassName != null) {
                 classNames.add(validationClassName);
             }
-            //If JDBC40 runtime, add the jdbc40 validation classname
+            // If JDBC40 runtime, add the jdbc40 validation classname
             if (detectJDBC40(className)) {
                 classNames.add(JDBC40_CONNECTION_VALIDATION);
             }
@@ -114,19 +128,15 @@
     }
 
     private String getDatabaseVendorName(String className) {
-        String dbVendor = getDatabaseVendorName(DriverLoader.loadFile(
-                new File(DBVENDOR_MAPPINGS_ROOT + DS_PROPERTIES)), className);
-        if(dbVendor == null) {
-            dbVendor = getDatabaseVendorName(DriverLoader.loadFile(
-                new File(DBVENDOR_MAPPINGS_ROOT + CPDS_PROPERTIES)), className);
+        String dbVendor = getDatabaseVendorName(DriverLoader.loadFile(new File(DBVENDOR_MAPPINGS_ROOT + DS_PROPERTIES)), className);
+        if (dbVendor == null) {
+            dbVendor = getDatabaseVendorName(DriverLoader.loadFile(new File(DBVENDOR_MAPPINGS_ROOT + CPDS_PROPERTIES)), className);
         }
-        if(dbVendor == null) {
-            dbVendor = getDatabaseVendorName(DriverLoader.loadFile(
-                new File(DBVENDOR_MAPPINGS_ROOT + XADS_PROPERTIES)), className);
+        if (dbVendor == null) {
+            dbVendor = getDatabaseVendorName(DriverLoader.loadFile(new File(DBVENDOR_MAPPINGS_ROOT + XADS_PROPERTIES)), className);
         }
-        if(dbVendor == null) {
-            dbVendor = getDatabaseVendorName(DriverLoader.loadFile(
-                new File(DBVENDOR_MAPPINGS_ROOT + DRIVER_PROPERTIES)), className);
+        if (dbVendor == null) {
+            dbVendor = getDatabaseVendorName(DriverLoader.loadFile(new File(DBVENDOR_MAPPINGS_ROOT + DRIVER_PROPERTIES)), className);
         }
         return dbVendor;
     }
@@ -134,11 +144,11 @@
     private String getDatabaseVendorName(Properties classNameProperties, String className) {
         String dbVendor = null;
         Enumeration e = classNameProperties.propertyNames();
-        while(e.hasMoreElements()) {
+        while (e.hasMoreElements()) {
             String key = (String) e.nextElement();
             String value = classNameProperties.getProperty(key);
-            if(className.equalsIgnoreCase(value)){
-                //There could be multiple keys for a particular value.
+            if (className.equalsIgnoreCase(value)) {
+                // There could be multiple keys for a particular value.
                 dbVendor = key;
                 break;
             }
@@ -148,14 +158,13 @@
 
     private boolean detectJDBC40(String className) {
         boolean jdbc40 = true;
-        ClassLoader commonClassLoader =
-                ConnectorRuntime.getRuntime().getClassLoaderHierarchy().getCommonClassLoader();
+        ClassLoader commonClassLoader = ConnectorRuntime.getRuntime().getClassLoaderHierarchy().getCommonClassLoader();
         Class cls = null;
         try {
             cls = commonClassLoader.loadClass(className);
         } catch (ClassNotFoundException e) {
-            if(_logger.isLoggable(Level.FINEST)) {
-                _logger.log(Level.FINEST, "jdbc.admin.service.ex_detect_jdbc40");
+            if (_logger.isLoggable(FINEST)) {
+                _logger.log(FINEST, "jdbc.admin.service.ex_detect_jdbc40");
             }
             return false;
         }
@@ -165,21 +174,21 @@
             method.invoke(cls.newInstance(), javax.sql.DataSource.class);
         } catch (NoSuchMethodException e) {
             jdbc40 = false;
-            if(_logger.isLoggable(Level.FINEST)) {
-                _logger.log(Level.FINEST, "jdbc.admin.service.ex_detect_jdbc40");
+            if (_logger.isLoggable(FINEST)) {
+                _logger.log(FINEST, "jdbc.admin.service.ex_detect_jdbc40");
             }
         } catch (InvocationTargetException e) {
-            if(e.getCause() instanceof AbstractMethodError) {
+            if (e.getCause() instanceof AbstractMethodError) {
                 jdbc40 = false;
             }
         } catch (InstantiationException e) {
-            if(_logger.isLoggable(Level.FINEST)) {
-                _logger.log(Level.FINEST, "jdbc.admin.service.ex_detect_jdbc40");
+            if (_logger.isLoggable(FINEST)) {
+                _logger.log(FINEST, "jdbc.admin.service.ex_detect_jdbc40");
             }
             jdbc40 = false;
         } catch (IllegalAccessException e) {
-            if(_logger.isLoggable(Level.FINEST)) {
-                _logger.log(Level.FINEST, "jdbc.admin.service.ex_detect_jdbc40");
+            if (_logger.isLoggable(FINEST)) {
+                _logger.log(FINEST, "jdbc.admin.service.ex_detect_jdbc40");
             }
             jdbc40 = false;
         }
@@ -187,60 +196,55 @@
     }
 
     /**
-     * Get Validation table names list for the database that the jdbc
-     * connection pool refers to. This is used for connection validation.
+     * Get Validation table names list for the database that the jdbc connection
+     * pool refers to. This is used for connection validation.
+     *
      * @param poolInfo
      * @return all validation table names.
      * @throws jakarta.resource.ResourceException
      * @throws javax.naming.NamingException
      */
-    public Set<String> getValidationTableNames(PoolInfo poolInfo)
-            throws ResourceException {
-        ManagedConnectionFactory mcf = null;
-        ManagedConnection mc = null;
-        java.sql.Connection con = null;
+    public Set<String> getValidationTableNames(PoolInfo poolInfo) throws ResourceException {
+        ManagedConnectionFactory managedConnectionFactory = null;
+        ManagedConnection managedConnection = null;
+        Connection connection = null;
         try {
-            mc = (ManagedConnection) ccPoolAdmService.getUnpooledConnection(poolInfo, null, false);
-            mcf = ccPoolAdmService.obtainManagedConnectionFactory(poolInfo);
+            managedConnection = (ManagedConnection) ccPoolAdmService.getUnpooledConnection(poolInfo, null, false);
+            managedConnectionFactory = ccPoolAdmService.obtainManagedConnectionFactory(poolInfo);
 
-            if (mc != null) {
-                con = (java.sql.Connection) mc.getConnection(null, null);
+            if (managedConnection != null) {
+                connection = (Connection) managedConnection.getConnection(null, null);
             }
-            return getValidationTableNames(con,
-                    getDefaultDatabaseName(poolInfo, mcf));
-        } catch(Exception re) {
-            _logger.log(Level.WARNING, "pool.get_validation_table_names_failure", re.getMessage());
+            return getValidationTableNames(connection, getDefaultDatabaseName(poolInfo, managedConnectionFactory));
+        } catch (Exception re) {
+            _logger.log(WARNING, "pool.get_validation_table_names_failure", re.getMessage());
             throw new ResourceException(re);
         } finally {
             try {
-                if(mc != null) {
-                    mc.destroy();
+                if (managedConnection != null) {
+                    managedConnection.destroy();
                 }
-            } catch(Exception ex) {
-                if(_logger.isLoggable(Level.FINEST)) {
-                    _logger.log(Level.FINEST, "pool.get_validation_table_names_mc_destroy", poolInfo);
-                }
+            } catch (Exception ex) {
+                _logger.log(FINEST, "pool.get_validation_table_names_mc_destroy", poolInfo);
             }
         }
     }
 
     /**
      * Returns a databaseName that is populated in pool's default DATABASENAME
+     *
      * @param poolInfo
-     * @param mcf
+     * @param managedConnectionFactory
      * @return
      * @throws javax.naming.NamingException if poolName lookup fails
      */
-    private String getDefaultDatabaseName(PoolInfo poolInfo, ManagedConnectionFactory mcf)
-            throws NamingException {
+    private String getDefaultDatabaseName(PoolInfo poolInfo, ManagedConnectionFactory managedConnectionFactory) throws NamingException {
         // All this to get the default user name and principal
         String databaseName = null;
         ConnectorConnectionPool connectorConnectionPool = null;
         try {
             String jndiNameForPool = ConnectorAdminServiceUtils.getReservePrefixedJNDINameForPool(poolInfo);
-            connectorConnectionPool = (ConnectorConnectionPool)
-                    _runtime.getResourceNamingService().
-                            lookup(poolInfo, jndiNameForPool, null);
+            connectorConnectionPool = (ConnectorConnectionPool) _runtime.getResourceNamingService().lookup(poolInfo, jndiNameForPool, null);
         } catch (NamingException ne) {
             throw ne;
         }
@@ -250,25 +254,25 @@
         // To avoid using "" as the default databasename, try to get
         // the databasename from MCF.
         if (databaseName == null || databaseName.trim().equals("")) {
-            databaseName = ConnectionPoolObjectsUtils.getValueFromMCF("DatabaseName", poolInfo, mcf);
+            databaseName = getValueFromMCF("DatabaseName", poolInfo, managedConnectionFactory);
         }
+
         return databaseName;
     }
 
     /**
-     * Get Validation table names list for the catalog that the jdbc
-     * connection pool refers to. This is used for connection validation.
+     * Get Validation table names list for the catalog that the jdbc connection pool
+     * refers to. This is used for connection validation.
+     *
      * @param con
      * @param catalog database name used.
      * @return
      * @throws jakarta.resource.ResourceException
      */
-    public static Set<String> getValidationTableNames(java.sql.Connection con, String catalog)
-            throws ResourceException {
-
+    public static Set<String> getValidationTableNames(java.sql.Connection con, String catalog) throws ResourceException {
 
         SortedSet<String> tableNames = new TreeSet();
-        if(catalog.trim().equals("")) {
+        if (catalog.trim().equals("")) {
             catalog = null;
         }
 
@@ -277,11 +281,11 @@
             try {
                 DatabaseMetaData dmd = con.getMetaData();
                 rs = dmd.getTables(catalog, null, null, null);
-                while(rs.next()) {
+                while (rs.next()) {
                     String schemaName = rs.getString(2);
                     String tableName = rs.getString(3);
                     String actualTableName = tableName;
-                    if(schemaName != null && !schemaName.equals("")){
+                    if (schemaName != null && !schemaName.equals("")) {
                         actualTableName = schemaName + "." + tableName;
                     }
                     tableNames.add(actualTableName);
@@ -294,48 +298,12 @@
                     if (rs != null) {
                         rs.close();
                     }
-                } catch (Exception e1) {}
+                } catch (Exception e1) {
+                }
             }
         } else {
-            throw new ResourceException("The connection is not valid as "
-                    + "the connection is null");
+            throw new ResourceException("The connection is not valid as " + "the connection is null");
         }
         return tableNames;
     }
-
-    /**
-     * Utility method to check if the retrieved table is accessible, since this
-     * will be used for connection validation method "table".
-     * @param tableName
-     * @param con
-     * @return accessibility status of the table.
-     */
-    /*private static boolean isPingable(String tableName, java.sql.Connection con) {
-        java.sql.PreparedStatement stmt = null;
-        java.sql.ResultSet rs = null;
-        final String sql = "SELECT COUNT(*) FROM " + tableName;
-        try {
-            stmt = con.prepareStatement(sql);
-            rs = stmt.executeQuery();
-        } catch (Exception sqle) {
-            _logger.log(Level.INFO, "pool.exc_is_pingable", tableName);
-            return false;
-
-        } finally {
-            try {
-                if (rs != null) {
-                    rs.close();
-                }
-            } catch (Exception e1) {
-            }
-
-            try {
-                if (stmt != null) {
-                    stmt.close();
-                }
-            } catch (Exception e2) {
-            }
-        }
-        return true;
-    } */
 }
diff --git a/appserver/jdbc/jdbc-runtime/src/main/java/org/glassfish/jdbcruntime/service/JdbcDataSource.java b/appserver/jdbc/jdbc-runtime/src/main/java/org/glassfish/jdbcruntime/service/JdbcDataSource.java
index 07333bc..3e974fc 100644
--- a/appserver/jdbc/jdbc-runtime/src/main/java/org/glassfish/jdbcruntime/service/JdbcDataSource.java
+++ b/appserver/jdbc/jdbc-runtime/src/main/java/org/glassfish/jdbcruntime/service/JdbcDataSource.java
@@ -16,20 +16,23 @@
 
 package org.glassfish.jdbcruntime.service;
 
-import com.sun.appserv.connectors.internal.api.ConnectorRuntimeException;
-import com.sun.appserv.connectors.internal.api.ConnectorsUtil;
-import com.sun.enterprise.connectors.ConnectorRuntime;
-import com.sun.enterprise.connectors.util.ResourcesUtil;
-import org.glassfish.jdbc.config.JdbcResource;
-import org.glassfish.resourcebase.resources.api.ResourceInfo;
+import static com.sun.appserv.connectors.internal.api.ConnectorsUtil.getValidSuffix;
 
-import javax.sql.DataSource;
 import java.io.PrintWriter;
 import java.sql.Connection;
 import java.sql.SQLException;
 import java.sql.SQLFeatureNotSupportedException;
 import java.util.logging.Logger;
 
+import javax.sql.DataSource;
+
+import org.glassfish.jdbc.config.JdbcResource;
+import org.glassfish.resourcebase.resources.api.ResourceInfo;
+
+import com.sun.appserv.connectors.internal.api.ConnectorRuntimeException;
+import com.sun.enterprise.connectors.ConnectorRuntime;
+import com.sun.enterprise.connectors.util.ResourcesUtil;
+
 public class JdbcDataSource implements DataSource {
     private ResourceInfo resourceInfo;
     private PrintWriter logWriter;
@@ -43,52 +46,62 @@
     private void validateResource(ResourceInfo resourceInfo) throws ConnectorRuntimeException {
         ResourcesUtil resourcesUtil = ResourcesUtil.createInstance();
         String jndiName = resourceInfo.getName();
-        String suffix = ConnectorsUtil.getValidSuffix(jndiName);
+        String suffix = getValidSuffix(jndiName);
 
-        if(suffix != null){
-            //Typically, resource is created without suffix. Try without suffix.
+        if (suffix != null) {
+            // Typically, resource is created without suffix. Try without suffix.
             String tmpJndiName = jndiName.substring(0, jndiName.lastIndexOf(suffix));
-            if(resourcesUtil.getResource(tmpJndiName, resourceInfo.getApplicationName(),
-                    resourceInfo.getModuleName(), JdbcResource.class) != null){
+            if (resourcesUtil.getResource(tmpJndiName, resourceInfo.getApplicationName(), resourceInfo.getModuleName(), JdbcResource.class) != null) {
                 return;
             }
         }
 
-        if(resourcesUtil.getResource(resourceInfo, JdbcResource.class) == null){
+        if (resourcesUtil.getResource(resourceInfo, JdbcResource.class) == null) {
             throw new ConnectorRuntimeException("Invalid resource : " + resourceInfo);
         }
     }
 
+    @Override
     public Connection getConnection() throws SQLException {
         return ConnectorRuntime.getRuntime().getConnection(resourceInfo);
     }
 
+    @Override
     public Connection getConnection(String username, String password) throws SQLException {
         return ConnectorRuntime.getRuntime().getConnection(resourceInfo, username, password);
     }
 
+    @Override
     public PrintWriter getLogWriter() throws SQLException {
         return logWriter;
     }
 
+    @Override
     public void setLogWriter(PrintWriter out) throws SQLException {
-       this.logWriter = out;
+        this.logWriter = out;
     }
 
+    @Override
     public void setLoginTimeout(int seconds) throws SQLException {
-       loginTimeout = seconds;
+        loginTimeout = seconds;
     }
 
+    @Override
     public int getLoginTimeout() throws SQLException {
         return loginTimeout;
     }
-    public boolean isWrapperFor(Class<?> iface) throws SQLException{
-       throw new SQLException("Not supported operation");
-    }
-    public <T> T unwrap(Class<T> iface) throws SQLException{
-       throw new SQLException("Not supported operation");
+
+    @Override
+    public boolean isWrapperFor(Class<?> iface) throws SQLException {
+        throw new SQLException("Not supported operation");
     }
 
+    @Override
+    public <T> T unwrap(Class<T> iface) throws SQLException {
+        throw new SQLException("Not supported operation");
+    }
+
+    @Override
     public Logger getParentLogger() throws SQLFeatureNotSupportedException {
         throw new SQLFeatureNotSupportedException("Not supported operation");
     }
diff --git a/appserver/persistence/jpa-container/src/main/java/org/glassfish/persistence/jpa/EmbeddedProviderContainerContractInfo.java b/appserver/persistence/jpa-container/src/main/java/org/glassfish/persistence/jpa/EmbeddedProviderContainerContractInfo.java
index deb3272..d4417f6 100644
--- a/appserver/persistence/jpa-container/src/main/java/org/glassfish/persistence/jpa/EmbeddedProviderContainerContractInfo.java
+++ b/appserver/persistence/jpa-container/src/main/java/org/glassfish/persistence/jpa/EmbeddedProviderContainerContractInfo.java
@@ -16,16 +16,13 @@
 
 package org.glassfish.persistence.jpa;
 
-import com.sun.appserv.connectors.internal.api.ConnectorRuntime;
-import org.glassfish.api.ActionReport;
-import org.glassfish.api.admin.CommandRunner;
-import org.glassfish.api.admin.ParameterMap;
 import org.glassfish.api.deployment.DeploymentContext;
 
-import javax.naming.NamingException;
+import com.sun.appserv.connectors.internal.api.ConnectorRuntime;
 
 /**
- * Implementation of ProviderContainerContractInfo while running inside embedded server
+ * Implementation of ProviderContainerContractInfo while running inside embedded
+ * server
  *
  * @author Mitesh Meswani
  */
@@ -37,7 +34,7 @@
 
     @Override
     public boolean isWeavingEnabled() {
-        return false; //Weaving is not enabled while running in embedded environment
+        return false; // Weaving is not enabled while running in embedded environment
     }
 
 }
diff --git a/appserver/persistence/jpa-container/src/main/java/org/glassfish/persistence/jpa/JPAContainer.java b/appserver/persistence/jpa-container/src/main/java/org/glassfish/persistence/jpa/JPAContainer.java
index 2c6d478..23f2629 100644
--- a/appserver/persistence/jpa-container/src/main/java/org/glassfish/persistence/jpa/JPAContainer.java
+++ b/appserver/persistence/jpa-container/src/main/java/org/glassfish/persistence/jpa/JPAContainer.java
@@ -16,16 +16,19 @@
 
 package org.glassfish.persistence.jpa;
 
+import org.glassfish.api.container.Container;
 import org.glassfish.api.deployment.Deployer;
 import org.jvnet.hk2.annotations.Service;
 
 @Service(name = "org.glassfish.persistence.jpa.JPAContainer")
-public class JPAContainer implements org.glassfish.api.container.Container {
+public class JPAContainer implements Container {
 
+    @Override
     public Class<? extends Deployer> getDeployer() {
         return JPADeployer.class;
     }
 
+    @Override
     public String getName() {
         return "JPA";
     }
diff --git a/appserver/persistence/jpa-container/src/main/java/org/glassfish/persistence/jpa/JPADeployer.java b/appserver/persistence/jpa-container/src/main/java/org/glassfish/persistence/jpa/JPADeployer.java
index 3c6cf6a..1265783 100644
--- a/appserver/persistence/jpa-container/src/main/java/org/glassfish/persistence/jpa/JPADeployer.java
+++ b/appserver/persistence/jpa-container/src/main/java/org/glassfish/persistence/jpa/JPADeployer.java
@@ -16,46 +16,64 @@
 
 package org.glassfish.persistence.jpa;
 
-import com.sun.appserv.connectors.internal.api.ConnectorRuntime;
-import com.sun.enterprise.deployment.*;
-import com.sun.enterprise.deployment.util.DOLUtils;
-import com.sun.enterprise.module.bootstrap.StartupContext;
-import com.sun.logging.LogDomains;
+import static java.util.logging.Level.FINE;
+import static java.util.logging.Level.FINER;
+import static org.glassfish.internal.deployment.Deployment.APPLICATION_PREPARED;
+
+import java.io.IOException;
+import java.util.ArrayList;
+import java.util.Collection;
+import java.util.List;
+import java.util.Map;
+import java.util.Set;
+import java.util.logging.Level;
+import java.util.logging.Logger;
+
 import org.glassfish.api.deployment.DeployCommandParameters;
+import org.glassfish.api.deployment.DeploymentContext;
+import org.glassfish.api.deployment.MetaData;
+import org.glassfish.api.deployment.OpsParams;
 import org.glassfish.api.event.EventListener;
 import org.glassfish.api.event.Events;
+import org.glassfish.deployment.common.DeploymentException;
 import org.glassfish.deployment.common.RootDeploymentDescriptor;
+import org.glassfish.deployment.common.SimpleDeployer;
+import org.glassfish.hk2.api.PostConstruct;
 import org.glassfish.internal.data.ApplicationInfo;
 import org.glassfish.internal.data.ApplicationRegistry;
 import org.glassfish.internal.deployment.Deployment;
 import org.glassfish.internal.deployment.ExtendedDeploymentContext;
-import org.glassfish.server.ServerEnvironmentImpl;
-import org.glassfish.api.deployment.DeploymentContext;
-import org.glassfish.api.deployment.MetaData;
-import org.glassfish.api.deployment.OpsParams;
-import org.glassfish.deployment.common.SimpleDeployer;
-import org.glassfish.deployment.common.DeploymentException;
 import org.glassfish.persistence.common.Java2DBProcessorHelper;
-import jakarta.inject.Inject;
+import org.glassfish.server.ServerEnvironmentImpl;
 import org.jvnet.hk2.annotations.Service;
-import org.glassfish.hk2.api.PostConstruct;
 
+import com.sun.appserv.connectors.internal.api.ConnectorRuntime;
+import com.sun.enterprise.deployment.Application;
+import com.sun.enterprise.deployment.BundleDescriptor;
+import com.sun.enterprise.deployment.PersistenceUnitDescriptor;
+import com.sun.enterprise.deployment.PersistenceUnitsDescriptor;
+import com.sun.enterprise.deployment.util.DOLUtils;
+import com.sun.enterprise.module.bootstrap.StartupContext;
+import com.sun.logging.LogDomains;
+
+import jakarta.inject.Inject;
 import jakarta.persistence.EntityManager;
 import jakarta.persistence.EntityManagerFactory;
 import jakarta.persistence.PersistenceException;
-import java.io.IOException;
-import java.util.*;
-import java.util.logging.Level;
-import java.util.logging.Logger;
-
 
 /**
  * Deployer for JPA applications
+ *
  * @author Mitesh Meswani
  */
 @Service
 public class JPADeployer extends SimpleDeployer<JPAContainer, JPApplicationContainer> implements PostConstruct, EventListener {
 
+    private static Logger logger = LogDomains.getLogger(PersistenceUnitLoader.class, LogDomains.PERSISTENCE_LOGGER + ".jpadeployer");
+
+    /** Key used to get/put emflists in transientAppMetadata */
+    private static final String EMF_KEY = EntityManagerFactory.class.toString();
+
     @Inject
     private ConnectorRuntime connectorRuntime;
 
@@ -63,7 +81,7 @@
     private ServerEnvironmentImpl serverEnvironment;
 
     @Inject
-    private volatile StartupContext sc = null;
+    private volatile StartupContext startupContext;
 
     @Inject
     private Events events;
@@ -71,25 +89,28 @@
     @Inject
     private ApplicationRegistry applicationRegistry;
 
-    private static Logger logger = LogDomains.getLogger(PersistenceUnitLoader.class, LogDomains.PERSISTENCE_LOGGER + ".jpadeployer");
-
-    /** Key used to get/put emflists in transientAppMetadata */
-    private static final String EMF_KEY = EntityManagerFactory.class.toString();
-
-    @Override public MetaData getMetaData() {
-
-        return new MetaData(true /*invalidateCL */ ,
-                null /* provides */,
-                new Class[] {Application.class} /* requires Application from dol */);
+    @Override
+    public void postConstruct() {
+        events.register(this);
     }
 
+    @Override
+    public MetaData getMetaData() {
+        return new MetaData(
+            true /* invalidateCL */,
+            null /* provides */,
+            new Class[] { Application.class } /* requires Application from dol */);
+    }
+
+    @Override
     protected void generateArtifacts(DeploymentContext dc) throws DeploymentException {
         // Noting to generate yet!!
     }
 
-    protected void cleanArtifacts(DeploymentContext dc) throws DeploymentException {
+    @Override
+    protected void cleanArtifacts(DeploymentContext deploymentContext) throws DeploymentException {
         // Drop tables if needed on undeploy.
-        OpsParams params = dc.getCommandParameters(OpsParams.class);
+        OpsParams params = deploymentContext.getCommandParameters(OpsParams.class);
         if (params.origin.isUndeploy() && isDas()) {
 
             boolean hasScopedResource = false;
@@ -98,108 +119,205 @@
             Application application = appInfo.getMetaData(Application.class);
             Set<BundleDescriptor> bundles = application.getBundleDescriptors();
 
-             // Iterate through all the bundles of the app and collect pu references in referencedPus
-             for (BundleDescriptor bundle : bundles) {
-                 Collection<? extends PersistenceUnitDescriptor> pusReferencedFromBundle = bundle.findReferencedPUs();
-                 for(PersistenceUnitDescriptor pud : pusReferencedFromBundle) {
-                     hasScopedResource = hasScopedResource(pud);
-                     if(hasScopedResource) {
-                         break;
-                     }
-                 }
-             }
+            // Iterate through all the bundles of the app and collect pu references in
+            // referencedPus
+            for (BundleDescriptor bundle : bundles) {
+                Collection<? extends PersistenceUnitDescriptor> pusReferencedFromBundle = bundle.findReferencedPUs();
+                for (PersistenceUnitDescriptor pud : pusReferencedFromBundle) {
+                    hasScopedResource = hasScopedResource(pud);
+                    if (hasScopedResource) {
+                        break;
+                    }
+                }
+            }
 
-            // if there are scoped resources, deploy them so that they are accessible for Java2DB to
-            // delete tables.
-            if(hasScopedResource){
+            // If there are scoped resources, deploy them so that they are accessible for
+            // Java2DB to delete tables.
+            if (hasScopedResource) {
                 connectorRuntime.registerDataSourceDefinitions(application);
             }
 
-             Java2DBProcessorHelper helper = new Java2DBProcessorHelper(dc);
-             helper.init();
-             helper.createOrDropTablesInDB(false, "JPA"); // NOI18N
+            Java2DBProcessorHelper helper = new Java2DBProcessorHelper(deploymentContext);
+            helper.init();
+            helper.createOrDropTablesInDB(false, "JPA");
 
-            //if there are scoped resources, undeploy them.
-            if(hasScopedResource){
+            // If there are scoped resources, undeploy them.
+            if (hasScopedResource) {
                 connectorRuntime.unRegisterDataSourceDefinitions(application);
             }
         }
     }
 
-    /**
-     * @inheritDoc
-     */
+    @Override
     public <V> V loadMetaData(Class<V> type, DeploymentContext context) {
         return null;
     }
 
     /**
-     * EMFs for refered pus are created and stored in JPAApplication instance.
-     * The JPAApplication instance is stored in given DeploymentContext to be retrieved by load
+     * EMFs for refered pus are created and stored in JPAApplication instance. The
+     * JPAApplication instance is stored in given DeploymentContext to be retrieved
+     * by load
      */
-    @Override public boolean prepare(DeploymentContext context) {
+    @Override
+    public boolean prepare(DeploymentContext context) {
         boolean prepared = super.prepare(context);
-        if(prepared) {
-            if(isEMFCreationRequired(context)) {
+        if (prepared) {
+            if (isEMFCreationRequired(context)) {
                 createEMFs(context);
             }
         }
         return prepared;
     }
 
+    @Override
+    public JPApplicationContainer load(JPAContainer container, DeploymentContext context) {
+        return new JPApplicationContainer();
+    }
+
+    @Override
+    public void event(@SuppressWarnings("rawtypes") Event event) {
+        if (logger.isLoggable(Level.FINEST)) {
+            logger.finest("JpaDeployer.event():" + event.name());
+        }
+
+        if (event.is(APPLICATION_PREPARED)) {
+            ExtendedDeploymentContext context = (ExtendedDeploymentContext) event.hook();
+            DeployCommandParameters deployCommandParameters = context.getCommandParameters(DeployCommandParameters.class);
+            if (logger.isLoggable(FINE)) {
+                logger.fine("JpaDeployer.event(): Handling APPLICATION_PREPARED origin is:" + deployCommandParameters.origin);
+            }
+
+            // When create-application-ref is called for an already deployed app,
+            // APPLICATION_PREPARED will be sent on DAS
+            // Obviously there is no new emf created for this event and we need not do
+            // java2db also. Ignore the event
+            // However, if target for create-application-ref is DAS => the app was deployed
+            // on other instance but now
+            // an application-ref is being created on DAS. Process the app
+            if (!deployCommandParameters.origin.isCreateAppRef() || isTargetDas(deployCommandParameters)) {
+                Map<String, ExtendedDeploymentContext> deploymentContexts = context.getModuleDeploymentContexts();
+
+                for (DeploymentContext deploymentContext : deploymentContexts.values()) {
+                    // bundle level pus
+                    iterateInitializedPUsAtApplicationPrepare(deploymentContext);
+                }
+                // app level pus
+                iterateInitializedPUsAtApplicationPrepare(context);
+            }
+        } else if (event.is(Deployment.APPLICATION_DISABLED)) {
+            logger.fine("JpaDeployer.event(): APPLICATION_DISABLED");
+            // APPLICATION_DISABLED will be generated when an app is
+            // disabled/undeployed/appserver goes down.
+            // close all the emfs created for this app
+            closeEntityManagerFactories((ApplicationInfo) event.hook());
+        }
+    }
+
+    /**
+     * Returns unique identifier for this pu within application
+     *
+     * @param pud The given pu
+     * @return Absolute pu root + pu name
+     */
+    private static String getUniquePuIdentifier(PersistenceUnitDescriptor pud) {
+        return pud.getAbsolutePuRoot() + pud.getName();
+    }
+
+    private static boolean isTargetDas(DeployCommandParameters deployCommandParameters) {
+        // TODO discuss with Hong. This comparison should be encapsulated somewhere
+        return "server".equals(deployCommandParameters.target);
+    }
+
+    private boolean isDas() {
+        return serverEnvironment.isDas() || serverEnvironment.isEmbedded();
+    }
+
+    private void closeEntityManagerFactories(ApplicationInfo appInfo) {
+        // Suppress warning required as there is no way to pass equivalent of
+        // List<EMF>.class to the method
+        @SuppressWarnings("unchecked")
+        List<EntityManagerFactory> emfsCreatedForThisApp = appInfo.getTransientAppMetaData(EMF_KEY, List.class);
+        if (emfsCreatedForThisApp != null) {
+
+            // Events are always dispatched to all registered listeners.
+            // emfsCreatedForThisApp will be null for an app that does not have PUs.
+
+            for (EntityManagerFactory entityManagerFactory : emfsCreatedForThisApp) {
+                entityManagerFactory.close();
+            }
+
+            // We no longer have the emfs in open state clear the list.
+            // On app enable(after a disable), for a cluster, the deployment framework calls
+            // prepare() for instances but not for DAS.
+            // So on DAS, at a disable, the emfs will be closed and we will not attempt to
+            // close emfs when appserver goes down even if the app is re-enabled.
+            emfsCreatedForThisApp.clear();
+        }
+    }
+
     /**
      * CreateEMFs and save them in persistence
+     *
      * @param context
      */
     private void createEMFs(DeploymentContext context) {
         Application application = context.getModuleMetaData(Application.class);
         Set<BundleDescriptor> bundles = application.getBundleDescriptors();
 
-        // Iterate through all the bundles for the app and collect pu references in referencedPus
+        // Iterate through all the bundles for the app and collect pu references in
+        // referencedPus
         boolean hasScopedResource = false;
         final List<PersistenceUnitDescriptor> referencedPus = new ArrayList<PersistenceUnitDescriptor>();
         for (BundleDescriptor bundle : bundles) {
             Collection<? extends PersistenceUnitDescriptor> pusReferencedFromBundle = bundle.findReferencedPUs();
-            for(PersistenceUnitDescriptor pud : pusReferencedFromBundle) {
+            for (PersistenceUnitDescriptor pud : pusReferencedFromBundle) {
                 referencedPus.add(pud);
-                if( hasScopedResource(pud) ) {
+                if (hasScopedResource(pud)) {
                     hasScopedResource = true;
                 }
             }
         }
         if (hasScopedResource) {
-            // Scoped resources are registered by connector runtime after prepare(). That is too late for JPA
+            // Scoped resources are registered by connector runtime after prepare(). That is
+            // too late for JPA
             // This is a hack to initialize connectorRuntime for scoped resources
             connectorRuntime.registerDataSourceDefinitions(application);
         }
 
-        //Iterate through all the PUDs for this bundle and if it is referenced, load the corresponding pu
+        // Iterate through all the PUDs for this bundle and if it is referenced, load
+        // the corresponding pu
         PersistenceUnitDescriptorIterator pudIterator = new PersistenceUnitDescriptorIterator() {
-            @Override void visitPUD(PersistenceUnitDescriptor pud, DeploymentContext context) {
-                if(referencedPus.contains(pud)) {
+            @Override
+            void visitPUD(PersistenceUnitDescriptor pud, DeploymentContext context) {
+                if (referencedPus.contains(pud)) {
                     boolean isDas = isDas();
 
-                    // While running in embedded mode, it is not possible to guarantee that entity classes are not loaded by the app classloader before transformers are installed
-                    // If that happens, weaving will not take place and EclipseLink will throw up. Provide users an option to disable weaving by passing the flag.
+                    // While running in embedded mode, it is not possible to guarantee that entity
+                    // classes are not loaded by the app classloader before transformers are
+                    // installed.
+                    //
+                    // If that happens, weaving will not take place and EclipseLink will throw up.
+                    // Provide users an option to disable weaving by passing the flag.
                     // Note that we enable weaving if not explicitly disabled by user
-                    boolean weavingEnabled = Boolean.valueOf(sc.getArguments().getProperty("org.glassfish.persistence.embedded.weaving.enabled", "true"));
+                    boolean weavingEnabled = Boolean
+                            .valueOf(startupContext.getArguments().getProperty("org.glassfish.persistence.embedded.weaving.enabled", "true"));
 
-                    ProviderContainerContractInfo providerContainerContractInfo = weavingEnabled ?
-                            new ServerProviderContainerContractInfo(context, connectorRuntime, isDas) :
-                            new EmbeddedProviderContainerContractInfo(context, connectorRuntime, isDas);
+                    ProviderContainerContractInfo providerContainerContractInfo = weavingEnabled
+                            ? new ServerProviderContainerContractInfo(context, connectorRuntime, isDas)
+                            : new EmbeddedProviderContainerContractInfo(context, connectorRuntime, isDas);
 
                     try {
                         ((ExtendedDeploymentContext) context).prepareScratchDirs();
                     } catch (IOException e) {
-                        // There is no way to recover if we are not able to create the scratch dirs. Just rethrow the exception.
+                        // There is no way to recover if we are not able to create the scratch dirs.
+                        // Just rethrow the exception.
                         throw new RuntimeException(e);
                     }
 
-
-                    PersistenceUnitLoader puLoader = new PersistenceUnitLoader(pud, providerContainerContractInfo);
+                    PersistenceUnitLoader persistenceUnitLoader = new PersistenceUnitLoader(pud, providerContainerContractInfo);
                     // Store the puLoader in context. It is retrieved to execute java2db and to
                     // store the loaded emfs in a JPAApplicationContainer object for cleanup
-                    context.addTransientAppMetaData(getUniquePuIdentifier(pud), puLoader );
+                    context.addTransientAppMetaData(getUniquePuIdentifier(pud), persistenceUnitLoader);
                 }
             }
         };
@@ -209,12 +327,13 @@
     /**
      * @return true if given <code>pud</code> is using scoped resource
      */
-    private boolean hasScopedResource(PersistenceUnitDescriptor pud) {
+    private boolean hasScopedResource(PersistenceUnitDescriptor persistenceUnitDescriptor) {
         boolean hasScopedResource = false;
-        String jtaDataSource = pud.getJtaDataSource();
-        if(jtaDataSource != null && jtaDataSource.startsWith("java:")){
+        String jtaDataSource = persistenceUnitDescriptor.getJtaDataSource();
+        if (jtaDataSource != null && jtaDataSource.startsWith("java:")) {
             hasScopedResource = true;
         }
+
         return hasScopedResource;
     }
 
@@ -223,182 +342,98 @@
      * @return true if emf creation is required false otherwise
      */
     private boolean isEMFCreationRequired(DeploymentContext context) {
-/*
-  Here are various use cases that needs to be handled.
-  This method handles EMF creation part, APPLICATION_PREPARED event handle handles java2db and closing of emf
+        /*
+         * Here are various use cases that needs to be handled. This method handles EMF
+         * creation part, APPLICATION_PREPARED event handle handles java2db and closing
+         * of emf
+         *
+         * To summarize, -Unconditionally create EMFs on DAS for java2db if it is
+         * deploy. We will close this EMF in APPLICATION_PREPARED after java2db if
+         * (target!= DAS || enable=false) -We will not create EMFs on instance if
+         * application is not enabled
+         *
+         * -----------------------------------------------------------------------------
+         * ------- Scenario Expected Behavior
+         * -----------------------------------------------------------------------------
+         * ------- deploy --target=server --enabled=true. DAS(EMF created, java2db, EMF
+         * remains open) -restart DAS(EMF created, EMF remains open) -undeploy DAS(EMF
+         * closed. Drop tables) -create-application-ref instance1 DAS(No action)
+         * INSTANCE1(EMF created)
+         *
+         * deploy --target=server --enabled=false. DAS(EMF created,java2db, EMF closed
+         * in APPLICATION_PREPARED) -restart DAS(No EMF created) -undeploy DAS(No EMF to
+         * close, Drop tables)
+         *
+         * -enable DAS(EMF created) -undelpoy DAS(EMF closed, Drop tables)
+         *
+         * -create-application-ref instance1 DAS(No action) INSTANCE1(EMF created)
+         *
+         * deploy --target=instance1 --enabled=true DAS(EMF created, java2db, EMF closed
+         * in APPLICATION_PREPARED) INSTANCE1(EMF created) -create-application-ref
+         * instance2 INSTANCE2(EMF created) -restart DAS(No EMF created) INSTANCE1(EMF
+         * created) INSTANCE2(EMF created) -undeploy DAS(No EMF to close, Drop tables)
+         * INSTANCE1(EMF closed)
+         *
+         * -create-application-ref server DAS(EMF created) -delete-application-ref
+         * server DAS(EMF closed) undeploy INSTANCE1(EMF closed)
+         *
+         *
+         * deploy --target=instance --enabled=false. DAS(EMF created, java2db, EMF
+         * closed in APPLICATION_PREPARED) INSTANCE1(No EMF created)
+         * -create-application-ref instance2 DAS(No action) INSTANCE2(No Action)
+         * -restart DAS(No EMF created) INSTANCE1(No EMF created) INSTANCE2(No EMF
+         * created) -undeploy DAS(No EMF to close, Drop tables) INSTANCE1(No EMF to
+         * close) INSTANCE2(No EMF to close)
+         *
+         * -enable --target=instance1 DAS(No EMF created) INSTANCE1(EMF created)
+         *
+         */
 
-  To summarize,
-  -Unconditionally create EMFs on DAS for java2db if it is deploy. We will close this EMF in APPLICATION_PREPARED after java2db if (target!= DAS || enable=false)
-  -We will not create EMFs on instance if application is not enabled
-
-        ------------------------------------------------------------------------------------
-            Scenario                                       Expected Behavior
-        ------------------------------------------------------------------------------------
-        deploy --target=server   --enabled=true.   DAS(EMF created, java2db, EMF remains open)
-           -restart                                DAS(EMF created, EMF remains open)
-           -undeploy                               DAS(EMF closed. Drop tables)
-           -create-application-ref instance1       DAS(No action)
-                                                   INSTANCE1(EMF created)
-
-        deploy --target=server   --enabled=false.  DAS(EMF created,java2db, EMF closed in APPLICATION_PREPARED)
-           -restart                                DAS(No EMF created)
-           -undeploy                               DAS(No EMF to close, Drop tables)
-
-           -enable                                 DAS(EMF created)
-           -undelpoy                               DAS(EMF closed, Drop tables)
-
-           -create-application-ref instance1       DAS(No action)
-                                                   INSTANCE1(EMF created)
-
-        deploy --target=instance1 --enabled=true   DAS(EMF created, java2db, EMF closed in APPLICATION_PREPARED)
-                                                   INSTANCE1(EMF created)
-            -create-application-ref instance2      INSTANCE2(EMF created)
-            -restart                               DAS(No EMF created)
-                                                   INSTANCE1(EMF created)
-                                                   INSTANCE2(EMF created)
-            -undeploy                              DAS(No EMF to close, Drop tables)
-                                                   INSTANCE1(EMF closed)
-
-            -create-application-ref server         DAS(EMF created)
-            -delete-application-ref server         DAS(EMF closed)
-            undeploy                               INSTANCE1(EMF closed)
-
-
-        deploy --target=instance --enabled=false.  DAS(EMF created, java2db, EMF closed in APPLICATION_PREPARED)
-                                                   INSTANCE1(No EMF created)
-            -create-application-ref instance2      DAS(No action)
-                                                   INSTANCE2(No Action)
-            -restart                               DAS(No EMF created)
-                                                   INSTANCE1(No EMF created)
-                                                   INSTANCE2(No EMF created)
-            -undeploy                              DAS(No EMF to close, Drop tables)
-                                                   INSTANCE1(No EMF to close)
-                                                   INSTANCE2(No EMF to close)
-
-            -enable --target=instance1             DAS(No EMF created)
-                                                   INSTANCE1(EMF created)
-
-*/
-
-        boolean createEMFs = false;
+        boolean createEntityManagerFactories = false;
         DeployCommandParameters deployCommandParameters = context.getCommandParameters(DeployCommandParameters.class);
-        boolean deploy  = deployCommandParameters.origin.isDeploy();
+        boolean deploy = deployCommandParameters.origin.isDeploy();
         boolean enabled = deployCommandParameters.enabled;
         boolean isDas = isDas();
 
-        if(logger.isLoggable(Level.FINER)) {
+        if (logger.isLoggable(FINER)) {
             logger.finer("isEMFCreationRequired(): deploy: " + deploy + " enabled: " + enabled + " isDas: " + isDas);
         }
 
-        if(isDas) {
-            if(deploy) {
-                createEMFs = true; // Always create emfs on DAS while deploying to take care of java2db and PU validation on deploy
+        if (isDas) {
+            if (deploy) {
+                // Always create emfs on DAS while deploying to take care of java2db and PU
+                // validation on deploy
+                createEntityManagerFactories = true;
             } else {
-                //We reach here for (!deploy && das) => server restart or enabling a disabled app on DAS
+                // We reach here for (!deploy && das) => server restart or enabling a disabled
+                // app on DAS
                 boolean isTargetDas = isTargetDas(deployCommandParameters);
-                if(logger.isLoggable(Level.FINER)) {
+                if (logger.isLoggable(FINER)) {
                     logger.finer("isEMFCreationRequired(): isTargetDas: " + isTargetDas);
                 }
 
-                if(enabled && isTargetDas) {
-                    createEMFs = true;
+                if (enabled && isTargetDas) {
+                    createEntityManagerFactories = true;
                 }
             }
-        } else { //!das => on an instance
-            if(enabled) {
-                createEMFs = true;
+        } else { // !das => on an instance
+            if (enabled) {
+                createEntityManagerFactories = true;
             }
         }
 
-        if(logger.isLoggable(Level.FINER)) {
-            logger.finer("isEMFCreationRequired(): returning createEMFs:" + createEMFs);
+        if (logger.isLoggable(FINER)) {
+            logger.finer("isEMFCreationRequired(): returning createEMFs:" + createEntityManagerFactories);
         }
 
-        return createEMFs;
-    }
-
-    private static boolean isTargetDas(DeployCommandParameters deployCommandParameters) {
-        return "server".equals(deployCommandParameters.target); // TODO discuss with Hong. This comparison should be encapsulated somewhere
+        return createEntityManagerFactories;
     }
 
     /**
-     * @inheritDoc
-     */
-    //@Override
-    public JPApplicationContainer load(JPAContainer container, DeploymentContext context) {
-        return new JPApplicationContainer();
-    }
-
-    /**
-     * Returns unique identifier for this pu within application
-     * @param pud The given pu
-     * @return Absolute pu root + pu name
-     */
-    private static String getUniquePuIdentifier(PersistenceUnitDescriptor pud) {
-        return pud.getAbsolutePuRoot() + pud.getName();
-     }
-
-    private boolean isDas() {
-        return serverEnvironment.isDas() || serverEnvironment.isEmbedded();
-    }
-
-    @Override
-    public void postConstruct() {
-        events.register(this);
-    }
-
-    @Override
-    public void event(Event event) {
-        if(logger.isLoggable(Level.FINEST)) {
-            logger.finest("JpaDeployer.event():" + event.name());
-        }
-        if (event.is(Deployment.APPLICATION_PREPARED) ) {
-            ExtendedDeploymentContext context = (ExtendedDeploymentContext)event.hook();
-            DeployCommandParameters deployCommandParameters = context.getCommandParameters(DeployCommandParameters.class);
-            if(logger.isLoggable(Level.FINE)) {
-                logger.fine("JpaDeployer.event(): Handling APPLICATION_PREPARED origin is:" + deployCommandParameters.origin);
-            }
-
-            // When create-application-ref is called for an already deployed app, APPLICATION_PREPARED will be sent on DAS
-            // Obviously there is no new emf created for this event and we need not do java2db also. Ignore the event
-            // However, if target for create-application-ref is DAS => the app was deployed on other instance but now
-            // an application-ref is being created on DAS. Process the app
-            if(!deployCommandParameters.origin.isCreateAppRef() || isTargetDas(deployCommandParameters)) {
-                Map<String, ExtendedDeploymentContext> deploymentContexts = context.getModuleDeploymentContexts();
-
-                for (DeploymentContext deploymentContext : deploymentContexts.values()) {
-                    //bundle level pus
-                    iterateInitializedPUsAtApplicationPrepare(deploymentContext);
-                }
-                //app level pus
-                iterateInitializedPUsAtApplicationPrepare(context);
-            }
-        } else if(event.is(Deployment.APPLICATION_DISABLED)) {
-            logger.fine("JpaDeployer.event(): APPLICATION_DISABLED");
-            // APPLICATION_DISABLED will be generated when an app is disabled/undeployed/appserver goes down.
-            //close all the emfs created for this app
-            ApplicationInfo appInfo = (ApplicationInfo) event.hook();
-            closeEMFs(appInfo);
-        }
-    }
-
-    private void closeEMFs(ApplicationInfo appInfo) {
-        //Suppress warning required as there is no way to pass equivalent of List<EMF>.class to the method
-        @SuppressWarnings("unchecked") List<EntityManagerFactory> emfsCreatedForThisApp = appInfo.getTransientAppMetaData(EMF_KEY, List.class);
-        if(emfsCreatedForThisApp != null) { // Events are always dispatched to all registered listeners. emfsCreatedForThisApp will be null for an app that does not have PUs.
-            for (EntityManagerFactory entityManagerFactory : emfsCreatedForThisApp) {
-                entityManagerFactory.close();
-            }
-            // We no longer have the emfs in open state clear the list.
-            // On app enable(after a disable), for a cluster, the deployment framework calls prepare() for instances but not for DAS.
-            // So on DAS, at a disable, the emfs will be closed and we will not attempt to close emfs when appserver goes down even if the app is re-enabled.
-            emfsCreatedForThisApp.clear();
-        }
-    }
-
-    /**
-     * Does java2db on DAS and saves emfs created during prepare to ApplicationInfo maintained by DOL.
-     * ApplicationInfo is not available during prepare() so we can not directly use it there.
+     * Does java2db on DAS and saves emfs created during prepare to ApplicationInfo
+     * maintained by DOL. ApplicationInfo is not available during prepare() so we
+     * can not directly use it there.
+     *
      * @param context
      */
     private void iterateInitializedPUsAtApplicationPrepare(final DeploymentContext context) {
@@ -407,84 +442,107 @@
         String appName = deployCommandParameters.name;
         final ApplicationInfo appInfo = applicationRegistry.get(appName);
 
-        //iterate through all the PersistenceUnitDescriptor for this bundle.
+        // iterate through all the PersistenceUnitDescriptor for this bundle.
         PersistenceUnitDescriptorIterator pudIterator = new PersistenceUnitDescriptorIterator() {
-            @Override void visitPUD(PersistenceUnitDescriptor pud, DeploymentContext context) {
-                //PersistenceUnitsDescriptor corresponds to  persistence.xml. A bundle can only have one persitence.xml except
-                // when the bundle is an application which can have multiple persitence.xml under jars in root of ear and lib.
-                PersistenceUnitLoader puLoader = context.getTransientAppMetaData(getUniquePuIdentifier(pud), PersistenceUnitLoader.class);
-                if (puLoader != null) { // We have initialized PU
-                    boolean saveEMF = true;
-                    if(isDas()) { //We do validation and execute Java2DB only on DAS
-                        if(deployCommandParameters.origin.isDeploy()) { //APPLICATION_PREPARED will be called for create-application-ref also. We should perform java2db only on first deploy
+            @Override
+            void visitPUD(PersistenceUnitDescriptor pud, DeploymentContext context) {
+                // PersistenceUnitsDescriptor corresponds to persistence.xml. A bundle can only
+                // have one persitence.xml except
+                // when the bundle is an application which can have multiple persitence.xml
+                // under jars in root of ear and lib.
+                PersistenceUnitLoader persistenceUnitLoader = context.getTransientAppMetaData(getUniquePuIdentifier(pud), PersistenceUnitLoader.class);
+                if (persistenceUnitLoader != null) { // We have initialized PU
+                    boolean saveEntityManagerFactory = true;
+                    if (isDas()) { // We do validation and execute Java2DB only on DAS
 
-                            //Create EM to trigger validation on PU
-                            EntityManagerFactory emf = puLoader.getEMF();
-                            EntityManager em = null;
+                        // APPLICATION_PREPARED will be called for create-application-ref
+                        // also. We should perform java2db only on first deploy
+                        if (deployCommandParameters.origin.isDeploy()) {
+
+                            // Create EntityManager to trigger validation on PU
+                            EntityManagerFactory entityManagerFactory = persistenceUnitLoader.getEMF();
+                            EntityManager entityManager = null;
                             try {
-                                // Create EM to trigger any validations that are lazily performed by the provider
+                                // Create EM to trigger any validations that are lazily performed by the
+                                // provider
                                 // EM creation also triggers DDL generation by provider.
-                                em = emf.createEntityManager();
+                                entityManager = entityManagerFactory.createEntityManager();
                             } catch (PersistenceException e) {
-                                // Exception indicates something went wrong while performing validation. Clean up and rethrow to fail deployment
-                                emf.close();
-                                throw new DeploymentException(e);  // Need to wrap exception in DeploymentException else deployment will not fail !!
+                                // Exception indicates something went wrong while performing validation. Clean
+                                // up and rethrow to fail deployment
+                                entityManagerFactory.close();
+
+                                // Need to wrap exception in DeploymentException else deployment will not
+                                // fail.
+                                throw new DeploymentException(e);
                             } finally {
-                                if (em != null) {
-                                    em.close();
+                                if (entityManager != null) {
+                                    entityManager.close();
                                 }
                             }
 
-                            puLoader.doJava2DB();
+                            persistenceUnitLoader.doJava2DB();
 
                             boolean enabled = deployCommandParameters.enabled;
                             boolean isTargetDas = isTargetDas(deployCommandParameters);
-                            if(logger.isLoggable(Level.FINER)) {
-                                logger.finer("iterateInitializedPUsAtApplicationPrepare(): enabled: " + enabled + " isTargetDas: " + isTargetDas);
+                            if (logger.isLoggable(FINER)) {
+                                logger.finer("iterateInitializedPUsAtApplicationPrepare(): enabled: " + enabled + " isTargetDas: "
+                                        + isTargetDas);
                             }
-                            if(!isTargetDas || !enabled) {
-                                // we are on DAS but target != das or app is not enabled on das => The EMF was just created for Java2Db. Close it.
-                                puLoader.getEMF().close();
-                                saveEMF = false; // Do not save EMF. We have already closed it
+
+                            if (!isTargetDas || !enabled) {
+                                // We are on DAS but target != das or app is not enabled on das => The EMF was
+                                // just created for Java2Db. Close it.
+                                persistenceUnitLoader.getEMF().close();
+                                saveEntityManagerFactory = false; // Do not save EMF. We have already closed it
                             }
                         }
                     }
 
-                    if(saveEMF) {
-                        // Save emf in ApplicationInfo so that it can be retrieved and closed for cleanup
-                        @SuppressWarnings("unchecked") //Suppress warning required as there is no way to pass equivalent of List<EMF>.class to the method
-                        List<EntityManagerFactory> emfsCreatedForThisApp = appInfo.getTransientAppMetaData(EMF_KEY, List.class );
-                        if(emfsCreatedForThisApp == null) {
-                            //First EMF for this app, initialize
+                    if (saveEntityManagerFactory) {
+                        // Save EntityManagerFactory in ApplicationInfo so that it can be retrieved and closed for cleanup
+
+                        // Suppress warning required as there is no way to pass equivalent of
+                        // List<EMF>.class to the method
+                        @SuppressWarnings("unchecked")
+                        List<EntityManagerFactory> emfsCreatedForThisApp = appInfo.getTransientAppMetaData(EMF_KEY, List.class);
+                        if (emfsCreatedForThisApp == null) {
+                            // First EMF for this app, initialize
                             emfsCreatedForThisApp = new ArrayList<EntityManagerFactory>();
                             appInfo.addTransientAppMetaData(EMF_KEY, emfsCreatedForThisApp);
                         }
-                        emfsCreatedForThisApp.add(puLoader.getEMF());
+                        emfsCreatedForThisApp.add(persistenceUnitLoader.getEMF());
                     } // if (saveEMF)
                 } // if(puLoader != null)
             }
         };
 
         pudIterator.iteratePUDs(context);
-
     }
 
     /**
-     * Helper class to centralize the code for loop that iterates through all the PersistenceUnitDescriptor for a given DeploymentContext (and hence the corresponding bundle)
+     * Helper class to centralize the code for loop that iterates through all the
+     * PersistenceUnitDescriptor for a given DeploymentContext (and hence the
+     * corresponding bundle)
      */
     private static abstract class PersistenceUnitDescriptorIterator {
         /**
-         * Iterate through all the PersistenceUnitDescriptors for the given context (and hence corresponding bundle) and call visitPUD for each of them
+         * Iterate through all the PersistenceUnitDescriptors for the given context (and
+         * hence corresponding bundle) and call visitPUD for each of them
+         *
          * @param context
          */
         void iteratePUDs(DeploymentContext context) {
             RootDeploymentDescriptor currentBundle = DOLUtils.getCurrentBundleForContext(context);
-            if (currentBundle != null) { // it can be null for non-JavaEE type of application deployment. e.g., issue 15869
-                Collection<PersistenceUnitsDescriptor> pusDescriptorForThisBundle = currentBundle.getExtensionsDescriptors(PersistenceUnitsDescriptor.class);
+            if (currentBundle != null) { // it can be null for non-JavaEE type of application deployment. e.g., issue
+                                         // 15869
+                Collection<PersistenceUnitsDescriptor> pusDescriptorForThisBundle =
+                    currentBundle.getExtensionsDescriptors(PersistenceUnitsDescriptor.class);
+
                 for (PersistenceUnitsDescriptor persistenceUnitsDescriptor : pusDescriptorForThisBundle) {
-                        for (PersistenceUnitDescriptor pud : persistenceUnitsDescriptor.getPersistenceUnitDescriptors()) {
-                            visitPUD(pud, context);
-                        }
+                    for (PersistenceUnitDescriptor pud : persistenceUnitsDescriptor.getPersistenceUnitDescriptors()) {
+                        visitPUD(pud, context);
+                    }
                 }
             }
 
diff --git a/appserver/persistence/jpa-container/src/main/java/org/glassfish/persistence/jpa/JPApplicationContainer.java b/appserver/persistence/jpa-container/src/main/java/org/glassfish/persistence/jpa/JPApplicationContainer.java
index 328024d..2895e6f 100644
--- a/appserver/persistence/jpa-container/src/main/java/org/glassfish/persistence/jpa/JPApplicationContainer.java
+++ b/appserver/persistence/jpa-container/src/main/java/org/glassfish/persistence/jpa/JPApplicationContainer.java
@@ -19,26 +19,28 @@
 import org.glassfish.api.deployment.ApplicationContainer;
 import org.glassfish.api.deployment.ApplicationContext;
 
-
 /**
- * Represents Application Container for JPA
- * One instance of this object is created per deployed bundle.
+ * Represents Application Container for JPA One instance of this object is
+ * created per deployed bundle.
+ *
  * @author Mitesh Meswani
  */
-public class JPApplicationContainer implements ApplicationContainer {
+public class JPApplicationContainer implements ApplicationContainer<Object> {
 
     public JPApplicationContainer() {
     }
 
-    //-------------- Begin Methods implementing ApplicationContainer interface -------------- //
+    @Override
     public Object getDescriptor() {
         return null;
     }
 
+    @Override
     public boolean start(ApplicationContext startupContxt) {
         return true;
     }
 
+    @Override
     public boolean stop(ApplicationContext stopContext) {
         return true;
     }
@@ -48,6 +50,7 @@
      *
      * @return true if suspending was successful, false otherwise.
      */
+    @Override
     public boolean suspend() {
         // Not (yet) supported
         return false;
@@ -58,16 +61,16 @@
      *
      * @return true if resumption was successful, false otherwise.
      */
+    @Override
     public boolean resume() {
         // Not (yet) supported
         return false;
     }
 
+    @Override
     public ClassLoader getClassLoader() {
-        //TODO: Check with Jerome. Should this return anything but null? currently it does not seem so.
+        // TODO: Check with Jerome. Should this return anything but null? currently it
+        // does not seem so.
         return null;
     }
-
-    //-------------- End Methods implementing ApplicationContainer interface -------------- //
-
 }
diff --git a/appserver/persistence/jpa-container/src/main/java/org/glassfish/persistence/jpa/PersistenceUnitInfoImpl.java b/appserver/persistence/jpa-container/src/main/java/org/glassfish/persistence/jpa/PersistenceUnitInfoImpl.java
index b14df70..6519923 100644
--- a/appserver/persistence/jpa-container/src/main/java/org/glassfish/persistence/jpa/PersistenceUnitInfoImpl.java
+++ b/appserver/persistence/jpa-container/src/main/java/org/glassfish/persistence/jpa/PersistenceUnitInfoImpl.java
@@ -16,73 +16,72 @@
 
 package org.glassfish.persistence.jpa;
 
+import static java.util.logging.Level.WARNING;
+import static org.glassfish.deployment.common.DeploymentUtils.getRelativeEmbeddedModulePath;
+import static org.glassfish.persistence.jpa.PersistenceUnitLoader.isNullOrEmpty;
 
-import com.sun.enterprise.deployment.BundleDescriptor;
-import com.sun.enterprise.deployment.PersistenceUnitDescriptor;
-import org.glassfish.deployment.common.RootDeploymentDescriptor;
-import org.glassfish.deployment.common.ModuleDescriptor;
-import com.sun.enterprise.util.i18n.StringManager;
-import com.sun.logging.LogDomains;
-
-import javax.naming.NamingException;
-import jakarta.persistence.spi.ClassTransformer;
-import jakarta.persistence.spi.PersistenceUnitInfo;
-import jakarta.persistence.spi.PersistenceUnitTransactionType;
-import jakarta.persistence.SharedCacheMode;
-import jakarta.persistence.ValidationMode;
-import javax.sql.DataSource;
 import java.io.File;
 import java.net.MalformedURLException;
 import java.net.URL;
 import java.util.ArrayList;
 import java.util.List;
 import java.util.Properties;
-import java.util.logging.Level;
 import java.util.logging.Logger;
 
+import javax.naming.NamingException;
+import javax.sql.DataSource;
+
 import org.glassfish.deployment.common.DeploymentUtils;
+import org.glassfish.deployment.common.ModuleDescriptor;
+import org.glassfish.deployment.common.RootDeploymentDescriptor;
+
+import com.sun.enterprise.deployment.BundleDescriptor;
+import com.sun.enterprise.deployment.PersistenceUnitDescriptor;
+import com.sun.logging.LogDomains;
+
+import jakarta.persistence.SharedCacheMode;
+import jakarta.persistence.ValidationMode;
+import jakarta.persistence.spi.ClassTransformer;
+import jakarta.persistence.spi.PersistenceUnitInfo;
+import jakarta.persistence.spi.PersistenceUnitTransactionType;
 
 /**
  * This class implements {@link PersistenceUnitInfo} interface.
  *
+ * This class is public because it is used in verifier
+ *
  * @author Sanjeeb.Sahoo@Sun.COM
  */
 public class PersistenceUnitInfoImpl implements PersistenceUnitInfo {
-    /* This class is public because it is used in verifier */
 
-    private static final String DEFAULT_PROVIDER_NAME = "org.eclipse.persistence.jpa.PersistenceProvider"; // NOI18N
+    private static Logger logger = LogDomains.getLogger(PersistenceUnitInfoImpl.class, LogDomains.PERSISTENCE_LOGGER);
+
+    private static final String DEFAULT_PROVIDER_NAME = "org.eclipse.persistence.jpa.PersistenceProvider";
 
     // We allow the default provider to be specified using -D option.
     private static String defaultProvider;
 
-    private static Logger logger = LogDomains.getLogger(PersistenceUnitInfoImpl.class, LogDomains.PERSISTENCE_LOGGER);
-
-    private static final StringManager localStrings = StringManager.getManager(PersistenceUnitInfoImpl.class);
-
     private PersistenceUnitDescriptor persistenceUnitDescriptor;
-
     private ProviderContainerContractInfo providerContainerContractInfo;
-
     private File absolutePuRootFile;
-
     private DataSource jtaDataSource;
-
     private DataSource nonJtaDataSource;
-
     private List<URL> jarFiles;
 
-
-    public PersistenceUnitInfoImpl(
-            PersistenceUnitDescriptor persistenceUnitDescriptor,
-            ProviderContainerContractInfo providerContainerContractInfo) {
+    public PersistenceUnitInfoImpl(PersistenceUnitDescriptor persistenceUnitDescriptor, ProviderContainerContractInfo providerContainerContractInfo) {
         this.persistenceUnitDescriptor = persistenceUnitDescriptor;
         this.providerContainerContractInfo = providerContainerContractInfo;
         jarFiles = _getJarFiles();
         String jtaDataSourceName = persistenceUnitDescriptor.getJtaDataSource();
         String nonJtaDataSourceName = persistenceUnitDescriptor.getNonJtaDataSource();
+
         try {
-            jtaDataSource = jtaDataSourceName == null ? null : providerContainerContractInfo.lookupDataSource(jtaDataSourceName);
-            nonJtaDataSource = nonJtaDataSourceName == null ? null : providerContainerContractInfo.lookupNonTxDataSource(nonJtaDataSourceName);
+            jtaDataSource = jtaDataSourceName == null ?
+                null :
+                providerContainerContractInfo.lookupDataSource(jtaDataSourceName);
+            nonJtaDataSource = nonJtaDataSourceName == null ?
+                null :
+                providerContainerContractInfo.lookupNonTxDataSource(nonJtaDataSourceName);
         } catch (NamingException e) {
             throw new RuntimeException(e);
         }
@@ -90,42 +89,32 @@
 
     // Implementation of PersistenceUnitInfo interface
 
-    /**
-     * {@inheritDoc}
-     */
+    @Override
     public String getPersistenceUnitName() {
         return persistenceUnitDescriptor.getName();
     }
 
-    /**
-     * {@inheritDoc}
-     */
+    @Override
     public String getPersistenceProviderClassName() {
         return getPersistenceProviderClassNameForPuDesc(persistenceUnitDescriptor);
     }
 
-    /**
-     * {@inheritDoc}
-     */
+    @Override
     public PersistenceUnitTransactionType getTransactionType() {
-        return PersistenceUnitTransactionType.valueOf(
-                persistenceUnitDescriptor.getTransactionType());
+        return PersistenceUnitTransactionType.valueOf(persistenceUnitDescriptor.getTransactionType());
     }
 
-    /**
-     * {@inheritDoc}
-     */
+    @Override
     public DataSource getJtaDataSource() {
         return jtaDataSource;
     }
 
-    /**
-     * {@inheritDoc}
-     */
+    @Override
     public DataSource getNonJtaDataSource() {
         return nonJtaDataSource;
     }
 
+    @Override
     public URL getPersistenceUnitRootUrl() {
         try {
             return getAbsolutePuRootFile().toURI().toURL();
@@ -134,108 +123,98 @@
         }
     }
 
-    /**
-     * {@inheritDoc}
-     */
+    @Override
     public List<String> getMappingFileNames() {
         return persistenceUnitDescriptor.getMappingFiles(); // its already unmodifiable
     }
 
-    /**
-     * {@inheritDoc}
-     */
+    @Override
     public List<URL> getJarFileUrls() {
         return jarFiles;
     }
 
-    /**
-     * {@inheritDoc}
-     */
+    @Override
     public List<String> getManagedClassNames() {
         return persistenceUnitDescriptor.getClasses(); // its already unmodifiable
     }
 
+    @Override
     public boolean excludeUnlistedClasses() {
         return persistenceUnitDescriptor.isExcludeUnlistedClasses();
     }
 
+    @Override
     public SharedCacheMode getSharedCacheMode() {
         return persistenceUnitDescriptor.getSharedCacheMode();
     }
 
+    @Override
     public ValidationMode getValidationMode() {
         return persistenceUnitDescriptor.getValidationMode();
     }
 
-    /**
-     * {@inheritDoc}
-     */
+    @Override
     public Properties getProperties() {
         return persistenceUnitDescriptor.getProperties(); // its already a clone
     }
 
+    @Override
     public String getPersistenceXMLSchemaVersion() {
         return persistenceUnitDescriptor.getParent().getSpecVersion();
     }
 
-    /**
-     * {@inheritDoc}
-     */
+    @Override
     public ClassLoader getClassLoader() {
         return providerContainerContractInfo.getClassLoader();
     }
 
-    /**
-     * {@inheritDoc}
-     */
+    @Override
     public void addTransformer(ClassTransformer transformer) {
         providerContainerContractInfo.addTransformer(transformer);
     }
 
-    /**
-     * {@inheritDoc}
-     */
+    @Override
     public ClassLoader getNewTempClassLoader() {
         return providerContainerContractInfo.getTempClassloader();
     }
 
-    @Override public String toString() {
+    @Override
+    public String toString() {
         /*
          * This method is used for debugging only.
          */
-        StringBuilder result = new StringBuilder("<persistence-unit>"); // NOI18N
-        result.append("\n\t<PURoot>").append(getPersistenceUnitRootUrl()).append("</PURoot>"); // NOI18N
-        result.append("\n\t<name>").append(getPersistenceUnitName()).append("</name>"); // NOI18N
-        result.append("\n\t<provider>").append(getPersistenceProviderClassName()).append("</provider>"); // NOI18N
-        result.append("\n\t<transaction-type>").append(getTransactionType()).append("</transaction-type>"); // NOI18N
-        result.append("\n\t<jta-data-source>").append(getJtaDataSource()).append("</jta-data-source>"); // NOI18N
-        result.append("\n\t<non-jta-data-source>").append(getNonJtaDataSource()).append("</non-jta-data-source>"); // NOI18N
+        StringBuilder result = new StringBuilder("<persistence-unit>");
+        result.append("\n\t<PURoot>").append(getPersistenceUnitRootUrl()).append("</PURoot>");
+        result.append("\n\t<name>").append(getPersistenceUnitName()).append("</name>");
+        result.append("\n\t<provider>").append(getPersistenceProviderClassName()).append("</provider>");
+        result.append("\n\t<transaction-type>").append(getTransactionType()).append("</transaction-type>");
+        result.append("\n\t<jta-data-source>").append(getJtaDataSource()).append("</jta-data-source>");
+        result.append("\n\t<non-jta-data-source>").append(getNonJtaDataSource()).append("</non-jta-data-source>");
         for (URL jar : getJarFileUrls()) {
-            result.append("\n\t<jar-file>").append(jar).append("</jar-file>"); // NOI18N
+            result.append("\n\t<jar-file>").append(jar).append("</jar-file>");
         }
         for (String mappingFile : getMappingFileNames()) {
-            result.append("\n\t<mapping-file>").append(mappingFile).append("</mapping-file>"); // NOI18N
+            result.append("\n\t<mapping-file>").append(mappingFile).append("</mapping-file>");
         }
         for (String clsName : getManagedClassNames()) {
-            result.append("\n\t<class-name>").append(clsName).append("</class-name>"); // NOI18N
+            result.append("\n\t<class-name>").append(clsName).append("</class-name>");
         }
-        result.append("\n\t<exclude-unlisted-classes>").append(excludeUnlistedClasses()).append("</exclude-unlisted-classes>"); // NOI18N
-        result.append("\n\t<properties>").append(getProperties()).append("</properties>"); // NOI18N
-        result.append("\n\t<class-loader>").append(getClassLoader()).append("</class-loader>"); // NOI18N
-        result.append("\n</persistence-unit>\n"); // NOI18N
+        result.append("\n\t<exclude-unlisted-classes>").append(excludeUnlistedClasses()).append("</exclude-unlisted-classes>");
+        result.append("\n\t<properties>").append(getProperties()).append("</properties>");
+        result.append("\n\t<class-loader>").append(getClassLoader()).append("</class-loader>");
+        result.append("\n</persistence-unit>\n");
         return result.toString();
     }
 
     private List<URL> _getJarFiles() {
-        List<String> jarFileNames = new ArrayList<String>(
-                persistenceUnitDescriptor.getJarFiles());
+        List<String> jarFileNames = new ArrayList<String>(persistenceUnitDescriptor.getJarFiles());
         List<URL> jarFiles = new ArrayList<URL>(jarFileNames.size() + 1);
         String absolutePuRoot = getAbsolutePuRootFile().getAbsolutePath();
         for (String jarFileName : jarFileNames) {
-            String nativeJarFileName = jarFileName.replace('/',
-                    File.separatorChar);
+            String nativeJarFileName = jarFileName.replace('/', File.separatorChar);
             final File parentFile = new File(absolutePuRoot).getParentFile();
-            // only components are exploded, hence first look for original archives.
+
+            // 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
@@ -249,20 +228,17 @@
                 // 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);
+                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+ ", " + // NOI18N
-                        "pathComponent=" +pathComponent + // NOI18N
-                        ", nameComponent=" + nameComponent); // NOI18N
+                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));
+                jarFile = new File(parentPath, DeploymentUtils.getRelativeEmbeddedModulePath(parentPath.getAbsolutePath(), nameComponent));
             }
+
             if (jarFile.exists()) {
                 try {
                     jarFiles.add(jarFile.toURI().toURL());
@@ -271,83 +247,81 @@
                 }
             } else {
                 // Should be a caught by verifier. So, just log a message
-                if (logger.isLoggable(Level.WARNING)) {
-                    logger.log(Level.WARNING, "puinfo.referenced_jar_not_found", new Object[]{absolutePuRoot, jarFileName, jarFile});
+                if (logger.isLoggable(WARNING)) {
+                    logger.log(WARNING, "puinfo.referenced_jar_not_found", new Object[] { absolutePuRoot, jarFileName, jarFile });
                 }
             }
         }
+
         return jarFiles;
     }
 
     private File getAbsolutePuRootFile() {
-        // TODO caller of this method are _getJarFiles() and getPersitenceUnitRootUrl(). Both of them can be implemented using helper methods in PersistenceUnitDescriptor to better encapsulate
+        // TODO caller of this method are _getJarFiles() and getPersitenceUnitRootUrl().
+        // Both of them can be implemented using helper methods in
+        // PersistenceUnitDescriptor to better encapsulate
         if (absolutePuRootFile == null) {
             absolutePuRootFile = new File(providerContainerContractInfo.getApplicationLocation(),
                     getAbsolutePuRootWithinApplication().replace('/', File.separatorChar));
             if (!absolutePuRootFile.exists()) {
-                throw new RuntimeException(
-                        absolutePuRootFile.getAbsolutePath() + " does not exist!");
+                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.
+     * 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.
+     *
      * @return the absolute path of the root of this persistence unit
      */
     private String getAbsolutePuRootWithinApplication() {
         // TODO shift this into PersistenceUnitDescriptor to better encapsulate
-        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 {
-                // The module is embedded in an ear (an ejb jar or war)
-                final String moduleLocation =        // Would point to the directory where module is expanded. For example myejb_jar
-                        DeploymentUtils.getRelativeEmbeddedModulePath(
-                        providerContainerContractInfo.getApplicationLocation(), module.getArchiveUri());
-                return moduleLocation + '/' + puRoot; // see we always '/'
-            }
+        RootDeploymentDescriptor rootDD = persistenceUnitDescriptor.getParent().getParent();
+        String persistenceUnitRoot = persistenceUnitDescriptor.getPuRoot();
+        if (rootDD.isApplication()) {
+            return persistenceUnitRoot;
         }
+
+        ModuleDescriptor<?> module = BundleDescriptor.class.cast(rootDD).getModuleDescriptor();
+        if (module.isStandalone()) {
+            return persistenceUnitRoot;
+        }
+
+        // The module is embedded in an ear (an ejb jar or war)
+        final String moduleLocation = // Would point to the directory where module is expanded. For example myejb_jar
+                getRelativeEmbeddedModulePath(
+                    providerContainerContractInfo.getApplicationLocation(),
+                    module.getArchiveUri());
+
+        return moduleLocation + '/' + persistenceUnitRoot; // see we always '/'
     }
 
-
     /**
-     * This method first checks if default provider is specified in the
-     * environment (e.g. using -D option in domain.xml). If so, we use that.
-     * Else we defaults to EclipseLink.
+     * This method first checks if default provider is specified in the environment
+     * (e.g. using -D option in domain.xml). If so, we use that. Else we defaults to
+     * EclipseLink.
      *
      * @return
      */
     public static String getDefaultprovider() {
-        final String DEFAULT_PERSISTENCE_PROVIDER_PROPERTY =
-                "com.sun.persistence.defaultProvider"; // NOI18N
-        if(defaultProvider == null) {
-            defaultProvider =
-                    System.getProperty(DEFAULT_PERSISTENCE_PROVIDER_PROPERTY,
-                        DEFAULT_PROVIDER_NAME);
+        if (defaultProvider == null) {
+            defaultProvider = System.getProperty("com.sun.persistence.defaultProvider", DEFAULT_PROVIDER_NAME);
         }
 
         return defaultProvider;
     }
 
-    public static String getPersistenceProviderClassNameForPuDesc(
-            PersistenceUnitDescriptor persistenceUnitDescriptor) {
+    public static String getPersistenceProviderClassNameForPuDesc(PersistenceUnitDescriptor persistenceUnitDescriptor) {
         String provider = persistenceUnitDescriptor.getProvider();
-        if (PersistenceUnitLoader.isNullOrEmpty(provider)) {
+        if (isNullOrEmpty(provider)) {
             provider = getDefaultprovider();
         }
+
         return provider;
     }
 
diff --git a/appserver/persistence/jpa-container/src/main/java/org/glassfish/persistence/jpa/PersistenceUnitLoader.java b/appserver/persistence/jpa-container/src/main/java/org/glassfish/persistence/jpa/PersistenceUnitLoader.java
index 0aa212b..2645403 100644
--- a/appserver/persistence/jpa-container/src/main/java/org/glassfish/persistence/jpa/PersistenceUnitLoader.java
+++ b/appserver/persistence/jpa-container/src/main/java/org/glassfish/persistence/jpa/PersistenceUnitLoader.java
@@ -1,4 +1,5 @@
 /*
+ * Copyright (c) 2022 Contributors to the Eclipse Foundation.
  * Copyright (c) 2008, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
@@ -16,45 +17,39 @@
 
 package org.glassfish.persistence.jpa;
 
-import com.sun.enterprise.deployment.PersistenceUnitDescriptor;
+import static java.util.Collections.unmodifiableMap;
+import static java.util.logging.Level.FINE;
+import static java.util.logging.Level.INFO;
+
+import java.util.HashMap;
+import java.util.Map;
+import java.util.Map.Entry;
+import java.util.Properties;
+import java.util.logging.Logger;
+
 import org.glassfish.deployment.common.RootDeploymentDescriptor;
-import com.sun.enterprise.deployment.PersistenceUnitsDescriptor;
-import com.sun.enterprise.util.i18n.StringManager;
-import com.sun.logging.LogDomains;
 import org.glassfish.persistence.jpa.schemageneration.SchemaGenerationProcessor;
 import org.glassfish.persistence.jpa.schemageneration.SchemaGenerationProcessorFactory;
 
+import com.sun.enterprise.deployment.PersistenceUnitDescriptor;
+import com.sun.enterprise.deployment.PersistenceUnitsDescriptor;
+import com.sun.enterprise.util.i18n.StringManager;
+import com.sun.logging.LogDomains;
+
 import jakarta.persistence.EntityManagerFactory;
 import jakarta.persistence.ValidationMode;
-import jakarta.persistence.spi.PersistenceUnitInfo;
 import jakarta.persistence.spi.PersistenceProvider;
+import jakarta.persistence.spi.PersistenceUnitInfo;
 import jakarta.persistence.spi.PersistenceUnitTransactionType;
-import java.util.Map;
-import java.util.HashMap;
-import java.util.Collections;
-import java.util.Properties;
-import java.util.logging.Level;
-import java.util.logging.Logger;
 
 /**
  * Loads emf corresponding to a PersistenceUnit. Executes java2db if required.
+ *
  * @author Mitesh Meswani
  * @author Sanjeeb.Sahoo@Sun.COM
  */
 public class PersistenceUnitLoader {
 
-    /**
-     * Conduit to talk with container
-     */
-    private ProviderContainerContractInfo providerContainerContractInfo;
-
-    private EntityManagerFactory emf;
-
-    /**
-     * The schemaGenerationProcessor instance for the Java2DB work.
-     */
-    private SchemaGenerationProcessor schemaGenerationProcessor;
-
     private static Logger logger = LogDomains.getLogger(PersistenceUnitLoader.class, LogDomains.PERSISTENCE_LOGGER);
 
     private static final StringManager localStrings = StringManager.getManager(PersistenceUnitLoader.class);
@@ -62,7 +57,7 @@
     private static Map<String, String> integrationProperties;
 
     /** EclipseLink property name to enable/disable weaving **/
-    private static final String ECLIPSELINK_WEAVING_PROPERTY = "eclipselink.weaving"; // NOI18N
+    private static final String ECLIPSELINK_WEAVING_PROPERTY = "eclipselink.weaving";
 
     /** Name of property used to specify validation mode */
     private static final String VALIDATION_MODE_PROPERTY = "jakarta.persistence.validation.mode";
@@ -72,31 +67,82 @@
 
     private static final String DISABLE_UPGRADE_FROM_TOPLINK_ESSENTIALS = "org.glassfish.persistence.jpa.disable.upgrade.from.toplink.essentials";
 
-    public PersistenceUnitLoader(PersistenceUnitDescriptor puToInstatntiate, ProviderContainerContractInfo providerContainerContractInfo) {
-       this.providerContainerContractInfo = providerContainerContractInfo;
+    static {
+        /*
+         * We set all the provider specific integration level properties here. It knows
+         * about all the integration level properties that are needed to integrate a
+         * provider with our container. When we add support for other containers, we
+         * should modify this code so that user does not have to specify such properties
+         * in their persistence.xml file. These properties can be overriden by
+         * persistence.xml as per the spec. Before applying default values for
+         * properties, this method first checks if the properties have been set in the
+         * system (typically done using -D option in domain.xml).
+         *
+         */
+        // ------------------- The Base -------------------------
 
-       // A hack to work around EclipseLink issue https://bugs.eclipse.org/bugs/show_bug.cgi?id=248328 for prelude
-       // This should be removed once version of EclipseLink which fixes the issue is integrated.
-       // set the system property required by EclipseLink before we load it.
-       setSystemPropertyToEnableDoPrivilegedInEclipseLink();
+        Map<String, String> props = new HashMap<>();
 
-       emf = loadPU(puToInstatntiate);
-   }
+        final String ECLIPSELINK_SERVER_PLATFORM_CLASS_NAME_PROPERTY = "eclipselink.target-server";
+        props.put(
+            ECLIPSELINK_SERVER_PLATFORM_CLASS_NAME_PROPERTY,
+            System.getProperty(ECLIPSELINK_SERVER_PLATFORM_CLASS_NAME_PROPERTY, "Glassfish"));
+
+        // Hibernate specific properties:
+        final String HIBERNATE_TRANSACTION_MANAGER_LOOKUP_CLASS_PROPERTY = "hibernate.transaction.manager_lookup_class";
+        props.put(HIBERNATE_TRANSACTION_MANAGER_LOOKUP_CLASS_PROPERTY,
+            System.getProperty(HIBERNATE_TRANSACTION_MANAGER_LOOKUP_CLASS_PROPERTY,
+            "org.hibernate.transaction.SunONETransactionManagerLookup"));
+
+        integrationProperties = unmodifiableMap(props);
+    }
+
+    /**
+     * Conduit to talk with container
+     */
+    private ProviderContainerContractInfo providerContainerContractInfo;
+
+    private EntityManagerFactory entityManagerFactory;
+
+    /**
+     * The schemaGenerationProcessor instance for the Java2DB work.
+     */
+    private SchemaGenerationProcessor schemaGenerationProcessor;
+
+    public PersistenceUnitLoader(PersistenceUnitDescriptor persistenceUnitToInstantiate, ProviderContainerContractInfo providerContainerContractInfo) {
+        this.providerContainerContractInfo = providerContainerContractInfo;
+
+        // A hack to work around EclipseLink issue
+        // https://bugs.eclipse.org/bugs/show_bug.cgi?id=248328 for prelude
+        // This should be removed once version of EclipseLink which fixes the issue is
+        // integrated.
+        // set the system property required by EclipseLink before we load it.
+        setSystemPropertyToEnableDoPrivilegedInEclipseLink();
+
+        ClassLoader oldClassLoader = Thread.currentThread().getContextClassLoader();
+        Thread.currentThread().setContextClassLoader(providerContainerContractInfo.getClassLoader());
+        try {
+            entityManagerFactory = loadPU(persistenceUnitToInstantiate);
+        } finally {
+            Thread.currentThread().setContextClassLoader(oldClassLoader);
+        }
+    }
 
     /**
      * @return The emf loaded.
      */
     public EntityManagerFactory getEMF() {
-        return emf;
+        return entityManagerFactory;
     }
 
     private void setSystemPropertyToEnableDoPrivilegedInEclipseLink() {
         final String PROPERTY_NAME = "eclipselink.security.usedoprivileged";
-        // Need not invoke in doPrivileged block as the whole call stack consist of trusted code when this code
+        // Need not invoke in doPrivileged block as the whole call stack consist of
+        // trusted code when this code
         // is invoked
-        if(System.getProperty(PROPERTY_NAME) == null) {
+        if (System.getProperty(PROPERTY_NAME) == null) {
             // property not set. Set it to true
-            System.setProperty(PROPERTY_NAME, String.valueOf(Boolean.TRUE) );
+            System.setProperty(PROPERTY_NAME, String.valueOf(Boolean.TRUE));
         }
     }
 
@@ -104,49 +150,49 @@
      * Loads an individual PersistenceUnitDescriptor and registers the
      * EntityManagerFactory in appropriate DOL structure.
      *
-     * @param pud PersistenceUnitDescriptor to be loaded.
+     * @param persistenceUnitDescriptor PersistenceUnitDescriptor to be loaded.
      */
-    private EntityManagerFactory loadPU(PersistenceUnitDescriptor pud) {
+    private EntityManagerFactory loadPU(PersistenceUnitDescriptor persistenceUnitDescriptor) {
+        checkForUpgradeFromTopLinkEssentials(persistenceUnitDescriptor);
+        checkForDataSourceOverride(persistenceUnitDescriptor);
+        calculateDefaultDataSource(persistenceUnitDescriptor);
 
-
-        checkForUpgradeFromTopLinkEssentials(pud);
-
-        checkForDataSourceOverride(pud);
-
-        calculateDefaultDataSource(pud);
-
-        PersistenceUnitInfo pInfo = new PersistenceUnitInfoImpl(pud, providerContainerContractInfo);
+        PersistenceUnitInfo persistenceUnitInfo =
+            new PersistenceUnitInfoImpl(persistenceUnitDescriptor, providerContainerContractInfo);
 
         String applicationLocation = providerContainerContractInfo.getApplicationLocation();
-        final boolean fineMsgLoggable = logger.isLoggable(Level.FINE);
-        if(fineMsgLoggable) {
-            logger.fine("Loading persistence unit for application: \"" + applicationLocation + "\"pu Root is: " +
-                    pud.getPuRoot());
-            logger.fine("PersistenceInfo for this pud is :\n" + pInfo); // NOI18N
+        final boolean fineMsgLoggable = logger.isLoggable(FINE);
+        if (fineMsgLoggable) {
+            logger.fine("Loading persistence unit for application: \"" + applicationLocation + "\"pu Root is: " + persistenceUnitDescriptor.getPuRoot());
+            logger.fine("PersistenceInfo for this pud is :\n" + persistenceUnitInfo);
         }
 
         PersistenceProvider provider;
         try {
-            // See we use application CL as opposed to system CL to loadPU
+            // We use application CL as opposed to system CL to loadPU
             // provider. This allows user to get hold of provider specific
-            // implementation classes in their code. But this also means
+            // implementation classes in their code.
+
+            // But this also means
             // provider must not use appserver implementation classes directly
             // because once we implement isolation in our class loader hierarchy
             // the only classes available to application class loader would be
             // our appserver interface classes. By Sahoo
-            provider =
-                    PersistenceProvider.class.cast(
-                    providerContainerContractInfo.getClassLoader()
-                    .loadClass(pInfo.getPersistenceProviderClassName())
-                    .newInstance());
-        } catch (ClassNotFoundException | InstantiationException | IllegalAccessException e) {
+            provider = PersistenceProvider.class
+                    .cast(
+                        providerContainerContractInfo.getClassLoader()
+                                                     .loadClass(persistenceUnitInfo.getPersistenceProviderClassName())
+                                                     .getDeclaredConstructor()
+                                                     .newInstance());
+
+        } catch (ReflectiveOperationException | IllegalArgumentException | SecurityException e) {
             throw new RuntimeException(e);
         }
 
         Map<String, Object> schemaGenerationOverrides;
-        schemaGenerationProcessor = SchemaGenerationProcessorFactory.createSchemaGenerationProcessor(pud);
-        if(providerContainerContractInfo.isJava2DBRequired() ) {
-            schemaGenerationProcessor.init(pud, providerContainerContractInfo.getDeploymentContext());
+        schemaGenerationProcessor = SchemaGenerationProcessorFactory.createSchemaGenerationProcessor(persistenceUnitDescriptor);
+        if (providerContainerContractInfo.isJava2DBRequired()) {
+            schemaGenerationProcessor.init(persistenceUnitDescriptor, providerContainerContractInfo.getDeploymentContext());
             schemaGenerationOverrides = schemaGenerationProcessor.getOverridesForSchemaGeneration();
         } else {
             // schema generation is not required if this EMF is being created for
@@ -158,116 +204,127 @@
         }
 
         Map<String, Object> overRides = new HashMap<String, Object>(integrationProperties);
-        if(schemaGenerationOverrides != null) {
+        if (schemaGenerationOverrides != null) {
             overRides.putAll(schemaGenerationOverrides);
         }
 
         // Check if the persistence unit requires Bean Validation
-        ValidationMode validationMode = getValidationMode(pud);
-        if(validationMode == ValidationMode.AUTO || validationMode == ValidationMode.CALLBACK ) {
+        ValidationMode validationMode = getValidationMode(persistenceUnitDescriptor);
+        if (validationMode == ValidationMode.AUTO || validationMode == ValidationMode.CALLBACK) {
             overRides.put(VALIDATOR_FACTORY, providerContainerContractInfo.getValidatorFactory());
         }
 
-        if(!providerContainerContractInfo.isWeavingEnabled()) {
-            overRides.put(ECLIPSELINK_WEAVING_PROPERTY, System.getProperty(ECLIPSELINK_WEAVING_PROPERTY,"false")); // NOI18N
+        if (!providerContainerContractInfo.isWeavingEnabled()) {
+            overRides.put(ECLIPSELINK_WEAVING_PROPERTY, System.getProperty(ECLIPSELINK_WEAVING_PROPERTY, "false"));
         }
 
-        EntityManagerFactory emf = provider.createContainerEntityManagerFactory(pInfo, overRides);
+        EntityManagerFactory entityManagerFactory = provider.createContainerEntityManagerFactory(persistenceUnitInfo, overRides);
+
+        logger.logp(FINE, "PersistenceUnitLoader", "loadPU", "emf = {0}", entityManagerFactory);
+
+        PersistenceUnitsDescriptor parent = persistenceUnitDescriptor.getParent();
+        RootDeploymentDescriptor containingBundle = parent.getParent();
+        providerContainerContractInfo.registerEMF(
+            persistenceUnitInfo.getPersistenceUnitName(), persistenceUnitDescriptor.getPuRoot(), containingBundle, entityManagerFactory);
 
         if (fineMsgLoggable) {
-            logger.logp(Level.FINE, "PersistenceUnitLoader", "loadPU", // NOI18N
-                        "emf = {0}", emf); // NOI18N
-        }
-
-        PersistenceUnitsDescriptor parent = pud.getParent();
-        RootDeploymentDescriptor containingBundle = parent.getParent();
-        providerContainerContractInfo.registerEMF(pInfo.getPersistenceUnitName(), pud.getPuRoot(), containingBundle, emf);
-
-        if(fineMsgLoggable) {
-            logger.fine("Finished loading persistence unit for application: " +  // NOI18N
+            logger.fine("Finished loading persistence unit for application: " +
                     applicationLocation);
         }
-        return emf;
+
+        return entityManagerFactory;
     }
 
     /**
-     * If use provided data source is overridden, update PersistenceUnitDescriptor with it
+     * If use provided data source is overridden, update PersistenceUnitDescriptor
+     * with it
      */
-    private void checkForDataSourceOverride(PersistenceUnitDescriptor pud) {
+    private void checkForDataSourceOverride(PersistenceUnitDescriptor persistenceUnitDescriptor) {
         String jtaDataSourceOverride = providerContainerContractInfo.getJTADataSourceOverride();
-        if(jtaDataSourceOverride != null) {
-            pud.setJtaDataSource(jtaDataSourceOverride);
+        if (jtaDataSourceOverride != null) {
+            persistenceUnitDescriptor.setJtaDataSource(jtaDataSourceOverride);
         }
     }
 
     /** Calculate and set the default data source in given <code>pud</code> **/
-    private void calculateDefaultDataSource(PersistenceUnitDescriptor pud) {
-        String jtaDataSourceName = calculateJtaDataSourceName(pud.getTransactionType(), pud.getJtaDataSource(), pud.getNonJtaDataSource(), pud.getName());
-        String nonJtaDataSourceName = calculateNonJtaDataSourceName(pud.getJtaDataSource(), pud.getNonJtaDataSource());
-        pud.setJtaDataSource(jtaDataSourceName);
-        pud.setNonJtaDataSource(nonJtaDataSourceName);
+    private void calculateDefaultDataSource(PersistenceUnitDescriptor persistenceUnitDescriptor) {
+        String jtaDataSourceName =
+            calculateJtaDataSourceName(
+                persistenceUnitDescriptor.getTransactionType(),
+                persistenceUnitDescriptor.getJtaDataSource(),
+                persistenceUnitDescriptor.getNonJtaDataSource(),
+                persistenceUnitDescriptor.getName());
+
+        String nonJtaDataSourceName =
+            calculateNonJtaDataSourceName(
+                persistenceUnitDescriptor.getJtaDataSource(),
+                persistenceUnitDescriptor.getNonJtaDataSource());
+
+        persistenceUnitDescriptor.setJtaDataSource(jtaDataSourceName);
+        persistenceUnitDescriptor.setNonJtaDataSource(nonJtaDataSourceName);
     }
 
     /**
      * @return DataSource Name to be used as JTA data source.
      */
-    private String calculateJtaDataSourceName(String transactionType, String userSuppliedJTADSName, String userSuppliedNonJTADSName, String puName) {
+    private String calculateJtaDataSourceName(String transactionType, String userSuppliedJTADSName, String userSuppliedNonJTADSName,
+            String puName) {
         /*
-         * Use DEFAULT_DS_NAME iff user has not specified both jta-ds-name
-         * and non-jta-ds-name; and user has specified transaction-type as JTA.
-         * See Gf issue #1204 as well.
+         * Use DEFAULT_DS_NAME iff user has not specified both jta-ds-name and
+         * non-jta-ds-name; and user has specified transaction-type as JTA. See Gf issue
+         * #1204 as well.
          */
         if (PersistenceUnitTransactionType.valueOf(transactionType) != PersistenceUnitTransactionType.JTA) {
-            logger.logp(Level.FINE,
-                    "PersistenceUnitInfoImpl", // NOI18N
-                    "_getJtaDataSource", // NOI18N
-                    "This PU is configured as non-jta, so jta-data-source is null"); // NOI18N
+            logger.logp(FINE,
+                "PersistenceUnitInfoImpl",
+                 "_getJtaDataSource",
+                 "This PU is configured as non-jta, so jta-data-source is null");
             return null; // this is a non-jta-data-source
         }
-        String DSName;
+
+        String dataSourceName;
         if (!isNullOrEmpty(userSuppliedJTADSName)) {
-            DSName = userSuppliedJTADSName; // use user supplied jta-ds-name
-        } else if (isNullOrEmpty(userSuppliedNonJTADSName )) {
-            DSName = providerContainerContractInfo.getDefaultDataSourceName();
+            dataSourceName = userSuppliedJTADSName; // use user supplied jta-ds-name
+        } else if (isNullOrEmpty(userSuppliedNonJTADSName)) {
+            dataSourceName = providerContainerContractInfo.getDefaultDataSourceName();
         } else {
-            String msg = localStrings.getString("puinfo.jta-ds-not-configured", // NOI18N
-                    new Object[] {puName});
+            String msg = localStrings.getString("puinfo.jta-ds-not-configured",
+                    new Object[] { puName });
             throw new RuntimeException(msg);
         }
-        logger.logp(Level.FINE, "PersistenceUnitLoaderImpl", // NOI18N
-                "_getJtaDataSource", "JTADSName = {0}", // NOI18N
-                DSName);
-        return DSName;
+
+        logger.logp(FINE, "PersistenceUnitLoaderImpl",
+                "_getJtaDataSource",
+                "JTADSName = {0}",
+                dataSourceName);
+
+        return dataSourceName;
     }
 
-    private String calculateNonJtaDataSourceName(String userSuppliedJTADSName, String userSuppliedNonJTADSName ) {
+    private String calculateNonJtaDataSourceName(String userSuppliedJTADSName, String userSuppliedNonJTADSName) {
         /*
-         * If non-JTA name is *not* provided
-         * - use the JTA DS name (if supplied)
-         * If non-JTA name is provided
-         * - use non-JTA DS name
-         * (this is done for ease of use, because user does not have to
-         * explicitly mark a connection pool as non-transactional.
-         * Calling lookupNonTxDataSource() with a resource which is
-         * already configured as non-transactional has no side effects.)
-         * If neither non-JTA nor JTA name is provided
-         * use DEFAULT_DS_NAME.
+         * If non-JTA name is *not* provided - use the JTA DS name (if supplied) If
+         * non-JTA name is provided - use non-JTA DS name (this is done for ease of use,
+         * because user does not have to explicitly mark a connection pool as
+         * non-transactional. Calling lookupNonTxDataSource() with a resource which is
+         * already configured as non-transactional has no side effects.) If neither
+         * non-JTA nor JTA name is provided use DEFAULT_DS_NAME.
          */
-        String DSName;
+        String dataSourceName;
         if (!isNullOrEmpty(userSuppliedNonJTADSName)) {
-            DSName = userSuppliedNonJTADSName;
+            dataSourceName = userSuppliedNonJTADSName;
         } else {
             if (!isNullOrEmpty(userSuppliedJTADSName)) {
-                DSName = userSuppliedJTADSName;
+                dataSourceName = userSuppliedJTADSName;
             } else {
-                DSName = providerContainerContractInfo.getDefaultDataSourceName();
+                dataSourceName = providerContainerContractInfo.getDefaultDataSourceName();
             }
         }
-        logger.logp(Level.FINE,
-                "PersistenceUnitInfoImpl", // NOI18N
-                "_getNonJtaDataSource", "nonJTADSName = {0}", // NOI18N
-                DSName);
-        return DSName;
+        logger.logp(FINE, "PersistenceUnitInfoImpl",
+                "_getNonJtaDataSource", "nonJTADSName = {0}",
+                dataSourceName);
+
+        return dataSourceName;
     }
 
     static boolean isNullOrEmpty(String s) {
@@ -275,36 +332,40 @@
     }
 
     /**
-     * If the app is using Toplink Essentials as the provider and TopLink Essentials is not available in classpath
-     * We try to upgrade the app to use EclipseLink.
-     * Change the provider to EclipseLink and translate "toplink.*" properties to "eclipselink.*" properties
+     * If the app is using Toplink Essentials as the provider and TopLink Essentials
+     * is not available in classpath We try to upgrade the app to use EclipseLink.
+     * Change the provider to EclipseLink and translate "toplink.*" properties to
+     * "eclipselink.*" properties
      */
-    private void checkForUpgradeFromTopLinkEssentials(PersistenceUnitDescriptor pud) {
-        if(Boolean.getBoolean(DISABLE_UPGRADE_FROM_TOPLINK_ESSENTIALS) ) {
-            //Return if instructed by System property
+    private void checkForUpgradeFromTopLinkEssentials(PersistenceUnitDescriptor persistenceUnitDescriptor) {
+        if (Boolean.getBoolean(DISABLE_UPGRADE_FROM_TOPLINK_ESSENTIALS)) {
+            // Return if instructed by System property
             return;
         }
-        boolean upgradeTopLinkEssentialsProperties = false;
-        String providerClassName = pud.getProvider();
 
-        if (providerClassName == null || providerClassName.isEmpty() ) {
-            // This might be a JavaEE app running against V2 and relying in provider name being defaulted.
+        boolean upgradeTopLinkEssentialsProperties = false;
+        String providerClassName = persistenceUnitDescriptor.getProvider();
+
+        if (providerClassName == null || providerClassName.isEmpty()) {
+            // This might be a JavaEE app running against V2 and relying in provider name
+            // being defaulted.
             upgradeTopLinkEssentialsProperties = true;
-        } else if( "oracle.toplink.essentials.PersistenceProvider".equals(providerClassName) ||
-                "oracle.toplink.essentials.ejb.cmp3.EntityManagerFactoryProvider".equals(providerClassName) ) {
+        } else if ("oracle.toplink.essentials.PersistenceProvider".equals(providerClassName)
+                || "oracle.toplink.essentials.ejb.cmp3.EntityManagerFactoryProvider".equals(providerClassName)) {
             try {
                 providerContainerContractInfo.getClassLoader().loadClass(providerClassName);
             } catch (ClassNotFoundException e) {
-                // Toplink Essentials classes are not available to an application using it as the provider
+                // Toplink Essentials classes are not available to an application using it as
+                // the provider
                 // Migrate the application to use EclipseLink
 
                 String defaultProvider = PersistenceUnitInfoImpl.getDefaultprovider();
-                if(logger.isLoggable(Level.INFO)) {
-                    logger.log(Level.INFO, "puloader.defaulting.provider.on.upgrade", new Object[] {pud.getName(), defaultProvider});
+                if (logger.isLoggable(INFO)) {
+                    logger.log(INFO, "puloader.defaulting.provider.on.upgrade", new Object[] { persistenceUnitDescriptor.getName(), defaultProvider });
                 }
 
                 // Change the provider name
-                pud.setProvider(defaultProvider);
+                persistenceUnitDescriptor.setProvider(defaultProvider);
                 upgradeTopLinkEssentialsProperties = true;
             }
         }
@@ -313,12 +374,12 @@
             // For each "toplink*" property, add a "eclipselink* property
             final String TOPLINK = "toplink";
             final String ECLIPSELINK = "eclipselink";
-            Properties properties = pud.getProperties();
-            for (Map.Entry entry : properties.entrySet()) {
+            Properties properties = persistenceUnitDescriptor.getProperties();
+            for (Entry<Object, Object> entry : properties.entrySet()) {
                 String key = (String) entry.getKey();
-                if(key.startsWith(TOPLINK) ) {
+                if (key.startsWith(TOPLINK)) {
                     String translatedKey = ECLIPSELINK + key.substring(TOPLINK.length());
-                    pud.addProperty(translatedKey, entry.getValue());
+                    persistenceUnitDescriptor.addProperty(translatedKey, entry.getValue());
                 }
             }
         }
@@ -326,66 +387,31 @@
 
     /**
      * Called during load when the correct classloader and transformer had been
-     * already set.
-     * For emf that require Java2DB, call createEntityManager() to populate
-     * the DDL files, then iterate over those files and execute each line in them.
+     * already set. For emf that require Java2DB, call createEntityManager() to
+     * populate the DDL files, then iterate over those files and execute each line
+     * in them.
      */
     void doJava2DB() {
         if (schemaGenerationProcessor.isContainerDDLExecutionRequired()) {
-            final boolean fineMsgLoggable = logger.isLoggable(Level.FINE);
-            if(fineMsgLoggable) {
-                logger.fine("<--- To Create Tables"); // NOI18N
-            }
+            logger.fine("<--- To Create Tables");
 
             schemaGenerationProcessor.executeCreateDDL();
 
-            if(fineMsgLoggable) {
-                logger.fine("---> Done Create Tables"); // NOI18N
-            }
+            logger.fine("---> Done Create Tables");
         }
     }
 
-    private ValidationMode getValidationMode(PersistenceUnitDescriptor pud) {
-        ValidationMode validationMode = pud.getValidationMode(); //Initialize with value element <validation-mode> in persitence.xml
-        //Check is overridden in properties
-        String validationModeFromProperty = (String) pud.getProperties().get(VALIDATION_MODE_PROPERTY);
-        if(validationModeFromProperty != null) {
-            //User would get IllegalArgumentException if he has specified invalid mode
+    private ValidationMode getValidationMode(PersistenceUnitDescriptor persistenceUnitDescriptor) {
+        // Initialize with value element <validation-mode> in persitence.xml
+        ValidationMode validationMode = persistenceUnitDescriptor.getValidationMode();
+
+        // Check is overridden in properties
+        String validationModeFromProperty = (String) persistenceUnitDescriptor.getProperties().get(VALIDATION_MODE_PROPERTY);
+        if (validationModeFromProperty != null) {
+            // User would get IllegalArgumentException if he has specified invalid mode
             validationMode = ValidationMode.valueOf(validationModeFromProperty);
         }
+
         return validationMode;
     }
-
-
-    static {
-        /*
-         * We set all the provider specific integration level properties here.
-         * It knows about all the integration level properties that
-         * are needed to integrate a provider with our container. When we add
-         * support for other containers, we should modify this code so that user
-         * does not have to specify such properties in their persistence.xml file.
-         * These properties can be overriden by persistence.xml as per
-         * the spec. Before applying default values for properties, this method
-         * first checks if the properties have been set in the system
-         * (typically done using -D option in domain.xml).
-         *
-         */
-        // ------------------- The Base -------------------------
-
-        Map<String, String> props = new HashMap<>();
-
-        final String ECLIPSELINK_SERVER_PLATFORM_CLASS_NAME_PROPERTY = "eclipselink.target-server"; // NOI18N
-        props.put(ECLIPSELINK_SERVER_PLATFORM_CLASS_NAME_PROPERTY,
-                System.getProperty(ECLIPSELINK_SERVER_PLATFORM_CLASS_NAME_PROPERTY, "Glassfish")); // NOI18N
-
-        // Hibernate specific properties:
-        final String HIBERNATE_TRANSACTION_MANAGER_LOOKUP_CLASS_PROPERTY = "hibernate.transaction.manager_lookup_class"; // NOI18N
-        props.put(HIBERNATE_TRANSACTION_MANAGER_LOOKUP_CLASS_PROPERTY,
-                System.getProperty(HIBERNATE_TRANSACTION_MANAGER_LOOKUP_CLASS_PROPERTY, "org.hibernate.transaction.SunONETransactionManagerLookup")); // NOI18N
-
-        integrationProperties = Collections.unmodifiableMap(props);
-
-    }
-
-
 }
diff --git a/appserver/persistence/jpa-container/src/main/java/org/glassfish/persistence/jpa/ProviderContainerContractInfo.java b/appserver/persistence/jpa-container/src/main/java/org/glassfish/persistence/jpa/ProviderContainerContractInfo.java
index 6c969fe..ebba544 100644
--- a/appserver/persistence/jpa-container/src/main/java/org/glassfish/persistence/jpa/ProviderContainerContractInfo.java
+++ b/appserver/persistence/jpa-container/src/main/java/org/glassfish/persistence/jpa/ProviderContainerContractInfo.java
@@ -16,35 +16,37 @@
 
 package org.glassfish.persistence.jpa;
 
-import jakarta.persistence.spi.ClassTransformer;
-import jakarta.persistence.EntityManagerFactory;
-import javax.sql.DataSource;
 import javax.naming.NamingException;
-import jakarta.validation.ValidatorFactory;
+import javax.sql.DataSource;
 
 import org.glassfish.api.deployment.DeploymentContext;
 import org.glassfish.deployment.common.RootDeploymentDescriptor;
 
+import jakarta.persistence.EntityManagerFactory;
+import jakarta.persistence.spi.ClassTransformer;
+import jakarta.validation.ValidatorFactory;
 
 /**
+ * This encapsulates information needed to load or unload
+ * persistence units.
+ *
  * @author Mitesh Meswani
- * This encapsulates information needed  to load or unload persistence units.
  */
 public interface ProviderContainerContractInfo {
 
-    static final String DEFAULT_DS_NAME = "jdbc/__default";
+    String DEFAULT_DS_NAME = "jdbc/__default";
 
     /**
      *
-     * @return a class loader that is used to load persistence entities
-     * bundled in this application.
+     * @return a class loader that is used to load persistence entities bundled in
+     * this application.
      */
     ClassLoader getClassLoader();
 
     /**
      *
-     * @return a temp class loader that is used to load persistence entities
-     * bundled in this application.
+     * @return a temp class loader that is used to load persistence entities bundled
+     * in this application.
      */
     ClassLoader getTempClassloader();
 
@@ -54,7 +56,6 @@
      */
     void addTransformer(ClassTransformer transformer);
 
-
     /**
      * @return absolute path of the location where application is exploded.
      */
@@ -62,6 +63,7 @@
 
     /**
      * Looks up DataSource with JNDI name given by <code>dataSourceName</code>
+     *
      * @param dataSourceName
      * @return DataSource with JNDI name given by <code>dataSourceName</code>
      * @throws javax.naming.NamingException
@@ -69,9 +71,12 @@
     DataSource lookupDataSource(String dataSourceName) throws NamingException;
 
     /**
-     * Looks up Non transactional DataSource with JNDI name given by <code>dataSourceName</code>
+     * Looks up Non transactional DataSource with JNDI name given by
+     * <code>dataSourceName</code>
+     *
      * @param dataSourceName
-     * @return Non transactional DataSource with JNDI name given by <code>dataSourceName</code>
+     * @return Non transactional DataSource with JNDI name given by
+     * <code>dataSourceName</code>
      * @throws NamingException
      */
     DataSource lookupNonTxDataSource(String dataSourceName) throws NamingException;
@@ -83,6 +88,7 @@
 
     /**
      * Will be called while loading an application.
+     *
      * @return true if java2DB is required false otherwise
      */
     boolean isJava2DBRequired();
@@ -92,11 +98,12 @@
      */
     DeploymentContext getDeploymentContext();
 
-
     /**
      * Register the give emf with underlying container
+     *
      * @param unitName Name of correspoding PersistenceUnit
-     * @param persistenceRootUri URI within application (excluding META-INF) for root of corresponding PersistenceUnit
+     * @param persistenceRootUri URI within application (excluding META-INF) for
+     * root of corresponding PersistenceUnit
      * @param containingBundle The bundle that contains PU for the given EMF
      * @param emf The emf that needs to be registered
      */
@@ -109,12 +116,14 @@
 
     /**
      *
-     * @return default data source name to be used if user has not defined a data source
+     * @return default data source name to be used if user has not defined a data
+     * source
      */
     String getDefaultDataSourceName();
 
     /**
-     * @return true if weaving is enabled for the current environment false otherwise
+     * @return true if weaving is enabled for the current environment false
+     * otherwise
      */
     boolean isWeavingEnabled();
 }
diff --git a/appserver/persistence/jpa-container/src/main/java/org/glassfish/persistence/jpa/ProviderContainerContractInfoBase.java b/appserver/persistence/jpa-container/src/main/java/org/glassfish/persistence/jpa/ProviderContainerContractInfoBase.java
index 7c71aa3..79ac3e6 100644
--- a/appserver/persistence/jpa-container/src/main/java/org/glassfish/persistence/jpa/ProviderContainerContractInfoBase.java
+++ b/appserver/persistence/jpa-container/src/main/java/org/glassfish/persistence/jpa/ProviderContainerContractInfoBase.java
@@ -16,15 +16,19 @@
 
 package org.glassfish.persistence.jpa;
 
-import com.sun.appserv.connectors.internal.api.ConnectorRuntime;
-import org.glassfish.api.deployment.DeploymentContext;
-import org.glassfish.persistence.common.PersistenceHelper;
+import static org.glassfish.persistence.common.PersistenceHelper.lookupNonTxResource;
+import static org.glassfish.persistence.common.PersistenceHelper.lookupPMResource;
 
 import javax.naming.NamingException;
 import javax.sql.DataSource;
 
+import org.glassfish.api.deployment.DeploymentContext;
+
+import com.sun.appserv.connectors.internal.api.ConnectorRuntime;
+
 /**
  * Convenience base class for implementing ProviderContainerContractInfo.
+ *
  * @author Mitesh Meswani
  */
 public abstract class ProviderContainerContractInfoBase implements ProviderContainerContractInfo {
@@ -33,7 +37,9 @@
     private DeploymentContext context;
 
     public ProviderContainerContractInfoBase(ConnectorRuntime connectorRuntime) {
-        //This ctor is currently called only by ACC impl of ProviderContainerContractInfo which which will not deal with app/module scoped resources
+        // This ctor is currently called only by ACC impl of
+        // ProviderContainerContractInfo which which will not deal with app/module
+        // scoped resources
         this.connectorRuntime = connectorRuntime;
     }
 
@@ -44,12 +50,12 @@
 
     @Override
     public DataSource lookupDataSource(String dataSourceName) throws NamingException {
-        return DataSource.class.cast(PersistenceHelper.lookupPMResource(connectorRuntime, context, dataSourceName) );
+        return DataSource.class.cast(lookupPMResource(connectorRuntime, context, dataSourceName));
     }
 
     @Override
     public DataSource lookupNonTxDataSource(String dataSourceName) throws NamingException {
-        return DataSource.class.cast(PersistenceHelper.lookupNonTxResource(connectorRuntime, context, dataSourceName) );
+        return DataSource.class.cast(lookupNonTxResource(connectorRuntime, context, dataSourceName));
     }
 
     @Override
diff --git a/appserver/persistence/jpa-container/src/main/java/org/glassfish/persistence/jpa/ServerProviderContainerContractInfo.java b/appserver/persistence/jpa-container/src/main/java/org/glassfish/persistence/jpa/ServerProviderContainerContractInfo.java
index e9024e8..20efec8 100644
--- a/appserver/persistence/jpa-container/src/main/java/org/glassfish/persistence/jpa/ServerProviderContainerContractInfo.java
+++ b/appserver/persistence/jpa-container/src/main/java/org/glassfish/persistence/jpa/ServerProviderContainerContractInfo.java
@@ -16,126 +16,135 @@
 
 package org.glassfish.persistence.jpa;
 
-import com.sun.appserv.connectors.internal.api.ConnectorRuntime;
-import com.sun.enterprise.deployment.Application;
-import com.sun.enterprise.deployment.BundleDescriptor;
-import org.glassfish.deployment.common.RootDeploymentDescriptor;
-import org.glassfish.api.deployment.DeploymentContext;
-import org.glassfish.api.deployment.InstrumentableClassLoader;
-import org.glassfish.api.deployment.OpsParams;
-import org.glassfish.api.deployment.archive.ReadableArchive;
-import org.glassfish.persistence.common.DatabaseConstants;
+import static org.glassfish.persistence.common.DatabaseConstants.JTA_DATASOURCE_JNDI_NAME_OVERRIDE;
 
-import jakarta.validation.Validation;
-import jakarta.validation.ValidatorFactory;
-import jakarta.persistence.EntityManagerFactory;
-import jakarta.persistence.spi.ClassTransformer;
 import java.lang.instrument.ClassFileTransformer;
 import java.lang.instrument.IllegalClassFormatException;
 import java.security.ProtectionDomain;
 
+import org.glassfish.api.deployment.DeploymentContext;
+import org.glassfish.api.deployment.InstrumentableClassLoader;
+import org.glassfish.api.deployment.OpsParams;
+import org.glassfish.api.deployment.archive.ReadableArchive;
+import org.glassfish.deployment.common.RootDeploymentDescriptor;
+
+import com.sun.appserv.connectors.internal.api.ConnectorRuntime;
+import com.sun.enterprise.deployment.Application;
+import com.sun.enterprise.deployment.BundleDescriptor;
+
+import jakarta.persistence.EntityManagerFactory;
+import jakarta.persistence.spi.ClassTransformer;
+import jakarta.validation.Validation;
+import jakarta.validation.ValidatorFactory;
+
 /**
  * Implementation of ProviderContainerContractInfo while running on server.
+ *
  * @author Mitesh Meswani
  */
 public class ServerProviderContainerContractInfo extends ProviderContainerContractInfoBase {
 
-       private final DeploymentContext deploymentContext;
-       private final ClassLoader finalClassLoader;
-       private ValidatorFactory validatorFactory;
-       boolean isDas;
+    private final DeploymentContext deploymentContext;
+    private final ClassLoader finalClassLoader;
+    private ValidatorFactory validatorFactory;
+    boolean isDas;
 
-       public ServerProviderContainerContractInfo(DeploymentContext deploymentContext, ConnectorRuntime connectorRuntime, boolean isDas) {
-           super(connectorRuntime, deploymentContext);
-           this.deploymentContext = deploymentContext;
-           // Cache finalClassLoader as deploymentContext.getFinalClassLoader() is expected to be called only once during deployment.
-           this.finalClassLoader = deploymentContext.getFinalClassLoader();
-           this.isDas = isDas;
-       }
+    public ServerProviderContainerContractInfo(DeploymentContext deploymentContext, ConnectorRuntime connectorRuntime, boolean isDas) {
+        super(connectorRuntime, deploymentContext);
+        this.deploymentContext = deploymentContext;
+        // Cache finalClassLoader as deploymentContext.getFinalClassLoader() is expected
+        // to be called only once during deployment.
+        this.finalClassLoader = deploymentContext.getFinalClassLoader();
+        this.isDas = isDas;
+    }
 
-      @Override
-      public ClassLoader getClassLoader() {
-           return finalClassLoader;
-       }
+    @Override
+    public ClassLoader getClassLoader() {
+        return finalClassLoader;
+    }
 
-       @Override
-       public ClassLoader getTempClassloader() {
-           return ( (InstrumentableClassLoader)deploymentContext.getClassLoader() ).copy();
-       }
+    @Override
+    public ClassLoader getTempClassloader() {
+        return ((InstrumentableClassLoader) deploymentContext.getClassLoader()).copy();
+    }
 
-       @Override
-       public void addTransformer(final ClassTransformer transformer) {
-           // Bridge between java.lang.instrument.ClassFileTransformer that DeploymentContext accepts
-           // and jakarta.persistence.spi.ClassTransformer that JPA supplies.
-           deploymentContext.addTransformer(new ClassFileTransformer() {
-               public byte[] transform(ClassLoader loader, String className, Class<?> classBeingRedefined,
-                                       ProtectionDomain protectionDomain, byte[] classfileBuffer)
-                       throws IllegalClassFormatException {
-                   return transformer.transform(loader, className, classBeingRedefined, protectionDomain, classfileBuffer);
-               }
-           });
-       }
+    @Override
+    public void addTransformer(final ClassTransformer transformer) {
+        // Bridge between java.lang.instrument.ClassFileTransformer that
+        // DeploymentContext accepts
+        // and jakarta.persistence.spi.ClassTransformer that JPA supplies.
+        deploymentContext.addTransformer(new ClassFileTransformer() {
+            @Override
+            public byte[] transform(
+                    ClassLoader loader, String className, Class<?> classBeingRedefined, ProtectionDomain protectionDomain,
+                    byte[] classfileBuffer) throws IllegalClassFormatException {
+                return transformer.transform(loader, className, classBeingRedefined, protectionDomain, classfileBuffer);
+            }
+        });
+    }
 
-        @Override
-        public String getApplicationLocation() {
-           // Get source for current bundle. If it has not parent, it is the top level application
-           // else continue traversing up till we find one with not parent.
-           ReadableArchive archive = deploymentContext.getSource();
-           boolean appRootFound = false;
-           while (!appRootFound) {
-               ReadableArchive parentArchive = archive.getParentArchive();
-               if(parentArchive != null) {
-                   archive = parentArchive;
-               } else {
-                   appRootFound = true;
-               }
-           }
-           return archive.getURI().getPath();
-       }
+    @Override
+    public String getApplicationLocation() {
+        // Get source for current bundle. If it has not parent, it is the top level
+        // application.
+        // Else continue traversing up till we find one with not parent.
+        ReadableArchive archive = deploymentContext.getSource();
+        boolean appRootFound = false;
+        while (!appRootFound) {
+            ReadableArchive parentArchive = archive.getParentArchive();
+            if (parentArchive != null) {
+                archive = parentArchive;
+            } else {
+                appRootFound = true;
+            }
+        }
 
-       @Override
-       public ValidatorFactory getValidatorFactory() {
-           // TODO Once discussion about BeanValidation in JavaEE is done, ValidatorFactory should be available from deployment context
-           // We only create one validator factory per bundle.
-           if (validatorFactory == null) {
-               validatorFactory = Validation.buildDefaultValidatorFactory();
-           }
+        return archive.getURI().getPath();
+    }
 
-           return validatorFactory;
-       }
+    @Override
+    public ValidatorFactory getValidatorFactory() {
+        // TODO Once discussion about BeanValidation in JavaEE is done, ValidatorFactory
+        // should be available from deployment context
+        // We only create one validator factory per bundle.
+        if (validatorFactory == null) {
+            validatorFactory = Validation.buildDefaultValidatorFactory();
+        }
 
-       @Override
-       public boolean isJava2DBRequired() {
-           OpsParams params = deploymentContext.getCommandParameters(OpsParams.class);
-           // We only do java2db while being deployed on DAS. We do not do java2DB on load of an application or being deployed on an instance of a cluster
-           return params.origin.isDeploy() && isDas;
-       }
+        return validatorFactory;
+    }
 
-       @Override
-       public DeploymentContext getDeploymentContext() {
-           return deploymentContext;
-       }
+    @Override
+    public boolean isJava2DBRequired() {
+        OpsParams params = deploymentContext.getCommandParameters(OpsParams.class);
+        // We only do java2db while being deployed on DAS. We do not do java2DB on load
+        // of an application or being deployed on an instance of a cluster
+        return params.origin.isDeploy() && isDas;
+    }
 
-       @Override
-       public void registerEMF(String unitName, String persistenceRootUri, RootDeploymentDescriptor containingBundle, EntityManagerFactory emf) {
-           // We register the EMF into the bundle that declared the corresponding PU. This limits visibility of the emf
-           // to containing module.
-           // See EMFWrapper.lookupEntityManagerFactory() for corresponding look up logic
-           if (containingBundle.isApplication()) {
-               // ear level pu
-               assert containingBundle instanceof Application;
-               Application.class.cast(containingBundle).addEntityManagerFactory(
-                       unitName, persistenceRootUri, emf);
-           } else {
-               assert containingBundle instanceof BundleDescriptor;
-               BundleDescriptor.class.cast(containingBundle).addEntityManagerFactory(
-                       unitName, emf);
-           }
-       }
+    @Override
+    public DeploymentContext getDeploymentContext() {
+        return deploymentContext;
+    }
 
-       @Override
-       public String getJTADataSourceOverride() {
-           return deploymentContext.getTransientAppMetaData(DatabaseConstants.JTA_DATASOURCE_JNDI_NAME_OVERRIDE, String.class);
-       }
+    @Override
+    public void registerEMF(String unitName, String persistenceRootUri, RootDeploymentDescriptor containingBundle, EntityManagerFactory entityManagerFactory) {
+        // We register the EMF into the bundle that declared the corresponding PU. This
+        // limits visibility of the emf
+        // to containing module.
+        // See EMFWrapper.lookupEntityManagerFactory() for corresponding look up logic
+        if (containingBundle.isApplication()) {
+            // ear level pu
+            assert containingBundle instanceof Application;
+            Application.class.cast(containingBundle).addEntityManagerFactory(unitName, persistenceRootUri, entityManagerFactory);
+        } else {
+            assert containingBundle instanceof BundleDescriptor;
+            BundleDescriptor.class.cast(containingBundle).addEntityManagerFactory(unitName, entityManagerFactory);
+        }
+    }
+
+    @Override
+    public String getJTADataSourceOverride() {
+        return deploymentContext.getTransientAppMetaData(JTA_DATASOURCE_JNDI_NAME_OVERRIDE, String.class);
+    }
 }
-
diff --git a/appserver/persistence/jpa-container/src/main/java/org/glassfish/persistence/jpa/schemageneration/EclipseLinkSchemaGenerationProcessor.java b/appserver/persistence/jpa-container/src/main/java/org/glassfish/persistence/jpa/schemageneration/EclipseLinkSchemaGenerationProcessor.java
index 8f6128e..593d09d 100644
--- a/appserver/persistence/jpa-container/src/main/java/org/glassfish/persistence/jpa/schemageneration/EclipseLinkSchemaGenerationProcessor.java
+++ b/appserver/persistence/jpa-container/src/main/java/org/glassfish/persistence/jpa/schemageneration/EclipseLinkSchemaGenerationProcessor.java
@@ -16,49 +16,48 @@
 
 package org.glassfish.persistence.jpa.schemageneration;
 
-import com.sun.enterprise.deployment.PersistenceUnitDescriptor;
-
-import org.glassfish.api.deployment.DeploymentContext;
-import org.glassfish.persistence.common.*;
+import static org.glassfish.persistence.common.DatabaseConstants.CREATE_DDL_JDBC_FILE_SUFFIX;
+import static org.glassfish.persistence.common.DatabaseConstants.DROP_DDL_JDBC_FILE_SUFFIX;
 
 import java.util.HashMap;
 import java.util.Map;
 import java.util.logging.Level;
 import java.util.logging.Logger;
-import com.sun.logging.LogDomains;
 
+import org.glassfish.api.deployment.DeploymentContext;
+import org.glassfish.persistence.common.DatabaseConstants;
+import org.glassfish.persistence.common.Java2DBProcessorHelper;
+
+import com.sun.enterprise.deployment.PersistenceUnitDescriptor;
+import com.sun.logging.LogDomains;
 
 import jakarta.persistence.spi.PersistenceUnitTransactionType;
 
 /**
- * SchemaGenerationProcessor that handles schema generation while
- * running against EclipseLink in pre JPA 2.1 mode
- * For each persistence unit descriptors that is defined for
- * an application create the ddl scripts. Additionally if the
- * user has requested the tables to be created or dropped from
- * the database complete that action too.
+ * SchemaGenerationProcessor that handles schema generation while running
+ * against EclipseLink in pre JPA 2.1 mode For each persistence unit descriptors
+ * that is defined for an application create the ddl scripts. Additionally if
+ * the user has requested the tables to be created or dropped from the database
+ * complete that action too.
  *
- * These are the principles and expectations of the implementation.
- * We don't want TopLink code to execute the DDLs, it should only
- * generate them. So, we always set the *generation-mode* to *script*
- * in the PUInfo object before passing it to createContainerEMF().
- * As a result TopLink never creates the actual tables, nor does it drop
- * them. The DDLs are executed by our code based on user preference which
- * considers inputs from persistence.xml and CLI. We set the TopLink
- * property to DROP_AND_CREATE in that map because we want it to always
- * generate both create- and dropDDL.jdbc files.
+ * These are the principles and expectations of the implementation. We don't
+ * want TopLink code to execute the DDLs, it should only generate them. So, we
+ * always set the *generation-mode* to *script* in the PUInfo object before
+ * passing it to createContainerEMF(). As a result TopLink never creates the
+ * actual tables, nor does it drop them. The DDLs are executed by our code based
+ * on user preference which considers inputs from persistence.xml and CLI. We
+ * set the TopLink property to DROP_AND_CREATE in that map because we want it to
+ * always generate both create- and dropDDL.jdbc files.
+ *
  * @author pramodg
  */
 public class EclipseLinkSchemaGenerationProcessor implements SchemaGenerationProcessor {
 
     // Defining the persistence provider class names here that we would use to
     // check if schema generation is supported.
-    private static final String TOPLINK_PERSISTENCE_PROVIDER_CLASS_NAME_OLD =
-        "oracle.toplink.essentials.ejb.cmp3.EntityManagerFactoryProvider"; // NOI18N
-    private static final String TOPLINK_PERSISTENCE_PROVIDER_CLASS_NAME_NEW =
-        "oracle.toplink.essentials.PersistenceProvider"; // NOI18N
-    private static final String ECLIPSELINK_PERSISTENCE_PROVIDER_CLASS_NAME =
-        "org.eclipse.persistence.jpa.PersistenceProvider"; // NOI18N
+    private static final String TOPLINK_PERSISTENCE_PROVIDER_CLASS_NAME_OLD = "oracle.toplink.essentials.ejb.cmp3.EntityManagerFactoryProvider";
+    private static final String TOPLINK_PERSISTENCE_PROVIDER_CLASS_NAME_NEW = "oracle.toplink.essentials.PersistenceProvider";
+    private static final String ECLIPSELINK_PERSISTENCE_PROVIDER_CLASS_NAME = "org.eclipse.persistence.jpa.PersistenceProvider";
 
     // Constants for various property values.
 
@@ -66,29 +65,29 @@
     // oracle.toplink.essentials.ejb.cmp3.EntityManagerFactoryProvider
     // and org.eclipse.persistence.jpa.config.PersistenceUnitProperties
     // This code assumes that the value of constant at both the place is same
-    private static final String CREATE_ONLY             = "create-tables"; //NOI18N
-    private static final String DROP_AND_CREATE         = "drop-and-create-tables"; //NOI18N
-    private static final String NONE                    = "none"; //NOI18N
+    private static final String CREATE_ONLY = "create-tables"; // NOI18N
+    private static final String DROP_AND_CREATE = "drop-and-create-tables"; // NOI18N
+    private static final String NONE = "none"; // NOI18N
 
-    private static final String DDL_BOTH_GENERATION     = "both"; //NOI18N
-    private static final String DDL_DATABASE_GENERATION = "database"; //NOI18N
-    private static final String DDL_SQL_SCRIPT_GENERATION = "sql-script"; //NOI18N
+    private static final String DDL_BOTH_GENERATION = "both"; // NOI18N
+    private static final String DDL_DATABASE_GENERATION = "database"; // NOI18N
+    private static final String DDL_SQL_SCRIPT_GENERATION = "sql-script"; // NOI18N
 
     // property names for Toplink and EclipseLink
-    private static final String TOPLINK_DDL_GENERATION     = "toplink.ddl-generation"; // NOI18N
-    private static final String ECLIPSELINK_DDL_GENERATION = "eclipselink.ddl-generation"; // NOI18N
+    private static final String TOPLINK_DDL_GENERATION = "toplink.ddl-generation";
+    private static final String ECLIPSELINK_DDL_GENERATION = "eclipselink.ddl-generation";
 
-    private static final String TOPLINK_DDL_GENERATION_OUTPUT_MODE = "toplink.ddl-generation.output-mode"; // NOI18N
-    private static final String ECLIPSELINK_DDL_GENERATION_OUTPUT_MODE = "eclipselink.ddl-generation.output-mode"; // NOI18N
+    private static final String TOPLINK_DDL_GENERATION_OUTPUT_MODE = "toplink.ddl-generation.output-mode";
+    private static final String ECLIPSELINK_DDL_GENERATION_OUTPUT_MODE = "eclipselink.ddl-generation.output-mode";
 
-    private static final String TOPLINK_APP_LOCATION         = "toplink.application-location"; // NOI18N
-    private static final String ECLIPSELINK_APP_LOCATION     = "eclipselink.application-location"; // NOI18N
+    private static final String TOPLINK_APP_LOCATION = "toplink.application-location";
+    private static final String ECLIPSELINK_APP_LOCATION = "eclipselink.application-location";
 
-    private static final String TOPLINK_CREATE_JDBC_DDL_FILE     = "toplink.create-ddl-jdbc-file-name"; // NOI18N
-    private static final String ECLIPSELINK_CREATE_JDBC_DDL_FILE = "eclipselink.create-ddl-jdbc-file-name"; // NOI18N
+    private static final String TOPLINK_CREATE_JDBC_DDL_FILE = "toplink.create-ddl-jdbc-file-name";
+    private static final String ECLIPSELINK_CREATE_JDBC_DDL_FILE = "eclipselink.create-ddl-jdbc-file-name";
 
-    private static final String TOPLINK_DROP_JDBC_DDL_FILE       = "toplink.drop-ddl-jdbc-file-name"; // NOI18N
-    private static final String ECLIPSELINK_DROP_JDBC_DDL_FILE   = "eclipselink.drop-ddl-jdbc-file-name"; // NOI18N
+    private static final String TOPLINK_DROP_JDBC_DDL_FILE = "toplink.drop-ddl-jdbc-file-name";
+    private static final String ECLIPSELINK_DROP_JDBC_DDL_FILE = "eclipselink.drop-ddl-jdbc-file-name";
 
     private static Logger logger = LogDomains.getLogger(EclipseLinkSchemaGenerationProcessor.class, LogDomains.PERSISTENCE_LOGGER);
 
@@ -104,7 +103,8 @@
     private boolean isSchemaGenerationPU;
 
     /**
-     * Creates a new instance of EclipseLinkSchemaGenerationProcessor using Java2DBProcessorHelper
+     * Creates a new instance of EclipseLinkSchemaGenerationProcessor using
+     * Java2DBProcessorHelper
      */
     public EclipseLinkSchemaGenerationProcessor(String persistenceProviderClassName) {
         initializeProviderPropertyHolder(persistenceProviderClassName);
@@ -119,45 +119,38 @@
         this.helper = new Java2DBProcessorHelper(context);
         this.helper.init();
 
-        String ddlGenerate = getPersistencePropVal(pud,
-                providerPropertyNamesHolder.ddlGeneration, NONE);
-        String ddlMode = getPersistencePropVal(pud,
-                providerPropertyNamesHolder.ddlGenerationOutputMode, DDL_BOTH_GENERATION);
+        String ddlGenerate = getPersistencePropVal(pud, providerPropertyNamesHolder.ddlGeneration, NONE);
+        String ddlMode = getPersistencePropVal(pud, providerPropertyNamesHolder.ddlGenerationOutputMode, DDL_BOTH_GENERATION);
 
         // If CLI options are not set, use value from the the ddl-generate property
         // if defined in persistence.xml
-        boolean userCreateTables = (ddlGenerate.equals(CREATE_ONLY)
-                || ddlGenerate.equals(DROP_AND_CREATE))
-                && !ddlMode.equals(NONE);
+        boolean userCreateTables = (ddlGenerate.equals(CREATE_ONLY) || ddlGenerate.equals(DROP_AND_CREATE)) && !ddlMode.equals(NONE);
 
         boolean createTables = helper.getCreateTables(userCreateTables);
 
         boolean userDropTables = ddlGenerate.equals(DROP_AND_CREATE)
-                && (ddlMode.equals(DDL_DATABASE_GENERATION)
-                || ddlMode.equals(DDL_BOTH_GENERATION));
+                && (ddlMode.equals(DDL_DATABASE_GENERATION) || ddlMode.equals(DDL_BOTH_GENERATION));
 
         if (logger.isLoggable(Level.FINE)) {
-            logger.fine("Processing request with create tables: " + createTables //NOI18N
-                    + ", drop tables: " + userDropTables); //NOI18N
+            logger.fine("Processing request with create tables: " + createTables // NOI18N
+                    + ", drop tables: " + userDropTables); // NOI18N
         }
 
         if (createTables || userDropTables) {
-            helper.setProcessorType("JPA", pud.getName()); // NOI18N
+            helper.setProcessorType("JPA", pud.getName());
             helper.setDropTablesValue(userDropTables, pud.getName());
-            helper.setCreateTablesValue(userCreateTables && !ddlMode.equals(DDL_SQL_SCRIPT_GENERATION),
-                    pud.getName());
+            helper.setCreateTablesValue(userCreateTables && !ddlMode.equals(DDL_SQL_SCRIPT_GENERATION), pud.getName());
 
-
-            // For a RESOURCE_LOCAL, managed pu, only non-jta-data-source should be specified.
-            String dataSourceName =
-                    (PersistenceUnitTransactionType.JTA == PersistenceUnitTransactionType.valueOf(pud.getTransactionType())) ?
-                            pud.getJtaDataSource() : pud.getNonJtaDataSource();
+            // For a RESOURCE_LOCAL, managed pu, only non-jta-data-source should be
+            // specified.
+            String dataSourceName = (PersistenceUnitTransactionType.JTA == PersistenceUnitTransactionType.valueOf(pud.getTransactionType()))
+                    ? pud.getJtaDataSource()
+                    : pud.getNonJtaDataSource();
             helper.setJndiName(dataSourceName, pud.getName());
             constructJdbcFileNames(pud);
             if (logger.isLoggable(Level.FINE)) {
-                logger.fine("Processing request to create files - create file: " + //NOI18N
-                        helper.getCreateJdbcFileName(pud.getName())
-                        + ", drop  file: " + //NOI18N
+                logger.fine("Processing request to create files - create file: " + // NOI18N
+                        helper.getCreateJdbcFileName(pud.getName()) + ", drop  file: " + // NOI18N
                         helper.getDropJdbcFileName(pud.getName()));
             }
 
@@ -167,7 +160,6 @@
         }
     }
 
-
     @Override
     public Map<String, Object> getOverridesForSchemaGeneration() {
         return overrides;
@@ -180,7 +172,6 @@
         return overridesForSuppressingSchemaGeneration;
     }
 
-
     @Override
     public boolean isContainerDDLExecutionRequired() {
         // DDL execution is required if this is a schema generation pu
@@ -193,8 +184,8 @@
         providerPropertyNamesHolder = new ProviderPropertyNamesHolder();
 
         // Override with TLE names if running against TLE
-        if (TOPLINK_PERSISTENCE_PROVIDER_CLASS_NAME_NEW.equals(providerClassName) ||
-                TOPLINK_PERSISTENCE_PROVIDER_CLASS_NAME_OLD.equals(providerClassName)) {
+        if (TOPLINK_PERSISTENCE_PROVIDER_CLASS_NAME_NEW.equals(providerClassName)
+                || TOPLINK_PERSISTENCE_PROVIDER_CLASS_NAME_OLD.equals(providerClassName)) {
             // for backward compatibility
             providerPropertyNamesHolder.appLocation = TOPLINK_APP_LOCATION;
             providerPropertyNamesHolder.createJdbcDdlFile = TOPLINK_CREATE_JDBC_DDL_FILE;
@@ -205,36 +196,29 @@
     }
 
     /**
-     * Construct the name of the create and
-     * drop jdbc ddl files that would be
-     * created. These name would be either
-     * obtained from the persistence.xml file
-     * (if the user has defined them) or we would
-     * create default filenames
+     * Construct the name of the create and drop jdbc ddl files that would be
+     * created. These name would be either obtained from the persistence.xml file
+     * (if the user has defined them) or we would create default filenames
+     *
      * @param parBundle the persistence unit descriptor that is being worked on.
      */
-    private void constructJdbcFileNames(PersistenceUnitDescriptor parBundle)  {
-        String createJdbcFileName =
-                getPersistencePropVal(parBundle,
-                providerPropertyNamesHolder.createJdbcDdlFile, null);
-        String dropJdbcFileName =
-                getPersistencePropVal(parBundle,
-                providerPropertyNamesHolder.dropJdbcDdlFile, null);
+    private void constructJdbcFileNames(PersistenceUnitDescriptor parBundle) {
+        String createJdbcFileName = getPersistencePropVal(parBundle, providerPropertyNamesHolder.createJdbcDdlFile, null);
+        String dropJdbcFileName = getPersistencePropVal(parBundle, providerPropertyNamesHolder.dropJdbcDdlFile, null);
 
-        if((null != createJdbcFileName) && (null != dropJdbcFileName)) {
+        if (createJdbcFileName != null && dropJdbcFileName != null) {
             return;
         }
 
-        String filePrefix =
-                    Java2DBProcessorHelper.getDDLNamePrefix(parBundle.getParent().getParent());
+        String filePrefix = Java2DBProcessorHelper.getDDLNamePrefix(parBundle.getParent().getParent());
 
-        if(null == createJdbcFileName) {
-            createJdbcFileName = filePrefix + DatabaseConstants.NAME_SEPARATOR + parBundle.getName() +
-                DatabaseConstants.CREATE_DDL_JDBC_FILE_SUFFIX;
+        if (createJdbcFileName == null) {
+            createJdbcFileName = filePrefix + DatabaseConstants.NAME_SEPARATOR + parBundle.getName()
+                    + CREATE_DDL_JDBC_FILE_SUFFIX;
         }
-        if(null == dropJdbcFileName) {
-            dropJdbcFileName = filePrefix + DatabaseConstants.NAME_SEPARATOR + parBundle.getName() +
-                DatabaseConstants.DROP_DDL_JDBC_FILE_SUFFIX;
+        if (dropJdbcFileName == null) {
+            dropJdbcFileName = filePrefix + DatabaseConstants.NAME_SEPARATOR + parBundle.getName()
+                    + DROP_DDL_JDBC_FILE_SUFFIX;
         }
 
         helper.setCreateJdbcFileName(createJdbcFileName, parBundle.getName());
@@ -242,13 +226,13 @@
     }
 
     /**
-     * This method is called after the jdbc files have been created.
-     * Iterate over all created jdbc ddl files and
-     * execute it against the database to have the required objects created.
+     * This method is called after the jdbc files have been created. Iterate over
+     * all created jdbc ddl files and execute it against the database to have the
+     * required objects created.
      */
     @Override
     public void executeCreateDDL() {
-        helper.createOrDropTablesInDB(true, "JPA"); // NOI18N
+        helper.createOrDropTablesInDB(true, "JPA");
     }
 
     private void addSchemaGenerationPropertiesToOverrides(PersistenceUnitDescriptor puDescriptor, Map<String, Object> overrides) {
@@ -259,69 +243,67 @@
         addPropertyToOverride(puDescriptor, overrides, providerPropertyNamesHolder.dropJdbcDdlFile,
                 helper.getDropJdbcFileName(puDescriptor.getName()));
 
-        // The puDescriptor might not have this property if schema generation is triggered by deployment CLI override
-        addPropertyToOverride(puDescriptor, overrides,
-                providerPropertyNamesHolder.ddlGeneration, DROP_AND_CREATE);
+        // The puDescriptor might not have this property if schema generation is
+        // triggered by deployment CLI override
+        addPropertyToOverride(puDescriptor, overrides, providerPropertyNamesHolder.ddlGeneration, DROP_AND_CREATE);
+
         // If we are doing schema generation, we want DDL scripts to be generated
-        addPropertyToOverride(puDescriptor, overrides,
-                providerPropertyNamesHolder.ddlGenerationOutputMode, DDL_SQL_SCRIPT_GENERATION);
+        addPropertyToOverride(puDescriptor, overrides, providerPropertyNamesHolder.ddlGenerationOutputMode, DDL_SQL_SCRIPT_GENERATION);
 
     }
 
     /**
-     * Utility method that is used to actually set the property into the persistence unit descriptor.
+     * Utility method that is used to actually set the property into the persistence
+     * unit descriptor.
+     *
      * @param descriptor the persistence unit descriptor that is being worked on.
      * @param propertyName the name of the property.
      * @param propertyValue the value of the property.
      */
-    private static void addPropertyToOverride(PersistenceUnitDescriptor descriptor, Map<String, Object> overrides,
-                                       String propertyName, String propertyValue) {
+    private static void addPropertyToOverride(PersistenceUnitDescriptor descriptor, Map<String, Object> overrides, String propertyName, String propertyValue) {
         String oldPropertyValue = descriptor.getProperties().getProperty(propertyName);
-        if(null == oldPropertyValue) { //Do not override any value explicitly specified by the user
+        if (oldPropertyValue == null) { // Do not override any value explicitly specified by the user
             overrides.put(propertyName, propertyValue);
         }
     }
 
     /**
-     * Given a persistence unit descriptor
-     * return the value of a property if the
-     * user has specified it.
-     * If the user has not defined this property
-     * return the default value.
+     * Given a persistence unit descriptor return the value of a property if the
+     * user has specified it. If the user has not defined this property return the
+     * default value.
+     *
      * @param parBundle the persistence unit descriptor that is being worked on.
      * @param propertyName the property name being checked.
      * @param defaultValue the default value to be used.
      * @return the property value.
      */
-    private String getPersistencePropVal(PersistenceUnitDescriptor parBundle,
-            String propertyName, String defaultValue) {
+    private String getPersistencePropVal(PersistenceUnitDescriptor parBundle, String propertyName, String defaultValue) {
         return parBundle.getProperties().getProperty(propertyName, defaultValue);
     }
 
     /**
-     * This processor only supports EclipseLink, the default
-     * persistence povider in glassfish; or Toplink, the default provder for GF 2.x.
+     * This processor only supports EclipseLink, the default persistence povider in
+     * glassfish; or Toplink, the default provder for GF 2.x.
      *
      * @return true if persistence provider is EclipseLink or Toplink.
      */
     public static boolean isSupportedPersistenceProvider(final String providerClassName) {
 
-        return providerClassName.equals(TOPLINK_PERSISTENCE_PROVIDER_CLASS_NAME_OLD) ||
-                providerClassName.equals(TOPLINK_PERSISTENCE_PROVIDER_CLASS_NAME_NEW) ||
-                providerClassName.equals(ECLIPSELINK_PERSISTENCE_PROVIDER_CLASS_NAME);
+        return providerClassName.equals(TOPLINK_PERSISTENCE_PROVIDER_CLASS_NAME_OLD)
+                || providerClassName.equals(TOPLINK_PERSISTENCE_PROVIDER_CLASS_NAME_NEW)
+                || providerClassName.equals(ECLIPSELINK_PERSISTENCE_PROVIDER_CLASS_NAME);
     }
 
-
     /**
      * Holds names of provider specific property
      */
     private static class ProviderPropertyNamesHolder {
         // Initialize property names with EL specific properties
-            String appLocation       = ECLIPSELINK_APP_LOCATION;
-            String createJdbcDdlFile = ECLIPSELINK_CREATE_JDBC_DDL_FILE;
-            String dropJdbcDdlFile   = ECLIPSELINK_DROP_JDBC_DDL_FILE;
-            String ddlGeneration     = ECLIPSELINK_DDL_GENERATION;
-            String ddlGenerationOutputMode = ECLIPSELINK_DDL_GENERATION_OUTPUT_MODE;
+        String appLocation = ECLIPSELINK_APP_LOCATION;
+        String createJdbcDdlFile = ECLIPSELINK_CREATE_JDBC_DDL_FILE;
+        String dropJdbcDdlFile = ECLIPSELINK_DROP_JDBC_DDL_FILE;
+        String ddlGeneration = ECLIPSELINK_DDL_GENERATION;
+        String ddlGenerationOutputMode = ECLIPSELINK_DDL_GENERATION_OUTPUT_MODE;
     }
 
 }
diff --git a/appserver/persistence/jpa-container/src/main/java/org/glassfish/persistence/jpa/schemageneration/JPAStandardSchemaGenerationProcessor.java b/appserver/persistence/jpa-container/src/main/java/org/glassfish/persistence/jpa/schemageneration/JPAStandardSchemaGenerationProcessor.java
index 5fc8d53..28bf26f 100644
--- a/appserver/persistence/jpa-container/src/main/java/org/glassfish/persistence/jpa/schemageneration/JPAStandardSchemaGenerationProcessor.java
+++ b/appserver/persistence/jpa-container/src/main/java/org/glassfish/persistence/jpa/schemageneration/JPAStandardSchemaGenerationProcessor.java
@@ -16,16 +16,17 @@
 
 package org.glassfish.persistence.jpa.schemageneration;
 
-import com.sun.enterprise.deployment.PersistenceUnitDescriptor;
-import org.glassfish.api.deployment.DeploymentContext;
-
 import java.io.CharArrayReader;
 import java.util.HashMap;
 import java.util.Map;
 
+import org.glassfish.api.deployment.DeploymentContext;
+
+import com.sun.enterprise.deployment.PersistenceUnitDescriptor;
 
 /**
  * Schema generation processor while using standard JPA based schema generation
+ *
  * @author Mitesh Meswani
  */
 public class JPAStandardSchemaGenerationProcessor implements SchemaGenerationProcessor {
@@ -42,7 +43,8 @@
 
     @Override
     public Map<String, Object> getOverridesForSchemaGeneration() {
-        // No override is needed now. When we wire in taking schema generation overrides from deploy CLI, this method will return corresponding overrides.
+        // No override is needed now. When we wire in taking schema generation overrides
+        // from deploy CLI, this method will return corresponding overrides.
         return null;
     }
 
@@ -51,7 +53,7 @@
         Map<String, Object> overrides = new HashMap<>();
 
         overrides.put(SCHEMA_GENERATION_DATABASE_ACTION_PROPERTY, SCHEMA_GENERATION_ACTION_NONE); // suppress database action
-        overrides.put(SCHEMA_GENERATION_SCRIPTS_ACTION_PROPERTY, SCHEMA_GENERATION_ACTION_NONE);  // suppress script action
+        overrides.put(SCHEMA_GENERATION_SCRIPTS_ACTION_PROPERTY, SCHEMA_GENERATION_ACTION_NONE); // suppress script action
         overrides.put(SQL_LOAD_SCRIPT_SOURCE, new CharArrayReader(new char[0])); // suppress execution of load scripts
 
         return overrides;
@@ -65,7 +67,8 @@
 
     @Override
     public void executeCreateDDL() {
-        // We should never reach here as this processor returns false for isContainerDDLExecutionRequired()
+        // We should never reach here as this processor returns false for
+        // isContainerDDLExecutionRequired()
         throw new UnsupportedOperationException();
     }
 }
diff --git a/appserver/persistence/jpa-container/src/main/java/org/glassfish/persistence/jpa/schemageneration/SchemaGenerationProcessor.java b/appserver/persistence/jpa-container/src/main/java/org/glassfish/persistence/jpa/schemageneration/SchemaGenerationProcessor.java
index 4869be4..1db4f9d 100644
--- a/appserver/persistence/jpa-container/src/main/java/org/glassfish/persistence/jpa/schemageneration/SchemaGenerationProcessor.java
+++ b/appserver/persistence/jpa-container/src/main/java/org/glassfish/persistence/jpa/schemageneration/SchemaGenerationProcessor.java
@@ -16,13 +16,15 @@
 
 package org.glassfish.persistence.jpa.schemageneration;
 
-import com.sun.enterprise.deployment.PersistenceUnitDescriptor;
+import java.util.Map;
+
 import org.glassfish.api.deployment.DeploymentContext;
 
-import java.util.Map;
+import com.sun.enterprise.deployment.PersistenceUnitDescriptor;
 
 /**
  * Processor for schema generation
+ *
  * @author Mitesh Meswani
  */
 public interface SchemaGenerationProcessor {
@@ -38,9 +40,10 @@
     Map<String, Object> getOverridesForSchemaGeneration();
 
     /**
-     @return overrides that will be supplied to EMF creation for suppressing schema generation
+     * @return overrides that will be supplied to EMF creation for suppressing
+     * schema generation
      */
-    Map<String,Object> getOverridesForSuppressingSchemaGeneration();
+    Map<String, Object> getOverridesForSuppressingSchemaGeneration();
 
     /**
      * @return whether ddl needs to be executed by container
diff --git a/appserver/persistence/jpa-container/src/main/java/org/glassfish/persistence/jpa/schemageneration/SchemaGenerationProcessorFactory.java b/appserver/persistence/jpa-container/src/main/java/org/glassfish/persistence/jpa/schemageneration/SchemaGenerationProcessorFactory.java
index 276bc16..1bc2e65 100644
--- a/appserver/persistence/jpa-container/src/main/java/org/glassfish/persistence/jpa/schemageneration/SchemaGenerationProcessorFactory.java
+++ b/appserver/persistence/jpa-container/src/main/java/org/glassfish/persistence/jpa/schemageneration/SchemaGenerationProcessorFactory.java
@@ -16,49 +16,53 @@
 
 package org.glassfish.persistence.jpa.schemageneration;
 
-import com.sun.enterprise.deployment.PersistenceUnitDescriptor;
+import static org.glassfish.persistence.jpa.schemageneration.EclipseLinkSchemaGenerationProcessor.isSupportedPersistenceProvider;
+
 import org.glassfish.persistence.jpa.PersistenceUnitInfoImpl;
 
+import com.sun.enterprise.deployment.PersistenceUnitDescriptor;
 
 /**
  * Factory for creating SchemaGenerationProcessor
- * @author  Mitesh Meswani
+ *
+ * @author Mitesh Meswani
  */
 public class SchemaGenerationProcessorFactory {
 
-    /**
-     * @return EclipseLink specific schema generation iff provider is EclipseLink or Toplink, and user has not specified
-     * any standard JPA schema generation property else return JPAStandardSchemaGenerationProcessor
-     */
-    public static SchemaGenerationProcessor createSchemaGenerationProcessor(PersistenceUnitDescriptor pud) {
-        // We use
+    private static final String STANDARD_SCHEMA_GENERATION_PREFIX = "jakarta.persistence.schema-generation";
 
-        String providerClassName = PersistenceUnitInfoImpl.getPersistenceProviderClassNameForPuDesc(pud);
+    /**
+     * @return EclipseLink specific schema generation iff provider is EclipseLink or
+     * Toplink, and user has not specified any standard JPA schema generation
+     * property else return JPAStandardSchemaGenerationProcessor
+     */
+    public static SchemaGenerationProcessor createSchemaGenerationProcessor(PersistenceUnitDescriptor persistenceUnitDescriptor) {
+        String providerClassName = PersistenceUnitInfoImpl.getPersistenceProviderClassNameForPuDesc(persistenceUnitDescriptor);
 
         boolean useJPA21Processor = true;
 
-        if(EclipseLinkSchemaGenerationProcessor.isSupportedPersistenceProvider(providerClassName) ) {
-           if(!containsStandardSchemaGenerationProperty(pud)) {
-               useJPA21Processor = false;
-           }
+        if (isSupportedPersistenceProvider(providerClassName)) {
+            if (!containsStandardSchemaGenerationProperty(persistenceUnitDescriptor)) {
+                useJPA21Processor = false;
+            }
         }
 
         return useJPA21Processor ? new JPAStandardSchemaGenerationProcessor() : new EclipseLinkSchemaGenerationProcessor(providerClassName);
     }
 
-    private static final String STANDARD_SCHEMA_GENERATION_PREFIX = "jakarta.persistence.schema-generation";
-
     /**
-     * @return true if the given <code>pud</code> contains a JPA standard property for schema generation
+     * @return true if the given <code>pud</code> contains a JPA standard property
+     * for schema generation
      */
-    private static boolean containsStandardSchemaGenerationProperty(PersistenceUnitDescriptor pud) {
+    private static boolean containsStandardSchemaGenerationProperty(PersistenceUnitDescriptor persistenceUnitDescriptor) {
         boolean containsStandardSchemaGenerationProperty = false;
-        for (Object puPropertyName : pud.getProperties().keySet()) {
-            if(puPropertyName instanceof String && String.class.cast(puPropertyName).startsWith(STANDARD_SCHEMA_GENERATION_PREFIX) ) {
+        for (Object puPropertyName : persistenceUnitDescriptor.getProperties().keySet()) {
+            if (puPropertyName instanceof String && String.class.cast(puPropertyName).startsWith(STANDARD_SCHEMA_GENERATION_PREFIX)) {
                 containsStandardSchemaGenerationProperty = true;
                 break;
             }
         }
+
         return containsStandardSchemaGenerationProperty;
     }
 
diff --git a/appserver/pom.xml b/appserver/pom.xml
index b3c26a6..c1aea33 100644
--- a/appserver/pom.xml
+++ b/appserver/pom.xml
@@ -140,7 +140,7 @@
         <jsonp-ri.version>2.0.1</jsonp-ri.version>
         <jsonp-jaxrs.version>2.0.1</jsonp-jaxrs.version>
         <json.bind-api.version>2.0.0</json.bind-api.version>
-        <yasson.version>2.0.3</yasson.version>
+        <yasson.version>2.0.4</yasson.version>
 
         <!-- Jakarta Server Pages -->
         <jsp-api.version>3.1.0</jsp-api.version>
diff --git a/appserver/tests/appserv-tests/cciblackbox-tx/pom.xml b/appserver/tests/appserv-tests/cciblackbox-tx/pom.xml
new file mode 100644
index 0000000..55acff2
--- /dev/null
+++ b/appserver/tests/appserv-tests/cciblackbox-tx/pom.xml
@@ -0,0 +1,47 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+
+    Copyright (c) 2022 Contributors to the Eclipse Foundation. All rights reserved.
+
+    This program and the accompanying materials are made available under the
+    terms of the Eclipse Public License v. 2.0, which is available at
+    http://www.eclipse.org/legal/epl-2.0.
+
+    This Source Code may also be made available under the following Secondary
+    Licenses when the conditions for such availability set forth in the
+    Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
+    version 2 with the GNU Classpath Exception, which is available 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 https://maven.apache.org/xsd/maven-4.0.0.xsd"
+>
+    <modelVersion>4.0.0</modelVersion>
+    <parent>
+        <groupId>org.glassfish.main.tests</groupId>
+        <artifactId>ant-tests</artifactId>
+        <version>7.0.0-SNAPSHOT</version>
+    </parent>
+
+    <groupId>org.glassfish.main.tests.connectors</groupId>
+    <artifactId>cciblackbox-tx</artifactId>
+    <name>GlassFish Ant Tests - CCI BlackBox TX</name>
+
+    <dependencies>
+        <dependency>
+            <groupId>jakarta.resource</groupId>
+            <artifactId>jakarta.resource-api</artifactId>
+            <scope>provided</scope>
+        </dependency>
+        <dependency>
+            <groupId>org.glassfish.corba</groupId>
+            <artifactId>glassfish-corba-orb</artifactId>
+            <scope>provided</scope>
+        </dependency>
+    </dependencies>
+
+</project>
diff --git a/appserver/tests/appserv-tests/cciblackbox-tx/src/main/java/com/sun/connector/cciblackbox/CciConnection.java b/appserver/tests/appserv-tests/cciblackbox-tx/src/main/java/com/sun/connector/cciblackbox/CciConnection.java
new file mode 100644
index 0000000..3b35852
--- /dev/null
+++ b/appserver/tests/appserv-tests/cciblackbox-tx/src/main/java/com/sun/connector/cciblackbox/CciConnection.java
@@ -0,0 +1,216 @@
+/*
+ * Copyright (c) 2018 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2022 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.
+ *
+ * This Source Code may also be made available under the following Secondary
+ * Licenses when the conditions for such availability set forth in the
+ * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
+ * version 2 with the GNU Classpath Exception, which is available at
+ * https://www.gnu.org/software/classpath/license.html.
+ *
+ * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
+ */
+
+package com.sun.connector.cciblackbox;
+
+import jakarta.resource.NotSupportedException;
+import jakarta.resource.ResourceException;
+import jakarta.resource.cci.ConnectionMetaData;
+import jakarta.resource.cci.Interaction;
+import jakarta.resource.cci.ResultSetInfo;
+import jakarta.resource.spi.ConnectionEvent;
+import jakarta.resource.spi.IllegalStateException;
+
+import java.sql.Connection;
+import java.sql.SQLException;
+
+import javax.rmi.PortableRemoteObject;
+
+//import wlstest.functional.connector.common.apps.ejb.test_proxy.ConnectorTest;
+//import weblogic.jndi.Environment;
+
+/**
+ * This implementation class represents an application level connection
+ * handle that is used by a component to access an EIS instance.
+ *
+ * @author Sheetal Vartak
+ */
+public class CciConnection implements jakarta.resource.cci.Connection {
+
+    private boolean destroyed;
+
+    private CciManagedConnection mc;
+
+    // if mc is null, means connection is invalid
+
+    CciConnection(CciManagedConnection mc) {
+        this.mc = mc;
+    }
+
+
+    CciManagedConnection getManagedConnection() {
+        return mc;
+    }
+
+
+    @Override
+    public Interaction createInteraction() throws ResourceException {
+        return new CciInteraction(this);
+    }
+
+
+    @Override
+    public jakarta.resource.cci.LocalTransaction getLocalTransaction() throws ResourceException {
+        try {
+            java.sql.Connection con = getJdbcConnection();
+            if (con.getTransactionIsolation() == Connection.TRANSACTION_NONE) {
+                throw new ResourceException("Local Transaction not supported!!");
+            }
+        } catch (Exception e) {
+            throw new ResourceException(e.getMessage());
+        }
+        return new CciLocalTransactionImpl(mc);
+    }
+
+
+    public void setAutoCommit(boolean autoCommit) throws ResourceException {
+        try {
+            java.sql.Connection con = getJdbcConnection();
+            if (con.getTransactionIsolation() == Connection.TRANSACTION_NONE) {
+                throw new ResourceException("Local Transaction not " + "supported!!");
+            }
+            con.setAutoCommit(autoCommit);
+        } catch (Exception e) {
+            throw new ResourceException(e.getMessage());
+        }
+    }
+
+
+    public boolean getAutoCommit() throws ResourceException {
+        boolean val = false;
+        try {
+            java.sql.Connection con = getJdbcConnection();
+            if (con.getTransactionIsolation() == Connection.TRANSACTION_NONE) {
+                throw new ResourceException("Local Transaction not " + "supported!!");
+            }
+            val = con.getAutoCommit();
+        } catch (SQLException e) {
+            throw new ResourceException(e.getMessage());
+        }
+        return val;
+    }
+
+
+    @Override
+    public ResultSetInfo getResultSetInfo() throws ResourceException {
+        throw new NotSupportedException("ResultSet is not supported.");
+    }
+
+
+    @Override
+    public void close() throws ResourceException {
+        if (mc == null) {
+            return; // already be closed
+        }
+        mc.removeCciConnection(this);
+        mc.sendEvent(ConnectionEvent.CONNECTION_CLOSED, null, this);
+        mc = null;
+    }
+
+
+    @Override
+    public ConnectionMetaData getMetaData() throws ResourceException {
+        return new CciConnectionMetaDataImpl(mc);
+    }
+
+
+    void associateConnection(CciManagedConnection newMc) throws ResourceException {
+        try {
+            checkIfValid();
+        } catch (ResourceException ex) {
+            throw new IllegalStateException("Connection is invalid");
+        }
+        // dissociate handle with current managed connection
+        mc.removeCciConnection(this);
+        // associate handle with new managed connection
+        newMc.addCciConnection(this);
+        mc = newMc;
+    }
+
+
+    void checkIfValid() throws ResourceException {
+        if (mc == null) {
+            throw new ResourceException("Connection is invalid");
+        }
+    }
+
+
+    java.sql.Connection getJdbcConnection() throws SQLException {
+        java.sql.Connection con = null;
+        try {
+            checkIfValid();
+            // mc.getJdbcConnection() returns a SQL connection object
+            con = mc.getJdbcConnection();
+        } catch (ResourceException ex) {
+            throw new SQLException("Connection is invalid.");
+        }
+        return con;
+    }
+
+
+    void invalidate() {
+        mc = null;
+    }
+
+
+    private void checkIfDestroyed() throws ResourceException {
+        if (destroyed) {
+            throw new IllegalStateException("Managed connection is closed");
+        }
+    }
+
+    class Internal {
+
+        public Object narrow(Object ref, Class c) {
+            return PortableRemoteObject.narrow(ref, c);
+        }
+    }
+//
+//  public boolean calcMultiply(String serverUrl, String testUser, String testPassword,
+//      String testJndiName, int num1, int num2) {
+//
+//    Context ctx = null;
+//    ConnectorTest connectorTest = null;
+//    Environment env = null;
+//    boolean result;
+//    try {
+//      System.out.println("###  calcMultiply");
+//      env = new Environment();
+//      env.setProviderUrl(serverUrl);
+//      env.setSecurityPrincipal(testUser);
+//      env.setSecurityCredentials(testPassword);
+//      ctx = env.getInitialContext();
+//      System.out.println("Lookup for " + testJndiName);
+//      connectorTest = (ConnectorTest) ctx.lookup(testJndiName);
+//      //Internal intenalRef = new Internal();
+//      System.out.println("ConnectorTest is " + connectorTest);
+//      //ConnectorTest connectorTestRemote = (ConnectorTest) intenalRef.narrow(connectorTestHome.create(), ConnectorTest.class);
+//      if (connectorTest.calcMultiply(num1, num2) == (num1 * num2)) {
+//        result = true;
+//      } else {
+//        result = false;
+//      }
+//    }
+//    catch (Exception e) {
+//
+//      result = false;
+//      System.out.println("Exception in calcMultiply ");
+//      e.printStackTrace();
+//    }
+//    return result;
+//  }
+}
diff --git a/appserver/tests/appserv-tests/sqetests/connector/lib/cciblackbox-tx/com/sun/connector/cciblackbox/CciConnectionEventListener.java b/appserver/tests/appserv-tests/cciblackbox-tx/src/main/java/com/sun/connector/cciblackbox/CciConnectionEventListener.java
similarity index 100%
rename from appserver/tests/appserv-tests/sqetests/connector/lib/cciblackbox-tx/com/sun/connector/cciblackbox/CciConnectionEventListener.java
rename to appserver/tests/appserv-tests/cciblackbox-tx/src/main/java/com/sun/connector/cciblackbox/CciConnectionEventListener.java
diff --git a/appserver/tests/appserv-tests/sqetests/connector/lib/cciblackbox-tx/com/sun/connector/cciblackbox/CciConnectionFactory.java b/appserver/tests/appserv-tests/cciblackbox-tx/src/main/java/com/sun/connector/cciblackbox/CciConnectionFactory.java
similarity index 100%
rename from appserver/tests/appserv-tests/sqetests/connector/lib/cciblackbox-tx/com/sun/connector/cciblackbox/CciConnectionFactory.java
rename to appserver/tests/appserv-tests/cciblackbox-tx/src/main/java/com/sun/connector/cciblackbox/CciConnectionFactory.java
diff --git a/appserver/tests/appserv-tests/sqetests/connector/lib/cciblackbox-tx/com/sun/connector/cciblackbox/CciConnectionManager.java b/appserver/tests/appserv-tests/cciblackbox-tx/src/main/java/com/sun/connector/cciblackbox/CciConnectionManager.java
similarity index 100%
rename from appserver/tests/appserv-tests/sqetests/connector/lib/cciblackbox-tx/com/sun/connector/cciblackbox/CciConnectionManager.java
rename to appserver/tests/appserv-tests/cciblackbox-tx/src/main/java/com/sun/connector/cciblackbox/CciConnectionManager.java
diff --git a/appserver/tests/appserv-tests/sqetests/connector/lib/cciblackbox-tx/com/sun/connector/cciblackbox/CciConnectionMetaDataImpl.java b/appserver/tests/appserv-tests/cciblackbox-tx/src/main/java/com/sun/connector/cciblackbox/CciConnectionMetaDataImpl.java
similarity index 100%
rename from appserver/tests/appserv-tests/sqetests/connector/lib/cciblackbox-tx/com/sun/connector/cciblackbox/CciConnectionMetaDataImpl.java
rename to appserver/tests/appserv-tests/cciblackbox-tx/src/main/java/com/sun/connector/cciblackbox/CciConnectionMetaDataImpl.java
diff --git a/appserver/tests/appserv-tests/sqetests/connector/lib/cciblackbox-tx/com/sun/connector/cciblackbox/CciConnectionRequestInfo.java b/appserver/tests/appserv-tests/cciblackbox-tx/src/main/java/com/sun/connector/cciblackbox/CciConnectionRequestInfo.java
similarity index 100%
rename from appserver/tests/appserv-tests/sqetests/connector/lib/cciblackbox-tx/com/sun/connector/cciblackbox/CciConnectionRequestInfo.java
rename to appserver/tests/appserv-tests/cciblackbox-tx/src/main/java/com/sun/connector/cciblackbox/CciConnectionRequestInfo.java
diff --git a/appserver/tests/appserv-tests/sqetests/connector/lib/cciblackbox-tx/com/sun/connector/cciblackbox/CciConnectionSpec.java b/appserver/tests/appserv-tests/cciblackbox-tx/src/main/java/com/sun/connector/cciblackbox/CciConnectionSpec.java
similarity index 100%
rename from appserver/tests/appserv-tests/sqetests/connector/lib/cciblackbox-tx/com/sun/connector/cciblackbox/CciConnectionSpec.java
rename to appserver/tests/appserv-tests/cciblackbox-tx/src/main/java/com/sun/connector/cciblackbox/CciConnectionSpec.java
diff --git a/appserver/tests/appserv-tests/sqetests/connector/lib/cciblackbox-tx/com/sun/connector/cciblackbox/CciIndexedRecord.java b/appserver/tests/appserv-tests/cciblackbox-tx/src/main/java/com/sun/connector/cciblackbox/CciIndexedRecord.java
similarity index 100%
rename from appserver/tests/appserv-tests/sqetests/connector/lib/cciblackbox-tx/com/sun/connector/cciblackbox/CciIndexedRecord.java
rename to appserver/tests/appserv-tests/cciblackbox-tx/src/main/java/com/sun/connector/cciblackbox/CciIndexedRecord.java
diff --git a/appserver/tests/appserv-tests/sqetests/connector/lib/cciblackbox-tx/com/sun/connector/cciblackbox/CciInteraction.java b/appserver/tests/appserv-tests/cciblackbox-tx/src/main/java/com/sun/connector/cciblackbox/CciInteraction.java
similarity index 100%
rename from appserver/tests/appserv-tests/sqetests/connector/lib/cciblackbox-tx/com/sun/connector/cciblackbox/CciInteraction.java
rename to appserver/tests/appserv-tests/cciblackbox-tx/src/main/java/com/sun/connector/cciblackbox/CciInteraction.java
diff --git a/appserver/tests/appserv-tests/sqetests/connector/lib/cciblackbox-tx/com/sun/connector/cciblackbox/CciInteractionSpec.java b/appserver/tests/appserv-tests/cciblackbox-tx/src/main/java/com/sun/connector/cciblackbox/CciInteractionSpec.java
similarity index 100%
rename from appserver/tests/appserv-tests/sqetests/connector/lib/cciblackbox-tx/com/sun/connector/cciblackbox/CciInteractionSpec.java
rename to appserver/tests/appserv-tests/cciblackbox-tx/src/main/java/com/sun/connector/cciblackbox/CciInteractionSpec.java
diff --git a/appserver/tests/appserv-tests/sqetests/connector/lib/cciblackbox-tx/com/sun/connector/cciblackbox/CciLocalTransactionImpl.java b/appserver/tests/appserv-tests/cciblackbox-tx/src/main/java/com/sun/connector/cciblackbox/CciLocalTransactionImpl.java
similarity index 100%
rename from appserver/tests/appserv-tests/sqetests/connector/lib/cciblackbox-tx/com/sun/connector/cciblackbox/CciLocalTransactionImpl.java
rename to appserver/tests/appserv-tests/cciblackbox-tx/src/main/java/com/sun/connector/cciblackbox/CciLocalTransactionImpl.java
diff --git a/appserver/tests/appserv-tests/sqetests/connector/lib/cciblackbox-tx/com/sun/connector/cciblackbox/CciLocalTxManagedConnectionFactory.java b/appserver/tests/appserv-tests/cciblackbox-tx/src/main/java/com/sun/connector/cciblackbox/CciLocalTxManagedConnectionFactory.java
similarity index 100%
rename from appserver/tests/appserv-tests/sqetests/connector/lib/cciblackbox-tx/com/sun/connector/cciblackbox/CciLocalTxManagedConnectionFactory.java
rename to appserver/tests/appserv-tests/cciblackbox-tx/src/main/java/com/sun/connector/cciblackbox/CciLocalTxManagedConnectionFactory.java
diff --git a/appserver/tests/appserv-tests/sqetests/connector/lib/cciblackbox-tx/com/sun/connector/cciblackbox/CciManagedConnection.java b/appserver/tests/appserv-tests/cciblackbox-tx/src/main/java/com/sun/connector/cciblackbox/CciManagedConnection.java
similarity index 100%
rename from appserver/tests/appserv-tests/sqetests/connector/lib/cciblackbox-tx/com/sun/connector/cciblackbox/CciManagedConnection.java
rename to appserver/tests/appserv-tests/cciblackbox-tx/src/main/java/com/sun/connector/cciblackbox/CciManagedConnection.java
diff --git a/appserver/tests/appserv-tests/sqetests/connector/lib/cciblackbox-tx/com/sun/connector/cciblackbox/CciManagedConnectionMetaDataImpl.java b/appserver/tests/appserv-tests/cciblackbox-tx/src/main/java/com/sun/connector/cciblackbox/CciManagedConnectionMetaDataImpl.java
similarity index 100%
rename from appserver/tests/appserv-tests/sqetests/connector/lib/cciblackbox-tx/com/sun/connector/cciblackbox/CciManagedConnectionMetaDataImpl.java
rename to appserver/tests/appserv-tests/cciblackbox-tx/src/main/java/com/sun/connector/cciblackbox/CciManagedConnectionMetaDataImpl.java
diff --git a/appserver/tests/appserv-tests/sqetests/connector/lib/cciblackbox-tx/com/sun/connector/cciblackbox/CciNoTxManagedConnectionFactory.java b/appserver/tests/appserv-tests/cciblackbox-tx/src/main/java/com/sun/connector/cciblackbox/CciNoTxManagedConnectionFactory.java
similarity index 100%
rename from appserver/tests/appserv-tests/sqetests/connector/lib/cciblackbox-tx/com/sun/connector/cciblackbox/CciNoTxManagedConnectionFactory.java
rename to appserver/tests/appserv-tests/cciblackbox-tx/src/main/java/com/sun/connector/cciblackbox/CciNoTxManagedConnectionFactory.java
diff --git a/appserver/tests/appserv-tests/sqetests/connector/lib/cciblackbox-tx/com/sun/connector/cciblackbox/CciRecordFactory.java b/appserver/tests/appserv-tests/cciblackbox-tx/src/main/java/com/sun/connector/cciblackbox/CciRecordFactory.java
similarity index 100%
rename from appserver/tests/appserv-tests/sqetests/connector/lib/cciblackbox-tx/com/sun/connector/cciblackbox/CciRecordFactory.java
rename to appserver/tests/appserv-tests/cciblackbox-tx/src/main/java/com/sun/connector/cciblackbox/CciRecordFactory.java
diff --git a/appserver/tests/appserv-tests/sqetests/connector/lib/cciblackbox-tx/com/sun/connector/cciblackbox/CciResourceAdapterMetaData.java b/appserver/tests/appserv-tests/cciblackbox-tx/src/main/java/com/sun/connector/cciblackbox/CciResourceAdapterMetaData.java
similarity index 100%
rename from appserver/tests/appserv-tests/sqetests/connector/lib/cciblackbox-tx/com/sun/connector/cciblackbox/CciResourceAdapterMetaData.java
rename to appserver/tests/appserv-tests/cciblackbox-tx/src/main/java/com/sun/connector/cciblackbox/CciResourceAdapterMetaData.java
diff --git a/appserver/tests/appserv-tests/sqetests/connector/lib/cciblackbox-tx/com/sun/connector/cciblackbox/Mapping.java b/appserver/tests/appserv-tests/cciblackbox-tx/src/main/java/com/sun/connector/cciblackbox/Mapping.java
similarity index 100%
rename from appserver/tests/appserv-tests/sqetests/connector/lib/cciblackbox-tx/com/sun/connector/cciblackbox/Mapping.java
rename to appserver/tests/appserv-tests/cciblackbox-tx/src/main/java/com/sun/connector/cciblackbox/Mapping.java
diff --git a/appserver/tests/appserv-tests/sqetests/connector/lib/cciblackbox-tx/com/sun/connector/cciblackbox/Parameter.java b/appserver/tests/appserv-tests/cciblackbox-tx/src/main/java/com/sun/connector/cciblackbox/Parameter.java
similarity index 100%
rename from appserver/tests/appserv-tests/sqetests/connector/lib/cciblackbox-tx/com/sun/connector/cciblackbox/Parameter.java
rename to appserver/tests/appserv-tests/cciblackbox-tx/src/main/java/com/sun/connector/cciblackbox/Parameter.java
diff --git a/appserver/tests/appserv-tests/sqetests/connector/lib/cciblackbox-tx/com/sun/connector/cciblackbox/SpiLocalTransactionImpl.java b/appserver/tests/appserv-tests/cciblackbox-tx/src/main/java/com/sun/connector/cciblackbox/SpiLocalTransactionImpl.java
similarity index 100%
rename from appserver/tests/appserv-tests/sqetests/connector/lib/cciblackbox-tx/com/sun/connector/cciblackbox/SpiLocalTransactionImpl.java
rename to appserver/tests/appserv-tests/cciblackbox-tx/src/main/java/com/sun/connector/cciblackbox/SpiLocalTransactionImpl.java
diff --git a/appserver/tests/appserv-tests/sqetests/connector/lib/cciblackbox-tx/com/sun/connector/cciblackbox/TransactionImpl.java b/appserver/tests/appserv-tests/cciblackbox-tx/src/main/java/com/sun/connector/cciblackbox/TransactionImpl.java
similarity index 100%
rename from appserver/tests/appserv-tests/sqetests/connector/lib/cciblackbox-tx/com/sun/connector/cciblackbox/TransactionImpl.java
rename to appserver/tests/appserv-tests/cciblackbox-tx/src/main/java/com/sun/connector/cciblackbox/TransactionImpl.java
diff --git a/appserver/tests/appserv-tests/sqetests/connector/lib/cciblackbox-tx/com/sun/connector/cciblackbox/Util.java b/appserver/tests/appserv-tests/cciblackbox-tx/src/main/java/com/sun/connector/cciblackbox/Util.java
similarity index 100%
rename from appserver/tests/appserv-tests/sqetests/connector/lib/cciblackbox-tx/com/sun/connector/cciblackbox/Util.java
rename to appserver/tests/appserv-tests/cciblackbox-tx/src/main/java/com/sun/connector/cciblackbox/Util.java
diff --git a/appserver/tests/appserv-tests/config.properties b/appserver/tests/appserv-tests/config.properties
index 9a8cb72..b8b9804 100644
--- a/appserver/tests/appserv-tests/config.properties
+++ b/appserver/tests/appserv-tests/config.properties
@@ -14,6 +14,8 @@
 # SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
 #
 
+gf.version=${env.GF_VERSION}
+bundles.dir=${env.WORKSPACE}/bundles
 
 admin.domain=domain1
 admin.domain.dir=${env.S1AS_HOME}/domains
diff --git a/appserver/tests/appserv-tests/config/common.xml b/appserver/tests/appserv-tests/config/common.xml
index 9755b95..bee1304 100644
--- a/appserver/tests/appserv-tests/config/common.xml
+++ b/appserver/tests/appserv-tests/config/common.xml
@@ -53,8 +53,13 @@
 -->
 <!-- ================================================================ -->
 <target name="compile-common" depends="init-common">
+    <tstamp>
+      <format property="TIMESTAMP" pattern="yyyy-MM-dd'T'HH:mm:ss.SSSZ" />
+    </tstamp>
+    <echo>Current time (ISO): ${TIMESTAMP}</echo>
     <mkdir dir="${build.classes.dir}" />
     <echo message="common.xml: Compiling test source files" level="verbose" />
+
     <mkdir dir="${src}" />
     <javac srcdir="${src}" destdir="${build.classes.dir}" classpath="${s1astest.classpath}"
         debug="on" includeantruntime="false" failonerror="true" fork="yes" />
@@ -1021,6 +1026,10 @@
 </target>
 
 <target name="deploy-dir" depends="init-common">
+    <tstamp>
+      <format property="TIMESTAMP" pattern="yyyy-MM-dd'T'HH:mm:ss.SSSZ" />
+    </tstamp>
+    <echo>Current time (ISO): ${TIMESTAMP}</echo>
     <echo message="Deploying files: ${assemble.dir}" level="verbose" />
     <exec executable="${ASADMIN}" failonerror="false">
         <arg line="deploy" />
@@ -1034,6 +1043,10 @@
 
 <!-- deploy the applications in AppServ -->
 <target name="deploy-common" depends="init-common">
+    <tstamp>
+      <format property="TIMESTAMP" pattern="yyyy-MM-dd'T'HH:mm:ss.SSSZ" />
+    </tstamp>
+    <echo>Current time (ISO): ${TIMESTAMP}</echo>
     <antcall target="deploy-common-pe" />
     <antcall target="deploy-common-ee" />
 </target>
@@ -1353,10 +1366,7 @@
 <target name="runclient-common" depends="init-common">
     <echo message="${APPCLIENT} -client ${assemble.dir}/${appname}AppClient.jar -name ${appname}Client -textauth -user j2ee -password j2ee -xml ${admin.domain.dir}/${admin.domain}/config/glassfish-acc.xml ${appclient.application.args}" />
     <exec executable="${APPCLIENT}" failonerror="false">
-        <!-- Set APPCPATH to include reporter.jar so that all app clients don't have to
-             package the test framework in their apps
-        -->
-        <env key="APPCPATH" file="${env.APPCPATH}:${env.APS_HOME}/lib/reporter.jar" />
+        <env key="APPCPATH" file="${env.APS_HOME}/lib/reporter.jar"  />
         <arg line="-client ${assemble.dir}/${appname}AppClient.jar" />
         <arg line="-name ${appname}Client" />
         <arg line="-textauth" />
@@ -1433,11 +1443,11 @@
     <parallel>
         <java classname="org.apache.derby.drda.NetworkServerControl" classpath="${db.classpath}" fork="true"
             spawn="true">
-            <arg line="-h localhost -p ${db.port} start" />
+            <arg line="-h localhost -p ${db.port} -noSecurityManager start" />
         </java>
         <java classname="org.apache.derby.drda.NetworkServerControl" classpath="${db.classpath}" fork="true"
             spawn="true">
-            <arg line="-h localhost -p ${db.port.2} start" />
+            <arg line="-h localhost -p ${db.port.2} -noSecurityManager start" />
         </java>
     </parallel>
 </target>
@@ -1448,12 +1458,12 @@
         <java classname="org.apache.derby.drda.NetworkServerControl" classpath="${db.classpath}" fork="true"
             spawn="true">
             <sysproperty key="derby.storage.fileSyncTransactionLog" value="true" />
-            <arg line="-h localhost -p ${db.port} start" />
+            <arg line="-h localhost -p ${db.port} -noSecurityManager start" />
         </java>
         <java classname="org.apache.derby.drda.NetworkServerControl" classpath="${db.classpath}" fork="true"
             spawn="true">
             <sysproperty key="derby.storage.fileSyncTransactionLog" value="true" />
-            <arg line="-h localhost -p ${db.port.2} start" />
+            <arg line="-h localhost -p ${db.port.2} -noSecurityManager start" />
         </java>
     </parallel>
 </target>
diff --git a/appserver/tests/appserv-tests/config/properties.xml b/appserver/tests/appserv-tests/config/properties.xml
index a9f5aad..547ce79 100644
--- a/appserver/tests/appserv-tests/config/properties.xml
+++ b/appserver/tests/appserv-tests/config/properties.xml
@@ -104,12 +104,30 @@
     <property name="ssl.mutualauth.port.two" value="33921" />
     <property name="jmx.system.connector.port.two" value="38687" />
     <property name="cert.nickname" value="s1as" />
+
+    <copy
+        file="${env.MVN_REPOSITORY}/org/glassfish/main/tests/connectors/cciblackbox-tx/${gf.version}/cciblackbox-tx-${gf.version}.jar"
+        tofile="${bundles.dir}/cciblackbox-tx.jar" />
+    <copy
+        file="${env.MVN_REPOSITORY}/org/glassfish/main/tests/connectors/connectors-ra-redeploy-jars/${gf.version}/connectors-ra-redeploy-jars-${gf.version}.jar"
+        tofile="${bundles.dir}/connectors-ra-redeploy-jars.jar" />
+    <copy
+        file="${env.MVN_REPOSITORY}/org/glassfish/main/tests/connectors/connectors-ra-redeploy-rars/${gf.version}/connectors-ra-redeploy-rars-${gf.version}.rar"
+        tofile="${bundles.dir}/connectors-ra-redeploy-rars.rar" />
+    <copy
+        file="${env.MVN_REPOSITORY}/org/glassfish/main/tests/connectors/connectors-ra-redeploy-rars/${gf.version}/connectors-ra-redeploy-rars-${gf.version}-v2.rar"
+        tofile="${bundles.dir}/connectors-ra-redeploy-rars-v2.rar" />
+    <copy
+        file="${env.MVN_REPOSITORY}/org/glassfish/main/tests/connectors/connectors-ra-redeploy-rars/${gf.version}/connectors-ra-redeploy-rars-${gf.version}-nojar.rar"
+        tofile="${bundles.dir}/connectors-ra-redeploy-rars-nojar.rar" />
+    <copy
+        file="${env.MVN_REPOSITORY}/org/glassfish/main/tests/connectors/connectors-ra-redeploy-rars-xa/${gf.version}/connectors-ra-redeploy-rars-xa-${gf.version}.rar"
+        tofile="${bundles.dir}/connectors-ra-redeploy-rars-xa.rar" />
 </target>
 
 <target name="setS1ASclassPath" unless="s1as.classpath">
     <path id="s1as_classpath_jars">
         <fileset dir="${env.S1AS_HOME}/modules" includes="**/*.jar" />
-        <!-- fileset dir="${env.S1AS_HOME}/imq/lib" includes="*.jar"/ -->
     </path>
     <pathconvert pathsep=":" property="s1as.classpath" refid="s1as_classpath_jars" />
 </target>
diff --git a/appserver/tests/appserv-tests/connectors-ra-redeploy/jars/pom.xml b/appserver/tests/appserv-tests/connectors-ra-redeploy/jars/pom.xml
new file mode 100644
index 0000000..4afc24b
--- /dev/null
+++ b/appserver/tests/appserv-tests/connectors-ra-redeploy/jars/pom.xml
@@ -0,0 +1,61 @@
+<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 https://maven.apache.org/xsd/maven-4.0.0.xsd"
+>
+    <modelVersion>4.0.0</modelVersion>
+    <parent>
+        <groupId>org.glassfish.main.tests.connectors</groupId>
+        <artifactId>connectors-ra-redeploy</artifactId>
+        <version>7.0.0-SNAPSHOT</version>
+    </parent>
+    <artifactId>connectors-ra-redeploy-jars</artifactId>
+    <dependencies>
+        <dependency>
+            <groupId>jakarta.resource</groupId>
+            <artifactId>jakarta.resource-api</artifactId>
+            <scope>provided</scope>
+        </dependency>
+        <dependency>
+            <groupId>org.glassfish.main.jdbc.jdbc-ra.jdbc-core</groupId>
+            <artifactId>jdbc-core</artifactId>
+            <version>${project.version}</version>
+            <scope>provided</scope>
+        </dependency>
+    </dependencies>
+
+    <build>
+        <plugins>
+            <plugin>
+                <artifactId>maven-jar-plugin</artifactId>
+                <executions>
+                    <execution>
+                        <id>default-jar</id>
+                        <configuration>
+                            <archive>
+                                <manifestEntries>
+                                    <ra-redeploy-version>1</ra-redeploy-version>
+                                    <Extension-Name>connectors-ra-redeploy-jars.jar</Extension-Name>
+                                </manifestEntries>
+                            </archive>
+                        </configuration>
+                    </execution>
+                    <execution>
+                        <id>version2</id>
+                        <phase>package</phase>
+                        <goals>
+                            <goal>jar</goal>
+                        </goals>
+                        <configuration>
+                            <classifier>v2</classifier>
+                            <archive>
+                                <manifestEntries>
+                                    <ra-redeploy-version>2</ra-redeploy-version>
+                                </manifestEntries>
+                            </archive>
+                        </configuration>
+                    </execution>
+                </executions>
+            </plugin>
+        </plugins>
+    </build>
+</project>
diff --git a/appserver/tests/appserv-tests/devtests/connector/embeddedweb/ra/src/com/sun/appserv/jdbcra/DataSource.java b/appserver/tests/appserv-tests/connectors-ra-redeploy/jars/src/main/java/com/sun/appserv/jdbcra/DataSource.java
old mode 100644
new mode 100755
similarity index 93%
rename from appserver/tests/appserv-tests/devtests/connector/embeddedweb/ra/src/com/sun/appserv/jdbcra/DataSource.java
rename to appserver/tests/appserv-tests/connectors-ra-redeploy/jars/src/main/java/com/sun/appserv/jdbcra/DataSource.java
index b6ef30b..0676688
--- a/appserver/tests/appserv-tests/devtests/connector/embeddedweb/ra/src/com/sun/appserv/jdbcra/DataSource.java
+++ b/appserver/tests/appserv-tests/connectors-ra-redeploy/jars/src/main/java/com/sun/appserv/jdbcra/DataSource.java
@@ -1,5 +1,6 @@
 /*
  * Copyright (c) 2003, 2018 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2022 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
@@ -50,6 +51,6 @@
      * @return <code>java.sql.Connection</code> implementation of the driver.
      * @throws <code>java.sql.SQLException</code> If connection cannot be obtained.
      */
-    public Connection getConnection(Connection con) throws SQLException;
+    Connection getConnection(Connection con) throws SQLException;
 
 }
diff --git a/appserver/tests/appserv-tests/devtests/connector/v3/annotation-embeddedweb/ra/src/com/sun/jdbcra/common/DataSourceObjectBuilder.java b/appserver/tests/appserv-tests/connectors-ra-redeploy/jars/src/main/java/com/sun/jdbcra/common/DataSourceObjectBuilder.java
similarity index 63%
rename from appserver/tests/appserv-tests/devtests/connector/v3/annotation-embeddedweb/ra/src/com/sun/jdbcra/common/DataSourceObjectBuilder.java
rename to appserver/tests/appserv-tests/connectors-ra-redeploy/jars/src/main/java/com/sun/jdbcra/common/DataSourceObjectBuilder.java
index 8c55d51..2d86380 100755
--- a/appserver/tests/appserv-tests/devtests/connector/v3/annotation-embeddedweb/ra/src/com/sun/jdbcra/common/DataSourceObjectBuilder.java
+++ b/appserver/tests/appserv-tests/connectors-ra-redeploy/jars/src/main/java/com/sun/jdbcra/common/DataSourceObjectBuilder.java
@@ -1,5 +1,6 @@
 /*
  * Copyright (c) 2003, 2018 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2022 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
@@ -16,16 +17,16 @@
 
 package com.sun.jdbcra.common;
 
-import java.lang.reflect.Method;
-import java.util.Hashtable;
-import java.util.Vector;
-import java.util.StringTokenizer;
-import java.util.Enumeration;
 import com.sun.jdbcra.util.MethodExecutor;
+
 import jakarta.resource.ResourceException;
 
-import java.util.logging.Logger;
-import java.util.logging.Level;
+import java.lang.reflect.InvocationTargetException;
+import java.lang.reflect.Method;
+import java.util.Enumeration;
+import java.util.Hashtable;
+import java.util.StringTokenizer;
+import java.util.Vector;
 /**
  * Utility class, which would create necessary Datasource object according to the
  * specification.
@@ -33,21 +34,15 @@
  * @version        1.0, 02/07/23
  * @author        Binod P.G
  * @see                com.sun.jdbcra.common.DataSourceSpec
- * @see                com.sun.jdbcra.util.MethodExcecutor
+ * @see                com.sun.jdbcra.util.MethodExecutor
  */
 public class DataSourceObjectBuilder implements java.io.Serializable{
 
-    private DataSourceSpec spec;
+    private final DataSourceSpec spec;
+    private final MethodExecutor executor;
+    private Hashtable driverProperties;
 
-    private Hashtable driverProperties = null;
 
-    private MethodExecutor executor = null;
-
-    private static Logger _logger;
-    static {
-        _logger = Logger.getAnonymousLogger();
-    }
-    private boolean debug = false;
     /**
      * Construct a DataSource Object from the spec.
      *
@@ -66,66 +61,65 @@
      *                some method.
      */
     public Object constructDataSourceObject() throws ResourceException{
-            driverProperties = parseDriverProperties(spec);
+        driverProperties = parseDriverProperties(spec);
         Object dataSourceObject = getDataSourceObject();
-        System.out.println("V3-TEST : "  + dataSourceObject);
         Method[] methods = dataSourceObject.getClass().getMethods();
-        for (int i=0; i < methods.length; i++) {
-            String methodName = methods[i].getName();
+        for (Method method : methods) {
+            String methodName = method.getName();
             if (methodName.equalsIgnoreCase("setUser")){
-                    executor.runJavaBeanMethod(spec.getDetail(DataSourceSpec.USERNAME),methods[i],dataSourceObject);
+                    executor.runJavaBeanMethod(spec.getDetail(DataSourceSpec.USERNAME),method,dataSourceObject);
 
             } else if (methodName.equalsIgnoreCase("setPassword")){
-                    executor.runJavaBeanMethod(spec.getDetail(DataSourceSpec.PASSWORD),methods[i],dataSourceObject);
+                    executor.runJavaBeanMethod(spec.getDetail(DataSourceSpec.PASSWORD),method,dataSourceObject);
 
             } else if (methodName.equalsIgnoreCase("setLoginTimeOut")){
-                    executor.runJavaBeanMethod(spec.getDetail(DataSourceSpec.LOGINTIMEOUT),methods[i],dataSourceObject);
+                    executor.runJavaBeanMethod(spec.getDetail(DataSourceSpec.LOGINTIMEOUT),method,dataSourceObject);
 
             } else if (methodName.equalsIgnoreCase("setLogWriter")){
-                    executor.runJavaBeanMethod(spec.getDetail(DataSourceSpec.LOGWRITER),methods[i],dataSourceObject);
+                    executor.runJavaBeanMethod(spec.getDetail(DataSourceSpec.LOGWRITER),method,dataSourceObject);
 
             } else if (methodName.equalsIgnoreCase("setDatabaseName")){
-                    executor.runJavaBeanMethod(spec.getDetail(DataSourceSpec.DATABASENAME),methods[i],dataSourceObject);
+                    executor.runJavaBeanMethod(spec.getDetail(DataSourceSpec.DATABASENAME),method,dataSourceObject);
 
             } else if (methodName.equalsIgnoreCase("setDataSourceName")){
-                    executor.runJavaBeanMethod(spec.getDetail(DataSourceSpec.DATASOURCENAME),methods[i],dataSourceObject);
+                    executor.runJavaBeanMethod(spec.getDetail(DataSourceSpec.DATASOURCENAME),method,dataSourceObject);
 
             } else if (methodName.equalsIgnoreCase("setDescription")){
-                    executor.runJavaBeanMethod(spec.getDetail(DataSourceSpec.DESCRIPTION),methods[i],dataSourceObject);
+                    executor.runJavaBeanMethod(spec.getDetail(DataSourceSpec.DESCRIPTION),method,dataSourceObject);
 
             } else if (methodName.equalsIgnoreCase("setNetworkProtocol")){
-                    executor.runJavaBeanMethod(spec.getDetail(DataSourceSpec.NETWORKPROTOCOL),methods[i],dataSourceObject);
+                    executor.runJavaBeanMethod(spec.getDetail(DataSourceSpec.NETWORKPROTOCOL),method,dataSourceObject);
 
             } else if (methodName.equalsIgnoreCase("setPortNumber")){
-                    executor.runJavaBeanMethod(spec.getDetail(DataSourceSpec.PORTNUMBER),methods[i],dataSourceObject);
+                    executor.runJavaBeanMethod(spec.getDetail(DataSourceSpec.PORTNUMBER),method,dataSourceObject);
 
             } else if (methodName.equalsIgnoreCase("setRoleName")){
-                    executor.runJavaBeanMethod(spec.getDetail(DataSourceSpec.ROLENAME),methods[i],dataSourceObject);
+                    executor.runJavaBeanMethod(spec.getDetail(DataSourceSpec.ROLENAME),method,dataSourceObject);
 
             } else if (methodName.equalsIgnoreCase("setServerName")){
-                    executor.runJavaBeanMethod(spec.getDetail(DataSourceSpec.SERVERNAME),methods[i],dataSourceObject);
+                    executor.runJavaBeanMethod(spec.getDetail(DataSourceSpec.SERVERNAME),method,dataSourceObject);
 
             } else if (methodName.equalsIgnoreCase("setMaxStatements")){
-                    executor.runJavaBeanMethod(spec.getDetail(DataSourceSpec.MAXSTATEMENTS),methods[i],dataSourceObject);
+                    executor.runJavaBeanMethod(spec.getDetail(DataSourceSpec.MAXSTATEMENTS),method,dataSourceObject);
 
             } else if (methodName.equalsIgnoreCase("setInitialPoolSize")){
-                    executor.runJavaBeanMethod(spec.getDetail(DataSourceSpec.INITIALPOOLSIZE),methods[i],dataSourceObject);
+                    executor.runJavaBeanMethod(spec.getDetail(DataSourceSpec.INITIALPOOLSIZE),method,dataSourceObject);
 
             } else if (methodName.equalsIgnoreCase("setMinPoolSize")){
-                    executor.runJavaBeanMethod(spec.getDetail(DataSourceSpec.MINPOOLSIZE),methods[i],dataSourceObject);
+                    executor.runJavaBeanMethod(spec.getDetail(DataSourceSpec.MINPOOLSIZE),method,dataSourceObject);
 
             } else if (methodName.equalsIgnoreCase("setMaxPoolSize")){
-                    executor.runJavaBeanMethod(spec.getDetail(DataSourceSpec.MAXPOOLSIZE),methods[i],dataSourceObject);
+                    executor.runJavaBeanMethod(spec.getDetail(DataSourceSpec.MAXPOOLSIZE),method,dataSourceObject);
 
             } else if (methodName.equalsIgnoreCase("setMaxIdleTime")){
-                    executor.runJavaBeanMethod(spec.getDetail(DataSourceSpec.MAXIDLETIME),methods[i],dataSourceObject);
+                    executor.runJavaBeanMethod(spec.getDetail(DataSourceSpec.MAXIDLETIME),method,dataSourceObject);
 
             } else if (methodName.equalsIgnoreCase("setPropertyCycle")){
-                    executor.runJavaBeanMethod(spec.getDetail(DataSourceSpec.PROPERTYCYCLE),methods[i],dataSourceObject);
+                    executor.runJavaBeanMethod(spec.getDetail(DataSourceSpec.PROPERTYCYCLE),method,dataSourceObject);
 
             } else if (driverProperties.containsKey(methodName.toUpperCase())){
                     Vector values = (Vector) driverProperties.get(methodName.toUpperCase());
-                executor.runMethod(methods[i],dataSourceObject, values);
+                executor.runMethod(method,dataSourceObject, values);
             }
         }
         return dataSourceObject;
@@ -141,77 +135,72 @@
      * @throws        ResourceException        If delimiter is not provided and property string
      *                                        is not null.
      */
-    private Hashtable parseDriverProperties(DataSourceSpec spec) throws ResourceException{
-            String delim = spec.getDetail(DataSourceSpec.DELIMITER);
+    private Hashtable parseDriverProperties(DataSourceSpec spec) throws ResourceException {
+        String delim = spec.getDetail(DataSourceSpec.DELIMITER);
 
         String prop = spec.getDetail(DataSourceSpec.DRIVERPROPERTIES);
-        if ( prop == null || prop.trim().equals("")) {
+        if (prop == null || prop.trim().equals("")) {
             return new Hashtable();
         } else if (delim == null || delim.equals("")) {
-            throw new ResourceException ("Delimiter is not provided in the configuration");
+            throw new ResourceException("Delimiter is not provided in the configuration");
         }
 
         Hashtable properties = new Hashtable();
         delim = delim.trim();
-        String sep = delim+delim;
+        String sep = delim + delim;
         int sepLen = sep.length();
         String cache = prop;
         Vector methods = new Vector();
 
         while (cache.indexOf(sep) != -1) {
             int index = cache.indexOf(sep);
-            String name = cache.substring(0,index);
+            String name = cache.substring(0, index);
             if (name.trim() != "") {
                 methods.add(name);
-                    cache = cache.substring(index+sepLen);
+                cache = cache.substring(index + sepLen);
             }
         }
 
-            Enumeration allMethods = methods.elements();
-            while (allMethods.hasMoreElements()) {
-                String oneMethod = (String) allMethods.nextElement();
-                if (!oneMethod.trim().equals("")) {
-                        String methodName = null;
-                        Vector parms = new Vector();
-                        StringTokenizer methodDetails = new StringTokenizer(oneMethod,delim);
-                for (int i=0; methodDetails.hasMoreTokens();i++ ) {
-                    String token = (String) methodDetails.nextToken();
-                    if (i==0) {
-                            methodName = token.toUpperCase();
+        Enumeration allMethods = methods.elements();
+        while (allMethods.hasMoreElements()) {
+            String oneMethod = (String) allMethods.nextElement();
+            if (!oneMethod.trim().equals("")) {
+                String methodName = null;
+                Vector parms = new Vector();
+                StringTokenizer methodDetails = new StringTokenizer(oneMethod, delim);
+                for (int i = 0; methodDetails.hasMoreTokens(); i++) {
+                    String token = methodDetails.nextToken();
+                    if (i == 0) {
+                        methodName = token.toUpperCase();
                     } else {
-                            parms.add(token);
+                        parms.add(token);
                     }
                 }
-                properties.put(methodName,parms);
-                }
+                properties.put(methodName, parms);
             }
-            return properties;
+        }
+        return properties;
     }
 
+
     /**
      * Creates a Datasource object according to the spec.
      *
-     * @return        Initial DataSource Object instance.
-     * @throws        <code>ResourceException</code> If class name is wrong or classpath is not set
-     *                properly.
+     * @return Initial DataSource Object instance.
+     * @throws <code>ResourceException</code> If class name is wrong or classpath is not set
+     * properly.
      */
     private Object getDataSourceObject() throws ResourceException{
-            String className = spec.getDetail(DataSourceSpec.CLASSNAME);
+        String className = spec.getDetail(DataSourceSpec.CLASSNAME);
         try {
-            Class dataSourceClass = Class.forName(className);
-            Object dataSourceObject = dataSourceClass.newInstance();
-            System.out.println("V3-TEST : "  + dataSourceObject);
-            return dataSourceObject;
+            Class<?> dataSourceClass = Class.forName(className);
+            return dataSourceClass.getDeclaredConstructor().newInstance();
         } catch(ClassNotFoundException cfne){
-            _logger.log(Level.SEVERE, "jdbc.exc_cnfe_ds", cfne);
-
-            throw new ResourceException("Class Name is wrong or Class path is not set for :" + className);
-        } catch(InstantiationException ce) {
-            _logger.log(Level.SEVERE, "jdbc.exc_inst", className);
-            throw new ResourceException("Error in instantiating" + className);
+            throw new ResourceException("Class Name is wrong or Class path is not set for :" + className, cfne);
+        } catch(InstantiationException | InvocationTargetException | NoSuchMethodException ce) {
+            throw new ResourceException("Error in instantiating" + className, ce);
         } catch(IllegalAccessException ce) {
-            _logger.log(Level.SEVERE, "jdbc.exc_acc_inst", className);
-            throw new ResourceException("Access Error in instantiating" + className);
+            throw new ResourceException("Access Error in instantiating" + className, ce);
         }
     }
 
diff --git a/appserver/tests/appserv-tests/devtests/connector/embeddedweb/ra/src/com/sun/jdbcra/common/DataSourceSpec.java b/appserver/tests/appserv-tests/connectors-ra-redeploy/jars/src/main/java/com/sun/jdbcra/common/DataSourceSpec.java
old mode 100644
new mode 100755
similarity index 96%
rename from appserver/tests/appserv-tests/devtests/connector/embeddedweb/ra/src/com/sun/jdbcra/common/DataSourceSpec.java
rename to appserver/tests/appserv-tests/connectors-ra-redeploy/jars/src/main/java/com/sun/jdbcra/common/DataSourceSpec.java
index 1c4b072..610056c
--- a/appserver/tests/appserv-tests/devtests/connector/embeddedweb/ra/src/com/sun/jdbcra/common/DataSourceSpec.java
+++ b/appserver/tests/appserv-tests/connectors-ra-redeploy/jars/src/main/java/com/sun/jdbcra/common/DataSourceSpec.java
@@ -1,5 +1,6 @@
 /*
  * Copyright (c) 2003, 2018 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2022 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
@@ -61,7 +62,7 @@
     public static final int TRANSACTIONISOLATION                = 28;
     public static final int GUARANTEEISOLATIONLEVEL                = 29;
 
-    private Hashtable details = new Hashtable();
+    private final Hashtable details = new Hashtable();
 
     /**
      * Set the property.
@@ -92,6 +93,7 @@
      *
      * @param        obj        Instance of <code>DataSourceSpec</code> object.
      */
+    @Override
     public boolean equals(Object obj) {
             if (obj instanceof DataSourceSpec) {
                 return this.details.equals(((DataSourceSpec)obj).details);
@@ -104,6 +106,7 @@
      *
      * @return        hashCode of this object.
      */
+    @Override
     public int hashCode() {
             return this.details.hashCode();
     }
diff --git a/appserver/tests/appserv-tests/devtests/connector/web2connector/ra/src/com/sun/jdbcra/spi/1.4/ConnectionHolder.java b/appserver/tests/appserv-tests/connectors-ra-redeploy/jars/src/main/java/com/sun/jdbcra/spi/ConnectionHolder.java
old mode 100644
new mode 100755
similarity index 93%
rename from appserver/tests/appserv-tests/devtests/connector/web2connector/ra/src/com/sun/jdbcra/spi/1.4/ConnectionHolder.java
rename to appserver/tests/appserv-tests/connectors-ra-redeploy/jars/src/main/java/com/sun/jdbcra/spi/ConnectionHolder.java
index 0eb4fa4..1373414
--- a/appserver/tests/appserv-tests/devtests/connector/web2connector/ra/src/com/sun/jdbcra/spi/1.4/ConnectionHolder.java
+++ b/appserver/tests/appserv-tests/connectors-ra-redeploy/jars/src/main/java/com/sun/jdbcra/spi/ConnectionHolder.java
@@ -1,5 +1,6 @@
 /*
  * Copyright (c) 2003, 2018 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2022 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
@@ -17,9 +18,7 @@
 package com.sun.jdbcra.spi;
 
 import java.sql.*;
-import java.util.Hashtable;
 import java.util.Map;
-import java.util.Enumeration;
 import java.util.Properties;
 import java.util.concurrent.Executor;
 
@@ -118,6 +117,7 @@
      *
      * @throws SQLException In case of a database error.
      */
+    @Override
     public void clearWarnings() throws SQLException{
         checkValidity();
         con.clearWarnings();
@@ -128,6 +128,7 @@
      *
      * @throws SQLException In case of a database error.
      */
+    @Override
     public void close() throws SQLException{
         isClosed = true;
         mc.connectionClosed(null, this);
@@ -154,6 +155,7 @@
      *
      * @throws SQLException In case of a database error.
      */
+    @Override
     public void commit() throws SQLException {
         checkValidity();
             con.commit();
@@ -165,6 +167,7 @@
      * @return        <code>Statement</code> object.
      * @throws SQLException In case of a database error.
      */
+    @Override
     public Statement createStatement() throws SQLException {
         checkValidity();
         return con.createStatement();
@@ -178,6 +181,7 @@
      * @return        <code>Statement</code> object.
      * @throws SQLException In case of a database error.
      */
+    @Override
     public Statement createStatement(int resultSetType, int resultSetConcurrency) throws SQLException {
         checkValidity();
         return con.createStatement(resultSetType, resultSetConcurrency);
@@ -192,6 +196,7 @@
      * @return        <code>Statement</code> object.
      * @throws SQLException In case of a database error.
      */
+    @Override
     public Statement createStatement(int resultSetType, int resultSetConcurrency,
                                          int resultSetHoldabilty) throws SQLException {
         checkValidity();
@@ -205,6 +210,7 @@
      * @return The current state of connection's auto-commit mode.
      * @throws SQLException In case of a database error.
      */
+    @Override
     public boolean getAutoCommit() throws SQLException {
         checkValidity();
             return con.getAutoCommit();
@@ -216,6 +222,7 @@
      * @return        Catalog Name.
      * @throws SQLException In case of a database error.
      */
+    @Override
     public String getCatalog() throws SQLException {
         checkValidity();
         return con.getCatalog();
@@ -228,6 +235,7 @@
      * @return        holdability value.
      * @throws SQLException In case of a database error.
      */
+    @Override
     public int getHoldability() throws SQLException {
         checkValidity();
             return        con.getHoldability();
@@ -240,6 +248,7 @@
      * @return <code>DatabaseMetaData</code> object.
      * @throws SQLException In case of a database error.
      */
+    @Override
     public DatabaseMetaData getMetaData() throws SQLException {
         checkValidity();
             return con.getMetaData();
@@ -251,6 +260,7 @@
      * @return Transaction level
      * @throws SQLException In case of a database error.
      */
+    @Override
     public int getTransactionIsolation() throws SQLException {
         checkValidity();
         return con.getTransactionIsolation();
@@ -263,15 +273,12 @@
      * @return        TypeMap set in this object.
      * @throws SQLException In case of a database error.
      */
+    @Override
     public Map getTypeMap() throws SQLException {
         checkValidity();
             return con.getTypeMap();
     }
 
-    public void setTypeMap(Map<String, Class<?>> map) throws SQLException {
-        con.setTypeMap(map);
-    }
-
     /**
      * Retrieves the the first warning reported by calls on the underlying
      * <code>Connection</code> object.
@@ -279,6 +286,7 @@
      * @return First <code> SQLWarning</code> Object or null.
      * @throws SQLException In case of a database error.
      */
+    @Override
     public SQLWarning getWarnings() throws SQLException {
         checkValidity();
             return con.getWarnings();
@@ -291,6 +299,7 @@
      *                 if it is closed.
      * @throws SQLException In case of a database error.
      */
+    @Override
     public boolean isClosed() throws SQLException {
             return isClosed;
     }
@@ -301,6 +310,7 @@
      * @return        true if <code> Connection </code> is read-only, false other-wise
      * @throws SQLException In case of a database error.
      */
+    @Override
     public boolean isReadOnly() throws SQLException {
         checkValidity();
             return con.isReadOnly();
@@ -313,6 +323,7 @@
      * @return        Converted SQL string.
      * @throws SQLException In case of a database error.
      */
+    @Override
     public String nativeSQL(String sql) throws SQLException {
         checkValidity();
             return con.nativeSQL(sql);
@@ -326,6 +337,7 @@
      * @return <code> CallableStatement</code> object.
      * @throws SQLException In case of a database error.
      */
+    @Override
     public CallableStatement prepareCall(String sql) throws SQLException {
         checkValidity();
             return con.prepareCall(sql);
@@ -341,6 +353,7 @@
      * @return <code> CallableStatement</code> object.
      * @throws SQLException In case of a database error.
      */
+    @Override
     public CallableStatement prepareCall(String sql,int resultSetType,
                                             int resultSetConcurrency) throws SQLException{
         checkValidity();
@@ -358,6 +371,7 @@
      * @return <code> CallableStatement</code> object.
      * @throws SQLException In case of a database error.
      */
+    @Override
     public CallableStatement prepareCall(String sql, int resultSetType,
                                              int resultSetConcurrency,
                                              int resultSetHoldabilty) throws SQLException{
@@ -374,6 +388,7 @@
      * @return <code> PreparedStatement</code> object.
      * @throws SQLException In case of a database error.
      */
+    @Override
     public PreparedStatement prepareStatement(String sql) throws SQLException {
         checkValidity();
             return con.prepareStatement(sql);
@@ -388,6 +403,7 @@
      * @return <code> PreparedStatement</code> object.
      * @throws SQLException In case of a database error.
      */
+    @Override
     public PreparedStatement prepareStatement(String sql, int autoGeneratedKeys) throws SQLException {
         checkValidity();
             return con.prepareStatement(sql,autoGeneratedKeys);
@@ -403,6 +419,7 @@
      * @return <code> PreparedStatement</code> object.
      * @throws SQLException In case of a database error.
      */
+    @Override
     public PreparedStatement prepareStatement(String sql, int[] columnIndexes) throws SQLException {
         checkValidity();
             return con.prepareStatement(sql,columnIndexes);
@@ -418,6 +435,7 @@
      * @return <code> PreparedStatement</code> object.
      * @throws SQLException In case of a database error.
      */
+    @Override
     public PreparedStatement prepareStatement(String sql,int resultSetType,
                                             int resultSetConcurrency) throws SQLException{
         checkValidity();
@@ -435,6 +453,7 @@
      * @return <code> PreparedStatement</code> object.
      * @throws SQLException In case of a database error.
      */
+    @Override
     public PreparedStatement prepareStatement(String sql, int resultSetType,
                                              int resultSetConcurrency,
                                              int resultSetHoldabilty) throws SQLException {
@@ -452,51 +471,63 @@
      * @return <code> PreparedStatement</code> object.
      * @throws SQLException In case of a database error.
      */
+    @Override
     public PreparedStatement prepareStatement(String sql, String[] columnNames) throws SQLException {
         checkValidity();
             return con.prepareStatement(sql,columnNames);
     }
 
+    @Override
     public Clob createClob() throws SQLException {
         return con.createClob();
     }
 
+    @Override
     public Blob createBlob() throws SQLException {
         return con.createBlob();
     }
 
+    @Override
     public NClob createNClob() throws SQLException {
         return con.createNClob();
     }
 
+    @Override
     public SQLXML createSQLXML() throws SQLException {
         return con.createSQLXML();
     }
 
+    @Override
     public boolean isValid(int timeout) throws SQLException {
         return con.isValid(timeout);
     }
 
+    @Override
     public void setClientInfo(String name, String value) throws SQLClientInfoException {
         con.setClientInfo(name, value);
     }
 
+    @Override
     public void setClientInfo(Properties properties) throws SQLClientInfoException {
         con.setClientInfo(properties);
     }
 
+    @Override
     public String getClientInfo(String name) throws SQLException {
         return con.getClientInfo(name);
     }
 
+    @Override
     public Properties getClientInfo() throws SQLException {
         return getClientInfo();
     }
 
+    @Override
     public Array createArrayOf(String typeName, Object[] elements) throws SQLException {
         return createArrayOf(typeName, elements);
     }
 
+    @Override
     public Struct createStruct(String typeName, Object[] attributes) throws SQLException {
         return createStruct(typeName, attributes);
     }
@@ -507,6 +538,7 @@
      * @param        savepoint        <code>Savepoint</code> object
      * @throws SQLException In case of a database error.
      */
+    @Override
     public void releaseSavepoint(Savepoint savepoint) throws SQLException {
         checkValidity();
             con.releaseSavepoint(savepoint);
@@ -517,6 +549,7 @@
      *
      * @throws SQLException In case of a database error.
      */
+    @Override
     public void rollback() throws SQLException {
         checkValidity();
             con.rollback();
@@ -527,6 +560,7 @@
      *
      * @throws SQLException In case of a database error.
      */
+    @Override
     public void rollback(Savepoint savepoint) throws SQLException {
         checkValidity();
             con.rollback(savepoint);
@@ -538,6 +572,7 @@
      * @param        autoCommit boolean value indicating the auto-commit mode.
      * @throws SQLException In case of a database error.
      */
+    @Override
     public void setAutoCommit(boolean autoCommit) throws SQLException {
         checkValidity();
             con.setAutoCommit(autoCommit);
@@ -549,6 +584,7 @@
      * @param        catalog        Catalog name.
      * @throws SQLException In case of a database error.
      */
+    @Override
     public void setCatalog(String catalog) throws SQLException {
         checkValidity();
             con.setCatalog(catalog);
@@ -561,6 +597,7 @@
      * @param        holdability        A <code>ResultSet</code> holdability constant
      * @throws SQLException In case of a database error.
      */
+    @Override
     public void setHoldability(int holdability) throws SQLException {
         checkValidity();
              con.setHoldability(holdability);
@@ -573,6 +610,7 @@
      * @param        readOnly  true enables read-only mode, false disables it.
      * @throws SQLException In case of a database error.
      */
+    @Override
     public void setReadOnly(boolean readOnly) throws SQLException {
         checkValidity();
             con.setReadOnly(readOnly);
@@ -584,6 +622,7 @@
      * @return        <code>Savepoint</code> object.
      * @throws SQLException In case of a database error.
      */
+    @Override
     public Savepoint setSavepoint() throws SQLException {
         checkValidity();
             return con.setSavepoint();
@@ -596,6 +635,7 @@
      * @return        <code>Savepoint</code> object.
      * @throws SQLException In case of a database error.
      */
+    @Override
     public Savepoint setSavepoint(String name) throws SQLException {
         checkValidity();
             return con.setSavepoint(name);
@@ -607,27 +647,46 @@
      * @param        level transaction isolation level.
      * @throws SQLException In case of a database error.
      */
+    @Override
     public void setTransactionIsolation(int level) throws SQLException {
         checkValidity();
             con.setTransactionIsolation(level);
     }
 
+    /**
+     * Installs the given <code>Map</code> object as the tyoe map for this
+     * <code> Connection </code> object.
+     *
+     * @param        map        <code>Map</code> a Map object to install.
+     * @throws SQLException In case of a database error.
+     */
+    @Override
+    public void setTypeMap(Map map) throws SQLException {
+        checkValidity();
+            con.setTypeMap(map);
+    }
+
+    @Override
     public int getNetworkTimeout() throws SQLException {
       throw new SQLFeatureNotSupportedException("Do not support Java 7 new feature.");
     }
 
+    @Override
     public void setNetworkTimeout(Executor executor, int milliseconds) throws SQLException {
       throw new SQLFeatureNotSupportedException("Do not support Java 7 new feature.");
     }
 
+    @Override
     public void abort(Executor executor)  throws SQLException{
       throw new SQLFeatureNotSupportedException("Do not support Java 7 new feature.");
     }
 
+    @Override
     public String getSchema() throws SQLException{
       throw new SQLFeatureNotSupportedException("Do not support Java 7 new feature.");
     }
 
+    @Override
     public void setSchema(String schema) throws SQLException{
       throw new SQLFeatureNotSupportedException("Do not support Java 7 new feature.");
     }
@@ -637,8 +696,12 @@
      * Checks the validity of this object
      */
     private void checkValidity() throws SQLException {
-            if (isClosed) throw new SQLException ("Connection closed");
-            if (!valid) throw new SQLException ("Invalid Connection");
+            if (isClosed) {
+                throw new SQLException ("Connection closed");
+            }
+            if (!valid) {
+                throw new SQLException ("Invalid Connection");
+            }
             if(active == false) {
                 mc.checkIfActive(this);
             }
@@ -653,10 +716,12 @@
         active = actv;
     }
 
+    @Override
     public <T> T unwrap(Class<T> iface) throws SQLException {
         return con.unwrap(iface);
     }
 
+    @Override
     public boolean isWrapperFor(Class<?> iface) throws SQLException {
         return con.isWrapperFor(iface);
     }
diff --git a/appserver/tests/appserv-tests/devtests/connector/embeddedweb/ra/src/com/sun/jdbcra/spi/ConnectionManager.java b/appserver/tests/appserv-tests/connectors-ra-redeploy/jars/src/main/java/com/sun/jdbcra/spi/ConnectionManager.java
old mode 100644
new mode 100755
similarity index 96%
rename from appserver/tests/appserv-tests/devtests/connector/embeddedweb/ra/src/com/sun/jdbcra/spi/ConnectionManager.java
rename to appserver/tests/appserv-tests/connectors-ra-redeploy/jars/src/main/java/com/sun/jdbcra/spi/ConnectionManager.java
index 2ee36c5..46e9a9b
--- a/appserver/tests/appserv-tests/devtests/connector/embeddedweb/ra/src/com/sun/jdbcra/spi/ConnectionManager.java
+++ b/appserver/tests/appserv-tests/connectors-ra-redeploy/jars/src/main/java/com/sun/jdbcra/spi/ConnectionManager.java
@@ -1,5 +1,6 @@
 /*
  * Copyright (c) 2003, 2018 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2022 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
@@ -16,10 +17,10 @@
 
 package com.sun.jdbcra.spi;
 
-import jakarta.resource.spi.ManagedConnectionFactory;
-import jakarta.resource.spi.ManagedConnection;
 import jakarta.resource.ResourceException;
 import jakarta.resource.spi.ConnectionRequestInfo;
+import jakarta.resource.spi.ManagedConnection;
+import jakarta.resource.spi.ManagedConnectionFactory;
 
 /**
  * ConnectionManager implementation for Generic JDBC Connector.
@@ -37,6 +38,7 @@
      * @return        A <code>Connection</code> Object.
      * @throws        ResourceException In case of an error in getting the <code>Connection</code>.
      */
+    @Override
     public Object allocateConnection(ManagedConnectionFactory mcf,
                                          ConnectionRequestInfo info)
                                          throws ResourceException {
diff --git a/appserver/tests/appserv-tests/devtests/connector/embeddedweb/ra/src/com/sun/jdbcra/spi/ConnectionRequestInfo.java b/appserver/tests/appserv-tests/connectors-ra-redeploy/jars/src/main/java/com/sun/jdbcra/spi/ConnectionRequestInfo.java
old mode 100644
new mode 100755
similarity index 92%
rename from appserver/tests/appserv-tests/devtests/connector/embeddedweb/ra/src/com/sun/jdbcra/spi/ConnectionRequestInfo.java
rename to appserver/tests/appserv-tests/connectors-ra-redeploy/jars/src/main/java/com/sun/jdbcra/spi/ConnectionRequestInfo.java
index ddd0a28..20ce8fe
--- a/appserver/tests/appserv-tests/devtests/connector/embeddedweb/ra/src/com/sun/jdbcra/spi/ConnectionRequestInfo.java
+++ b/appserver/tests/appserv-tests/connectors-ra-redeploy/jars/src/main/java/com/sun/jdbcra/spi/ConnectionRequestInfo.java
@@ -1,5 +1,6 @@
 /*
  * Copyright (c) 2003, 2018 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2022 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
@@ -24,8 +25,8 @@
  */
 public class ConnectionRequestInfo implements jakarta.resource.spi.ConnectionRequestInfo{
 
-    private String user;
-    private String password;
+    private final String user;
+    private final String password;
 
     /**
      * Constructs a new <code>ConnectionRequestInfo</code> object
@@ -61,8 +62,11 @@
      *
      * @return        True, if they are equal and false otherwise.
      */
+    @Override
     public boolean equals(Object obj) {
-        if (obj == null) return false;
+        if (obj == null) {
+            return false;
+        }
         if (obj instanceof ConnectionRequestInfo) {
             ConnectionRequestInfo other = (ConnectionRequestInfo) obj;
             return (isEqual(this.user, other.user) &&
@@ -77,6 +81,7 @@
      *
      * @return        hashCode.
      */
+    @Override
     public int hashCode() {
         String result = "" + user + password;
         return result.hashCode();
diff --git a/appserver/tests/appserv-tests/devtests/connector/v3/installed-libraries-embedded/ra/src/com/sun/jdbcra/spi/DSManagedConnectionFactory.java b/appserver/tests/appserv-tests/connectors-ra-redeploy/jars/src/main/java/com/sun/jdbcra/spi/DSManagedConnectionFactory.java
similarity index 88%
rename from appserver/tests/appserv-tests/devtests/connector/v3/installed-libraries-embedded/ra/src/com/sun/jdbcra/spi/DSManagedConnectionFactory.java
rename to appserver/tests/appserv-tests/connectors-ra-redeploy/jars/src/main/java/com/sun/jdbcra/spi/DSManagedConnectionFactory.java
index 0fe51e4..073384b 100755
--- a/appserver/tests/appserv-tests/devtests/connector/v3/installed-libraries-embedded/ra/src/com/sun/jdbcra/spi/DSManagedConnectionFactory.java
+++ b/appserver/tests/appserv-tests/connectors-ra-redeploy/jars/src/main/java/com/sun/jdbcra/spi/DSManagedConnectionFactory.java
@@ -1,5 +1,6 @@
 /*
  * Copyright (c) 2003, 2018 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2022 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
@@ -16,25 +17,29 @@
 
 package com.sun.jdbcra.spi;
 
-import jakarta.resource.ResourceException;
-import jakarta.resource.spi.ConnectionRequestInfo;
-import jakarta.resource.spi.ConnectionDefinition;
-import jakarta.resource.spi.ConfigProperty;
-
-import com.sun.jdbcra.common.DataSourceSpec;
 import com.sun.jdbcra.common.DataSourceObjectBuilder;
+import com.sun.jdbcra.common.DataSourceSpec;
 import com.sun.jdbcra.util.SecurityUtils;
+
+import jakarta.resource.ResourceException;
+import jakarta.resource.spi.ConfigProperty;
+import jakarta.resource.spi.ConnectionDefinition;
+import jakarta.resource.spi.ConnectionRequestInfo;
+import jakarta.resource.spi.ResourceAllocationException;
 import jakarta.resource.spi.security.PasswordCredential;
-import java.util.logging.Logger;
+
+import java.sql.Connection;
 import java.util.logging.Level;
+import java.util.logging.Logger;
+
+import javax.sql.DataSource;
 
 /**
  * Data Source <code>ManagedConnectionFactory</code> implementation for Generic JDBC Connector.
  *
- * @version        1.0, 02/07/30
- * @author        Evani Sai Surya Kiran
+ * @version 1.0, 02/07/30
+ * @author Evani Sai Surya Kiran
  */
-
 @ConnectionDefinition(
         connection = java.sql.Connection.class,
         connectionImpl = com.sun.jdbcra.spi.ConnectionHolder.class,
@@ -43,13 +48,9 @@
 )
 public class DSManagedConnectionFactory extends ManagedConnectionFactory {
 
-    private transient javax.sql.DataSource dataSourceObj;
-
-    private static Logger _logger;
-    static {
-        _logger = Logger.getAnonymousLogger();
-    }
-    private boolean debug = false;
+    private static Logger _logger = Logger.getAnonymousLogger();
+    private transient DataSource dataSourceObj;
+    private String aliasTest;
 
     /**
      * Creates a new physical connection to the underlying EIS resource
@@ -68,10 +69,11 @@
      * @throws        ResourceAllocationException        if there is an error in allocating the
      *                                                physical connection
      */
+    @Override
     public jakarta.resource.spi.ManagedConnection createManagedConnection(javax.security.auth.Subject subject,
         ConnectionRequestInfo cxRequestInfo) throws ResourceException {
-        if(logWriter != null) {
-                logWriter.println("In createManagedConnection");
+        if (logWriter != null) {
+            logWriter.println("In createManagedConnection");
         }
         PasswordCredential pc = SecurityUtils.getPasswordCredential(this, subject, cxRequestInfo);
 
@@ -80,7 +82,6 @@
                 dsObjBuilder = new DataSourceObjectBuilder(spec);
             }
 
-            System.out.println("V3-TEST : before getting datasource object");
             try {
                 dataSourceObj = (javax.sql.DataSource) dsObjBuilder.constructDataSourceObject();
             } catch(ClassCastException cce) {
@@ -89,8 +90,7 @@
             }
         }
 
-        java.sql.Connection dsConn = null;
-
+        final Connection dsConn;
         try {
             /* For the case where the user/passwd of the connection pool is
              * equal to the PasswordCredential for the connection request
@@ -100,27 +100,18 @@
             if ( isEqual( pc, getUser(), getPassword() ) ) {
                 dsConn = dataSourceObj.getConnection();
             } else {
-                dsConn = dataSourceObj.getConnection(pc.getUserName(),
-                    new String(pc.getPassword()));
+                dsConn = dataSourceObj.getConnection(pc.getUserName(), new String(pc.getPassword()));
             }
         } catch(java.sql.SQLException sqle) {
-            sqle.printStackTrace();
             _logger.log(Level.WARNING, "jdbc.exc_create_conn", sqle);
             throw new jakarta.resource.spi.ResourceAllocationException("The connection could not be allocated: " +
                 sqle.getMessage());
-        } catch(Exception e){
-            System.out.println("V3-TEST : unable to get connection");
-            e.printStackTrace();
         }
-        System.out.println("V3-TEST : got connection");
 
+//        com.sun.jdbcra.spi.ManagedConnection mc = new com.sun.jdbcra.spi.ManagedConnection(dsConn, null, pc, this);
         com.sun.jdbcra.spi.ManagedConnection mc = new com.sun.jdbcra.spi.ManagedConnection(null, dsConn, pc, this);
-        //GJCINT
-/*
         setIsolation(mc);
         isValid(mc);
-*/
-        System.out.println("V3-TEST : returning connection");
         return mc;
     }
 
@@ -133,17 +124,17 @@
      *                        <code>ManagedConnectionFactory</code> objects are the same
      *                false        otherwise
      */
+    @Override
     public boolean equals(Object other) {
-        if(logWriter != null) {
-                logWriter.println("In equals");
+        if (logWriter != null) {
+            logWriter.println("In equals");
         }
         /**
          * The check below means that two ManagedConnectionFactory objects are equal
          * if and only if their properties are the same.
          */
-        if(other instanceof com.sun.jdbcra.spi.DSManagedConnectionFactory) {
-            com.sun.jdbcra.spi.DSManagedConnectionFactory otherMCF =
-                (com.sun.jdbcra.spi.DSManagedConnectionFactory) other;
+        if (other instanceof DSManagedConnectionFactory) {
+            DSManagedConnectionFactory otherMCF = (DSManagedConnectionFactory) other;
             return this.spec.equals(otherMCF.spec);
         }
         return false;
@@ -169,25 +160,22 @@
         return spec.getDetail(DataSourceSpec.SERVERNAME);
     }
 
+
     /**
      * Sets the server name.
      *
-     * @param        serverName        <code>String</code>
-     * @see        <code>getServerName</code>
+     * @param serverName <code>String</code>
      */
-    @ConfigProperty(
-            defaultValue = "localhost",
-            type = java.lang.String.class
-    )
+    @ConfigProperty(defaultValue = "localhost", type = java.lang.String.class)
     public void setServerName(String serverName) {
         spec.setDetail(DataSourceSpec.SERVERNAME, serverName);
     }
 
+
     /**
      * Gets the server name.
      *
-     * @return        serverName
-     * @see        <code>setServerName</code>
+     * @return serverName
      */
     public String getServerName() {
         return spec.getDetail(DataSourceSpec.SERVERNAME);
@@ -569,13 +557,32 @@
         return spec.getDetail(DataSourceSpec.DRIVERPROPERTIES);
     }
 
-    /*
+
+    @ConfigProperty(defaultValue = "DEFAULT_ALIAS_FOR_TEST", type = java.lang.String.class, confidential = true)
+    public void setAliasTest(String value) {
+        validateDealiasing("AliasTest", value);
+        System.out.println("setAliasTest called : " + value);
+        aliasTest = value;
+    }
+
+
+    public String getAliasTest() {
+        return aliasTest;
+    }
+
+
+    private void validateDealiasing(String propertyName, String propertyValue) {
+        System.out.println("Validating property [" + propertyName + "] with value [" + propertyValue + "] in DSMCF");
+        if (propertyValue != null && propertyValue.contains("${ALIAS")) {
+            throw new IllegalArgumentException(propertyName + "'s value is not de-aliased : " + propertyValue);
+        }
+    }
+
+    /**
      * Check if the PasswordCredential passed for this get connection
      * request is equal to the user/passwd of this connection pool.
      */
-    private boolean isEqual( PasswordCredential pc, String user,
-        String password) {
-
+    private boolean isEqual(PasswordCredential pc, String user, String password) {
         //if equal get direct connection else
         //get connection with user and password.
 
@@ -583,25 +590,24 @@
             return true;
         }
 
-        if ( user == null && pc != null ) {
+        if (user == null && pc != null) {
             return false;
         }
 
-        if( pc == null ) {
+        if (pc == null) {
             return true;
         }
 
-        if ( user.equals( pc.getUserName() ) ) {
-            if ( password == null && pc.getPassword() == null ) {
+        if (user.equals(pc.getUserName())) {
+            if (password == null && pc.getPassword() == null) {
                 return true;
             }
         }
 
-        if ( user.equals(pc.getUserName()) && password.equals(pc.getPassword()) ) {
+        if (user.equals(pc.getUserName()) && password.equals(pc.getPassword())) {
             return true;
         }
 
-
         return false;
     }
 }
diff --git a/appserver/tests/appserv-tests/devtests/connector/v3/force-deploy-rar/ra/src/com/sun/jdbcra/spi/DataSource.java b/appserver/tests/appserv-tests/connectors-ra-redeploy/jars/src/main/java/com/sun/jdbcra/spi/DataSource.java
similarity index 89%
rename from appserver/tests/appserv-tests/devtests/connector/v3/force-deploy-rar/ra/src/com/sun/jdbcra/spi/DataSource.java
rename to appserver/tests/appserv-tests/connectors-ra-redeploy/jars/src/main/java/com/sun/jdbcra/spi/DataSource.java
index f8f534e..09a1c28 100755
--- a/appserver/tests/appserv-tests/devtests/connector/v3/force-deploy-rar/ra/src/com/sun/jdbcra/spi/DataSource.java
+++ b/appserver/tests/appserv-tests/connectors-ra-redeploy/jars/src/main/java/com/sun/jdbcra/spi/DataSource.java
@@ -1,5 +1,6 @@
 /*
  * Copyright (c) 2003, 2018 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2022 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
@@ -16,17 +17,17 @@
 
 package com.sun.jdbcra.spi;
 
+import jakarta.resource.ResourceException;
+import jakarta.resource.spi.ConnectionManager;
+import jakarta.resource.spi.ManagedConnectionFactory;
+
 import java.io.PrintWriter;
 import java.sql.Connection;
 import java.sql.SQLException;
 import java.sql.SQLFeatureNotSupportedException;
-import jakarta.resource.spi.ManagedConnectionFactory;
-import jakarta.resource.spi.ConnectionManager;
-import jakarta.resource.ResourceException;
-import javax.naming.Reference;
-
 import java.util.logging.Logger;
-import java.util.logging.Level;
+
+import javax.naming.Reference;
 /**
  * Holds the <code>java.sql.Connection</code> object, which is to be
  * passed to the application program.
@@ -37,19 +38,13 @@
 public class DataSource implements javax.sql.DataSource, java.io.Serializable,
                 com.sun.appserv.jdbcra.DataSource, jakarta.resource.Referenceable{
 
-    private ManagedConnectionFactory mcf;
+    private final ManagedConnectionFactory mcf;
     private ConnectionManager cm;
     private int loginTimeout;
     private PrintWriter logWriter;
     private String description;
     private Reference reference;
 
-    private static Logger _logger;
-    static {
-        _logger = Logger.getAnonymousLogger();
-    }
-    private boolean debug = false;
-
     /**
      * Constructs <code>DataSource</code> object. This is created by the
      * <code>ManagedConnectionFactory</code> object.
@@ -62,7 +57,7 @@
     public DataSource (ManagedConnectionFactory mcf, ConnectionManager cm) {
             this.mcf = mcf;
             if (cm == null) {
-                this.cm = (ConnectionManager) new com.sun.jdbcra.spi.ConnectionManager();
+                this.cm = new com.sun.jdbcra.spi.ConnectionManager();
             } else {
                 this.cm = cm;
             }
@@ -74,13 +69,12 @@
      * @return        <code> Connection </code> object.
      * @throws SQLException In case of an error.
      */
+    @Override
     public Connection getConnection() throws SQLException {
             try {
                 return (Connection) cm.allocateConnection(mcf,null);
             } catch (ResourceException re) {
-// This is temporary. This needs to be changed to SEVERE after TP
-            _logger.log(Level.WARNING, "jdbc.exc_get_conn", re.getMessage());
-                throw new SQLException (re.getMessage());
+                throw new SQLException(re.getMessage(), re);
             }
     }
 
@@ -92,14 +86,13 @@
      * @return        <code> Connection </code> object.
      * @throws SQLException In case of an error.
      */
+    @Override
     public Connection getConnection(String user, String pwd) throws SQLException {
             try {
                 ConnectionRequestInfo info = new ConnectionRequestInfo (user, pwd);
                 return (Connection) cm.allocateConnection(mcf,info);
             } catch (ResourceException re) {
-// This is temporary. This needs to be changed to SEVERE after TP
-            _logger.log(Level.WARNING, "jdbc.exc_get_conn", re.getMessage());
-                throw new SQLException (re.getMessage());
+                throw new SQLException(re.getMessage(), re);
             }
     }
 
@@ -112,6 +105,7 @@
      * @return <code>java.sql.Connection</code> implementation of the driver.
      * @throws <code>java.sql.SQLException</code> If connection cannot be obtained.
      */
+    @Override
     public Connection getConnection(Connection con) throws SQLException {
 
         Connection driverCon = con;
@@ -128,6 +122,7 @@
      * @return login timeout.
      * @throws        SQLException        If a database error occurs.
      */
+    @Override
     public int getLoginTimeout() throws SQLException{
             return        loginTimeout;
     }
@@ -138,6 +133,7 @@
      * @param        loginTimeout        Login timeout.
      * @throws        SQLException        If a database error occurs.
      */
+    @Override
     public void setLoginTimeout(int loginTimeout) throws SQLException{
             this.loginTimeout = loginTimeout;
     }
@@ -148,6 +144,7 @@
      * @return <code> PrintWriter </code> object.
      * @throws        SQLException        If a database error occurs.
      */
+    @Override
     public PrintWriter getLogWriter() throws SQLException{
             return        logWriter;
     }
@@ -158,10 +155,12 @@
      * @param <code>PrintWriter</code> object.
      * @throws        SQLException        If a database error occurs.
      */
+    @Override
     public void setLogWriter(PrintWriter logWriter) throws SQLException{
             this.logWriter = logWriter;
     }
 
+    @Override
     public Logger getParentLogger() throws SQLFeatureNotSupportedException{
       throw new SQLFeatureNotSupportedException("Do not support Java 7 feature.");
     }
@@ -188,6 +187,7 @@
      *
      * @return <code>Reference</code>object.
      */
+    @Override
     public Reference getReference() {
             return reference;
     }
@@ -197,14 +197,17 @@
      *
      * @param        reference <code>Reference</code> object.
      */
+    @Override
     public void setReference(Reference reference) {
             this.reference = reference;
     }
 
+    @Override
     public <T> T unwrap(Class<T> iface) throws SQLException {
         return null;  //To change body of implemented methods use File | Settings | File Templates.
     }
 
+    @Override
     public boolean isWrapperFor(Class<?> iface) throws SQLException {
         return false;  //To change body of implemented methods use File | Settings | File Templates.
     }
diff --git a/appserver/tests/appserv-tests/devtests/connector/embeddedweb/ra/src/com/sun/jdbcra/spi/JdbcSetupAdmin.java b/appserver/tests/appserv-tests/connectors-ra-redeploy/jars/src/main/java/com/sun/jdbcra/spi/JdbcSetupAdmin.java
old mode 100644
new mode 100755
similarity index 68%
rename from appserver/tests/appserv-tests/devtests/connector/embeddedweb/ra/src/com/sun/jdbcra/spi/JdbcSetupAdmin.java
rename to appserver/tests/appserv-tests/connectors-ra-redeploy/jars/src/main/java/com/sun/jdbcra/spi/JdbcSetupAdmin.java
index bec0d6b..dd17b9e
--- a/appserver/tests/appserv-tests/devtests/connector/embeddedweb/ra/src/com/sun/jdbcra/spi/JdbcSetupAdmin.java
+++ b/appserver/tests/appserv-tests/connectors-ra-redeploy/jars/src/main/java/com/sun/jdbcra/spi/JdbcSetupAdmin.java
@@ -1,5 +1,6 @@
 /*
  * Copyright (c) 2017, 2018 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2022 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
@@ -18,22 +19,24 @@
 
 public interface JdbcSetupAdmin {
 
-    public void setTableName(String db);
+    void setTableName(String db);
 
-    public String getTableName();
+    String getTableName();
 
-    public void setJndiName(String name);
+    void setJndiName(String name);
 
-    public String getJndiName();
+    String getJndiName();
 
-    public void setSchemaName(String name);
+    void setSchemaName(String name);
 
-    public String getSchemaName();
+    String getSchemaName();
 
-    public void setNoOfRows(Integer i);
+    void setNoOfRows(Integer i);
 
-    public Integer getNoOfRows();
+    Integer getNoOfRows();
 
-    public boolean checkSetup();
+    boolean checkSetup();
+
+    int getVersion();
 
 }
diff --git a/appserver/tests/appserv-tests/devtests/connector/v3/force-deploy-rar/ra/src/com/sun/jdbcra/spi/JdbcSetupAdminImpl.java b/appserver/tests/appserv-tests/connectors-ra-redeploy/jars/src/main/java/com/sun/jdbcra/spi/JdbcSetupAdminImpl.java
similarity index 63%
rename from appserver/tests/appserv-tests/devtests/connector/v3/force-deploy-rar/ra/src/com/sun/jdbcra/spi/JdbcSetupAdminImpl.java
rename to appserver/tests/appserv-tests/connectors-ra-redeploy/jars/src/main/java/com/sun/jdbcra/spi/JdbcSetupAdminImpl.java
index 44a8e60..939b203 100755
--- a/appserver/tests/appserv-tests/devtests/connector/v3/force-deploy-rar/ra/src/com/sun/jdbcra/spi/JdbcSetupAdminImpl.java
+++ b/appserver/tests/appserv-tests/connectors-ra-redeploy/jars/src/main/java/com/sun/jdbcra/spi/JdbcSetupAdminImpl.java
@@ -1,5 +1,6 @@
 /*
  * Copyright (c) 2017, 2018 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2022 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
@@ -16,10 +17,16 @@
 
 package com.sun.jdbcra.spi;
 
-import javax.naming.*;
-import javax.sql.*;
-import java.sql.*;
+import jakarta.resource.spi.AdministeredObject;
+import jakarta.resource.spi.ConfigProperty;
 
+import java.sql.Connection;
+import java.sql.ResultSet;
+import java.sql.Statement;
+
+import javax.naming.InitialContext;
+
+@AdministeredObject(adminObjectInterfaces = {com.sun.jdbcra.spi.JdbcSetupAdmin.class})
 public class JdbcSetupAdminImpl implements JdbcSetupAdmin {
 
     private String tableName;
@@ -30,47 +37,67 @@
 
     private Integer noOfRows;
 
+    @Override
+    @ConfigProperty(type = java.lang.String.class)
     public void setTableName(String db) {
         tableName = db;
     }
 
-    public String getTableName(){
+
+    @Override
+    public String getTableName() {
         return tableName;
     }
 
-    public void setJndiName(String name){
+
+    @Override
+    @ConfigProperty(type = java.lang.String.class)
+    public void setJndiName(String name) {
         jndiName = name;
     }
 
+
+    @Override
     public String getJndiName() {
         return jndiName;
     }
 
-    public void setSchemaName(String name){
+
+    @Override
+    @ConfigProperty(type = java.lang.String.class)
+    public void setSchemaName(String name) {
         schemaName = name;
     }
 
+
+    @Override
     public String getSchemaName() {
         return schemaName;
     }
 
+
+    @Override
+    @ConfigProperty(type = java.lang.Integer.class, defaultValue = "0")
     public void setNoOfRows(Integer i) {
         System.out.println("Setting no of rows :" + i);
         noOfRows = i;
     }
 
+
+    @Override
     public Integer getNoOfRows() {
         return noOfRows;
     }
 
-    public boolean checkSetup(){
 
-        if (jndiName== null || jndiName.trim().equals("")) {
-           return false;
+    @Override
+    public boolean checkSetup() {
+        if (jndiName == null || jndiName.trim().equals("")) {
+            return false;
         }
 
-        if (tableName== null || tableName.trim().equals("")) {
-           return false;
+        if (tableName == null || tableName.trim().equals("")) {
+            return false;
         }
 
         Connection con = null;
@@ -101,27 +128,35 @@
             System.out.println("No of rows expected:" + noOfRows);
 
             if (i == noOfRows.intValue()) {
-               b = true;
+                b = true;
             } else {
-               b = false;
+                b = false;
             }
-        } catch(Exception e) {
+        } catch (Exception e) {
             e.printStackTrace();
             b = false;
         } finally {
             try {
-                if (rs != null) rs.close();
-                if (s != null) s.close();
-                if (con != null) con.close();
+                if (rs != null) {
+                    rs.close();
+                }
+                if (s != null) {
+                    s.close();
+                }
+                if (con != null) {
+                    con.close();
+                }
             } catch (Exception e) {
             }
         }
-        System.out.println("Returning setup :" +b);
+        System.out.println("Returning setup :" + b);
         return b;
     }
 
-    public int getVersion(){
-            return ResourceAdapter.VERSION;
+
+    @Override
+    public int getVersion() {
+        return ResourceAdapter.VERSION;
     }
 
 }
diff --git a/appserver/tests/appserv-tests/devtests/connector/embeddedweb/ra/src/com/sun/jdbcra/spi/LocalTransaction.java b/appserver/tests/appserv-tests/connectors-ra-redeploy/jars/src/main/java/com/sun/jdbcra/spi/LocalTransaction.java
old mode 100644
new mode 100755
similarity index 95%
rename from appserver/tests/appserv-tests/devtests/connector/embeddedweb/ra/src/com/sun/jdbcra/spi/LocalTransaction.java
rename to appserver/tests/appserv-tests/connectors-ra-redeploy/jars/src/main/java/com/sun/jdbcra/spi/LocalTransaction.java
index ce8635b..8b54780
--- a/appserver/tests/appserv-tests/devtests/connector/embeddedweb/ra/src/com/sun/jdbcra/spi/LocalTransaction.java
+++ b/appserver/tests/appserv-tests/connectors-ra-redeploy/jars/src/main/java/com/sun/jdbcra/spi/LocalTransaction.java
@@ -1,5 +1,6 @@
 /*
  * Copyright (c) 2003, 2018 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2022 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
@@ -16,7 +17,6 @@
 
 package com.sun.jdbcra.spi;
 
-import com.sun.jdbcra.spi.ManagedConnection;
 import jakarta.resource.ResourceException;
 import jakarta.resource.spi.LocalTransactionException;
 
@@ -28,7 +28,7 @@
  */
 public class LocalTransaction implements jakarta.resource.spi.LocalTransaction {
 
-    private ManagedConnection mc;
+    private final ManagedConnection mc;
 
     /**
      * Constructor for <code>LocalTransaction</code>.
@@ -47,6 +47,7 @@
      *                                                the autocommit mode of the physical
      *                                                connection
      */
+    @Override
     public void begin() throws ResourceException {
         //GJCINT
         mc.transactionStarted();
@@ -63,6 +64,7 @@
      *                                                the autocommit mode of the physical
      *                                                connection or committing the transaction
      */
+    @Override
     public void commit() throws ResourceException {
         Exception e = null;
         try {
@@ -82,6 +84,7 @@
      *                                                the autocommit mode of the physical
      *                                                connection or rolling back the transaction
      */
+    @Override
     public void rollback() throws ResourceException {
         try {
             mc.getActualConnection().rollback();
diff --git a/appserver/tests/appserv-tests/devtests/connector/embeddedweb/ra/src/com/sun/jdbcra/spi/ManagedConnection.java b/appserver/tests/appserv-tests/connectors-ra-redeploy/jars/src/main/java/com/sun/jdbcra/spi/ManagedConnection.java
old mode 100644
new mode 100755
similarity index 93%
rename from appserver/tests/appserv-tests/devtests/connector/embeddedweb/ra/src/com/sun/jdbcra/spi/ManagedConnection.java
rename to appserver/tests/appserv-tests/connectors-ra-redeploy/jars/src/main/java/com/sun/jdbcra/spi/ManagedConnection.java
index f0443d0..1fdd294
--- a/appserver/tests/appserv-tests/devtests/connector/embeddedweb/ra/src/com/sun/jdbcra/spi/ManagedConnection.java
+++ b/appserver/tests/appserv-tests/connectors-ra-redeploy/jars/src/main/java/com/sun/jdbcra/spi/ManagedConnection.java
@@ -1,5 +1,6 @@
 /*
  * Copyright (c) 2003, 2018 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2022 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
@@ -16,27 +17,26 @@
 
 package com.sun.jdbcra.spi;
 
-import jakarta.resource.spi.*;
-import jakarta.resource.*;
-import javax.security.auth.Subject;
+import com.sun.jdbcra.util.SecurityUtils;
+
+import jakarta.resource.NotSupportedException;
+import jakarta.resource.ResourceException;
+import jakarta.resource.spi.ConnectionEvent;
+import jakarta.resource.spi.ConnectionEventListener;
+import jakarta.resource.spi.security.PasswordCredential;
+
 import java.io.PrintWriter;
-import javax.transaction.xa.XAResource;
-import java.util.Set;
+import java.sql.SQLException;
 import java.util.Hashtable;
 import java.util.Iterator;
+import java.util.Set;
+import java.util.logging.Level;
+import java.util.logging.Logger;
+
+import javax.security.auth.Subject;
 import javax.sql.PooledConnection;
 import javax.sql.XAConnection;
-import java.sql.Connection;
-import java.sql.SQLException;
-import jakarta.resource.NotSupportedException;
-import jakarta.resource.spi.security.PasswordCredential;
-import com.sun.jdbcra.spi.ConnectionRequestInfo;
-import com.sun.jdbcra.spi.LocalTransaction;
-import com.sun.jdbcra.spi.ManagedConnectionMetaData;
-import com.sun.jdbcra.util.SecurityUtils;
-import com.sun.jdbcra.spi.ConnectionHolder;
-import java.util.logging.Logger;
-import java.util.logging.Level;
+import javax.transaction.xa.XAResource;
 
 /**
  * <code>ManagedConnection</code> implementation for Generic JDBC Connector.
@@ -53,7 +53,7 @@
     private boolean isDestroyed = false;
     private boolean isUsable = true;
 
-    private int connectionType = ISNOTAPOOLEDCONNECTION;
+    private final int connectionType;
     private PooledConnection pc = null;
     private java.sql.Connection actualConnection = null;
     private Hashtable connectionHandles;
@@ -105,6 +105,7 @@
             throw new ResourceException("Connection object cannot be null");
         }
 
+        connectionType = getConnectionType(pooledConn);
         if (connectionType == ISNOTAPOOLEDCONNECTION ) {
             actualConnection = sqlConn;
         }
@@ -130,6 +131,7 @@
      * @param        listener        <code>ConnectionEventListener</code>
      * @see <code>removeConnectionEventListener</code>
      */
+    @Override
     public void addConnectionEventListener(ConnectionEventListener listener) {
         this.listener = listener;
     }
@@ -143,6 +145,7 @@
      * @throws        ResourceException        if the physical connection is no more
      *                                        valid or the connection handle passed is null
      */
+    @Override
     public void associateConnection(Object connection) throws ResourceException {
         if(logWriter != null) {
             logWriter.println("In associateConnection");
@@ -153,7 +156,7 @@
         }
         ConnectionHolder ch = (ConnectionHolder) connection;
 
-        com.sun.jdbcra.spi.ManagedConnection mc = (com.sun.jdbcra.spi.ManagedConnection)ch.getManagedConnection();
+        com.sun.jdbcra.spi.ManagedConnection mc = ch.getManagedConnection();
         mc.activeConnectionHandle = null;
         isClean = false;
 
@@ -181,6 +184,7 @@
      *
      * @throws        ResourceException        if the physical connection is no more valid
      */
+    @Override
     public void cleanup() throws ResourceException {
         if(logWriter != null) {
                 logWriter.println("In cleanup");
@@ -232,6 +236,7 @@
      *
      * @throws        ResourceException        if there is an error in closing the physical connection
      */
+    @Override
     public void destroy() throws ResourceException{
         if(logWriter != null) {
             logWriter.println("In destroy");
@@ -276,6 +281,7 @@
      * @throws        SecurityException        if there is a mismatch between the
      *                                         password credentials or reauthentication is requested
      */
+    @Override
     public Object getConnection(Subject sub, jakarta.resource.spi.ConnectionRequestInfo cxReqInfo)
         throws ResourceException {
         if(logWriter != null) {
@@ -324,6 +330,7 @@
      * @return        <code>LocalTransaction</code> instance
      * @throws        ResourceException        if the physical connection is not valid
      */
+    @Override
     public jakarta.resource.spi.LocalTransaction getLocalTransaction() throws ResourceException {
         if(logWriter != null) {
             logWriter.println("In getLocalTransaction");
@@ -340,6 +347,7 @@
      * @throws        ResourceException        if the physical connection is not valid
      * @see <code>setLogWriter</code>
      */
+    @Override
     public PrintWriter getLogWriter() throws ResourceException {
         if(logWriter != null) {
                 logWriter.println("In getLogWriter");
@@ -356,6 +364,7 @@
      * @return        <code>ManagedConnectionMetaData</code> instance
      * @throws        ResourceException        if the physical connection is not valid
      */
+    @Override
     public jakarta.resource.spi.ManagedConnectionMetaData getMetaData() throws ResourceException {
         if(logWriter != null) {
                 logWriter.println("In getMetaData");
@@ -375,36 +384,34 @@
      * @throws        NotSupportedException        if underlying datasource is not an
      *                                        <code>XADataSource</code>
      */
+    @Override
     public XAResource getXAResource() throws ResourceException {
-        if(logWriter != null) {
-                logWriter.println("In getXAResource");
+        if (logWriter != null) {
+            logWriter.println("In getXAResource");
         }
         checkIfValid();
 
-        if(connectionType == ISXACONNECTION) {
-            try {
-                if(xar == null) {
-                    /**
-                     * Using the wrapper XAResource.
-                     */
-                    xar = new com.sun.jdbcra.spi.XAResourceImpl(((XAConnection)pc).getXAResource(), this);
-                }
-                return xar;
-            } catch(SQLException sqle) {
-                throw new ResourceException(sqle.getMessage());
-            }
-        } else {
+        if (connectionType != ISXACONNECTION) {
             throw new NotSupportedException("Cannot get an XAResource from a non XA connection");
         }
+        try {
+            if(xar == null) {
+                xar = new com.sun.jdbcra.spi.XAResourceImpl(((XAConnection)pc).getXAResource(), this);
+            }
+            return xar;
+        } catch(SQLException sqle) {
+            throw new ResourceException(sqle.getMessage());
+        }
     }
 
+
     /**
      * Removes an already registered connection event listener from the
      * <code>ManagedConnection</code> instance.
      *
-     * @param        listener        <code>ConnectionEventListener</code> to be removed
-     * @see <code>addConnectionEventListener</code>
+     * @param listener <code>ConnectionEventListener</code> to be removed
      */
+    @Override
     public void removeConnectionEventListener(ConnectionEventListener listener) {
         listener = null;
     }
@@ -464,6 +471,7 @@
      * @throws        ResourceException        if the physical connection is not valid
      * @see <code>getLogWriter</code>
      */
+    @Override
     public void setLogWriter(PrintWriter out) throws ResourceException {
         checkIfValid();
         logWriter = out;
@@ -476,10 +484,10 @@
      * @param        pooledConn        <code>PooledConnection</code>
      * @return        connection type
      */
-    private int getConnectionType(PooledConnection pooledConn) {
-        if(pooledConn == null) {
+    private static int getConnectionType(PooledConnection pooledConn) {
+        if (pooledConn == null) {
             return ISNOTAPOOLEDCONNECTION;
-        } else if(pooledConn instanceof XAConnection) {
+        } else if (pooledConn instanceof XAConnection) {
             return ISXACONNECTION;
         } else {
             return ISPOOLEDCONNECTION;
@@ -651,14 +659,4 @@
             throw new SQLException("The connection handle cannot be used as another connection is currently active");
         }
     }
-
-    /**
-     * sets the connection type of this connection. This method is called
-     * by the MCF while creating this ManagedConnection. Saves us a costly
-     * instanceof operation in the getConnectionType
-     */
-    public void initializeConnectionType( int _connectionType ) {
-        connectionType = _connectionType;
-    }
-
 }
diff --git a/appserver/tests/appserv-tests/devtests/connector/embeddedweb/ra/src/com/sun/jdbcra/spi/1.4/ManagedConnectionFactory.java b/appserver/tests/appserv-tests/connectors-ra-redeploy/jars/src/main/java/com/sun/jdbcra/spi/ManagedConnectionFactory.java
old mode 100644
new mode 100755
similarity index 98%
rename from appserver/tests/appserv-tests/devtests/connector/embeddedweb/ra/src/com/sun/jdbcra/spi/1.4/ManagedConnectionFactory.java
rename to appserver/tests/appserv-tests/connectors-ra-redeploy/jars/src/main/java/com/sun/jdbcra/spi/ManagedConnectionFactory.java
index fb0fdab..1b05a72
--- a/appserver/tests/appserv-tests/devtests/connector/embeddedweb/ra/src/com/sun/jdbcra/spi/1.4/ManagedConnectionFactory.java
+++ b/appserver/tests/appserv-tests/connectors-ra-redeploy/jars/src/main/java/com/sun/jdbcra/spi/ManagedConnectionFactory.java
@@ -1,5 +1,6 @@
 /*
  * Copyright (c) 2003, 2018 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2022 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
@@ -16,18 +17,18 @@
 
 package com.sun.jdbcra.spi;
 
+import com.sun.jdbcra.common.DataSourceObjectBuilder;
+import com.sun.jdbcra.common.DataSourceSpec;
+import com.sun.jdbcra.util.SecurityUtils;
+
 import jakarta.resource.ResourceException;
 import jakarta.resource.spi.ConnectionRequestInfo;
-import com.sun.jdbcra.spi.ConnectionManager;
-import com.sun.jdbcra.util.SecurityUtils;
+import jakarta.resource.spi.ResourceAllocationException;
 import jakarta.resource.spi.security.PasswordCredential;
-import java.sql.DriverManager;
-import com.sun.jdbcra.common.DataSourceSpec;
-import com.sun.jdbcra.common.DataSourceObjectBuilder;
-import java.sql.SQLException;
 
-import java.util.logging.Logger;
 import java.util.logging.Level;
+import java.util.logging.Logger;
+
 /**
  * <code>ManagedConnectionFactory</code> implementation for Generic JDBC Connector.
  * This class is extended by the DataSource specific <code>ManagedConnection</code> factories
@@ -36,7 +37,6 @@
  * @version        1.0, 02/08/03
  * @author        Evani Sai Surya Kiran
  */
-
 public abstract class ManagedConnectionFactory implements jakarta.resource.spi.ManagedConnectionFactory,
     java.io.Serializable {
 
@@ -50,19 +50,20 @@
     static {
         _logger = Logger.getAnonymousLogger();
     }
-    private boolean debug = false;
+    private final boolean debug = false;
     /**
      * Creates a Connection Factory instance. The <code>ConnectionManager</code> implementation
      * of the resource adapter is used here.
      *
      * @return        Generic JDBC Connector implementation of <code>javax.sql.DataSource</code>
      */
+    @Override
     public Object createConnectionFactory() {
         if(logWriter != null) {
             logWriter.println("In createConnectionFactory()");
         }
         com.sun.jdbcra.spi.DataSource cf = new com.sun.jdbcra.spi.DataSource(
-            (jakarta.resource.spi.ManagedConnectionFactory)this, null);
+            this, null);
 
         return cf;
     }
@@ -74,12 +75,13 @@
      * @param        cxManager        <code>ConnectionManager</code> passed by the application server
      * @return        Generic JDBC Connector implementation of <code>javax.sql.DataSource</code>
      */
+    @Override
     public Object createConnectionFactory(jakarta.resource.spi.ConnectionManager cxManager) {
         if(logWriter != null) {
             logWriter.println("In createConnectionFactory(jakarta.resource.spi.ConnectionManager cxManager)");
         }
         com.sun.jdbcra.spi.DataSource cf = new com.sun.jdbcra.spi.DataSource(
-            (jakarta.resource.spi.ManagedConnectionFactory)this, cxManager);
+            this, cxManager);
         return cf;
     }
 
@@ -100,6 +102,7 @@
      * @throws        ResourceAllocationException        if there is an error in allocating the
      *                                                physical connection
      */
+    @Override
     public abstract jakarta.resource.spi.ManagedConnection createManagedConnection(javax.security.auth.Subject subject,
         ConnectionRequestInfo cxRequestInfo) throws ResourceException;
 
@@ -112,6 +115,7 @@
      *                        <code>ManagedConnectionFactory</code> objects are the same
      *                false        otherwise
      */
+    @Override
     public abstract boolean equals(Object other);
 
     /**
@@ -120,6 +124,7 @@
      * @return        <code>PrintWriter</code> associated with this <code>ManagedConnectionFactory</code> instance
      * @see        <code>setLogWriter</code>
      */
+    @Override
     public java.io.PrintWriter getLogWriter() {
         return logWriter;
     }
@@ -142,6 +147,7 @@
      *
      * @return        hash code for this <code>ManagedConnectionFactory</code>
      */
+    @Override
     public int hashCode(){
         if(logWriter != null) {
                 logWriter.println("In hashCode");
@@ -164,6 +170,7 @@
      *                                        parameter or the <code>Set</code> of <code>ManagedConnection</code>
      *                                        objects passed by the application server
      */
+    @Override
     public jakarta.resource.spi.ManagedConnection matchManagedConnections(java.util.Set connectionSet,
         javax.security.auth.Subject subject, ConnectionRequestInfo cxRequestInfo) throws ResourceException {
         if(logWriter != null) {
@@ -448,6 +455,7 @@
      * @param        out        <code>PrintWriter</code> passed by the application server
      * @see        <code>getLogWriter</code>
      */
+    @Override
     public void setLogWriter(java.io.PrintWriter out) {
         logWriter = out;
     }
diff --git a/appserver/tests/appserv-tests/devtests/connector/embeddedweb/ra/src/com/sun/jdbcra/spi/ManagedConnectionMetaData.java b/appserver/tests/appserv-tests/connectors-ra-redeploy/jars/src/main/java/com/sun/jdbcra/spi/ManagedConnectionMetaData.java
old mode 100644
new mode 100755
similarity index 96%
rename from appserver/tests/appserv-tests/devtests/connector/embeddedweb/ra/src/com/sun/jdbcra/spi/ManagedConnectionMetaData.java
rename to appserver/tests/appserv-tests/connectors-ra-redeploy/jars/src/main/java/com/sun/jdbcra/spi/ManagedConnectionMetaData.java
index 5ec326c..79d57bd
--- a/appserver/tests/appserv-tests/devtests/connector/embeddedweb/ra/src/com/sun/jdbcra/spi/ManagedConnectionMetaData.java
+++ b/appserver/tests/appserv-tests/connectors-ra-redeploy/jars/src/main/java/com/sun/jdbcra/spi/ManagedConnectionMetaData.java
@@ -1,5 +1,6 @@
 /*
  * Copyright (c) 2003, 2018 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2022 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
@@ -16,12 +17,13 @@
 
 package com.sun.jdbcra.spi;
 
-import com.sun.jdbcra.spi.ManagedConnection;
-import java.sql.SQLException;
 import jakarta.resource.ResourceException;
 
-import java.util.logging.Logger;
+import java.sql.SQLException;
 import java.util.logging.Level;
+import java.util.logging.Logger;
+
+
 /**
  * <code>ManagedConnectionMetaData</code> implementation for Generic JDBC Connector.
  *
@@ -37,7 +39,7 @@
     static {
         _logger = Logger.getAnonymousLogger();
     }
-    private boolean debug = false;
+    private final boolean debug = false;
     /**
      * Constructor for <code>ManagedConnectionMetaData</code>
      *
@@ -61,6 +63,7 @@
      * @return        Product name of the EIS instance
      * @throws        <code>ResourceException</code>
      */
+    @Override
     public String getEISProductName() throws ResourceException {
         try {
             return dmd.getDatabaseProductName();
@@ -77,6 +80,7 @@
      * @return        Product version of the EIS instance
      * @throws        <code>ResourceException</code>
      */
+    @Override
     public String getEISProductVersion() throws ResourceException {
         try {
             return dmd.getDatabaseProductVersion();
@@ -93,6 +97,7 @@
      * @return        Maximum limit for number of active concurrent connections
      * @throws        <code>ResourceException</code>
      */
+    @Override
     public int getMaxConnections() throws ResourceException {
         try {
             return dmd.getMaxConnections();
@@ -110,6 +115,7 @@
      * @return        name of the user
      * @throws        <code>ResourceException</code>
      */
+    @Override
     public String getUserName() throws ResourceException {
         jakarta.resource.spi.security.PasswordCredential pc = mc.getPasswordCredential();
         if(pc != null) {
diff --git a/appserver/tests/appserv-tests/connectors-ra-redeploy/jars/src/main/java/com/sun/jdbcra/spi/ResourceAdapter.java b/appserver/tests/appserv-tests/connectors-ra-redeploy/jars/src/main/java/com/sun/jdbcra/spi/ResourceAdapter.java
new file mode 100755
index 0000000..2ca6767
--- /dev/null
+++ b/appserver/tests/appserv-tests/connectors-ra-redeploy/jars/src/main/java/com/sun/jdbcra/spi/ResourceAdapter.java
@@ -0,0 +1,179 @@
+/*
+ * Copyright (c) 2003, 2018 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2022 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.
+ *
+ * This Source Code may also be made available under the following Secondary
+ * Licenses when the conditions for such availability set forth in the
+ * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
+ * version 2 with the GNU Classpath Exception, which is available at
+ * https://www.gnu.org/software/classpath/license.html.
+ *
+ * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
+ */
+
+package com.sun.jdbcra.spi;
+
+import jakarta.resource.NotSupportedException;
+import jakarta.resource.spi.ActivationSpec;
+import jakarta.resource.spi.AuthenticationMechanism;
+import jakarta.resource.spi.BootstrapContext;
+import jakarta.resource.spi.Connector;
+import jakarta.resource.spi.ResourceAdapterInternalException;
+import jakarta.resource.spi.TransactionSupport;
+import jakarta.resource.spi.endpoint.MessageEndpointFactory;
+
+import java.io.IOException;
+import java.io.InputStream;
+import java.net.URL;
+import java.util.Enumeration;
+import java.util.jar.Manifest;
+
+import javax.transaction.xa.XAResource;
+
+/**
+ * <code>ResourceAdapter</code> implementation for Generic JDBC Connector.
+ *
+ * @version        1.0, 02/08/05
+ * @author        Evani Sai Surya Kiran
+ */
+@Connector(
+    description = "Resource adapter wrapping Datasource implementation of driver",
+    displayName = "DataSource Resource Adapter",
+    vendorName = "Sun Microsystems",
+    eisType = "Database",
+    version = "1.0",
+    licenseRequired = false,
+    transactionSupport = TransactionSupport.TransactionSupportLevel.LocalTransaction,
+    authMechanisms = {
+        @AuthenticationMechanism(
+            authMechanism = "BasicPassword",
+            credentialInterface = AuthenticationMechanism.CredentialInterface.PasswordCredential
+        )
+    },
+    reauthenticationSupport = false
+)
+public class ResourceAdapter implements jakarta.resource.spi.ResourceAdapter {
+
+    private static int loadVersion() {
+        ClassLoader cl = ResourceAdapter.class.getClassLoader();
+        try {
+            Enumeration<URL> urls = cl.getResources("META-INF/MANIFEST.MF");
+            while (urls.hasMoreElements()) {
+                URL url = urls.nextElement();
+                try (InputStream stream = url.openStream()) {
+                    Manifest manifest = new Manifest(stream);
+//                    manifest.write(System.out);
+                    String value = manifest.getMainAttributes().getValue("ra-redeploy-version");
+                    if (value != null) {
+                        return Integer.parseInt(value);
+                    }
+                }
+            }
+            return -1;
+        } catch (IOException e) {
+            throw new Error("Cannot detect version value!", e);
+        }
+    }
+
+    public static final int VERSION = loadVersion();
+
+    public String raProp;
+
+    private String aliasTest;
+
+    /**
+     * Empty method implementation for endpointActivation
+     * which just throws <code>NotSupportedException</code>
+     *
+     * @param        mef        <code>MessageEndpointFactory</code>
+     * @param        as        <code>ActivationSpec</code>
+     * @throws        <code>NotSupportedException</code>
+     */
+    @Override
+    public void endpointActivation(MessageEndpointFactory mef, ActivationSpec as) throws NotSupportedException {
+        throw new NotSupportedException("This method is not supported for this JDBC connector");
+    }
+
+    /**
+     * Empty method implementation for endpointDeactivation
+     *
+     * @param        mef        <code>MessageEndpointFactory</code>
+     * @param        as        <code>ActivationSpec</code>
+     */
+    @Override
+    public void endpointDeactivation(MessageEndpointFactory mef, ActivationSpec as) {
+
+    }
+
+    /**
+     * Empty method implementation for getXAResources
+     * which just throws <code>NotSupportedException</code>
+     *
+     * @param        specs        <code>ActivationSpec</code> array
+     * @throws        <code>NotSupportedException</code>
+     */
+    @Override
+    public XAResource[] getXAResources(ActivationSpec[] specs) throws NotSupportedException {
+        throw new NotSupportedException("This method is not supported for this JDBC connector");
+    }
+
+    /**
+     * Empty implementation of start method
+     *
+     * @param        ctx        <code>BootstrapContext</code>
+     */
+    @Override
+    public void start(BootstrapContext ctx) throws ResourceAdapterInternalException {
+/*
+NO NEED TO CHECK THIS AS THE TEST's PURPOSE IS TO CHECK THE VERSION ALONE
+
+        System.out.println("Resource Adapter is starting with configuration :" + raProp);
+        if (raProp == null || !raProp.equals("VALID")) {
+            throw new ResourceAdapterInternalException("Resource adapter cannot start. It is configured as : " + raProp);
+        }
+*/
+    }
+
+    /**
+     * Empty implementation of stop method
+     */
+    @Override
+    public void stop() {
+
+    }
+
+    public void setRAProperty(String s) {
+        raProp = s;
+    }
+
+    public String getRAProperty() {
+        return raProp;
+    }
+//
+//
+//    @ConfigProperty(defaultValue = "${ALIAS=ALIAS_TEST_PROPERTY}", type = java.lang.String.class, confidential = true)
+//    public void setAliasTest(String value) {
+//        validateDealiasing("AliasTest", value);
+//        System.out.println("setAliasTest called : " + value);
+//        aliasTest = value;
+//    }
+//
+//
+//    public String getAliasTest() {
+//        return aliasTest;
+//    }
+//
+//
+//    private void validateDealiasing(String propertyName, String propertyValue){
+//        System.out.println("Validating property ["+propertyName+"] with value ["+propertyValue+"] in ResourceAdapter bean");
+//        //check whether the value is dealiased or not and fail
+//        //if it's not dealiased.
+//        if(propertyValue != null && propertyValue.contains("${ALIAS")){
+//            throw new IllegalArgumentException(propertyName + "'s value is not de-aliased : " + propertyValue);
+//        }
+//    }
+}
diff --git a/appserver/tests/appserv-tests/devtests/connector/embeddedweb/ra/src/com/sun/jdbcra/spi/DSManagedConnectionFactory.java b/appserver/tests/appserv-tests/connectors-ra-redeploy/jars/src/main/java/com/sun/jdbcra/spi/XAManagedConnectionFactory.java
old mode 100644
new mode 100755
similarity index 80%
rename from appserver/tests/appserv-tests/devtests/connector/embeddedweb/ra/src/com/sun/jdbcra/spi/DSManagedConnectionFactory.java
rename to appserver/tests/appserv-tests/connectors-ra-redeploy/jars/src/main/java/com/sun/jdbcra/spi/XAManagedConnectionFactory.java
index 614ffa9..e0e6624
--- a/appserver/tests/appserv-tests/devtests/connector/embeddedweb/ra/src/com/sun/jdbcra/spi/DSManagedConnectionFactory.java
+++ b/appserver/tests/appserv-tests/connectors-ra-redeploy/jars/src/main/java/com/sun/jdbcra/spi/XAManagedConnectionFactory.java
@@ -1,5 +1,6 @@
 /*
  * Copyright (c) 2003, 2018 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2022 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
@@ -16,17 +17,20 @@
 
 package com.sun.jdbcra.spi;
 
+import com.sun.jdbcra.common.DataSourceObjectBuilder;
+import com.sun.jdbcra.common.DataSourceSpec;
+import com.sun.jdbcra.util.SecurityUtils;
+
 import jakarta.resource.ResourceException;
 import jakarta.resource.spi.ConnectionRequestInfo;
-import com.sun.jdbcra.spi.ConnectionManager;
-import com.sun.jdbcra.common.DataSourceSpec;
-import com.sun.jdbcra.common.DataSourceObjectBuilder;
-import com.sun.jdbcra.util.SecurityUtils;
+import jakarta.resource.spi.ResourceAllocationException;
+import jakarta.resource.spi.SecurityException;
 import jakarta.resource.spi.security.PasswordCredential;
-import com.sun.jdbcra.spi.ManagedConnectionFactory;
-import com.sun.jdbcra.common.DataSourceSpec;
-import java.util.logging.Logger;
+
 import java.util.logging.Level;
+import java.util.logging.Logger;
+
+import javax.sql.XAConnection;
 
 /**
  * Data Source <code>ManagedConnectionFactory</code> implementation for Generic JDBC Connector.
@@ -35,77 +39,72 @@
  * @author        Evani Sai Surya Kiran
  */
 
-public class DSManagedConnectionFactory extends ManagedConnectionFactory {
+public class XAManagedConnectionFactory extends ManagedConnectionFactory {
 
-    private transient javax.sql.DataSource dataSourceObj;
+    private transient javax.sql.XADataSource dataSourceObj;
 
     private static Logger _logger;
     static {
         _logger = Logger.getAnonymousLogger();
     }
-    private boolean debug = false;
 
     /**
      * Creates a new physical connection to the underlying EIS resource
      * manager.
      *
-     * @param        subject        <code>Subject</code> instance passed by the application server
-     * @param        cxRequestInfo        <code>ConnectionRequestInfo</code> which may be created
-     *                                    as a result of the invocation <code>getConnection(user, password)</code>
-     *                                    on the <code>DataSource</code> object
-     * @return        <code>ManagedConnection</code> object created
-     * @throws        ResourceException        if there is an error in instantiating the
-     *                                         <code>DataSource</code> object used for the
-     *                                       creation of the <code>ManagedConnection</code> object
-     * @throws        SecurityException        if there ino <code>PasswordCredential</code> object
-     *                                         satisfying this request
-     * @throws        ResourceAllocationException        if there is an error in allocating the
-     *                                                physical connection
+     * @param subject <code>Subject</code> instance passed by the application server
+     * @param cxRequestInfo <code>ConnectionRequestInfo</code> which may be created
+     *            as a result of the invocation <code>getConnection(user, password)</code>
+     *            on the <code>DataSource</code> object
+     * @return <code>ManagedConnection</code> object created
+     * @throws ResourceException if there is an error in instantiating the
+     *             <code>DataSource</code> object used for the
+     *             creation of the <code>ManagedConnection</code> object
+     * @throws SecurityException if there ino <code>PasswordCredential</code> object
+     *             satisfying this request
+     * @throws ResourceAllocationException if there is an error in allocating the
+     *             physical connection
      */
+    @Override
     public jakarta.resource.spi.ManagedConnection createManagedConnection(javax.security.auth.Subject subject,
         ConnectionRequestInfo cxRequestInfo) throws ResourceException {
-        if(logWriter != null) {
-                logWriter.println("In createManagedConnection");
+        if (logWriter != null) {
+            logWriter.println("In createManagedConnection");
         }
         PasswordCredential pc = SecurityUtils.getPasswordCredential(this, subject, cxRequestInfo);
 
-        if(dataSourceObj == null) {
-            if(dsObjBuilder == null) {
+        if (dataSourceObj == null) {
+            if (dsObjBuilder == null) {
                 dsObjBuilder = new DataSourceObjectBuilder(spec);
             }
 
             try {
-                dataSourceObj = (javax.sql.DataSource) dsObjBuilder.constructDataSourceObject();
-            } catch(ClassCastException cce) {
+                dataSourceObj = (javax.sql.XADataSource) dsObjBuilder.constructDataSourceObject();
+            } catch (ClassCastException cce) {
                 _logger.log(Level.SEVERE, "jdbc.exc_cce", cce);
                 throw new jakarta.resource.ResourceException(cce.getMessage());
             }
         }
 
-        java.sql.Connection dsConn = null;
+        final XAConnection xaConn;
 
         try {
-            /* For the case where the user/passwd of the connection pool is
-             * equal to the PasswordCredential for the connection request
-             * get a connection from this pool directly.
-             * for all other conditions go create a new connection
-             */
-            if ( isEqual( pc, getUser(), getPassword() ) ) {
-                dsConn = dataSourceObj.getConnection();
+            // For the case where the user/passwd of the connection pool is
+            // equal to the PasswordCredential for the connection request
+            // get a connection from this pool directly.
+            // for all other conditions go create a new connection
+            if (isEqual(pc, getUser(), getPassword())) {
+                xaConn = dataSourceObj.getXAConnection();
             } else {
-                dsConn = dataSourceObj.getConnection(pc.getUserName(),
-                    new String(pc.getPassword()));
+                xaConn = dataSourceObj.getXAConnection(pc.getUserName(), new String(pc.getPassword()));
             }
-        } catch(java.sql.SQLException sqle) {
-            _logger.log(Level.WARNING, "jdbc.exc_create_conn", sqle);
-            throw new jakarta.resource.spi.ResourceAllocationException("The connection could not be allocated: " +
-                sqle.getMessage());
+
+
+        } catch (java.sql.SQLException sqle) {
+            throw new ResourceAllocationException("cannot allocate connection", sqle);
         }
 
-        com.sun.jdbcra.spi.ManagedConnection mc = new com.sun.jdbcra.spi.ManagedConnection(null, dsConn, pc, this);
-        //GJCINT
-        setIsolation(mc);
-        isValid(mc);
+        com.sun.jdbcra.spi.ManagedConnection mc = new com.sun.jdbcra.spi.ManagedConnection(xaConn, null, pc, this);
         return mc;
     }
 
@@ -118,17 +117,17 @@
      *                        <code>ManagedConnectionFactory</code> objects are the same
      *                false        otherwise
      */
+    @Override
     public boolean equals(Object other) {
-        if(logWriter != null) {
-                logWriter.println("In equals");
+        if (logWriter != null) {
+            logWriter.println("In equals");
         }
         /**
          * The check below means that two ManagedConnectionFactory objects are equal
          * if and only if their properties are the same.
          */
-        if(other instanceof com.sun.jdbcra.spi.DSManagedConnectionFactory) {
-            com.sun.jdbcra.spi.DSManagedConnectionFactory otherMCF =
-                (com.sun.jdbcra.spi.DSManagedConnectionFactory) other;
+        if (other instanceof com.sun.jdbcra.spi.XAManagedConnectionFactory) {
+            com.sun.jdbcra.spi.XAManagedConnectionFactory otherMCF = (com.sun.jdbcra.spi.XAManagedConnectionFactory) other;
             return this.spec.equals(otherMCF.spec);
         }
         return false;
@@ -535,39 +534,36 @@
         return spec.getDetail(DataSourceSpec.DRIVERPROPERTIES);
     }
 
-    /*
+    /**
      * Check if the PasswordCredential passed for this get connection
      * request is equal to the user/passwd of this connection pool.
      */
-    private boolean isEqual( PasswordCredential pc, String user,
-        String password) {
-
-        //if equal get direct connection else
-        //get connection with user and password.
+    private boolean isEqual(PasswordCredential pc, String user, String password) {
+        // if equal get direct connection else
+        // get connection with user and password.
 
         if (user == null && pc == null) {
             return true;
         }
 
-        if ( user == null && pc != null ) {
+        if (user == null && pc != null) {
             return false;
         }
 
-        if( pc == null ) {
+        if (pc == null) {
             return true;
         }
 
-        if ( user.equals( pc.getUserName() ) ) {
-            if ( password == null && pc.getPassword() == null ) {
+        if (user.equals(pc.getUserName())) {
+            if (password == null && pc.getPassword() == null) {
                 return true;
             }
         }
 
-        if ( user.equals(pc.getUserName()) && password.equals(pc.getPassword()) ) {
+        if (user.equals(pc.getUserName()) && password.equals(pc.getPassword())) {
             return true;
         }
 
-
         return false;
     }
 }
diff --git a/appserver/tests/appserv-tests/devtests/connector/embeddedweb/ra/src/com/sun/jdbcra/spi/XAResourceImpl.java b/appserver/tests/appserv-tests/connectors-ra-redeploy/jars/src/main/java/com/sun/jdbcra/spi/XAResourceImpl.java
old mode 100644
new mode 100755
similarity index 96%
rename from appserver/tests/appserv-tests/devtests/connector/embeddedweb/ra/src/com/sun/jdbcra/spi/XAResourceImpl.java
rename to appserver/tests/appserv-tests/connectors-ra-redeploy/jars/src/main/java/com/sun/jdbcra/spi/XAResourceImpl.java
index f0ba663..98f289d
--- a/appserver/tests/appserv-tests/devtests/connector/embeddedweb/ra/src/com/sun/jdbcra/spi/XAResourceImpl.java
+++ b/appserver/tests/appserv-tests/connectors-ra-redeploy/jars/src/main/java/com/sun/jdbcra/spi/XAResourceImpl.java
@@ -1,5 +1,6 @@
 /*
  * Copyright (c) 2003, 2018 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2022 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
@@ -16,10 +17,9 @@
 
 package com.sun.jdbcra.spi;
 
-import javax.transaction.xa.Xid;
 import javax.transaction.xa.XAException;
 import javax.transaction.xa.XAResource;
-import com.sun.jdbcra.spi.ManagedConnection;
+import javax.transaction.xa.Xid;
 
 /**
  * <code>XAResource</code> wrapper for Generic JDBC Connector.
@@ -50,6 +50,7 @@
      * @param        onePhase        If true, the resource manager should use a one-phase commit
      *                               protocol to commit the work done on behalf of xid.
      */
+    @Override
     public void commit(Xid xid, boolean onePhase) throws XAException {
         //the mc.transactionCompleted call has come here becasue
         //the transaction *actually* completes after the flow
@@ -68,6 +69,7 @@
      *                        was used previously in the start method.
      * @param        flags        One of TMSUCCESS, TMFAIL, or TMSUSPEND
      */
+    @Override
     public void end(Xid xid, int flags) throws XAException {
         xar.end(xid, flags);
         //GJCINT
@@ -79,6 +81,7 @@
      *
      * @param        xid        A global transaction identifier
      */
+    @Override
     public void forget(Xid xid) throws XAException {
         xar.forget(xid);
     }
@@ -89,6 +92,7 @@
      *
      * @return        the transaction timeout value in seconds
      */
+    @Override
     public int getTransactionTimeout() throws XAException {
         return xar.getTransactionTimeout();
     }
@@ -102,6 +106,7 @@
      *                         instance is to be compared with the resource
      * @return        true if it's the same RM instance; otherwise false.
      */
+    @Override
     public boolean isSameRM(XAResource xares) throws XAException {
         return xar.isSameRM(xares);
     }
@@ -117,6 +122,7 @@
      *                to roll back the transaction, it should do so
      *                by raising an appropriate <code>XAException</code> in the prepare method.
      */
+    @Override
     public int prepare(Xid xid) throws XAException {
         return xar.prepare(xid);
     }
@@ -131,6 +137,7 @@
      *                completed state. If an error occurs during the operation, the resource
      *                manager should throw the appropriate <code>XAException</code>.
      */
+    @Override
     public Xid[] recover(int flag) throws XAException {
         return xar.recover(flag);
     }
@@ -140,6 +147,7 @@
      *
      * @param        xid        A global transaction identifier
      */
+    @Override
     public void rollback(Xid xid) throws XAException {
         //the mc.transactionCompleted call has come here becasue
         //the transaction *actually* completes after the flow
@@ -157,6 +165,7 @@
      * @param        seconds        the transaction timeout value in seconds.
      * @return        true if transaction timeout value is set successfully; otherwise false.
      */
+    @Override
     public boolean setTransactionTimeout(int seconds) throws XAException {
         return xar.setTransactionTimeout(seconds);
     }
@@ -167,6 +176,7 @@
      * @param        xid        A global transaction identifier to be associated with the resource
      * @return        flags        One of TMNOFLAGS, TMJOIN, or TMRESUME
      */
+    @Override
     public void start(Xid xid, int flags) throws XAException {
         //GJCINT
         mc.transactionStarted();
diff --git a/appserver/tests/appserv-tests/devtests/connector/embeddedweb/ra/src/com/sun/jdbcra/util/MethodExecutor.java b/appserver/tests/appserv-tests/connectors-ra-redeploy/jars/src/main/java/com/sun/jdbcra/util/MethodExecutor.java
old mode 100644
new mode 100755
similarity index 98%
rename from appserver/tests/appserv-tests/devtests/connector/embeddedweb/ra/src/com/sun/jdbcra/util/MethodExecutor.java
rename to appserver/tests/appserv-tests/connectors-ra-redeploy/jars/src/main/java/com/sun/jdbcra/util/MethodExecutor.java
index de4a961..423665a
--- a/appserver/tests/appserv-tests/devtests/connector/embeddedweb/ra/src/com/sun/jdbcra/util/MethodExecutor.java
+++ b/appserver/tests/appserv-tests/connectors-ra-redeploy/jars/src/main/java/com/sun/jdbcra/util/MethodExecutor.java
@@ -1,5 +1,6 @@
 /*
  * Copyright (c) 2003, 2018 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2022 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
@@ -16,13 +17,14 @@
 
 package com.sun.jdbcra.util;
 
-import java.lang.reflect.Method;
-import java.lang.reflect.InvocationTargetException;
-import java.util.Vector;
 import jakarta.resource.ResourceException;
 
-import java.util.logging.Logger;
+import java.lang.reflect.InvocationTargetException;
+import java.lang.reflect.Method;
+import java.util.Vector;
 import java.util.logging.Level;
+import java.util.logging.Logger;
+
 /**
  * Execute the methods based on the parameters.
  *
@@ -35,7 +37,7 @@
     static {
         _logger = Logger.getAnonymousLogger();
     }
-    private boolean debug = false;
+    private final boolean debug = false;
     /**
      * Exceute a simple set Method.
      *
diff --git a/appserver/tests/appserv-tests/devtests/connector/embeddedweb/ra/src/com/sun/jdbcra/util/SecurityUtils.java b/appserver/tests/appserv-tests/connectors-ra-redeploy/jars/src/main/java/com/sun/jdbcra/util/SecurityUtils.java
old mode 100644
new mode 100755
similarity index 95%
rename from appserver/tests/appserv-tests/devtests/connector/embeddedweb/ra/src/com/sun/jdbcra/util/SecurityUtils.java
rename to appserver/tests/appserv-tests/connectors-ra-redeploy/jars/src/main/java/com/sun/jdbcra/util/SecurityUtils.java
index bed9dd7..ab6a714
--- a/appserver/tests/appserv-tests/devtests/connector/embeddedweb/ra/src/com/sun/jdbcra/util/SecurityUtils.java
+++ b/appserver/tests/appserv-tests/connectors-ra-redeploy/jars/src/main/java/com/sun/jdbcra/util/SecurityUtils.java
@@ -1,5 +1,6 @@
 /*
  * Copyright (c) 2003, 2018 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2022 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
@@ -16,15 +17,16 @@
 
 package com.sun.jdbcra.util;
 
-import javax.security.auth.Subject;
+import jakarta.resource.ResourceException;
+import jakarta.resource.spi.ManagedConnectionFactory;
+import jakarta.resource.spi.security.PasswordCredential;
+
 import java.security.AccessController;
 import java.security.PrivilegedAction;
-import jakarta.resource.spi.security.PasswordCredential;
-import jakarta.resource.ResourceException;
-import jakarta.resource.spi.*;
-import com.sun.jdbcra.spi.ConnectionRequestInfo;
-import java.util.Set;
 import java.util.Iterator;
+import java.util.Set;
+
+import javax.security.auth.Subject;
 
 /**
  * SecurityUtils for Generic JDBC Connector.
@@ -64,6 +66,7 @@
             } else {
                 PasswordCredential pc = (PasswordCredential) AccessController.doPrivileged
                     (new PrivilegedAction() {
+                        @Override
                         public Object run() {
                             Set passwdCredentialSet = subject.getPrivateCredentials(PasswordCredential.class);
                             Iterator iter = passwdCredentialSet.iterator();
@@ -115,10 +118,12 @@
      *                false        otherwise
      */
     static public boolean isPasswordCredentialEqual(PasswordCredential pC1, PasswordCredential pC2) {
-        if (pC1 == pC2)
+        if (pC1 == pC2) {
             return true;
-        if(pC1 == null || pC2 == null)
+        }
+        if(pC1 == null || pC2 == null) {
             return (pC1 == pC2);
+        }
         if (!isEqual(pC1.getUserName(), pC2.getUserName())) {
             return false;
         }
diff --git a/appserver/tests/appserv-tests/connectors-ra-redeploy/pom.xml b/appserver/tests/appserv-tests/connectors-ra-redeploy/pom.xml
new file mode 100644
index 0000000..b858e26
--- /dev/null
+++ b/appserver/tests/appserv-tests/connectors-ra-redeploy/pom.xml
@@ -0,0 +1,19 @@
+<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 https://maven.apache.org/xsd/maven-4.0.0.xsd"
+>
+    <modelVersion>4.0.0</modelVersion>
+    <parent>
+        <groupId>org.glassfish.main.tests</groupId>
+        <artifactId>ant-tests</artifactId>
+        <version>7.0.0-SNAPSHOT</version>
+    </parent>
+    <groupId>org.glassfish.main.tests.connectors</groupId>
+    <artifactId>connectors-ra-redeploy</artifactId>
+    <packaging>pom</packaging>
+    <modules>
+        <module>jars</module>
+        <module>rars</module>
+        <module>rars-xa</module>
+    </modules>
+</project>
diff --git a/appserver/tests/appserv-tests/connectors-ra-redeploy/rars-xa/pom.xml b/appserver/tests/appserv-tests/connectors-ra-redeploy/rars-xa/pom.xml
new file mode 100644
index 0000000..cf75b06
--- /dev/null
+++ b/appserver/tests/appserv-tests/connectors-ra-redeploy/rars-xa/pom.xml
@@ -0,0 +1,63 @@
+<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 https://maven.apache.org/xsd/maven-4.0.0.xsd"
+>
+    <modelVersion>4.0.0</modelVersion>
+    <parent>
+        <groupId>org.glassfish.main.tests.connectors</groupId>
+        <artifactId>connectors-ra-redeploy</artifactId>
+        <version>7.0.0-SNAPSHOT</version>
+    </parent>
+    <artifactId>connectors-ra-redeploy-rars-xa</artifactId>
+    <packaging>rar</packaging>
+
+    <dependencies>
+        <dependency>
+            <groupId>org.glassfish.main.tests.connectors</groupId>
+            <artifactId>connectors-ra-redeploy-jars</artifactId>
+            <version>${project.version}</version>
+            <scope>provided</scope>
+        </dependency>
+    </dependencies>
+
+    <build>
+        <plugins>
+            <plugin>
+                <artifactId>maven-dependency-plugin</artifactId>
+                <configuration>
+                    <stripClassifier>true</stripClassifier>
+                    <stripVersion>true</stripVersion>
+                    <includeArtifactIds>connectors-ra-redeploy-jars</includeArtifactIds>
+                </configuration>
+                <executions>
+                    <execution>
+                        <id>version1</id>
+                        <goals>
+                            <goal>copy-dependencies</goal>
+                        </goals>
+                        <phase>generate-resources</phase>
+                        <configuration>
+                            <outputDirectory>${project.build.directory}/v1</outputDirectory>
+                            <excludeClassifiers>v2</excludeClassifiers>
+                        </configuration>
+                    </execution>
+                </executions>
+            </plugin>
+            <plugin>
+                <artifactId>maven-rar-plugin</artifactId>
+                <executions>
+                    <execution>
+                        <id>default-rar</id>
+                        <goals>
+                            <goal>rar</goal>
+                        </goals>
+                        <phase>package</phase>
+                        <configuration>
+                            <rarSourceDirectory>${project.build.directory}/v1</rarSourceDirectory>
+                        </configuration>
+                    </execution>
+                </executions>
+            </plugin>
+        </plugins>
+    </build>
+</project>
diff --git a/appserver/tests/appserv-tests/connectors-ra-redeploy/rars-xa/src/main/rar/META-INF/ra.xml b/appserver/tests/appserv-tests/connectors-ra-redeploy/rars-xa/src/main/rar/META-INF/ra.xml
new file mode 100755
index 0000000..eab31a6
--- /dev/null
+++ b/appserver/tests/appserv-tests/connectors-ra-redeploy/rars-xa/src/main/rar/META-INF/ra.xml
@@ -0,0 +1,190 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+
+    Copyright (c) 2017, 2018 Oracle and/or its affiliates. All rights reserved.
+    Copyright (c) 2022 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.
+
+    This Source Code may also be made available under the following Secondary
+    Licenses when the conditions for such availability set forth in the
+    Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
+    version 2 with the GNU Classpath Exception, which is available at
+    https://www.gnu.org/software/classpath/license.html.
+
+    SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
+
+-->
+
+<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/jakartaee_9.xsd
+       https://jakarta.ee/xml/ns/jakartaee/connector_2_0.xsd"
+    version="2.0"
+>
+    <description>Resource adapter wrapping Datasource implementation of driver</description>
+    <display-name>DataSource Resource Adapter</display-name>
+    <icon>
+        <small-icon></small-icon>
+        <large-icon></large-icon>
+    </icon>
+    <vendor-name>Sun Microsystems</vendor-name>
+    <eis-type>Database</eis-type>
+    <resourceadapter-version>1.0</resourceadapter-version>
+    <license>
+        <license-required>false</license-required>
+    </license>
+    <resourceadapter>
+        <resourceadapter-class>com.sun.jdbcra.spi.ResourceAdapter</resourceadapter-class>
+        <outbound-resourceadapter>
+            <connection-definition>
+                <managedconnectionfactory-class>com.sun.jdbcra.spi.XAManagedConnectionFactory</managedconnectionfactory-class>
+                <config-property>
+                    <config-property-name>ServerName</config-property-name>
+                    <config-property-type>java.lang.String</config-property-type>
+                    <config-property-value>localhost</config-property-value>
+                </config-property>
+                <config-property>
+                    <config-property-name>PortNumber</config-property-name>
+                    <config-property-type>java.lang.String</config-property-type>
+                    <config-property-value>1527</config-property-value>
+                </config-property>
+                <config-property>
+                    <config-property-name>User</config-property-name>
+                    <config-property-type>java.lang.String</config-property-type>
+                    <config-property-value>dbuser</config-property-value>
+                </config-property>
+                <config-property>
+                    <config-property-name>UserName</config-property-name>
+                    <config-property-type>java.lang.String</config-property-type>
+                    <config-property-value>dbuser</config-property-value>
+                </config-property>
+                <config-property>
+                    <config-property-name>Password</config-property-name>
+                    <config-property-type>java.lang.String</config-property-type>
+                    <config-property-value>dbpassword</config-property-value>
+                </config-property>
+                <config-property>
+                    <config-property-name>URL</config-property-name>
+                    <config-property-type>java.lang.String</config-property-type>
+                    <config-property-value>jdbc:derby://localhost:1527/testdb;create=true</config-property-value>
+                </config-property>
+                <config-property>
+                    <config-property-name>ConnectionAttributes</config-property-name>
+                    <config-property-type>java.lang.String</config-property-type>
+                    <config-property-value>;create=true</config-property-value>
+                </config-property>
+                <config-property>
+                    <config-property-name>DatabaseName</config-property-name>
+                    <config-property-type>java.lang.String</config-property-type>
+                    <config-property-value>testdb</config-property-value>
+                </config-property>
+                <config-property>
+                    <config-property-name>Description</config-property-name>
+                    <config-property-type>java.lang.String</config-property-type>
+                    <config-property-value>Oracle thin driver Datasource</config-property-value>
+                </config-property>
+                <config-property>
+                    <config-property-name>NetworkProtocol</config-property-name>
+                    <config-property-type>java.lang.String</config-property-type>
+                    <config-property-value></config-property-value>
+                </config-property>
+                <config-property>
+                    <config-property-name>RoleName</config-property-name>
+                    <config-property-type>java.lang.String</config-property-type>
+                    <config-property-value></config-property-value>
+                </config-property>
+                <config-property>
+                    <config-property-name>LoginTimeOut</config-property-name>
+                    <config-property-type>java.lang.String</config-property-type>
+                    <config-property-value>0</config-property-value>
+                </config-property>
+                <config-property>
+                    <config-property-name>DriverProperties</config-property-name>
+                    <config-property-type>java.lang.String</config-property-type>
+                    <config-property-value></config-property-value>
+                </config-property>
+                <config-property>
+                    <config-property-name>Delimiter</config-property-name>
+                    <config-property-type>java.lang.String</config-property-type>
+                    <config-property-value>#</config-property-value>
+                </config-property>
+                <config-property>
+                    <config-property-name>ClassName</config-property-name>
+                    <config-property-type>java.lang.String</config-property-type>
+                    <config-property-value>org.apache.derby.jdbc.ClientXADataSource40</config-property-value>
+                </config-property>
+                <config-property>
+                    <config-property-name>ConnectionValidationRequired</config-property-name>
+                    <config-property-type>java.lang.String</config-property-type>
+                    <config-property-value>false</config-property-value>
+                </config-property>
+                <config-property>
+                    <config-property-name>ValidationMethod</config-property-name>
+                    <config-property-type>java.lang.String</config-property-type>
+                    <config-property-value></config-property-value>
+                </config-property>
+                <config-property>
+                    <config-property-name>ValidationTableName</config-property-name>
+                    <config-property-type>java.lang.String</config-property-type>
+                    <config-property-value></config-property-value>
+                </config-property>
+                <config-property>
+                    <config-property-name>TransactionIsolation</config-property-name>
+                    <config-property-type>java.lang.String</config-property-type>
+                    <config-property-value></config-property-value>
+                </config-property>
+                <config-property>
+                    <config-property-name>GuaranteeIsolationLevel</config-property-name>
+                    <config-property-type>java.lang.String</config-property-type>
+                    <config-property-value></config-property-value>
+                </config-property>
+
+                <connectionfactory-interface>javax.sql.XADataSource</connectionfactory-interface>
+                <connectionfactory-impl-class>com.sun.jdbcra.spi.DataSource</connectionfactory-impl-class>
+
+                <connection-interface>java.sql.Connection</connection-interface>
+                <connection-impl-class>com.sun.jdbcra.spi.ConnectionHolder</connection-impl-class>
+            </connection-definition>
+
+            <transaction-support>XATransaction</transaction-support>
+
+            <authentication-mechanism>
+                <authentication-mechanism-type>BasicPassword</authentication-mechanism-type>
+                <credential-interface>jakarta.resource.spi.security.PasswordCredential</credential-interface>
+            </authentication-mechanism>
+
+            <reauthentication-support>false</reauthentication-support>
+        </outbound-resourceadapter>
+
+        <adminobject>
+            <adminobject-interface>com.sun.jdbcra.spi.JdbcSetupAdmin</adminobject-interface>
+            <adminobject-class>com.sun.jdbcra.spi.JdbcSetupAdminImpl</adminobject-class>
+            <config-property>
+                <config-property-name>TableName</config-property-name>
+                <config-property-type>java.lang.String</config-property-type>
+                <config-property-value></config-property-value>
+            </config-property>
+            <config-property>
+                <config-property-name>SchemaName</config-property-name>
+                <config-property-type>java.lang.String</config-property-type>
+                <config-property-value></config-property-value>
+            </config-property>
+            <config-property>
+                <config-property-name>JndiName</config-property-name>
+                <config-property-type>java.lang.String</config-property-type>
+                <config-property-value></config-property-value>
+            </config-property>
+            <config-property>
+                <config-property-name>NoOfRows</config-property-name>
+                <config-property-type>java.lang.Integer</config-property-type>
+                <config-property-value>0</config-property-value>
+            </config-property>
+        </adminobject>
+
+    </resourceadapter>
+
+</connector>
diff --git a/appserver/tests/appserv-tests/connectors-ra-redeploy/rars/pom.xml b/appserver/tests/appserv-tests/connectors-ra-redeploy/rars/pom.xml
new file mode 100644
index 0000000..bc1ddd6
--- /dev/null
+++ b/appserver/tests/appserv-tests/connectors-ra-redeploy/rars/pom.xml
@@ -0,0 +1,122 @@
+<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 https://maven.apache.org/xsd/maven-4.0.0.xsd"
+>
+    <modelVersion>4.0.0</modelVersion>
+    <parent>
+        <groupId>org.glassfish.main.tests.connectors</groupId>
+        <artifactId>connectors-ra-redeploy</artifactId>
+        <version>7.0.0-SNAPSHOT</version>
+    </parent>
+    <artifactId>connectors-ra-redeploy-rars</artifactId>
+    <packaging>rar</packaging>
+
+    <dependencies>
+        <dependency>
+            <groupId>org.glassfish.main.tests.connectors</groupId>
+            <artifactId>connectors-ra-redeploy-jars</artifactId>
+            <version>${project.version}</version>
+            <scope>provided</scope>
+        </dependency>
+        <dependency>
+            <groupId>org.glassfish.main.tests.connectors</groupId>
+            <artifactId>connectors-ra-redeploy-jars</artifactId>
+            <version>${project.version}</version>
+            <classifier>v2</classifier>
+            <scope>provided</scope>
+        </dependency>
+
+        <dependency>
+            <groupId>org.junit.jupiter</groupId>
+            <artifactId>junit-jupiter-engine</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>jakarta.resource</groupId>
+            <artifactId>jakarta.resource-api</artifactId>
+            <scope>test</scope>
+        </dependency>
+    </dependencies>
+
+    <build>
+        <plugins>
+            <plugin>
+                <artifactId>maven-dependency-plugin</artifactId>
+                <configuration>
+                    <stripClassifier>true</stripClassifier>
+                    <stripVersion>true</stripVersion>
+                    <includeArtifactIds>connectors-ra-redeploy-jars</includeArtifactIds>
+                </configuration>
+                <executions>
+                    <execution>
+                        <id>version1</id>
+                        <goals>
+                            <goal>copy-dependencies</goal>
+                        </goals>
+                        <phase>generate-resources</phase>
+                        <configuration>
+                            <outputDirectory>${project.build.directory}/v1</outputDirectory>
+                            <excludeClassifiers>v2</excludeClassifiers>
+                        </configuration>
+                    </execution>
+                    <execution>
+                        <id>version2</id>
+                        <goals>
+                            <goal>copy-dependencies</goal>
+                        </goals>
+                        <phase>generate-resources</phase>
+                        <configuration>
+                            <outputDirectory>${project.build.directory}/v2</outputDirectory>
+                            <includeClassifiers>v2</includeClassifiers>
+                        </configuration>
+                    </execution>
+                </executions>
+            </plugin>
+            <plugin>
+                <artifactId>maven-rar-plugin</artifactId>
+                <executions>
+                    <execution>
+                        <id>default-rar</id>
+                        <goals>
+                            <goal>rar</goal>
+                        </goals>
+                        <phase>package</phase>
+                        <configuration>
+                            <rarSourceDirectory>${project.build.directory}/v1</rarSourceDirectory>
+                        </configuration>
+                    </execution>
+                    <execution>
+                        <id>version2</id>
+                        <goals>
+                            <goal>rar</goal>
+                        </goals>
+                        <phase>package</phase>
+                        <configuration>
+                            <rarSourceDirectory>${project.build.directory}/v2</rarSourceDirectory>
+                            <overwrite>true</overwrite>
+                            <classifier>v2</classifier>
+                        </configuration>
+                    </execution>
+                    <execution>
+                        <id>nojar</id>
+                        <goals>
+                            <goal>rar</goal>
+                        </goals>
+                        <phase>package</phase>
+                        <configuration>
+                            <rarSourceDirectory>${project.build.directory}/nojar</rarSourceDirectory>
+                            <workDirectory>${project.build.directory}/nojar</workDirectory>
+                            <overwrite>true</overwrite>
+                            <classifier>nojar</classifier>
+                            <archive>
+                                <manifestEntries>
+                                    <Extension-List>connectors-ra-redeploy-jars</Extension-List>
+                                    <connectors-ra-redeploy-jars-Extension-Name>connectors-ra-redeploy-jars.jar</connectors-ra-redeploy-jars-Extension-Name>
+                                </manifestEntries>
+                            </archive>
+                        </configuration>
+                    </execution>
+                </executions>
+            </plugin>
+        </plugins>
+    </build>
+</project>
diff --git a/appserver/tests/appserv-tests/connectors-ra-redeploy/rars/src/main/rar/META-INF/ra.xml b/appserver/tests/appserv-tests/connectors-ra-redeploy/rars/src/main/rar/META-INF/ra.xml
new file mode 100755
index 0000000..4bdf875
--- /dev/null
+++ b/appserver/tests/appserv-tests/connectors-ra-redeploy/rars/src/main/rar/META-INF/ra.xml
@@ -0,0 +1,190 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+
+    Copyright (c) 2017, 2018 Oracle and/or its affiliates. All rights reserved.
+    Copyright (c) 2022 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.
+
+    This Source Code may also be made available under the following Secondary
+    Licenses when the conditions for such availability set forth in the
+    Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
+    version 2 with the GNU Classpath Exception, which is available at
+    https://www.gnu.org/software/classpath/license.html.
+
+    SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
+
+-->
+
+<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/jakartaee_9.xsd
+       https://jakarta.ee/xml/ns/jakartaee/connector_2_0.xsd"
+    version="2.0"
+>
+    <description>Resource adapter wrapping Datasource implementation of driver</description>
+    <display-name>DataSource Resource Adapter</display-name>
+    <icon>
+        <small-icon></small-icon>
+        <large-icon></large-icon>
+    </icon>
+    <vendor-name>Sun Microsystems</vendor-name>
+    <eis-type>Database</eis-type>
+    <resourceadapter-version>1.0</resourceadapter-version>
+    <license>
+        <license-required>false</license-required>
+    </license>
+    <resourceadapter>
+        <resourceadapter-class>com.sun.jdbcra.spi.ResourceAdapter</resourceadapter-class>
+        <outbound-resourceadapter>
+            <connection-definition>
+                <managedconnectionfactory-class>com.sun.jdbcra.spi.DSManagedConnectionFactory</managedconnectionfactory-class>
+                <config-property>
+                    <config-property-name>ServerName</config-property-name>
+                    <config-property-type>java.lang.String</config-property-type>
+                    <config-property-value>localhost</config-property-value>
+                </config-property>
+                <config-property>
+                    <config-property-name>PortNumber</config-property-name>
+                    <config-property-type>java.lang.String</config-property-type>
+                    <config-property-value>1527</config-property-value>
+                </config-property>
+                <config-property>
+                    <config-property-name>User</config-property-name>
+                    <config-property-type>java.lang.String</config-property-type>
+                    <config-property-value>dbuser</config-property-value>
+                </config-property>
+                <config-property>
+                    <config-property-name>UserName</config-property-name>
+                    <config-property-type>java.lang.String</config-property-type>
+                    <config-property-value>dbuser</config-property-value>
+                </config-property>
+                <config-property>
+                    <config-property-name>Password</config-property-name>
+                    <config-property-type>java.lang.String</config-property-type>
+                    <config-property-value>dbpassword</config-property-value>
+                </config-property>
+                <config-property>
+                    <config-property-name>URL</config-property-name>
+                    <config-property-type>java.lang.String</config-property-type>
+                    <config-property-value>jdbc:derby://localhost:1527/testdb;create=true</config-property-value>
+                </config-property>
+                <config-property>
+                    <config-property-name>ConnectionAttributes</config-property-name>
+                    <config-property-type>java.lang.String</config-property-type>
+                    <config-property-value>;create=true</config-property-value>
+                </config-property>
+                <config-property>
+                    <config-property-name>DatabaseName</config-property-name>
+                    <config-property-type>java.lang.String</config-property-type>
+                    <config-property-value>testdb</config-property-value>
+                </config-property>
+                <config-property>
+                    <config-property-name>Description</config-property-name>
+                    <config-property-type>java.lang.String</config-property-type>
+                    <config-property-value>Oracle thin driver Datasource</config-property-value>
+                </config-property>
+                <config-property>
+                    <config-property-name>NetworkProtocol</config-property-name>
+                    <config-property-type>java.lang.String</config-property-type>
+                    <config-property-value></config-property-value>
+                </config-property>
+                <config-property>
+                    <config-property-name>RoleName</config-property-name>
+                    <config-property-type>java.lang.String</config-property-type>
+                    <config-property-value></config-property-value>
+                </config-property>
+                <config-property>
+                    <config-property-name>LoginTimeOut</config-property-name>
+                    <config-property-type>java.lang.String</config-property-type>
+                    <config-property-value>0</config-property-value>
+                </config-property>
+                <config-property>
+                    <config-property-name>DriverProperties</config-property-name>
+                    <config-property-type>java.lang.String</config-property-type>
+                    <config-property-value></config-property-value>
+                </config-property>
+                <config-property>
+                    <config-property-name>Delimiter</config-property-name>
+                    <config-property-type>java.lang.String</config-property-type>
+                    <config-property-value>#</config-property-value>
+                </config-property>
+                <config-property>
+                    <config-property-name>ClassName</config-property-name>
+                    <config-property-type>java.lang.String</config-property-type>
+                    <config-property-value>org.apache.derby.jdbc.ClientDataSource40</config-property-value>
+                </config-property>
+                <config-property>
+                    <config-property-name>ConnectionValidationRequired</config-property-name>
+                    <config-property-type>java.lang.String</config-property-type>
+                    <config-property-value>false</config-property-value>
+                </config-property>
+                <config-property>
+                    <config-property-name>ValidationMethod</config-property-name>
+                    <config-property-type>java.lang.String</config-property-type>
+                    <config-property-value></config-property-value>
+                </config-property>
+                <config-property>
+                    <config-property-name>ValidationTableName</config-property-name>
+                    <config-property-type>java.lang.String</config-property-type>
+                    <config-property-value></config-property-value>
+                </config-property>
+                <config-property>
+                    <config-property-name>TransactionIsolation</config-property-name>
+                    <config-property-type>java.lang.String</config-property-type>
+                    <config-property-value></config-property-value>
+                </config-property>
+                <config-property>
+                    <config-property-name>GuaranteeIsolationLevel</config-property-name>
+                    <config-property-type>java.lang.String</config-property-type>
+                    <config-property-value></config-property-value>
+                </config-property>
+
+                <connectionfactory-interface>javax.sql.DataSource</connectionfactory-interface>
+                <connectionfactory-impl-class>com.sun.jdbcra.spi.DataSource</connectionfactory-impl-class>
+
+                <connection-interface>java.sql.Connection</connection-interface>
+                <connection-impl-class>com.sun.jdbcra.spi.ConnectionHolder</connection-impl-class>
+            </connection-definition>
+
+            <transaction-support>LocalTransaction</transaction-support>
+
+            <authentication-mechanism>
+                <authentication-mechanism-type>BasicPassword</authentication-mechanism-type>
+                <credential-interface>jakarta.resource.spi.security.PasswordCredential</credential-interface>
+            </authentication-mechanism>
+
+            <reauthentication-support>false</reauthentication-support>
+        </outbound-resourceadapter>
+
+        <adminobject>
+            <adminobject-interface>com.sun.jdbcra.spi.JdbcSetupAdmin</adminobject-interface>
+            <adminobject-class>com.sun.jdbcra.spi.JdbcSetupAdminImpl</adminobject-class>
+            <config-property>
+                <config-property-name>TableName</config-property-name>
+                <config-property-type>java.lang.String</config-property-type>
+                <config-property-value></config-property-value>
+            </config-property>
+            <config-property>
+                <config-property-name>SchemaName</config-property-name>
+                <config-property-type>java.lang.String</config-property-type>
+                <config-property-value></config-property-value>
+            </config-property>
+            <config-property>
+                <config-property-name>JndiName</config-property-name>
+                <config-property-type>java.lang.String</config-property-type>
+                <config-property-value></config-property-value>
+            </config-property>
+            <config-property>
+                <config-property-name>NoOfRows</config-property-name>
+                <config-property-type>java.lang.Integer</config-property-type>
+                <config-property-value>0</config-property-value>
+            </config-property>
+        </adminobject>
+
+    </resourceadapter>
+
+</connector>
diff --git a/appserver/tests/appserv-tests/connectors-ra-redeploy/rars/src/test/java/org/glassfish/main/tests/connectors/ra/ResourceAdapterITest.java b/appserver/tests/appserv-tests/connectors-ra-redeploy/rars/src/test/java/org/glassfish/main/tests/connectors/ra/ResourceAdapterITest.java
new file mode 100644
index 0000000..72fae05
--- /dev/null
+++ b/appserver/tests/appserv-tests/connectors-ra-redeploy/rars/src/test/java/org/glassfish/main/tests/connectors/ra/ResourceAdapterITest.java
@@ -0,0 +1,35 @@
+/*
+ * Copyright (c) 2022 Eclipse Foundation and/or its affiliates. All rights reserved.
+ *
+ * This program and the accompanying materials are made available under the
+ * terms of the Eclipse Public License v. 2.0, which is available at
+ * http://www.eclipse.org/legal/epl-2.0.
+ *
+ * This Source Code may also be made available under the following Secondary
+ * Licenses when the conditions for such availability set forth in the
+ * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
+ * version 2 with the GNU Classpath Exception, which is available at
+ * 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.main.tests.connectors.ra;
+
+import com.sun.jdbcra.spi.ResourceAdapter;
+
+import org.junit.jupiter.api.Test;
+
+import static org.junit.jupiter.api.Assertions.assertEquals;
+
+/**
+ * @author David Matejcek
+ */
+public class ResourceAdapterITest {
+
+    @Test
+    public void testClassLoading() {
+        System.out.println(ResourceAdapter.class.getClassLoader());
+        assertEquals(1, ResourceAdapter.VERSION);
+    }
+}
diff --git a/appserver/tests/appserv-tests/devtests/cdi/javaee-integration/embedded-resource-adapter-as-bean-archive/ra/META-INF/ra.xml b/appserver/tests/appserv-tests/devtests/cdi/javaee-integration/embedded-resource-adapter-as-bean-archive/ra/META-INF/ra.xml
index 21deb93..f269940 100644
--- a/appserver/tests/appserv-tests/devtests/cdi/javaee-integration/embedded-resource-adapter-as-bean-archive/ra/META-INF/ra.xml
+++ b/appserver/tests/appserv-tests/devtests/cdi/javaee-integration/embedded-resource-adapter-as-bean-archive/ra/META-INF/ra.xml
@@ -2,6 +2,7 @@
 <!--
 
     Copyright (c) 2017, 2018 Oracle and/or its affiliates. All rights reserved.
+    Copyright (c) 2022 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
@@ -17,14 +18,13 @@
 
 -->
 
-<!--
-<!DOCTYPE connector PUBLIC '-//Sun Microsystems, Inc.//DTD Connector 1.5//EN' 'http://java.sun.com/dtd/connector_1_5.dtd'>
--->
-<connector xmlns="http://java.sun.com/xml/ns/j2ee"
-           xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-           xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee
-           http://java.sun.com/xml/ns/j2ee/connector_1_5.xsd"
-           version="1.5">
+<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/jakartaee_9.xsd
+       https://jakarta.ee/xml/ns/jakartaee/connector_2_0.xsd"
+    version="2.0"
+>
     <display-name>Simple Resource Adapter</display-name>
     <vendor-name>Java Software</vendor-name>
     <eis-type>Generic Type</eis-type>
diff --git a/appserver/tests/appserv-tests/devtests/cdi/javaee-integration/standalone-resource-adapter-as-bean-archive/ra/META-INF/ra.xml b/appserver/tests/appserv-tests/devtests/cdi/javaee-integration/standalone-resource-adapter-as-bean-archive/ra/META-INF/ra.xml
index 21deb93..f269940 100644
--- a/appserver/tests/appserv-tests/devtests/cdi/javaee-integration/standalone-resource-adapter-as-bean-archive/ra/META-INF/ra.xml
+++ b/appserver/tests/appserv-tests/devtests/cdi/javaee-integration/standalone-resource-adapter-as-bean-archive/ra/META-INF/ra.xml
@@ -2,6 +2,7 @@
 <!--
 
     Copyright (c) 2017, 2018 Oracle and/or its affiliates. All rights reserved.
+    Copyright (c) 2022 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
@@ -17,14 +18,13 @@
 
 -->
 
-<!--
-<!DOCTYPE connector PUBLIC '-//Sun Microsystems, Inc.//DTD Connector 1.5//EN' 'http://java.sun.com/dtd/connector_1_5.dtd'>
--->
-<connector xmlns="http://java.sun.com/xml/ns/j2ee"
-           xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-           xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee
-           http://java.sun.com/xml/ns/j2ee/connector_1_5.xsd"
-           version="1.5">
+<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/jakartaee_9.xsd
+       https://jakarta.ee/xml/ns/jakartaee/connector_2_0.xsd"
+    version="2.0"
+>
     <display-name>Simple Resource Adapter</display-name>
     <vendor-name>Java Software</vendor-name>
     <eis-type>Generic Type</eis-type>
diff --git a/appserver/tests/appserv-tests/devtests/connector/SunRaXml/cci-embedded/build.properties b/appserver/tests/appserv-tests/devtests/connector/SunRaXml/cci-embedded/build.properties
index 814b7dd..4219361 100755
--- a/appserver/tests/appserv-tests/devtests/connector/SunRaXml/cci-embedded/build.properties
+++ b/appserver/tests/appserv-tests/devtests/connector/SunRaXml/cci-embedded/build.properties
@@ -19,7 +19,6 @@
 
 <property name="module" value="connector"/>
 <property name="app.type" value="application"/>
-<property name="cciblackbox.path" value="../lib/cciblackbox-tx.jar"/>
 <property name="appname" value="${module}-embedded-cci"/>
 <property name="application.xml" value="descriptor/application.xml"/>
 <property name="ejb-jar.xml" value="descriptor/ejb-jar.xml"/>
diff --git a/appserver/tests/appserv-tests/devtests/connector/SunRaXml/cci-embedded/build.xml b/appserver/tests/appserv-tests/devtests/connector/SunRaXml/cci-embedded/build.xml
index d8bb024..ad8f743 100755
--- a/appserver/tests/appserv-tests/devtests/connector/SunRaXml/cci-embedded/build.xml
+++ b/appserver/tests/appserv-tests/devtests/connector/SunRaXml/cci-embedded/build.xml
@@ -33,234 +33,219 @@
    &run;
 
     <target name="all" depends="build,setup,deploy,run,undeploy,unsetup"/>
-    <target name="run-test" depends="build,deploy,run,undeploy"/>
+  <target name="run-test" depends="build,deploy,run,undeploy"/>
 
-    <target name="clean" depends="init-common">
-        <delete dir="${build.classes.dir}"/>
-        <delete dir="${assemble.dir}"/>
-        <delete dir="${assemble.dir}/rar"/>
-        <delete file="${assemble.dir}/${rarname}.rar"/>
-        <antcall target="create-dboutfile"/>
-    </target>
+  <target name="clean" depends="init-common">
+    <delete dir="${build.classes.dir}"/>
+    <delete dir="${assemble.dir}"/>
+    <delete dir="${assemble.dir}/rar"/>
+    <delete file="${assemble.dir}/${rarname}.rar"/>
+    <antcall target="create-dboutfile"/>
+  </target>
 
-    <target name="compile" depends="clean">
-        <antcall target="compile-cci">
-            <param name="src" value="ejb"/>
-        </antcall>
-        <antcall target="compile-cci">
-            <param name="src" value="client"/>
-        </antcall>
-    </target>
+  <target name="compile" depends="clean">
+    <antcall target="compile-cci">
+      <param name="src" value="ejb"/>
+    </antcall>
+    <antcall target="compile-cci">
+      <param name="src" value="client"/>
+    </antcall>
+  </target>
 
-    <target name="create-pool">
-                <antcall target="create-connector-connpool-common">
-                <param name="ra.name" value="connector-embedded-cciApp#cciblackbox-${tx.mode}"/>
-                <param name="connection.defname" value="jakarta.resource.cci.ConnectionFactory"/>
-                <param name="connector.conpool.name" value="EMBEDDED-CCI-CONNPOOL"/>
-                </antcall>
-    </target>
+  <target name="create-pool">
+    <antcall target="create-connector-connpool-common">
+      <param name="ra.name" value="connector-embedded-cciApp#cciblackbox-${tx.mode}"/>
+      <param name="connection.defname" value="jakarta.resource.cci.ConnectionFactory"/>
+      <param name="connector.conpool.name" value="EMBEDDED-CCI-CONNPOOL"/>
+    </antcall>
+  </target>
 
-    <target name="create-resource">
-                <antcall target="create-connector-resource-common">
-                <param name="connector.conpool.name" value="EMBEDDED-CCI-CONNPOOL"/>
-                <param name="connector.jndi.name" value="eis/EMBEDDEDCCIEIS"/>
-                </antcall>
-     </target>
+  <target name="create-resource">
+    <antcall target="create-connector-resource-common">
+      <param name="connector.conpool.name" value="EMBEDDED-CCI-CONNPOOL"/>
+      <param name="connector.jndi.name" value="eis/EMBEDDEDCCIEIS"/>
+    </antcall>
+  </target>
 
-    <target name="delete-pool">
-                <antcall target="delete-connector-connpool-common">
-                <param name="connector.conpool.name" value="EMBEDDED-CCI-CONNPOOL"/>
-                </antcall>
-     </target>
+  <target name="delete-pool">
+    <antcall target="delete-connector-connpool-common">
+      <param name="connector.conpool.name" value="EMBEDDED-CCI-CONNPOOL"/>
+    </antcall>
+  </target>
 
-     <target name="delete-resource">
-                <antcall target="delete-connector-resource-common">
-                <param name="connector.jndi.name" value="eis/EMBEDDEDCCIEIS"/>
-                </antcall>
-     </target>
+  <target name="delete-resource">
+    <antcall target="delete-connector-resource-common">
+      <param name="connector.jndi.name" value="eis/EMBEDDEDCCIEIS"/>
+    </antcall>
+  </target>
 
-    <!--
+  <!--
         Custom target for compilation with local libraries for connector
     -->
-    <target name="compile-cci" depends="init-common">
-      <mkdir dir="${build.classes.dir}"/>
-      <javac srcdir="${src}"
+  <target name="compile-cci" depends="init-common">
+    <mkdir dir="${build.classes.dir}"/>
+    <javac srcdir="${src}"
         destdir="${build.classes.dir}"
-        classpath="${s1astest.classpath}:${cciblackbox.path}"
+        classpath="${s1astest.classpath}:${bundles.dir}/cciblackbox-tx.jar"
         failonerror="true"/>
-    </target>
+  </target>
 
-    <target name="create-pb-proc" depends="init-common">
-        <jar destfile="${assemble.dir}/cci-pb-proc.jar" update="true"
+  <target name="create-pb-proc" depends="init-common">
+    <jar destfile="${assemble.dir}/cci-pb-proc.jar" update="true"
             includes="${build.classes.dir}/**/SampleExternalMethods.class"/>
-    </target>
+  </target>
 
-    <target name="build">
-                <antcall target="build-embedded-ear"/>
-    </target>
+  <target name="build">
+    <antcall target="build-embedded-ear"/>
+  </target>
 
-    <target name="package-embedded-ejb">
-        <antcall target="package-ejbjar-common">
-                <param name="ejb-jar.xml" value="descriptor/ejb-jar.xml"/>
-                <param name="sun-ejb-jar.xml" value="descriptor/sun-ejb-jar.xml"/>
-                <param name="ejbjar.classes" value="**/*Local*.class, **/*Remote*.class, **/*Bean*.class" />
-                <param name="ejbjar.files" value="${build.classes.dir}"/>
-                <param name="ejb.jar" value="${assemble.dir}/cci-embedded-ejb.jar"/>
-        </antcall>
-    </target>
-
-    <target name="package-embedded-client">
-        <antcall target="package-appclientjar-common">
-                <param name="application-client.xml" value="descriptor/application-client.xml"/>
-                <param name="sun-application-client.xml" value="descriptor/sun-application-client.xml"/>
-                <param name="appclientjar.classes" value="**/*Local*.class,**/*Remote*.class,**/*Home*.class,**/*Client*.class"/>
-                <param name="appclientjar.files" value="${build.classes.dir}"/>
-                <param name="appclient.jar" value="${assemble.dir}/cci-embedded-client.jar"/>
-        </antcall>
-    </target>
-
-    <target name="build-embedded-ear" depends="compile">
-                <delete file="${assemble.dir}/connector-embeddedApp.ear"/>
-                <mkdir dir="${assemble.dir}"/>
-                <copy file="descriptor/application.xml" tofile="${assemble.dir}/application.xml"/>
-                <mkdir dir="${build.classes.dir}/META-INF"/>
-                <antcall target="package-embedded-ejb"/>
-                <antcall target="package-embedded-client"/>
-                <antcall target="package-rar"/>
-                <ear earfile="${assemble.dir}/${appname}App.ear"
-                        appxml="${assemble.dir}/application.xml">
-                <fileset dir="${assemble.dir}">
-                <include name="cci-embedded-ejb.jar"/>
-                <include name="cciblackbox-tx.rar"/>
-                <include name="cci-embedded-client.jar"/>
-                </fileset>
-                <fileset dir="${env.APS_HOME}/lib" includes="reporter.jar"/>
-                </ear>
-    </target>
-
-    <target name="deploy" depends="init-common">
-                <antcall target="deploy-common"/>
-                <!--
-                <antcall target="create-pool">
-                        <param name="tx.mode" value="tx"/>
-                </antcall>
-                <antcall target="create-resource">
-                        <param name="tx.mode" value="tx"/>
-                </antcall>
-                -->
-    </target>
-
-    <target name="undeploy">
-                <!--
-                <antcall target="delete-resource"/>
-                <antcall target="delete-pool"/>
-                -->
-                <antcall target="undeploy-common"/>
-    </target>
-
-
-    <target name="run" depends="init-common">
-    <antcall target="runclient-common">
-        <param name="appclient.application.args" value="Embedded"/>
+  <target name="package-embedded-ejb">
+    <antcall target="package-ejbjar-common">
+      <param name="ejb-jar.xml" value="descriptor/ejb-jar.xml"/>
+      <param name="sun-ejb-jar.xml" value="descriptor/sun-ejb-jar.xml"/>
+      <param name="ejbjar.classes" value="**/*Local*.class, **/*Remote*.class, **/*Bean*.class" />
+      <param name="ejbjar.files" value="${build.classes.dir}"/>
+      <param name="ejb.jar" value="${assemble.dir}/cci-embedded-ejb.jar"/>
     </antcall>
-    </target>
+  </target>
 
-    <target name="usage">
-        <antcall target="usage-common"/>
-    </target>
-
-<!-- ================================================================ -->
-<!-- Target to create the appclient jar file with custom classes-->
-<!-- ================================================================ -->
-<target name="appclient-jar" depends="init-common">
-       <property name="appclientjar.classes" value="**/*Local*.class,**/*Remote*.class,**/*Home*.class,**/*Client*.class"/>
+  <target name="package-embedded-client">
     <antcall target="package-appclientjar-common">
-       <param name="appclientjar.files"
-            value="${build.classes.dir}"/>
-        <param name="appclient.jar"
-            value="${assemble.dir}/${appname}-client.jar"/>
+      <param name="application-client.xml" value="descriptor/application-client.xml"/>
+      <param name="sun-application-client.xml" value="descriptor/sun-application-client.xml"/>
+      <param name="appclientjar.classes" value="**/*Local*.class,**/*Remote*.class,**/*Home*.class,**/*Client*.class"/>
+      <param name="appclientjar.files" value="${build.classes.dir}"/>
+      <param name="appclient.jar" value="${assemble.dir}/cci-embedded-client.jar"/>
     </antcall>
-</target>
+  </target>
 
-<!-- ======================================================= -->
-<!--                  JVM options                            -->
-<!-- ======================================================= -->
+  <target name="build-embedded-ear" depends="compile">
+    <delete file="${assemble.dir}/connector-embeddedApp.ear"/>
+    <mkdir dir="${assemble.dir}"/>
+    <copy file="descriptor/application.xml" tofile="${assemble.dir}/application.xml"/>
+    <mkdir dir="${build.classes.dir}/META-INF"/>
+    <antcall target="package-embedded-ejb"/>
+    <antcall target="package-embedded-client"/>
+    <antcall target="package-rar"/>
+    <ear earfile="${assemble.dir}/${appname}App.ear" appxml="${assemble.dir}/application.xml">
+      <fileset dir="${assemble.dir}">
+        <include name="cci-embedded-ejb.jar"/>
+        <include name="cciblackbox-tx.rar"/>
+        <include name="cci-embedded-client.jar"/>
+      </fileset>
+      <fileset dir="${env.APS_HOME}/lib" includes="reporter.jar"/>
+    </ear>
+  </target>
 
-<target name="create-JVM-options">
-      <exec executable="${ASADMIN}" failonerror="false">
-        <arg line="create-jvm-options"/>
-        <arg line="--user ${admin.user}"/>
-        <arg line="--passwordfile ${env.APS_HOME}/devtests/connector/config/password.txt"/>
-        <arg line="--host ${admin.host}"/>
-        <arg line="--port ${admin.port}"/>
-        <arg line=":-Djdbc.drivers=${jdbc.drivers}"/>
-      </exec>
-</target>
+  <target name="deploy" depends="init-common">
+    <antcall target="deploy-common"/>
+  </target>
 
-<target name="delete-JVM-options">
-      <exec executable="${ASADMIN}" failonerror="false">
-        <arg line="delete-jvm-options"/>
-        <arg line="--user ${admin.user}"/>
-        <arg line="--passwordfile ${env.APS_HOME}/devtests/connector/config/password.txt"/>
-        <arg line="--host ${admin.host}"/>
-        <arg line="--port ${admin.port}"/>
-        <arg line=":-Djdbc.drivers=${jdbc.drivers}"/>
-      </exec>
-</target>
+  <target name="undeploy">
+    <antcall target="undeploy-common"/>
+  </target>
 
-<target name="create-rar">
-        <copy file="descriptor/ra.xml" tofile="${assemble.dir}/rar/META-INF/ra.xml"/>
-        <copy file="descriptor/sun-ra.xml" tofile="${assemble.dir}/rar/META-INF/sun-ra.xml"/>
-        <copy file="${env.APS_HOME}/sqetests/connector/lib/cciblackbox-tx.jar" tofile="${assemble.dir}/rar/cciblackbox-tx.jar"/>
-        <replace file="${assemble.dir}/rar/META-INF/ra.xml" token="DBURL" value="${db.url}"/>
-</target>
 
-<target name="package-rar" depends="init-common">
+  <target name="run" depends="init-common">
+    <antcall target="runclient-common">
+      <param name="appclient.application.args" value="Embedded"/>
+    </antcall>
+  </target>
+
+  <target name="usage">
+    <antcall target="usage-common"/>
+  </target>
+
+  <!-- ================================================================ -->
+  <!-- Target to create the appclient jar file with custom classes-->
+  <!-- ================================================================ -->
+  <target name="appclient-jar" depends="init-common">
+    <property name="appclientjar.classes" value="**/*Local*.class,**/*Remote*.class,**/*Home*.class,**/*Client*.class"/>
+    <antcall target="package-appclientjar-common">
+      <param name="appclientjar.files" value="${build.classes.dir}"/>
+      <param name="appclient.jar" value="${assemble.dir}/${appname}-client.jar"/>
+    </antcall>
+  </target>
+
+  <!-- ======================================================= -->
+  <!--                  JVM options                            -->
+  <!-- ======================================================= -->
+
+  <target name="create-JVM-options">
+    <exec executable="${ASADMIN}" failonerror="false">
+      <arg line="create-jvm-options"/>
+      <arg line="--user ${admin.user}"/>
+      <arg line="--passwordfile ${env.APS_HOME}/devtests/connector/config/password.txt"/>
+      <arg line="--host ${admin.host}"/>
+      <arg line="--port ${admin.port}"/>
+      <arg line=":-Djdbc.drivers=${jdbc.drivers}"/>
+    </exec>
+  </target>
+
+  <target name="delete-JVM-options">
+    <exec executable="${ASADMIN}" failonerror="false">
+      <arg line="delete-jvm-options"/>
+      <arg line="--user ${admin.user}"/>
+      <arg line="--passwordfile ${env.APS_HOME}/devtests/connector/config/password.txt"/>
+      <arg line="--host ${admin.host}"/>
+      <arg line="--port ${admin.port}"/>
+      <arg line=":-Djdbc.drivers=${jdbc.drivers}"/>
+    </exec>
+  </target>
+
+  <target name="create-rar">
+    <copy file="descriptor/ra.xml" tofile="${assemble.dir}/rar/META-INF/ra.xml"/>
+    <copy file="descriptor/sun-ra.xml" tofile="${assemble.dir}/rar/META-INF/sun-ra.xml"/>
+    <copy file="${bundles.dir}/cciblackbox-tx.jar" tofile="${assemble.dir}/rar/cciblackbox-tx.jar"/>
+    <replace file="${assemble.dir}/rar/META-INF/ra.xml" token="DBURL" value="${db.url}"/>
+  </target>
+
+  <target name="package-rar" depends="init-common">
     <mkdir dir="${assemble.dir}/rar"/>
     <mkdir dir="${assemble.dir}/rar/META-INF"/>
     <antcall target="create-rar"/>
     <jar destfile="${assemble.dir}/${rarname}.rar" update="true">
-        <fileset dir="${assemble.dir}/rar">
-        </fileset>
-        <metainf dir="${assemble.dir}/rar/META-INF">
-        </metainf>
+      <fileset dir="${assemble.dir}/rar">
+      </fileset>
+      <metainf dir="${assemble.dir}/rar/META-INF">
+      </metainf>
     </jar>
-</target>
+  </target>
 
 
-<!-- db setup -->
-<target name="create-sql">
-        <antcall target="execute-sql-common">
-                <param name="sql.file" value="sql/cci-pb.sql"/>
-        </antcall>
-</target>
+  <!-- db setup -->
+  <target name="create-sql">
+    <antcall target="execute-sql-common">
+      <param name="sql.file" value="sql/cci-pb.sql"/>
+    </antcall>
+  </target>
 
-<target name="drop-sql">
-        <antcall target="execute-sql-common">
-                <param name="sql.file" value="sql/cci-pb-drop.sql"/>
-        </antcall>
-</target>
+  <target name="drop-sql">
+    <antcall target="execute-sql-common">
+      <param name="sql.file" value="sql/cci-pb-drop.sql"/>
+    </antcall>
+  </target>
 
-<!-- Set classpath-suffix for pointbase -->
+  <!-- Set classpath-suffix for pointbase -->
 
 
-<!-- setup -->
-<target name="setup" depends="init-common">
-        <antcall target="drop-sql"/>
-        <antcall target="create-sql"/>
-</target>
+  <!-- setup -->
+  <target name="setup" depends="init-common">
+    <antcall target="drop-sql"/>
+    <antcall target="create-sql"/>
+  </target>
 
-<!-- unsetup -->
-<target name="unsetup" depends="init-common">
-        <antcall target="drop-sql"/>
-</target>
+  <!-- unsetup -->
+  <target name="unsetup" depends="init-common">
+    <antcall target="drop-sql"/>
+  </target>
 
-<target name="create-dboutfile" depends="init-common">
-        <mkdir dir="${build.classes.dir}"/>
-        <exec executable="touch">
-           <arg line="${build.classes.dir}/setupDBTables.out"/>
-        </exec>
-</target>
+  <target name="create-dboutfile" depends="init-common">
+    <mkdir dir="${build.classes.dir}"/>
+    <exec executable="touch">
+      <arg line="${build.classes.dir}/setupDBTables.out"/>
+    </exec>
+  </target>
 
 
 </project>
diff --git a/appserver/tests/appserv-tests/devtests/connector/SunRaXml/cci/build.properties b/appserver/tests/appserv-tests/devtests/connector/SunRaXml/cci/build.properties
index 95cae5f..62ec752 100755
--- a/appserver/tests/appserv-tests/devtests/connector/SunRaXml/cci/build.properties
+++ b/appserver/tests/appserv-tests/devtests/connector/SunRaXml/cci/build.properties
@@ -19,7 +19,6 @@
 
 <property name="module" value="connector"/>
 <property name="app.type" value="application"/>
-<property name="cciblackbox.path" value="../lib/cciblackbox-tx.jar"/>
 <property name="appname" value="connector-cci"/>
 <property name="application.xml" value="descriptor/application.xml"/>
 <property name="ejb-jar.xml" value="descriptor/ejb-jar.xml"/>
diff --git a/appserver/tests/appserv-tests/devtests/connector/SunRaXml/cci/build.xml b/appserver/tests/appserv-tests/devtests/connector/SunRaXml/cci/build.xml
index 889f95d..004800a 100755
--- a/appserver/tests/appserv-tests/devtests/connector/SunRaXml/cci/build.xml
+++ b/appserver/tests/appserv-tests/devtests/connector/SunRaXml/cci/build.xml
@@ -33,237 +33,224 @@
 &run;
 
 <target name="all" depends="build,setup,deploy,run,undeploy,unsetup"/>
-<target name="run-dp-test" depends="build,setup,deploy-dp,run,undeploy-dp,unsetup"/>
-<target name="run-test" depends="build,deploy,run,undeploy"/>
+  <target name="run-dp-test" depends="build,setup,deploy-dp,run,undeploy-dp,unsetup"/>
+  <target name="run-test" depends="build,deploy,run,undeploy"/>
 
-<target name="clean" depends="init-common">
+  <target name="clean" depends="init-common">
     <delete dir="${build.classes.dir}"/>
     <delete dir="${assemble.dir}"/>
     <delete dir="${assemble.dir}/rar"/>
     <delete file="${assemble.dir}/${rarname}.rar"/>
     <antcall target="create-dboutfile"/>
-</target>
+  </target>
 
-<target name="compile" depends="clean">
+  <target name="compile" depends="clean">
     <antcall target="compile-cci">
-        <param name="src" value="ejb"/>
+      <param name="src" value="ejb"/>
     </antcall>
     <antcall target="compile-cci">
-        <param name="src" value="client"/>
+      <param name="src" value="client"/>
     </antcall>
-</target>
+  </target>
 
 
 <!--
 Custom target for compilation with local libraries for connector
 -->
-<target name="compile-cci" depends="init-common">
+  <target name="compile-cci" depends="init-common">
     <mkdir dir="${build.classes.dir}"/>
     <javac srcdir="${src}"
         destdir="${build.classes.dir}"
-        classpath="${s1astest.classpath}:${cciblackbox.path}"
+        classpath="${s1astest.classpath}:${bundles.dir}/cciblackbox-tx.jar"
         failonerror="true"/>
-</target>
+  </target>
 
-<target name="create-pb-proc" depends="init-common">
+  <target name="create-pb-proc" depends="init-common">
     <jar destfile="${assemble.dir}/cci-pb-proc.jar" update="true"
         includes="${build.classes.dir}/**/SampleExternalMethods.class"/>
-</target>
+  </target>
 
-<target name="build" depends="compile">
+  <target name="build" depends="compile">
     <antcall target="build-ear-common">
-        <param name="ejbjar.classes"
+      <param name="ejbjar.classes"
             value="**/*Local*.class, **/*Remote*.class, **/*Bean*.class"/>
-        <param name="appclientjar.classes"
+      <param name="appclientjar.classes"
             value="**/*Local*.class,**/*Remote*.class,**/*Home*.class,**/*Client*.class"/>
     </antcall>
-</target>
+  </target>
 
-<target name="deploy" depends="init-common">
+  <target name="deploy" depends="init-common">
     <antcall target="package-rar"/>
     <antcall target="deploy-rar">
-        <param name="tx.mode" value="tx"/>
+      <param name="tx.mode" value="tx"/>
     </antcall>
-<!--    <antcall target="create-pool">
-        <param name="tx.mode" value="tx"/>
-    </antcall>
-    <antcall target="create-resource">
-        <param name="tx.mode" value="tx"/>
-    </antcall>
--->
     <antcall target="deploy-common"/>
-</target>
+  </target>
 
-<target name="deploy-dp" depends="init-common">
+  <target name="deploy-dp" depends="init-common">
     <antcall target="create-pool">
-        <param name="tx.mode" value="tx"/>
+      <param name="tx.mode" value="tx"/>
     </antcall>
     <antcall target="create-resource">
-        <param name="tx.mode" value="tx"/>
+      <param name="tx.mode" value="tx"/>
     </antcall>
     <antcall target="deploy-common"/>
-</target>
+  </target>
 
-<target name="undeploy">
-<!--
-    <antcall target="delete-resource"/>
-    <antcall target="delete-pool"/>
--->
+  <target name="undeploy">
     <antcall target="undeploy-rar"/>
     <antcall target="undeploy-common"/>
-</target>
+  </target>
 
-<target name="undeploy-dp">
+  <target name="undeploy-dp">
     <antcall target="delete-resource"/>
     <antcall target="delete-pool"/>
     <antcall target="undeploy-common"/>
-</target>
+  </target>
 
-<target name="run" depends="init-common">
+  <target name="run" depends="init-common">
     <antcall target="runclient-common">
-        <param name="appclient.application.args" value="standalone"/>
+      <param name="appclient.application.args" value="standalone"/>
     </antcall>
-</target>
+  </target>
 
-<!-- setup -->
-<target name="setup" depends="init-common, build">
+  <!-- setup -->
+  <target name="setup" depends="init-common, build">
     <antcall target="drop-sql"/>
     <antcall target="create-sql"/>
-</target>
+  </target>
 
-<!-- unsetup -->
-<target name="unsetup" depends="init-common">
+  <!-- unsetup -->
+  <target name="unsetup" depends="init-common">
     <antcall target="drop-sql"/>
-</target>
+  </target>
 
-<target name="create-pool">
+  <target name="create-pool">
     <antcall target="create-connector-connpool-common">
-        <param name="ra.name" value="cciblackbox-${tx.mode}"/>
-        <param name="connection.defname"
+      <param name="ra.name" value="cciblackbox-${tx.mode}"/>
+      <param name="connection.defname"
             value="jakarta.resource.cci.ConnectionFactory"/>
-        <param name="connector.conpool.name" value="CCI-CONNPOOL"/>
+      <param name="connector.conpool.name" value="CCI-CONNPOOL"/>
     </antcall>
-</target>
+  </target>
 
-<target name="create-resource">
+  <target name="create-resource">
     <antcall target="create-connector-resource-common">
-        <param name="connector.conpool.name" value="CCI-CONNPOOL"/>
-        <param name="connector.jndi.name" value="eis/CCIEIS"/>
+      <param name="connector.conpool.name" value="CCI-CONNPOOL"/>
+      <param name="connector.jndi.name" value="eis/CCIEIS"/>
     </antcall>
-</target>
+  </target>
 
-<target name="delete-pool">
+  <target name="delete-pool">
     <antcall target="delete-connector-connpool-common">
-        <param name="connector.conpool.name" value="CCI-CONNPOOL"/>
+      <param name="connector.conpool.name" value="CCI-CONNPOOL"/>
     </antcall>
-</target>
+  </target>
 
-<target name="delete-resource">
+  <target name="delete-resource">
     <antcall target="delete-connector-resource-common">
-        <param name="connector.jndi.name" value="eis/CCIEIS"/>
+      <param name="connector.jndi.name" value="eis/CCIEIS"/>
     </antcall>
-</target>
+  </target>
 
-<target name="deploy-rar">
+  <target name="deploy-rar">
     <antcall target="deploy-rar-common">
-        <param name="rarfile"
-            value="${assemble.dir}/${rarname}.rar" />
+      <param name="rarfile" value="${assemble.dir}/${rarname}.rar" />
     </antcall>
-</target>
+  </target>
 
-<target name="undeploy-rar">
+  <target name="undeploy-rar">
     <antcall target="undeploy-rar-common">
-        <param name="undeployrar"
-            value="cciblackbox-tx" />
+      <param name="undeployrar" value="cciblackbox-tx" />
     </antcall>
-</target>
+  </target>
 
 
-<!-- create the appclient jar file with custom classes-->
-<target name="appclient-jar" depends="init-common">
+  <!-- create the appclient jar file with custom classes-->
+  <target name="appclient-jar" depends="init-common">
     <property name="appclientjar.classes"
         value="**/*Local*.class,**/*Remote*.class,**/*Home*.class,**/*Client*.class"/>
     <antcall target="package-appclientjar-common">
-        <param name="appclientjar.files"
+      <param name="appclientjar.files"
             value="${build.classes.dir}"/>
-        <param name="appclient.jar"
+      <param name="appclient.jar"
             value="${assemble.dir}/${appname}-client.jar"/>
     </antcall>
-</target>
+  </target>
 
-<!-- create/delete JVM options -->
-<target name="create-JVM-options">
+  <!-- create/delete JVM options -->
+  <target name="create-JVM-options">
     <exec executable="${ASADMIN}" failonerror="false">
-        <arg line="create-jvm-options"/>
-        <arg line="--user ${admin.user}"/>
-        <arg line="--passwordfile ${env.APS_HOME}/devtests/connector/config/password.txt"/>
-        <arg line="--host ${admin.host}"/>
-        <arg line="--port ${admin.port}"/>
-        <arg line=":-Djdbc.drivers=${jdbc.drivers}"/>
+      <arg line="create-jvm-options"/>
+      <arg line="--user ${admin.user}"/>
+      <arg line="--passwordfile ${env.APS_HOME}/devtests/connector/config/password.txt"/>
+      <arg line="--host ${admin.host}"/>
+      <arg line="--port ${admin.port}"/>
+      <arg line=":-Djdbc.drivers=${jdbc.drivers}"/>
     </exec>
-</target>
+  </target>
 
-<target name="delete-JVM-options">
+  <target name="delete-JVM-options">
     <exec executable="${ASADMIN}" failonerror="false">
-        <arg line="delete-jvm-options"/>
-        <arg line="--user ${admin.user}"/>
-        <arg line="--passwordfile ${env.APS_HOME}/devtests/connector/config/password.txt"/>
-        <arg line="--host ${admin.host}"/>
-        <arg line="--port ${admin.port}"/>
-        <arg line=":-Djdbc.drivers=${jdbc.drivers}"/>
+      <arg line="delete-jvm-options"/>
+      <arg line="--user ${admin.user}"/>
+      <arg line="--passwordfile ${env.APS_HOME}/devtests/connector/config/password.txt"/>
+      <arg line="--host ${admin.host}"/>
+      <arg line="--port ${admin.port}"/>
+      <arg line=":-Djdbc.drivers=${jdbc.drivers}"/>
     </exec>
-</target>
+  </target>
 
-<target name="create-rar">
+  <target name="create-rar">
     <copy file="descriptor/ra.xml"
         tofile="${assemble.dir}/rar/META-INF/ra.xml"/>
     <copy file="descriptor/sun-ra.xml"
         tofile="${assemble.dir}/rar/META-INF/sun-ra.xml"/>
-    <copy file="${env.APS_HOME}/sqetests/connector/lib/cciblackbox-tx.jar"
+    <copy file="${bundles.dir}/cciblackbox-tx.jar"
         tofile="${assemble.dir}/rar/cciblackbox-tx.jar"/>
     <replace file="${assemble.dir}/rar/META-INF/ra.xml"
         token="DBURL" value="${db.url}"/>
-</target>
+  </target>
 
-<target name="package-rar" depends="init-common">
+  <target name="package-rar" depends="init-common">
     <mkdir dir="${assemble.dir}/rar"/>
     <mkdir dir="${assemble.dir}/rar/META-INF"/>
     <antcall target="create-rar"/>
     <jar destfile="${assemble.dir}/${rarname}.rar" update="true">
-        <fileset dir="${assemble.dir}/rar">
-        </fileset>
-        <metainf dir="${assemble.dir}/rar/META-INF">
-        </metainf>
+      <fileset dir="${assemble.dir}/rar">
+      </fileset>
+      <metainf dir="${assemble.dir}/rar/META-INF">
+      </metainf>
     </jar>
-</target>
+  </target>
 
 
 
 
-<!-- Set classpath-suffix for pointbase -->
+  <!-- Set classpath-suffix for pointbase -->
 
-<target name="create-dboutfile" depends="init-common">
+  <target name="create-dboutfile" depends="init-common">
     <mkdir dir="${build.classes.dir}"/>
     <exec executable="touch">
-        <arg line="${build.classes.dir}/setupDBTables.out"/>
+      <arg line="${build.classes.dir}/setupDBTables.out"/>
     </exec>
-</target>
+  </target>
 
-<!-- db setup -->
-<target name="create-sql" depends="init-common">
+  <!-- db setup -->
+  <target name="create-sql" depends="init-common">
     <antcall target="execute-sql-common">
-        <param name="sql.file" value="sql/cci-pb.sql"/>
+      <param name="sql.file" value="sql/cci-pb.sql"/>
     </antcall>
-</target>
+  </target>
 
-<target name="drop-sql" depends="init-common">
+  <target name="drop-sql" depends="init-common">
     <antcall target="execute-sql-common">
-        <param name="sql.file" value="sql/cci-pb-drop.sql"/>
+      <param name="sql.file" value="sql/cci-pb-drop.sql"/>
     </antcall>
-</target>
+  </target>
 
-<target name="usage">
+  <target name="usage">
     <antcall target="usage-common"/>
-</target>
+  </target>
 
 </project>
diff --git a/appserver/tests/appserv-tests/devtests/connector/connector1.5-resourcesxml-module-scope/ra/META-INF/ra.xml b/appserver/tests/appserv-tests/devtests/connector/connector1.5-resourcesxml-module-scope/ra/META-INF/ra.xml
index 21deb93..f269940 100755
--- a/appserver/tests/appserv-tests/devtests/connector/connector1.5-resourcesxml-module-scope/ra/META-INF/ra.xml
+++ b/appserver/tests/appserv-tests/devtests/connector/connector1.5-resourcesxml-module-scope/ra/META-INF/ra.xml
@@ -2,6 +2,7 @@
 <!--
 
     Copyright (c) 2017, 2018 Oracle and/or its affiliates. All rights reserved.
+    Copyright (c) 2022 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
@@ -17,14 +18,13 @@
 
 -->
 
-<!--
-<!DOCTYPE connector PUBLIC '-//Sun Microsystems, Inc.//DTD Connector 1.5//EN' 'http://java.sun.com/dtd/connector_1_5.dtd'>
--->
-<connector xmlns="http://java.sun.com/xml/ns/j2ee"
-           xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-           xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee
-           http://java.sun.com/xml/ns/j2ee/connector_1_5.xsd"
-           version="1.5">
+<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/jakartaee_9.xsd
+       https://jakarta.ee/xml/ns/jakartaee/connector_2_0.xsd"
+    version="2.0"
+>
     <display-name>Simple Resource Adapter</display-name>
     <vendor-name>Java Software</vendor-name>
     <eis-type>Generic Type</eis-type>
diff --git a/appserver/tests/appserv-tests/devtests/connector/connector1.5-resourcesxml/ra/META-INF/ra.xml b/appserver/tests/appserv-tests/devtests/connector/connector1.5-resourcesxml/ra/META-INF/ra.xml
index 21deb93..f269940 100644
--- a/appserver/tests/appserv-tests/devtests/connector/connector1.5-resourcesxml/ra/META-INF/ra.xml
+++ b/appserver/tests/appserv-tests/devtests/connector/connector1.5-resourcesxml/ra/META-INF/ra.xml
@@ -2,6 +2,7 @@
 <!--
 
     Copyright (c) 2017, 2018 Oracle and/or its affiliates. All rights reserved.
+    Copyright (c) 2022 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
@@ -17,14 +18,13 @@
 
 -->
 
-<!--
-<!DOCTYPE connector PUBLIC '-//Sun Microsystems, Inc.//DTD Connector 1.5//EN' 'http://java.sun.com/dtd/connector_1_5.dtd'>
--->
-<connector xmlns="http://java.sun.com/xml/ns/j2ee"
-           xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-           xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee
-           http://java.sun.com/xml/ns/j2ee/connector_1_5.xsd"
-           version="1.5">
+<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/jakartaee_9.xsd
+       https://jakarta.ee/xml/ns/jakartaee/connector_2_0.xsd"
+    version="2.0"
+>
     <display-name>Simple Resource Adapter</display-name>
     <vendor-name>Java Software</vendor-name>
     <eis-type>Generic Type</eis-type>
diff --git a/appserver/tests/appserv-tests/devtests/connector/connector1.5/ra/META-INF/ra.xml b/appserver/tests/appserv-tests/devtests/connector/connector1.5/ra/META-INF/ra.xml
index 21deb93..235d1b6 100644
--- a/appserver/tests/appserv-tests/devtests/connector/connector1.5/ra/META-INF/ra.xml
+++ b/appserver/tests/appserv-tests/devtests/connector/connector1.5/ra/META-INF/ra.xml
@@ -2,6 +2,7 @@
 <!--
 
     Copyright (c) 2017, 2018 Oracle and/or its affiliates. All rights reserved.
+    Copyright (c) 2022 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
@@ -16,15 +17,13 @@
     SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
 
 -->
-
-<!--
-<!DOCTYPE connector PUBLIC '-//Sun Microsystems, Inc.//DTD Connector 1.5//EN' 'http://java.sun.com/dtd/connector_1_5.dtd'>
--->
-<connector xmlns="http://java.sun.com/xml/ns/j2ee"
-           xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-           xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee
-           http://java.sun.com/xml/ns/j2ee/connector_1_5.xsd"
-           version="1.5">
+<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/jakartaee_9.xsd
+       https://jakarta.ee/xml/ns/jakartaee/connector_2_0.xsd"
+    version="2.0"
+>
     <display-name>Simple Resource Adapter</display-name>
     <vendor-name>Java Software</vendor-name>
     <eis-type>Generic Type</eis-type>
diff --git a/appserver/tests/appserv-tests/devtests/connector/embeddedConnector1.5-resourcesxml/ra/META-INF/ra.xml b/appserver/tests/appserv-tests/devtests/connector/embeddedConnector1.5-resourcesxml/ra/META-INF/ra.xml
index 21deb93..f269940 100644
--- a/appserver/tests/appserv-tests/devtests/connector/embeddedConnector1.5-resourcesxml/ra/META-INF/ra.xml
+++ b/appserver/tests/appserv-tests/devtests/connector/embeddedConnector1.5-resourcesxml/ra/META-INF/ra.xml
@@ -2,6 +2,7 @@
 <!--
 
     Copyright (c) 2017, 2018 Oracle and/or its affiliates. All rights reserved.
+    Copyright (c) 2022 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
@@ -17,14 +18,13 @@
 
 -->
 
-<!--
-<!DOCTYPE connector PUBLIC '-//Sun Microsystems, Inc.//DTD Connector 1.5//EN' 'http://java.sun.com/dtd/connector_1_5.dtd'>
--->
-<connector xmlns="http://java.sun.com/xml/ns/j2ee"
-           xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-           xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee
-           http://java.sun.com/xml/ns/j2ee/connector_1_5.xsd"
-           version="1.5">
+<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/jakartaee_9.xsd
+       https://jakarta.ee/xml/ns/jakartaee/connector_2_0.xsd"
+    version="2.0"
+>
     <display-name>Simple Resource Adapter</display-name>
     <vendor-name>Java Software</vendor-name>
     <eis-type>Generic Type</eis-type>
diff --git a/appserver/tests/appserv-tests/devtests/connector/embeddedConnector1.5/app/build.xml b/appserver/tests/appserv-tests/devtests/connector/embeddedConnector1.5/app/build.xml
index 7b6653a..8866761 100644
--- a/appserver/tests/appserv-tests/devtests/connector/embeddedConnector1.5/app/build.xml
+++ b/appserver/tests/appserv-tests/devtests/connector/embeddedConnector1.5/app/build.xml
@@ -24,8 +24,8 @@
 
 <project name="connector1.5 MDB" default="all" basedir=".">
 
-  <property name="j2ee.home" value="../../.."/>
-  <property name="earfile" value="generic-embedded.ear"/>
+  <property name="j2ee.home" value="../../.." />
+  <property name="earfile" value="generic-embedded.ear" />
 
 
   <!-- include common.xml and testcommon.xml -->
@@ -34,74 +34,68 @@
   &testcommon;
 
   <target name="all" depends="init-common, clean-common">
-   <ant dir="src" inheritAll="false" target="all"/>
-   <antcall target="build-ear"/>
- <!--
-   <antcall target="ear-common">
-        <param name="appname" value="generic-embedded"/>
-        <param name="application.xml" value="META-INF/application.xml"/>
-   </antcall>
- -->
+    <ant dir="src" inheritAll="false" target="all" />
+    <antcall target="build-ear" />
   </target>
 
   <target name="build-ear">
 
-     <delete file="${assemble.dir}/generic-embeddedApp.ear"/>
-     <mkdir dir="${assemble.dir}"/>
-     <mkdir dir="${build.classes.dir}/META-INF"/>
-     <ear earfile="${assemble.dir}/generic-embeddedApp.ear" appxml="META-INF/application.xml">
-       <fileset dir="${assemble.dir}">
-            <include name="*.jar"/>
-            <include name="*.war"/>
-       </fileset>
-       <fileset dir="../ra">
-           <include name="*.rar"/>
-       </fileset>
-       <fileset dir="${env.APS_HOME}/lib">
-           <include name="reporter.jar"/>
-       </fileset>
-     </ear>
+    <delete file="${assemble.dir}/generic-embeddedApp.ear" />
+    <mkdir dir="${assemble.dir}" />
+    <mkdir dir="${build.classes.dir}/META-INF" />
+    <ear earfile="${assemble.dir}/generic-embeddedApp.ear" appxml="META-INF/application.xml">
+      <fileset dir="${assemble.dir}">
+        <include name="*.jar" />
+        <include name="*.war" />
+      </fileset>
+      <fileset dir="../ra">
+        <include name="*.rar" />
+      </fileset>
+      <fileset dir="${env.APS_HOME}/lib">
+        <include name="reporter.jar" />
+      </fileset>
+    </ear>
 
   </target>
 
   <target name="setupJdbc" depends="init-common">
-      <antcall target="create-jdbc-conpool-connector">
-        <param name="db.class" value="org.apache.derby.jdbc.ClientXADataSource"/>
-        <param name="jdbc.conpool.name" value="jdbc-pointbase-pool1"/>
-        <param name="jdbc.resource.type" value="javax.sql.XADataSource"/>
-      </antcall>
-      <antcall target="create-jdbc-resource-common">
-        <param name="jdbc.conpool.name" value="jdbc-pointbase-pool1"/>
-        <param name="jdbc.resource.name" value="jdbc/XAPointbase"/>
-      </antcall>
+    <antcall target="create-jdbc-conpool-connector">
+      <param name="db.class" value="org.apache.derby.jdbc.ClientXADataSource" />
+      <param name="jdbc.conpool.name" value="jdbc-pointbase-pool1" />
+      <param name="jdbc.resource.type" value="javax.sql.XADataSource" />
+    </antcall>
+    <antcall target="create-jdbc-resource-common">
+      <param name="jdbc.conpool.name" value="jdbc-pointbase-pool1" />
+      <param name="jdbc.resource.name" value="jdbc/Derby" />
+    </antcall>
 
-      <antcall target="execute-sql-connector">
-        <param name="sql.file" value="createdb.sql"/>
-      </antcall>
-   </target>
+    <antcall target="execute-sql-connector">
+      <param name="sql.file" value="createdb.sql" />
+    </antcall>
+  </target>
 
   <target name="unsetJdbc" depends="init-common">
-      <antcall target="delete-jdbc-resource-common">
-        <param name="jdbc.resource.name" value="jdbc/XAPointbase"/>
-      </antcall>
-     <antcall target="delete-jdbc-connpool-common">
-        <param name="jdbc.conpool.name" value="jdbc-pointbase-pool1"/>
-      </antcall>
+    <antcall target="delete-jdbc-resource-common">
+      <param name="jdbc.resource.name" value="jdbc/Derby" />
+    </antcall>
+    <antcall target="delete-jdbc-connpool-common">
+      <param name="jdbc.conpool.name" value="jdbc-pointbase-pool1" />
+    </antcall>
   </target>
 
   <target name="deploy-ear" depends="init-common">
     <antcall target="deploy-common">
-      <param name="appname" value="generic-embedded"/>
+      <param name="appname" value="generic-embedded" />
     </antcall>
   </target>
 
   <target name="undeploy" depends="init-common">
     <antcall target="undeploy-common">
-      <param name="deployedapp.name" value="generic-embeddedApp"/>
+      <param name="deployedapp.name" value="generic-embeddedApp" />
     </antcall>
   </target>
 
   <target name="clean">
-    <antcall target="clean-common"/>
+    <antcall target="clean-common" />
   </target>
 </project>
diff --git a/appserver/tests/appserv-tests/devtests/connector/embeddedConnector1.5/app/src/META-INF/sun-ejb-jar.xml b/appserver/tests/appserv-tests/devtests/connector/embeddedConnector1.5/app/src/META-INF/sun-ejb-jar.xml
index 099a715..e101147 100644
--- a/appserver/tests/appserv-tests/devtests/connector/embeddedConnector1.5/app/src/META-INF/sun-ejb-jar.xml
+++ b/appserver/tests/appserv-tests/devtests/connector/embeddedConnector1.5/app/src/META-INF/sun-ejb-jar.xml
@@ -54,7 +54,7 @@
       </ior-security-config>
       <resource-ref>
         <res-ref-name>MyDB</res-ref-name>
-        <jndi-name>jdbc/XAPointbase</jndi-name>
+        <jndi-name>jdbc/Derby</jndi-name>
       </resource-ref>
       <gen-classes />
     </ejb>
@@ -79,7 +79,7 @@
       </ior-security-config>
       <resource-ref>
         <res-ref-name>MyDB</res-ref-name>
-        <jndi-name>jdbc/XAPointbase</jndi-name>
+        <jndi-name>jdbc/Derby</jndi-name>
       </resource-ref>
       <resource-env-ref>
         <resource-env-ref-name>eis/testAdmin</resource-env-ref-name>
diff --git a/appserver/tests/appserv-tests/devtests/connector/embeddedConnector1.5/ra/META-INF/ra.xml b/appserver/tests/appserv-tests/devtests/connector/embeddedConnector1.5/ra/META-INF/ra.xml
index 21deb93..f269940 100644
--- a/appserver/tests/appserv-tests/devtests/connector/embeddedConnector1.5/ra/META-INF/ra.xml
+++ b/appserver/tests/appserv-tests/devtests/connector/embeddedConnector1.5/ra/META-INF/ra.xml
@@ -2,6 +2,7 @@
 <!--
 
     Copyright (c) 2017, 2018 Oracle and/or its affiliates. All rights reserved.
+    Copyright (c) 2022 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
@@ -17,14 +18,13 @@
 
 -->
 
-<!--
-<!DOCTYPE connector PUBLIC '-//Sun Microsystems, Inc.//DTD Connector 1.5//EN' 'http://java.sun.com/dtd/connector_1_5.dtd'>
--->
-<connector xmlns="http://java.sun.com/xml/ns/j2ee"
-           xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-           xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee
-           http://java.sun.com/xml/ns/j2ee/connector_1_5.xsd"
-           version="1.5">
+<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/jakartaee_9.xsd
+       https://jakarta.ee/xml/ns/jakartaee/connector_2_0.xsd"
+    version="2.0"
+>
     <display-name>Simple Resource Adapter</display-name>
     <vendor-name>Java Software</vendor-name>
     <eis-type>Generic Type</eis-type>
diff --git a/appserver/tests/appserv-tests/devtests/connector/embeddedweb-resourcesxml-defaultconnpool/ra/src/com/sun/jdbcra/spi/1.4/ra-ds.xml b/appserver/tests/appserv-tests/devtests/connector/embeddedweb-resourcesxml-defaultconnpool/ra/src/com/sun/jdbcra/spi/1.4/ra-ds.xml
index 65338d1..1c73201 100644
--- a/appserver/tests/appserv-tests/devtests/connector/embeddedweb-resourcesxml-defaultconnpool/ra/src/com/sun/jdbcra/spi/1.4/ra-ds.xml
+++ b/appserver/tests/appserv-tests/devtests/connector/embeddedweb-resourcesxml-defaultconnpool/ra/src/com/sun/jdbcra/spi/1.4/ra-ds.xml
@@ -2,6 +2,7 @@
 <!--
 
     Copyright (c) 2017, 2018 Oracle and/or its affiliates. All rights reserved.
+    Copyright (c) 2022 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
@@ -17,9 +18,13 @@
 
 -->
 
-<connector xmlns="http://java.sun.com/xml/ns/j2ee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-           xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/connector_1_5.xsd"
-           version="1.5">
+<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/jakartaee_9.xsd
+       https://jakarta.ee/xml/ns/jakartaee/connector_2_0.xsd"
+    version="2.0"
+>
 
     <!-- There can be any number of "description" elements including 0 -->
     <!-- This field can be optionally used by the driver vendor to provide a
@@ -221,7 +226,7 @@
 
                 <authentication-mechanism-type>BasicPassword</authentication-mechanism-type>
 
-                <credential-interface>javax.resource.spi.security.PasswordCredential</credential-interface>
+                <credential-interface>jakarta.resource.spi.security.PasswordCredential</credential-interface>
             </authentication-mechanism>
 
             <reauthentication-support>false</reauthentication-support>
diff --git a/appserver/tests/appserv-tests/devtests/connector/embeddedweb/build.xml b/appserver/tests/appserv-tests/devtests/connector/embeddedweb/build.xml
index d2fe0d2..d0667d5 100644
--- a/appserver/tests/appserv-tests/devtests/connector/embeddedweb/build.xml
+++ b/appserver/tests/appserv-tests/devtests/connector/embeddedweb/build.xml
@@ -38,9 +38,9 @@
 
     <target name="run-test" depends="build,deploy-war, run-war, undeploy-war, deploy-ear, run-ear, undeploy-ear"/>
 -->
-    <target name="all" depends="build, deploy-ear, setup, run-ear, unsetup, undeploy-ear"/>
+  <target name="all" depends="build, deploy-ear, setup, run-ear, unsetup, undeploy-ear"/>
 
-<!--
+  <!--
         <antcall target="build"/>
         <antcall target="setup"/>
         <antcall target="deploy-war"/>
@@ -53,176 +53,167 @@
     </target>
 -->
 
-    <target name="clean" depends="init-common">
-      <antcall target="clean-common"/>
-      <ant dir="ra" target="clean"/>
-    </target>
+  <target name="clean" depends="init-common">
+    <antcall target="clean-common"/>
+  </target>
 
-    <target name="setup">
+  <target name="setup">
     <antcall target="execute-sql-connector">
-        <param name="sql.file" value="sql/simpleBank.sql"/>
+      <param name="sql.file" value="sql/simpleBank.sql"/>
     </antcall>
     <antcall target="create-pool"/>
     <antcall target="create-resource"/>
     <antcall target="create-admin-object"/>
 
-    </target>
-    <target name="create-pool">
-                <antcall target="create-connector-connpool-common">
-                <param name="ra.name" value="${appname}App#jdbcra"/>
-                <param name="connection.defname" value="javax.sql.DataSource"/>
-                <param name="connector.conpool.name" value="embedded-ra-pool"/>
-                </antcall>
-                <antcall target="set-oracle-props">
-                <param name="pool.type" value="connector"/>
-                <param name="conpool.name" value="embedded-ra-pool"/>
-                </antcall>
-    </target>
-    <target name="create-resource">
-                <antcall target="create-connector-resource-common">
-                <param name="connector.conpool.name" value="embedded-ra-pool"/>
-                <param name="connector.jndi.name" value="jdbc/ejb-subclassing"/>
-                </antcall>
-     </target>
+  </target>
+  <target name="create-pool">
+    <antcall target="create-connector-connpool-common">
+      <param name="ra.name" value="${appname}App#connectors-ra-redeploy-rars"/>
+      <param name="connection.defname" value="javax.sql.DataSource"/>
+      <param name="connector.conpool.name" value="embedded-ra-pool"/>
+    </antcall>
+    <antcall target="set-oracle-props">
+      <param name="pool.type" value="connector"/>
+      <param name="conpool.name" value="embedded-ra-pool"/>
+    </antcall>
+  </target>
+  <target name="create-resource">
+    <antcall target="create-connector-resource-common">
+      <param name="connector.conpool.name" value="embedded-ra-pool"/>
+      <param name="connector.jndi.name" value="jdbc/ejb-subclassing"/>
+    </antcall>
+  </target>
 
 
-     <target name="create-admin-object" depends="init-common">
-         <antcall target="asadmin-common">
-            <param name="admin.command" value="create-admin-object --target ${appserver.instance.name} --restype com.sun.jdbcra.spi.JdbcSetupAdmin --raname ${appname}App#jdbcra --property TableName=customer2:JndiName=jdbc/ejb-subclassing:SchemaName=connector:NoOfRows=1"/>
-            <param name="operand.props" value="eis/jdbcAdmin"/>
-         </antcall>
-     </target>
+  <target name="create-admin-object" depends="init-common">
+    <antcall target="asadmin-common">
+      <param name="admin.command" value="create-admin-object --target ${appserver.instance.name} --restype com.sun.jdbcra.spi.JdbcSetupAdmin --raname ${appname}App#connectors-ra-redeploy-rars --property TableName=customer2:JndiName=jdbc/ejb-subclassing:SchemaName=connector:NoOfRows=1"/>
+      <param name="operand.props" value="eis/jdbcAdmin"/>
+    </antcall>
+  </target>
 
-     <target name="delete-admin-object" depends="init-common">
-         <antcall target="asadmin-common">
-            <param name="admin.command" value="delete-admin-object"/>
-            <param name="operand.props" value="--target ${appserver.instance.name} eis/jdbcAdmin"/>
-         </antcall>
-         </target>
+  <target name="delete-admin-object" depends="init-common">
+    <antcall target="asadmin-common">
+      <param name="admin.command" value="delete-admin-object"/>
+      <param name="operand.props" value="--target ${appserver.instance.name} eis/jdbcAdmin"/>
+    </antcall>
+  </target>
 
-    <target name="restart">
+  <target name="restart">
     <antcall target="restart-server-instance-common"/>
-    </target>
+  </target>
 
-     <target name="create-ra-config" depends="init-common">
-         <antcall target="asadmin-common">
-            <param name="admin.command" value="create-resource-adapter-config  --property RAProperty=VALID"/>
-            <param name="operand.props" value="${appname}App#jdbcra"/>
-         </antcall>
-     </target>
+  <target name="create-ra-config" depends="init-common">
+    <antcall target="asadmin-common">
+      <param name="admin.command" value="create-resource-adapter-config  --property RAProperty=VALID"/>
+      <param name="operand.props" value="${appname}App#connectors-ra-redeploy-rars"/>
+    </antcall>
+  </target>
 
-     <target name="delete-ra-config" depends="init-common">
-         <antcall target="asadmin-common">
-            <param name="admin.command" value="delete-resource-adapter-config"/>
-            <param name="operand.props" value="${appname}App#jdbcra"/>
-         </antcall>
-         </target>
+  <target name="delete-ra-config" depends="init-common">
+    <antcall target="asadmin-common">
+      <param name="admin.command" value="delete-resource-adapter-config"/>
+      <param name="operand.props" value="${appname}App#connectors-ra-redeploy-rars"/>
+    </antcall>
+  </target>
 
-    <target name="unsetup">
+  <target name="unsetup">
     <antcall target="execute-sql-connector">
-        <param name="sql.file" value="sql/dropBankTables.sql"/>
-      </antcall>
+      <param name="sql.file" value="sql/dropBankTables.sql"/>
+    </antcall>
 
     <antcall target="delete-resource"/>
     <antcall target="delete-pool"/>
     <antcall target="delete-admin-object"/>
-    </target>
+  </target>
 
-    <target name="delete-pool">
-                <antcall target="delete-connector-connpool-common">
-                <param name="connector.conpool.name" value="embedded-ra-pool"/>
-                </antcall>
-     </target>
+  <target name="delete-pool">
+    <antcall target="delete-connector-connpool-common">
+      <param name="connector.conpool.name" value="embedded-ra-pool"/>
+    </antcall>
+  </target>
 
-     <target name="delete-resource">
-                <antcall target="delete-connector-resource-common">
-                <param name="connector.jndi.name" value="jdbc/ejb-subclassing"/>
-                </antcall>
-    </target>
+  <target name="delete-resource">
+    <antcall target="delete-connector-resource-common">
+      <param name="connector.jndi.name" value="jdbc/ejb-subclassing"/>
+    </antcall>
+  </target>
 
-    <target name="compile" depends="clean">
-        <ant dir="ra" target="compile"/>
-        <antcall target="compile-common">
-            <param name="src" value="ejb"/>
-        </antcall>
-        <antcall target="compile-servlet" />
-    </target>
+  <target name="compile" depends="clean">
+    <antcall target="compile-common">
+      <param name="src" value="ejb"/>
+    </antcall>
+    <antcall target="compile-servlet" />
+  </target>
 
-    <target name="compile-servlet" depends="init-common">
-      <mkdir dir="${build.classes.dir}"/>
-      <echo message="common.xml: Compiling test source files" level="verbose"/>
-      <javac srcdir="servlet"
+  <target name="compile-servlet" depends="init-common">
+    <mkdir dir="${build.classes.dir}"/>
+    <echo message="common.xml: Compiling test source files" level="verbose"/>
+    <javac srcdir="servlet"
          destdir="${build.classes.dir}"
-         classpath="${s1astest.classpath}:ra/publish/internal/classes"
+         classpath="${s1astest.classpath}:${bundles.dir}/connectors-ra-redeploy-jars.jar"
          debug="on"
          failonerror="true"/>
-     </target>
+  </target>
 
-
-    <target name="build-ra">
-       <ant dir="ra" target="build"/>
-    </target>
-
-    <target name="build" depends="compile">
+  <target name="build" depends="compile">
     <property name="hasWebclient" value="yes"/>
-    <ant dir="ra" target="assemble"/>
     <antcall target="webclient-war-common">
-    <param name="hasWebclient" value="yes"/>
-    <param name="webclient.war.classes" value="**/*.class"/>
+      <param name="hasWebclient" value="yes" />
+      <param name="webclient.war.classes" value="**/*.class" />
     </antcall>
 
     <antcall target="ejb-jar-common">
-    <param name="ejbjar.classes" value="**/*.class"/>
+      <param name="ejbjar.classes" value="**/*.class"/>
     </antcall>
 
 
     <delete file="${assemble.dir}/${appname}.ear"/>
     <mkdir dir="${assemble.dir}"/>
     <mkdir dir="${build.classes.dir}/META-INF"/>
-    <ear earfile="${assemble.dir}/${appname}App.ear"
-     appxml="${application.xml}">
-    <fileset dir="${assemble.dir}">
-      <include name="*.jar"/>
-      <include name="*.war"/>
-    </fileset>
-    <fileset dir="ra/publish/lib">
-      <include name="*.rar"/>
-    </fileset>
+    <ear earfile="${assemble.dir}/${appname}App.ear" appxml="${application.xml}">
+      <fileset dir="${assemble.dir}">
+        <include name="*.jar"/>
+        <include name="*.war"/>
+      </fileset>
+      <fileset dir="${bundles.dir}">
+        <include name="connectors-ra-redeploy-rars.rar"/>
+      </fileset>
     </ear>
-    </target>
+  </target>
 
 
-    <target name="deploy-ear" depends="init-common">
-        <antcall target="create-ra-config"/>
-        <antcall target="deploy-common"/>
-    </target>
+  <target name="deploy-ear" depends="init-common">
+    <antcall target="create-ra-config"/>
+    <antcall target="deploy-common"/>
+  </target>
 
-    <target name="deploy-war" depends="init-common">
-        <antcall target="deploy-war-common"/>
-    </target>
+  <target name="deploy-war" depends="init-common">
+    <antcall target="deploy-war-common"/>
+  </target>
 
-    <target name="run-war" depends="init-common">
-        <antcall target="runwebclient-common">
-        <param name="testsuite.id" value="web-to-ejb (stand-alone war based)"/>
-        </antcall>
-    </target>
+  <target name="run-war" depends="init-common">
+    <antcall target="runwebclient-common">
+      <param name="testsuite.id" value="web-to-ejb (stand-alone war based)"/>
+    </antcall>
+  </target>
 
-    <target name="run-ear" depends="init-common">
-        <antcall target="runwebclient-common">
-        <param name="testsuite.id" value="web-to-ejb (ear based)"/>
-        </antcall>
-    </target>
+  <target name="run-ear" depends="init-common">
+    <antcall target="runwebclient-common">
+      <param name="testsuite.id" value="web-to-ejb (ear based)"/>
+    </antcall>
+  </target>
 
-    <target name="undeploy-ear" depends="init-common">
-        <antcall target="delete-ra-config"/>
-        <antcall target="undeploy-common"/>
-    </target>
+  <target name="undeploy-ear" depends="init-common">
+    <antcall target="delete-ra-config"/>
+    <antcall target="undeploy-common"/>
+  </target>
 
-    <target name="undeploy-war" depends="init-common">
-        <antcall target="undeploy-war-common"/>
-    </target>
+  <target name="undeploy-war" depends="init-common">
+    <antcall target="undeploy-war-common"/>
+  </target>
 
-    <target name="usage">
-        <antcall target="usage-common"/>
-    </target>
+  <target name="usage">
+    <antcall target="usage-common"/>
+  </target>
 </project>
diff --git a/appserver/tests/appserv-tests/devtests/connector/embeddedweb/descriptor/application.xml b/appserver/tests/appserv-tests/devtests/connector/embeddedweb/descriptor/application.xml
index 7fb3227..39abc00 100755
--- a/appserver/tests/appserv-tests/devtests/connector/embeddedweb/descriptor/application.xml
+++ b/appserver/tests/appserv-tests/devtests/connector/embeddedweb/descriptor/application.xml
@@ -25,7 +25,7 @@
   </module>
 
   <module>
-    <connector>jdbcra.rar</connector>
+    <connector>connectors-ra-redeploy-rars.rar</connector>
   </module>
 
   <module>
diff --git a/appserver/tests/appserv-tests/devtests/connector/embeddedweb/ra/build.properties b/appserver/tests/appserv-tests/devtests/connector/embeddedweb/ra/build.properties
deleted file mode 100644
index fd21c3d..0000000
--- a/appserver/tests/appserv-tests/devtests/connector/embeddedweb/ra/build.properties
+++ /dev/null
@@ -1,23 +0,0 @@
-#
-# Copyright (c) 2002, 2018 Oracle and/or its affiliates. All rights reserved.
-#
-# This program and the accompanying materials are made available under the
-# terms of the Eclipse Public License v. 2.0, which is available at
-# http://www.eclipse.org/legal/epl-2.0.
-#
-# This Source Code may also be made available under the following Secondary
-# Licenses when the conditions for such availability set forth in the
-# Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
-# version 2 with the GNU Classpath Exception, which is available at
-# https://www.gnu.org/software/classpath/license.html.
-#
-# SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
-#
-
-
-### Component Properties ###
-src.dir=src
-component.publish.home=.
-component.classes.dir=${component.publish.home}/internal/classes
-component.lib.home=${component.publish.home}/lib
-component.publish.home=publish
diff --git a/appserver/tests/appserv-tests/devtests/connector/embeddedweb/ra/build.xml b/appserver/tests/appserv-tests/devtests/connector/embeddedweb/ra/build.xml
deleted file mode 100644
index c50d290..0000000
--- a/appserver/tests/appserv-tests/devtests/connector/embeddedweb/ra/build.xml
+++ /dev/null
@@ -1,92 +0,0 @@
-<!DOCTYPE project [
-<!--
-
-    Copyright (c) 2017, 2018 Oracle and/or its affiliates. All rights reserved.
-
-    This program and the accompanying materials are made available under the
-    terms of the Eclipse Public License v. 2.0, which is available at
-    http://www.eclipse.org/legal/epl-2.0.
-
-    This Source Code may also be made available under the following Secondary
-    Licenses when the conditions for such availability set forth in the
-    Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
-    version 2 with the GNU Classpath Exception, which is available at
-    https://www.gnu.org/software/classpath/license.html.
-
-    SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
-
--->
-
-  <!ENTITY common SYSTEM "../../../../config/common.xml">
-  <!ENTITY testcommon SYSTEM "../../../../config/properties.xml">
-]>
-
-<project name="JDBCConnector top level" default="build">
-    <property name="pkg.dir" value="com/sun/jdbcra/spi"/>
-
-    &common;
-    &testcommon;
-    <property file="./build.properties"/>
-
-    <target name="build" depends="compile,assemble" />
-
-
-    <!-- init. Initialization involves creating publishing directories and
-         OS specific targets. -->
-    <target name="init" description="${component.name} initialization">
-        <tstamp>
-            <format property="start.time" pattern="MM/dd/yyyy hh:mm aa"/>
-        </tstamp>
-        <echo message="Building component ${component.name}"/>
-        <mkdir dir="${component.classes.dir}"/>
-        <mkdir dir="${component.lib.home}"/>
-    </target>
-    <!-- compile -->
-    <target name="compile" depends="init"
-            description="Compile com/sun/* com/iplanet/* sources">
-        <!--<echo message="Connector api resides in ${connector-api.jar}"/>-->
-        <javac srcdir="${src.dir}"
-               destdir="${component.classes.dir}"
-               failonerror="true">
-            <classpath>
-                <fileset dir="${env.S1AS_HOME}/modules">
-                    <include name="**/*.jar" />
-                </fileset>
-            </classpath>
-            <include name="com/sun/jdbcra/**"/>
-            <include name="com/sun/appserv/**"/>
-        </javac>
-    </target>
-
-    <target name="all" depends="build"/>
-
-   <target name="assemble">
-
-        <jar jarfile="${component.lib.home}/jdbc.jar"
-            basedir="${component.classes.dir}" includes="${pkg.dir}/**/*,
-            com/sun/appserv/**/*, com/sun/jdbcra/util/**/*, com/sun/jdbcra/common/**/*"/>
-
-        <copy file="${src.dir}/com/sun/jdbcra/spi/1.4/ra-ds.xml"
-                tofile="${component.lib.home}/ra.xml" overwrite="yes">
-        </copy>
-           <jar jarfile="${component.lib.home}/jdbcra.rar"
-                basedir="${component.lib.home}" includes="jdbc.jar">
-
-                   <metainf dir="${component.lib.home}">
-                           <include name="ra.xml"/>
-                   </metainf>
-           </jar>
-
-           <delete file="${component.lib.home}/ra.xml"/>
-
-  </target>
-
-    <target name="clean" description="Clean the build">
-        <delete includeEmptyDirs="true" failonerror="false">
-            <fileset dir="${component.classes.dir}"/>
-            <fileset dir="${component.lib.home}"/>
-        </delete>
-    </target>
-
-</project>
-
diff --git a/appserver/tests/appserv-tests/devtests/connector/embeddedweb/ra/src/com/sun/jdbcra/common/DataSourceObjectBuilder.java b/appserver/tests/appserv-tests/devtests/connector/embeddedweb/ra/src/com/sun/jdbcra/common/DataSourceObjectBuilder.java
deleted file mode 100644
index 88a0950..0000000
--- a/appserver/tests/appserv-tests/devtests/connector/embeddedweb/ra/src/com/sun/jdbcra/common/DataSourceObjectBuilder.java
+++ /dev/null
@@ -1,216 +0,0 @@
-/*
- * Copyright (c) 2003, 2018 Oracle and/or its affiliates. All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v. 2.0, which is available at
- * http://www.eclipse.org/legal/epl-2.0.
- *
- * This Source Code may also be made available under the following Secondary
- * Licenses when the conditions for such availability set forth in the
- * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
- * version 2 with the GNU Classpath Exception, which is available at
- * https://www.gnu.org/software/classpath/license.html.
- *
- * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
- */
-
-package com.sun.jdbcra.common;
-
-import java.lang.reflect.Method;
-import java.util.Hashtable;
-import java.util.Vector;
-import java.util.StringTokenizer;
-import java.util.Enumeration;
-import com.sun.jdbcra.util.MethodExecutor;
-import jakarta.resource.ResourceException;
-
-import java.util.logging.Logger;
-import java.util.logging.Level;
-/**
- * Utility class, which would create necessary Datasource object according to the
- * specification.
- *
- * @version        1.0, 02/07/23
- * @author        Binod P.G
- * @see                com.sun.jdbcra.common.DataSourceSpec
- * @see                com.sun.jdbcra.util.MethodExcecutor
- */
-public class DataSourceObjectBuilder implements java.io.Serializable{
-
-    private DataSourceSpec spec;
-
-    private Hashtable driverProperties = null;
-
-    private MethodExecutor executor = null;
-
-    private static Logger _logger;
-    static {
-        _logger = Logger.getAnonymousLogger();
-    }
-    private boolean debug = false;
-    /**
-     * Construct a DataSource Object from the spec.
-     *
-     * @param        spec        <code> DataSourceSpec </code> object.
-     */
-    public DataSourceObjectBuilder(DataSourceSpec spec) {
-            this.spec = spec;
-            executor = new MethodExecutor();
-    }
-
-    /**
-     * Construct the DataSource Object from the spec.
-     *
-     * @return        Object constructed using the DataSourceSpec.
-     * @throws        <code>ResourceException</code> if the class is not found or some issue in executing
-     *                some method.
-     */
-    public Object constructDataSourceObject() throws ResourceException{
-            driverProperties = parseDriverProperties(spec);
-        Object dataSourceObject = getDataSourceObject();
-        Method[] methods = dataSourceObject.getClass().getMethods();
-        for (int i=0; i < methods.length; i++) {
-            String methodName = methods[i].getName();
-            if (methodName.equalsIgnoreCase("setUser")){
-                    executor.runJavaBeanMethod(spec.getDetail(DataSourceSpec.USERNAME),methods[i],dataSourceObject);
-
-            } else if (methodName.equalsIgnoreCase("setPassword")){
-                    executor.runJavaBeanMethod(spec.getDetail(DataSourceSpec.PASSWORD),methods[i],dataSourceObject);
-
-            } else if (methodName.equalsIgnoreCase("setLoginTimeOut")){
-                    executor.runJavaBeanMethod(spec.getDetail(DataSourceSpec.LOGINTIMEOUT),methods[i],dataSourceObject);
-
-            } else if (methodName.equalsIgnoreCase("setLogWriter")){
-                    executor.runJavaBeanMethod(spec.getDetail(DataSourceSpec.LOGWRITER),methods[i],dataSourceObject);
-
-            } else if (methodName.equalsIgnoreCase("setDatabaseName")){
-                    executor.runJavaBeanMethod(spec.getDetail(DataSourceSpec.DATABASENAME),methods[i],dataSourceObject);
-
-            } else if (methodName.equalsIgnoreCase("setDataSourceName")){
-                    executor.runJavaBeanMethod(spec.getDetail(DataSourceSpec.DATASOURCENAME),methods[i],dataSourceObject);
-
-            } else if (methodName.equalsIgnoreCase("setDescription")){
-                    executor.runJavaBeanMethod(spec.getDetail(DataSourceSpec.DESCRIPTION),methods[i],dataSourceObject);
-
-            } else if (methodName.equalsIgnoreCase("setNetworkProtocol")){
-                    executor.runJavaBeanMethod(spec.getDetail(DataSourceSpec.NETWORKPROTOCOL),methods[i],dataSourceObject);
-
-            } else if (methodName.equalsIgnoreCase("setPortNumber")){
-                    executor.runJavaBeanMethod(spec.getDetail(DataSourceSpec.PORTNUMBER),methods[i],dataSourceObject);
-
-            } else if (methodName.equalsIgnoreCase("setRoleName")){
-                    executor.runJavaBeanMethod(spec.getDetail(DataSourceSpec.ROLENAME),methods[i],dataSourceObject);
-
-            } else if (methodName.equalsIgnoreCase("setServerName")){
-                    executor.runJavaBeanMethod(spec.getDetail(DataSourceSpec.SERVERNAME),methods[i],dataSourceObject);
-
-            } else if (methodName.equalsIgnoreCase("setMaxStatements")){
-                    executor.runJavaBeanMethod(spec.getDetail(DataSourceSpec.MAXSTATEMENTS),methods[i],dataSourceObject);
-
-            } else if (methodName.equalsIgnoreCase("setInitialPoolSize")){
-                    executor.runJavaBeanMethod(spec.getDetail(DataSourceSpec.INITIALPOOLSIZE),methods[i],dataSourceObject);
-
-            } else if (methodName.equalsIgnoreCase("setMinPoolSize")){
-                    executor.runJavaBeanMethod(spec.getDetail(DataSourceSpec.MINPOOLSIZE),methods[i],dataSourceObject);
-
-            } else if (methodName.equalsIgnoreCase("setMaxPoolSize")){
-                    executor.runJavaBeanMethod(spec.getDetail(DataSourceSpec.MAXPOOLSIZE),methods[i],dataSourceObject);
-
-            } else if (methodName.equalsIgnoreCase("setMaxIdleTime")){
-                    executor.runJavaBeanMethod(spec.getDetail(DataSourceSpec.MAXIDLETIME),methods[i],dataSourceObject);
-
-            } else if (methodName.equalsIgnoreCase("setPropertyCycle")){
-                    executor.runJavaBeanMethod(spec.getDetail(DataSourceSpec.PROPERTYCYCLE),methods[i],dataSourceObject);
-
-            } else if (driverProperties.containsKey(methodName.toUpperCase())){
-                    Vector values = (Vector) driverProperties.get(methodName.toUpperCase());
-                executor.runMethod(methods[i],dataSourceObject, values);
-            }
-        }
-        return dataSourceObject;
-    }
-
-    /**
-     * Get the extra driver properties from the DataSourceSpec object and
-     * parse them to a set of methodName and parameters. Prepare a hashtable
-     * containing these details and return.
-     *
-     * @param        spec        <code> DataSourceSpec </code> object.
-     * @return        Hashtable containing method names and parameters,
-     * @throws        ResourceException        If delimiter is not provided and property string
-     *                                        is not null.
-     */
-    private Hashtable parseDriverProperties(DataSourceSpec spec) throws ResourceException{
-            String delim = spec.getDetail(DataSourceSpec.DELIMITER);
-
-        String prop = spec.getDetail(DataSourceSpec.DRIVERPROPERTIES);
-        if ( prop == null || prop.trim().equals("")) {
-            return new Hashtable();
-        } else if (delim == null || delim.equals("")) {
-            throw new ResourceException ("Delimiter is not provided in the configuration");
-        }
-
-        Hashtable properties = new Hashtable();
-        delim = delim.trim();
-        String sep = delim+delim;
-        int sepLen = sep.length();
-        String cache = prop;
-        Vector methods = new Vector();
-
-        while (cache.indexOf(sep) != -1) {
-            int index = cache.indexOf(sep);
-            String name = cache.substring(0,index);
-            if (name.trim() != "") {
-                methods.add(name);
-                    cache = cache.substring(index+sepLen);
-            }
-        }
-
-            Enumeration allMethods = methods.elements();
-            while (allMethods.hasMoreElements()) {
-                String oneMethod = (String) allMethods.nextElement();
-                if (!oneMethod.trim().equals("")) {
-                        String methodName = null;
-                        Vector parms = new Vector();
-                        StringTokenizer methodDetails = new StringTokenizer(oneMethod,delim);
-                for (int i=0; methodDetails.hasMoreTokens();i++ ) {
-                    String token = (String) methodDetails.nextToken();
-                    if (i==0) {
-                            methodName = token.toUpperCase();
-                    } else {
-                            parms.add(token);
-                    }
-                }
-                properties.put(methodName,parms);
-                }
-            }
-            return properties;
-    }
-
-    /**
-     * Creates a Datasource object according to the spec.
-     *
-     * @return        Initial DataSource Object instance.
-     * @throws        <code>ResourceException</code> If class name is wrong or classpath is not set
-     *                properly.
-     */
-    private Object getDataSourceObject() throws ResourceException{
-            String className = spec.getDetail(DataSourceSpec.CLASSNAME);
-        try {
-            Class dataSourceClass = Class.forName(className);
-            Object dataSourceObject = dataSourceClass.newInstance();
-            return dataSourceObject;
-        } catch(ClassNotFoundException cfne){
-            _logger.log(Level.SEVERE, "jdbc.exc_cnfe_ds", cfne);
-
-            throw new ResourceException("Class Name is wrong or Class path is not set for :" + className);
-        } catch(InstantiationException ce) {
-            _logger.log(Level.SEVERE, "jdbc.exc_inst", className);
-            throw new ResourceException("Error in instantiating" + className);
-        } catch(IllegalAccessException ce) {
-            _logger.log(Level.SEVERE, "jdbc.exc_acc_inst", className);
-            throw new ResourceException("Access Error in instantiating" + className);
-        }
-    }
-
-}
diff --git a/appserver/tests/appserv-tests/devtests/connector/embeddedweb/ra/src/com/sun/jdbcra/common/build.xml b/appserver/tests/appserv-tests/devtests/connector/embeddedweb/ra/src/com/sun/jdbcra/common/build.xml
deleted file mode 100644
index 3b4faeb..0000000
--- a/appserver/tests/appserv-tests/devtests/connector/embeddedweb/ra/src/com/sun/jdbcra/common/build.xml
+++ /dev/null
@@ -1,48 +0,0 @@
-<?xml version="1.0"?>
-<!--
-
-    Copyright (c) 2017, 2018 Oracle and/or its affiliates. All rights reserved.
-
-    This program and the accompanying materials are made available under the
-    terms of the Eclipse Public License v. 2.0, which is available at
-    http://www.eclipse.org/legal/epl-2.0.
-
-    This Source Code may also be made available under the following Secondary
-    Licenses when the conditions for such availability set forth in the
-    Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
-    version 2 with the GNU Classpath Exception, which is available 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 name="jdbc_connector" basedir="." default="build">
-  <property name="pkg.dir" value="com/sun/gjc/common"/>
-
-  <target name="clean">
-    <ant antfile="build.xml" dir="${gjc.home}/bin" target="clean"/>
-  </target>
-
-  <target name="compile">
-    <ant antfile="build.xml" dir="${gjc.home}/bin" target="compile13"/>
-  </target>
-
-  <target name="package">
-    <mkdir dir="${dist.dir}/${pkg.dir}"/>
-      <jar jarfile="${dist.dir}/${pkg.dir}/common.jar" basedir="${class.dir}"
-        includes="${pkg.dir}/**/*"/>
-  </target>
-
-  <target name="compile13" depends="compile"/>
-  <target name="compile14" depends="compile"/>
-
-  <target name="package13" depends="package"/>
-  <target name="package14" depends="package"/>
-
-  <target name="build13" depends="compile13, package13"/>
-  <target name="build14" depends="compile14, package14"/>
-
-  <target name="build" depends="build13, build14"/>
-
-</project>
diff --git a/appserver/tests/appserv-tests/devtests/connector/embeddedweb/ra/src/com/sun/jdbcra/spi/1.4/ConnectionHolder.java b/appserver/tests/appserv-tests/devtests/connector/embeddedweb/ra/src/com/sun/jdbcra/spi/1.4/ConnectionHolder.java
deleted file mode 100644
index 8983ff2..0000000
--- a/appserver/tests/appserv-tests/devtests/connector/embeddedweb/ra/src/com/sun/jdbcra/spi/1.4/ConnectionHolder.java
+++ /dev/null
@@ -1,688 +0,0 @@
-/*
- * Copyright (c) 2003, 2018 Oracle and/or its affiliates. All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v. 2.0, which is available at
- * http://www.eclipse.org/legal/epl-2.0.
- *
- * This Source Code may also be made available under the following Secondary
- * Licenses when the conditions for such availability set forth in the
- * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
- * version 2 with the GNU Classpath Exception, which is available at
- * https://www.gnu.org/software/classpath/license.html.
- *
- * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
- */
-
-package com.sun.jdbcra.spi;
-
-import java.sql.*;
-import java.util.Hashtable;
-import java.util.Map;
-import java.util.Enumeration;
-import java.util.Properties;
-import java.util.concurrent.Executor;
-
-/**
- * Holds the java.sql.Connection object, which is to be
- * passed to the application program.
- *
- * @version        1.0, 02/07/23
- * @author        Binod P.G
- */
-public class ConnectionHolder implements Connection{
-
-    private Connection con;
-
-    private ManagedConnection mc;
-
-    private boolean wrappedAlready = false;
-
-    private boolean isClosed = false;
-
-    private boolean valid = true;
-
-    private boolean active = false;
-    /**
-     * The active flag is false when the connection handle is
-     * created. When a method is invoked on this object, it asks
-     * the ManagedConnection if it can be the active connection
-     * handle out of the multiple connection handles. If the
-     * ManagedConnection reports that this connection handle
-     * can be active by setting this flag to true via the setActive
-     * function, the above method invocation succeeds; otherwise
-     * an exception is thrown.
-     */
-
-    /**
-     * Constructs a Connection holder.
-     *
-     * @param        con        <code>java.sql.Connection</code> object.
-     */
-    public ConnectionHolder(Connection con, ManagedConnection mc) {
-        this.con = con;
-        this.mc  = mc;
-    }
-
-    /**
-     * Returns the actual connection in this holder object.
-     *
-     * @return        Connection object.
-     */
-    Connection getConnection() {
-            return con;
-    }
-
-    /**
-     * Sets the flag to indicate that, the connection is wrapped already or not.
-     *
-     * @param        wrapFlag
-     */
-    void wrapped(boolean wrapFlag){
-        this.wrappedAlready = wrapFlag;
-    }
-
-    /**
-     * Returns whether it is wrapped already or not.
-     *
-     * @return        wrapped flag.
-     */
-    boolean isWrapped(){
-        return wrappedAlready;
-    }
-
-    /**
-     * Returns the <code>ManagedConnection</code> instance responsible
-     * for this connection.
-     *
-     * @return        <code>ManagedConnection</code> instance.
-     */
-    ManagedConnection getManagedConnection() {
-        return mc;
-    }
-
-    /**
-     * Replace the actual <code>java.sql.Connection</code> object with the one
-     * supplied. Also replace <code>ManagedConnection</code> link.
-     *
-     * @param        con <code>Connection</code> object.
-     * @param        mc  <code> ManagedConnection</code> object.
-     */
-    void associateConnection(Connection con, ManagedConnection mc) {
-            this.mc = mc;
-            this.con = con;
-    }
-
-    /**
-     * Clears all warnings reported for the underlying connection  object.
-     *
-     * @throws SQLException In case of a database error.
-     */
-    public void clearWarnings() throws SQLException{
-        checkValidity();
-        con.clearWarnings();
-    }
-
-    /**
-     * Closes the logical connection.
-     *
-     * @throws SQLException In case of a database error.
-     */
-    public void close() throws SQLException{
-        isClosed = true;
-        mc.connectionClosed(null, this);
-    }
-
-    /**
-     * Invalidates this object.
-     */
-    public void invalidate() {
-            valid = false;
-    }
-
-    /**
-     * Closes the physical connection involved in this.
-     *
-     * @throws SQLException In case of a database error.
-     */
-    void actualClose() throws SQLException{
-        con.close();
-    }
-
-    /**
-     * Commit the changes in the underlying Connection.
-     *
-     * @throws SQLException In case of a database error.
-     */
-    public void commit() throws SQLException {
-        checkValidity();
-            con.commit();
-    }
-
-    /**
-     * Creates a statement from the underlying Connection
-     *
-     * @return        <code>Statement</code> object.
-     * @throws SQLException In case of a database error.
-     */
-    public Statement createStatement() throws SQLException {
-        checkValidity();
-        return con.createStatement();
-    }
-
-    /**
-     * Creates a statement from the underlying Connection.
-     *
-     * @param        resultSetType        Type of the ResultSet
-     * @param        resultSetConcurrency        ResultSet Concurrency.
-     * @return        <code>Statement</code> object.
-     * @throws SQLException In case of a database error.
-     */
-    public Statement createStatement(int resultSetType, int resultSetConcurrency) throws SQLException {
-        checkValidity();
-        return con.createStatement(resultSetType, resultSetConcurrency);
-    }
-
-    /**
-     * Creates a statement from the underlying Connection.
-     *
-     * @param        resultSetType        Type of the ResultSet
-     * @param        resultSetConcurrency        ResultSet Concurrency.
-     * @param        resultSetHoldability        ResultSet Holdability.
-     * @return        <code>Statement</code> object.
-     * @throws SQLException In case of a database error.
-     */
-    public Statement createStatement(int resultSetType, int resultSetConcurrency,
-                                         int resultSetHoldabilty) throws SQLException {
-        checkValidity();
-        return con.createStatement(resultSetType, resultSetConcurrency,
-                                   resultSetHoldabilty);
-    }
-
-    /**
-     * Retrieves the current auto-commit mode for the underlying <code> Connection</code>.
-     *
-     * @return The current state of connection's auto-commit mode.
-     * @throws SQLException In case of a database error.
-     */
-    public boolean getAutoCommit() throws SQLException {
-        checkValidity();
-            return con.getAutoCommit();
-    }
-
-    /**
-     * Retrieves the underlying <code>Connection</code> object's catalog name.
-     *
-     * @return        Catalog Name.
-     * @throws SQLException In case of a database error.
-     */
-    public String getCatalog() throws SQLException {
-        checkValidity();
-        return con.getCatalog();
-    }
-
-    /**
-     * Retrieves the current holdability of <code>ResultSet</code> objects created
-     * using this connection object.
-     *
-     * @return        holdability value.
-     * @throws SQLException In case of a database error.
-     */
-    public int getHoldability() throws SQLException {
-        checkValidity();
-            return        con.getHoldability();
-    }
-
-    /**
-     * Retrieves the <code>DatabaseMetaData</code>object from the underlying
-     * <code> Connection </code> object.
-     *
-     * @return <code>DatabaseMetaData</code> object.
-     * @throws SQLException In case of a database error.
-     */
-    public DatabaseMetaData getMetaData() throws SQLException {
-        checkValidity();
-            return con.getMetaData();
-    }
-
-    /**
-     * Retrieves this <code>Connection</code> object's current transaction isolation level.
-     *
-     * @return Transaction level
-     * @throws SQLException In case of a database error.
-     */
-    public int getTransactionIsolation() throws SQLException {
-        checkValidity();
-        return con.getTransactionIsolation();
-    }
-
-    /**
-     * Retrieves the <code>Map</code> object associated with
-     * <code> Connection</code> Object.
-     *
-     * @return        TypeMap set in this object.
-     * @throws SQLException In case of a database error.
-     */
-    public Map getTypeMap() throws SQLException {
-        checkValidity();
-            return con.getTypeMap();
-    }
-
-    /**
-     * Retrieves the the first warning reported by calls on the underlying
-     * <code>Connection</code> object.
-     *
-     * @return First <code> SQLWarning</code> Object or null.
-     * @throws SQLException In case of a database error.
-     */
-    public SQLWarning getWarnings() throws SQLException {
-        checkValidity();
-            return con.getWarnings();
-    }
-
-    /**
-     * Retrieves whether underlying <code>Connection</code> object is closed.
-     *
-     * @return        true if <code>Connection</code> object is closed, false
-     *                 if it is closed.
-     * @throws SQLException In case of a database error.
-     */
-    public boolean isClosed() throws SQLException {
-            return isClosed;
-    }
-
-    /**
-     * Retrieves whether this <code>Connection</code> object is read-only.
-     *
-     * @return        true if <code> Connection </code> is read-only, false other-wise
-     * @throws SQLException In case of a database error.
-     */
-    public boolean isReadOnly() throws SQLException {
-        checkValidity();
-            return con.isReadOnly();
-    }
-
-    /**
-     * Converts the given SQL statement into the system's native SQL grammer.
-     *
-     * @param        sql        SQL statement , to be converted.
-     * @return        Converted SQL string.
-     * @throws SQLException In case of a database error.
-     */
-    public String nativeSQL(String sql) throws SQLException {
-        checkValidity();
-            return con.nativeSQL(sql);
-    }
-
-    /**
-     * Creates a <code> CallableStatement </code> object for calling database
-     * stored procedures.
-     *
-     * @param        sql        SQL Statement
-     * @return <code> CallableStatement</code> object.
-     * @throws SQLException In case of a database error.
-     */
-    public CallableStatement prepareCall(String sql) throws SQLException {
-        checkValidity();
-            return con.prepareCall(sql);
-    }
-
-    /**
-     * Creates a <code> CallableStatement </code> object for calling database
-     * stored procedures.
-     *
-     * @param        sql        SQL Statement
-     * @param        resultSetType        Type of the ResultSet
-     * @param        resultSetConcurrency        ResultSet Concurrency.
-     * @return <code> CallableStatement</code> object.
-     * @throws SQLException In case of a database error.
-     */
-    public CallableStatement prepareCall(String sql,int resultSetType,
-                                            int resultSetConcurrency) throws SQLException{
-        checkValidity();
-            return con.prepareCall(sql, resultSetType, resultSetConcurrency);
-    }
-
-    /**
-     * Creates a <code> CallableStatement </code> object for calling database
-     * stored procedures.
-     *
-     * @param        sql        SQL Statement
-     * @param        resultSetType        Type of the ResultSet
-     * @param        resultSetConcurrency        ResultSet Concurrency.
-     * @param        resultSetHoldability        ResultSet Holdability.
-     * @return <code> CallableStatement</code> object.
-     * @throws SQLException In case of a database error.
-     */
-    public CallableStatement prepareCall(String sql, int resultSetType,
-                                             int resultSetConcurrency,
-                                             int resultSetHoldabilty) throws SQLException{
-        checkValidity();
-            return con.prepareCall(sql, resultSetType, resultSetConcurrency,
-                                   resultSetHoldabilty);
-    }
-
-    /**
-     * Creates a <code> PreparedStatement </code> object for sending
-     * paramterized SQL statements to database
-     *
-     * @param        sql        SQL Statement
-     * @return <code> PreparedStatement</code> object.
-     * @throws SQLException In case of a database error.
-     */
-    public PreparedStatement prepareStatement(String sql) throws SQLException {
-        checkValidity();
-            return con.prepareStatement(sql);
-    }
-
-    /**
-     * Creates a <code> PreparedStatement </code> object for sending
-     * paramterized SQL statements to database
-     *
-     * @param        sql        SQL Statement
-     * @param        autoGeneratedKeys a flag indicating AutoGeneratedKeys need to be returned.
-     * @return <code> PreparedStatement</code> object.
-     * @throws SQLException In case of a database error.
-     */
-    public PreparedStatement prepareStatement(String sql, int autoGeneratedKeys) throws SQLException {
-        checkValidity();
-            return con.prepareStatement(sql,autoGeneratedKeys);
-    }
-
-    /**
-     * Creates a <code> PreparedStatement </code> object for sending
-     * paramterized SQL statements to database
-     *
-     * @param        sql        SQL Statement
-     * @param        columnIndexes an array of column indexes indicating the columns that should be
-     *                returned from the inserted row or rows.
-     * @return <code> PreparedStatement</code> object.
-     * @throws SQLException In case of a database error.
-     */
-    public PreparedStatement prepareStatement(String sql, int[] columnIndexes) throws SQLException {
-        checkValidity();
-            return con.prepareStatement(sql,columnIndexes);
-    }
-
-    /**
-     * Creates a <code> PreparedStatement </code> object for sending
-     * paramterized SQL statements to database
-     *
-     * @param        sql        SQL Statement
-     * @param        resultSetType        Type of the ResultSet
-     * @param        resultSetConcurrency        ResultSet Concurrency.
-     * @return <code> PreparedStatement</code> object.
-     * @throws SQLException In case of a database error.
-     */
-    public PreparedStatement prepareStatement(String sql,int resultSetType,
-                                            int resultSetConcurrency) throws SQLException{
-        checkValidity();
-            return con.prepareStatement(sql, resultSetType, resultSetConcurrency);
-    }
-
-    /**
-     * Creates a <code> PreparedStatement </code> object for sending
-     * paramterized SQL statements to database
-     *
-     * @param        sql        SQL Statement
-     * @param        resultSetType        Type of the ResultSet
-     * @param        resultSetConcurrency        ResultSet Concurrency.
-     * @param        resultSetHoldability        ResultSet Holdability.
-     * @return <code> PreparedStatement</code> object.
-     * @throws SQLException In case of a database error.
-     */
-    public PreparedStatement prepareStatement(String sql, int resultSetType,
-                                             int resultSetConcurrency,
-                                             int resultSetHoldabilty) throws SQLException {
-        checkValidity();
-            return con.prepareStatement(sql, resultSetType, resultSetConcurrency,
-                                        resultSetHoldabilty);
-    }
-
-    /**
-     * Creates a <code> PreparedStatement </code> object for sending
-     * paramterized SQL statements to database
-     *
-     * @param        sql        SQL Statement
-     * @param        columnNames Name of bound columns.
-     * @return <code> PreparedStatement</code> object.
-     * @throws SQLException In case of a database error.
-     */
-    public PreparedStatement prepareStatement(String sql, String[] columnNames) throws SQLException {
-        checkValidity();
-            return con.prepareStatement(sql,columnNames);
-    }
-
-    @Override
-    public Clob createClob() throws SQLException {
-        return null;
-    }
-
-    @Override
-    public Blob createBlob() throws SQLException {
-        return null;
-    }
-
-    @Override
-    public NClob createNClob() throws SQLException {
-        return null;
-    }
-
-    @Override
-    public SQLXML createSQLXML() throws SQLException {
-        return null;
-    }
-
-    @Override
-    public boolean isValid(int timeout) throws SQLException {
-        return false;
-    }
-
-    @Override
-    public void setClientInfo(String name, String value) throws SQLClientInfoException {
-
-    }
-
-    @Override
-    public void setClientInfo(Properties properties) throws SQLClientInfoException {
-
-    }
-
-    @Override
-    public String getClientInfo(String name) throws SQLException {
-        return null;
-    }
-
-    @Override
-    public Properties getClientInfo() throws SQLException {
-        return null;
-    }
-
-    @Override
-    public Array createArrayOf(String typeName, Object[] elements) throws SQLException {
-        return null;
-    }
-
-    @Override
-    public Struct createStruct(String typeName, Object[] attributes) throws SQLException {
-        return null;
-    }
-
-    @Override
-    public void setSchema(String schema) throws SQLException {
-
-    }
-
-    @Override
-    public String getSchema() throws SQLException {
-        return null;
-    }
-
-    @Override
-    public void abort(Executor executor) throws SQLException {
-
-    }
-
-    @Override
-    public void setNetworkTimeout(Executor executor, int milliseconds) throws SQLException {
-
-    }
-
-    @Override
-    public int getNetworkTimeout() throws SQLException {
-        return 0;
-    }
-
-    /**
-     * Removes the given <code>Savepoint</code> object from the current transaction.
-     *
-     * @param        savepoint        <code>Savepoint</code> object
-     * @throws SQLException In case of a database error.
-     */
-    public void releaseSavepoint(Savepoint savepoint) throws SQLException {
-        checkValidity();
-            con.releaseSavepoint(savepoint);
-    }
-
-    /**
-     * Rolls back the changes made in the current transaction.
-     *
-     * @throws SQLException In case of a database error.
-     */
-    public void rollback() throws SQLException {
-        checkValidity();
-            con.rollback();
-    }
-
-    /**
-     * Rolls back the changes made after the savepoint.
-     *
-     * @throws SQLException In case of a database error.
-     */
-    public void rollback(Savepoint savepoint) throws SQLException {
-        checkValidity();
-            con.rollback(savepoint);
-    }
-
-    /**
-     * Sets the auto-commmit mode of the <code>Connection</code> object.
-     *
-     * @param        autoCommit boolean value indicating the auto-commit mode.
-     * @throws SQLException In case of a database error.
-     */
-    public void setAutoCommit(boolean autoCommit) throws SQLException {
-        checkValidity();
-            con.setAutoCommit(autoCommit);
-    }
-
-    /**
-     * Sets the catalog name to the <code>Connection</code> object
-     *
-     * @param        catalog        Catalog name.
-     * @throws SQLException In case of a database error.
-     */
-    public void setCatalog(String catalog) throws SQLException {
-        checkValidity();
-            con.setCatalog(catalog);
-    }
-
-    /**
-     * Sets the holdability of <code>ResultSet</code> objects created
-     * using this <code>Connection</code> object.
-     *
-     * @param        holdability        A <code>ResultSet</code> holdability constant
-     * @throws SQLException In case of a database error.
-     */
-    public void setHoldability(int holdability) throws SQLException {
-        checkValidity();
-             con.setHoldability(holdability);
-    }
-
-    /**
-     * Puts the connection in read-only mode as a hint to the driver to
-     * perform database optimizations.
-     *
-     * @param        readOnly  true enables read-only mode, false disables it.
-     * @throws SQLException In case of a database error.
-     */
-    public void setReadOnly(boolean readOnly) throws SQLException {
-        checkValidity();
-            con.setReadOnly(readOnly);
-    }
-
-    /**
-     * Creates and unnamed savepoint and returns an object corresponding to that.
-     *
-     * @return        <code>Savepoint</code> object.
-     * @throws SQLException In case of a database error.
-     */
-    public Savepoint setSavepoint() throws SQLException {
-        checkValidity();
-            return con.setSavepoint();
-    }
-
-    /**
-     * Creates a savepoint with the name and returns an object corresponding to that.
-     *
-     * @param        name        Name of the savepoint.
-     * @return        <code>Savepoint</code> object.
-     * @throws SQLException In case of a database error.
-     */
-    public Savepoint setSavepoint(String name) throws SQLException {
-        checkValidity();
-            return con.setSavepoint(name);
-    }
-
-    /**
-     * Creates the transaction isolation level.
-     *
-     * @param        level transaction isolation level.
-     * @throws SQLException In case of a database error.
-     */
-    public void setTransactionIsolation(int level) throws SQLException {
-        checkValidity();
-            con.setTransactionIsolation(level);
-    }
-
-    /**
-     * Installs the given <code>Map</code> object as the tyoe map for this
-     * <code> Connection </code> object.
-     *
-     * @param        map        <code>Map</code> a Map object to install.
-     * @throws SQLException In case of a database error.
-     */
-    public void setTypeMap(Map map) throws SQLException {
-        checkValidity();
-            con.setTypeMap(map);
-    }
-
-    /**
-     * Checks the validity of this object
-     */
-    private void checkValidity() throws SQLException {
-            if (isClosed) throw new SQLException ("Connection closed");
-            if (!valid) throw new SQLException ("Invalid Connection");
-            if(active == false) {
-                mc.checkIfActive(this);
-            }
-    }
-
-    /**
-     * Sets the active flag to true
-     *
-     * @param        actv        boolean
-     */
-    void setActive(boolean actv) {
-        active = actv;
-    }
-
-    @Override
-    public <T> T unwrap(Class<T> iface) throws SQLException {
-        return null;
-    }
-
-    @Override
-    public boolean isWrapperFor(Class<?> iface) throws SQLException {
-        return false;
-    }
-}
diff --git a/appserver/tests/appserv-tests/devtests/connector/embeddedweb/ra/src/com/sun/jdbcra/spi/1.4/ResourceAdapter.java b/appserver/tests/appserv-tests/devtests/connector/embeddedweb/ra/src/com/sun/jdbcra/spi/1.4/ResourceAdapter.java
deleted file mode 100644
index e2840ea..0000000
--- a/appserver/tests/appserv-tests/devtests/connector/embeddedweb/ra/src/com/sun/jdbcra/spi/1.4/ResourceAdapter.java
+++ /dev/null
@@ -1,96 +0,0 @@
-/*
- * Copyright (c) 2003, 2018 Oracle and/or its affiliates. All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v. 2.0, which is available at
- * http://www.eclipse.org/legal/epl-2.0.
- *
- * This Source Code may also be made available under the following Secondary
- * Licenses when the conditions for such availability set forth in the
- * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
- * version 2 with the GNU Classpath Exception, which is available at
- * https://www.gnu.org/software/classpath/license.html.
- *
- * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
- */
-
-package com.sun.jdbcra.spi;
-
-import jakarta.resource.spi.endpoint.MessageEndpointFactory;
-import jakarta.resource.spi.ActivationSpec;
-import jakarta.resource.NotSupportedException;
-import javax.transaction.xa.XAResource;
-import jakarta.resource.spi.BootstrapContext;
-import jakarta.resource.spi.ResourceAdapterInternalException;
-
-/**
- * <code>ResourceAdapter</code> implementation for Generic JDBC Connector.
- *
- * @version        1.0, 02/08/05
- * @author        Evani Sai Surya Kiran
- */
-public class ResourceAdapter implements jakarta.resource.spi.ResourceAdapter {
-
-    public String raProp = null;
-
-    /**
-     * Empty method implementation for endpointActivation
-     * which just throws <code>NotSupportedException</code>
-     *
-     * @param        mef        <code>MessageEndpointFactory</code>
-     * @param        as        <code>ActivationSpec</code>
-     * @throws        <code>NotSupportedException</code>
-     */
-    public void endpointActivation(MessageEndpointFactory mef, ActivationSpec as) throws NotSupportedException {
-        throw new NotSupportedException("This method is not supported for this JDBC connector");
-    }
-
-    /**
-     * Empty method implementation for endpointDeactivation
-     *
-     * @param        mef        <code>MessageEndpointFactory</code>
-     * @param        as        <code>ActivationSpec</code>
-     */
-    public void endpointDeactivation(MessageEndpointFactory mef, ActivationSpec as) {
-
-    }
-
-    /**
-     * Empty method implementation for getXAResources
-     * which just throws <code>NotSupportedException</code>
-     *
-     * @param        specs        <code>ActivationSpec</code> array
-     * @throws        <code>NotSupportedException</code>
-     */
-    public XAResource[] getXAResources(ActivationSpec[] specs) throws NotSupportedException {
-        throw new NotSupportedException("This method is not supported for this JDBC connector");
-    }
-
-    /**
-     * Empty implementation of start method
-     *
-     * @param        ctx        <code>BootstrapContext</code>
-     */
-    public void start(BootstrapContext ctx) throws ResourceAdapterInternalException {
-        System.out.println("Resource Adapter is starting with configuration :" + raProp);
-        if (raProp == null || !raProp.equals("VALID")) {
-            throw new ResourceAdapterInternalException("Resource adapter cannot start. It is configured as : " + raProp);
-        }
-    }
-
-    /**
-     * Empty implementation of stop method
-     */
-    public void stop() {
-
-    }
-
-    public void setRAProperty(String s) {
-        raProp = s;
-    }
-
-    public String getRAProperty() {
-        return raProp;
-    }
-
-}
diff --git a/appserver/tests/appserv-tests/devtests/connector/embeddedweb/ra/src/com/sun/jdbcra/spi/1.4/build.xml b/appserver/tests/appserv-tests/devtests/connector/embeddedweb/ra/src/com/sun/jdbcra/spi/1.4/build.xml
deleted file mode 100644
index e006b1d..0000000
--- a/appserver/tests/appserv-tests/devtests/connector/embeddedweb/ra/src/com/sun/jdbcra/spi/1.4/build.xml
+++ /dev/null
@@ -1,83 +0,0 @@
-<?xml version="1.0"?>
-<!--
-
-    Copyright (c) 2017, 2018 Oracle and/or its affiliates. All rights reserved.
-
-    This program and the accompanying materials are made available under the
-    terms of the Eclipse Public License v. 2.0, which is available at
-    http://www.eclipse.org/legal/epl-2.0.
-
-    This Source Code may also be made available under the following Secondary
-    Licenses when the conditions for such availability set forth in the
-    Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
-    version 2 with the GNU Classpath Exception, which is available 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 name="jdbc_connector" basedir="${gjc.home}" default="build">
-  <property name="pkg.dir" value="com/sun/gjc/spi"/>
-
-  <target name="clean">
-    <ant antfile="build.xml" dir="${gjc.home}/bin" target="clean"/>
-  </target>
-
-  <target name="compile14">
-    <ant antfile="build.xml" dir="${gjc.home}/bin" target="compile14"/>
-  </target>
-
-  <target name="package14">
-
-            <mkdir dir="${gjc.home}/dist/spi/1.5"/>
-
-        <jar jarfile="${gjc.home}/dist/spi/1.5/jdbc.jar" basedir="${class.dir}"
-        includes="${pkg.dir}/**/*, com/sun/gjc/util/**/*, com/sun/gjc/common/**/*" excludes="com/sun/gjc/cci/**/*,com/sun/gjc/spi/1.4/**/*"/>
-
-        <jar jarfile="${gjc.home}/dist/spi/1.5/__cp.rar" basedir="${gjc.home}/dist/spi/1.5" includes="jdbc.jar"/>
-        <copy file="${gjc.home}/src/com/sun/gjc/spi/1.4/ra-cp.xml" tofile="${gjc.home}/dist/spi/1.5/ra.xml" overwrite="yes">
-        </copy>
-           <jar jarfile="${gjc.home}/dist/spi/1.5/__cp.rar" update="yes">
-                   <metainf dir="${gjc.home}/dist/spi/1.5">
-                           <include name="ra.xml"/>
-                   </metainf>
-           </jar>
-
-           <jar jarfile="${gjc.home}/dist/spi/1.5/__xa.rar" basedir="${gjc.home}/dist/spi/1.5" includes="jdbc.jar"/>
-        <copy file="${gjc.home}/src/com/sun/gjc/spi/1.4/ra-xa.xml" tofile="${gjc.home}/dist/spi/1.5/ra.xml" overwrite="yes">
-        </copy>
-           <jar jarfile="${gjc.home}/dist/spi/1.5/__xa.rar" update="yes">
-                   <metainf dir="${gjc.home}/dist/spi/1.5">
-                           <include name="ra.xml"/>
-                   </metainf>
-           </jar>
-
-           <jar jarfile="${gjc.home}/dist/spi/1.5/__dm.rar" basedir="${gjc.home}/dist/spi/1.5" includes="jdbc.jar"/>
-        <copy file="${gjc.home}/src/com/sun/gjc/spi/1.4/ra-dm.xml" tofile="${gjc.home}/dist/spi/1.5/ra.xml" overwrite="yes">
-        </copy>
-           <jar jarfile="${gjc.home}/dist/spi/1.5/__dm.rar" update="yes">
-                   <metainf dir="${gjc.home}/dist/spi/1.5">
-                           <include name="ra.xml"/>
-                   </metainf>
-           </jar>
-
-           <jar jarfile="${gjc.home}/dist/spi/1.5/__ds.rar" basedir="${gjc.home}/dist/spi/1.5" includes="jdbc.jar"/>
-        <copy file="${gjc.home}/src/com/sun/gjc/spi/1.4/ra-ds.xml" tofile="${gjc.home}/dist/spi/1.5/ra.xml" overwrite="yes">
-        </copy>
-           <jar jarfile="${gjc.home}/dist/spi/1.5/__ds.rar" update="yes">
-                   <metainf dir="${gjc.home}/dist/spi/1.5">
-                           <include name="ra.xml"/>
-                   </metainf>
-           </jar>
-
-           <delete dir="${gjc.home}/dist/com"/>
-           <delete file="${gjc.home}/dist/spi/1.5/jdbc.jar"/>
-           <delete file="${gjc.home}/dist/spi/1.5/ra.xml"/>
-
-  </target>
-
-  <target name="build14" depends="compile14, package14"/>
-    <target name="build13"/>
-        <target name="build" depends="build14, build13"/>
-</project>
diff --git a/appserver/tests/appserv-tests/devtests/connector/embeddedweb/ra/src/com/sun/jdbcra/spi/1.4/ra-ds.xml b/appserver/tests/appserv-tests/devtests/connector/embeddedweb/ra/src/com/sun/jdbcra/spi/1.4/ra-ds.xml
deleted file mode 100644
index 65338d1..0000000
--- a/appserver/tests/appserv-tests/devtests/connector/embeddedweb/ra/src/com/sun/jdbcra/spi/1.4/ra-ds.xml
+++ /dev/null
@@ -1,257 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
-
-    Copyright (c) 2017, 2018 Oracle and/or its affiliates. All rights reserved.
-
-    This program and the accompanying materials are made available under the
-    terms of the Eclipse Public License v. 2.0, which is available at
-    http://www.eclipse.org/legal/epl-2.0.
-
-    This Source Code may also be made available under the following Secondary
-    Licenses when the conditions for such availability set forth in the
-    Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
-    version 2 with the GNU Classpath Exception, which is available at
-    https://www.gnu.org/software/classpath/license.html.
-
-    SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
-
--->
-
-<connector xmlns="http://java.sun.com/xml/ns/j2ee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-           xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/connector_1_5.xsd"
-           version="1.5">
-
-    <!-- There can be any number of "description" elements including 0 -->
-    <!-- This field can be optionally used by the driver vendor to provide a
-         description for the resource adapter.
-    -->
-    <description>Resource adapter wrapping Datasource implementation of driver</description>
-
-    <!-- There can be any number of "display-name" elements including 0 -->
-    <!-- The field can be optionally used by the driver vendor to provide a name that
-         is intended to be displayed by tools.
-    -->
-    <display-name>DataSource Resource Adapter</display-name>
-
-    <!-- There can be any number of "icon" elements including 0 -->
-    <!-- The following is an example.
-        <icon>
-            This "small-icon" element can occur atmost once. This should specify the
-            absolute or the relative path name of a file containing a small (16 x 16)
-            icon - JPEG or GIF image. The following is an example.
-            <small-icon>smallicon.jpg</small-icon>
-
-            This "large-icon" element can occur atmost once. This should specify the
-            absolute or the relative path name of a file containing a small (32 x 32)
-            icon - JPEG or GIF image. The following is an example.
-            <large-icon>largeicon.jpg</large-icon>
-        </icon>
-    -->
-    <icon>
-        <small-icon></small-icon>
-        <large-icon></large-icon>
-    </icon>
-
-    <!-- The "vendor-name" element should occur exactly once. -->
-    <!-- This should specify the name of the driver vendor. The following is an example.
-        <vendor-name>XYZ INC.</vendor-name>
-    -->
-    <vendor-name>Sun Microsystems</vendor-name>
-
-    <!-- The "eis-type" element should occur exactly once. -->
-    <!-- This should specify the database, for example the product name of
-         the database independent of any version information. The following
-         is an example.
-        <eis-type>XYZ</eis-type>
-    -->
-    <eis-type>Database</eis-type>
-
-    <!-- The "resourceadapter-version" element should occur exactly once. -->
-    <!-- This specifies a string based version of the resource adapter from
-         the driver vendor. The default is being set as 1.0. The driver
-         vendor can change it as required.
-    -->
-    <resourceadapter-version>1.0</resourceadapter-version>
-
-    <!-- This "license" element can occur atmost once -->
-    <!-- This specifies licensing requirements for the resource adapter module.
-         The following is an example.
-        <license>
-            There can be any number of "description" elements including 0.
-            <description>
-                This field can be optionally used by the driver vendor to
-                provide a description for the licensing requirements of the
-                resource adapter like duration of license, numberof connection
-                restrictions.
-            </description>
-
-            This specifies whether a license is required to deploy and use the resource adapter.
-            Default is false.
-            <license-required>false</license-required>
-        </license>
-    -->
-    <license>
-        <license-required>false</license-required>
-    </license>
-
-    <resourceadapter>
-
-        <!--
-            The "config-property" elements can have zero or more "description"
-            elements. The "description" elements are not being included
-            in the "config-property" elements below. The driver vendor can
-            add them as required.
-        -->
-
-        <resourceadapter-class>com.sun.jdbcra.spi.ResourceAdapter</resourceadapter-class>
-
-        <outbound-resourceadapter>
-
-            <connection-definition>
-
-                <managedconnectionfactory-class>com.sun.jdbcra.spi.DSManagedConnectionFactory</managedconnectionfactory-class>
-
-                <!-- There can be any number of these elements including 0 -->
-                <config-property>
-                    <config-property-name>ServerName</config-property-name>
-                    <config-property-type>java.lang.String</config-property-type>
-                    <config-property-value>localhost</config-property-value>
-                </config-property>
-                <config-property>
-                    <config-property-name>PortNumber</config-property-name>
-                    <config-property-type>java.lang.String</config-property-type>
-                    <config-property-value>9092</config-property-value>
-                </config-property>
-                <config-property>
-                    <config-property-name>User</config-property-name>
-                    <config-property-type>java.lang.String</config-property-type>
-                    <config-property-value>DBUSER</config-property-value>
-                </config-property>
-                <config-property>
-                    <config-property-name>Password</config-property-name>
-                    <config-property-type>java.lang.String</config-property-type>
-                    <config-property-value>DBPASSWORD</config-property-value>
-                </config-property>
-                <config-property>
-                    <config-property-name>DatabaseName</config-property-name>
-                    <config-property-type>java.lang.String</config-property-type>
-                    <config-property-value>jdbc:pointbase:server://localhost:9092/sqe-samples,new</config-property-value>
-                </config-property>
-                <config-property>
-                    <config-property-name>DataSourceName</config-property-name>
-                    <config-property-type>java.lang.String</config-property-type>
-                    <config-property-value></config-property-value>
-                </config-property>
-                <config-property>
-                    <config-property-name>Description</config-property-name>
-                    <config-property-type>java.lang.String</config-property-type>
-                    <config-property-value>Oracle thin driver Datasource</config-property-value>
-                 </config-property>
-                <config-property>
-                    <config-property-name>NetworkProtocol</config-property-name>
-                    <config-property-type>java.lang.String</config-property-type>
-                    <config-property-value></config-property-value>
-                </config-property>
-                <config-property>
-                    <config-property-name>RoleName</config-property-name>
-                    <config-property-type>java.lang.String</config-property-type>
-                    <config-property-value></config-property-value>
-                </config-property>
-                <config-property>
-                    <config-property-name>LoginTimeOut</config-property-name>
-                    <config-property-type>java.lang.String</config-property-type>
-                    <config-property-value>0</config-property-value>
-                </config-property>
-                <config-property>
-                    <config-property-name>DriverProperties</config-property-name>
-                    <config-property-type>java.lang.String</config-property-type>
-                    <config-property-value></config-property-value>
-                </config-property>
-                <config-property>
-                    <config-property-name>Delimiter</config-property-name>
-                    <config-property-type>java.lang.String</config-property-type>
-                    <config-property-value>#</config-property-value>
-                </config-property>
-                <config-property>
-                    <config-property-name>ClassName</config-property-name>
-                    <config-property-type>java.lang.String</config-property-type>
-                    <config-property-value>com.pointbase.jdbc.jdbcDataSource</config-property-value>
-                </config-property>
-                      <config-property>
-                        <config-property-name>ConnectionValidationRequired</config-property-name>
-                        <config-property-type>java.lang.String</config-property-type>
-                        <config-property-value>false</config-property-value>
-                </config-property>
-                <config-property>
-                        <config-property-name>ValidationMethod</config-property-name>
-                        <config-property-type>java.lang.String</config-property-type>
-                        <config-property-value></config-property-value>
-                </config-property>
-                <config-property>
-                        <config-property-name>ValidationTableName</config-property-name>
-                        <config-property-type>java.lang.String</config-property-type>
-                        <config-property-value></config-property-value>
-                </config-property>
-                <config-property>
-                        <config-property-name>TransactionIsolation</config-property-name>
-                        <config-property-type>java.lang.String</config-property-type>
-                        <config-property-value></config-property-value>
-                </config-property>
-                <config-property>
-                        <config-property-name>GuaranteeIsolationLevel</config-property-name>
-                        <config-property-type>java.lang.String</config-property-type>
-                        <config-property-value></config-property-value>
-                </config-property>
-
-                <connectionfactory-interface>javax.sql.DataSource</connectionfactory-interface>
-
-                <connectionfactory-impl-class>com.sun.jdbcra.spi.DataSource</connectionfactory-impl-class>
-
-                <connection-interface>java.sql.Connection</connection-interface>
-
-                <connection-impl-class>com.sun.jdbcra.spi.ConnectionHolder</connection-impl-class>
-
-            </connection-definition>
-
-            <transaction-support>LocalTransaction</transaction-support>
-
-            <authentication-mechanism>
-                <!-- There can be any number of "description" elements including 0 -->
-                <!-- Not including the "description" element -->
-
-                <authentication-mechanism-type>BasicPassword</authentication-mechanism-type>
-
-                <credential-interface>javax.resource.spi.security.PasswordCredential</credential-interface>
-            </authentication-mechanism>
-
-            <reauthentication-support>false</reauthentication-support>
-
-        </outbound-resourceadapter>
-        <adminobject>
-               <adminobject-interface>com.sun.jdbcra.spi.JdbcSetupAdmin</adminobject-interface>
-               <adminobject-class>com.sun.jdbcra.spi.JdbcSetupAdminImpl</adminobject-class>
-               <config-property>
-                   <config-property-name>TableName</config-property-name>
-                   <config-property-type>java.lang.String</config-property-type>
-                   <config-property-value></config-property-value>
-               </config-property>
-               <config-property>
-                   <config-property-name>SchemaName</config-property-name>
-                   <config-property-type>java.lang.String</config-property-type>
-                   <config-property-value></config-property-value>
-               </config-property>
-               <config-property>
-                   <config-property-name>JndiName</config-property-name>
-                   <config-property-type>java.lang.String</config-property-type>
-                   <config-property-value></config-property-value>
-               </config-property>
-               <config-property>
-                   <config-property-name>NoOfRows</config-property-name>
-                   <config-property-type>java.lang.Integer</config-property-type>
-                   <config-property-value>0</config-property-value>
-               </config-property>
-        </adminobject>
-
-    </resourceadapter>
-
-</connector>
diff --git a/appserver/tests/appserv-tests/devtests/connector/embeddedweb/ra/src/com/sun/jdbcra/spi/DataSource.java b/appserver/tests/appserv-tests/devtests/connector/embeddedweb/ra/src/com/sun/jdbcra/spi/DataSource.java
deleted file mode 100644
index 4b12d49..0000000
--- a/appserver/tests/appserv-tests/devtests/connector/embeddedweb/ra/src/com/sun/jdbcra/spi/DataSource.java
+++ /dev/null
@@ -1,215 +0,0 @@
-/*
- * Copyright (c) 2003, 2018 Oracle and/or its affiliates. All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v. 2.0, which is available at
- * http://www.eclipse.org/legal/epl-2.0.
- *
- * This Source Code may also be made available under the following Secondary
- * Licenses when the conditions for such availability set forth in the
- * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
- * version 2 with the GNU Classpath Exception, which is available at
- * https://www.gnu.org/software/classpath/license.html.
- *
- * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
- */
-
-package com.sun.jdbcra.spi;
-
-import java.io.PrintWriter;
-import java.sql.Connection;
-import java.sql.SQLException;
-import jakarta.resource.spi.ManagedConnectionFactory;
-import jakarta.resource.spi.ConnectionManager;
-import jakarta.resource.ResourceException;
-import javax.naming.Reference;
-
-import java.sql.SQLFeatureNotSupportedException;
-import java.util.logging.Logger;
-import java.util.logging.Level;
-/**
- * Holds the <code>java.sql.Connection</code> object, which is to be
- * passed to the application program.
- *
- * @version        1.0, 02/07/31
- * @author        Binod P.G
- */
-public class DataSource implements javax.sql.DataSource, java.io.Serializable,
-                com.sun.appserv.jdbcra.DataSource, jakarta.resource.Referenceable{
-
-    private ManagedConnectionFactory mcf;
-    private ConnectionManager cm;
-    private int loginTimeout;
-    private PrintWriter logWriter;
-    private String description;
-    private Reference reference;
-
-    private static Logger _logger;
-    static {
-        _logger = Logger.getAnonymousLogger();
-    }
-    private boolean debug = false;
-
-    /**
-     * Constructs <code>DataSource</code> object. This is created by the
-     * <code>ManagedConnectionFactory</code> object.
-     *
-     * @param        mcf        <code>ManagedConnectionFactory</code> object
-     *                        creating this object.
-     * @param        cm        <code>ConnectionManager</code> object either associated
-     *                        with Application server or Resource Adapter.
-     */
-    public DataSource (ManagedConnectionFactory mcf, ConnectionManager cm) {
-            this.mcf = mcf;
-            if (cm == null) {
-                this.cm = (ConnectionManager) new com.sun.jdbcra.spi.ConnectionManager();
-            } else {
-                this.cm = cm;
-            }
-    }
-
-    /**
-     * Retrieves the <code> Connection </code> object.
-     *
-     * @return        <code> Connection </code> object.
-     * @throws SQLException In case of an error.
-     */
-    public Connection getConnection() throws SQLException {
-            try {
-                return (Connection) cm.allocateConnection(mcf,null);
-            } catch (ResourceException re) {
-// This is temporary. This needs to be changed to SEVERE after TP
-            _logger.log(Level.WARNING, "jdbc.exc_get_conn", re.getMessage());
-                throw new SQLException (re.getMessage());
-            }
-    }
-
-    /**
-     * Retrieves the <code> Connection </code> object.
-     *
-     * @param        user        User name for the Connection.
-     * @param        pwd        Password for the Connection.
-     * @return        <code> Connection </code> object.
-     * @throws SQLException In case of an error.
-     */
-    public Connection getConnection(String user, String pwd) throws SQLException {
-            try {
-                ConnectionRequestInfo info = new ConnectionRequestInfo (user, pwd);
-                return (Connection) cm.allocateConnection(mcf,info);
-            } catch (ResourceException re) {
-// This is temporary. This needs to be changed to SEVERE after TP
-            _logger.log(Level.WARNING, "jdbc.exc_get_conn", re.getMessage());
-                throw new SQLException (re.getMessage());
-            }
-    }
-
-    /**
-     * Retrieves the actual SQLConnection from the Connection wrapper
-     * implementation of SunONE application server. If an actual connection is
-     * supplied as argument, then it will be just returned.
-     *
-     * @param con Connection obtained from <code>Datasource.getConnection()</code>
-     * @return <code>java.sql.Connection</code> implementation of the driver.
-     * @throws <code>java.sql.SQLException</code> If connection cannot be obtained.
-     */
-    public Connection getConnection(Connection con) throws SQLException {
-
-        Connection driverCon = con;
-        if (con instanceof com.sun.jdbcra.spi.ConnectionHolder) {
-           driverCon = ((com.sun.jdbcra.spi.ConnectionHolder) con).getConnection();
-        }
-
-        return driverCon;
-    }
-
-    /**
-     * Get the login timeout
-     *
-     * @return login timeout.
-     * @throws        SQLException        If a database error occurs.
-     */
-    public int getLoginTimeout() throws SQLException{
-            return        loginTimeout;
-    }
-
-    @Override
-    public Logger getParentLogger() throws SQLFeatureNotSupportedException {
-        return null;
-    }
-
-    /**
-     * Set the login timeout
-     *
-     * @param        loginTimeout        Login timeout.
-     * @throws        SQLException        If a database error occurs.
-     */
-    public void setLoginTimeout(int loginTimeout) throws SQLException{
-            this.loginTimeout = loginTimeout;
-    }
-
-    /**
-     * Get the logwriter object.
-     *
-     * @return <code> PrintWriter </code> object.
-     * @throws        SQLException        If a database error occurs.
-     */
-    public PrintWriter getLogWriter() throws SQLException{
-            return        logWriter;
-    }
-
-    /**
-     * Set the logwriter on this object.
-     *
-     * @param <code>PrintWriter</code> object.
-     * @throws        SQLException        If a database error occurs.
-     */
-    public void setLogWriter(PrintWriter logWriter) throws SQLException{
-            this.logWriter = logWriter;
-    }
-
-    /**
-     * Retrieves the description.
-     *
-     * @return        Description about the DataSource.
-     */
-    public String getDescription() {
-            return description;
-    }
-
-    /**
-     * Set the description.
-     *
-     * @param description Description about the DataSource.
-     */
-    public void setDescription(String description) {
-            this.description = description;
-    }
-
-    /**
-     * Get the reference.
-     *
-     * @return <code>Reference</code>object.
-     */
-    public Reference getReference() {
-            return reference;
-    }
-
-    /**
-     * Get the reference.
-     *
-     * @param        reference <code>Reference</code> object.
-     */
-    public void setReference(Reference reference) {
-            this.reference = reference;
-    }
-
-    @Override
-    public <T> T unwrap(Class<T> iface) throws SQLException {
-        return null;
-    }
-
-    @Override
-    public boolean isWrapperFor(Class<?> iface) throws SQLException {
-        return false;
-    }
-}
diff --git a/appserver/tests/appserv-tests/devtests/connector/embeddedweb/ra/src/com/sun/jdbcra/spi/JdbcSetupAdminImpl.java b/appserver/tests/appserv-tests/devtests/connector/embeddedweb/ra/src/com/sun/jdbcra/spi/JdbcSetupAdminImpl.java
deleted file mode 100644
index 82c50b5..0000000
--- a/appserver/tests/appserv-tests/devtests/connector/embeddedweb/ra/src/com/sun/jdbcra/spi/JdbcSetupAdminImpl.java
+++ /dev/null
@@ -1,182 +0,0 @@
-/*
- * Copyright (c) 2017, 2018 Oracle and/or its affiliates. All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v. 2.0, which is available at
- * http://www.eclipse.org/legal/epl-2.0.
- *
- * This Source Code may also be made available under the following Secondary
- * Licenses when the conditions for such availability set forth in the
- * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
- * version 2 with the GNU Classpath Exception, which is available at
- * https://www.gnu.org/software/classpath/license.html.
- *
- * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
- */
-
-package com.sun.jdbcra.spi;
-
-import javax.naming.*;
-import javax.sql.*;
-import java.sql.*;
-// import javax.sql.DataSource;
-public class JdbcSetupAdminImpl implements JdbcSetupAdmin {
-
-    private String tableName;
-
-    private String jndiName;
-
-    private String schemaName;
-
-    private Integer noOfRows;
-
-    public void setTableName(String db) {
-        tableName = db;
-    }
-
-    public String getTableName(){
-        return tableName;
-    }
-
-    public void setJndiName(String name){
-        jndiName = name;
-    }
-
-    public String getJndiName() {
-        return jndiName;
-    }
-
-    public void setSchemaName(String name){
-        schemaName = name;
-    }
-
-    public String getSchemaName() {
-        return schemaName;
-    }
-
-    public void setNoOfRows(Integer i) {
-        System.out.println("Setting no of rows :" + i);
-        noOfRows = i;
-    }
-
-    public Integer getNoOfRows() {
-        return noOfRows;
-    }
-
-private void printHierarchy(ClassLoader cl, int cnt){
-while(cl != null) {
-        for(int i =0; i < cnt; i++)
-                System.out.print(" " );
-        System.out.println("PARENT :" + cl);
-        cl = cl.getParent();
-        cnt += 3;
-}
-}
-
-private void compareHierarchy(ClassLoader cl1, ClassLoader cl2 , int cnt){
-while(cl1 != null || cl2 != null) {
-        for(int i =0; i < cnt; i++)
-                System.out.print(" " );
-        System.out.println("PARENT of ClassLoader 1 :" + cl1);
-        System.out.println("PARENT of ClassLoader 2 :" + cl2);
-        System.out.println("EQUALS : " + (cl1 == cl2));
-        cl1 = cl1.getParent();
-        cl2 = cl2.getParent();
-        cnt += 3;
-}
-}
-
-
-    public boolean checkSetup(){
-
-        if (jndiName== null || jndiName.trim().equals("")) {
-           return false;
-        }
-
-        if (tableName== null || tableName.trim().equals("")) {
-           return false;
-        }
-
-        Connection con = null;
-        Statement s = null;
-        ResultSet rs = null;
-        boolean b = false;
-        try {
-            InitialContext ic = new InitialContext();
-        //debug
-        Class clz = DataSource.class;
-/*
-        if(clz.getClassLoader() != null) {
-                System.out.println("DataSource's clasxs : " +  clz.getName() +  " classloader " + clz.getClassLoader());
-                printHierarchy(clz.getClassLoader().getParent(), 8);
-        }
-        Class cls = ic.lookup(jndiName).getClass();
-        System.out.println("Looked up class's : " + cls.getPackage() + ":" + cls.getName()  + " classloader "  + cls.getClassLoader());
-        printHierarchy(cls.getClassLoader().getParent(), 8);
-
-        System.out.println("Classloaders equal ? " +  (clz.getClassLoader() == cls.getClassLoader()));
-        System.out.println("&*&*&*&* Comparing Hierachy DataSource vs lookedup");
-        if(clz.getClassLoader() != null) {
-                compareHierarchy(clz.getClassLoader(), cls.getClassLoader(), 8);
-        }
-
-        System.out.println("Before lookup");
-*/
-        Object o = ic.lookup(jndiName);
-//        System.out.println("after lookup lookup");
-
-            DataSource ds = (DataSource)o ;
-/*
-        System.out.println("after cast");
-        System.out.println("---------- Trying our Stuff !!!");
-        try {
-                Class o1 = (Class.forName("com.sun.jdbcra.spi.DataSource"));
-                ClassLoader cl1 = o1.getClassLoader();
-                ClassLoader cl2 = DataSource.class.getClassLoader();
-                System.out.println("Cl1 == Cl2" + (cl1 == cl2));
-                System.out.println("Classes equal" + (DataSource.class == o1));
-        } catch (Exception ex) {
-                ex.printStackTrace();
-        }
-*/
-            con = ds.getConnection();
-            String fullTableName = tableName;
-            if (schemaName != null && (!(schemaName.trim().equals("")))) {
-                fullTableName = schemaName.trim() + "." + fullTableName;
-            }
-            String qry = "select * from " + fullTableName;
-
-            System.out.println("Executing query :" + qry);
-
-            s = con.createStatement();
-            rs = s.executeQuery(qry);
-
-            int i = 0;
-            if (rs.next()) {
-                i++;
-            }
-
-            System.out.println("No of rows found:" + i);
-            System.out.println("No of rows expected:" + noOfRows);
-
-            if (i == noOfRows.intValue()) {
-               b = true;
-            } else {
-               b = false;
-            }
-        } catch(Exception e) {
-            e.printStackTrace();
-            b = false;
-        } finally {
-            try {
-                if (rs != null) rs.close();
-                if (s != null) s.close();
-                if (con != null) con.close();
-            } catch (Exception e) {
-            }
-        }
-        System.out.println("Returning setup :" +b);
-        return b;
-    }
-
-}
diff --git a/appserver/tests/appserv-tests/devtests/connector/embeddedweb/ra/src/com/sun/jdbcra/spi/build.xml b/appserver/tests/appserv-tests/devtests/connector/embeddedweb/ra/src/com/sun/jdbcra/spi/build.xml
deleted file mode 100644
index 7ca9cfb..0000000
--- a/appserver/tests/appserv-tests/devtests/connector/embeddedweb/ra/src/com/sun/jdbcra/spi/build.xml
+++ /dev/null
@@ -1,41 +0,0 @@
-<?xml version="1.0"?>
-<!--
-
-    Copyright (c) 2017, 2018 Oracle and/or its affiliates. All rights reserved.
-
-    This program and the accompanying materials are made available under the
-    terms of the Eclipse Public License v. 2.0, which is available at
-    http://www.eclipse.org/legal/epl-2.0.
-
-    This Source Code may also be made available under the following Secondary
-    Licenses when the conditions for such availability set forth in the
-    Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
-    version 2 with the GNU Classpath Exception, which is available 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 name="jdbc_connector" basedir="${gjc.home}" default="build">
-  <property name="pkg.dir" value="com/sun/gjc/spi"/>
-
-  <target name="clean">
-    <ant antfile="build.xml" dir="${gjc.home}/bin" target="clean"/>
-  </target>
-
-  <target name="compile13">
-    <ant antfile="build.xml" dir="${gjc.home}/bin" target="compile13"/>
-  </target>
-
-  <target name="build13" depends="compile13">
-  </target>
-
-  <target name="compile14">
-    <ant antfile="build.xml" dir="${gjc.home}/bin" target="compile14"/>
-  </target>
-
-  <target name="build14" depends="compile14"/>
-
-        <target name="build" depends="build13, build14"/>
-</project>
diff --git a/appserver/tests/appserv-tests/devtests/connector/embeddedweb/ra/src/com/sun/jdbcra/util/build.xml b/appserver/tests/appserv-tests/devtests/connector/embeddedweb/ra/src/com/sun/jdbcra/util/build.xml
deleted file mode 100644
index f060e7d..0000000
--- a/appserver/tests/appserv-tests/devtests/connector/embeddedweb/ra/src/com/sun/jdbcra/util/build.xml
+++ /dev/null
@@ -1,48 +0,0 @@
-<?xml version="1.0"?>
-<!--
-
-    Copyright (c) 2017, 2018 Oracle and/or its affiliates. All rights reserved.
-
-    This program and the accompanying materials are made available under the
-    terms of the Eclipse Public License v. 2.0, which is available at
-    http://www.eclipse.org/legal/epl-2.0.
-
-    This Source Code may also be made available under the following Secondary
-    Licenses when the conditions for such availability set forth in the
-    Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
-    version 2 with the GNU Classpath Exception, which is available 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 name="jdbc_connector" basedir="." default="build">
-  <property name="pkg.dir" value="com/sun/gjc/util"/>
-
-  <target name="clean">
-    <ant antfile="build.xml" dir="${gjc.home}/bin" target="clean"/>
-  </target>
-
-  <target name="compile">
-    <ant antfile="build.xml" dir="${gjc.home}/bin" target="compile"/>
-  </target>
-
-  <target name="package">
-    <mkdir dir="${dist.dir}/${pkg.dir}"/>
-      <jar jarfile="${dist.dir}/${pkg.dir}/util.jar" basedir="${class.dir}"
-        includes="${pkg.dir}/**/*"/>
-  </target>
-
-  <target name="compile13" depends="compile"/>
-  <target name="compile14" depends="compile"/>
-
-  <target name="package13" depends="package"/>
-  <target name="package14" depends="package"/>
-
-  <target name="build13" depends="compile13, package13"/>
-  <target name="build14" depends="compile14, package14"/>
-
-  <target name="build" depends="build13, build14"/>
-
-</project>
diff --git a/appserver/tests/appserv-tests/devtests/connector/mq/cmt/build.xml b/appserver/tests/appserv-tests/devtests/connector/mq/cmt/build.xml
index c3e3339..1ecbd34 100644
--- a/appserver/tests/appserv-tests/devtests/connector/mq/cmt/build.xml
+++ b/appserver/tests/appserv-tests/devtests/connector/mq/cmt/build.xml
@@ -33,84 +33,83 @@
     &commonRun;
     &testproperties;
 
-    <target name="all" depends="configure-container,build,setup,deploy,run,undeploy,unsetup"/>
-    <target name="test" depends="build,setup,deploy,run,undeploy,unsetup"/>
-    <target name="run-test" depends="build,deploy,run,undeploy"/>
+    <target name="all" depends="configure-container,build,setup,deploy,run,undeploy,unsetup" />
+  <target name="test" depends="build,setup,deploy,run,undeploy,unsetup" />
+  <target name="run-test" depends="build,deploy,run,undeploy" />
 
-    <target name="clean" depends="init-common">
-      <antcall  target="clean-common"/>
-    </target>
+  <target name="clean" depends="init-common">
+    <antcall target="clean-common" />
+  </target>
 
-    <target name="compile" depends="clean">
-        <antcall target="compile-common">
-            <param name="src" value="ejb"/>
-        </antcall>
-        <antcall target="compile-common">
-            <param name="src" value="client"/>
-        </antcall>
-    </target>
+  <target name="compile" depends="clean">
+    <antcall target="compile-common">
+      <param name="src" value="ejb" />
+    </antcall>
+    <antcall target="compile-common">
+      <param name="src" value="client" />
+    </antcall>
+  </target>
 
-    <target name="build" depends="compile">
-        <antcall target="build-ear-common">
-            <param name="ejbjar.classes"
-              value="**/*Bean*.class" />
-            <param name="appclientjar.classes"
-              value="**/*Client*.class" />
-        </antcall>
-    </target>
+  <target name="build" depends="compile">
+    <antcall target="build-ear-common">
+      <param name="ejbjar.classes" value="**/*Bean*.class" />
+      <param name="appclientjar.classes" value="**/*Client*.class" />
+    </antcall>
+  </target>
 
-    <target name="configure-container" depends="init-common">
-       <!-- Workaround for issue 18783 -->
-        <antcall target="asadmin-common">
-            <param name="admin.command" value="create-module-config"/>
-            <param name="operand.props"
-                   value="mdb-container"/>
-       </antcall>
-        <antcall target="asadmin-common">
-            <param name="admin.command" value="set"/>
-            <param name="operand.props" value="server.mdb-container.property.cmt-max-runtime-exceptions=4"/>
-        </antcall>
-        <antcall target="restart-server-instance-common"/>
-    </target>
+  <target name="configure-container" depends="init-common">
+    <!-- Workaround for issue 18783 -->
+    <antcall target="asadmin-common">
+      <param name="admin.command" value="create-module-config" />
+      <param name="operand.props" value="mdb-container" />
+    </antcall>
+    <antcall target="asadmin-common">
+      <param name="admin.command" value="set" />
+      <param name="operand.props"
+             value="server.mdb-container.property.cmt-max-runtime-exceptions=4"
+      />
+    </antcall>
+    <antcall target="restart-server-instance-common" />
+  </target>
 
-    <target name="setup" depends="init-common">
-        <antcall target="deploy-jms-common"/>
-    </target>
+  <target name="setup" depends="init-common">
+    <antcall target="deploy-jms-common" />
+  </target>
 
-    <target name="deploy" depends="init-common">
-        <antcall target="execute-sql-connector">
-            <param name="sql.file" value="sql/create_pointbase.sql"/>
-        </antcall>
-        <antcall target="deploy-common"/>
-    </target>
+  <target name="deploy" depends="init-common">
+    <antcall target="execute-sql-connector">
+      <param name="sql.file" value="sql/create_pointbase.sql" />
+    </antcall>
+    <antcall target="deploy-common" />
+  </target>
 
-    <target name="run" depends="init-common">
-      <property file="${env.APS_HOME}/devtests/connector/config/oracle.properties"/>
-      <exec executable="${APPCLIENT}" failonerror="false">
-          <env key="APPCPATH" value="${env.S1AS_HOME}/domains/domain1/lib/ext/Oranxo.jar:${env.APS_HOME}/lib/reporter.jar"/>
-          <arg line="-client ${assemble.dir}/${appname}AppClient.jar"/>
-          <arg line="-name ${appname}Client"/>
-          <arg line="-textauth"/>
-          <arg line="-user j2ee"/>
-          <arg line="-password j2ee"/>
-          <arg line=" ${oracleForConnector.driver} ${oracleForConnector.url} ${oracleForConnector.user} ${oracleForConnector.pwd} "/>
-          <arg line="-xml ${env.S1AS_HOME}/domains/${admin.domain}/config/glassfish-acc.xml"/>
-       </exec>
-    </target>
+  <target name="run" depends="init-common">
+    <property file="${env.APS_HOME}/config/derby.properties" />
+    <exec executable="${APPCLIENT}" failonerror="true">
+      <env key="APPCPATH" value="${env.APS_HOME}/lib/reporter.jar" />
+      <arg line="-client ${assemble.dir}/${appname}AppClient.jar" />
+      <arg line="-name ${appname}Client" />
+      <arg line="-textauth" />
+      <arg line="-user j2ee" />
+      <arg line="-password j2ee" />
+      <arg line="-xml ${env.S1AS_HOME}/domains/${admin.domain}/config/glassfish-acc.xml" />
+      <arg line=" ${db.driver} ${db.url} ${db.user} ${db.pwd} " />
+    </exec>
+  </target>
 
-    <target name="undeploy" depends="init-common">
-        <antcall target="undeploy-common"/>
-        <antcall target="execute-sql-connector">
-            <param name="sql.file" value="sql/drop_pointbase.sql"/>
-        </antcall>
-    </target>
+  <target name="undeploy" depends="init-common">
+    <antcall target="undeploy-common" />
+    <antcall target="execute-sql-connector">
+      <param name="sql.file" value="sql/drop_pointbase.sql" />
+    </antcall>
+  </target>
 
-    <target name="unsetup" depends="init-common">
-        <antcall target="undeploy-jms-common"/>
-    </target>
+  <target name="unsetup" depends="init-common">
+    <antcall target="undeploy-jms-common" />
+  </target>
 
 
-    <target name="usage">
-        <antcall target="usage-common"/>
-    </target>
+  <target name="usage">
+    <antcall target="usage-common" />
+  </target>
 </project>
diff --git a/appserver/tests/appserv-tests/devtests/connector/mq/lifecycle/build.xml b/appserver/tests/appserv-tests/devtests/connector/mq/lifecycle/build.xml
index 12436bb..a0208a8 100644
--- a/appserver/tests/appserv-tests/devtests/connector/mq/lifecycle/build.xml
+++ b/appserver/tests/appserv-tests/devtests/connector/mq/lifecycle/build.xml
@@ -22,9 +22,10 @@
 <!ENTITY commonRun SYSTEM "./../../../../config/run.xml">
 <!ENTITY testproperties SYSTEM "./build.properties">
 <!ENTITY database SYSTEM "../../config/database.xml">
+
 ]>
 
-<project name="excptApp" default="usage" basedir=".">
+<project name="excptApp" default="all" basedir=".">
     &database;
     &commonSetup;
     &commonBuild;
@@ -70,16 +71,16 @@
     </target>
 
     <target name="run" depends="init-common">
-      <property file="${env.APS_HOME}/devtests/connector/config/oracle.properties"/>
+      <property file="${env.APS_HOME}/config/derby.properties"/>
       <exec executable="${APPCLIENT}" failonerror="true">
-          <env key="APPCPATH" value="${env.S1AS_HOME}/domains/domain1/lib/ext/Oranxo.jar:${env.APS_HOME}/lib/reporter.jar"/>
+          <env key="APPCPATH" value="${env.APS_HOME}/lib/reporter.jar"/>
           <arg line="-client ${assemble.dir}/${appname}AppClient.jar"/>
           <arg line="-name ${appname}Client"/>
           <arg line="-textauth"/>
           <arg line="-user j2ee"/>
           <arg line="-password j2ee"/>
-          <arg line=" ${oracleForConnector.driver} ${oracleForConnector.url} ${oracleForConnector.user} ${oracleForConnector.pwd} "/>
           <arg line="-xml ${env.S1AS_HOME}/domains/${admin.domain}/config/glassfish-acc.xml"/>
+          <arg line=" ${db.driver} ${db.url} ${db.user} ${db.pwd} "/>
        </exec>
     </target>
 
diff --git a/appserver/tests/appserv-tests/devtests/connector/nonstringmcfproperties/ra/src/com/sun/jdbcra/spi/1.4/ra-ds.xml b/appserver/tests/appserv-tests/devtests/connector/nonstringmcfproperties/ra/src/com/sun/jdbcra/spi/1.4/ra-ds.xml
index ae213ea..d887867 100644
--- a/appserver/tests/appserv-tests/devtests/connector/nonstringmcfproperties/ra/src/com/sun/jdbcra/spi/1.4/ra-ds.xml
+++ b/appserver/tests/appserv-tests/devtests/connector/nonstringmcfproperties/ra/src/com/sun/jdbcra/spi/1.4/ra-ds.xml
@@ -2,6 +2,7 @@
 <!--
 
     Copyright (c) 2017, 2018 Oracle and/or its affiliates. All rights reserved.
+    Copyright (c) 2022 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
@@ -17,9 +18,13 @@
 
 -->
 
-<connector xmlns="http://java.sun.com/xml/ns/j2ee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-           xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/connector_1_5.xsd"
-           version="1.5">
+<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/jakartaee_9.xsd
+       https://jakarta.ee/xml/ns/jakartaee/connector_2_0.xsd"
+    version="2.0"
+>
 
     <!-- There can be any number of "description" elements including 0 -->
     <!-- This field can be optionally used by the driver vendor to provide a
@@ -232,7 +237,7 @@
 
                 <authentication-mechanism-type>BasicPassword</authentication-mechanism-type>
 
-                <credential-interface>javax.resource.spi.security.PasswordCredential</credential-interface>
+                <credential-interface>jakarta.resource.spi.security.PasswordCredential</credential-interface>
             </authentication-mechanism>
 
             <reauthentication-support>false</reauthentication-support>
diff --git a/appserver/tests/appserv-tests/devtests/connector/nonstringraproperties/ra/META-INF/ra.xml b/appserver/tests/appserv-tests/devtests/connector/nonstringraproperties/ra/META-INF/ra.xml
index ed74085..5cd800f 100644
--- a/appserver/tests/appserv-tests/devtests/connector/nonstringraproperties/ra/META-INF/ra.xml
+++ b/appserver/tests/appserv-tests/devtests/connector/nonstringraproperties/ra/META-INF/ra.xml
@@ -2,6 +2,7 @@
 <!--
 
     Copyright (c) 2017, 2018 Oracle and/or its affiliates. All rights reserved.
+    Copyright (c) 2022 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
@@ -17,14 +18,13 @@
 
 -->
 
-<!--
-<!DOCTYPE connector PUBLIC '-//Sun Microsystems, Inc.//DTD Connector 1.5//EN' 'http://java.sun.com/dtd/connector_1_5.dtd'>
--->
-<connector xmlns="http://java.sun.com/xml/ns/j2ee"
-           xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-           xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee
-           http://java.sun.com/xml/ns/j2ee/connector_1_5.xsd"
-           version="1.5">
+<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/jakartaee_9.xsd
+       https://jakarta.ee/xml/ns/jakartaee/connector_2_0.xsd"
+    version="2.0"
+>
     <display-name>Simple Resource Adapter</display-name>
     <vendor-name>Java Software</vendor-name>
     <eis-type>Generic Type</eis-type>
diff --git a/appserver/tests/appserv-tests/devtests/connector/testdb/log/log1.dat b/appserver/tests/appserv-tests/devtests/connector/testdb/log/log1.dat
deleted file mode 100644
index eafb63b..0000000
--- a/appserver/tests/appserv-tests/devtests/connector/testdb/log/log1.dat
+++ /dev/null
Binary files differ
diff --git a/appserver/tests/appserv-tests/devtests/connector/testdb/seg0/c10.dat b/appserver/tests/appserv-tests/devtests/connector/testdb/seg0/c10.dat
deleted file mode 100644
index b02f311..0000000
--- a/appserver/tests/appserv-tests/devtests/connector/testdb/seg0/c10.dat
+++ /dev/null
Binary files differ
diff --git a/appserver/tests/appserv-tests/devtests/connector/testdb/seg0/c101.dat b/appserver/tests/appserv-tests/devtests/connector/testdb/seg0/c101.dat
deleted file mode 100644
index 1118178..0000000
--- a/appserver/tests/appserv-tests/devtests/connector/testdb/seg0/c101.dat
+++ /dev/null
Binary files differ
diff --git a/appserver/tests/appserv-tests/devtests/connector/testdb/seg0/c111.dat b/appserver/tests/appserv-tests/devtests/connector/testdb/seg0/c111.dat
deleted file mode 100644
index 71b1f8d..0000000
--- a/appserver/tests/appserv-tests/devtests/connector/testdb/seg0/c111.dat
+++ /dev/null
Binary files differ
diff --git a/appserver/tests/appserv-tests/devtests/connector/testdb/seg0/c121.dat b/appserver/tests/appserv-tests/devtests/connector/testdb/seg0/c121.dat
deleted file mode 100644
index fbf18b9..0000000
--- a/appserver/tests/appserv-tests/devtests/connector/testdb/seg0/c121.dat
+++ /dev/null
Binary files differ
diff --git a/appserver/tests/appserv-tests/devtests/connector/testdb/seg0/c130.dat b/appserver/tests/appserv-tests/devtests/connector/testdb/seg0/c130.dat
deleted file mode 100644
index 7b2a654..0000000
--- a/appserver/tests/appserv-tests/devtests/connector/testdb/seg0/c130.dat
+++ /dev/null
Binary files differ
diff --git a/appserver/tests/appserv-tests/devtests/connector/testdb/seg0/c141.dat b/appserver/tests/appserv-tests/devtests/connector/testdb/seg0/c141.dat
deleted file mode 100644
index 3d983c2..0000000
--- a/appserver/tests/appserv-tests/devtests/connector/testdb/seg0/c141.dat
+++ /dev/null
Binary files differ
diff --git a/appserver/tests/appserv-tests/devtests/connector/testdb/seg0/c150.dat b/appserver/tests/appserv-tests/devtests/connector/testdb/seg0/c150.dat
deleted file mode 100644
index e2ea576..0000000
--- a/appserver/tests/appserv-tests/devtests/connector/testdb/seg0/c150.dat
+++ /dev/null
Binary files differ
diff --git a/appserver/tests/appserv-tests/devtests/connector/testdb/seg0/c161.dat b/appserver/tests/appserv-tests/devtests/connector/testdb/seg0/c161.dat
deleted file mode 100644
index 90960e6..0000000
--- a/appserver/tests/appserv-tests/devtests/connector/testdb/seg0/c161.dat
+++ /dev/null
Binary files differ
diff --git a/appserver/tests/appserv-tests/devtests/connector/testdb/seg0/c171.dat b/appserver/tests/appserv-tests/devtests/connector/testdb/seg0/c171.dat
deleted file mode 100644
index 55d4095..0000000
--- a/appserver/tests/appserv-tests/devtests/connector/testdb/seg0/c171.dat
+++ /dev/null
Binary files differ
diff --git a/appserver/tests/appserv-tests/devtests/connector/testdb/seg0/c180.dat b/appserver/tests/appserv-tests/devtests/connector/testdb/seg0/c180.dat
deleted file mode 100644
index 10e756e..0000000
--- a/appserver/tests/appserv-tests/devtests/connector/testdb/seg0/c180.dat
+++ /dev/null
Binary files differ
diff --git a/appserver/tests/appserv-tests/devtests/connector/testdb/seg0/c191.dat b/appserver/tests/appserv-tests/devtests/connector/testdb/seg0/c191.dat
deleted file mode 100644
index aa25052..0000000
--- a/appserver/tests/appserv-tests/devtests/connector/testdb/seg0/c191.dat
+++ /dev/null
Binary files differ
diff --git a/appserver/tests/appserv-tests/devtests/connector/testdb/seg0/c1a1.dat b/appserver/tests/appserv-tests/devtests/connector/testdb/seg0/c1a1.dat
deleted file mode 100644
index 543b2da..0000000
--- a/appserver/tests/appserv-tests/devtests/connector/testdb/seg0/c1a1.dat
+++ /dev/null
Binary files differ
diff --git a/appserver/tests/appserv-tests/devtests/connector/testdb/seg0/c1b1.dat b/appserver/tests/appserv-tests/devtests/connector/testdb/seg0/c1b1.dat
deleted file mode 100644
index b5728ed..0000000
--- a/appserver/tests/appserv-tests/devtests/connector/testdb/seg0/c1b1.dat
+++ /dev/null
Binary files differ
diff --git a/appserver/tests/appserv-tests/devtests/connector/testdb/seg0/c1c0.dat b/appserver/tests/appserv-tests/devtests/connector/testdb/seg0/c1c0.dat
deleted file mode 100644
index c5b91e2..0000000
--- a/appserver/tests/appserv-tests/devtests/connector/testdb/seg0/c1c0.dat
+++ /dev/null
Binary files differ
diff --git a/appserver/tests/appserv-tests/devtests/connector/testdb/seg0/c1d1.dat b/appserver/tests/appserv-tests/devtests/connector/testdb/seg0/c1d1.dat
deleted file mode 100644
index 451f02f..0000000
--- a/appserver/tests/appserv-tests/devtests/connector/testdb/seg0/c1d1.dat
+++ /dev/null
Binary files differ
diff --git a/appserver/tests/appserv-tests/devtests/connector/testdb/seg0/c1e0.dat b/appserver/tests/appserv-tests/devtests/connector/testdb/seg0/c1e0.dat
deleted file mode 100644
index 761408d..0000000
--- a/appserver/tests/appserv-tests/devtests/connector/testdb/seg0/c1e0.dat
+++ /dev/null
Binary files differ
diff --git a/appserver/tests/appserv-tests/devtests/connector/testdb/seg0/c1f1.dat b/appserver/tests/appserv-tests/devtests/connector/testdb/seg0/c1f1.dat
deleted file mode 100644
index 78d701f..0000000
--- a/appserver/tests/appserv-tests/devtests/connector/testdb/seg0/c1f1.dat
+++ /dev/null
Binary files differ
diff --git a/appserver/tests/appserv-tests/devtests/connector/testdb/seg0/c20.dat b/appserver/tests/appserv-tests/devtests/connector/testdb/seg0/c20.dat
deleted file mode 100644
index 6f79803..0000000
--- a/appserver/tests/appserv-tests/devtests/connector/testdb/seg0/c20.dat
+++ /dev/null
Binary files differ
diff --git a/appserver/tests/appserv-tests/devtests/connector/testdb/seg0/c200.dat b/appserver/tests/appserv-tests/devtests/connector/testdb/seg0/c200.dat
deleted file mode 100644
index c3a7808..0000000
--- a/appserver/tests/appserv-tests/devtests/connector/testdb/seg0/c200.dat
+++ /dev/null
Binary files differ
diff --git a/appserver/tests/appserv-tests/devtests/connector/testdb/seg0/c211.dat b/appserver/tests/appserv-tests/devtests/connector/testdb/seg0/c211.dat
deleted file mode 100644
index 54e1586..0000000
--- a/appserver/tests/appserv-tests/devtests/connector/testdb/seg0/c211.dat
+++ /dev/null
Binary files differ
diff --git a/appserver/tests/appserv-tests/devtests/connector/testdb/seg0/c221.dat b/appserver/tests/appserv-tests/devtests/connector/testdb/seg0/c221.dat
deleted file mode 100644
index 59900bc..0000000
--- a/appserver/tests/appserv-tests/devtests/connector/testdb/seg0/c221.dat
+++ /dev/null
Binary files differ
diff --git a/appserver/tests/appserv-tests/devtests/connector/testdb/seg0/c230.dat b/appserver/tests/appserv-tests/devtests/connector/testdb/seg0/c230.dat
deleted file mode 100644
index 871459b..0000000
--- a/appserver/tests/appserv-tests/devtests/connector/testdb/seg0/c230.dat
+++ /dev/null
Binary files differ
diff --git a/appserver/tests/appserv-tests/devtests/connector/testdb/seg0/c241.dat b/appserver/tests/appserv-tests/devtests/connector/testdb/seg0/c241.dat
deleted file mode 100644
index b2c0e77..0000000
--- a/appserver/tests/appserv-tests/devtests/connector/testdb/seg0/c241.dat
+++ /dev/null
Binary files differ
diff --git a/appserver/tests/appserv-tests/devtests/connector/testdb/seg0/c251.dat b/appserver/tests/appserv-tests/devtests/connector/testdb/seg0/c251.dat
deleted file mode 100644
index 4b963f1..0000000
--- a/appserver/tests/appserv-tests/devtests/connector/testdb/seg0/c251.dat
+++ /dev/null
Binary files differ
diff --git a/appserver/tests/appserv-tests/devtests/connector/testdb/seg0/c260.dat b/appserver/tests/appserv-tests/devtests/connector/testdb/seg0/c260.dat
deleted file mode 100644
index 25f81fd..0000000
--- a/appserver/tests/appserv-tests/devtests/connector/testdb/seg0/c260.dat
+++ /dev/null
Binary files differ
diff --git a/appserver/tests/appserv-tests/devtests/connector/testdb/seg0/c271.dat b/appserver/tests/appserv-tests/devtests/connector/testdb/seg0/c271.dat
deleted file mode 100644
index 51cde57..0000000
--- a/appserver/tests/appserv-tests/devtests/connector/testdb/seg0/c271.dat
+++ /dev/null
Binary files differ
diff --git a/appserver/tests/appserv-tests/devtests/connector/testdb/seg0/c281.dat b/appserver/tests/appserv-tests/devtests/connector/testdb/seg0/c281.dat
deleted file mode 100644
index cfed875..0000000
--- a/appserver/tests/appserv-tests/devtests/connector/testdb/seg0/c281.dat
+++ /dev/null
Binary files differ
diff --git a/appserver/tests/appserv-tests/devtests/connector/testdb/seg0/c290.dat b/appserver/tests/appserv-tests/devtests/connector/testdb/seg0/c290.dat
deleted file mode 100644
index 4d10db4..0000000
--- a/appserver/tests/appserv-tests/devtests/connector/testdb/seg0/c290.dat
+++ /dev/null
Binary files differ
diff --git a/appserver/tests/appserv-tests/devtests/connector/testdb/seg0/c2a1.dat b/appserver/tests/appserv-tests/devtests/connector/testdb/seg0/c2a1.dat
deleted file mode 100644
index 8e2ed6a..0000000
--- a/appserver/tests/appserv-tests/devtests/connector/testdb/seg0/c2a1.dat
+++ /dev/null
Binary files differ
diff --git a/appserver/tests/appserv-tests/devtests/connector/testdb/seg0/c2b1.dat b/appserver/tests/appserv-tests/devtests/connector/testdb/seg0/c2b1.dat
deleted file mode 100644
index 2a29692..0000000
--- a/appserver/tests/appserv-tests/devtests/connector/testdb/seg0/c2b1.dat
+++ /dev/null
Binary files differ
diff --git a/appserver/tests/appserv-tests/devtests/connector/testdb/seg0/c2c1.dat b/appserver/tests/appserv-tests/devtests/connector/testdb/seg0/c2c1.dat
deleted file mode 100644
index 5511575..0000000
--- a/appserver/tests/appserv-tests/devtests/connector/testdb/seg0/c2c1.dat
+++ /dev/null
Binary files differ
diff --git a/appserver/tests/appserv-tests/devtests/connector/testdb/seg0/c2d0.dat b/appserver/tests/appserv-tests/devtests/connector/testdb/seg0/c2d0.dat
deleted file mode 100644
index 4adc6e4..0000000
--- a/appserver/tests/appserv-tests/devtests/connector/testdb/seg0/c2d0.dat
+++ /dev/null
Binary files differ
diff --git a/appserver/tests/appserv-tests/devtests/connector/testdb/seg0/c2e1.dat b/appserver/tests/appserv-tests/devtests/connector/testdb/seg0/c2e1.dat
deleted file mode 100644
index b37b9b2..0000000
--- a/appserver/tests/appserv-tests/devtests/connector/testdb/seg0/c2e1.dat
+++ /dev/null
Binary files differ
diff --git a/appserver/tests/appserv-tests/devtests/connector/testdb/seg0/c2f0.dat b/appserver/tests/appserv-tests/devtests/connector/testdb/seg0/c2f0.dat
deleted file mode 100644
index d854b4b..0000000
--- a/appserver/tests/appserv-tests/devtests/connector/testdb/seg0/c2f0.dat
+++ /dev/null
Binary files differ
diff --git a/appserver/tests/appserv-tests/devtests/connector/testdb/seg0/c300.dat b/appserver/tests/appserv-tests/devtests/connector/testdb/seg0/c300.dat
deleted file mode 100644
index 2053e01..0000000
--- a/appserver/tests/appserv-tests/devtests/connector/testdb/seg0/c300.dat
+++ /dev/null
Binary files differ
diff --git a/appserver/tests/appserv-tests/devtests/connector/testdb/seg0/c31.dat b/appserver/tests/appserv-tests/devtests/connector/testdb/seg0/c31.dat
deleted file mode 100644
index 5755b95..0000000
--- a/appserver/tests/appserv-tests/devtests/connector/testdb/seg0/c31.dat
+++ /dev/null
Binary files differ
diff --git a/appserver/tests/appserv-tests/devtests/connector/testdb/seg0/c311.dat b/appserver/tests/appserv-tests/devtests/connector/testdb/seg0/c311.dat
deleted file mode 100644
index f60c260..0000000
--- a/appserver/tests/appserv-tests/devtests/connector/testdb/seg0/c311.dat
+++ /dev/null
Binary files differ
diff --git a/appserver/tests/appserv-tests/devtests/connector/testdb/seg0/c321.dat b/appserver/tests/appserv-tests/devtests/connector/testdb/seg0/c321.dat
deleted file mode 100644
index a9d7453..0000000
--- a/appserver/tests/appserv-tests/devtests/connector/testdb/seg0/c321.dat
+++ /dev/null
Binary files differ
diff --git a/appserver/tests/appserv-tests/devtests/connector/testdb/seg0/c331.dat b/appserver/tests/appserv-tests/devtests/connector/testdb/seg0/c331.dat
deleted file mode 100644
index 85ee72b..0000000
--- a/appserver/tests/appserv-tests/devtests/connector/testdb/seg0/c331.dat
+++ /dev/null
Binary files differ
diff --git a/appserver/tests/appserv-tests/devtests/connector/testdb/seg0/c340.dat b/appserver/tests/appserv-tests/devtests/connector/testdb/seg0/c340.dat
deleted file mode 100644
index d99b11a..0000000
--- a/appserver/tests/appserv-tests/devtests/connector/testdb/seg0/c340.dat
+++ /dev/null
Binary files differ
diff --git a/appserver/tests/appserv-tests/devtests/connector/testdb/seg0/c351.dat b/appserver/tests/appserv-tests/devtests/connector/testdb/seg0/c351.dat
deleted file mode 100644
index f822f4c..0000000
--- a/appserver/tests/appserv-tests/devtests/connector/testdb/seg0/c351.dat
+++ /dev/null
Binary files differ
diff --git a/appserver/tests/appserv-tests/devtests/connector/testdb/seg0/c361.dat b/appserver/tests/appserv-tests/devtests/connector/testdb/seg0/c361.dat
deleted file mode 100644
index b5c8f25..0000000
--- a/appserver/tests/appserv-tests/devtests/connector/testdb/seg0/c361.dat
+++ /dev/null
Binary files differ
diff --git a/appserver/tests/appserv-tests/devtests/connector/testdb/seg0/c371.dat b/appserver/tests/appserv-tests/devtests/connector/testdb/seg0/c371.dat
deleted file mode 100644
index ad11f01..0000000
--- a/appserver/tests/appserv-tests/devtests/connector/testdb/seg0/c371.dat
+++ /dev/null
Binary files differ
diff --git a/appserver/tests/appserv-tests/devtests/connector/testdb/seg0/c380.dat b/appserver/tests/appserv-tests/devtests/connector/testdb/seg0/c380.dat
deleted file mode 100644
index eca3bb8..0000000
--- a/appserver/tests/appserv-tests/devtests/connector/testdb/seg0/c380.dat
+++ /dev/null
Binary files differ
diff --git a/appserver/tests/appserv-tests/devtests/connector/testdb/seg0/c391.dat b/appserver/tests/appserv-tests/devtests/connector/testdb/seg0/c391.dat
deleted file mode 100644
index d6cb4f8..0000000
--- a/appserver/tests/appserv-tests/devtests/connector/testdb/seg0/c391.dat
+++ /dev/null
Binary files differ
diff --git a/appserver/tests/appserv-tests/devtests/connector/testdb/seg0/c3a1.dat b/appserver/tests/appserv-tests/devtests/connector/testdb/seg0/c3a1.dat
deleted file mode 100644
index b1bee73..0000000
--- a/appserver/tests/appserv-tests/devtests/connector/testdb/seg0/c3a1.dat
+++ /dev/null
Binary files differ
diff --git a/appserver/tests/appserv-tests/devtests/connector/testdb/seg0/c3b1.dat b/appserver/tests/appserv-tests/devtests/connector/testdb/seg0/c3b1.dat
deleted file mode 100644
index 323cc08..0000000
--- a/appserver/tests/appserv-tests/devtests/connector/testdb/seg0/c3b1.dat
+++ /dev/null
Binary files differ
diff --git a/appserver/tests/appserv-tests/devtests/connector/testdb/seg0/c3c0.dat b/appserver/tests/appserv-tests/devtests/connector/testdb/seg0/c3c0.dat
deleted file mode 100644
index 4d061cf..0000000
--- a/appserver/tests/appserv-tests/devtests/connector/testdb/seg0/c3c0.dat
+++ /dev/null
Binary files differ
diff --git a/appserver/tests/appserv-tests/devtests/connector/testdb/seg0/c3d1.dat b/appserver/tests/appserv-tests/devtests/connector/testdb/seg0/c3d1.dat
deleted file mode 100644
index 45c9fa2..0000000
--- a/appserver/tests/appserv-tests/devtests/connector/testdb/seg0/c3d1.dat
+++ /dev/null
Binary files differ
diff --git a/appserver/tests/appserv-tests/devtests/connector/testdb/seg0/c3e1.dat b/appserver/tests/appserv-tests/devtests/connector/testdb/seg0/c3e1.dat
deleted file mode 100644
index 48f53e6..0000000
--- a/appserver/tests/appserv-tests/devtests/connector/testdb/seg0/c3e1.dat
+++ /dev/null
Binary files differ
diff --git a/appserver/tests/appserv-tests/devtests/connector/testdb/seg0/c3f1.dat b/appserver/tests/appserv-tests/devtests/connector/testdb/seg0/c3f1.dat
deleted file mode 100644
index 08acdce..0000000
--- a/appserver/tests/appserv-tests/devtests/connector/testdb/seg0/c3f1.dat
+++ /dev/null
Binary files differ
diff --git a/appserver/tests/appserv-tests/devtests/connector/testdb/seg0/c400.dat b/appserver/tests/appserv-tests/devtests/connector/testdb/seg0/c400.dat
deleted file mode 100644
index 1e8976f..0000000
--- a/appserver/tests/appserv-tests/devtests/connector/testdb/seg0/c400.dat
+++ /dev/null
Binary files differ
diff --git a/appserver/tests/appserv-tests/devtests/connector/testdb/seg0/c41.dat b/appserver/tests/appserv-tests/devtests/connector/testdb/seg0/c41.dat
deleted file mode 100644
index 55e15df..0000000
--- a/appserver/tests/appserv-tests/devtests/connector/testdb/seg0/c41.dat
+++ /dev/null
Binary files differ
diff --git a/appserver/tests/appserv-tests/devtests/connector/testdb/seg0/c411.dat b/appserver/tests/appserv-tests/devtests/connector/testdb/seg0/c411.dat
deleted file mode 100644
index 8aba2fb..0000000
--- a/appserver/tests/appserv-tests/devtests/connector/testdb/seg0/c411.dat
+++ /dev/null
Binary files differ
diff --git a/appserver/tests/appserv-tests/devtests/connector/testdb/seg0/c421.dat b/appserver/tests/appserv-tests/devtests/connector/testdb/seg0/c421.dat
deleted file mode 100644
index 65775ee..0000000
--- a/appserver/tests/appserv-tests/devtests/connector/testdb/seg0/c421.dat
+++ /dev/null
Binary files differ
diff --git a/appserver/tests/appserv-tests/devtests/connector/testdb/seg0/c430.dat b/appserver/tests/appserv-tests/devtests/connector/testdb/seg0/c430.dat
deleted file mode 100644
index 55c948d..0000000
--- a/appserver/tests/appserv-tests/devtests/connector/testdb/seg0/c430.dat
+++ /dev/null
Binary files differ
diff --git a/appserver/tests/appserv-tests/devtests/connector/testdb/seg0/c441.dat b/appserver/tests/appserv-tests/devtests/connector/testdb/seg0/c441.dat
deleted file mode 100644
index 3948b2a..0000000
--- a/appserver/tests/appserv-tests/devtests/connector/testdb/seg0/c441.dat
+++ /dev/null
Binary files differ
diff --git a/appserver/tests/appserv-tests/devtests/connector/testdb/seg0/c451.dat b/appserver/tests/appserv-tests/devtests/connector/testdb/seg0/c451.dat
deleted file mode 100644
index fe1ab73..0000000
--- a/appserver/tests/appserv-tests/devtests/connector/testdb/seg0/c451.dat
+++ /dev/null
Binary files differ
diff --git a/appserver/tests/appserv-tests/devtests/connector/testdb/seg0/c461.dat b/appserver/tests/appserv-tests/devtests/connector/testdb/seg0/c461.dat
deleted file mode 100644
index e6d9854..0000000
--- a/appserver/tests/appserv-tests/devtests/connector/testdb/seg0/c461.dat
+++ /dev/null
Binary files differ
diff --git a/appserver/tests/appserv-tests/devtests/connector/testdb/seg0/c470.dat b/appserver/tests/appserv-tests/devtests/connector/testdb/seg0/c470.dat
deleted file mode 100644
index c9f2eb1..0000000
--- a/appserver/tests/appserv-tests/devtests/connector/testdb/seg0/c470.dat
+++ /dev/null
Binary files differ
diff --git a/appserver/tests/appserv-tests/devtests/connector/testdb/seg0/c481.dat b/appserver/tests/appserv-tests/devtests/connector/testdb/seg0/c481.dat
deleted file mode 100644
index 397b291..0000000
--- a/appserver/tests/appserv-tests/devtests/connector/testdb/seg0/c481.dat
+++ /dev/null
Binary files differ
diff --git a/appserver/tests/appserv-tests/devtests/connector/testdb/seg0/c51.dat b/appserver/tests/appserv-tests/devtests/connector/testdb/seg0/c51.dat
deleted file mode 100644
index 694e120..0000000
--- a/appserver/tests/appserv-tests/devtests/connector/testdb/seg0/c51.dat
+++ /dev/null
Binary files differ
diff --git a/appserver/tests/appserv-tests/devtests/connector/testdb/seg0/c5d0.dat b/appserver/tests/appserv-tests/devtests/connector/testdb/seg0/c5d0.dat
deleted file mode 100644
index de30561..0000000
--- a/appserver/tests/appserv-tests/devtests/connector/testdb/seg0/c5d0.dat
+++ /dev/null
Binary files differ
diff --git a/appserver/tests/appserv-tests/devtests/connector/testdb/seg0/c60.dat b/appserver/tests/appserv-tests/devtests/connector/testdb/seg0/c60.dat
deleted file mode 100644
index 114c98f..0000000
--- a/appserver/tests/appserv-tests/devtests/connector/testdb/seg0/c60.dat
+++ /dev/null
Binary files differ
diff --git a/appserver/tests/appserv-tests/devtests/connector/testdb/seg0/c71.dat b/appserver/tests/appserv-tests/devtests/connector/testdb/seg0/c71.dat
deleted file mode 100644
index 9f4fc9f..0000000
--- a/appserver/tests/appserv-tests/devtests/connector/testdb/seg0/c71.dat
+++ /dev/null
Binary files differ
diff --git a/appserver/tests/appserv-tests/devtests/connector/testdb/seg0/c81.dat b/appserver/tests/appserv-tests/devtests/connector/testdb/seg0/c81.dat
deleted file mode 100644
index 55a6005..0000000
--- a/appserver/tests/appserv-tests/devtests/connector/testdb/seg0/c81.dat
+++ /dev/null
Binary files differ
diff --git a/appserver/tests/appserv-tests/devtests/connector/testdb/seg0/c90.dat b/appserver/tests/appserv-tests/devtests/connector/testdb/seg0/c90.dat
deleted file mode 100644
index 540c131..0000000
--- a/appserver/tests/appserv-tests/devtests/connector/testdb/seg0/c90.dat
+++ /dev/null
Binary files differ
diff --git a/appserver/tests/appserv-tests/devtests/connector/testdb/seg0/ca1.dat b/appserver/tests/appserv-tests/devtests/connector/testdb/seg0/ca1.dat
deleted file mode 100644
index f02ef96..0000000
--- a/appserver/tests/appserv-tests/devtests/connector/testdb/seg0/ca1.dat
+++ /dev/null
Binary files differ
diff --git a/appserver/tests/appserv-tests/devtests/connector/testdb/seg0/cb1.dat b/appserver/tests/appserv-tests/devtests/connector/testdb/seg0/cb1.dat
deleted file mode 100644
index 3106fdf..0000000
--- a/appserver/tests/appserv-tests/devtests/connector/testdb/seg0/cb1.dat
+++ /dev/null
Binary files differ
diff --git a/appserver/tests/appserv-tests/devtests/connector/testdb/seg0/cc0.dat b/appserver/tests/appserv-tests/devtests/connector/testdb/seg0/cc0.dat
deleted file mode 100644
index 5648543..0000000
--- a/appserver/tests/appserv-tests/devtests/connector/testdb/seg0/cc0.dat
+++ /dev/null
Binary files differ
diff --git a/appserver/tests/appserv-tests/devtests/connector/testdb/seg0/cd1.dat b/appserver/tests/appserv-tests/devtests/connector/testdb/seg0/cd1.dat
deleted file mode 100644
index 4d4a739..0000000
--- a/appserver/tests/appserv-tests/devtests/connector/testdb/seg0/cd1.dat
+++ /dev/null
Binary files differ
diff --git a/appserver/tests/appserv-tests/devtests/connector/testdb/seg0/ce1.dat b/appserver/tests/appserv-tests/devtests/connector/testdb/seg0/ce1.dat
deleted file mode 100644
index 222b082..0000000
--- a/appserver/tests/appserv-tests/devtests/connector/testdb/seg0/ce1.dat
+++ /dev/null
Binary files differ
diff --git a/appserver/tests/appserv-tests/devtests/connector/testdb/seg0/cf0.dat b/appserver/tests/appserv-tests/devtests/connector/testdb/seg0/cf0.dat
deleted file mode 100644
index fb40ee4..0000000
--- a/appserver/tests/appserv-tests/devtests/connector/testdb/seg0/cf0.dat
+++ /dev/null
Binary files differ
diff --git a/appserver/tests/appserv-tests/devtests/connector/testdb/seg0/d5b0.dat b/appserver/tests/appserv-tests/devtests/connector/testdb/seg0/d5b0.dat
deleted file mode 100644
index fd69350..0000000
--- a/appserver/tests/appserv-tests/devtests/connector/testdb/seg0/d5b0.dat
+++ /dev/null
Binary files differ
diff --git a/appserver/tests/appserv-tests/devtests/connector/testdb/seg0/d5c0.dat b/appserver/tests/appserv-tests/devtests/connector/testdb/seg0/d5c0.dat
deleted file mode 100644
index 9ae5d87..0000000
--- a/appserver/tests/appserv-tests/devtests/connector/testdb/seg0/d5c0.dat
+++ /dev/null
Binary files differ
diff --git a/appserver/tests/appserv-tests/devtests/connector/testdb/seg0/d5e0.dat b/appserver/tests/appserv-tests/devtests/connector/testdb/seg0/d5e0.dat
deleted file mode 100644
index fd69350..0000000
--- a/appserver/tests/appserv-tests/devtests/connector/testdb/seg0/d5e0.dat
+++ /dev/null
Binary files differ
diff --git a/appserver/tests/appserv-tests/devtests/connector/testdb/seg0/d5f0.dat b/appserver/tests/appserv-tests/devtests/connector/testdb/seg0/d5f0.dat
deleted file mode 100644
index fd69350..0000000
--- a/appserver/tests/appserv-tests/devtests/connector/testdb/seg0/d5f0.dat
+++ /dev/null
Binary files differ
diff --git a/appserver/tests/appserv-tests/devtests/connector/testdb/seg0/d600.dat b/appserver/tests/appserv-tests/devtests/connector/testdb/seg0/d600.dat
deleted file mode 100644
index bcd2bd9..0000000
--- a/appserver/tests/appserv-tests/devtests/connector/testdb/seg0/d600.dat
+++ /dev/null
Binary files differ
diff --git a/appserver/tests/appserv-tests/devtests/connector/testdb/seg0/d610.dat b/appserver/tests/appserv-tests/devtests/connector/testdb/seg0/d610.dat
deleted file mode 100644
index bcd2bd9..0000000
--- a/appserver/tests/appserv-tests/devtests/connector/testdb/seg0/d610.dat
+++ /dev/null
Binary files differ
diff --git a/appserver/tests/appserv-tests/devtests/connector/testdb/seg0/d620.dat b/appserver/tests/appserv-tests/devtests/connector/testdb/seg0/d620.dat
deleted file mode 100644
index bcd2bd9..0000000
--- a/appserver/tests/appserv-tests/devtests/connector/testdb/seg0/d620.dat
+++ /dev/null
Binary files differ
diff --git a/appserver/tests/appserv-tests/devtests/connector/testdb/seg0/d630.dat b/appserver/tests/appserv-tests/devtests/connector/testdb/seg0/d630.dat
deleted file mode 100644
index bcd2bd9..0000000
--- a/appserver/tests/appserv-tests/devtests/connector/testdb/seg0/d630.dat
+++ /dev/null
Binary files differ
diff --git a/appserver/tests/appserv-tests/devtests/connector/threadpool/ra/META-INF/ra.xml b/appserver/tests/appserv-tests/devtests/connector/threadpool/ra/META-INF/ra.xml
index 02c031d..d868ee9 100644
--- a/appserver/tests/appserv-tests/devtests/connector/threadpool/ra/META-INF/ra.xml
+++ b/appserver/tests/appserv-tests/devtests/connector/threadpool/ra/META-INF/ra.xml
@@ -2,6 +2,7 @@
 <!--
 
     Copyright (c) 2017, 2018 Oracle and/or its affiliates. All rights reserved.
+    Copyright (c) 2022 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
@@ -17,14 +18,13 @@
 
 -->
 
-<!--
-<!DOCTYPE connector PUBLIC '-//Sun Microsystems, Inc.//DTD Connector 1.5//EN' 'http://java.sun.com/dtd/connector_1_5.dtd'>
--->
-<connector xmlns="http://java.sun.com/xml/ns/j2ee"
-           xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-           xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee
-           http://java.sun.com/xml/ns/j2ee/connector_1_5.xsd"
-           version="1.5">
+<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/jakartaee_9.xsd
+       https://jakarta.ee/xml/ns/jakartaee/connector_2_0.xsd"
+    version="2.0"
+>
     <display-name>Test Adapter</display-name>
     <vendor-name>Java Software</vendor-name>
     <eis-type>Generic Type</eis-type>
diff --git a/appserver/tests/appserv-tests/devtests/connector/txlevelswitch/myxaPB.rar b/appserver/tests/appserv-tests/devtests/connector/txlevelswitch/myxaPB.rar
deleted file mode 100644
index 2ad4c4e..0000000
--- a/appserver/tests/appserv-tests/devtests/connector/txlevelswitch/myxaPB.rar
+++ /dev/null
Binary files differ
diff --git a/appserver/tests/appserv-tests/devtests/connector/txlevelswitch/ra/src/com/sun/jdbcra/spi/1.4/ra-xa.xml b/appserver/tests/appserv-tests/devtests/connector/txlevelswitch/ra/src/com/sun/jdbcra/spi/1.4/ra-xa.xml
index 3dfc37d..7e71025 100755
--- a/appserver/tests/appserv-tests/devtests/connector/txlevelswitch/ra/src/com/sun/jdbcra/spi/1.4/ra-xa.xml
+++ b/appserver/tests/appserv-tests/devtests/connector/txlevelswitch/ra/src/com/sun/jdbcra/spi/1.4/ra-xa.xml
@@ -2,6 +2,7 @@
 <!--
 
     Copyright (c) 2017, 2018 Oracle and/or its affiliates. All rights reserved.
+    Copyright (c) 2022 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
@@ -17,9 +18,13 @@
 
 -->
 
-<connector xmlns="http://java.sun.com/xml/ns/j2ee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-           xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/connector_1_5.xsd"
-           version="1.5">
+<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/jakartaee_9.xsd
+       https://jakarta.ee/xml/ns/jakartaee/connector_2_0.xsd"
+    version="2.0"
+>
 
     <!-- There can be any number of "description" elements including 0 -->
     <!-- This field can be optionally used by the driver vendor to provide a
@@ -243,7 +248,7 @@
 
                 <authentication-mechanism-type>BasicPassword</authentication-mechanism-type>
 
-                <credential-interface>javax.resource.spi.security.PasswordCredential</credential-interface>
+                <credential-interface>jakarta.resource.spi.security.PasswordCredential</credential-interface>
             </authentication-mechanism>
 
             <reauthentication-support>false</reauthentication-support>
diff --git a/appserver/tests/appserv-tests/devtests/connector/v3/SunRaXml/cci-embedded/build.properties b/appserver/tests/appserv-tests/devtests/connector/v3/SunRaXml/cci-embedded/build.properties
index 0e55a95..e0cdf29 100755
--- a/appserver/tests/appserv-tests/devtests/connector/v3/SunRaXml/cci-embedded/build.properties
+++ b/appserver/tests/appserv-tests/devtests/connector/v3/SunRaXml/cci-embedded/build.properties
@@ -19,7 +19,6 @@
 
 <property name="module" value="connector"/>
 <property name="app.type" value="application"/>
-<property name="cciblackbox.path" value="../lib/cciblackbox-tx.jar"/>
 <property name="appname" value="${module}-embedded-cci"/>
 <property name="application.xml" value="descriptor/application.xml"/>
 <property name="ejb-jar.xml" value="descriptor/ejb-jar.xml"/>
diff --git a/appserver/tests/appserv-tests/devtests/connector/v3/SunRaXml/cci-embedded/build.xml b/appserver/tests/appserv-tests/devtests/connector/v3/SunRaXml/cci-embedded/build.xml
index 638aa44..43e5c9b 100755
--- a/appserver/tests/appserv-tests/devtests/connector/v3/SunRaXml/cci-embedded/build.xml
+++ b/appserver/tests/appserv-tests/devtests/connector/v3/SunRaXml/cci-embedded/build.xml
@@ -18,11 +18,11 @@
 
 -->
 
-        <!ENTITY commonSetup SYSTEM "./../../../../../config/properties.xml">
-        <!ENTITY commonBuild SYSTEM "./../../../../../config/common.xml">
-        <!ENTITY run SYSTEM "./../../../../../config/run.xml">
-        <!ENTITY testProperties SYSTEM "./build.properties">
-        ]>
+<!ENTITY commonSetup SYSTEM "./../../../../../config/properties.xml">
+<!ENTITY commonBuild SYSTEM "./../../../../../config/common.xml">
+<!ENTITY run SYSTEM "./../../../../../config/run.xml">
+<!ENTITY testProperties SYSTEM "./build.properties">
+]>
 
 
 <project name="cci" basedir="." default="usage">
@@ -32,302 +32,250 @@
     &testProperties;
     &run;
 
-    <target name="all" depends="build,setup,deploy,run,undeploy,unsetup"/>
-    <target name="run-test" depends="build,deploy,run,undeploy"/>
+  <target name="all" depends="build,setup,deploy,run,undeploy,unsetup" />
+  <target name="run-test" depends="build,deploy,run,undeploy" />
 
-    <target name="clean" depends="init-common">
-        <delete dir="${build.classes.dir}"/>
-        <delete dir="${assemble.dir}"/>
-        <delete dir="${assemble.dir}/rar"/>
-        <delete file="${assemble.dir}/${rarname}.rar"/>
-        <antcall target="create-dboutfile"/>
-    </target>
+  <target name="clean" depends="init-common">
+    <delete dir="${build.classes.dir}" />
+    <delete dir="${assemble.dir}" />
+    <delete dir="${assemble.dir}/rar" />
+    <delete file="${assemble.dir}/${rarname}.rar" />
+    <antcall target="create-dboutfile" />
+  </target>
 
-    <target name="compile" depends="clean">
-        <antcall target="compile-cci">
-            <param name="src" value="ejb"/>
-        </antcall>
-        <antcall target="compile-cci">
-            <param name="src" value="client"/>
-        </antcall>
+  <target name="compile" depends="clean">
+    <antcall target="compile-cci">
+      <param name="src" value="ejb" />
+    </antcall>
+    <antcall target="compile-cci">
+      <param name="src" value="client" />
+    </antcall>
 
 
-        <antcall target="compile-cci">
-            <param name="src" value="servlet"/>
-        </antcall>
+    <antcall target="compile-cci">
+      <param name="src" value="servlet" />
+    </antcall>
+    <javac srcdir="."
+           classpath="${env.APS_HOME}/lib/reporter.jar"
+           includes="client/WebTest.java"
+           destdir="."
+    />
+  </target>
 
+  <target name="create-pool">
+    <antcall target="create-connector-connpool-common">
+      <param name="ra.name" value="connector-embedded-cciApp#cciblackbox-${tx.mode}" />
+      <param name="connection.defname" value="jakarta.resource.cci.ConnectionFactory" />
+      <param name="connector.conpool.name" value="EMBEDDED-CCI-CONNPOOL" />
+    </antcall>
+  </target>
 
-        <javac
-                srcdir="."
-                classpath="${env.APS_HOME}/lib/reporter.jar"
-                includes="client/WebTest.java" destdir="."/>
+  <target name="create-resource">
+    <antcall target="create-connector-resource-common">
+      <param name="connector.conpool.name" value="EMBEDDED-CCI-CONNPOOL" />
+      <param name="connector.jndi.name" value="eis/EMBEDDEDCCIEIS" />
+    </antcall>
+  </target>
 
+  <target name="delete-pool">
+    <antcall target="delete-connector-connpool-common">
+      <param name="connector.conpool.name" value="EMBEDDED-CCI-CONNPOOL" />
+    </antcall>
+  </target>
 
-    </target>
+  <target name="delete-resource">
+    <antcall target="delete-connector-resource-common">
+      <param name="connector.jndi.name" value="eis/EMBEDDEDCCIEIS" />
+    </antcall>
+  </target>
 
-    <target name="create-pool">
-        <antcall target="create-connector-connpool-common">
-            <param name="ra.name" value="connector-embedded-cciApp#cciblackbox-${tx.mode}"/>
-            <param name="connection.defname" value="jakarta.resource.cci.ConnectionFactory"/>
-            <param name="connector.conpool.name" value="EMBEDDED-CCI-CONNPOOL"/>
-        </antcall>
-    </target>
-
-    <target name="create-resource">
-        <antcall target="create-connector-resource-common">
-            <param name="connector.conpool.name" value="EMBEDDED-CCI-CONNPOOL"/>
-            <param name="connector.jndi.name" value="eis/EMBEDDEDCCIEIS"/>
-        </antcall>
-    </target>
-
-    <target name="delete-pool">
-        <antcall target="delete-connector-connpool-common">
-            <param name="connector.conpool.name" value="EMBEDDED-CCI-CONNPOOL"/>
-        </antcall>
-    </target>
-
-    <target name="delete-resource">
-        <antcall target="delete-connector-resource-common">
-            <param name="connector.jndi.name" value="eis/EMBEDDEDCCIEIS"/>
-        </antcall>
-    </target>
-
-    <!--
+  <!--
         Custom target for compilation with local libraries for connector
     -->
-    <target name="compile-cci" depends="init-common">
-        <mkdir dir="${build.classes.dir}"/>
-        <javac srcdir="${src}"
-               destdir="${build.classes.dir}"
-               classpath="${s1astest.classpath}:${cciblackbox.path}"
-               failonerror="true"/>
-    </target>
+  <target name="compile-cci" depends="init-common">
+    <mkdir dir="${build.classes.dir}" />
+    <javac srcdir="${src}"
+           destdir="${build.classes.dir}"
+           classpath="${s1astest.classpath}:${bundles.dir}/cciblackbox-tx.jar"
+           failonerror="true"
+    />
+  </target>
 
-    <target name="create-pb-proc" depends="init-common">
+  <target name="create-pb-proc" depends="init-common">
+    <jar destfile="${build.classes.dir}/cci-pb-proc.jar"
+         update="true"
+         includes="${build.classes.dir}/client/*SampleExternalMethods.class*"
+    />
+  </target>
 
-        <jar destfile="${build.classes.dir}/cci-pb-proc.jar" update="true"
-             includes="${build.classes.dir}/client/*SampleExternalMethods.class*"/>
+  <target name="build">
+    <antcall target="build-embedded-ear" />
+  </target>
 
 
-        <!--
-            <jar jarfile="${build.classes.dir}/cci-pb-proc.jar" update="true">
-               <fileset dir="${build.classes.dir}" casesensitive="yes">
-                 <include name="**/SampleExternalMethods.class*"/>
-                   <exclude  name="**/ejb/*"/>
-                   <exclude  name="**/servlet/*"/>
-                   <exclude  name="**/connector/*"/>
-               </fileset>
-            </jar>
-        -->
+  <target name="package-embedded-ejb">
+    <antcall target="package-ejbjar-common">
+      <param name="ejb-jar.xml" value="descriptor/ejb-jar.xml" />
+      <param name="sun-ejb-jar.xml" value="descriptor/sun-ejb-jar.xml" />
+      <param name="ejbjar.classes" value="**/*Local*.class, **/*Remote*.class, **/*Bean*.class" />
+      <param name="ejbjar.files" value="${build.classes.dir}" />
+      <param name="ejb.jar" value="${assemble.dir}/cci-embedded-ejb.jar" />
+    </antcall>
+  </target>
 
-    </target>
+  <target name="build-embedded-ear" depends="compile">
+    <delete file="${assemble.dir}/connector-embeddedApp.ear" />
+    <mkdir dir="${assemble.dir}" />
+    <copy file="descriptor/application.xml" tofile="${assemble.dir}/application.xml" />
+    <mkdir dir="${build.classes.dir}/META-INF" />
+    <antcall target="package-embedded-ejb" />
+    <antcall target="package-rar" />
 
-    <target name="build">
-        <antcall target="build-embedded-ear"/>
-    </target>
+    <antcall target="webclient-war-common">
+      <param name="hasWebclient" value="yes" />
+      <param name="appname" value="cci-embedded" />
+      <param name="web.xml" value="descriptor/web.xml" />
+      <param name="sun-web.xml" value="descriptor/sun-web.xml" />
+      <param name="webclient.war.classes" value="servlet/*.class, beans/*.class" />
+    </antcall>
 
 
-    <target name="package-embedded-ejb">
-        <antcall target="package-ejbjar-common">
-            <param name="ejb-jar.xml" value="descriptor/ejb-jar.xml"/>
-            <param name="sun-ejb-jar.xml" value="descriptor/sun-ejb-jar.xml"/>
-            <param name="ejbjar.classes" value="**/*Local*.class, **/*Remote*.class, **/*Bean*.class"/>
-            <param name="ejbjar.files" value="${build.classes.dir}"/>
-            <param name="ejb.jar" value="${assemble.dir}/cci-embedded-ejb.jar"/>
-        </antcall>
-    </target>
+    <ear earfile="${assemble.dir}/${appname}App.ear" appxml="${assemble.dir}/application.xml">
+      <fileset dir="${assemble.dir}">
+        <include name="cci-embedded-ejb.jar" />
+        <include name="cciblackbox-tx.rar" />
+        <include name="cci-embedded-client.jar" />
+        <include name="cci-embedded-web.war" />
+      </fileset>
+      <fileset dir="${env.APS_HOME}/lib" includes="reporter.jar" />
+    </ear>
+  </target>
 
-    <!--
-        <target name="package-embedded-client">
-            <antcall target="package-appclientjar-common">
-                    <param name="application-client.xml" value="descriptor/application-client.xml"/>
-                    <param name="sun-application-client.xml" value="descriptor/sun-application-client.xml"/>
-                    <param name="appclientjar.classes" value="**/*Local*.class,**/*Remote*.class,**/*Home*.class,**/*Client*.class"/>
-                    <param name="appclientjar.files" value="${build.classes.dir}"/>
-                    <param name="appclient.jar" value="${assemble.dir}/cci-embedded-client.jar"/>
-            </antcall>
-        </target>
-    -->
+  <target name="deploy" depends="init-common">
+    <antcall target="deploy-common" />
+  </target>
 
-    <target name="build-embedded-ear" depends="compile">
-        <delete file="${assemble.dir}/connector-embeddedApp.ear"/>
-        <mkdir dir="${assemble.dir}"/>
-        <copy file="descriptor/application.xml" tofile="${assemble.dir}/application.xml"/>
-        <mkdir dir="${build.classes.dir}/META-INF"/>
-        <antcall target="package-embedded-ejb"/>
-        <!--
-                <antcall target="package-embedded-client"/>
-        -->
-
-        <antcall target="package-rar"/>
-
-        <antcall target="webclient-war-common">
-            <param name="hasWebclient" value="yes"/>
-            <param name="appname" value="cci-embedded"/>
-            <param name="web.xml" value="descriptor/web.xml"/>
-            <param name="sun-web.xml" value="descriptor/sun-web.xml"/>
-            <param name="webclient.war.classes" value="servlet/*.class, beans/*.class"/>
-        </antcall>
+  <target name="undeploy">
+    <antcall target="undeploy-common" />
+  </target>
 
 
-        <ear earfile="${assemble.dir}/${appname}App.ear"
-             appxml="${assemble.dir}/application.xml">
-            <fileset dir="${assemble.dir}">
-                <include name="cci-embedded-ejb.jar"/>
-                <include name="cciblackbox-tx.rar"/>
-                <include name="cci-embedded-client.jar"/>
-                <!--<include name="cci-embedded-client.jar"/>-->
-                <include name="cci-embedded-web.war"/>
-            </fileset>
-            <fileset dir="${env.APS_HOME}/lib" includes="reporter.jar"/>
-        </ear>
-    </target>
+  <target name="run" depends="init-common">
+    <java classname="client.WebTest">
+      <arg value="${http.host}" />
+      <arg value="${http.port}" />
+      <arg value="${contextroot}" />
+      <arg value=" 1 " />
+      <classpath>
+        <pathelement location="${env.APS_HOME}/lib/reporter.jar" />
+        <pathelement location="." />
+      </classpath>
+    </java>
 
-    <target name="deploy" depends="init-common">
-        <antcall target="deploy-common"/>
-        <!--
-          <antcall target="create-pool">
-                          <param name="tx.mode" value="tx"/>
-                  </antcall>
-                  <antcall target="create-resource">
-                          <param name="tx.mode" value="tx"/>
-                  </antcall>
-          -->
-        <!--<antcall target="reconfig-common"/>-->
-    </target>
+  </target>
 
-    <target name="undeploy">
-        <!--
-          <antcall target="delete-resource"/>
-                  <antcall target="delete-pool"/>
-          -->
-        <antcall target="undeploy-common"/>
-        <!--<antcall target="reconfig-common"/>-->
-    </target>
+  <target name="usage">
+    <antcall target="usage-common" />
+  </target>
+
+  <!-- ================================================================ -->
+  <!-- Target to create the appclient jar file with custom classes-->
+  <!-- ================================================================ -->
+  <target name="appclient-jar" depends="init-common">
+    <property name="appclientjar.classes"
+              value="**/*Local*.class,**/*Remote*.class,**/*Home*.class,**/*Client*.class"
+    />
+    <antcall target="package-appclientjar-common">
+      <param name="appclientjar.files" value="${build.classes.dir}" />
+      <param name="appclient.jar" value="${assemble.dir}/${appname}-client.jar" />
+    </antcall>
+  </target>
+
+  <!-- ======================================================= -->
+  <!--                  JVM options                            -->
+  <!-- ======================================================= -->
+
+  <target name="create-JVM-options">
+    <exec executable="${ASADMIN}" failonerror="false">
+      <arg line="create-jvm-options" />
+      <arg line="--user ${admin.user}" />
+      <arg line="--passwordfile ${env.APS_HOME}/devtests/connector/config/password.txt" />
+      <arg line="--host ${admin.host}" />
+      <arg line="--port ${admin.port}" />
+      <arg line=":-Djdbc.drivers=${jdbc.drivers}" />
+    </exec>
+    <!--<antcall target="reconfig-common" />-->
+  </target>
+
+  <target name="delete-JVM-options">
+    <exec executable="${ASADMIN}" failonerror="false">
+      <arg line="delete-jvm-options" />
+      <arg line="--user ${admin.user}" />
+      <arg line="--passwordfile ${env.APS_HOME}/devtests/connector/config/password.txt" />
+      <arg line="--host ${admin.host}" />
+      <arg line="--port ${admin.port}" />
+      <arg line=":-Djdbc.drivers=${jdbc.drivers}" />
+    </exec>
+    <!--<antcall target="reconfig-common" />-->
+  </target>
+
+  <target name="create-rar">
+    <copy file="descriptor/ra.xml" tofile="${assemble.dir}/rar/META-INF/ra.xml" />
+    <copy file="descriptor/sun-ra.xml" tofile="${assemble.dir}/rar/META-INF/sun-ra.xml" />
+    <copy file="${bundles.dir}/cciblackbox-tx.jar" tofile="${assemble.dir}/rar/cciblackbox-tx.jar"
+    />
+    <copy file="${env.APS_HOME}/sqetests/connector/lib/cci-derby-proc.jar"
+          tofile="${assemble.dir}/rar/cci-derby-proc.jar"
+    />
+    <replace file="${assemble.dir}/rar/META-INF/ra.xml" token="DBURL" value="${db.url}" />
+  </target>
+
+  <target name="package-rar" depends="init-common">
+    <mkdir dir="${assemble.dir}/rar" />
+    <mkdir dir="${assemble.dir}/rar/META-INF" />
+    <antcall target="create-rar" />
+    <jar destfile="${assemble.dir}/${rarname}.rar" update="true">
+      <fileset dir="${assemble.dir}/rar">
+      </fileset>
+      <metainf dir="${assemble.dir}/rar/META-INF">
+      </metainf>
+    </jar>
+  </target>
 
 
-    <target name="run" depends="init-common">
-        <!--
-            <antcall target="runclient-common">
-            <param name="appclient.application.args" value="Embedded"/>
-            </antcall>
-        -->
+  <!-- db setup -->
+  <target name="create-sql">
+    <antcall target="execute-sql-common">
+      <param name="sql.file" value="sql/cci-pb.sql" />
+    </antcall>
+  </target>
 
-        <java classname="client.WebTest">
-            <arg value="${http.host}"/>
-            <arg value="${http.port}"/>
-            <arg value="${contextroot}"/>
-            <arg value=" 1 "/>
-            <classpath>
-                <pathelement location="${env.APS_HOME}/lib/reporter.jar"/>
-                <pathelement location="."/>
-            </classpath>
-        </java>
+  <target name="drop-sql">
+    <antcall target="execute-sql-common">
+      <param name="sql.file" value="sql/cci-pb-drop.sql" />
+    </antcall>
+  </target>
 
-    </target>
-
-    <target name="usage">
-        <antcall target="usage-common"/>
-    </target>
-
-    <!-- ================================================================ -->
-    <!-- Target to create the appclient jar file with custom classes-->
-    <!-- ================================================================ -->
-    <target name="appclient-jar" depends="init-common">
-        <property name="appclientjar.classes"
-                  value="**/*Local*.class,**/*Remote*.class,**/*Home*.class,**/*Client*.class"/>
-        <antcall target="package-appclientjar-common">
-            <param name="appclientjar.files"
-                   value="${build.classes.dir}"/>
-            <param name="appclient.jar"
-                   value="${assemble.dir}/${appname}-client.jar"/>
-        </antcall>
-    </target>
-
-    <!-- ======================================================= -->
-    <!--                  JVM options                            -->
-    <!-- ======================================================= -->
-
-    <target name="create-JVM-options">
-        <exec executable="${ASADMIN}" failonerror="false">
-            <arg line="create-jvm-options"/>
-            <arg line="--user ${admin.user}"/>
-            <arg line="--passwordfile ${env.APS_HOME}/devtests/connector/config/password.txt"/>
-            <arg line="--host ${admin.host}"/>
-            <arg line="--port ${admin.port}"/>
-            <arg line=":-Djdbc.drivers=${jdbc.drivers}"/>
-        </exec>
-        <!--<antcall target="reconfig-common" />-->
-    </target>
-
-    <target name="delete-JVM-options">
-        <exec executable="${ASADMIN}" failonerror="false">
-            <arg line="delete-jvm-options"/>
-            <arg line="--user ${admin.user}"/>
-            <arg line="--passwordfile ${env.APS_HOME}/devtests/connector/config/password.txt"/>
-            <arg line="--host ${admin.host}"/>
-            <arg line="--port ${admin.port}"/>
-            <arg line=":-Djdbc.drivers=${jdbc.drivers}"/>
-        </exec>
-        <!--<antcall target="reconfig-common" />-->
-    </target>
-
-    <target name="create-rar">
-        <copy file="descriptor/ra.xml" tofile="${assemble.dir}/rar/META-INF/ra.xml"/>
-        <copy file="descriptor/sun-ra.xml" tofile="${assemble.dir}/rar/META-INF/sun-ra.xml"/>
-        <copy file="${env.APS_HOME}/sqetests/connector/lib/cciblackbox-tx.jar"
-              tofile="${assemble.dir}/rar/cciblackbox-tx.jar"/>
-        <copy file="${env.APS_HOME}/sqetests/connector/lib/cci-derby-proc.jar"
-              tofile="${assemble.dir}/rar/cci-derby-proc.jar"/>
-        <replace file="${assemble.dir}/rar/META-INF/ra.xml" token="DBURL" value="${db.url}"/>
-    </target>
-
-    <target name="package-rar" depends="init-common">
-        <mkdir dir="${assemble.dir}/rar"/>
-        <mkdir dir="${assemble.dir}/rar/META-INF"/>
-        <antcall target="create-rar"/>
-        <jar destfile="${assemble.dir}/${rarname}.rar" update="true">
-            <fileset dir="${assemble.dir}/rar">
-            </fileset>
-            <metainf dir="${assemble.dir}/rar/META-INF">
-            </metainf>
-        </jar>
-    </target>
+  <!-- Set classpath-suffix for pointbase -->
 
 
-    <!-- db setup -->
-    <target name="create-sql">
-        <antcall target="execute-sql-common">
-            <param name="sql.file" value="sql/cci-pb.sql"/>
-        </antcall>
-    </target>
+  <!-- setup -->
+  <target name="setup" depends="init-common">
+    <antcall target="drop-sql" />
+    <antcall target="create-sql" />
+  </target>
 
-    <target name="drop-sql">
-        <antcall target="execute-sql-common">
-            <param name="sql.file" value="sql/cci-pb-drop.sql"/>
-        </antcall>
-    </target>
+  <!-- unsetup -->
+  <target name="unsetup" depends="init-common">
+    <antcall target="drop-sql" />
+  </target>
 
-    <!-- Set classpath-suffix for pointbase -->
-
-
-    <!-- setup -->
-    <target name="setup" depends="init-common">
-        <antcall target="drop-sql"/>
-        <antcall target="create-sql"/>
-    </target>
-
-    <!-- unsetup -->
-    <target name="unsetup" depends="init-common">
-        <antcall target="drop-sql"/>
-    </target>
-
-    <target name="create-dboutfile" depends="init-common">
-        <mkdir dir="${build.classes.dir}"/>
-        <exec executable="touch">
-            <arg line="${build.classes.dir}/setupDBTables.out"/>
-        </exec>
-    </target>
+  <target name="create-dboutfile" depends="init-common">
+    <mkdir dir="${build.classes.dir}" />
+    <exec executable="touch">
+      <arg line="${build.classes.dir}/setupDBTables.out" />
+    </exec>
+  </target>
 
 
 </project>
diff --git a/appserver/tests/appserv-tests/devtests/connector/v3/SunRaXml/cci-embedded/descriptor/application-client.xml b/appserver/tests/appserv-tests/devtests/connector/v3/SunRaXml/cci-embedded/descriptor/application-client.xml
index a752ab5..d61feb9 100755
--- a/appserver/tests/appserv-tests/devtests/connector/v3/SunRaXml/cci-embedded/descriptor/application-client.xml
+++ b/appserver/tests/appserv-tests/devtests/connector/v3/SunRaXml/cci-embedded/descriptor/application-client.xml
@@ -1,5 +1,6 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <!DOCTYPE application-client PUBLIC '-//Sun Microsystems, Inc.//DTD J2EE Application Client 1.3//EN'
+        'http://java.sun.com/dtd/application-client_1_3.dtd'>
 <!--
 
     Copyright (c) 2017, 2018 Oracle and/or its affiliates. All rights reserved.
@@ -17,11 +18,6 @@
     SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
 
 -->
-
-        'http://java.sun.com/dtd/application-client_1_3.dtd'>
-
-
-
 <application-client>
     <display-name>connector-embedded-cciClient</display-name>
     <ejb-ref>
diff --git a/appserver/tests/appserv-tests/devtests/connector/v3/SunRaXml/cci-embedded/descriptor/application-withrar.xml b/appserver/tests/appserv-tests/devtests/connector/v3/SunRaXml/cci-embedded/descriptor/application-withrar.xml
index 31baa79..be58133 100755
--- a/appserver/tests/appserv-tests/devtests/connector/v3/SunRaXml/cci-embedded/descriptor/application-withrar.xml
+++ b/appserver/tests/appserv-tests/devtests/connector/v3/SunRaXml/cci-embedded/descriptor/application-withrar.xml
@@ -1,5 +1,6 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <!DOCTYPE application PUBLIC '-//Sun Microsystems, Inc.//DTD J2EE Application 1.3//EN'
+        'http://java.sun.com/dtd/application_1_3.dtd'>
 <!--
 
     Copyright (c) 2017, 2018 Oracle and/or its affiliates. All rights reserved.
@@ -18,10 +19,6 @@
 
 -->
 
-        'http://java.sun.com/dtd/application_1_3.dtd'>
-
-
-
 <application>
     <display-name>CoffeeApp</display-name>
     <description>Sample application to showcase CCI (Common Client Interface) of JCA (Java Connector Architecture)
@@ -29,23 +26,14 @@
     <module>
         <ejb>cci-embedded-ejb.jar</ejb>
     </module>
-    <!--
-      <module>
-        <java>cci-embedded-client.jar</java>
-      </module>
-    -->
-
     <module>
         <connector>cciblackbox-tx.rar</connector>
     </module>
-
-
     <module>
         <web>
             <web-uri>cci-embedded-web.war</web-uri>
             <context-root>cci-embedded</context-root>
         </web>
     </module>
-
 </application>
 
diff --git a/appserver/tests/appserv-tests/devtests/connector/v3/SunRaXml/cci-embedded/descriptor/application.xml b/appserver/tests/appserv-tests/devtests/connector/v3/SunRaXml/cci-embedded/descriptor/application.xml
index 524dd0b..55470de 100755
--- a/appserver/tests/appserv-tests/devtests/connector/v3/SunRaXml/cci-embedded/descriptor/application.xml
+++ b/appserver/tests/appserv-tests/devtests/connector/v3/SunRaXml/cci-embedded/descriptor/application.xml
@@ -1,5 +1,6 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <!DOCTYPE application PUBLIC '-//Sun Microsystems, Inc.//DTD J2EE Application 1.3//EN'
+        'http://java.sun.com/dtd/application_1_3.dtd'>
 <!--
 
     Copyright (c) 2017, 2018 Oracle and/or its affiliates. All rights reserved.
@@ -18,22 +19,12 @@
 
 -->
 
-        'http://java.sun.com/dtd/application_1_3.dtd'>
-
-
-
 <application>
     <display-name>EmbeddedCoffeeApp</display-name>
-    <description>Sample application to showcase CCI (Common Client Interface) of JCA (Java Connector Architecture)
-    </description>
+    <description>Sample application to showcase CCI (Common Client Interface) of JCA (Java Connector Architecture)</description>
     <module>
         <ejb>cci-embedded-ejb.jar</ejb>
     </module>
-    <!--
-      <module>
-        <java>cci-embedded-client.jar</java>
-      </module>
-    -->
     <module>
         <connector>cciblackbox-tx.rar</connector>
     </module>
diff --git a/appserver/tests/appserv-tests/devtests/connector/v3/SunRaXml/cci-embedded/descriptor/ejb-jar.xml b/appserver/tests/appserv-tests/devtests/connector/v3/SunRaXml/cci-embedded/descriptor/ejb-jar.xml
index 5da7172..71917bc 100755
--- a/appserver/tests/appserv-tests/devtests/connector/v3/SunRaXml/cci-embedded/descriptor/ejb-jar.xml
+++ b/appserver/tests/appserv-tests/devtests/connector/v3/SunRaXml/cci-embedded/descriptor/ejb-jar.xml
@@ -1,5 +1,6 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <!DOCTYPE ejb-jar PUBLIC '-//Sun Microsystems, Inc.//DTD Enterprise JavaBeans 2.0//EN'
+        'http://java.sun.com/dtd/ejb-jar_2_0.dtd'>
 <!--
 
     Copyright (c) 2017, 2018 Oracle and/or its affiliates. All rights reserved.
@@ -17,11 +18,6 @@
     SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
 
 -->
-
-        'http://java.sun.com/dtd/ejb-jar_2_0.dtd'>
-
-
-
 <ejb-jar>
     <display-name>CoffeeJAR</display-name>
     <enterprise-beans>
diff --git a/appserver/tests/appserv-tests/devtests/connector/v3/SunRaXml/cci-embedded/descriptor/web.xml b/appserver/tests/appserv-tests/devtests/connector/v3/SunRaXml/cci-embedded/descriptor/web.xml
index 2f03e0a..d1fc7e0 100644
--- a/appserver/tests/appserv-tests/devtests/connector/v3/SunRaXml/cci-embedded/descriptor/web.xml
+++ b/appserver/tests/appserv-tests/devtests/connector/v3/SunRaXml/cci-embedded/descriptor/web.xml
@@ -1,5 +1,6 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <!DOCTYPE web-app PUBLIC '-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN'
+        'http://java.sun.com/j2ee/dtds/web-app_2_3.dtd'>
 <!--
 
     Copyright (c) 2018 Oracle and/or its affiliates. All rights reserved.
@@ -17,9 +18,6 @@
     SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
 
 -->
-
-        'http://java.sun.com/j2ee/dtds/web-app_2_3.dtd'>
-
 <web-app>
     <display-name>cci-embedded-web</display-name>
     <distributable></distributable>
diff --git a/appserver/tests/appserv-tests/devtests/connector/v3/SunRaXml/cci/build.properties b/appserver/tests/appserv-tests/devtests/connector/v3/SunRaXml/cci/build.properties
index 385a87c..5511b00 100755
--- a/appserver/tests/appserv-tests/devtests/connector/v3/SunRaXml/cci/build.properties
+++ b/appserver/tests/appserv-tests/devtests/connector/v3/SunRaXml/cci/build.properties
@@ -19,7 +19,6 @@
 
 <property name="module" value="connector"/>
 <property name="app.type" value="application"/>
-<property name="cciblackbox.path" value="../lib/cciblackbox-tx.jar"/>
 <property name="appname" value="connector-cci"/>
 <property name="application.xml" value="descriptor/application.xml"/>
 <property name="ejb-jar.xml" value="descriptor/ejb-jar.xml"/>
diff --git a/appserver/tests/appserv-tests/devtests/connector/v3/SunRaXml/cci/build.xml b/appserver/tests/appserv-tests/devtests/connector/v3/SunRaXml/cci/build.xml
index 92b423d..2d1fa9f 100755
--- a/appserver/tests/appserv-tests/devtests/connector/v3/SunRaXml/cci/build.xml
+++ b/appserver/tests/appserv-tests/devtests/connector/v3/SunRaXml/cci/build.xml
@@ -18,11 +18,11 @@
 
 -->
 
-        <!ENTITY commonSetup SYSTEM "./../../../../../config/properties.xml">
-        <!ENTITY commonBuild SYSTEM "./../../../../../config/common.xml">
-        <!ENTITY run SYSTEM "./../../../../../config/run.xml">
-        <!ENTITY testProperties SYSTEM "./build.properties">
-        ]>
+<!ENTITY commonSetup SYSTEM "./../../../../../config/properties.xml">
+<!ENTITY commonBuild SYSTEM "./../../../../../config/common.xml">
+<!ENTITY run SYSTEM "./../../../../../config/run.xml">
+<!ENTITY testProperties SYSTEM "./build.properties">
+]>
 
 
 <project name="cci" basedir="." default="usage">
@@ -32,291 +32,253 @@
     &testProperties;
     &run;
 
-    <target name="all" depends="build,setup,deploy,run,undeploy,unsetup"/>
-    <target name="run-dp-test" depends="build,setup,deploy-dp,run,undeploy-dp,unsetup"/>
-    <target name="run-test" depends="build,deploy,run,undeploy"/>
+  <target name="all" depends="build,setup,deploy,run,undeploy,unsetup" />
+  <target name="run-dp-test" depends="build,setup,deploy-dp,run,undeploy-dp,unsetup" />
+  <target name="run-test" depends="build,deploy,run,undeploy" />
 
-    <target name="clean" depends="init-common">
-        <delete dir="${build.classes.dir}"/>
-        <delete dir="${assemble.dir}"/>
-        <delete dir="${assemble.dir}/rar"/>
-        <delete file="${assemble.dir}/${rarname}.rar"/>
-        <antcall target="create-dboutfile"/>
-    </target>
+  <target name="clean" depends="init-common">
+    <delete dir="${build.classes.dir}" />
+    <delete dir="${assemble.dir}" />
+    <delete dir="${assemble.dir}/rar" />
+    <delete file="${assemble.dir}/${rarname}.rar" />
+    <antcall target="create-dboutfile" />
+  </target>
 
-    <target name="compile" depends="clean">
-        <antcall target="compile-cci">
-            <param name="src" value="ejb"/>
-        </antcall>
-        <antcall target="compile-cci">
-            <param name="src" value="client"/>
-        </antcall>
+  <target name="compile" depends="clean">
+    <antcall target="compile-cci">
+      <param name="src" value="ejb" />
+    </antcall>
+    <antcall target="compile-cci">
+      <param name="src" value="client" />
+    </antcall>
 
-        <antcall target="compile-common">
-            <param name="src" value="servlet"/>
-        </antcall>
+    <antcall target="compile-common">
+      <param name="src" value="servlet" />
+    </antcall>
 
 
-        <javac
-                srcdir="."
-                classpath="${env.APS_HOME}/lib/reporter.jar"
-                includes="client/WebTest.java" destdir="."/>
+    <javac srcdir="."
+           classpath="${env.APS_HOME}/lib/reporter.jar"
+           includes="client/WebTest.java"
+           destdir="."
+    />
 
-    </target>
+  </target>
 
 
-    <!--
+  <!--
     Custom target for compilation with local libraries for connector
     -->
-    <target name="compile-cci" depends="init-common">
-        <mkdir dir="${build.classes.dir}"/>
-        <javac srcdir="${src}"
-               destdir="${build.classes.dir}"
-               classpath="${s1astest.classpath}:${cciblackbox.path}"
-               failonerror="true"/>
-    </target>
+  <target name="compile-cci" depends="init-common">
+    <mkdir dir="${build.classes.dir}" />
+    <javac srcdir="${src}"
+           destdir="${build.classes.dir}"
+           classpath="${s1astest.classpath}:${bundles.dir}/cciblackbox-tx.jar"
+           failonerror="true"
+    />
+  </target>
 
-    <target name="create-pb-proc" depends="init-common">
+  <target name="create-pb-proc" depends="init-common">
 
-        <jar destfile="${build.classes.dir}/cci-pb-proc.jar" update="true"
-             includes="${build.classes.dir}/client/*SampleExternalMethods.class*"/>
+    <jar destfile="${build.classes.dir}/cci-pb-proc.jar"
+         update="true"
+         includes="${build.classes.dir}/client/*SampleExternalMethods.class*"
+    />
+  </target>
+
+  <target name="build" depends="compile">
+
+    <antcall target="webclient-war-common">
+      <param name="hasWebclient" value="yes" />
+      <param name="appname" value="connector-cci" />
+      <param name="web.xml" value="descriptor/web.xml" />
+      <param name="sun-web.xml" value="descriptor/sun-web.xml" />
+      <param name="webclient.war.classes" value="servlet/*.class, beans/*.class" />
+    </antcall>
+
+    <antcall target="build-ear-common">
+      <param name="ejbjar.classes" value="**/*Local*.class, **/*Remote*.class, **/*Bean*.class" />
+      <param name="appclientjar.classes"
+             value="**/*Local*.class,**/*Remote*.class,**/*Home*.class,**/*Client*.class"
+      />
+    </antcall>
+  </target>
+
+  <target name="deploy" depends="init-common">
+    <antcall target="package-rar" />
+    <antcall target="deploy-rar">
+      <param name="tx.mode" value="tx" />
+    </antcall>
+    <antcall target="deploy-common" />
+  </target>
+
+  <target name="deploy-dp" depends="init-common">
+    <antcall target="create-pool">
+      <param name="tx.mode" value="tx" />
+    </antcall>
+    <antcall target="create-resource">
+      <param name="tx.mode" value="tx" />
+    </antcall>
+    <antcall target="deploy-common" />
+  </target>
+
+  <target name="undeploy">
+    <antcall target="undeploy-rar" />
+    <antcall target="undeploy-common" />
+  </target>
+
+  <target name="undeploy-dp">
+    <antcall target="delete-resource" />
+    <antcall target="delete-pool" />
+    <antcall target="undeploy-common" />
+  </target>
+
+  <target name="run" depends="init-common">
+    <java classname="client.WebTest">
+      <arg value="${http.host}" />
+      <arg value="${http.port}" />
+      <arg value="${contextroot}" />
+      <arg value=" 1 " />
+      <classpath>
+        <pathelement location="${env.APS_HOME}/lib/reporter.jar" />
+        <pathelement location="." />
+      </classpath>
+    </java>
+
+  </target>
+
+  <!-- setup -->
+  <target name="setup" depends="init-common, build">
+    <antcall target="drop-sql" />
+    <antcall target="create-sql" />
+  </target>
+
+  <!-- unsetup -->
+  <target name="unsetup" depends="init-common">
+    <antcall target="drop-sql" />
+  </target>
+
+  <target name="create-pool">
+    <antcall target="create-connector-connpool-common">
+      <param name="ra.name" value="cciblackbox-${tx.mode}" />
+      <param name="connection.defname" value="jakarta.resource.cci.ConnectionFactory" />
+      <param name="connector.conpool.name" value="CCI-CONNPOOL" />
+    </antcall>
+  </target>
+
+  <target name="create-resource">
+    <antcall target="create-connector-resource-common">
+      <param name="connector.conpool.name" value="CCI-CONNPOOL" />
+      <param name="connector.jndi.name" value="eis/CCIEIS" />
+    </antcall>
+  </target>
+
+  <target name="delete-pool">
+    <antcall target="delete-connector-connpool-common">
+      <param name="connector.conpool.name" value="CCI-CONNPOOL" />
+    </antcall>
+  </target>
+
+  <target name="delete-resource">
+    <antcall target="delete-connector-resource-common">
+      <param name="connector.jndi.name" value="eis/CCIEIS" />
+    </antcall>
+  </target>
+
+  <target name="deploy-rar">
+    <antcall target="deploy-rar-common">
+      <param name="rarfile" value="${assemble.dir}/${rarname}.rar" />
+    </antcall>
+  </target>
+
+  <target name="undeploy-rar">
+    <antcall target="undeploy-rar-common">
+      <param name="undeployrar" value="cciblackbox-tx" />
+    </antcall>
+  </target>
 
 
-        <!--
-            <jar jarfile="${build.classes.dir}/cci-pb-proc.jar" update="true">
-               <fileset dir="${build.classes.dir}" casesensitive="yes">
-                 <include name="**/SampleExternalMethods.class*"/>
-                   <exclude  name="**/ejb/*"/>
-                   <exclude  name="**/servlet/*"/>
-                   <exclude  name="**/connector/*"/>
-               </fileset>
-            </jar>
-        -->
+  <!-- create the appclient jar file with custom classes-->
+  <target name="appclient-jar" depends="init-common">
+    <property name="appclientjar.classes"
+              value="**/*Local*.class,**/*Remote*.class,**/*Home*.class,**/*Client*.class"
+    />
+    <antcall target="package-appclientjar-common">
+      <param name="appclientjar.files" value="${build.classes.dir}" />
+      <param name="appclient.jar" value="${assemble.dir}/${appname}-client.jar" />
+    </antcall>
+  </target>
 
-    </target>
+  <!-- create/delete JVM options -->
+  <target name="create-JVM-options">
+    <exec executable="${ASADMIN}" failonerror="false">
+      <arg line="create-jvm-options" />
+      <arg line="--user ${admin.user}" />
+      <arg line="--passwordfile ${env.APS_HOME}/devtests/connector/config/password.txt" />
+      <arg line="--host ${admin.host}" />
+      <arg line="--port ${admin.port}" />
+      <arg line=":-Djdbc.drivers=${jdbc.drivers}" />
+    </exec>
+  </target>
 
-    <target name="build" depends="compile">
+  <target name="delete-JVM-options">
+    <exec executable="${ASADMIN}" failonerror="false">
+      <arg line="delete-jvm-options" />
+      <arg line="--user ${admin.user}" />
+      <arg line="--passwordfile ${env.APS_HOME}/devtests/connector/config/password.txt" />
+      <arg line="--host ${admin.host}" />
+      <arg line="--port ${admin.port}" />
+      <arg line=":-Djdbc.drivers=${jdbc.drivers}" />
+    </exec>
+  </target>
 
-        <antcall target="webclient-war-common">
-            <param name="hasWebclient" value="yes"/>
-            <param name="appname" value="connector-cci"/>
-            <param name="web.xml" value="descriptor/web.xml"/>
-            <param name="sun-web.xml" value="descriptor/sun-web.xml"/>
-            <param name="webclient.war.classes" value="servlet/*.class, beans/*.class"/>
-        </antcall>
+  <target name="create-rar">
+    <copy file="descriptor/ra.xml" tofile="${assemble.dir}/rar/META-INF/ra.xml" />
+    <copy file="descriptor/sun-ra.xml" tofile="${assemble.dir}/rar/META-INF/sun-ra.xml" />
+    <copy file="${bundles.dir}/cciblackbox-tx.jar" tofile="${assemble.dir}/rar/cciblackbox-tx.jar"
+    />
+    <copy file="${env.APS_HOME}/sqetests/connector/lib/cci-derby-proc.jar"
+          tofile="${assemble.dir}/rar/cci-derby-proc.jar"
+    />
+    <replace file="${assemble.dir}/rar/META-INF/ra.xml" token="DBURL" value="${db.url}" />
+  </target>
 
-        <antcall target="build-ear-common">
-            <param name="ejbjar.classes"
-                   value="**/*Local*.class, **/*Remote*.class, **/*Bean*.class"/>
-            <param name="appclientjar.classes"
-                   value="**/*Local*.class,**/*Remote*.class,**/*Home*.class,**/*Client*.class"/>
-        </antcall>
-    </target>
-
-    <target name="deploy" depends="init-common">
-        <antcall target="package-rar"/>
-        <antcall target="deploy-rar">
-            <param name="tx.mode" value="tx"/>
-        </antcall>
-        <!--    <antcall target="create-pool">
-                <param name="tx.mode" value="tx"/>
-            </antcall>
-            <antcall target="create-resource">
-                <param name="tx.mode" value="tx"/>
-            </antcall>
-        -->
-        <!--<antcall target="reconfig-common"/>-->
-        <antcall target="deploy-common"/>
-    </target>
-
-    <target name="deploy-dp" depends="init-common">
-        <antcall target="create-pool">
-            <param name="tx.mode" value="tx"/>
-        </antcall>
-        <antcall target="create-resource">
-            <param name="tx.mode" value="tx"/>
-        </antcall>
-        <antcall target="deploy-common"/>
-    </target>
-
-    <target name="undeploy">
-        <!--
-            <antcall target="delete-resource"/>
-            <antcall target="delete-pool"/>
-        -->
-        <antcall target="undeploy-rar"/>
-        <!--<antcall target="reconfig-common"/>-->
-        <antcall target="undeploy-common"/>
-    </target>
-
-    <target name="undeploy-dp">
-        <antcall target="delete-resource"/>
-        <antcall target="delete-pool"/>
-        <!--<antcall target="reconfig-common"/>-->
-        <antcall target="undeploy-common"/>
-    </target>
-
-    <target name="run" depends="init-common">
-        <!--
-            <antcall target="runclient-common">
-                <param name="appclient.application.args" value="standalone"/>
-            </antcall>
-        -->
-
-        <java classname="client.WebTest">
-            <arg value="${http.host}"/>
-            <arg value="${http.port}"/>
-            <arg value="${contextroot}"/>
-            <arg value=" 1 "/>
-            <classpath>
-                <pathelement location="${env.APS_HOME}/lib/reporter.jar"/>
-                <pathelement location="."/>
-            </classpath>
-        </java>
-
-    </target>
-
-    <!-- setup -->
-    <target name="setup" depends="init-common, build">
-        <antcall target="drop-sql"/>
-        <antcall target="create-sql"/>
-    </target>
-
-    <!-- unsetup -->
-    <target name="unsetup" depends="init-common">
-        <antcall target="drop-sql"/>
-    </target>
-
-    <target name="create-pool">
-        <antcall target="create-connector-connpool-common">
-            <param name="ra.name" value="cciblackbox-${tx.mode}"/>
-            <param name="connection.defname"
-                   value="jakarta.resource.cci.ConnectionFactory"/>
-            <param name="connector.conpool.name" value="CCI-CONNPOOL"/>
-        </antcall>
-    </target>
-
-    <target name="create-resource">
-        <antcall target="create-connector-resource-common">
-            <param name="connector.conpool.name" value="CCI-CONNPOOL"/>
-            <param name="connector.jndi.name" value="eis/CCIEIS"/>
-        </antcall>
-    </target>
-
-    <target name="delete-pool">
-        <antcall target="delete-connector-connpool-common">
-            <param name="connector.conpool.name" value="CCI-CONNPOOL"/>
-        </antcall>
-    </target>
-
-    <target name="delete-resource">
-        <antcall target="delete-connector-resource-common">
-            <param name="connector.jndi.name" value="eis/CCIEIS"/>
-        </antcall>
-    </target>
-
-    <target name="deploy-rar">
-        <antcall target="deploy-rar-common">
-            <param name="rarfile"
-                   value="${assemble.dir}/${rarname}.rar"/>
-        </antcall>
-    </target>
-
-    <target name="undeploy-rar">
-        <antcall target="undeploy-rar-common">
-            <param name="undeployrar"
-                   value="cciblackbox-tx"/>
-        </antcall>
-    </target>
+  <target name="package-rar" depends="init-common">
+    <mkdir dir="${assemble.dir}/rar" />
+    <mkdir dir="${assemble.dir}/rar/META-INF" />
+    <antcall target="create-rar" />
+    <jar destfile="${assemble.dir}/${rarname}.rar" update="true">
+      <fileset dir="${assemble.dir}/rar">
+      </fileset>
+      <metainf dir="${assemble.dir}/rar/META-INF">
+      </metainf>
+    </jar>
+  </target>
 
 
-    <!-- create the appclient jar file with custom classes-->
-    <target name="appclient-jar" depends="init-common">
-        <property name="appclientjar.classes"
-                  value="**/*Local*.class,**/*Remote*.class,**/*Home*.class,**/*Client*.class"/>
-        <antcall target="package-appclientjar-common">
-            <param name="appclientjar.files"
-                   value="${build.classes.dir}"/>
-            <param name="appclient.jar"
-                   value="${assemble.dir}/${appname}-client.jar"/>
-        </antcall>
-    </target>
+  <!-- Set classpath-suffix for pointbase -->
+  <target name="create-dboutfile" depends="init-common">
+    <mkdir dir="${build.classes.dir}" />
+    <exec executable="touch">
+      <arg line="${build.classes.dir}/setupDBTables.out" />
+    </exec>
+  </target>
 
-    <!-- create/delete JVM options -->
-    <target name="create-JVM-options">
-        <exec executable="${ASADMIN}" failonerror="false">
-            <arg line="create-jvm-options"/>
-            <arg line="--user ${admin.user}"/>
-            <arg line="--passwordfile ${env.APS_HOME}/devtests/connector/config/password.txt"/>
-            <arg line="--host ${admin.host}"/>
-            <arg line="--port ${admin.port}"/>
-            <arg line=":-Djdbc.drivers=${jdbc.drivers}"/>
-        </exec>
-        <!--<antcall target="reconfig-common" />-->
-    </target>
+  <!-- db setup -->
+  <target name="create-sql" depends="init-common">
+    <antcall target="execute-sql-common">
+      <param name="sql.file" value="sql/cci-pb.sql" />
+    </antcall>
+  </target>
 
-    <target name="delete-JVM-options">
-        <exec executable="${ASADMIN}" failonerror="false">
-            <arg line="delete-jvm-options"/>
-            <arg line="--user ${admin.user}"/>
-            <arg line="--passwordfile ${env.APS_HOME}/devtests/connector/config/password.txt"/>
-            <arg line="--host ${admin.host}"/>
-            <arg line="--port ${admin.port}"/>
-            <arg line=":-Djdbc.drivers=${jdbc.drivers}"/>
-        </exec>
-        <!--<antcall target="reconfig-common" />-->
-    </target>
+  <target name="drop-sql" depends="init-common">
+    <antcall target="execute-sql-common">
+      <param name="sql.file" value="sql/cci-pb-drop.sql" />
+    </antcall>
+  </target>
 
-    <target name="create-rar">
-        <copy file="descriptor/ra.xml"
-              tofile="${assemble.dir}/rar/META-INF/ra.xml"/>
-        <copy file="descriptor/sun-ra.xml"
-              tofile="${assemble.dir}/rar/META-INF/sun-ra.xml"/>
-        <copy file="${env.APS_HOME}/sqetests/connector/lib/cciblackbox-tx.jar"
-              tofile="${assemble.dir}/rar/cciblackbox-tx.jar"/>
-        <copy file="${env.APS_HOME}/sqetests/connector/lib/cci-derby-proc.jar"
-              tofile="${assemble.dir}/rar/cci-derby-proc.jar"/>
-        <replace file="${assemble.dir}/rar/META-INF/ra.xml"
-                 token="DBURL" value="${db.url}"/>
-    </target>
-
-    <target name="package-rar" depends="init-common">
-        <mkdir dir="${assemble.dir}/rar"/>
-        <mkdir dir="${assemble.dir}/rar/META-INF"/>
-        <antcall target="create-rar"/>
-        <jar destfile="${assemble.dir}/${rarname}.rar" update="true">
-            <fileset dir="${assemble.dir}/rar">
-            </fileset>
-            <metainf dir="${assemble.dir}/rar/META-INF">
-            </metainf>
-        </jar>
-    </target>
-
-
-    <!-- Set classpath-suffix for pointbase -->
-
-    <target name="create-dboutfile" depends="init-common">
-        <mkdir dir="${build.classes.dir}"/>
-        <exec executable="touch">
-            <arg line="${build.classes.dir}/setupDBTables.out"/>
-        </exec>
-    </target>
-
-    <!-- db setup -->
-    <target name="create-sql" depends="init-common">
-        <antcall target="execute-sql-common">
-            <param name="sql.file" value="sql/cci-pb.sql"/>
-        </antcall>
-    </target>
-
-    <target name="drop-sql" depends="init-common">
-        <antcall target="execute-sql-common">
-            <param name="sql.file" value="sql/cci-pb-drop.sql"/>
-        </antcall>
-    </target>
-
-    <target name="usage">
-        <antcall target="usage-common"/>
-    </target>
+  <target name="usage">
+    <antcall target="usage-common" />
+  </target>
 
 </project>
diff --git a/appserver/tests/appserv-tests/devtests/connector/v3/SunRaXml/cci/descriptor/application-client.xml b/appserver/tests/appserv-tests/devtests/connector/v3/SunRaXml/cci/descriptor/application-client.xml
index 7e8bc4e..5004d64 100755
--- a/appserver/tests/appserv-tests/devtests/connector/v3/SunRaXml/cci/descriptor/application-client.xml
+++ b/appserver/tests/appserv-tests/devtests/connector/v3/SunRaXml/cci/descriptor/application-client.xml
@@ -1,5 +1,5 @@
 <?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE application-client PUBLIC '-//Sun Microsystems, Inc.//DTD J2EE Application Client 1.3//EN'
+<!DOCTYPE application-client PUBLIC '-//Sun Microsystems, Inc.//DTD J2EE Application Client 1.3//EN' 'http://java.sun.com/dtd/application-client_1_3.dtd'>
 <!--
 
     Copyright (c) 2017, 2018 Oracle and/or its affiliates. All rights reserved.
@@ -18,10 +18,6 @@
 
 -->
 
-        'http://java.sun.com/dtd/application-client_1_3.dtd'>
-
-
-
 <application-client>
     <display-name>connector-cciClient</display-name>
     <ejb-ref>
diff --git a/appserver/tests/appserv-tests/devtests/connector/v3/SunRaXml/cci/descriptor/application-withrar.xml b/appserver/tests/appserv-tests/devtests/connector/v3/SunRaXml/cci/descriptor/application-withrar.xml
index c25c043..e5952fa 100755
--- a/appserver/tests/appserv-tests/devtests/connector/v3/SunRaXml/cci/descriptor/application-withrar.xml
+++ b/appserver/tests/appserv-tests/devtests/connector/v3/SunRaXml/cci/descriptor/application-withrar.xml
@@ -1,5 +1,5 @@
 <?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE application PUBLIC '-//Sun Microsystems, Inc.//DTD J2EE Application 1.3//EN'
+<!DOCTYPE application PUBLIC '-//Sun Microsystems, Inc.//DTD J2EE Application 1.3//EN' 'http://java.sun.com/dtd/application_1_3.dtd'>
 <!--
 
     Copyright (c) 2017, 2018 Oracle and/or its affiliates. All rights reserved.
@@ -18,10 +18,6 @@
 
 -->
 
-        'http://java.sun.com/dtd/application_1_3.dtd'>
-
-
-
 <application>
     <display-name>CoffeeApp</display-name>
     <description>Sample application to showcase CCI (Common Client Interface) of JCA (Java Connector Architecture)
diff --git a/appserver/tests/appserv-tests/devtests/connector/v3/SunRaXml/cci/descriptor/application.xml b/appserver/tests/appserv-tests/devtests/connector/v3/SunRaXml/cci/descriptor/application.xml
index eba6acd..9a1f9c8 100755
--- a/appserver/tests/appserv-tests/devtests/connector/v3/SunRaXml/cci/descriptor/application.xml
+++ b/appserver/tests/appserv-tests/devtests/connector/v3/SunRaXml/cci/descriptor/application.xml
@@ -1,5 +1,5 @@
 <?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE application PUBLIC '-//Sun Microsystems, Inc.//DTD J2EE Application 1.3//EN'
+<!DOCTYPE application PUBLIC '-//Sun Microsystems, Inc.//DTD J2EE Application 1.3//EN' 'http://java.sun.com/dtd/application_1_3.dtd'>
 <!--
 
     Copyright (c) 2017, 2018 Oracle and/or its affiliates. All rights reserved.
@@ -18,10 +18,6 @@
 
 -->
 
-        'http://java.sun.com/dtd/application_1_3.dtd'>
-
-
-
 <application>
     <display-name>CoffeeApp</display-name>
     <description>Sample application to showcase CCI (Common Client Interface) of JCA (Java Connector Architecture)
diff --git a/appserver/tests/appserv-tests/devtests/connector/v3/SunRaXml/cci/descriptor/ejb-jar.xml b/appserver/tests/appserv-tests/devtests/connector/v3/SunRaXml/cci/descriptor/ejb-jar.xml
index 158a985..1a04d9c 100755
--- a/appserver/tests/appserv-tests/devtests/connector/v3/SunRaXml/cci/descriptor/ejb-jar.xml
+++ b/appserver/tests/appserv-tests/devtests/connector/v3/SunRaXml/cci/descriptor/ejb-jar.xml
@@ -1,5 +1,5 @@
 <?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE ejb-jar PUBLIC '-//Sun Microsystems, Inc.//DTD Enterprise JavaBeans 2.0//EN'
+<!DOCTYPE ejb-jar PUBLIC '-//Sun Microsystems, Inc.//DTD Enterprise JavaBeans 2.0//EN' 'http://java.sun.com/dtd/ejb-jar_2_0.dtd'>
 <!--
 
     Copyright (c) 2017, 2018 Oracle and/or its affiliates. All rights reserved.
@@ -18,10 +18,6 @@
 
 -->
 
-        'http://java.sun.com/dtd/ejb-jar_2_0.dtd'>
-
-
-
 <ejb-jar>
     <display-name>CoffeeJAR</display-name>
     <enterprise-beans>
diff --git a/appserver/tests/appserv-tests/devtests/connector/v3/SunRaXml/cci/descriptor/sun-application-client.xml b/appserver/tests/appserv-tests/devtests/connector/v3/SunRaXml/cci/descriptor/sun-application-client.xml
index e9f6448..0740422 100755
--- a/appserver/tests/appserv-tests/devtests/connector/v3/SunRaXml/cci/descriptor/sun-application-client.xml
+++ b/appserver/tests/appserv-tests/devtests/connector/v3/SunRaXml/cci/descriptor/sun-application-client.xml
@@ -1,5 +1,7 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <!DOCTYPE sun-application-client PUBLIC
+        "-//Sun Microsystems, Inc.//DTD Sun ONE Application Server 7.0 Application Client 1.3//EN"
+        "http://www.sun.com/software/sunone/appserver/dtds/sun-application-client_1_3-0.dtd">
 <!--
 
     Copyright (c) 2017, 2018 Oracle and/or its affiliates. All rights reserved.
@@ -18,8 +20,6 @@
 
 -->
 
-        "-//Sun Microsystems, Inc.//DTD Sun ONE Application Server 7.0 Application Client 1.3//EN"
-        "http://www.sun.com/software/sunone/appserver/dtds/sun-application-client_1_3-0.dtd">
 
 
 <sun-application-client>
diff --git a/appserver/tests/appserv-tests/devtests/connector/v3/SunRaXml/cci/descriptor/sun-ra.xml b/appserver/tests/appserv-tests/devtests/connector/v3/SunRaXml/cci/descriptor/sun-ra.xml
index c822be5..0e7e0fe 100755
--- a/appserver/tests/appserv-tests/devtests/connector/v3/SunRaXml/cci/descriptor/sun-ra.xml
+++ b/appserver/tests/appserv-tests/devtests/connector/v3/SunRaXml/cci/descriptor/sun-ra.xml
@@ -1,4 +1,6 @@
 <?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE sun-connector PUBLIC "-//Sun Microsystems, Inc.//DTD Sun ONE Application Server 7.0 Connector 1.0//EN"
+        "http://www.sun.com/software/sunone/appserver/dtds/sun-connector_1_0-0.dtd">
 <!--
 
     Copyright (c) 2002, 2018 Oracle and/or its affiliates. All rights reserved.
@@ -16,9 +18,6 @@
     SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
 
 -->
-
-<!DOCTYPE sun-connector PUBLIC "-//Sun Microsystems, Inc.//DTD Sun ONE Application Server 7.0 Connector 1.0//EN"
-        "http://www.sun.com/software/sunone/appserver/dtds/sun-connector_1_0-0.dtd">
 <sun-connector>
     <resource-adapter jndi-name="eis/CCIEIS" max-pool-size="20" steady-pool-size="10" max-wait-time-in-millis="300000"
                       idle-timeout-in-seconds="5000">
diff --git a/appserver/tests/appserv-tests/devtests/connector/v3/SunRaXml/cci/descriptor/web.xml b/appserver/tests/appserv-tests/devtests/connector/v3/SunRaXml/cci/descriptor/web.xml
index 41ab057..0ad5517 100644
--- a/appserver/tests/appserv-tests/devtests/connector/v3/SunRaXml/cci/descriptor/web.xml
+++ b/appserver/tests/appserv-tests/devtests/connector/v3/SunRaXml/cci/descriptor/web.xml
@@ -1,5 +1,6 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <!DOCTYPE web-app PUBLIC '-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN'
+        'http://java.sun.com/j2ee/dtds/web-app_2_3.dtd'>
 <!--
 
     Copyright (c) 2018 Oracle and/or its affiliates. All rights reserved.
@@ -18,8 +19,6 @@
 
 -->
 
-        'http://java.sun.com/j2ee/dtds/web-app_2_3.dtd'>
-
 <web-app>
     <display-name>connector-cci-web</display-name>
     <distributable></distributable>
diff --git a/appserver/tests/appserv-tests/devtests/connector/v3/SunRaXml/lib/cci-derby-proc.jar b/appserver/tests/appserv-tests/devtests/connector/v3/SunRaXml/lib/cci-derby-proc.jar
deleted file mode 100755
index 38444d8..0000000
--- a/appserver/tests/appserv-tests/devtests/connector/v3/SunRaXml/lib/cci-derby-proc.jar
+++ /dev/null
Binary files differ
diff --git a/appserver/tests/appserv-tests/devtests/connector/v3/SunRaXml/lib/cciblackbox-tx.jar b/appserver/tests/appserv-tests/devtests/connector/v3/SunRaXml/lib/cciblackbox-tx.jar
deleted file mode 100755
index 730b04d..0000000
--- a/appserver/tests/appserv-tests/devtests/connector/v3/SunRaXml/lib/cciblackbox-tx.jar
+++ /dev/null
Binary files differ
diff --git a/appserver/tests/appserv-tests/devtests/connector/v3/administered-object-definition-embedra/descriptor/connector-resource.xml b/appserver/tests/appserv-tests/devtests/connector/v3/administered-object-definition-embedra/descriptor/connector-resource.xml
index de03d97..9d15ce7 100644
--- a/appserver/tests/appserv-tests/devtests/connector/v3/administered-object-definition-embedra/descriptor/connector-resource.xml
+++ b/appserver/tests/appserv-tests/devtests/connector/v3/administered-object-definition-embedra/descriptor/connector-resource.xml
@@ -2,6 +2,7 @@
 <!--
 
     Copyright (c) 2017, 2018 Oracle and/or its affiliates. All rights reserved.
+    Copyright (c) 2022 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
@@ -16,16 +17,19 @@
     SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
 
 -->
-
-<connector-resource xmlns="http://xmlns.jcp.org/xml/ns/javaee"
-                    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-             xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/javaee_7.xsd>
-        <description>global-scope resource defined in application DD</description>
-        <name>java:global/env/Application_Level_ConnectionFactory</name>
-        <class-name>jakarta.resource.cci.ConnectionFactory</class-name>
-        <resource-adapter>#crd-ra</resource-adapter>
-        <property>
-                <name>transactionSupport</name>
-                <value>LocalTransaction</value>
-        </property>
-</connector-resource>
+<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/jakartaee_9.xsd
+       https://jakarta.ee/xml/ns/jakartaee/connector_2_0.xsd"
+    version="2.0"
+>
+    <description>global-scope resource defined in application DD</description>
+    <name>java:global/env/Application_Level_ConnectionFactory</name>
+    <class-name>jakarta.resource.cci.ConnectionFactory</class-name>
+    <resource-adapter>#crd-ra</resource-adapter>
+    <property>
+        <name>transactionSupport</name>
+        <value>LocalTransaction</value>
+    </property>
+</connector>
diff --git a/appserver/tests/appserv-tests/devtests/connector/v3/administered-object-definition/descriptor/connector-resource.xml b/appserver/tests/appserv-tests/devtests/connector/v3/administered-object-definition/descriptor/connector-resource.xml
index ea79497..4a53837 100644
--- a/appserver/tests/appserv-tests/devtests/connector/v3/administered-object-definition/descriptor/connector-resource.xml
+++ b/appserver/tests/appserv-tests/devtests/connector/v3/administered-object-definition/descriptor/connector-resource.xml
@@ -2,6 +2,7 @@
 <!--
 
     Copyright (c) 2017, 2018 Oracle and/or its affiliates. All rights reserved.
+    Copyright (c) 2022 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
@@ -16,16 +17,19 @@
     SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
 
 -->
-
-<connector-resource xmlns="http://xmlns.jcp.org/xml/ns/javaee"
-                    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-             xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/javaee_7.xsd>
-        <description>global-scope resource defined in application DD</description>
-        <name>java:global/env/Application_Level_ConnectionFactory</name>
-        <class-name>jakarta.resource.cci.ConnectionFactory</class-name>
-        <resource-adapter>crd-ra</resource-adapter>
-        <property>
-                <name>transactionSupport</name>
-                <value>LocalTransaction</value>
-        </property>
-</connector-resource>
+<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/jakartaee_9.xsd
+       https://jakarta.ee/xml/ns/jakartaee/connector_2_0.xsd"
+    version="2.0"
+>
+    <description>global-scope resource defined in application DD</description>
+    <name>java:global/env/Application_Level_ConnectionFactory</name>
+    <class-name>jakarta.resource.cci.ConnectionFactory</class-name>
+    <resource-adapter>crd-ra</resource-adapter>
+    <property>
+        <name>transactionSupport</name>
+        <value>LocalTransaction</value>
+    </property>
+</connector>
diff --git a/appserver/tests/appserv-tests/devtests/connector/v3/administered-object-definition/ra/src/connector/SimpleResourceAdapterImpl.java b/appserver/tests/appserv-tests/devtests/connector/v3/administered-object-definition/ra/src/connector/SimpleResourceAdapterImpl.java
index d1c26bb..0937f27 100755
--- a/appserver/tests/appserv-tests/devtests/connector/v3/administered-object-definition/ra/src/connector/SimpleResourceAdapterImpl.java
+++ b/appserver/tests/appserv-tests/devtests/connector/v3/administered-object-definition/ra/src/connector/SimpleResourceAdapterImpl.java
@@ -62,13 +62,12 @@
         this.wm = ctx.getWorkManager();
         debug("003. Simple RA start...");
 
-        // testing creat timer
+        // testing create timer
         Timer timer = null;
         try {
             timer = ctx.createTimer();
         } catch (UnavailableException ue) {
-            System.out.println("Error");
-            throw new ResourceAdapterInternalException("Error form bootstrap");
+            throw new ResourceAdapterInternalException("Error form bootstrap", ue);
         }
         debug("004. Simple RA start...");
     }
@@ -94,7 +93,6 @@
             wm.scheduleWork(work, 4 * 1000, null, null);
             debug("B.001. Scheduled Dispatcher");
         } catch (Exception ex) {
-            ex.printStackTrace();
             throw new RuntimeException(ex);
         }
     }
diff --git a/appserver/tests/appserv-tests/devtests/connector/v3/annotation-embeddedweb/build.xml b/appserver/tests/appserv-tests/devtests/connector/v3/annotation-embeddedweb/build.xml
index 5be17df..f702d91 100755
--- a/appserver/tests/appserv-tests/devtests/connector/v3/annotation-embeddedweb/build.xml
+++ b/appserver/tests/appserv-tests/devtests/connector/v3/annotation-embeddedweb/build.xml
@@ -33,222 +33,193 @@
     &commonRun;
     &testproperties;
 
-<!--
-    <target name="all" depends="build,setup,deploy-war, run-war, undeploy-war, deploy-ear, run-ear, undeploy-ear, unsetup"/>
+  <target name="all" depends="build, disable-resource-validation, deploy-ear, setup, run-ear, unsetup, undeploy-ear, enable-resource-validation"/>
 
-    <target name="run-test" depends="build,deploy-war, run-war, undeploy-war, deploy-ear, run-ear, undeploy-ear"/>
--->
-    <target name="all" depends="build, disable-resource-validation, deploy-ear, setup, run-ear, unsetup, undeploy-ear, enable-resource-validation"/>
+  <target name="clean" depends="init-common">
+    <antcall target="clean-common"/>
+  </target>
 
-<!--
-        <antcall target="build"/>
-        <antcall target="setup"/>
-        <antcall target="deploy-war"/>
-        <antcall target="run-war"/>
-        <antcall target="undeploy-war"/>
-        <antcall target="deploy-ear"/>
-        <antcall target="run-ear"/>
-        <antcall target="undeploy-ear"/>
-        <antcall target="unsetup"/>
-    </target>
--->
-
-    <target name="clean" depends="init-common">
-      <antcall target="clean-common"/>
-      <ant dir="ra" target="clean"/>
-    </target>
-
-    <target name="setup">
+  <target name="setup">
     <antcall target="execute-sql-connector">
-        <param name="sql.file" value="sql/simpleBank.sql"/>
+      <param name="sql.file" value="sql/simpleBank.sql"/>
     </antcall>
     <antcall target="create-pool"/>
     <antcall target="create-resource"/>
     <antcall target="create-admin-object"/>
 
-    </target>
-    <target name="create-pool">
-                <antcall target="create-connector-connpool-common">
-                <param name="ra.name" value="${appname}App#jdbcra"/>
-                <param name="connection.defname" value="javax.sql.DataSource"/>
-                    <param name="extra-params" value="--matchconnections=false"/>
-                <param name="connector.conpool.name" value="embedded-ra-pool"/>
-                </antcall>
-                <antcall target="set-oracle-props">
-                <param name="pool.type" value="connector"/>
-                <param name="conpool.name" value="embedded-ra-pool"/>
-                </antcall>
-    </target>
+  </target>
+  <target name="create-pool">
+    <antcall target="create-connector-connpool-common">
+      <param name="ra.name" value="${appname}App#connectors-ra-redeploy-rars"/>
+      <param name="connection.defname" value="javax.sql.DataSource"/>
+      <param name="extra-params" value="--matchconnections=false"/>
+      <param name="connector.conpool.name" value="embedded-ra-pool"/>
+    </antcall>
+    <antcall target="set-oracle-props">
+      <param name="pool.type" value="connector"/>
+      <param name="conpool.name" value="embedded-ra-pool"/>
+    </antcall>
+  </target>
 
-        <target name="disable-resource-validation">
-                <antcall target="create-jvm-options">
-                <param name="option" value="-Ddeployment.resource.validation=false"/>
-                </antcall>
-                <antcall target="restart-server"/>
-        </target>
+  <target name="disable-resource-validation">
+    <antcall target="create-jvm-options">
+      <param name="option" value="-Ddeployment.resource.validation=false"/>
+    </antcall>
+    <antcall target="restart-server"/>
+  </target>
 
-        <target name="enable-resource-validation">
-                <antcall target="delete-jvm-options">
-                <param name="option" value="-Ddeployment.resource.validation=false"/>
-                </antcall>
-                <antcall target="restart-server"/>
-        </target>
+  <target name="enable-resource-validation">
+    <antcall target="delete-jvm-options">
+      <param name="option" value="-Ddeployment.resource.validation=false"/>
+    </antcall>
+    <antcall target="restart-server"/>
+  </target>
 
-        <target name="create-resource">
-                <antcall target="create-connector-resource-common">
-                <param name="connector.conpool.name" value="embedded-ra-pool"/>
-                <param name="connector.jndi.name" value="jdbc/ejb-annotation-subclassing"/>
-                </antcall>
-     </target>
+  <target name="create-resource">
+    <antcall target="create-connector-resource-common">
+      <param name="connector.conpool.name" value="embedded-ra-pool"/>
+      <param name="connector.jndi.name" value="jdbc/ejb-annotation-subclassing"/>
+    </antcall>
+  </target>
 
 
-     <target name="create-admin-object" depends="init-common">
-         <antcall target="asadmin-common">
-            <param name="admin.command" value="create-admin-object --target ${appserver.instance.name} --restype com.sun.jdbcra.spi.JdbcSetupAdmin --raname ${appname}App#jdbcra --property TableName=customer2:JndiName=jdbc/ejb-annotation-subclassing:SchemaName=DBUSER:NoOfRows=1"/>
-            <param name="operand.props" value="eis/jdbcAdmin"/>
-         </antcall>
-     </target>
+  <target name="create-admin-object" depends="init-common">
+    <antcall target="asadmin-common">
+      <param name="admin.command" value="create-admin-object --target ${appserver.instance.name} --restype com.sun.jdbcra.spi.JdbcSetupAdmin --raname ${appname}App#connectors-ra-redeploy-rars --property TableName=customer2:JndiName=jdbc/ejb-annotation-subclassing:SchemaName=DBUSER:NoOfRows=1"/>
+      <param name="operand.props" value="eis/jdbcAdmin"/>
+    </antcall>
+  </target>
 
-     <target name="delete-admin-object" depends="init-common">
-         <antcall target="asadmin-common">
-            <param name="admin.command" value="delete-admin-object"/>
-            <param name="operand.props" value="--target ${appserver.instance.name} eis/jdbcAdmin"/>
-         </antcall>
-         <!--<antcall target="reconfig-common"/>-->
-     </target>
+  <target name="delete-admin-object" depends="init-common">
+    <antcall target="asadmin-common">
+      <param name="admin.command" value="delete-admin-object"/>
+      <param name="operand.props" value="--target ${appserver.instance.name} eis/jdbcAdmin"/>
+    </antcall>
+  </target>
 
-    <target name="restart">
+  <target name="restart">
     <antcall target="restart-server-instance-common"/>
-    </target>
+  </target>
 
-     <target name="create-ra-config" depends="init-common">
-         <antcall target="asadmin-common">
-            <param name="admin.command" value="create-resource-adapter-config  --property RAProperty=VALID"/>
-            <param name="operand.props" value="${appname}App#jdbcra"/>
-         </antcall>
-     </target>
+  <target name="create-ra-config" depends="init-common">
+    <antcall target="asadmin-common">
+      <param name="admin.command" value="create-resource-adapter-config  --property RAProperty=VALID"/>
+      <param name="operand.props" value="${appname}App#connectors-ra-redeploy-rars"/>
+    </antcall>
+  </target>
 
-     <target name="delete-ra-config" depends="init-common">
-         <antcall target="asadmin-common">
-            <param name="admin.command" value="delete-resource-adapter-config"/>
-            <param name="operand.props" value="${appname}App#jdbcra"/>
-         </antcall>
-         <!--<antcall target="reconfig-common"/>-->
-     </target>
+  <target name="delete-ra-config" depends="init-common">
+    <antcall target="asadmin-common">
+      <param name="admin.command" value="delete-resource-adapter-config"/>
+      <param name="operand.props" value="${appname}App#connectors-ra-redeploy-rars"/>
+    </antcall>
+  </target>
 
-    <target name="unsetup">
+  <target name="unsetup">
     <antcall target="execute-sql-connector">
-        <param name="sql.file" value="sql/dropBankTables.sql"/>
-      </antcall>
+      <param name="sql.file" value="sql/dropBankTables.sql"/>
+    </antcall>
 
     <antcall target="delete-resource"/>
     <antcall target="delete-pool"/>
     <antcall target="delete-admin-object"/>
-    </target>
+  </target>
 
-    <target name="delete-pool">
-                <antcall target="delete-connector-connpool-common">
-                <param name="connector.conpool.name" value="embedded-ra-pool"/>
-                </antcall>
-     </target>
+  <target name="delete-pool">
+    <antcall target="delete-connector-connpool-common">
+      <param name="connector.conpool.name" value="embedded-ra-pool"/>
+    </antcall>
+  </target>
 
-     <target name="delete-resource">
-                <antcall target="delete-connector-resource-common">
-                <param name="connector.jndi.name" value="jdbc/ejb-annotation-subclassing"/>
-                </antcall>
-    </target>
+  <target name="delete-resource">
+    <antcall target="delete-connector-resource-common">
+      <param name="connector.jndi.name" value="jdbc/ejb-annotation-subclassing"/>
+    </antcall>
+  </target>
 
-    <target name="compile" depends="clean">
-        <ant dir="ra" target="compile"/>
-        <antcall target="compile-common">
-            <param name="src" value="ejb"/>
-        </antcall>
-        <antcall target="compile-servlet" />
-    </target>
+  <target name="compile" depends="clean">
+    <antcall target="compile-common">
+      <param name="src" value="ejb"/>
+    </antcall>
+    <antcall target="compile-servlet" />
+  </target>
 
-    <target name="compile-servlet" depends="init-common">
-      <mkdir dir="${build.classes.dir}"/>
-      <echo message="common.xml: Compiling test source files" level="verbose"/>
-      <javac srcdir="servlet"
+  <target name="compile-servlet" depends="init-common">
+    <mkdir dir="${build.classes.dir}"/>
+    <echo message="common.xml: Compiling test source files" level="verbose"/>
+    <javac srcdir="servlet"
          destdir="${build.classes.dir}"
-         classpath="${s1astest.classpath}:ra/publish/internal/classes"
+         classpath="${s1astest.classpath}:${bundles.dir}/connectors-ra-redeploy-jars.jar"
          debug="on"
          failonerror="true"/>
-     </target>
+  </target>
 
-
-    <target name="build-ra">
-       <ant dir="ra" target="build"/>
-    </target>
-
-    <target name="build" depends="compile, build-ra">
+  <target name="build" depends="compile">
     <property name="hasWebclient" value="yes"/>
-    <ant dir="ra" target="assemble"/>
 
     <antcall target="webclient-war-common">
-    <param name="hasWebclient" value="yes"/>
-    <param name="webclient.war.classes" value="**/*.class"/>
+      <param name="hasWebclient" value="yes"/>
+      <param name="webclient.war.classes" value="**/*.class"/>
     </antcall>
 
     <antcall target="ejb-jar-common">
-    <param name="ejbjar.classes" value="**/*.class"/>
+      <param name="ejbjar.classes" value="**/*.class"/>
     </antcall>
 
 
     <delete file="${assemble.dir}/${appname}.ear"/>
-    <mkdir dir="${assemble.dir}"/>
-    <mkdir dir="${build.classes.dir}/META-INF"/>
-    <ear earfile="${assemble.dir}/${appname}App.ear"
-     appxml="${application.xml}">
-    <fileset dir="${assemble.dir}">
-      <include name="*.jar"/>
-      <include name="*.war"/>
-    </fileset>
-    <fileset dir="ra/publish/lib">
-      <include name="*.rar"/>
-    </fileset>
+    <mkdir dir="${assemble.dir}" />
+    <mkdir dir="${build.classes.dir}/META-INF" />
+    <ear earfile="${assemble.dir}/${appname}App.ear" appxml="${application.xml}">
+      <fileset dir="${assemble.dir}">
+        <include name="*.jar" />
+        <include name="*.war" />
+      </fileset>
+      <fileset dir="${bundles.dir}">
+        <include name="connectors-ra-redeploy-rars.rar"/>
+      </fileset>
     </ear>
-    </target>
+  </target>
 
 
-    <target name="deploy-ear" depends="init-common">
-        <antcall target="create-password-alias">
-         <param name="password.alias.name" value="ALIAS_TEST_PROPERTY"/>
-         <param name="password.alias.file" value="aliaspassword.txt"/>
-        </antcall>
-        <antcall target="create-ra-config"/>
-        <antcall target="deploy-common"/>
-    </target>
+  <target name="deploy-ear" depends="init-common">
+    <antcall target="create-password-alias">
+      <param name="password.alias.name" value="ALIAS_TEST_PROPERTY" />
+      <param name="password.alias.file" value="aliaspassword.txt" />
+    </antcall>
+    <antcall target="create-ra-config" />
+    <antcall target="deploy-common" />
+  </target>
 
-    <target name="deploy-war" depends="init-common">
-        <antcall target="deploy-war-common"/>
-    </target>
+  <target name="deploy-war" depends="init-common">
+    <antcall target="deploy-war-common" />
+  </target>
 
-    <target name="run-war" depends="init-common">
-        <antcall target="runwebclient-common">
-        <param name="testsuite.id" value="annotation-embeddedweb (stand-alone war based)"/>
-        </antcall>
-    </target>
+  <target name="run-war" depends="init-common">
+    <antcall target="runwebclient-common">
+      <param name="testsuite.id" value="annotation-embeddedweb (stand-alone war based)"/>
+    </antcall>
+  </target>
 
-    <target name="run-ear" depends="init-common">
-        <antcall target="runwebclient-common">
-        <param name="testsuite.id" value="annotation-embeddedweb (ear based)"/>
-        </antcall>
-    </target>
+  <target name="run-ear" depends="init-common">
+    <antcall target="runwebclient-common">
+      <param name="testsuite.id" value="annotation-embeddedweb (ear based)"/>
+    </antcall>
+  </target>
 
-    <target name="undeploy-ear" depends="init-common">
-        <antcall target="delete-ra-config"/>
-        <antcall target="undeploy-common"/>
-        <antcall target="delete-password-alias">
-          <param name="password.alias.name" value="ALIAS_TEST_PROPERTY"/>
-        </antcall>
-    </target>
+  <target name="undeploy-ear" depends="init-common">
+    <antcall target="delete-ra-config"/>
+    <antcall target="undeploy-common"/>
+    <antcall target="delete-password-alias">
+      <param name="password.alias.name" value="ALIAS_TEST_PROPERTY"/>
+    </antcall>
+  </target>
 
-    <target name="undeploy-war" depends="init-common">
-        <antcall target="undeploy-war-common"/>
-    </target>
+  <target name="undeploy-war" depends="init-common">
+    <antcall target="undeploy-war-common"/>
+  </target>
 
-    <target name="usage">
-        <antcall target="usage-common"/>
-    </target>
+  <target name="usage">
+    <antcall target="usage-common"/>
+  </target>
 </project>
diff --git a/appserver/tests/appserv-tests/devtests/connector/v3/annotation-embeddedweb/descriptor/application.xml b/appserver/tests/appserv-tests/devtests/connector/v3/annotation-embeddedweb/descriptor/application.xml
index 4ea2779..faf67c3 100755
--- a/appserver/tests/appserv-tests/devtests/connector/v3/annotation-embeddedweb/descriptor/application.xml
+++ b/appserver/tests/appserv-tests/devtests/connector/v3/annotation-embeddedweb/descriptor/application.xml
@@ -25,7 +25,7 @@
   </module>
 
   <module>
-    <connector>jdbcra.rar</connector>
+    <connector>connectors-ra-redeploy-rars.rar</connector>
   </module>
 
   <module>
diff --git a/appserver/tests/appserv-tests/devtests/connector/v3/annotation-embeddedweb/ra/build.properties b/appserver/tests/appserv-tests/devtests/connector/v3/annotation-embeddedweb/ra/build.properties
deleted file mode 100755
index fd21c3d..0000000
--- a/appserver/tests/appserv-tests/devtests/connector/v3/annotation-embeddedweb/ra/build.properties
+++ /dev/null
@@ -1,23 +0,0 @@
-#
-# Copyright (c) 2002, 2018 Oracle and/or its affiliates. All rights reserved.
-#
-# This program and the accompanying materials are made available under the
-# terms of the Eclipse Public License v. 2.0, which is available at
-# http://www.eclipse.org/legal/epl-2.0.
-#
-# This Source Code may also be made available under the following Secondary
-# Licenses when the conditions for such availability set forth in the
-# Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
-# version 2 with the GNU Classpath Exception, which is available at
-# https://www.gnu.org/software/classpath/license.html.
-#
-# SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
-#
-
-
-### Component Properties ###
-src.dir=src
-component.publish.home=.
-component.classes.dir=${component.publish.home}/internal/classes
-component.lib.home=${component.publish.home}/lib
-component.publish.home=publish
diff --git a/appserver/tests/appserv-tests/devtests/connector/v3/annotation-embeddedweb/ra/build.xml b/appserver/tests/appserv-tests/devtests/connector/v3/annotation-embeddedweb/ra/build.xml
deleted file mode 100755
index 7e681aa..0000000
--- a/appserver/tests/appserv-tests/devtests/connector/v3/annotation-embeddedweb/ra/build.xml
+++ /dev/null
@@ -1,92 +0,0 @@
-<!DOCTYPE project [
-<!--
-
-    Copyright (c) 2017, 2018 Oracle and/or its affiliates. All rights reserved.
-
-    This program and the accompanying materials are made available under the
-    terms of the Eclipse Public License v. 2.0, which is available at
-    http://www.eclipse.org/legal/epl-2.0.
-
-    This Source Code may also be made available under the following Secondary
-    Licenses when the conditions for such availability set forth in the
-    Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
-    version 2 with the GNU Classpath Exception, which is available at
-    https://www.gnu.org/software/classpath/license.html.
-
-    SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
-
--->
-
-  <!ENTITY common SYSTEM "../../../../../config/common.xml">
-  <!ENTITY testcommon SYSTEM "../../../../../config/properties.xml">
-]>
-
-<project name="JDBCConnector top level" default="build">
-    <property name="pkg.dir" value="com/sun/jdbcra/spi"/>
-
-    &common;
-    &testcommon;
-    <property file="./build.properties"/>
-
-    <target name="build" depends="compile,assemble" />
-
-
-    <!-- init. Initialization involves creating publishing directories and
-         OS specific targets. -->
-    <target name="init" description="${component.name} initialization">
-        <tstamp>
-            <format property="start.time" pattern="MM/dd/yyyy hh:mm aa"/>
-        </tstamp>
-        <echo message="Building component ${component.name}"/>
-        <mkdir dir="${component.classes.dir}"/>
-        <mkdir dir="${component.lib.home}"/>
-    </target>
-    <!-- compile -->
-    <target name="compile" depends="init"
-            description="Compile com/sun/* com/iplanet/* sources">
-        <!--<echo message="Connector api resides in ${connector-api.jar}"/>-->
-        <javac srcdir="${src.dir}"
-               destdir="${component.classes.dir}"
-               failonerror="true">
-               <classpath>
-                  <fileset dir="${env.S1AS_HOME}/modules">
-                    <include name="**/*.jar" />
-                  </fileset>
-               </classpath>
-            <include name="com/sun/jdbcra/**"/>
-            <include name="com/sun/appserv/**"/>
-        </javac>
-    </target>
-
-    <target name="all" depends="build"/>
-
-   <target name="assemble">
-
-        <jar jarfile="${component.lib.home}/jdbc.jar"
-            basedir="${component.classes.dir}" includes="${pkg.dir}/**/*,
-            com/sun/appserv/**/*, com/sun/jdbcra/util/**/*, com/sun/jdbcra/common/**/*"/>
-
-        <copy file="${src.dir}/com/sun/jdbcra/spi/1.4/ra-ds.xml"
-                tofile="${component.lib.home}/ra.xml" overwrite="yes">
-        </copy>
-           <jar jarfile="${component.lib.home}/jdbcra.rar"
-                basedir="${component.lib.home}" includes="jdbc.jar">
-
-                   <metainf dir="${component.lib.home}">
-                           <include name="ra.xml"/>
-                   </metainf>
-           </jar>
-
-           <delete file="${component.lib.home}/ra.xml"/>
-
-  </target>
-
-    <target name="clean" description="Clean the build">
-        <delete includeEmptyDirs="true" failonerror="false">
-            <fileset dir="${component.classes.dir}"/>
-            <fileset dir="${component.lib.home}"/>
-        </delete>
-    </target>
-
-</project>
-
diff --git a/appserver/tests/appserv-tests/devtests/connector/v3/annotation-embeddedweb/ra/src/com/sun/appserv/jdbcra/DataSource.java b/appserver/tests/appserv-tests/devtests/connector/v3/annotation-embeddedweb/ra/src/com/sun/appserv/jdbcra/DataSource.java
deleted file mode 100755
index b6ef30b..0000000
--- a/appserver/tests/appserv-tests/devtests/connector/v3/annotation-embeddedweb/ra/src/com/sun/appserv/jdbcra/DataSource.java
+++ /dev/null
@@ -1,55 +0,0 @@
-/*
- * Copyright (c) 2003, 2018 Oracle and/or its affiliates. All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v. 2.0, which is available at
- * http://www.eclipse.org/legal/epl-2.0.
- *
- * This Source Code may also be made available under the following Secondary
- * Licenses when the conditions for such availability set forth in the
- * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
- * version 2 with the GNU Classpath Exception, which is available at
- * https://www.gnu.org/software/classpath/license.html.
- *
- * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
- */
-
-package com.sun.appserv.jdbcra;
-
-import java.sql.Connection;
-import java.sql.SQLException;
-
-/**
- * The <code>javax.sql.DataSource</code> implementation of SunONE application
- * server will implement this interface. An application program would be able
- * to use this interface to do the extended functionality exposed by SunONE
- * application server.
- * <p>A sample code for getting driver's connection implementation would like
- * the following.
- * <pre>
-     InitialContext ic = new InitialContext();
-     com.sun.appserv.DataSource ds = (com.sun.appserv.DataSOurce) ic.lookup("jdbc/PointBase");
-     Connection con = ds.getConnection();
-     Connection drivercon = ds.getConnection(con);
-
-     // Do db operations.
-
-     con.close();
-   </pre>
- *
- * @author Binod P.G
- */
-public interface DataSource extends javax.sql.DataSource {
-
-    /**
-     * Retrieves the actual SQLConnection from the Connection wrapper
-     * implementation of SunONE application server. If an actual connection is
-     * supplied as argument, then it will be just returned.
-     *
-     * @param con Connection obtained from <code>Datasource.getConnection()</code>
-     * @return <code>java.sql.Connection</code> implementation of the driver.
-     * @throws <code>java.sql.SQLException</code> If connection cannot be obtained.
-     */
-    public Connection getConnection(Connection con) throws SQLException;
-
-}
diff --git a/appserver/tests/appserv-tests/devtests/connector/v3/annotation-embeddedweb/ra/src/com/sun/jdbcra/common/DataSourceSpec.java b/appserver/tests/appserv-tests/devtests/connector/v3/annotation-embeddedweb/ra/src/com/sun/jdbcra/common/DataSourceSpec.java
deleted file mode 100755
index 1c4b072..0000000
--- a/appserver/tests/appserv-tests/devtests/connector/v3/annotation-embeddedweb/ra/src/com/sun/jdbcra/common/DataSourceSpec.java
+++ /dev/null
@@ -1,110 +0,0 @@
-/*
- * Copyright (c) 2003, 2018 Oracle and/or its affiliates. All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v. 2.0, which is available at
- * http://www.eclipse.org/legal/epl-2.0.
- *
- * This Source Code may also be made available under the following Secondary
- * Licenses when the conditions for such availability set forth in the
- * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
- * version 2 with the GNU Classpath Exception, which is available at
- * https://www.gnu.org/software/classpath/license.html.
- *
- * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
- */
-
-package com.sun.jdbcra.common;
-
-import java.util.Hashtable;
-
-/**
- * Encapsulate the DataSource object details obtained from
- * ManagedConnectionFactory.
- *
- * @version        1.0, 02/07/23
- * @author        Binod P.G
- */
-public class DataSourceSpec implements java.io.Serializable{
-
-    public static final int USERNAME                                = 1;
-    public static final int PASSWORD                                = 2;
-    public static final int URL                                        = 3;
-    public static final int LOGINTIMEOUT                        = 4;
-    public static final int LOGWRITER                                = 5;
-    public static final int DATABASENAME                        = 6;
-    public static final int DATASOURCENAME                        = 7;
-    public static final int DESCRIPTION                                = 8;
-    public static final int NETWORKPROTOCOL                        = 9;
-    public static final int PORTNUMBER                                = 10;
-    public static final int ROLENAME                                = 11;
-    public static final int SERVERNAME                                = 12;
-    public static final int MAXSTATEMENTS                        = 13;
-    public static final int INITIALPOOLSIZE                        = 14;
-    public static final int MINPOOLSIZE                                = 15;
-    public static final int MAXPOOLSIZE                                = 16;
-    public static final int MAXIDLETIME                                = 17;
-    public static final int PROPERTYCYCLE                        = 18;
-    public static final int DRIVERPROPERTIES                        = 19;
-    public static final int CLASSNAME                                = 20;
-    public static final int DELIMITER                                = 21;
-
-    public static final int XADATASOURCE                        = 22;
-    public static final int DATASOURCE                                = 23;
-    public static final int CONNECTIONPOOLDATASOURCE                = 24;
-
-    //GJCINT
-    public static final int CONNECTIONVALIDATIONREQUIRED        = 25;
-    public static final int VALIDATIONMETHOD                        = 26;
-    public static final int VALIDATIONTABLENAME                        = 27;
-
-    public static final int TRANSACTIONISOLATION                = 28;
-    public static final int GUARANTEEISOLATIONLEVEL                = 29;
-
-    private Hashtable details = new Hashtable();
-
-    /**
-     * Set the property.
-     *
-     * @param        property        Property Name to be set.
-     * @param        value                Value of property to be set.
-     */
-    public void setDetail(int property, String value) {
-            details.put(new Integer(property),value);
-    }
-
-    /**
-     * Get the value of property
-     *
-     * @return        Value of the property.
-     */
-    public String getDetail(int property) {
-            if (details.containsKey(new Integer(property))) {
-                return (String) details.get(new Integer(property));
-            } else {
-                return null;
-            }
-    }
-
-    /**
-     * Checks whether two <code>DataSourceSpec</code> objects
-     * are equal or not.
-     *
-     * @param        obj        Instance of <code>DataSourceSpec</code> object.
-     */
-    public boolean equals(Object obj) {
-            if (obj instanceof DataSourceSpec) {
-                return this.details.equals(((DataSourceSpec)obj).details);
-            }
-            return false;
-    }
-
-    /**
-     * Retrieves the hashCode of this <code>DataSourceSpec</code> object.
-     *
-     * @return        hashCode of this object.
-     */
-    public int hashCode() {
-            return this.details.hashCode();
-    }
-}
diff --git a/appserver/tests/appserv-tests/devtests/connector/v3/annotation-embeddedweb/ra/src/com/sun/jdbcra/common/build.xml b/appserver/tests/appserv-tests/devtests/connector/v3/annotation-embeddedweb/ra/src/com/sun/jdbcra/common/build.xml
deleted file mode 100755
index 3b4faeb..0000000
--- a/appserver/tests/appserv-tests/devtests/connector/v3/annotation-embeddedweb/ra/src/com/sun/jdbcra/common/build.xml
+++ /dev/null
@@ -1,48 +0,0 @@
-<?xml version="1.0"?>
-<!--
-
-    Copyright (c) 2017, 2018 Oracle and/or its affiliates. All rights reserved.
-
-    This program and the accompanying materials are made available under the
-    terms of the Eclipse Public License v. 2.0, which is available at
-    http://www.eclipse.org/legal/epl-2.0.
-
-    This Source Code may also be made available under the following Secondary
-    Licenses when the conditions for such availability set forth in the
-    Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
-    version 2 with the GNU Classpath Exception, which is available 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 name="jdbc_connector" basedir="." default="build">
-  <property name="pkg.dir" value="com/sun/gjc/common"/>
-
-  <target name="clean">
-    <ant antfile="build.xml" dir="${gjc.home}/bin" target="clean"/>
-  </target>
-
-  <target name="compile">
-    <ant antfile="build.xml" dir="${gjc.home}/bin" target="compile13"/>
-  </target>
-
-  <target name="package">
-    <mkdir dir="${dist.dir}/${pkg.dir}"/>
-      <jar jarfile="${dist.dir}/${pkg.dir}/common.jar" basedir="${class.dir}"
-        includes="${pkg.dir}/**/*"/>
-  </target>
-
-  <target name="compile13" depends="compile"/>
-  <target name="compile14" depends="compile"/>
-
-  <target name="package13" depends="package"/>
-  <target name="package14" depends="package"/>
-
-  <target name="build13" depends="compile13, package13"/>
-  <target name="build14" depends="compile14, package14"/>
-
-  <target name="build" depends="build13, build14"/>
-
-</project>
diff --git a/appserver/tests/appserv-tests/devtests/connector/v3/annotation-embeddedweb/ra/src/com/sun/jdbcra/spi/1.4/ConnectionHolder.java b/appserver/tests/appserv-tests/devtests/connector/v3/annotation-embeddedweb/ra/src/com/sun/jdbcra/spi/1.4/ConnectionHolder.java
deleted file mode 100755
index c6e2b60..0000000
--- a/appserver/tests/appserv-tests/devtests/connector/v3/annotation-embeddedweb/ra/src/com/sun/jdbcra/spi/1.4/ConnectionHolder.java
+++ /dev/null
@@ -1,677 +0,0 @@
-/*
- * Copyright (c) 2003, 2018 Oracle and/or its affiliates. All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v. 2.0, which is available at
- * http://www.eclipse.org/legal/epl-2.0.
- *
- * This Source Code may also be made available under the following Secondary
- * Licenses when the conditions for such availability set forth in the
- * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
- * version 2 with the GNU Classpath Exception, which is available at
- * https://www.gnu.org/software/classpath/license.html.
- *
- * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
- */
-
-package com.sun.jdbcra.spi;
-
-import java.sql.*;
-import java.util.Hashtable;
-import java.util.Map;
-import java.util.Enumeration;
-import java.util.Properties;
-import java.util.concurrent.Executor;
-
-/**
- * Holds the java.sql.Connection object, which is to be
- * passed to the application program.
- *
- * @version        1.0, 02/07/23
- * @author        Binod P.G
- */
-public class ConnectionHolder implements Connection{
-
-    private Connection con;
-
-    private ManagedConnection mc;
-
-    private boolean wrappedAlready = false;
-
-    private boolean isClosed = false;
-
-    private boolean valid = true;
-
-    private boolean active = false;
-    /**
-     * The active flag is false when the connection handle is
-     * created. When a method is invoked on this object, it asks
-     * the ManagedConnection if it can be the active connection
-     * handle out of the multiple connection handles. If the
-     * ManagedConnection reports that this connection handle
-     * can be active by setting this flag to true via the setActive
-     * function, the above method invocation succeeds; otherwise
-     * an exception is thrown.
-     */
-
-    /**
-     * Constructs a Connection holder.
-     *
-     * @param        con        <code>java.sql.Connection</code> object.
-     */
-    public ConnectionHolder(Connection con, ManagedConnection mc) {
-        this.con = con;
-        this.mc  = mc;
-    }
-
-    /**
-     * Returns the actual connection in this holder object.
-     *
-     * @return        Connection object.
-     */
-    Connection getConnection() {
-            return con;
-    }
-
-    /**
-     * Sets the flag to indicate that, the connection is wrapped already or not.
-     *
-     * @param        wrapFlag
-     */
-    void wrapped(boolean wrapFlag){
-        this.wrappedAlready = wrapFlag;
-    }
-
-    /**
-     * Returns whether it is wrapped already or not.
-     *
-     * @return        wrapped flag.
-     */
-    boolean isWrapped(){
-        return wrappedAlready;
-    }
-
-    /**
-     * Returns the <code>ManagedConnection</code> instance responsible
-     * for this connection.
-     *
-     * @return        <code>ManagedConnection</code> instance.
-     */
-    ManagedConnection getManagedConnection() {
-        return mc;
-    }
-
-    /**
-     * Replace the actual <code>java.sql.Connection</code> object with the one
-     * supplied. Also replace <code>ManagedConnection</code> link.
-     *
-     * @param        con <code>Connection</code> object.
-     * @param        mc  <code> ManagedConnection</code> object.
-     */
-    void associateConnection(Connection con, ManagedConnection mc) {
-            this.mc = mc;
-            this.con = con;
-    }
-
-    /**
-     * Clears all warnings reported for the underlying connection  object.
-     *
-     * @throws SQLException In case of a database error.
-     */
-    public void clearWarnings() throws SQLException{
-        checkValidity();
-        con.clearWarnings();
-    }
-
-    /**
-     * Closes the logical connection.
-     *
-     * @throws SQLException In case of a database error.
-     */
-    public void close() throws SQLException{
-        isClosed = true;
-        mc.connectionClosed(null, this);
-    }
-
-    /**
-     * Invalidates this object.
-     */
-    public void invalidate() {
-            valid = false;
-    }
-
-    /**
-     * Closes the physical connection involved in this.
-     *
-     * @throws SQLException In case of a database error.
-     */
-    void actualClose() throws SQLException{
-        con.close();
-    }
-
-    /**
-     * Commit the changes in the underlying Connection.
-     *
-     * @throws SQLException In case of a database error.
-     */
-    public void commit() throws SQLException {
-        checkValidity();
-            con.commit();
-    }
-
-    /**
-     * Creates a statement from the underlying Connection
-     *
-     * @return        <code>Statement</code> object.
-     * @throws SQLException In case of a database error.
-     */
-    public Statement createStatement() throws SQLException {
-        checkValidity();
-        return con.createStatement();
-    }
-
-    /**
-     * Creates a statement from the underlying Connection.
-     *
-     * @param        resultSetType        Type of the ResultSet
-     * @param        resultSetConcurrency        ResultSet Concurrency.
-     * @return        <code>Statement</code> object.
-     * @throws SQLException In case of a database error.
-     */
-    public Statement createStatement(int resultSetType, int resultSetConcurrency) throws SQLException {
-        checkValidity();
-        return con.createStatement(resultSetType, resultSetConcurrency);
-    }
-
-    /**
-     * Creates a statement from the underlying Connection.
-     *
-     * @param        resultSetType        Type of the ResultSet
-     * @param        resultSetConcurrency        ResultSet Concurrency.
-     * @param        resultSetHoldability        ResultSet Holdability.
-     * @return        <code>Statement</code> object.
-     * @throws SQLException In case of a database error.
-     */
-    public Statement createStatement(int resultSetType, int resultSetConcurrency,
-                                         int resultSetHoldabilty) throws SQLException {
-        checkValidity();
-        return con.createStatement(resultSetType, resultSetConcurrency,
-                                   resultSetHoldabilty);
-    }
-
-    /**
-     * Retrieves the current auto-commit mode for the underlying <code> Connection</code>.
-     *
-     * @return The current state of connection's auto-commit mode.
-     * @throws SQLException In case of a database error.
-     */
-    public boolean getAutoCommit() throws SQLException {
-        checkValidity();
-            return con.getAutoCommit();
-    }
-
-    /**
-     * Retrieves the underlying <code>Connection</code> object's catalog name.
-     *
-     * @return        Catalog Name.
-     * @throws SQLException In case of a database error.
-     */
-    public String getCatalog() throws SQLException {
-        checkValidity();
-        return con.getCatalog();
-    }
-
-    /**
-     * Retrieves the current holdability of <code>ResultSet</code> objects created
-     * using this connection object.
-     *
-     * @return        holdability value.
-     * @throws SQLException In case of a database error.
-     */
-    public int getHoldability() throws SQLException {
-        checkValidity();
-            return        con.getHoldability();
-    }
-
-    /**
-     * Retrieves the <code>DatabaseMetaData</code>object from the underlying
-     * <code> Connection </code> object.
-     *
-     * @return <code>DatabaseMetaData</code> object.
-     * @throws SQLException In case of a database error.
-     */
-    public DatabaseMetaData getMetaData() throws SQLException {
-        checkValidity();
-            return con.getMetaData();
-    }
-
-    /**
-     * Retrieves this <code>Connection</code> object's current transaction isolation level.
-     *
-     * @return Transaction level
-     * @throws SQLException In case of a database error.
-     */
-    public int getTransactionIsolation() throws SQLException {
-        checkValidity();
-        return con.getTransactionIsolation();
-    }
-
-    /**
-     * Retrieves the <code>Map</code> object associated with
-     * <code> Connection</code> Object.
-     *
-     * @return        TypeMap set in this object.
-     * @throws SQLException In case of a database error.
-     */
-    public Map getTypeMap() throws SQLException {
-        checkValidity();
-            return con.getTypeMap();
-    }
-
-/*
-    public void setTypeMap(Map<String, Class<?>> map) throws SQLException {
-        //To change body of implemented methods use File | Settings | File Templates.
-    }
-*/
-
-    /**
-     * Retrieves the the first warning reported by calls on the underlying
-     * <code>Connection</code> object.
-     *
-     * @return First <code> SQLWarning</code> Object or null.
-     * @throws SQLException In case of a database error.
-     */
-    public SQLWarning getWarnings() throws SQLException {
-        checkValidity();
-            return con.getWarnings();
-    }
-
-    /**
-     * Retrieves whether underlying <code>Connection</code> object is closed.
-     *
-     * @return        true if <code>Connection</code> object is closed, false
-     *                 if it is closed.
-     * @throws SQLException In case of a database error.
-     */
-    public boolean isClosed() throws SQLException {
-            return isClosed;
-    }
-
-    /**
-     * Retrieves whether this <code>Connection</code> object is read-only.
-     *
-     * @return        true if <code> Connection </code> is read-only, false other-wise
-     * @throws SQLException In case of a database error.
-     */
-    public boolean isReadOnly() throws SQLException {
-        checkValidity();
-            return con.isReadOnly();
-    }
-
-    /**
-     * Converts the given SQL statement into the system's native SQL grammer.
-     *
-     * @param        sql        SQL statement , to be converted.
-     * @return        Converted SQL string.
-     * @throws SQLException In case of a database error.
-     */
-    public String nativeSQL(String sql) throws SQLException {
-        checkValidity();
-            return con.nativeSQL(sql);
-    }
-
-    /**
-     * Creates a <code> CallableStatement </code> object for calling database
-     * stored procedures.
-     *
-     * @param        sql        SQL Statement
-     * @return <code> CallableStatement</code> object.
-     * @throws SQLException In case of a database error.
-     */
-    public CallableStatement prepareCall(String sql) throws SQLException {
-        checkValidity();
-            return con.prepareCall(sql);
-    }
-
-    /**
-     * Creates a <code> CallableStatement </code> object for calling database
-     * stored procedures.
-     *
-     * @param        sql        SQL Statement
-     * @param        resultSetType        Type of the ResultSet
-     * @param        resultSetConcurrency        ResultSet Concurrency.
-     * @return <code> CallableStatement</code> object.
-     * @throws SQLException In case of a database error.
-     */
-    public CallableStatement prepareCall(String sql,int resultSetType,
-                                            int resultSetConcurrency) throws SQLException{
-        checkValidity();
-            return con.prepareCall(sql, resultSetType, resultSetConcurrency);
-    }
-
-    /**
-     * Creates a <code> CallableStatement </code> object for calling database
-     * stored procedures.
-     *
-     * @param        sql        SQL Statement
-     * @param        resultSetType        Type of the ResultSet
-     * @param        resultSetConcurrency        ResultSet Concurrency.
-     * @param        resultSetHoldability        ResultSet Holdability.
-     * @return <code> CallableStatement</code> object.
-     * @throws SQLException In case of a database error.
-     */
-    public CallableStatement prepareCall(String sql, int resultSetType,
-                                             int resultSetConcurrency,
-                                             int resultSetHoldabilty) throws SQLException{
-        checkValidity();
-            return con.prepareCall(sql, resultSetType, resultSetConcurrency,
-                                   resultSetHoldabilty);
-    }
-
-    /**
-     * Creates a <code> PreparedStatement </code> object for sending
-     * paramterized SQL statements to database
-     *
-     * @param        sql        SQL Statement
-     * @return <code> PreparedStatement</code> object.
-     * @throws SQLException In case of a database error.
-     */
-    public PreparedStatement prepareStatement(String sql) throws SQLException {
-        checkValidity();
-            return con.prepareStatement(sql);
-    }
-
-    /**
-     * Creates a <code> PreparedStatement </code> object for sending
-     * paramterized SQL statements to database
-     *
-     * @param        sql        SQL Statement
-     * @param        autoGeneratedKeys a flag indicating AutoGeneratedKeys need to be returned.
-     * @return <code> PreparedStatement</code> object.
-     * @throws SQLException In case of a database error.
-     */
-    public PreparedStatement prepareStatement(String sql, int autoGeneratedKeys) throws SQLException {
-        checkValidity();
-            return con.prepareStatement(sql,autoGeneratedKeys);
-    }
-
-    /**
-     * Creates a <code> PreparedStatement </code> object for sending
-     * paramterized SQL statements to database
-     *
-     * @param        sql        SQL Statement
-     * @param        columnIndexes an array of column indexes indicating the columns that should be
-     *                returned from the inserted row or rows.
-     * @return <code> PreparedStatement</code> object.
-     * @throws SQLException In case of a database error.
-     */
-    public PreparedStatement prepareStatement(String sql, int[] columnIndexes) throws SQLException {
-        checkValidity();
-            return con.prepareStatement(sql,columnIndexes);
-    }
-
-    /**
-     * Creates a <code> PreparedStatement </code> object for sending
-     * paramterized SQL statements to database
-     *
-     * @param        sql        SQL Statement
-     * @param        resultSetType        Type of the ResultSet
-     * @param        resultSetConcurrency        ResultSet Concurrency.
-     * @return <code> PreparedStatement</code> object.
-     * @throws SQLException In case of a database error.
-     */
-    public PreparedStatement prepareStatement(String sql,int resultSetType,
-                                            int resultSetConcurrency) throws SQLException{
-        checkValidity();
-            return con.prepareStatement(sql, resultSetType, resultSetConcurrency);
-    }
-
-    /**
-     * Creates a <code> PreparedStatement </code> object for sending
-     * paramterized SQL statements to database
-     *
-     * @param        sql        SQL Statement
-     * @param        resultSetType        Type of the ResultSet
-     * @param        resultSetConcurrency        ResultSet Concurrency.
-     * @param        resultSetHoldability        ResultSet Holdability.
-     * @return <code> PreparedStatement</code> object.
-     * @throws SQLException In case of a database error.
-     */
-    public PreparedStatement prepareStatement(String sql, int resultSetType,
-                                             int resultSetConcurrency,
-                                             int resultSetHoldabilty) throws SQLException {
-        checkValidity();
-            return con.prepareStatement(sql, resultSetType, resultSetConcurrency,
-                                        resultSetHoldabilty);
-    }
-
-    /**
-     * Creates a <code> PreparedStatement </code> object for sending
-     * paramterized SQL statements to database
-     *
-     * @param        sql        SQL Statement
-     * @param        columnNames Name of bound columns.
-     * @return <code> PreparedStatement</code> object.
-     * @throws SQLException In case of a database error.
-     */
-    public PreparedStatement prepareStatement(String sql, String[] columnNames) throws SQLException {
-        checkValidity();
-            return con.prepareStatement(sql,columnNames);
-    }
-
-    public Clob createClob() throws SQLException {
-        return null;  //To change body of implemented methods use File | Settings | File Templates.
-    }
-
-    public Blob createBlob() throws SQLException {
-        return null;  //To change body of implemented methods use File | Settings | File Templates.
-    }
-
-    public NClob createNClob() throws SQLException {
-        return null;  //To change body of implemented methods use File | Settings | File Templates.
-    }
-
-    public SQLXML createSQLXML() throws SQLException {
-        return null;  //To change body of implemented methods use File | Settings | File Templates.
-    }
-
-    public boolean isValid(int timeout) throws SQLException {
-        return false;  //To change body of implemented methods use File | Settings | File Templates.
-    }
-
-    public void setClientInfo(String name, String value) throws SQLClientInfoException {
-        //To change body of implemented methods use File | Settings | File Templates.
-    }
-
-    public void setClientInfo(Properties properties) throws SQLClientInfoException {
-        //To change body of implemented methods use File | Settings | File Templates.
-    }
-
-    public String getClientInfo(String name) throws SQLException {
-        return null;  //To change body of implemented methods use File | Settings | File Templates.
-    }
-
-    public Properties getClientInfo() throws SQLException {
-        return null;  //To change body of implemented methods use File | Settings | File Templates.
-    }
-
-    public Array createArrayOf(String typeName, Object[] elements) throws SQLException {
-        return null;  //To change body of implemented methods use File | Settings | File Templates.
-    }
-
-    public Struct createStruct(String typeName, Object[] attributes) throws SQLException {
-        return null;  //To change body of implemented methods use File | Settings | File Templates.
-    }
-
-    /**
-     * Removes the given <code>Savepoint</code> object from the current transaction.
-     *
-     * @param        savepoint        <code>Savepoint</code> object
-     * @throws SQLException In case of a database error.
-     */
-    public void releaseSavepoint(Savepoint savepoint) throws SQLException {
-        checkValidity();
-            con.releaseSavepoint(savepoint);
-    }
-
-    /**
-     * Rolls back the changes made in the current transaction.
-     *
-     * @throws SQLException In case of a database error.
-     */
-    public void rollback() throws SQLException {
-        checkValidity();
-            con.rollback();
-    }
-
-    /**
-     * Rolls back the changes made after the savepoint.
-     *
-     * @throws SQLException In case of a database error.
-     */
-    public void rollback(Savepoint savepoint) throws SQLException {
-        checkValidity();
-            con.rollback(savepoint);
-    }
-
-    /**
-     * Sets the auto-commmit mode of the <code>Connection</code> object.
-     *
-     * @param        autoCommit boolean value indicating the auto-commit mode.
-     * @throws SQLException In case of a database error.
-     */
-    public void setAutoCommit(boolean autoCommit) throws SQLException {
-        checkValidity();
-            con.setAutoCommit(autoCommit);
-    }
-
-    /**
-     * Sets the catalog name to the <code>Connection</code> object
-     *
-     * @param        catalog        Catalog name.
-     * @throws SQLException In case of a database error.
-     */
-    public void setCatalog(String catalog) throws SQLException {
-        checkValidity();
-            con.setCatalog(catalog);
-    }
-
-    /**
-     * Sets the holdability of <code>ResultSet</code> objects created
-     * using this <code>Connection</code> object.
-     *
-     * @param        holdability        A <code>ResultSet</code> holdability constant
-     * @throws SQLException In case of a database error.
-     */
-    public void setHoldability(int holdability) throws SQLException {
-        checkValidity();
-             con.setHoldability(holdability);
-    }
-
-    /**
-     * Puts the connection in read-only mode as a hint to the driver to
-     * perform database optimizations.
-     *
-     * @param        readOnly  true enables read-only mode, false disables it.
-     * @throws SQLException In case of a database error.
-     */
-    public void setReadOnly(boolean readOnly) throws SQLException {
-        checkValidity();
-            con.setReadOnly(readOnly);
-    }
-
-    /**
-     * Creates and unnamed savepoint and returns an object corresponding to that.
-     *
-     * @return        <code>Savepoint</code> object.
-     * @throws SQLException In case of a database error.
-     */
-    public Savepoint setSavepoint() throws SQLException {
-        checkValidity();
-            return con.setSavepoint();
-    }
-
-    /**
-     * Creates a savepoint with the name and returns an object corresponding to that.
-     *
-     * @param        name        Name of the savepoint.
-     * @return        <code>Savepoint</code> object.
-     * @throws SQLException In case of a database error.
-     */
-    public Savepoint setSavepoint(String name) throws SQLException {
-        checkValidity();
-            return con.setSavepoint(name);
-    }
-
-    /**
-     * Creates the transaction isolation level.
-     *
-     * @param        level transaction isolation level.
-     * @throws SQLException In case of a database error.
-     */
-    public void setTransactionIsolation(int level) throws SQLException {
-        checkValidity();
-            con.setTransactionIsolation(level);
-    }
-
-    /**
-     * Installs the given <code>Map</code> object as the tyoe map for this
-     * <code> Connection </code> object.
-     *
-     * @param        map        <code>Map</code> a Map object to install.
-     * @throws SQLException In case of a database error.
-     */
-    public void setTypeMap(Map map) throws SQLException {
-        checkValidity();
-            con.setTypeMap(map);
-    }
-
-    public int getNetworkTimeout() throws SQLException {
-      throw new SQLFeatureNotSupportedException("Do not support Java 7 new feature.");
-    }
-
-    public void setNetworkTimeout(Executor executor, int milliseconds) throws SQLException {
-      throw new SQLFeatureNotSupportedException("Do not support Java 7 new feature.");
-    }
-
-    public void abort(Executor executor)  throws SQLException{
-      throw new SQLFeatureNotSupportedException("Do not support Java 7 new feature.");
-    }
-
-    public String getSchema() throws SQLException{
-      throw new SQLFeatureNotSupportedException("Do not support Java 7 new feature.");
-    }
-
-    public void setSchema(String schema) throws SQLException{
-      throw new SQLFeatureNotSupportedException("Do not support Java 7 new feature.");
-    }
-
-
-    /**
-     * Checks the validity of this object
-     */
-    private void checkValidity() throws SQLException {
-            if (isClosed) throw new SQLException ("Connection closed");
-            if (!valid) throw new SQLException ("Invalid Connection");
-            if(active == false) {
-                mc.checkIfActive(this);
-            }
-    }
-
-    /**
-     * Sets the active flag to true
-     *
-     * @param        actv        boolean
-     */
-    void setActive(boolean actv) {
-        active = actv;
-    }
-
-    public <T> T unwrap(Class<T> iface) throws SQLException {
-        return null;  //To change body of implemented methods use File | Settings | File Templates.
-    }
-
-    public boolean isWrapperFor(Class<?> iface) throws SQLException {
-        return false;  //To change body of implemented methods use File | Settings | File Templates.
-    }
-}
diff --git a/appserver/tests/appserv-tests/devtests/connector/v3/annotation-embeddedweb/ra/src/com/sun/jdbcra/spi/1.4/ManagedConnectionFactory.java b/appserver/tests/appserv-tests/devtests/connector/v3/annotation-embeddedweb/ra/src/com/sun/jdbcra/spi/1.4/ManagedConnectionFactory.java
deleted file mode 100755
index fb0fdab..0000000
--- a/appserver/tests/appserv-tests/devtests/connector/v3/annotation-embeddedweb/ra/src/com/sun/jdbcra/spi/1.4/ManagedConnectionFactory.java
+++ /dev/null
@@ -1,754 +0,0 @@
-/*
- * Copyright (c) 2003, 2018 Oracle and/or its affiliates. All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v. 2.0, which is available at
- * http://www.eclipse.org/legal/epl-2.0.
- *
- * This Source Code may also be made available under the following Secondary
- * Licenses when the conditions for such availability set forth in the
- * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
- * version 2 with the GNU Classpath Exception, which is available at
- * https://www.gnu.org/software/classpath/license.html.
- *
- * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
- */
-
-package com.sun.jdbcra.spi;
-
-import jakarta.resource.ResourceException;
-import jakarta.resource.spi.ConnectionRequestInfo;
-import com.sun.jdbcra.spi.ConnectionManager;
-import com.sun.jdbcra.util.SecurityUtils;
-import jakarta.resource.spi.security.PasswordCredential;
-import java.sql.DriverManager;
-import com.sun.jdbcra.common.DataSourceSpec;
-import com.sun.jdbcra.common.DataSourceObjectBuilder;
-import java.sql.SQLException;
-
-import java.util.logging.Logger;
-import java.util.logging.Level;
-/**
- * <code>ManagedConnectionFactory</code> implementation for Generic JDBC Connector.
- * This class is extended by the DataSource specific <code>ManagedConnection</code> factories
- * and the <code>ManagedConnectionFactory</code> for the <code>DriverManager</code>.
- *
- * @version        1.0, 02/08/03
- * @author        Evani Sai Surya Kiran
- */
-
-public abstract class ManagedConnectionFactory implements jakarta.resource.spi.ManagedConnectionFactory,
-    java.io.Serializable {
-
-    protected DataSourceSpec spec = new DataSourceSpec();
-    protected transient DataSourceObjectBuilder dsObjBuilder;
-
-    protected java.io.PrintWriter logWriter = null;
-    protected jakarta.resource.spi.ResourceAdapter ra = null;
-
-    private static Logger _logger;
-    static {
-        _logger = Logger.getAnonymousLogger();
-    }
-    private boolean debug = false;
-    /**
-     * Creates a Connection Factory instance. The <code>ConnectionManager</code> implementation
-     * of the resource adapter is used here.
-     *
-     * @return        Generic JDBC Connector implementation of <code>javax.sql.DataSource</code>
-     */
-    public Object createConnectionFactory() {
-        if(logWriter != null) {
-            logWriter.println("In createConnectionFactory()");
-        }
-        com.sun.jdbcra.spi.DataSource cf = new com.sun.jdbcra.spi.DataSource(
-            (jakarta.resource.spi.ManagedConnectionFactory)this, null);
-
-        return cf;
-    }
-
-    /**
-     * Creates a Connection Factory instance. The <code>ConnectionManager</code> implementation
-     * of the application server is used here.
-     *
-     * @param        cxManager        <code>ConnectionManager</code> passed by the application server
-     * @return        Generic JDBC Connector implementation of <code>javax.sql.DataSource</code>
-     */
-    public Object createConnectionFactory(jakarta.resource.spi.ConnectionManager cxManager) {
-        if(logWriter != null) {
-            logWriter.println("In createConnectionFactory(jakarta.resource.spi.ConnectionManager cxManager)");
-        }
-        com.sun.jdbcra.spi.DataSource cf = new com.sun.jdbcra.spi.DataSource(
-            (jakarta.resource.spi.ManagedConnectionFactory)this, cxManager);
-        return cf;
-    }
-
-    /**
-     * Creates a new physical connection to the underlying EIS resource
-     * manager.
-     *
-     * @param        subject        <code>Subject</code> instance passed by the application server
-     * @param        cxRequestInfo        <code>ConnectionRequestInfo</code> which may be created
-     *                                    as a result of the invocation <code>getConnection(user, password)</code>
-     *                                    on the <code>DataSource</code> object
-     * @return        <code>ManagedConnection</code> object created
-     * @throws        ResourceException        if there is an error in instantiating the
-     *                                         <code>DataSource</code> object used for the
-     *                                       creation of the <code>ManagedConnection</code> object
-     * @throws        SecurityException        if there ino <code>PasswordCredential</code> object
-     *                                         satisfying this request
-     * @throws        ResourceAllocationException        if there is an error in allocating the
-     *                                                physical connection
-     */
-    public abstract jakarta.resource.spi.ManagedConnection createManagedConnection(javax.security.auth.Subject subject,
-        ConnectionRequestInfo cxRequestInfo) throws ResourceException;
-
-    /**
-     * Check if this <code>ManagedConnectionFactory</code> is equal to
-     * another <code>ManagedConnectionFactory</code>.
-     *
-     * @param        other        <code>ManagedConnectionFactory</code> object for checking equality with
-     * @return        true        if the property sets of both the
-     *                        <code>ManagedConnectionFactory</code> objects are the same
-     *                false        otherwise
-     */
-    public abstract boolean equals(Object other);
-
-    /**
-     * Get the log writer for this <code>ManagedConnectionFactory</code> instance.
-     *
-     * @return        <code>PrintWriter</code> associated with this <code>ManagedConnectionFactory</code> instance
-     * @see        <code>setLogWriter</code>
-     */
-    public java.io.PrintWriter getLogWriter() {
-        return logWriter;
-    }
-
-    /**
-     * Get the <code>ResourceAdapter</code> for this <code>ManagedConnectionFactory</code> instance.
-     *
-     * @return        <code>ResourceAdapter</code> associated with this <code>ManagedConnectionFactory</code> instance
-     * @see        <code>setResourceAdapter</code>
-     */
-    public jakarta.resource.spi.ResourceAdapter getResourceAdapter() {
-        if(logWriter != null) {
-            logWriter.println("In getResourceAdapter");
-        }
-        return ra;
-    }
-
-    /**
-     * Returns the hash code for this <code>ManagedConnectionFactory</code>.
-     *
-     * @return        hash code for this <code>ManagedConnectionFactory</code>
-     */
-    public int hashCode(){
-        if(logWriter != null) {
-                logWriter.println("In hashCode");
-        }
-        return spec.hashCode();
-    }
-
-    /**
-     * Returns a matched <code>ManagedConnection</code> from the candidate
-     * set of <code>ManagedConnection</code> objects.
-     *
-     * @param        connectionSet        <code>Set</code> of  <code>ManagedConnection</code>
-     *                                objects passed by the application server
-     * @param        subject         passed by the application server
-     *                        for retrieving information required for matching
-     * @param        cxRequestInfo        <code>ConnectionRequestInfo</code> passed by the application server
-     *                                for retrieving information required for matching
-     * @return        <code>ManagedConnection</code> that is the best match satisfying this request
-     * @throws        ResourceException        if there is an error accessing the <code>Subject</code>
-     *                                        parameter or the <code>Set</code> of <code>ManagedConnection</code>
-     *                                        objects passed by the application server
-     */
-    public jakarta.resource.spi.ManagedConnection matchManagedConnections(java.util.Set connectionSet,
-        javax.security.auth.Subject subject, ConnectionRequestInfo cxRequestInfo) throws ResourceException {
-        if(logWriter != null) {
-            logWriter.println("In matchManagedConnections");
-        }
-
-        if(connectionSet == null) {
-            return null;
-        }
-
-        PasswordCredential pc = SecurityUtils.getPasswordCredential(this, subject, cxRequestInfo);
-
-        java.util.Iterator iter = connectionSet.iterator();
-        com.sun.jdbcra.spi.ManagedConnection mc = null;
-        while(iter.hasNext()) {
-            try {
-                mc = (com.sun.jdbcra.spi.ManagedConnection) iter.next();
-            } catch(java.util.NoSuchElementException nsee) {
-                _logger.log(Level.SEVERE, "jdbc.exc_iter");
-                throw new ResourceException(nsee.getMessage());
-            }
-            if(pc == null && this.equals(mc.getManagedConnectionFactory())) {
-                //GJCINT
-                try {
-                    isValid(mc);
-                    return mc;
-                } catch(ResourceException re) {
-                    _logger.log(Level.SEVERE, "jdbc.exc_re", re);
-                    mc.connectionErrorOccurred(re, null);
-                }
-            } else if(SecurityUtils.isPasswordCredentialEqual(pc, mc.getPasswordCredential()) == true) {
-                //GJCINT
-                try {
-                    isValid(mc);
-                    return mc;
-                } catch(ResourceException re) {
-                    _logger.log(Level.SEVERE, "jdbc.re");
-                    mc.connectionErrorOccurred(re, null);
-                }
-            }
-        }
-        return null;
-    }
-
-    //GJCINT
-    /**
-     * Checks if a <code>ManagedConnection</code> is to be validated or not
-     * and validates it or returns.
-     *
-     * @param        mc        <code>ManagedConnection</code> to be validated
-     * @throws        ResourceException        if the connection is not valid or
-     *                                          if validation method is not proper
-     */
-    void isValid(com.sun.jdbcra.spi.ManagedConnection mc) throws ResourceException {
-
-        if(mc.isTransactionInProgress()) {
-            return;
-        }
-
-        boolean connectionValidationRequired =
-            (new Boolean(spec.getDetail(DataSourceSpec.CONNECTIONVALIDATIONREQUIRED).toLowerCase())).booleanValue();
-        if( connectionValidationRequired == false || mc == null) {
-            return;
-        }
-
-
-        String validationMethod = spec.getDetail(DataSourceSpec.VALIDATIONMETHOD).toLowerCase();
-
-        mc.checkIfValid();
-        /**
-         * The above call checks if the actual physical connection
-         * is usable or not.
-         */
-        java.sql.Connection con = mc.getActualConnection();
-
-        if(validationMethod.equals("auto-commit") == true) {
-            isValidByAutoCommit(con);
-        } else if(validationMethod.equalsIgnoreCase("meta-data") == true) {
-            isValidByMetaData(con);
-        } else if(validationMethod.equalsIgnoreCase("table") == true) {
-            isValidByTableQuery(con, spec.getDetail(DataSourceSpec.VALIDATIONTABLENAME));
-        } else {
-            throw new ResourceException("The validation method is not proper");
-        }
-    }
-
-    /**
-     * Checks if a <code>java.sql.Connection</code> is valid or not
-     * by checking its auto commit property.
-     *
-     * @param        con        <code>java.sql.Connection</code> to be validated
-     * @throws        ResourceException        if the connection is not valid
-     */
-    protected void isValidByAutoCommit(java.sql.Connection con) throws ResourceException {
-        if(con == null) {
-            throw new ResourceException("The connection is not valid as "
-                + "the connection is null");
-        }
-
-        try {
-           // Notice that using something like
-           // dbCon.setAutoCommit(dbCon.getAutoCommit()) will cause problems with
-           // some drivers like sybase
-           // We do not validate connections that are already enlisted
-           //in a transaction
-           // We cycle autocommit to true and false to by-pass drivers that
-           // might cache the call to set autocomitt
-           // Also notice that some XA data sources will throw and exception if
-           // you try to call setAutoCommit, for them this method is not recommended
-
-           boolean ac = con.getAutoCommit();
-           if (ac) {
-                con.setAutoCommit(false);
-           } else {
-                con.rollback(); // prevents uncompleted transaction exceptions
-                con.setAutoCommit(true);
-           }
-
-           con.setAutoCommit(ac);
-
-        } catch(Exception sqle) {
-            _logger.log(Level.SEVERE, "jdbc.exc_autocommit");
-            throw new ResourceException(sqle.getMessage());
-        }
-    }
-
-    /**
-     * Checks if a <code>java.sql.Connection</code> is valid or not
-     * by checking its meta data.
-     *
-     * @param        con        <code>java.sql.Connection</code> to be validated
-     * @throws        ResourceException        if the connection is not valid
-     */
-    protected void isValidByMetaData(java.sql.Connection con) throws ResourceException {
-        if(con == null) {
-            throw new ResourceException("The connection is not valid as "
-                + "the connection is null");
-        }
-
-        try {
-            java.sql.DatabaseMetaData dmd = con.getMetaData();
-        } catch(Exception sqle) {
-            _logger.log(Level.SEVERE, "jdbc.exc_md");
-            throw new ResourceException("The connection is not valid as "
-                + "getting the meta data failed: " + sqle.getMessage());
-        }
-    }
-
-    /**
-     * Checks if a <code>java.sql.Connection</code> is valid or not
-     * by querying a table.
-     *
-     * @param        con        <code>java.sql.Connection</code> to be validated
-     * @param        tableName        table which should be queried
-     * @throws        ResourceException        if the connection is not valid
-     */
-    protected void isValidByTableQuery(java.sql.Connection con,
-        String tableName) throws ResourceException {
-        if(con == null) {
-            throw new ResourceException("The connection is not valid as "
-                + "the connection is null");
-        }
-
-        try {
-            java.sql.Statement stmt = con.createStatement();
-            java.sql.ResultSet rs = stmt.executeQuery("SELECT * FROM " + tableName);
-        } catch(Exception sqle) {
-            _logger.log(Level.SEVERE, "jdbc.exc_execute");
-            throw new ResourceException("The connection is not valid as "
-                + "querying the table " + tableName + " failed: " + sqle.getMessage());
-        }
-    }
-
-    /**
-     * Sets the isolation level specified in the <code>ConnectionRequestInfo</code>
-     * for the <code>ManagedConnection</code> passed.
-     *
-     * @param        mc        <code>ManagedConnection</code>
-     * @throws        ResourceException        if the isolation property is invalid
-     *                                        or if the isolation cannot be set over the connection
-     */
-    protected void setIsolation(com.sun.jdbcra.spi.ManagedConnection mc) throws ResourceException {
-
-            java.sql.Connection con = mc.getActualConnection();
-            if(con == null) {
-                return;
-            }
-
-            String tranIsolation = spec.getDetail(DataSourceSpec.TRANSACTIONISOLATION);
-            if(tranIsolation != null && tranIsolation.equals("") == false) {
-                int tranIsolationInt = getTransactionIsolationInt(tranIsolation);
-                try {
-                    con.setTransactionIsolation(tranIsolationInt);
-                } catch(java.sql.SQLException sqle) {
-                _logger.log(Level.SEVERE, "jdbc.exc_tx_level");
-                    throw new ResourceException("The transaction isolation could "
-                        + "not be set: " + sqle.getMessage());
-                }
-            }
-    }
-
-    /**
-     * Resets the isolation level for the <code>ManagedConnection</code> passed.
-     * If the transaction level is to be guaranteed to be the same as the one
-     * present when this <code>ManagedConnection</code> was created, as specified
-     * by the <code>ConnectionRequestInfo</code> passed, it sets the transaction
-     * isolation level from the <code>ConnectionRequestInfo</code> passed. Else,
-     * it sets it to the transaction isolation passed.
-     *
-     * @param        mc        <code>ManagedConnection</code>
-     * @param        tranIsol        int
-     * @throws        ResourceException        if the isolation property is invalid
-     *                                        or if the isolation cannot be set over the connection
-     */
-    void resetIsolation(com.sun.jdbcra.spi.ManagedConnection mc, int tranIsol) throws ResourceException {
-
-            java.sql.Connection con = mc.getActualConnection();
-            if(con == null) {
-                return;
-            }
-
-            String tranIsolation = spec.getDetail(DataSourceSpec.TRANSACTIONISOLATION);
-            if(tranIsolation != null && tranIsolation.equals("") == false) {
-                String guaranteeIsolationLevel = spec.getDetail(DataSourceSpec.GUARANTEEISOLATIONLEVEL);
-
-                if(guaranteeIsolationLevel != null && guaranteeIsolationLevel.equals("") == false) {
-                    boolean guarantee = (new Boolean(guaranteeIsolationLevel.toLowerCase())).booleanValue();
-
-                    if(guarantee) {
-                        int tranIsolationInt = getTransactionIsolationInt(tranIsolation);
-                        try {
-                            if(tranIsolationInt != con.getTransactionIsolation()) {
-                                con.setTransactionIsolation(tranIsolationInt);
-                            }
-                        } catch(java.sql.SQLException sqle) {
-                        _logger.log(Level.SEVERE, "jdbc.exc_tx_level");
-                            throw new ResourceException("The isolation level could not be set: "
-                                + sqle.getMessage());
-                        }
-                    } else {
-                        try {
-                            if(tranIsol != con.getTransactionIsolation()) {
-                                con.setTransactionIsolation(tranIsol);
-                            }
-                        } catch(java.sql.SQLException sqle) {
-                        _logger.log(Level.SEVERE, "jdbc.exc_tx_level");
-                            throw new ResourceException("The isolation level could not be set: "
-                                + sqle.getMessage());
-                        }
-                    }
-                }
-            }
-    }
-
-    /**
-     * Gets the integer equivalent of the string specifying
-     * the transaction isolation.
-     *
-     * @param        tranIsolation        string specifying the isolation level
-     * @return        tranIsolationInt        the <code>java.sql.Connection</code> constant
-     *                                        for the string specifying the isolation.
-     */
-    private int getTransactionIsolationInt(String tranIsolation) throws ResourceException {
-            if(tranIsolation.equalsIgnoreCase("read-uncommitted")) {
-                return java.sql.Connection.TRANSACTION_READ_UNCOMMITTED;
-            } else if(tranIsolation.equalsIgnoreCase("read-committed")) {
-                return java.sql.Connection.TRANSACTION_READ_COMMITTED;
-            } else if(tranIsolation.equalsIgnoreCase("repeatable-read")) {
-                return java.sql.Connection.TRANSACTION_REPEATABLE_READ;
-            } else if(tranIsolation.equalsIgnoreCase("serializable")) {
-                return java.sql.Connection.TRANSACTION_SERIALIZABLE;
-            } else {
-                throw new ResourceException("Invalid transaction isolation; the transaction "
-                    + "isolation level can be empty or any of the following: "
-                        + "read-uncommitted, read-committed, repeatable-read, serializable");
-            }
-    }
-
-    /**
-     * Set the log writer for this <code>ManagedConnectionFactory</code> instance.
-     *
-     * @param        out        <code>PrintWriter</code> passed by the application server
-     * @see        <code>getLogWriter</code>
-     */
-    public void setLogWriter(java.io.PrintWriter out) {
-        logWriter = out;
-    }
-
-    /**
-     * Set the associated <code>ResourceAdapter</code> JavaBean.
-     *
-     * @param        ra        <code>ResourceAdapter</code> associated with this
-     *                        <code>ManagedConnectionFactory</code> instance
-     * @see        <code>getResourceAdapter</code>
-     */
-    public void setResourceAdapter(jakarta.resource.spi.ResourceAdapter ra) {
-        this.ra = ra;
-    }
-
-    /**
-     * Sets the user name
-     *
-     * @param        user        <code>String</code>
-     */
-    public void setUser(String user) {
-        spec.setDetail(DataSourceSpec.USERNAME, user);
-    }
-
-    /**
-     * Gets the user name
-     *
-     * @return        user
-     */
-    public String getUser() {
-        return spec.getDetail(DataSourceSpec.USERNAME);
-    }
-
-    /**
-     * Sets the user name
-     *
-     * @param        user        <code>String</code>
-     */
-    public void setuser(String user) {
-        spec.setDetail(DataSourceSpec.USERNAME, user);
-    }
-
-    /**
-     * Gets the user name
-     *
-     * @return        user
-     */
-    public String getuser() {
-        return spec.getDetail(DataSourceSpec.USERNAME);
-    }
-
-    /**
-     * Sets the password
-     *
-     * @param        passwd        <code>String</code>
-     */
-    public void setPassword(String passwd) {
-        spec.setDetail(DataSourceSpec.PASSWORD, passwd);
-    }
-
-    /**
-     * Gets the password
-     *
-     * @return        passwd
-     */
-    public String getPassword() {
-        return spec.getDetail(DataSourceSpec.PASSWORD);
-    }
-
-    /**
-     * Sets the password
-     *
-     * @param        passwd        <code>String</code>
-     */
-    public void setpassword(String passwd) {
-        spec.setDetail(DataSourceSpec.PASSWORD, passwd);
-    }
-
-    /**
-     * Gets the password
-     *
-     * @return        passwd
-     */
-    public String getpassword() {
-        return spec.getDetail(DataSourceSpec.PASSWORD);
-    }
-
-    /**
-     * Sets the class name of the data source
-     *
-     * @param        className        <code>String</code>
-     */
-    public void setClassName(String className) {
-        spec.setDetail(DataSourceSpec.CLASSNAME, className);
-    }
-
-    /**
-     * Gets the class name of the data source
-     *
-     * @return        className
-     */
-    public String getClassName() {
-        return spec.getDetail(DataSourceSpec.CLASSNAME);
-    }
-
-    /**
-     * Sets the class name of the data source
-     *
-     * @param        className        <code>String</code>
-     */
-    public void setclassName(String className) {
-        spec.setDetail(DataSourceSpec.CLASSNAME, className);
-    }
-
-    /**
-     * Gets the class name of the data source
-     *
-     * @return        className
-     */
-    public String getclassName() {
-        return spec.getDetail(DataSourceSpec.CLASSNAME);
-    }
-
-    /**
-     * Sets if connection validation is required or not
-     *
-     * @param        conVldReq        <code>String</code>
-     */
-    public void setConnectionValidationRequired(String conVldReq) {
-        spec.setDetail(DataSourceSpec.CONNECTIONVALIDATIONREQUIRED, conVldReq);
-    }
-
-    /**
-     * Returns if connection validation is required or not
-     *
-     * @return        connection validation requirement
-     */
-    public String getConnectionValidationRequired() {
-        return spec.getDetail(DataSourceSpec.CONNECTIONVALIDATIONREQUIRED);
-    }
-
-    /**
-     * Sets if connection validation is required or not
-     *
-     * @param        conVldReq        <code>String</code>
-     */
-    public void setconnectionValidationRequired(String conVldReq) {
-        spec.setDetail(DataSourceSpec.CONNECTIONVALIDATIONREQUIRED, conVldReq);
-    }
-
-    /**
-     * Returns if connection validation is required or not
-     *
-     * @return        connection validation requirement
-     */
-    public String getconnectionValidationRequired() {
-        return spec.getDetail(DataSourceSpec.CONNECTIONVALIDATIONREQUIRED);
-    }
-
-    /**
-     * Sets the validation method required
-     *
-     * @param        validationMethod        <code>String</code>
-     */
-    public void setValidationMethod(String validationMethod) {
-            spec.setDetail(DataSourceSpec.VALIDATIONMETHOD, validationMethod);
-    }
-
-    /**
-     * Returns the connection validation method type
-     *
-     * @return        validation method
-     */
-    public String getValidationMethod() {
-        return spec.getDetail(DataSourceSpec.VALIDATIONMETHOD);
-    }
-
-    /**
-     * Sets the validation method required
-     *
-     * @param        validationMethod        <code>String</code>
-     */
-    public void setvalidationMethod(String validationMethod) {
-            spec.setDetail(DataSourceSpec.VALIDATIONMETHOD, validationMethod);
-    }
-
-    /**
-     * Returns the connection validation method type
-     *
-     * @return        validation method
-     */
-    public String getvalidationMethod() {
-        return spec.getDetail(DataSourceSpec.VALIDATIONMETHOD);
-    }
-
-    /**
-     * Sets the table checked for during validation
-     *
-     * @param        table        <code>String</code>
-     */
-    public void setValidationTableName(String table) {
-        spec.setDetail(DataSourceSpec.VALIDATIONTABLENAME, table);
-    }
-
-    /**
-     * Returns the table checked for during validation
-     *
-     * @return        table
-     */
-    public String getValidationTableName() {
-        return spec.getDetail(DataSourceSpec.VALIDATIONTABLENAME);
-    }
-
-    /**
-     * Sets the table checked for during validation
-     *
-     * @param        table        <code>String</code>
-     */
-    public void setvalidationTableName(String table) {
-        spec.setDetail(DataSourceSpec.VALIDATIONTABLENAME, table);
-    }
-
-    /**
-     * Returns the table checked for during validation
-     *
-     * @return        table
-     */
-    public String getvalidationTableName() {
-        return spec.getDetail(DataSourceSpec.VALIDATIONTABLENAME);
-    }
-
-    /**
-     * Sets the transaction isolation level
-     *
-     * @param        trnIsolation        <code>String</code>
-     */
-    public void setTransactionIsolation(String trnIsolation) {
-        spec.setDetail(DataSourceSpec.TRANSACTIONISOLATION, trnIsolation);
-    }
-
-    /**
-     * Returns the transaction isolation level
-     *
-     * @return        transaction isolation level
-     */
-    public String getTransactionIsolation() {
-        return spec.getDetail(DataSourceSpec.TRANSACTIONISOLATION);
-    }
-
-    /**
-     * Sets the transaction isolation level
-     *
-     * @param        trnIsolation        <code>String</code>
-     */
-    public void settransactionIsolation(String trnIsolation) {
-        spec.setDetail(DataSourceSpec.TRANSACTIONISOLATION, trnIsolation);
-    }
-
-    /**
-     * Returns the transaction isolation level
-     *
-     * @return        transaction isolation level
-     */
-    public String gettransactionIsolation() {
-        return spec.getDetail(DataSourceSpec.TRANSACTIONISOLATION);
-    }
-
-    /**
-     * Sets if the transaction isolation level is to be guaranteed
-     *
-     * @param        guaranteeIsolation        <code>String</code>
-     */
-    public void setGuaranteeIsolationLevel(String guaranteeIsolation) {
-        spec.setDetail(DataSourceSpec.GUARANTEEISOLATIONLEVEL, guaranteeIsolation);
-    }
-
-    /**
-     * Returns the transaction isolation level
-     *
-     * @return        isolation level guarantee
-     */
-    public String getGuaranteeIsolationLevel() {
-        return spec.getDetail(DataSourceSpec.GUARANTEEISOLATIONLEVEL);
-    }
-
-    /**
-     * Sets if the transaction isolation level is to be guaranteed
-     *
-     * @param        guaranteeIsolation        <code>String</code>
-     */
-    public void setguaranteeIsolationLevel(String guaranteeIsolation) {
-        spec.setDetail(DataSourceSpec.GUARANTEEISOLATIONLEVEL, guaranteeIsolation);
-    }
-
-    /**
-     * Returns the transaction isolation level
-     *
-     * @return        isolation level guarantee
-     */
-    public String getguaranteeIsolationLevel() {
-        return spec.getDetail(DataSourceSpec.GUARANTEEISOLATIONLEVEL);
-    }
-
-}
diff --git a/appserver/tests/appserv-tests/devtests/connector/v3/annotation-embeddedweb/ra/src/com/sun/jdbcra/spi/1.4/ResourceAdapter.java b/appserver/tests/appserv-tests/devtests/connector/v3/annotation-embeddedweb/ra/src/com/sun/jdbcra/spi/1.4/ResourceAdapter.java
deleted file mode 100755
index 35ab2b9..0000000
--- a/appserver/tests/appserv-tests/devtests/connector/v3/annotation-embeddedweb/ra/src/com/sun/jdbcra/spi/1.4/ResourceAdapter.java
+++ /dev/null
@@ -1,133 +0,0 @@
-/*
- * Copyright (c) 2003, 2018 Oracle and/or its affiliates. All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v. 2.0, which is available at
- * http://www.eclipse.org/legal/epl-2.0.
- *
- * This Source Code may also be made available under the following Secondary
- * Licenses when the conditions for such availability set forth in the
- * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
- * version 2 with the GNU Classpath Exception, which is available at
- * https://www.gnu.org/software/classpath/license.html.
- *
- * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
- */
-
-package com.sun.jdbcra.spi;
-
-import jakarta.resource.spi.endpoint.MessageEndpointFactory;
-import jakarta.resource.NotSupportedException;
-import javax.transaction.xa.XAResource;
-import jakarta.resource.spi.*;
-
-/**
- * <code>ResourceAdapter</code> implementation for Generic JDBC Connector.
- *
- * @version        1.0, 02/08/05
- * @author        Evani Sai Surya Kiran
- */
-@Connector(
-        description = "Resource adapter wrapping Datasource implementation of driver",
-        displayName = "DataSource Resource Adapter",
-        vendorName = "Sun Microsystems",
-        eisType = "Database",
-        version = "1.0",
-        licenseRequired = false,
-        transactionSupport = TransactionSupport.TransactionSupportLevel.LocalTransaction,
-        authMechanisms = { @AuthenticationMechanism(
-            authMechanism = "BasicPassword",
-            credentialInterface = AuthenticationMechanism.CredentialInterface.PasswordCredential
-        )},
-        reauthenticationSupport = false
-)
-public class ResourceAdapter implements jakarta.resource.spi.ResourceAdapter {
-
-    public String raProp = null;
-
-    /**
-     * Empty method implementation for endpointActivation
-     * which just throws <code>NotSupportedException</code>
-     *
-     * @param        mef        <code>MessageEndpointFactory</code>
-     * @param        as        <code>ActivationSpec</code>
-     * @throws        <code>NotSupportedException</code>
-     */
-    public void endpointActivation(MessageEndpointFactory mef, ActivationSpec as) throws NotSupportedException {
-        throw new NotSupportedException("This method is not supported for this JDBC connector");
-    }
-
-    /**
-     * Empty method implementation for endpointDeactivation
-     *
-     * @param        mef        <code>MessageEndpointFactory</code>
-     * @param        as        <code>ActivationSpec</code>
-     */
-    public void endpointDeactivation(MessageEndpointFactory mef, ActivationSpec as) {
-
-    }
-
-    /**
-     * Empty method implementation for getXAResources
-     * which just throws <code>NotSupportedException</code>
-     *
-     * @param        specs        <code>ActivationSpec</code> array
-     * @throws        <code>NotSupportedException</code>
-     */
-    public XAResource[] getXAResources(ActivationSpec[] specs) throws NotSupportedException {
-        throw new NotSupportedException("This method is not supported for this JDBC connector");
-    }
-
-    /**
-     * Empty implementation of start method
-     *
-     * @param        ctx        <code>BootstrapContext</code>
-     */
-    public void start(BootstrapContext ctx) throws ResourceAdapterInternalException {
-        System.out.println("Resource Adapter is starting with configuration :" + raProp);
-        if (raProp == null || !raProp.equals("VALID")) {
-            throw new ResourceAdapterInternalException("Resource adapter cannot start. It is configured as : " + raProp);
-        }
-    }
-
-    /**
-     * Empty implementation of stop method
-     */
-    public void stop() {
-
-    }
-
-    public void setRAProperty(String s) {
-        raProp = s;
-    }
-
-    public String getRAProperty() {
-        return raProp;
-    }
-
-    private void validateDealiasing(String propertyName, String propertyValue){
-        System.out.println("Validating property ["+propertyName+"] with value ["+propertyValue+"] in ResourceAdapter bean");
-        //check whether the value is dealiased or not and fail
-        //if it's not dealiased.
-        if(propertyValue != null && propertyValue.contains("${ALIAS")){
-            throw new IllegalArgumentException(propertyName + "'s value is not de-aliased : " + propertyValue);
-        }
-    }
-
-    private String aliasTest;
-
-    @ConfigProperty(
-            defaultValue = "${ALIAS=ALIAS_TEST_PROPERTY}",
-            type = java.lang.String.class,
-            confidential = true
-    )
-    public void setAliasTest (String value) {
-        validateDealiasing("AliasTest", value);
-        System.out.println("setAliasTest called : " + value);
-        aliasTest = value;
-    }
-
-    public String getAliasTest () {
-        return aliasTest;
-    }
-}
diff --git a/appserver/tests/appserv-tests/devtests/connector/v3/annotation-embeddedweb/ra/src/com/sun/jdbcra/spi/1.4/build.xml b/appserver/tests/appserv-tests/devtests/connector/v3/annotation-embeddedweb/ra/src/com/sun/jdbcra/spi/1.4/build.xml
deleted file mode 100755
index e006b1d..0000000
--- a/appserver/tests/appserv-tests/devtests/connector/v3/annotation-embeddedweb/ra/src/com/sun/jdbcra/spi/1.4/build.xml
+++ /dev/null
@@ -1,83 +0,0 @@
-<?xml version="1.0"?>
-<!--
-
-    Copyright (c) 2017, 2018 Oracle and/or its affiliates. All rights reserved.
-
-    This program and the accompanying materials are made available under the
-    terms of the Eclipse Public License v. 2.0, which is available at
-    http://www.eclipse.org/legal/epl-2.0.
-
-    This Source Code may also be made available under the following Secondary
-    Licenses when the conditions for such availability set forth in the
-    Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
-    version 2 with the GNU Classpath Exception, which is available 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 name="jdbc_connector" basedir="${gjc.home}" default="build">
-  <property name="pkg.dir" value="com/sun/gjc/spi"/>
-
-  <target name="clean">
-    <ant antfile="build.xml" dir="${gjc.home}/bin" target="clean"/>
-  </target>
-
-  <target name="compile14">
-    <ant antfile="build.xml" dir="${gjc.home}/bin" target="compile14"/>
-  </target>
-
-  <target name="package14">
-
-            <mkdir dir="${gjc.home}/dist/spi/1.5"/>
-
-        <jar jarfile="${gjc.home}/dist/spi/1.5/jdbc.jar" basedir="${class.dir}"
-        includes="${pkg.dir}/**/*, com/sun/gjc/util/**/*, com/sun/gjc/common/**/*" excludes="com/sun/gjc/cci/**/*,com/sun/gjc/spi/1.4/**/*"/>
-
-        <jar jarfile="${gjc.home}/dist/spi/1.5/__cp.rar" basedir="${gjc.home}/dist/spi/1.5" includes="jdbc.jar"/>
-        <copy file="${gjc.home}/src/com/sun/gjc/spi/1.4/ra-cp.xml" tofile="${gjc.home}/dist/spi/1.5/ra.xml" overwrite="yes">
-        </copy>
-           <jar jarfile="${gjc.home}/dist/spi/1.5/__cp.rar" update="yes">
-                   <metainf dir="${gjc.home}/dist/spi/1.5">
-                           <include name="ra.xml"/>
-                   </metainf>
-           </jar>
-
-           <jar jarfile="${gjc.home}/dist/spi/1.5/__xa.rar" basedir="${gjc.home}/dist/spi/1.5" includes="jdbc.jar"/>
-        <copy file="${gjc.home}/src/com/sun/gjc/spi/1.4/ra-xa.xml" tofile="${gjc.home}/dist/spi/1.5/ra.xml" overwrite="yes">
-        </copy>
-           <jar jarfile="${gjc.home}/dist/spi/1.5/__xa.rar" update="yes">
-                   <metainf dir="${gjc.home}/dist/spi/1.5">
-                           <include name="ra.xml"/>
-                   </metainf>
-           </jar>
-
-           <jar jarfile="${gjc.home}/dist/spi/1.5/__dm.rar" basedir="${gjc.home}/dist/spi/1.5" includes="jdbc.jar"/>
-        <copy file="${gjc.home}/src/com/sun/gjc/spi/1.4/ra-dm.xml" tofile="${gjc.home}/dist/spi/1.5/ra.xml" overwrite="yes">
-        </copy>
-           <jar jarfile="${gjc.home}/dist/spi/1.5/__dm.rar" update="yes">
-                   <metainf dir="${gjc.home}/dist/spi/1.5">
-                           <include name="ra.xml"/>
-                   </metainf>
-           </jar>
-
-           <jar jarfile="${gjc.home}/dist/spi/1.5/__ds.rar" basedir="${gjc.home}/dist/spi/1.5" includes="jdbc.jar"/>
-        <copy file="${gjc.home}/src/com/sun/gjc/spi/1.4/ra-ds.xml" tofile="${gjc.home}/dist/spi/1.5/ra.xml" overwrite="yes">
-        </copy>
-           <jar jarfile="${gjc.home}/dist/spi/1.5/__ds.rar" update="yes">
-                   <metainf dir="${gjc.home}/dist/spi/1.5">
-                           <include name="ra.xml"/>
-                   </metainf>
-           </jar>
-
-           <delete dir="${gjc.home}/dist/com"/>
-           <delete file="${gjc.home}/dist/spi/1.5/jdbc.jar"/>
-           <delete file="${gjc.home}/dist/spi/1.5/ra.xml"/>
-
-  </target>
-
-  <target name="build14" depends="compile14, package14"/>
-    <target name="build13"/>
-        <target name="build" depends="build14, build13"/>
-</project>
diff --git a/appserver/tests/appserv-tests/devtests/connector/v3/annotation-embeddedweb/ra/src/com/sun/jdbcra/spi/1.4/ra-ds.xml b/appserver/tests/appserv-tests/devtests/connector/v3/annotation-embeddedweb/ra/src/com/sun/jdbcra/spi/1.4/ra-ds.xml
deleted file mode 100755
index d126fab..0000000
--- a/appserver/tests/appserv-tests/devtests/connector/v3/annotation-embeddedweb/ra/src/com/sun/jdbcra/spi/1.4/ra-ds.xml
+++ /dev/null
@@ -1,92 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
-
-    Copyright (c) 2017, 2018 Oracle and/or its affiliates. All rights reserved.
-
-    This program and the accompanying materials are made available under the
-    terms of the Eclipse Public License v. 2.0, which is available at
-    http://www.eclipse.org/legal/epl-2.0.
-
-    This Source Code may also be made available under the following Secondary
-    Licenses when the conditions for such availability set forth in the
-    Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
-    version 2 with the GNU Classpath Exception, which is available at
-    https://www.gnu.org/software/classpath/license.html.
-
-    SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
-
--->
-
-<connector xmlns="http://java.sun.com/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-           metadata-complete="false" version="1.6" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/connector_1_6.xsd">
-
-    <vendor-name>Sun Microsystems</vendor-name>
-    <eis-type>Database</eis-type>
-    <resourceadapter-version>1.0</resourceadapter-version>
-
-    <resourceadapter>
-        <outbound-resourceadapter>
-            <connection-definition>
-                <managedconnectionfactory-class>com.sun.jdbcra.spi.DSManagedConnectionFactory</managedconnectionfactory-class>
-
-                <!-- There can be any number of these elements including 0 -->
-                <config-property>
-                    <config-property-name>User</config-property-name>
-                    <config-property-type>java.lang.String</config-property-type>
-                    <config-property-value>dbuser</config-property-value>
-                </config-property>
-                <config-property>
-                    <config-property-name>UserName</config-property-name>
-                    <config-property-type>java.lang.String</config-property-type>
-                    <config-property-value>dbuser</config-property-value>
-                </config-property>
-                <config-property>
-                    <config-property-name>Password</config-property-name>
-                    <config-property-type>java.lang.String</config-property-type>
-                    <config-property-value>dbpassword</config-property-value>
-                </config-property>
-                <config-property>
-                    <config-property-name>URL</config-property-name>
-                    <config-property-type>java.lang.String</config-property-type>
-                    <config-property-value>jdbc:derby://localhost:1527/testdb;create=true</config-property-value>
-                </config-property>
-                <config-property>
-                    <config-property-name>Description</config-property-name>
-                    <config-property-type>java.lang.String</config-property-type>
-                    <config-property-value>Oracle thin driver Datasource</config-property-value>
-                 </config-property>
-                <config-property>
-                    <config-property-name>ClassName</config-property-name>
-                    <config-property-type>java.lang.String</config-property-type>
-                    <config-property-value>org.apache.derby.jdbc.ClientDataSource40</config-property-value>
-                </config-property>
-                <config-property>
-                      <config-property-name>ConnectionAttributes</config-property-name>
-                      <config-property-type>java.lang.String</config-property-type>
-                      <config-property-value>;create=true</config-property-value>
-              </config-property>
-                <connectionfactory-interface>javax.sql.DataSource</connectionfactory-interface>
-
-                <connectionfactory-impl-class>com.sun.jdbcra.spi.DataSource</connectionfactory-impl-class>
-
-                <connection-interface>java.sql.Connection</connection-interface>
-
-                <connection-impl-class>com.sun.jdbcra.spi.ConnectionHolder</connection-impl-class>
-
-            </connection-definition>
-
-            <transaction-support>LocalTransaction</transaction-support>
-            <authentication-mechanism>
-                <!-- There can be any number of "description" elements including 0 -->
-                <!-- Not including the "description" element -->
-
-                <authentication-mechanism-type>BasicPassword</authentication-mechanism-type>
-
-                <credential-interface>javax.resource.spi.security.PasswordCredential</credential-interface>
-            </authentication-mechanism>
-
-            <reauthentication-support>false</reauthentication-support>
-
-        </outbound-resourceadapter>
-    </resourceadapter>
-</connector>
diff --git a/appserver/tests/appserv-tests/devtests/connector/v3/annotation-embeddedweb/ra/src/com/sun/jdbcra/spi/ConnectionManager.java b/appserver/tests/appserv-tests/devtests/connector/v3/annotation-embeddedweb/ra/src/com/sun/jdbcra/spi/ConnectionManager.java
deleted file mode 100755
index 2ee36c5..0000000
--- a/appserver/tests/appserv-tests/devtests/connector/v3/annotation-embeddedweb/ra/src/com/sun/jdbcra/spi/ConnectionManager.java
+++ /dev/null
@@ -1,51 +0,0 @@
-/*
- * Copyright (c) 2003, 2018 Oracle and/or its affiliates. All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v. 2.0, which is available at
- * http://www.eclipse.org/legal/epl-2.0.
- *
- * This Source Code may also be made available under the following Secondary
- * Licenses when the conditions for such availability set forth in the
- * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
- * version 2 with the GNU Classpath Exception, which is available at
- * https://www.gnu.org/software/classpath/license.html.
- *
- * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
- */
-
-package com.sun.jdbcra.spi;
-
-import jakarta.resource.spi.ManagedConnectionFactory;
-import jakarta.resource.spi.ManagedConnection;
-import jakarta.resource.ResourceException;
-import jakarta.resource.spi.ConnectionRequestInfo;
-
-/**
- * ConnectionManager implementation for Generic JDBC Connector.
- *
- * @version        1.0, 02/07/31
- * @author        Binod P.G
- */
-public class ConnectionManager implements jakarta.resource.spi.ConnectionManager{
-
-    /**
-     * Returns a <code>Connection </code> object to the <code>ConnectionFactory</code>
-     *
-     * @param        mcf        <code>ManagedConnectionFactory</code> object.
-     * @param        info        <code>ConnectionRequestInfo</code> object.
-     * @return        A <code>Connection</code> Object.
-     * @throws        ResourceException In case of an error in getting the <code>Connection</code>.
-     */
-    public Object allocateConnection(ManagedConnectionFactory mcf,
-                                         ConnectionRequestInfo info)
-                                         throws ResourceException {
-        ManagedConnection mc = mcf.createManagedConnection(null, info);
-        return mc.getConnection(null, info);
-    }
-
-    /*
-     * This class could effectively implement Connection pooling also.
-     * Could be done for FCS.
-     */
-}
diff --git a/appserver/tests/appserv-tests/devtests/connector/v3/annotation-embeddedweb/ra/src/com/sun/jdbcra/spi/ConnectionRequestInfo.java b/appserver/tests/appserv-tests/devtests/connector/v3/annotation-embeddedweb/ra/src/com/sun/jdbcra/spi/ConnectionRequestInfo.java
deleted file mode 100755
index ddd0a28..0000000
--- a/appserver/tests/appserv-tests/devtests/connector/v3/annotation-embeddedweb/ra/src/com/sun/jdbcra/spi/ConnectionRequestInfo.java
+++ /dev/null
@@ -1,99 +0,0 @@
-/*
- * Copyright (c) 2003, 2018 Oracle and/or its affiliates. All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v. 2.0, which is available at
- * http://www.eclipse.org/legal/epl-2.0.
- *
- * This Source Code may also be made available under the following Secondary
- * Licenses when the conditions for such availability set forth in the
- * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
- * version 2 with the GNU Classpath Exception, which is available at
- * https://www.gnu.org/software/classpath/license.html.
- *
- * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
- */
-
-package com.sun.jdbcra.spi;
-
-/**
- * ConnectionRequestInfo implementation for Generic JDBC Connector.
- *
- * @version        1.0, 02/07/31
- * @author        Binod P.G
- */
-public class ConnectionRequestInfo implements jakarta.resource.spi.ConnectionRequestInfo{
-
-    private String user;
-    private String password;
-
-    /**
-     * Constructs a new <code>ConnectionRequestInfo</code> object
-     *
-     * @param        user        User Name.
-     * @param        password        Password
-     */
-    public ConnectionRequestInfo(String user, String password) {
-        this.user = user;
-        this.password = password;
-    }
-
-    /**
-     * Retrieves the user name of the ConnectionRequestInfo.
-     *
-     * @return        User name of ConnectionRequestInfo.
-     */
-    public String getUser() {
-        return user;
-    }
-
-    /**
-     * Retrieves the password of the ConnectionRequestInfo.
-     *
-     * @return        Password of ConnectionRequestInfo.
-     */
-    public String getPassword() {
-        return password;
-    }
-
-    /**
-     * Verify whether two ConnectionRequestInfos are equal.
-     *
-     * @return        True, if they are equal and false otherwise.
-     */
-    public boolean equals(Object obj) {
-        if (obj == null) return false;
-        if (obj instanceof ConnectionRequestInfo) {
-            ConnectionRequestInfo other = (ConnectionRequestInfo) obj;
-            return (isEqual(this.user, other.user) &&
-                    isEqual(this.password, other.password));
-        } else {
-            return false;
-        }
-    }
-
-    /**
-     * Retrieves the hashcode of the object.
-     *
-     * @return        hashCode.
-     */
-    public int hashCode() {
-        String result = "" + user + password;
-        return result.hashCode();
-    }
-
-    /**
-     * Compares two objects.
-     *
-     * @param        o1        First object.
-     * @param        o2        Second object.
-     */
-    private boolean isEqual(Object o1, Object o2) {
-        if (o1 == null) {
-            return (o2 == null);
-        } else {
-            return o1.equals(o2);
-        }
-    }
-
-}
diff --git a/appserver/tests/appserv-tests/devtests/connector/v3/annotation-embeddedweb/ra/src/com/sun/jdbcra/spi/DSManagedConnectionFactory.java b/appserver/tests/appserv-tests/devtests/connector/v3/annotation-embeddedweb/ra/src/com/sun/jdbcra/spi/DSManagedConnectionFactory.java
deleted file mode 100755
index 5d69782..0000000
--- a/appserver/tests/appserv-tests/devtests/connector/v3/annotation-embeddedweb/ra/src/com/sun/jdbcra/spi/DSManagedConnectionFactory.java
+++ /dev/null
@@ -1,634 +0,0 @@
-/*
- * Copyright (c) 2003, 2018 Oracle and/or its affiliates. All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v. 2.0, which is available at
- * http://www.eclipse.org/legal/epl-2.0.
- *
- * This Source Code may also be made available under the following Secondary
- * Licenses when the conditions for such availability set forth in the
- * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
- * version 2 with the GNU Classpath Exception, which is available at
- * https://www.gnu.org/software/classpath/license.html.
- *
- * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
- */
-
-package com.sun.jdbcra.spi;
-
-import jakarta.resource.ResourceException;
-import jakarta.resource.spi.ConnectionRequestInfo;
-import jakarta.resource.spi.ConnectionDefinition;
-import jakarta.resource.spi.ConfigProperty;
-
-import com.sun.jdbcra.common.DataSourceSpec;
-import com.sun.jdbcra.common.DataSourceObjectBuilder;
-import com.sun.jdbcra.util.SecurityUtils;
-import jakarta.resource.spi.security.PasswordCredential;
-import java.util.logging.Logger;
-import java.util.logging.Level;
-
-/**
- * Data Source <code>ManagedConnectionFactory</code> implementation for Generic JDBC Connector.
- *
- * @version        1.0, 02/07/30
- * @author        Evani Sai Surya Kiran
- */
-
-@ConnectionDefinition(
-        connection = java.sql.Connection.class,
-        connectionImpl = com.sun.jdbcra.spi.ConnectionHolder.class,
-        connectionFactory = javax.sql.DataSource.class,
-        connectionFactoryImpl = com.sun.jdbcra.spi.DataSource.class
-)
-public class DSManagedConnectionFactory extends ManagedConnectionFactory {
-
-    private transient javax.sql.DataSource dataSourceObj;
-
-    private static Logger _logger;
-    static {
-        _logger = Logger.getAnonymousLogger();
-    }
-    private boolean debug = false;
-
-    /**
-     * Creates a new physical connection to the underlying EIS resource
-     * manager.
-     *
-     * @param        subject        <code>Subject</code> instance passed by the application server
-     * @param        cxRequestInfo        <code>ConnectionRequestInfo</code> which may be created
-     *                                    as a result of the invocation <code>getConnection(user, password)</code>
-     *                                    on the <code>DataSource</code> object
-     * @return        <code>ManagedConnection</code> object created
-     * @throws        ResourceException        if there is an error in instantiating the
-     *                                         <code>DataSource</code> object used for the
-     *                                       creation of the <code>ManagedConnection</code> object
-     * @throws        SecurityException        if there ino <code>PasswordCredential</code> object
-     *                                         satisfying this request
-     * @throws        ResourceAllocationException        if there is an error in allocating the
-     *                                                physical connection
-     */
-    public jakarta.resource.spi.ManagedConnection createManagedConnection(javax.security.auth.Subject subject,
-        ConnectionRequestInfo cxRequestInfo) throws ResourceException {
-        if(logWriter != null) {
-                logWriter.println("In createManagedConnection");
-        }
-        PasswordCredential pc = SecurityUtils.getPasswordCredential(this, subject, cxRequestInfo);
-
-        if(dataSourceObj == null) {
-            if(dsObjBuilder == null) {
-                dsObjBuilder = new DataSourceObjectBuilder(spec);
-            }
-
-            System.out.println("V3-TEST : before getting datasource object");
-            try {
-                dataSourceObj = (javax.sql.DataSource) dsObjBuilder.constructDataSourceObject();
-            } catch(ClassCastException cce) {
-                _logger.log(Level.SEVERE, "jdbc.exc_cce", cce);
-                throw new jakarta.resource.ResourceException(cce.getMessage());
-            }
-        }
-
-        java.sql.Connection dsConn = null;
-
-        try {
-            /* For the case where the user/passwd of the connection pool is
-             * equal to the PasswordCredential for the connection request
-             * get a connection from this pool directly.
-             * for all other conditions go create a new connection
-             */
-            if ( isEqual( pc, getUser(), getPassword() ) ) {
-                dsConn = dataSourceObj.getConnection();
-            } else {
-                dsConn = dataSourceObj.getConnection(pc.getUserName(),
-                    new String(pc.getPassword()));
-            }
-        } catch(java.sql.SQLException sqle) {
-            sqle.printStackTrace();
-            _logger.log(Level.WARNING, "jdbc.exc_create_conn", sqle);
-            throw new jakarta.resource.spi.ResourceAllocationException("The connection could not be allocated: " +
-                sqle.getMessage());
-        } catch(Exception e){
-            System.out.println("V3-TEST : unable to get connection");
-            e.printStackTrace();
-        }
-        System.out.println("V3-TEST : got connection");
-
-        com.sun.jdbcra.spi.ManagedConnection mc = new com.sun.jdbcra.spi.ManagedConnection(null, dsConn, pc, this);
-        //GJCINT
-/*
-        setIsolation(mc);
-        isValid(mc);
-*/
-        System.out.println("V3-TEST : returning connection");
-        return mc;
-    }
-
-    /**
-     * Check if this <code>ManagedConnectionFactory</code> is equal to
-     * another <code>ManagedConnectionFactory</code>.
-     *
-     * @param        other        <code>ManagedConnectionFactory</code> object for checking equality with
-     * @return        true        if the property sets of both the
-     *                        <code>ManagedConnectionFactory</code> objects are the same
-     *                false        otherwise
-     */
-    public boolean equals(Object other) {
-        if(logWriter != null) {
-                logWriter.println("In equals");
-        }
-        /**
-         * The check below means that two ManagedConnectionFactory objects are equal
-         * if and only if their properties are the same.
-         */
-        if(other instanceof com.sun.jdbcra.spi.DSManagedConnectionFactory) {
-            com.sun.jdbcra.spi.DSManagedConnectionFactory otherMCF =
-                (com.sun.jdbcra.spi.DSManagedConnectionFactory) other;
-            return this.spec.equals(otherMCF.spec);
-        }
-        return false;
-    }
-
-    /**
-     * Sets the server name.
-     *
-     * @param        serverName        <code>String</code>
-     * @see        <code>getServerName</code>
-     */
-    public void setserverName(String serverName) {
-        spec.setDetail(DataSourceSpec.SERVERNAME, serverName);
-    }
-
-    /**
-     * Gets the server name.
-     *
-     * @return        serverName
-     * @see        <code>setServerName</code>
-     */
-    public String getserverName() {
-        return spec.getDetail(DataSourceSpec.SERVERNAME);
-    }
-
-    private void validateDealiasing(String propertyName, String propertyValue){
-        System.out.println("Validating property ["+propertyName+"] with value ["+propertyValue+"] in DSMCF");
-        //check whether the value is dealiased or not and fail
-        //if it's not dealiased.
-        if(propertyValue != null && propertyValue.contains("${ALIAS")){
-            throw new IllegalArgumentException(propertyName + "'s value is not de-aliased : " + propertyValue);
-        }
-    }
-
-
-    /**
-     * Sets the server name.
-     *
-     * @param        serverName        <code>String</code>
-     * @see        <code>getServerName</code>
-     */
-    @ConfigProperty(
-            defaultValue = "localhost",
-            type = java.lang.String.class
-    )
-    public void setServerName(String serverName) {
-        spec.setDetail(DataSourceSpec.SERVERNAME, serverName);
-    }
-
-    /**
-     * Gets the server name.
-     *
-     * @return        serverName
-     * @see        <code>setServerName</code>
-     */
-    public String getServerName() {
-        return spec.getDetail(DataSourceSpec.SERVERNAME);
-    }
-
-    private String aliasTest;
-
-    @ConfigProperty(
-            defaultValue = "${ALIAS=ALIAS_TEST_PROPERTY}",
-            type = java.lang.String.class,
-            confidential = true
-    )
-    public void setAliasTest (String value) {
-        validateDealiasing("AliasTest", value);
-        System.out.println("setAliasTest called : " + value);
-        aliasTest = value;
-    }
-
-    public String getAliasTest () {
-        return aliasTest;
-    }
-
-    /**
-     * Sets the port number.
-     *
-     * @param        portNumber        <code>String</code>
-     * @see        <code>getPortNumber</code>
-     */
-    public void setportNumber(String portNumber) {
-        spec.setDetail(DataSourceSpec.PORTNUMBER, portNumber);
-    }
-
-    /**
-     * Gets the port number.
-     *
-     * @return        portNumber
-     * @see        <code>setPortNumber</code>
-     */
-    public String getportNumber() {
-        return spec.getDetail(DataSourceSpec.PORTNUMBER);
-    }
-
-    /**
-     * Sets the port number.
-     *
-     * @param        portNumber        <code>String</code>
-     * @see        <code>getPortNumber</code>
-     */
-    @ConfigProperty(
-            defaultValue = "1527",
-            type = java.lang.String.class
-    )
-    public void setPortNumber(String portNumber) {
-        spec.setDetail(DataSourceSpec.PORTNUMBER, portNumber);
-    }
-
-    /**
-     * Gets the port number.
-     *
-     * @return        portNumber
-     * @see        <code>setPortNumber</code>
-     */
-    public String getPortNumber() {
-        return spec.getDetail(DataSourceSpec.PORTNUMBER);
-    }
-
-    /**
-     * Sets the database name.
-     *
-     * @param        databaseName        <code>String</code>
-     * @see        <code>getDatabaseName</code>
-     */
-    public void setdatabaseName(String databaseName) {
-        spec.setDetail(DataSourceSpec.DATABASENAME, databaseName);
-    }
-
-    /**
-     * Gets the database name.
-     *
-     * @return        databaseName
-     * @see        <code>setDatabaseName</code>
-     */
-    public String getdatabaseName() {
-        return spec.getDetail(DataSourceSpec.DATABASENAME);
-    }
-
-    /**
-     * Sets the database name.
-     *
-     * @param        databaseName        <code>String</code>
-     * @see        <code>getDatabaseName</code>
-     */
-    @ConfigProperty(
-            defaultValue="testdb",
-            type=java.lang.String.class
-    )
-    public void setDatabaseName(String databaseName) {
-        spec.setDetail(DataSourceSpec.DATABASENAME, databaseName);
-    }
-
-    /**
-     * Gets the database name.
-     *
-     * @return        databaseName
-     * @see        <code>setDatabaseName</code>
-     */
-    public String getDatabaseName() {
-        return spec.getDetail(DataSourceSpec.DATABASENAME);
-    }
-
-    /**
-     * Sets the data source name.
-     *
-     * @param        dsn <code>String</code>
-     * @see        <code>getDataSourceName</code>
-     */
-    public void setdataSourceName(String dsn) {
-        spec.setDetail(DataSourceSpec.DATASOURCENAME, dsn);
-    }
-
-    /**
-     * Gets the data source name.
-     *
-     * @return        dsn
-     * @see        <code>setDataSourceName</code>
-     */
-    public String getdataSourceName() {
-        return spec.getDetail(DataSourceSpec.DATASOURCENAME);
-    }
-
-    /**
-     * Sets the data source name.
-     *
-     * @param        dsn <code>String</code>
-     * @see        <code>getDataSourceName</code>
-     */
-    @ConfigProperty(
-            type=java.lang.String.class
-    )
-    public void setDataSourceName(String dsn) {
-        spec.setDetail(DataSourceSpec.DATASOURCENAME, dsn);
-    }
-
-    /**
-     * Gets the data source name.
-     *
-     * @return        dsn
-     * @see        <code>setDataSourceName</code>
-     */
-    public String getDataSourceName() {
-        return spec.getDetail(DataSourceSpec.DATASOURCENAME);
-    }
-
-    /**
-     * Sets the description.
-     *
-     * @param        desc        <code>String</code>
-     * @see        <code>getDescription</code>
-     */
-    public void setdescription(String desc) {
-        spec.setDetail(DataSourceSpec.DESCRIPTION, desc);
-    }
-
-    /**
-     * Gets the description.
-     *
-     * @return        desc
-     * @see        <code>setDescription</code>
-     */
-    public String getdescription() {
-        return spec.getDetail(DataSourceSpec.DESCRIPTION);
-    }
-
-    /**
-     * Sets the description.
-     *
-     * @param        desc        <code>String</code>
-     * @see        <code>getDescription</code>
-     */
-    public void setDescription(String desc) {
-        spec.setDetail(DataSourceSpec.DESCRIPTION, desc);
-    }
-
-    /**
-     * Gets the description.
-     *
-     * @return        desc
-     * @see        <code>setDescription</code>
-     */
-    public String getDescription() {
-        return spec.getDetail(DataSourceSpec.DESCRIPTION);
-    }
-
-    /**
-     * Sets the network protocol.
-     *
-     * @param        nwProtocol        <code>String</code>
-     * @see        <code>getNetworkProtocol</code>
-     */
-    public void setnetworkProtocol(String nwProtocol) {
-        spec.setDetail(DataSourceSpec.NETWORKPROTOCOL, nwProtocol);
-    }
-
-    /**
-     * Gets the network protocol.
-     *
-     * @return        nwProtocol
-     * @see        <code>setNetworkProtocol</code>
-     */
-    public String getnetworkProtocol() {
-        return spec.getDetail(DataSourceSpec.NETWORKPROTOCOL);
-    }
-
-    /**
-     * Sets the network protocol.
-     *
-     * @param        nwProtocol        <code>String</code>
-     * @see        <code>getNetworkProtocol</code>
-     */
-    public void setNetworkProtocol(String nwProtocol) {
-        spec.setDetail(DataSourceSpec.NETWORKPROTOCOL, nwProtocol);
-    }
-
-    /**
-     * Gets the network protocol.
-     *
-     * @return        nwProtocol
-     * @see        <code>setNetworkProtocol</code>
-     */
-    public String getNetworkProtocol() {
-        return spec.getDetail(DataSourceSpec.NETWORKPROTOCOL);
-    }
-
-    /**
-     * Sets the role name.
-     *
-     * @param        roleName        <code>String</code>
-     * @see        <code>getRoleName</code>
-     */
-    public void setroleName(String roleName) {
-        spec.setDetail(DataSourceSpec.ROLENAME, roleName);
-    }
-
-    /**
-     * Gets the role name.
-     *
-     * @return        roleName
-     * @see        <code>setRoleName</code>
-     */
-    public String getroleName() {
-        return spec.getDetail(DataSourceSpec.ROLENAME);
-    }
-
-    /**
-     * Sets the role name.
-     *
-     * @param        roleName        <code>String</code>
-     * @see        <code>getRoleName</code>
-     */
-    public void setRoleName(String roleName) {
-        spec.setDetail(DataSourceSpec.ROLENAME, roleName);
-    }
-
-    /**
-     * Gets the role name.
-     *
-     * @return        roleName
-     * @see        <code>setRoleName</code>
-     */
-    public String getRoleName() {
-        return spec.getDetail(DataSourceSpec.ROLENAME);
-    }
-
-
-    /**
-     * Sets the login timeout.
-     *
-     * @param        loginTimeOut        <code>String</code>
-     * @see        <code>getLoginTimeOut</code>
-     */
-    public void setloginTimeOut(String loginTimeOut) {
-        spec.setDetail(DataSourceSpec.LOGINTIMEOUT, loginTimeOut);
-    }
-
-    /**
-     * Gets the login timeout.
-     *
-     * @return        loginTimeout
-     * @see        <code>setLoginTimeOut</code>
-     */
-    public String getloginTimeOut() {
-        return spec.getDetail(DataSourceSpec.LOGINTIMEOUT);
-    }
-
-    /**
-     * Sets the login timeout.
-     *
-     * @param        loginTimeOut        <code>String</code>
-     * @see        <code>getLoginTimeOut</code>
-     */
-    public void setLoginTimeOut(String loginTimeOut) {
-        spec.setDetail(DataSourceSpec.LOGINTIMEOUT, loginTimeOut);
-    }
-
-    /**
-     * Gets the login timeout.
-     *
-     * @return        loginTimeout
-     * @see        <code>setLoginTimeOut</code>
-     */
-    public String getLoginTimeOut() {
-        return spec.getDetail(DataSourceSpec.LOGINTIMEOUT);
-    }
-
-    /**
-     * Sets the delimiter.
-     *
-     * @param        delim        <code>String</code>
-     * @see        <code>getDelimiter</code>
-     */
-    public void setdelimiter(String delim) {
-        spec.setDetail(DataSourceSpec.DELIMITER, delim);
-    }
-
-    /**
-     * Gets the delimiter.
-     *
-     * @return        delim
-     * @see        <code>setDelimiter</code>
-     */
-    public String getdelimiter() {
-        return spec.getDetail(DataSourceSpec.DELIMITER);
-    }
-
-    /**
-     * Sets the delimiter.
-     *
-     * @param        delim        <code>String</code>
-     * @see        <code>getDelimiter</code>
-     */
-    @ConfigProperty(
-            defaultValue = "#",
-            type = java.lang.String.class
-    )
-    public void setDelimiter(String delim) {
-        spec.setDetail(DataSourceSpec.DELIMITER, delim);
-    }
-
-    /**
-     * Gets the delimiter.
-     *
-     * @return        delim
-     * @see        <code>setDelimiter</code>
-     */
-    public String getDelimiter() {
-        return spec.getDetail(DataSourceSpec.DELIMITER);
-    }
-
-    /**
-     * Sets the driver specific properties.
-     *
-     * @param        driverProps        <code>String</code>
-     * @see        <code>getDriverProperties</code>
-     */
-    public void setdriverProperties(String driverProps) {
-        spec.setDetail(DataSourceSpec.DRIVERPROPERTIES, driverProps);
-    }
-
-    /**
-     * Gets the driver specific properties.
-     *
-     * @return        driverProps
-     * @see        <code>setDriverProperties</code>
-     */
-    public String getdriverProperties() {
-        return spec.getDetail(DataSourceSpec.DRIVERPROPERTIES);
-    }
-
-    /**
-     * Sets the driver specific properties.
-     *
-     * @param        driverProps        <code>String</code>
-     * @see        <code>getDriverProperties</code>
-     */
-    public void setDriverProperties(String driverProps) {
-        spec.setDetail(DataSourceSpec.DRIVERPROPERTIES, driverProps);
-    }
-
-    /**
-     * Gets the driver specific properties.
-     *
-     * @return        driverProps
-     * @see        <code>setDriverProperties</code>
-     */
-    public String getDriverProperties() {
-        return spec.getDetail(DataSourceSpec.DRIVERPROPERTIES);
-    }
-
-    /*
-     * Check if the PasswordCredential passed for this get connection
-     * request is equal to the user/passwd of this connection pool.
-     */
-    private boolean isEqual( PasswordCredential pc, String user,
-        String password) {
-
-        //if equal get direct connection else
-        //get connection with user and password.
-
-        if (user == null && pc == null) {
-            return true;
-        }
-
-        if ( user == null && pc != null ) {
-            return false;
-        }
-
-        if( pc == null ) {
-            return true;
-        }
-
-        if ( user.equals( pc.getUserName() ) ) {
-            if ( password == null && pc.getPassword() == null ) {
-                return true;
-            }
-        }
-
-        if ( user.equals(pc.getUserName()) && password.equals(pc.getPassword()) ) {
-            return true;
-        }
-
-
-        return false;
-    }
-}
diff --git a/appserver/tests/appserv-tests/devtests/connector/v3/annotation-embeddedweb/ra/src/com/sun/jdbcra/spi/DataSource.java b/appserver/tests/appserv-tests/devtests/connector/v3/annotation-embeddedweb/ra/src/com/sun/jdbcra/spi/DataSource.java
deleted file mode 100755
index 4436215..0000000
--- a/appserver/tests/appserv-tests/devtests/connector/v3/annotation-embeddedweb/ra/src/com/sun/jdbcra/spi/DataSource.java
+++ /dev/null
@@ -1,212 +0,0 @@
-/*
- * Copyright (c) 2003, 2018 Oracle and/or its affiliates. All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v. 2.0, which is available at
- * http://www.eclipse.org/legal/epl-2.0.
- *
- * This Source Code may also be made available under the following Secondary
- * Licenses when the conditions for such availability set forth in the
- * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
- * version 2 with the GNU Classpath Exception, which is available at
- * https://www.gnu.org/software/classpath/license.html.
- *
- * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
- */
-
-package com.sun.jdbcra.spi;
-
-import java.io.PrintWriter;
-import java.sql.Connection;
-import java.sql.SQLException;
-import java.sql.SQLFeatureNotSupportedException;
-import jakarta.resource.spi.ManagedConnectionFactory;
-import jakarta.resource.spi.ConnectionManager;
-import jakarta.resource.ResourceException;
-import javax.naming.Reference;
-
-import java.util.logging.Logger;
-import java.util.logging.Level;
-/**
- * Holds the <code>java.sql.Connection</code> object, which is to be
- * passed to the application program.
- *
- * @version        1.0, 02/07/31
- * @author        Binod P.G
- */
-public class DataSource implements javax.sql.DataSource, java.io.Serializable,
-                com.sun.appserv.jdbcra.DataSource, jakarta.resource.Referenceable{
-
-    private ManagedConnectionFactory mcf;
-    private ConnectionManager cm;
-    private int loginTimeout;
-    private PrintWriter logWriter;
-    private String description;
-    private Reference reference;
-
-    private static Logger _logger;
-    static {
-        _logger = Logger.getAnonymousLogger();
-    }
-    private boolean debug = false;
-
-    /**
-     * Constructs <code>DataSource</code> object. This is created by the
-     * <code>ManagedConnectionFactory</code> object.
-     *
-     * @param        mcf        <code>ManagedConnectionFactory</code> object
-     *                        creating this object.
-     * @param        cm        <code>ConnectionManager</code> object either associated
-     *                        with Application server or Resource Adapter.
-     */
-    public DataSource (ManagedConnectionFactory mcf, ConnectionManager cm) {
-            this.mcf = mcf;
-            if (cm == null) {
-                this.cm = (ConnectionManager) new com.sun.jdbcra.spi.ConnectionManager();
-            } else {
-                this.cm = cm;
-            }
-    }
-
-    /**
-     * Retrieves the <code> Connection </code> object.
-     *
-     * @return        <code> Connection </code> object.
-     * @throws SQLException In case of an error.
-     */
-    public Connection getConnection() throws SQLException {
-            try {
-                return (Connection) cm.allocateConnection(mcf,null);
-            } catch (ResourceException re) {
-// This is temporary. This needs to be changed to SEVERE after TP
-            _logger.log(Level.WARNING, "jdbc.exc_get_conn", re.getMessage());
-            re.printStackTrace();
-                throw new SQLException (re.getMessage());
-            }
-    }
-
-    /**
-     * Retrieves the <code> Connection </code> object.
-     *
-     * @param        user        User name for the Connection.
-     * @param        pwd        Password for the Connection.
-     * @return        <code> Connection </code> object.
-     * @throws SQLException In case of an error.
-     */
-    public Connection getConnection(String user, String pwd) throws SQLException {
-            try {
-                ConnectionRequestInfo info = new ConnectionRequestInfo (user, pwd);
-                return (Connection) cm.allocateConnection(mcf,info);
-            } catch (ResourceException re) {
-// This is temporary. This needs to be changed to SEVERE after TP
-            _logger.log(Level.WARNING, "jdbc.exc_get_conn", re.getMessage());
-                throw new SQLException (re.getMessage());
-            }
-    }
-
-    /**
-     * Retrieves the actual SQLConnection from the Connection wrapper
-     * implementation of SunONE application server. If an actual connection is
-     * supplied as argument, then it will be just returned.
-     *
-     * @param con Connection obtained from <code>Datasource.getConnection()</code>
-     * @return <code>java.sql.Connection</code> implementation of the driver.
-     * @throws <code>java.sql.SQLException</code> If connection cannot be obtained.
-     */
-    public Connection getConnection(Connection con) throws SQLException {
-
-        Connection driverCon = con;
-        if (con instanceof com.sun.jdbcra.spi.ConnectionHolder) {
-           driverCon = ((com.sun.jdbcra.spi.ConnectionHolder) con).getConnection();
-        }
-
-        return driverCon;
-    }
-
-    /**
-     * Get the login timeout
-     *
-     * @return login timeout.
-     * @throws        SQLException        If a database error occurs.
-     */
-    public int getLoginTimeout() throws SQLException{
-            return        loginTimeout;
-    }
-
-    /**
-     * Set the login timeout
-     *
-     * @param        loginTimeout        Login timeout.
-     * @throws        SQLException        If a database error occurs.
-     */
-    public void setLoginTimeout(int loginTimeout) throws SQLException{
-            this.loginTimeout = loginTimeout;
-    }
-
-    /**
-     * Get the logwriter object.
-     *
-     * @return <code> PrintWriter </code> object.
-     * @throws        SQLException        If a database error occurs.
-     */
-    public PrintWriter getLogWriter() throws SQLException{
-            return        logWriter;
-    }
-
-    /**
-     * Set the logwriter on this object.
-     *
-     * @param <code>PrintWriter</code> object.
-     * @throws        SQLException        If a database error occurs.
-     */
-    public void setLogWriter(PrintWriter logWriter) throws SQLException{
-            this.logWriter = logWriter;
-    }
-
-    public Logger getParentLogger() throws SQLFeatureNotSupportedException{
-      throw new SQLFeatureNotSupportedException("Do not support Java 7 feature.");
-    }
-    /**
-     * Retrieves the description.
-     *
-     * @return        Description about the DataSource.
-     */
-    public String getDescription() {
-            return description;
-    }
-
-    /**
-     * Set the description.
-     *
-     * @param description Description about the DataSource.
-     */
-    public void setDescription(String description) {
-            this.description = description;
-    }
-
-    /**
-     * Get the reference.
-     *
-     * @return <code>Reference</code>object.
-     */
-    public Reference getReference() {
-            return reference;
-    }
-
-    /**
-     * Get the reference.
-     *
-     * @param        reference <code>Reference</code> object.
-     */
-    public void setReference(Reference reference) {
-            this.reference = reference;
-    }
-
-    public <T> T unwrap(Class<T> iface) throws SQLException {
-        return null;  //To change body of implemented methods use File | Settings | File Templates.
-    }
-
-    public boolean isWrapperFor(Class<?> iface) throws SQLException {
-        return false;  //To change body of implemented methods use File | Settings | File Templates.
-    }
-}
diff --git a/appserver/tests/appserv-tests/devtests/connector/v3/annotation-embeddedweb/ra/src/com/sun/jdbcra/spi/JdbcSetupAdmin.java b/appserver/tests/appserv-tests/devtests/connector/v3/annotation-embeddedweb/ra/src/com/sun/jdbcra/spi/JdbcSetupAdmin.java
deleted file mode 100755
index bec0d6b..0000000
--- a/appserver/tests/appserv-tests/devtests/connector/v3/annotation-embeddedweb/ra/src/com/sun/jdbcra/spi/JdbcSetupAdmin.java
+++ /dev/null
@@ -1,39 +0,0 @@
-/*
- * Copyright (c) 2017, 2018 Oracle and/or its affiliates. All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v. 2.0, which is available at
- * http://www.eclipse.org/legal/epl-2.0.
- *
- * This Source Code may also be made available under the following Secondary
- * Licenses when the conditions for such availability set forth in the
- * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
- * version 2 with the GNU Classpath Exception, which is available at
- * https://www.gnu.org/software/classpath/license.html.
- *
- * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
- */
-
-package com.sun.jdbcra.spi;
-
-public interface JdbcSetupAdmin {
-
-    public void setTableName(String db);
-
-    public String getTableName();
-
-    public void setJndiName(String name);
-
-    public String getJndiName();
-
-    public void setSchemaName(String name);
-
-    public String getSchemaName();
-
-    public void setNoOfRows(Integer i);
-
-    public Integer getNoOfRows();
-
-    public boolean checkSetup();
-
-}
diff --git a/appserver/tests/appserv-tests/devtests/connector/v3/annotation-embeddedweb/ra/src/com/sun/jdbcra/spi/JdbcSetupAdminImpl.java b/appserver/tests/appserv-tests/devtests/connector/v3/annotation-embeddedweb/ra/src/com/sun/jdbcra/spi/JdbcSetupAdminImpl.java
deleted file mode 100755
index 0ade38f..0000000
--- a/appserver/tests/appserv-tests/devtests/connector/v3/annotation-embeddedweb/ra/src/com/sun/jdbcra/spi/JdbcSetupAdminImpl.java
+++ /dev/null
@@ -1,201 +0,0 @@
-/*
- * Copyright (c) 2017, 2018 Oracle and/or its affiliates. All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v. 2.0, which is available at
- * http://www.eclipse.org/legal/epl-2.0.
- *
- * This Source Code may also be made available under the following Secondary
- * Licenses when the conditions for such availability set forth in the
- * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
- * version 2 with the GNU Classpath Exception, which is available at
- * https://www.gnu.org/software/classpath/license.html.
- *
- * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
- */
-
-package com.sun.jdbcra.spi;
-
-import javax.naming.*;
-import javax.sql.*;
-import jakarta.resource.spi.Activation;
-import jakarta.resource.spi.AdministeredObject;
-import jakarta.resource.spi.ConfigProperty;
-import java.sql.*;
-// import javax.sql.DataSource;
-@AdministeredObject(
-        adminObjectInterfaces = {com.sun.jdbcra.spi.JdbcSetupAdmin.class}
-)
-public class JdbcSetupAdminImpl implements JdbcSetupAdmin {
-
-    private String tableName;
-
-    private String jndiName;
-
-    private String schemaName;
-
-    private Integer noOfRows;
-
-    @ConfigProperty(
-            type = java.lang.String.class
-    )
-    public void setTableName(String db) {
-        tableName = db;
-    }
-
-    public String getTableName(){
-        return tableName;
-    }
-
-    @ConfigProperty(
-            type = java.lang.String.class
-    )
-    public void setJndiName(String name){
-        jndiName = name;
-    }
-
-    public String getJndiName() {
-        return jndiName;
-    }
-
-    @ConfigProperty(
-            type = java.lang.String.class
-    )
-    public void setSchemaName(String name){
-        schemaName = name;
-    }
-
-    public String getSchemaName() {
-        return schemaName;
-    }
-
-    @ConfigProperty(
-            type = java.lang.Integer.class,
-            defaultValue = "0"
-    )
-    public void setNoOfRows(Integer i) {
-        System.out.println("Setting no of rows :" + i);
-        noOfRows = i;
-    }
-
-    public Integer getNoOfRows() {
-        return noOfRows;
-    }
-
-private void printHierarchy(ClassLoader cl, int cnt){
-while(cl != null) {
-        for(int i =0; i < cnt; i++)
-                System.out.print(" " );
-        System.out.println("PARENT :" + cl);
-        cl = cl.getParent();
-        cnt += 3;
-}
-}
-
-private void compareHierarchy(ClassLoader cl1, ClassLoader cl2 , int cnt){
-while(cl1 != null || cl2 != null) {
-        for(int i =0; i < cnt; i++)
-                System.out.print(" " );
-        System.out.println("PARENT of ClassLoader 1 :" + cl1);
-        System.out.println("PARENT of ClassLoader 2 :" + cl2);
-        System.out.println("EQUALS : " + (cl1 == cl2));
-        cl1 = cl1.getParent();
-        cl2 = cl2.getParent();
-        cnt += 3;
-}
-}
-
-
-    public boolean checkSetup(){
-
-        if (jndiName== null || jndiName.trim().equals("")) {
-           return false;
-        }
-
-        if (tableName== null || tableName.trim().equals("")) {
-           return false;
-        }
-
-        Connection con = null;
-        Statement s = null;
-        ResultSet rs = null;
-        boolean b = false;
-        try {
-            InitialContext ic = new InitialContext();
-        //debug
-        Class clz = DataSource.class;
-/*
-        if(clz.getClassLoader() != null) {
-                System.out.println("DataSource's clasxs : " +  clz.getName() +  " classloader " + clz.getClassLoader());
-                printHierarchy(clz.getClassLoader().getParent(), 8);
-        }
-        Class cls = ic.lookup(jndiName).getClass();
-        System.out.println("Looked up class's : " + cls.getPackage() + ":" + cls.getName()  + " classloader "  + cls.getClassLoader());
-        printHierarchy(cls.getClassLoader().getParent(), 8);
-
-        System.out.println("Classloaders equal ? " +  (clz.getClassLoader() == cls.getClassLoader()));
-        System.out.println("&*&*&*&* Comparing Hierachy DataSource vs lookedup");
-        if(clz.getClassLoader() != null) {
-                compareHierarchy(clz.getClassLoader(), cls.getClassLoader(), 8);
-        }
-
-        System.out.println("Before lookup");
-*/
-        Object o = ic.lookup(jndiName);
-//        System.out.println("after lookup lookup");
-
-            DataSource ds = (DataSource)o ;
-/*
-        System.out.println("after cast");
-        System.out.println("---------- Trying our Stuff !!!");
-        try {
-                Class o1 = (Class.forName("com.sun.jdbcra.spi.DataSource"));
-                ClassLoader cl1 = o1.getClassLoader();
-                ClassLoader cl2 = DataSource.class.getClassLoader();
-                System.out.println("Cl1 == Cl2" + (cl1 == cl2));
-                System.out.println("Classes equal" + (DataSource.class == o1));
-        } catch (Exception ex) {
-                ex.printStackTrace();
-        }
-*/
-            con = ds.getConnection();
-            String fullTableName = tableName;
-            if (schemaName != null && (!(schemaName.trim().equals("")))) {
-                fullTableName = schemaName.trim() + "." + fullTableName;
-            }
-            String qry = "select * from " + fullTableName;
-
-            System.out.println("Executing query :" + qry);
-
-            s = con.createStatement();
-            rs = s.executeQuery(qry);
-
-            int i = 0;
-            if (rs.next()) {
-                i++;
-            }
-
-            System.out.println("No of rows found:" + i);
-            System.out.println("No of rows expected:" + noOfRows);
-
-            if (i == noOfRows.intValue()) {
-               b = true;
-            } else {
-               b = false;
-            }
-        } catch(Exception e) {
-            e.printStackTrace();
-            b = false;
-        } finally {
-            try {
-                if (rs != null) rs.close();
-                if (s != null) s.close();
-                if (con != null) con.close();
-            } catch (Exception e) {
-            }
-        }
-        System.out.println("Returning setup :" +b);
-        return b;
-    }
-
-}
diff --git a/appserver/tests/appserv-tests/devtests/connector/v3/annotation-embeddedweb/ra/src/com/sun/jdbcra/spi/LocalTransaction.java b/appserver/tests/appserv-tests/devtests/connector/v3/annotation-embeddedweb/ra/src/com/sun/jdbcra/spi/LocalTransaction.java
deleted file mode 100755
index ce8635b..0000000
--- a/appserver/tests/appserv-tests/devtests/connector/v3/annotation-embeddedweb/ra/src/com/sun/jdbcra/spi/LocalTransaction.java
+++ /dev/null
@@ -1,96 +0,0 @@
-/*
- * Copyright (c) 2003, 2018 Oracle and/or its affiliates. All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v. 2.0, which is available at
- * http://www.eclipse.org/legal/epl-2.0.
- *
- * This Source Code may also be made available under the following Secondary
- * Licenses when the conditions for such availability set forth in the
- * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
- * version 2 with the GNU Classpath Exception, which is available at
- * https://www.gnu.org/software/classpath/license.html.
- *
- * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
- */
-
-package com.sun.jdbcra.spi;
-
-import com.sun.jdbcra.spi.ManagedConnection;
-import jakarta.resource.ResourceException;
-import jakarta.resource.spi.LocalTransactionException;
-
-/**
- * <code>LocalTransaction</code> implementation for Generic JDBC Connector.
- *
- * @version        1.0, 02/08/03
- * @author        Evani Sai Surya Kiran
- */
-public class LocalTransaction implements jakarta.resource.spi.LocalTransaction {
-
-    private ManagedConnection mc;
-
-    /**
-     * Constructor for <code>LocalTransaction</code>.
-     * @param        mc        <code>ManagedConnection</code> that returns
-     *                        this <code>LocalTransaction</code> object as
-     *                        a result of <code>getLocalTransaction</code>
-     */
-    public LocalTransaction(ManagedConnection mc) {
-        this.mc = mc;
-    }
-
-    /**
-     * Begin a local transaction.
-     *
-     * @throws        LocalTransactionException        if there is an error in changing
-     *                                                the autocommit mode of the physical
-     *                                                connection
-     */
-    public void begin() throws ResourceException {
-        //GJCINT
-        mc.transactionStarted();
-        try {
-            mc.getActualConnection().setAutoCommit(false);
-        } catch(java.sql.SQLException sqle) {
-            throw new LocalTransactionException(sqle.getMessage());
-        }
-    }
-
-    /**
-     * Commit a local transaction.
-     * @throws        LocalTransactionException        if there is an error in changing
-     *                                                the autocommit mode of the physical
-     *                                                connection or committing the transaction
-     */
-    public void commit() throws ResourceException {
-        Exception e = null;
-        try {
-            mc.getActualConnection().commit();
-            mc.getActualConnection().setAutoCommit(true);
-        } catch(java.sql.SQLException sqle) {
-            throw new LocalTransactionException(sqle.getMessage());
-        }
-        //GJCINT
-        mc.transactionCompleted();
-    }
-
-    /**
-     * Rollback a local transaction.
-     *
-     * @throws        LocalTransactionException        if there is an error in changing
-     *                                                the autocommit mode of the physical
-     *                                                connection or rolling back the transaction
-     */
-    public void rollback() throws ResourceException {
-        try {
-            mc.getActualConnection().rollback();
-            mc.getActualConnection().setAutoCommit(true);
-        } catch(java.sql.SQLException sqle) {
-            throw new LocalTransactionException(sqle.getMessage());
-        }
-        //GJCINT
-        mc.transactionCompleted();
-    }
-
-}
diff --git a/appserver/tests/appserv-tests/devtests/connector/v3/annotation-embeddedweb/ra/src/com/sun/jdbcra/spi/ManagedConnection.java b/appserver/tests/appserv-tests/devtests/connector/v3/annotation-embeddedweb/ra/src/com/sun/jdbcra/spi/ManagedConnection.java
deleted file mode 100755
index f0443d0..0000000
--- a/appserver/tests/appserv-tests/devtests/connector/v3/annotation-embeddedweb/ra/src/com/sun/jdbcra/spi/ManagedConnection.java
+++ /dev/null
@@ -1,664 +0,0 @@
-/*
- * Copyright (c) 2003, 2018 Oracle and/or its affiliates. All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v. 2.0, which is available at
- * http://www.eclipse.org/legal/epl-2.0.
- *
- * This Source Code may also be made available under the following Secondary
- * Licenses when the conditions for such availability set forth in the
- * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
- * version 2 with the GNU Classpath Exception, which is available at
- * https://www.gnu.org/software/classpath/license.html.
- *
- * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
- */
-
-package com.sun.jdbcra.spi;
-
-import jakarta.resource.spi.*;
-import jakarta.resource.*;
-import javax.security.auth.Subject;
-import java.io.PrintWriter;
-import javax.transaction.xa.XAResource;
-import java.util.Set;
-import java.util.Hashtable;
-import java.util.Iterator;
-import javax.sql.PooledConnection;
-import javax.sql.XAConnection;
-import java.sql.Connection;
-import java.sql.SQLException;
-import jakarta.resource.NotSupportedException;
-import jakarta.resource.spi.security.PasswordCredential;
-import com.sun.jdbcra.spi.ConnectionRequestInfo;
-import com.sun.jdbcra.spi.LocalTransaction;
-import com.sun.jdbcra.spi.ManagedConnectionMetaData;
-import com.sun.jdbcra.util.SecurityUtils;
-import com.sun.jdbcra.spi.ConnectionHolder;
-import java.util.logging.Logger;
-import java.util.logging.Level;
-
-/**
- * <code>ManagedConnection</code> implementation for Generic JDBC Connector.
- *
- * @version        1.0, 02/07/22
- * @author        Evani Sai Surya Kiran
- */
-public class ManagedConnection implements jakarta.resource.spi.ManagedConnection {
-
-    public static final int ISNOTAPOOLEDCONNECTION = 0;
-    public static final int ISPOOLEDCONNECTION = 1;
-    public static final int ISXACONNECTION = 2;
-
-    private boolean isDestroyed = false;
-    private boolean isUsable = true;
-
-    private int connectionType = ISNOTAPOOLEDCONNECTION;
-    private PooledConnection pc = null;
-    private java.sql.Connection actualConnection = null;
-    private Hashtable connectionHandles;
-    private PrintWriter logWriter;
-    private PasswordCredential passwdCredential;
-    private jakarta.resource.spi.ManagedConnectionFactory mcf = null;
-    private XAResource xar = null;
-    public ConnectionHolder activeConnectionHandle;
-
-    //GJCINT
-    private int isolationLevelWhenCleaned;
-    private boolean isClean = false;
-
-    private boolean transactionInProgress = false;
-
-    private ConnectionEventListener listener = null;
-
-    private ConnectionEvent ce = null;
-
-    private static Logger _logger;
-    static {
-        _logger = Logger.getAnonymousLogger();
-    }
-
-    /**
-     * Constructor for <code>ManagedConnection</code>. The pooledConn parameter is expected
-     * to be null and sqlConn parameter is the actual connection in case where
-     * the actual connection is got from a non pooled datasource object. The
-     * pooledConn parameter is expected to be non null and sqlConn parameter
-     * is expected to be null in the case where the datasource object is a
-     * connection pool datasource or an xa datasource.
-     *
-     * @param        pooledConn        <code>PooledConnection</code> object in case the
-     *                                physical connection is to be obtained from a pooled
-     *                                <code>DataSource</code>; null otherwise
-     * @param        sqlConn        <code>java.sql.Connection</code> object in case the physical
-     *                        connection is to be obtained from a non pooled <code>DataSource</code>;
-     *                        null otherwise
-     * @param        passwdCred        object conatining the
-     *                                user and password for allocating the connection
-     * @throws        ResourceException        if the <code>ManagedConnectionFactory</code> object
-     *                                        that created this <code>ManagedConnection</code> object
-     *                                        is not the same as returned by <code>PasswordCredential</code>
-     *                                        object passed
-     */
-    public ManagedConnection(PooledConnection pooledConn, java.sql.Connection sqlConn,
-        PasswordCredential passwdCred, jakarta.resource.spi.ManagedConnectionFactory mcf) throws ResourceException {
-        if(pooledConn == null && sqlConn == null) {
-            throw new ResourceException("Connection object cannot be null");
-        }
-
-        if (connectionType == ISNOTAPOOLEDCONNECTION ) {
-            actualConnection = sqlConn;
-        }
-
-        pc = pooledConn;
-        connectionHandles = new Hashtable();
-        passwdCredential = passwdCred;
-        this.mcf = mcf;
-        if(passwdCredential != null &&
-            this.mcf.equals(passwdCredential.getManagedConnectionFactory()) == false) {
-            throw new ResourceException("The ManagedConnectionFactory that has created this " +
-                "ManagedConnection is not the same as the ManagedConnectionFactory returned by" +
-                    " the PasswordCredential for this ManagedConnection");
-        }
-        logWriter = mcf.getLogWriter();
-        activeConnectionHandle = null;
-        ce = new ConnectionEvent(this, ConnectionEvent.CONNECTION_CLOSED);
-    }
-
-    /**
-     * Adds a connection event listener to the ManagedConnection instance.
-     *
-     * @param        listener        <code>ConnectionEventListener</code>
-     * @see <code>removeConnectionEventListener</code>
-     */
-    public void addConnectionEventListener(ConnectionEventListener listener) {
-        this.listener = listener;
-    }
-
-    /**
-     * Used by the container to change the association of an application-level
-     * connection handle with a <code>ManagedConnection</code> instance.
-     *
-     * @param        connection        <code>ConnectionHolder</code> to be associated with
-     *                                this <code>ManagedConnection</code> instance
-     * @throws        ResourceException        if the physical connection is no more
-     *                                        valid or the connection handle passed is null
-     */
-    public void associateConnection(Object connection) throws ResourceException {
-        if(logWriter != null) {
-            logWriter.println("In associateConnection");
-        }
-        checkIfValid();
-        if(connection == null) {
-            throw new ResourceException("Connection handle cannot be null");
-        }
-        ConnectionHolder ch = (ConnectionHolder) connection;
-
-        com.sun.jdbcra.spi.ManagedConnection mc = (com.sun.jdbcra.spi.ManagedConnection)ch.getManagedConnection();
-        mc.activeConnectionHandle = null;
-        isClean = false;
-
-        ch.associateConnection(actualConnection, this);
-        /**
-         * The expectation from the above method is that the connection holder
-         * replaces the actual sql connection it holds with the sql connection
-         * handle being passed in this method call. Also, it replaces the reference
-         * to the ManagedConnection instance with this ManagedConnection instance.
-         * Any previous statements and result sets also need to be removed.
-         */
-
-         if(activeConnectionHandle != null) {
-            activeConnectionHandle.setActive(false);
-        }
-
-        ch.setActive(true);
-        activeConnectionHandle = ch;
-    }
-
-    /**
-     * Application server calls this method to force any cleanup on the
-     * <code>ManagedConnection</code> instance. This method calls the invalidate
-     * method on all ConnectionHandles associated with this <code>ManagedConnection</code>.
-     *
-     * @throws        ResourceException        if the physical connection is no more valid
-     */
-    public void cleanup() throws ResourceException {
-        if(logWriter != null) {
-                logWriter.println("In cleanup");
-        }
-        checkIfValid();
-
-        /**
-         * may need to set the autocommit to true for the non-pooled case.
-         */
-        //GJCINT
-        //if (actualConnection != null) {
-        if (connectionType == ISNOTAPOOLEDCONNECTION ) {
-        try {
-            isolationLevelWhenCleaned = actualConnection.getTransactionIsolation();
-        } catch(SQLException sqle) {
-            throw new ResourceException("The isolation level for the physical connection "
-                + "could not be retrieved");
-        }
-        }
-        isClean = true;
-
-        activeConnectionHandle = null;
-    }
-
-    /**
-     * This method removes all the connection handles from the table
-     * of connection handles and invalidates all of them so that any
-     * operation on those connection handles throws an exception.
-     *
-     * @throws        ResourceException        if there is a problem in retrieving
-     *                                         the connection handles
-     */
-    private void invalidateAllConnectionHandles() throws ResourceException {
-        Set handles = connectionHandles.keySet();
-        Iterator iter = handles.iterator();
-        try {
-            while(iter.hasNext()) {
-                ConnectionHolder ch = (ConnectionHolder)iter.next();
-                ch.invalidate();
-            }
-        } catch(java.util.NoSuchElementException nsee) {
-            throw new ResourceException("Could not find the connection handle: "+ nsee.getMessage());
-        }
-        connectionHandles.clear();
-    }
-
-    /**
-     * Destroys the physical connection to the underlying resource manager.
-     *
-     * @throws        ResourceException        if there is an error in closing the physical connection
-     */
-    public void destroy() throws ResourceException{
-        if(logWriter != null) {
-            logWriter.println("In destroy");
-        }
-        //GJCINT
-        if(isDestroyed == true) {
-            return;
-        }
-
-        activeConnectionHandle = null;
-        try {
-            if(connectionType == ISXACONNECTION || connectionType == ISPOOLEDCONNECTION) {
-                pc.close();
-                pc = null;
-                actualConnection = null;
-            } else {
-                actualConnection.close();
-                actualConnection = null;
-            }
-        } catch(SQLException sqle) {
-            isDestroyed = true;
-            passwdCredential = null;
-            connectionHandles = null;
-            throw new ResourceException("The following exception has occured during destroy: "
-                + sqle.getMessage());
-        }
-        isDestroyed = true;
-        passwdCredential = null;
-        connectionHandles = null;
-    }
-
-    /**
-     * Creates a new connection handle for the underlying physical
-     * connection represented by the <code>ManagedConnection</code> instance.
-     *
-     * @param        subject        <code>Subject</code> parameter needed for authentication
-     * @param        cxReqInfo        <code>ConnectionRequestInfo</code> carries the user
-     *                                and password required for getting this connection.
-     * @return        Connection        the connection handle <code>Object</code>
-     * @throws        ResourceException        if there is an error in allocating the
-     *                                         physical connection from the pooled connection
-     * @throws        SecurityException        if there is a mismatch between the
-     *                                         password credentials or reauthentication is requested
-     */
-    public Object getConnection(Subject sub, jakarta.resource.spi.ConnectionRequestInfo cxReqInfo)
-        throws ResourceException {
-        if(logWriter != null) {
-            logWriter.println("In getConnection");
-        }
-        checkIfValid();
-        com.sun.jdbcra.spi.ConnectionRequestInfo cxRequestInfo = (com.sun.jdbcra.spi.ConnectionRequestInfo) cxReqInfo;
-        PasswordCredential passwdCred = SecurityUtils.getPasswordCredential(this.mcf, sub, cxRequestInfo);
-
-        if(SecurityUtils.isPasswordCredentialEqual(this.passwdCredential, passwdCred) == false) {
-            throw new jakarta.resource.spi.SecurityException("Re-authentication not supported");
-        }
-
-        //GJCINT
-        getActualConnection();
-
-        /**
-         * The following code in the if statement first checks if this ManagedConnection
-         * is clean or not. If it is, it resets the transaction isolation level to what
-         * it was when it was when this ManagedConnection was cleaned up depending on the
-         * ConnectionRequestInfo passed.
-         */
-        if(isClean) {
-            ((com.sun.jdbcra.spi.ManagedConnectionFactory)mcf).resetIsolation(this, isolationLevelWhenCleaned);
-        }
-
-
-        ConnectionHolder connHolderObject = new ConnectionHolder(actualConnection, this);
-        isClean=false;
-
-        if(activeConnectionHandle != null) {
-            activeConnectionHandle.setActive(false);
-        }
-
-        connHolderObject.setActive(true);
-        activeConnectionHandle = connHolderObject;
-
-        return connHolderObject;
-
-    }
-
-    /**
-     * Returns an <code>LocalTransaction</code> instance. The <code>LocalTransaction</code> interface
-     * is used by the container to manage local transactions for a RM instance.
-     *
-     * @return        <code>LocalTransaction</code> instance
-     * @throws        ResourceException        if the physical connection is not valid
-     */
-    public jakarta.resource.spi.LocalTransaction getLocalTransaction() throws ResourceException {
-        if(logWriter != null) {
-            logWriter.println("In getLocalTransaction");
-        }
-        checkIfValid();
-        return new com.sun.jdbcra.spi.LocalTransaction(this);
-    }
-
-    /**
-     * Gets the log writer for this <code>ManagedConnection</code> instance.
-     *
-     * @return        <code>PrintWriter</code> instance associated with this
-     *                <code>ManagedConnection</code> instance
-     * @throws        ResourceException        if the physical connection is not valid
-     * @see <code>setLogWriter</code>
-     */
-    public PrintWriter getLogWriter() throws ResourceException {
-        if(logWriter != null) {
-                logWriter.println("In getLogWriter");
-        }
-        checkIfValid();
-
-        return logWriter;
-    }
-
-    /**
-     * Gets the metadata information for this connection's underlying EIS
-     * resource manager instance.
-     *
-     * @return        <code>ManagedConnectionMetaData</code> instance
-     * @throws        ResourceException        if the physical connection is not valid
-     */
-    public jakarta.resource.spi.ManagedConnectionMetaData getMetaData() throws ResourceException {
-        if(logWriter != null) {
-                logWriter.println("In getMetaData");
-        }
-        checkIfValid();
-
-        return new com.sun.jdbcra.spi.ManagedConnectionMetaData(this);
-    }
-
-    /**
-     * Returns an <code>XAResource</code> instance.
-     *
-     * @return        <code>XAResource</code> instance
-     * @throws        ResourceException        if the physical connection is not valid or
-     *                                        there is an error in allocating the
-     *                                        <code>XAResource</code> instance
-     * @throws        NotSupportedException        if underlying datasource is not an
-     *                                        <code>XADataSource</code>
-     */
-    public XAResource getXAResource() throws ResourceException {
-        if(logWriter != null) {
-                logWriter.println("In getXAResource");
-        }
-        checkIfValid();
-
-        if(connectionType == ISXACONNECTION) {
-            try {
-                if(xar == null) {
-                    /**
-                     * Using the wrapper XAResource.
-                     */
-                    xar = new com.sun.jdbcra.spi.XAResourceImpl(((XAConnection)pc).getXAResource(), this);
-                }
-                return xar;
-            } catch(SQLException sqle) {
-                throw new ResourceException(sqle.getMessage());
-            }
-        } else {
-            throw new NotSupportedException("Cannot get an XAResource from a non XA connection");
-        }
-    }
-
-    /**
-     * Removes an already registered connection event listener from the
-     * <code>ManagedConnection</code> instance.
-     *
-     * @param        listener        <code>ConnectionEventListener</code> to be removed
-     * @see <code>addConnectionEventListener</code>
-     */
-    public void removeConnectionEventListener(ConnectionEventListener listener) {
-        listener = null;
-    }
-
-    /**
-     * This method is called from XAResource wrapper object
-     * when its XAResource.start() has been called or from
-     * LocalTransaction object when its begin() method is called.
-     */
-    void transactionStarted() {
-        transactionInProgress = true;
-    }
-
-    /**
-     * This method is called from XAResource wrapper object
-     * when its XAResource.end() has been called or from
-     * LocalTransaction object when its end() method is called.
-     */
-    void transactionCompleted() {
-        transactionInProgress = false;
-        if(connectionType == ISPOOLEDCONNECTION || connectionType == ISXACONNECTION) {
-            try {
-                isolationLevelWhenCleaned = actualConnection.getTransactionIsolation();
-            } catch(SQLException sqle) {
-                //check what to do in this case!!
-                _logger.log(Level.WARNING, "jdbc.notgot_tx_isolvl");
-            }
-
-            try {
-                actualConnection.close();
-                actualConnection = null;
-            } catch(SQLException sqle) {
-                actualConnection = null;
-            }
-        }
-
-
-        isClean = true;
-
-        activeConnectionHandle = null;
-
-    }
-
-    /**
-     * Checks if a this ManagedConnection is involved in a transaction
-     * or not.
-     */
-    public boolean isTransactionInProgress() {
-        return transactionInProgress;
-    }
-
-    /**
-     * Sets the log writer for this <code>ManagedConnection</code> instance.
-     *
-     * @param        out        <code>PrintWriter</code> to be associated with this
-     *                        <code>ManagedConnection</code> instance
-     * @throws        ResourceException        if the physical connection is not valid
-     * @see <code>getLogWriter</code>
-     */
-    public void setLogWriter(PrintWriter out) throws ResourceException {
-        checkIfValid();
-        logWriter = out;
-    }
-
-    /**
-     * This method determines the type of the connection being held
-     * in this <code>ManagedConnection</code>.
-     *
-     * @param        pooledConn        <code>PooledConnection</code>
-     * @return        connection type
-     */
-    private int getConnectionType(PooledConnection pooledConn) {
-        if(pooledConn == null) {
-            return ISNOTAPOOLEDCONNECTION;
-        } else if(pooledConn instanceof XAConnection) {
-            return ISXACONNECTION;
-        } else {
-            return ISPOOLEDCONNECTION;
-        }
-    }
-
-    /**
-     * Returns the <code>ManagedConnectionFactory</code> instance that
-     * created this <code>ManagedConnection</code> instance.
-     *
-     * @return        <code>ManagedConnectionFactory</code> instance that created this
-     *                <code>ManagedConnection</code> instance
-     */
-    ManagedConnectionFactory getManagedConnectionFactory() {
-        return (com.sun.jdbcra.spi.ManagedConnectionFactory)mcf;
-    }
-
-    /**
-     * Returns the actual sql connection for this <code>ManagedConnection</code>.
-     *
-     * @return        the physical <code>java.sql.Connection</code>
-     */
-    //GJCINT
-    java.sql.Connection getActualConnection() throws ResourceException {
-        //GJCINT
-        if(connectionType == ISXACONNECTION || connectionType == ISPOOLEDCONNECTION) {
-            try {
-                if(actualConnection == null) {
-                    actualConnection = pc.getConnection();
-                }
-
-            } catch(SQLException sqle) {
-                sqle.printStackTrace();
-                throw new ResourceException(sqle.getMessage());
-            }
-        }
-        return actualConnection;
-    }
-
-    /**
-     * Returns the <code>PasswordCredential</code> object associated with this <code>ManagedConnection</code>.
-     *
-     * @return        <code>PasswordCredential</code> associated with this
-     *                <code>ManagedConnection</code> instance
-     */
-    PasswordCredential getPasswordCredential() {
-        return passwdCredential;
-    }
-
-    /**
-     * Checks if this <code>ManagedConnection</code> is valid or not and throws an
-     * exception if it is not valid. A <code>ManagedConnection</code> is not valid if
-     * destroy has not been called and no physical connection error has
-     * occurred rendering the physical connection unusable.
-     *
-     * @throws        ResourceException        if <code>destroy</code> has been called on this
-     *                                        <code>ManagedConnection</code> instance or if a
-     *                                         physical connection error occurred rendering it unusable
-     */
-    //GJCINT
-    void checkIfValid() throws ResourceException {
-        if(isDestroyed == true || isUsable == false) {
-            throw new ResourceException("This ManagedConnection is not valid as the physical " +
-                "connection is not usable.");
-        }
-    }
-
-    /**
-     * This method is called by the <code>ConnectionHolder</code> when its close method is
-     * called. This <code>ManagedConnection</code> instance  invalidates the connection handle
-     * and sends a CONNECTION_CLOSED event to all the registered event listeners.
-     *
-     * @param        e        Exception that may have occured while closing the connection handle
-     * @param        connHolderObject        <code>ConnectionHolder</code> that has been closed
-     * @throws        SQLException        in case closing the sql connection got out of
-     *                                     <code>getConnection</code> on the underlying
-     *                                <code>PooledConnection</code> throws an exception
-     */
-    void connectionClosed(Exception e, ConnectionHolder connHolderObject) throws SQLException {
-        connHolderObject.invalidate();
-
-        activeConnectionHandle = null;
-
-        ce.setConnectionHandle(connHolderObject);
-        listener.connectionClosed(ce);
-
-    }
-
-    /**
-     * This method is called by the <code>ConnectionHolder</code> when it detects a connecion
-     * related error.
-     *
-     * @param        e        Exception that has occurred during an operation on the physical connection
-     * @param        connHolderObject        <code>ConnectionHolder</code> that detected the physical
-     *                                        connection error
-     */
-    void connectionErrorOccurred(Exception e,
-            com.sun.jdbcra.spi.ConnectionHolder connHolderObject) {
-
-         ConnectionEventListener cel = this.listener;
-         ConnectionEvent ce = null;
-         ce = e == null ? new ConnectionEvent(this, ConnectionEvent.CONNECTION_ERROR_OCCURRED)
-                    : new ConnectionEvent(this, ConnectionEvent.CONNECTION_ERROR_OCCURRED, e);
-         if (connHolderObject != null) {
-             ce.setConnectionHandle(connHolderObject);
-         }
-
-         cel.connectionErrorOccurred(ce);
-         isUsable = false;
-    }
-
-
-
-    /**
-     * This method is called by the <code>XAResource</code> object when its start method
-     * has been invoked.
-     *
-     */
-    void XAStartOccurred() {
-        try {
-            actualConnection.setAutoCommit(false);
-        } catch(Exception e) {
-            e.printStackTrace();
-            connectionErrorOccurred(e, null);
-        }
-    }
-
-    /**
-     * This method is called by the <code>XAResource</code> object when its end method
-     * has been invoked.
-     *
-     */
-    void XAEndOccurred() {
-        try {
-            actualConnection.setAutoCommit(true);
-        } catch(Exception e) {
-            e.printStackTrace();
-            connectionErrorOccurred(e, null);
-        }
-    }
-
-    /**
-     * This method is called by a Connection Handle to check if it is
-     * the active Connection Handle. If it is not the active Connection
-     * Handle, this method throws an SQLException. Else, it
-     * returns setting the active Connection Handle to the calling
-     * Connection Handle object to this object if the active Connection
-     * Handle is null.
-     *
-     * @param        ch        <code>ConnectionHolder</code> that requests this
-     *                        <code>ManagedConnection</code> instance whether
-     *                        it can be active or not
-     * @throws        SQLException        in case the physical is not valid or
-     *                                there is already an active connection handle
-     */
-
-    void checkIfActive(ConnectionHolder ch) throws SQLException {
-        if(isDestroyed == true || isUsable == false) {
-            throw new SQLException("The physical connection is not usable");
-        }
-
-        if(activeConnectionHandle == null) {
-            activeConnectionHandle = ch;
-            ch.setActive(true);
-            return;
-        }
-
-        if(activeConnectionHandle != ch) {
-            throw new SQLException("The connection handle cannot be used as another connection is currently active");
-        }
-    }
-
-    /**
-     * sets the connection type of this connection. This method is called
-     * by the MCF while creating this ManagedConnection. Saves us a costly
-     * instanceof operation in the getConnectionType
-     */
-    public void initializeConnectionType( int _connectionType ) {
-        connectionType = _connectionType;
-    }
-
-}
diff --git a/appserver/tests/appserv-tests/devtests/connector/v3/annotation-embeddedweb/ra/src/com/sun/jdbcra/spi/ManagedConnectionMetaData.java b/appserver/tests/appserv-tests/devtests/connector/v3/annotation-embeddedweb/ra/src/com/sun/jdbcra/spi/ManagedConnectionMetaData.java
deleted file mode 100755
index 5ec326c..0000000
--- a/appserver/tests/appserv-tests/devtests/connector/v3/annotation-embeddedweb/ra/src/com/sun/jdbcra/spi/ManagedConnectionMetaData.java
+++ /dev/null
@@ -1,121 +0,0 @@
-/*
- * Copyright (c) 2003, 2018 Oracle and/or its affiliates. All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v. 2.0, which is available at
- * http://www.eclipse.org/legal/epl-2.0.
- *
- * This Source Code may also be made available under the following Secondary
- * Licenses when the conditions for such availability set forth in the
- * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
- * version 2 with the GNU Classpath Exception, which is available at
- * https://www.gnu.org/software/classpath/license.html.
- *
- * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
- */
-
-package com.sun.jdbcra.spi;
-
-import com.sun.jdbcra.spi.ManagedConnection;
-import java.sql.SQLException;
-import jakarta.resource.ResourceException;
-
-import java.util.logging.Logger;
-import java.util.logging.Level;
-/**
- * <code>ManagedConnectionMetaData</code> implementation for Generic JDBC Connector.
- *
- * @version        1.0, 02/08/03
- * @author        Evani Sai Surya Kiran
- */
-public class ManagedConnectionMetaData implements jakarta.resource.spi.ManagedConnectionMetaData {
-
-    private java.sql.DatabaseMetaData dmd = null;
-    private ManagedConnection mc;
-
-    private static Logger _logger;
-    static {
-        _logger = Logger.getAnonymousLogger();
-    }
-    private boolean debug = false;
-    /**
-     * Constructor for <code>ManagedConnectionMetaData</code>
-     *
-     * @param        mc        <code>ManagedConnection</code>
-     * @throws        <code>ResourceException</code>        if getting the DatabaseMetaData object fails
-     */
-    public ManagedConnectionMetaData(ManagedConnection mc) throws ResourceException {
-        try {
-            this.mc = mc;
-            dmd = mc.getActualConnection().getMetaData();
-        } catch(SQLException sqle) {
-            _logger.log(Level.SEVERE, "jdbc.exc_md");
-            throw new ResourceException(sqle.getMessage());
-        }
-    }
-
-    /**
-     * Returns product name of the underlying EIS instance connected
-     * through the ManagedConnection.
-     *
-     * @return        Product name of the EIS instance
-     * @throws        <code>ResourceException</code>
-     */
-    public String getEISProductName() throws ResourceException {
-        try {
-            return dmd.getDatabaseProductName();
-        } catch(SQLException sqle) {
-            _logger.log(Level.SEVERE, "jdbc.exc_eis_prodname", sqle);
-            throw new ResourceException(sqle.getMessage());
-        }
-    }
-
-    /**
-     * Returns product version of the underlying EIS instance connected
-     * through the ManagedConnection.
-     *
-     * @return        Product version of the EIS instance
-     * @throws        <code>ResourceException</code>
-     */
-    public String getEISProductVersion() throws ResourceException {
-        try {
-            return dmd.getDatabaseProductVersion();
-        } catch(SQLException sqle) {
-            _logger.log(Level.SEVERE, "jdbc.exc_eis_prodvers", sqle);
-            throw new ResourceException(sqle.getMessage(), sqle.getMessage());
-        }
-    }
-
-    /**
-     * Returns maximum limit on number of active concurrent connections
-     * that an EIS instance can support across client processes.
-     *
-     * @return        Maximum limit for number of active concurrent connections
-     * @throws        <code>ResourceException</code>
-     */
-    public int getMaxConnections() throws ResourceException {
-        try {
-            return dmd.getMaxConnections();
-        } catch(SQLException sqle) {
-            _logger.log(Level.SEVERE, "jdbc.exc_eis_maxconn");
-            throw new ResourceException(sqle.getMessage());
-        }
-    }
-
-    /**
-     * Returns name of the user associated with the ManagedConnection instance. The name
-     * corresponds to the resource principal under whose whose security context, a connection
-     * to the EIS instance has been established.
-     *
-     * @return        name of the user
-     * @throws        <code>ResourceException</code>
-     */
-    public String getUserName() throws ResourceException {
-        jakarta.resource.spi.security.PasswordCredential pc = mc.getPasswordCredential();
-        if(pc != null) {
-            return pc.getUserName();
-        }
-
-        return mc.getManagedConnectionFactory().getUser();
-    }
-}
diff --git a/appserver/tests/appserv-tests/devtests/connector/v3/annotation-embeddedweb/ra/src/com/sun/jdbcra/spi/XAResourceImpl.java b/appserver/tests/appserv-tests/devtests/connector/v3/annotation-embeddedweb/ra/src/com/sun/jdbcra/spi/XAResourceImpl.java
deleted file mode 100755
index f0ba663..0000000
--- a/appserver/tests/appserv-tests/devtests/connector/v3/annotation-embeddedweb/ra/src/com/sun/jdbcra/spi/XAResourceImpl.java
+++ /dev/null
@@ -1,175 +0,0 @@
-/*
- * Copyright (c) 2003, 2018 Oracle and/or its affiliates. All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v. 2.0, which is available at
- * http://www.eclipse.org/legal/epl-2.0.
- *
- * This Source Code may also be made available under the following Secondary
- * Licenses when the conditions for such availability set forth in the
- * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
- * version 2 with the GNU Classpath Exception, which is available at
- * https://www.gnu.org/software/classpath/license.html.
- *
- * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
- */
-
-package com.sun.jdbcra.spi;
-
-import javax.transaction.xa.Xid;
-import javax.transaction.xa.XAException;
-import javax.transaction.xa.XAResource;
-import com.sun.jdbcra.spi.ManagedConnection;
-
-/**
- * <code>XAResource</code> wrapper for Generic JDBC Connector.
- *
- * @version        1.0, 02/08/23
- * @author        Evani Sai Surya Kiran
- */
-public class XAResourceImpl implements XAResource {
-
-    XAResource xar;
-    ManagedConnection mc;
-
-    /**
-     * Constructor for XAResourceImpl
-     *
-     * @param        xar        <code>XAResource</code>
-     * @param        mc        <code>ManagedConnection</code>
-     */
-    public XAResourceImpl(XAResource xar, ManagedConnection mc) {
-        this.xar = xar;
-        this.mc = mc;
-    }
-
-    /**
-     * Commit the global transaction specified by xid.
-     *
-     * @param        xid        A global transaction identifier
-     * @param        onePhase        If true, the resource manager should use a one-phase commit
-     *                               protocol to commit the work done on behalf of xid.
-     */
-    public void commit(Xid xid, boolean onePhase) throws XAException {
-        //the mc.transactionCompleted call has come here becasue
-        //the transaction *actually* completes after the flow
-        //reaches here. the end() method might not really signal
-        //completion of transaction in case the transaction is
-        //suspended. In case of transaction suspension, the end
-        //method is still called by the transaction manager
-        mc.transactionCompleted();
-        xar.commit(xid, onePhase);
-    }
-
-    /**
-     * Ends the work performed on behalf of a transaction branch.
-     *
-     * @param        xid        A global transaction identifier that is the same as what
-     *                        was used previously in the start method.
-     * @param        flags        One of TMSUCCESS, TMFAIL, or TMSUSPEND
-     */
-    public void end(Xid xid, int flags) throws XAException {
-        xar.end(xid, flags);
-        //GJCINT
-        //mc.transactionCompleted();
-    }
-
-    /**
-     * Tell the resource manager to forget about a heuristically completed transaction branch.
-     *
-     * @param        xid        A global transaction identifier
-     */
-    public void forget(Xid xid) throws XAException {
-        xar.forget(xid);
-    }
-
-    /**
-     * Obtain the current transaction timeout value set for this
-     * <code>XAResource</code> instance.
-     *
-     * @return        the transaction timeout value in seconds
-     */
-    public int getTransactionTimeout() throws XAException {
-        return xar.getTransactionTimeout();
-    }
-
-    /**
-     * This method is called to determine if the resource manager instance
-     * represented by the target object is the same as the resouce manager
-     * instance represented by the parameter xares.
-     *
-     * @param        xares        An <code>XAResource</code> object whose resource manager
-     *                         instance is to be compared with the resource
-     * @return        true if it's the same RM instance; otherwise false.
-     */
-    public boolean isSameRM(XAResource xares) throws XAException {
-        return xar.isSameRM(xares);
-    }
-
-    /**
-     * Ask the resource manager to prepare for a transaction commit
-     * of the transaction specified in xid.
-     *
-     * @param        xid        A global transaction identifier
-     * @return        A value indicating the resource manager's vote on the
-     *                outcome of the transaction. The possible values
-     *                are: XA_RDONLY or XA_OK. If the resource manager wants
-     *                to roll back the transaction, it should do so
-     *                by raising an appropriate <code>XAException</code> in the prepare method.
-     */
-    public int prepare(Xid xid) throws XAException {
-        return xar.prepare(xid);
-    }
-
-    /**
-     * Obtain a list of prepared transaction branches from a resource manager.
-     *
-     * @param        flag        One of TMSTARTRSCAN, TMENDRSCAN, TMNOFLAGS. TMNOFLAGS
-     *                        must be used when no other flags are set in flags.
-     * @return        The resource manager returns zero or more XIDs for the transaction
-     *                branches that are currently in a prepared or heuristically
-     *                completed state. If an error occurs during the operation, the resource
-     *                manager should throw the appropriate <code>XAException</code>.
-     */
-    public Xid[] recover(int flag) throws XAException {
-        return xar.recover(flag);
-    }
-
-    /**
-     * Inform the resource manager to roll back work done on behalf of a transaction branch
-     *
-     * @param        xid        A global transaction identifier
-     */
-    public void rollback(Xid xid) throws XAException {
-        //the mc.transactionCompleted call has come here becasue
-        //the transaction *actually* completes after the flow
-        //reaches here. the end() method might not really signal
-        //completion of transaction in case the transaction is
-        //suspended. In case of transaction suspension, the end
-        //method is still called by the transaction manager
-        mc.transactionCompleted();
-        xar.rollback(xid);
-    }
-
-    /**
-     * Set the current transaction timeout value for this <code>XAResource</code> instance.
-     *
-     * @param        seconds        the transaction timeout value in seconds.
-     * @return        true if transaction timeout value is set successfully; otherwise false.
-     */
-    public boolean setTransactionTimeout(int seconds) throws XAException {
-        return xar.setTransactionTimeout(seconds);
-    }
-
-    /**
-     * Start work on behalf of a transaction branch specified in xid.
-     *
-     * @param        xid        A global transaction identifier to be associated with the resource
-     * @return        flags        One of TMNOFLAGS, TMJOIN, or TMRESUME
-     */
-    public void start(Xid xid, int flags) throws XAException {
-        //GJCINT
-        mc.transactionStarted();
-        xar.start(xid, flags);
-    }
-}
diff --git a/appserver/tests/appserv-tests/devtests/connector/v3/annotation-embeddedweb/ra/src/com/sun/jdbcra/spi/build.xml b/appserver/tests/appserv-tests/devtests/connector/v3/annotation-embeddedweb/ra/src/com/sun/jdbcra/spi/build.xml
deleted file mode 100755
index 7ca9cfb..0000000
--- a/appserver/tests/appserv-tests/devtests/connector/v3/annotation-embeddedweb/ra/src/com/sun/jdbcra/spi/build.xml
+++ /dev/null
@@ -1,41 +0,0 @@
-<?xml version="1.0"?>
-<!--
-
-    Copyright (c) 2017, 2018 Oracle and/or its affiliates. All rights reserved.
-
-    This program and the accompanying materials are made available under the
-    terms of the Eclipse Public License v. 2.0, which is available at
-    http://www.eclipse.org/legal/epl-2.0.
-
-    This Source Code may also be made available under the following Secondary
-    Licenses when the conditions for such availability set forth in the
-    Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
-    version 2 with the GNU Classpath Exception, which is available 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 name="jdbc_connector" basedir="${gjc.home}" default="build">
-  <property name="pkg.dir" value="com/sun/gjc/spi"/>
-
-  <target name="clean">
-    <ant antfile="build.xml" dir="${gjc.home}/bin" target="clean"/>
-  </target>
-
-  <target name="compile13">
-    <ant antfile="build.xml" dir="${gjc.home}/bin" target="compile13"/>
-  </target>
-
-  <target name="build13" depends="compile13">
-  </target>
-
-  <target name="compile14">
-    <ant antfile="build.xml" dir="${gjc.home}/bin" target="compile14"/>
-  </target>
-
-  <target name="build14" depends="compile14"/>
-
-        <target name="build" depends="build13, build14"/>
-</project>
diff --git a/appserver/tests/appserv-tests/devtests/connector/v3/annotation-embeddedweb/ra/src/com/sun/jdbcra/util/MethodExecutor.java b/appserver/tests/appserv-tests/devtests/connector/v3/annotation-embeddedweb/ra/src/com/sun/jdbcra/util/MethodExecutor.java
deleted file mode 100755
index de4a961..0000000
--- a/appserver/tests/appserv-tests/devtests/connector/v3/annotation-embeddedweb/ra/src/com/sun/jdbcra/util/MethodExecutor.java
+++ /dev/null
@@ -1,168 +0,0 @@
-/*
- * Copyright (c) 2003, 2018 Oracle and/or its affiliates. All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v. 2.0, which is available at
- * http://www.eclipse.org/legal/epl-2.0.
- *
- * This Source Code may also be made available under the following Secondary
- * Licenses when the conditions for such availability set forth in the
- * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
- * version 2 with the GNU Classpath Exception, which is available at
- * https://www.gnu.org/software/classpath/license.html.
- *
- * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
- */
-
-package com.sun.jdbcra.util;
-
-import java.lang.reflect.Method;
-import java.lang.reflect.InvocationTargetException;
-import java.util.Vector;
-import jakarta.resource.ResourceException;
-
-import java.util.logging.Logger;
-import java.util.logging.Level;
-/**
- * Execute the methods based on the parameters.
- *
- * @version        1.0, 02/07/23
- * @author        Binod P.G
- */
-public class MethodExecutor implements java.io.Serializable{
-
-    private static Logger _logger;
-    static {
-        _logger = Logger.getAnonymousLogger();
-    }
-    private boolean debug = false;
-    /**
-     * Exceute a simple set Method.
-     *
-     * @param        value        Value to be set.
-     * @param        method        <code>Method</code> object.
-     * @param        obj        Object on which the method to be executed.
-     * @throws  <code>ResourceException</code>, in case of the mismatch of parameter values or
-     *                a security violation.
-     */
-    public void runJavaBeanMethod(String value, Method method, Object obj) throws ResourceException{
-            if (value==null || value.trim().equals("")) {
-                return;
-            }
-            try {
-                Class[] parameters = method.getParameterTypes();
-                if ( parameters.length == 1) {
-                    Object[] values = new Object[1];
-                        values[0] = convertType(parameters[0], value);
-                        method.invoke(obj, values);
-                }
-            } catch (IllegalAccessException iae) {
-            _logger.log(Level.SEVERE, "jdbc.exc_jb_val", iae);
-                throw new ResourceException("Access denied to execute the method :" + method.getName());
-            } catch (IllegalArgumentException ie) {
-            _logger.log(Level.SEVERE, "jdbc.exc_jb_val", ie);
-                throw new ResourceException("Arguments are wrong for the method :" + method.getName());
-            } catch (InvocationTargetException ite) {
-            _logger.log(Level.SEVERE, "jdbc.exc_jb_val", ite);
-                throw new ResourceException("Access denied to execute the method :" + method.getName());
-            }
-    }
-
-    /**
-     * Executes the method.
-     *
-     * @param        method <code>Method</code> object.
-     * @param        obj        Object on which the method to be executed.
-     * @param        values        Parameter values for executing the method.
-     * @throws  <code>ResourceException</code>, in case of the mismatch of parameter values or
-     *                a security violation.
-     */
-    public void runMethod(Method method, Object obj, Vector values) throws ResourceException{
-            try {
-            Class[] parameters = method.getParameterTypes();
-            if (values.size() != parameters.length) {
-                return;
-            }
-                Object[] actualValues = new Object[parameters.length];
-                for (int i =0; i<parameters.length ; i++) {
-                        String val = (String) values.get(i);
-                        if (val.trim().equals("NULL")) {
-                            actualValues[i] = null;
-                        } else {
-                            actualValues[i] = convertType(parameters[i], val);
-                        }
-                }
-                method.invoke(obj, actualValues);
-            }catch (IllegalAccessException iae) {
-            _logger.log(Level.SEVERE, "jdbc.exc_jb_val", iae);
-                throw new ResourceException("Access denied to execute the method :" + method.getName());
-            } catch (IllegalArgumentException ie) {
-            _logger.log(Level.SEVERE, "jdbc.exc_jb_val", ie);
-                throw new ResourceException("Arguments are wrong for the method :" + method.getName());
-            } catch (InvocationTargetException ite) {
-            _logger.log(Level.SEVERE, "jdbc.exc_jb_val", ite);
-                throw new ResourceException("Access denied to execute the method :" + method.getName());
-            }
-    }
-
-    /**
-     * Converts the type from String to the Class type.
-     *
-     * @param        type                Class name to which the conversion is required.
-     * @param        parameter        String value to be converted.
-     * @return        Converted value.
-     * @throws  <code>ResourceException</code>, in case of the mismatch of parameter values or
-     *                a security violation.
-     */
-    private Object convertType(Class type, String parameter) throws ResourceException{
-            try {
-                String typeName = type.getName();
-                if ( typeName.equals("java.lang.String") || typeName.equals("java.lang.Object")) {
-                        return parameter;
-                }
-
-                if (typeName.equals("int") || typeName.equals("java.lang.Integer")) {
-                        return new Integer(parameter);
-                }
-
-                if (typeName.equals("short") || typeName.equals("java.lang.Short")) {
-                        return new Short(parameter);
-                }
-
-                if (typeName.equals("byte") || typeName.equals("java.lang.Byte")) {
-                        return new Byte(parameter);
-                }
-
-                if (typeName.equals("long") || typeName.equals("java.lang.Long")) {
-                        return new Long(parameter);
-                }
-
-                if (typeName.equals("float") || typeName.equals("java.lang.Float")) {
-                        return new Float(parameter);
-                }
-
-                if (typeName.equals("double") || typeName.equals("java.lang.Double")) {
-                        return new Double(parameter);
-                }
-
-                if (typeName.equals("java.math.BigDecimal")) {
-                        return new java.math.BigDecimal(parameter);
-                }
-
-                if (typeName.equals("java.math.BigInteger")) {
-                        return new java.math.BigInteger(parameter);
-                }
-
-                if (typeName.equals("boolean") || typeName.equals("java.lang.Boolean")) {
-                        return new Boolean(parameter);
-            }
-
-                return parameter;
-            } catch (NumberFormatException nfe) {
-            _logger.log(Level.SEVERE, "jdbc.exc_nfe", parameter);
-                throw new ResourceException(parameter+": Not a valid value for this method ");
-            }
-    }
-
-}
-
diff --git a/appserver/tests/appserv-tests/devtests/connector/v3/annotation-embeddedweb/ra/src/com/sun/jdbcra/util/SecurityUtils.java b/appserver/tests/appserv-tests/devtests/connector/v3/annotation-embeddedweb/ra/src/com/sun/jdbcra/util/SecurityUtils.java
deleted file mode 100755
index bed9dd7..0000000
--- a/appserver/tests/appserv-tests/devtests/connector/v3/annotation-embeddedweb/ra/src/com/sun/jdbcra/util/SecurityUtils.java
+++ /dev/null
@@ -1,135 +0,0 @@
-/*
- * Copyright (c) 2003, 2018 Oracle and/or its affiliates. All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v. 2.0, which is available at
- * http://www.eclipse.org/legal/epl-2.0.
- *
- * This Source Code may also be made available under the following Secondary
- * Licenses when the conditions for such availability set forth in the
- * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
- * version 2 with the GNU Classpath Exception, which is available at
- * https://www.gnu.org/software/classpath/license.html.
- *
- * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
- */
-
-package com.sun.jdbcra.util;
-
-import javax.security.auth.Subject;
-import java.security.AccessController;
-import java.security.PrivilegedAction;
-import jakarta.resource.spi.security.PasswordCredential;
-import jakarta.resource.ResourceException;
-import jakarta.resource.spi.*;
-import com.sun.jdbcra.spi.ConnectionRequestInfo;
-import java.util.Set;
-import java.util.Iterator;
-
-/**
- * SecurityUtils for Generic JDBC Connector.
- *
- * @version        1.0, 02/07/22
- * @author        Evani Sai Surya Kiran
- */
-public class SecurityUtils {
-
-    /**
-     * This method returns the <code>PasswordCredential</code> object, given
-     * the <code>ManagedConnectionFactory</code>, subject and the
-     * <code>ConnectionRequestInfo</code>. It first checks if the
-     * <code>ConnectionRequestInfo</code> is null or not. If it is not null,
-     * it constructs a <code>PasswordCredential</code> object with
-     * the user and password fields from the <code>ConnectionRequestInfo</code> and returns this
-     * <code>PasswordCredential</code> object. If the <code>ConnectionRequestInfo</code>
-     * is null, it retrieves the <code>PasswordCredential</code> objects from
-     * the <code>Subject</code> parameter and returns the first
-     * <code>PasswordCredential</code> object which contains a
-     * <code>ManagedConnectionFactory</code>, instance equivalent
-     * to the <code>ManagedConnectionFactory</code>, parameter.
-     *
-     * @param        mcf        <code>ManagedConnectionFactory</code>
-     * @param        subject        <code>Subject</code>
-     * @param        info        <code>ConnectionRequestInfo</code>
-     * @return        <code>PasswordCredential</code>
-     * @throws        <code>ResourceException</code>        generic exception if operation fails
-     * @throws        <code>SecurityException</code>        if access to the <code>Subject</code> instance is denied
-     */
-    public static PasswordCredential getPasswordCredential(final ManagedConnectionFactory mcf,
-         final Subject subject, jakarta.resource.spi.ConnectionRequestInfo info) throws ResourceException {
-
-        if (info == null) {
-            if (subject == null) {
-                return null;
-            } else {
-                PasswordCredential pc = (PasswordCredential) AccessController.doPrivileged
-                    (new PrivilegedAction() {
-                        public Object run() {
-                            Set passwdCredentialSet = subject.getPrivateCredentials(PasswordCredential.class);
-                            Iterator iter = passwdCredentialSet.iterator();
-                            while (iter.hasNext()) {
-                                PasswordCredential temp = (PasswordCredential) iter.next();
-                                if (temp.getManagedConnectionFactory().equals(mcf)) {
-                                    return temp;
-                                }
-                            }
-                            return null;
-                        }
-                    });
-                if (pc == null) {
-                    throw new jakarta.resource.spi.SecurityException("No PasswordCredential found");
-                } else {
-                    return pc;
-                }
-            }
-        } else {
-            com.sun.jdbcra.spi.ConnectionRequestInfo cxReqInfo = (com.sun.jdbcra.spi.ConnectionRequestInfo) info;
-            PasswordCredential pc = new PasswordCredential(cxReqInfo.getUser(), cxReqInfo.getPassword().toCharArray());
-            pc.setManagedConnectionFactory(mcf);
-            return pc;
-        }
-    }
-
-    /**
-     * Returns true if two strings are equal; false otherwise
-     *
-     * @param        str1        <code>String</code>
-     * @param        str2        <code>String</code>
-     * @return        true        if the two strings are equal
-     *                false        otherwise
-     */
-    static private boolean isEqual(String str1, String str2) {
-        if (str1 == null) {
-            return (str2 == null);
-        } else {
-            return str1.equals(str2);
-        }
-    }
-
-    /**
-     * Returns true if two <code>PasswordCredential</code> objects are equal; false otherwise
-     *
-     * @param        pC1        <code>PasswordCredential</code>
-     * @param        pC2        <code>PasswordCredential</code>
-     * @return        true        if the two PasswordCredentials are equal
-     *                false        otherwise
-     */
-    static public boolean isPasswordCredentialEqual(PasswordCredential pC1, PasswordCredential pC2) {
-        if (pC1 == pC2)
-            return true;
-        if(pC1 == null || pC2 == null)
-            return (pC1 == pC2);
-        if (!isEqual(pC1.getUserName(), pC2.getUserName())) {
-            return false;
-        }
-        String p1 = null;
-        String p2 = null;
-        if (pC1.getPassword() != null) {
-            p1 = new String(pC1.getPassword());
-        }
-        if (pC2.getPassword() != null) {
-            p2 = new String(pC2.getPassword());
-        }
-        return (isEqual(p1, p2));
-    }
-}
diff --git a/appserver/tests/appserv-tests/devtests/connector/v3/annotation-embeddedweb/ra/src/com/sun/jdbcra/util/build.xml b/appserver/tests/appserv-tests/devtests/connector/v3/annotation-embeddedweb/ra/src/com/sun/jdbcra/util/build.xml
deleted file mode 100755
index f060e7d..0000000
--- a/appserver/tests/appserv-tests/devtests/connector/v3/annotation-embeddedweb/ra/src/com/sun/jdbcra/util/build.xml
+++ /dev/null
@@ -1,48 +0,0 @@
-<?xml version="1.0"?>
-<!--
-
-    Copyright (c) 2017, 2018 Oracle and/or its affiliates. All rights reserved.
-
-    This program and the accompanying materials are made available under the
-    terms of the Eclipse Public License v. 2.0, which is available at
-    http://www.eclipse.org/legal/epl-2.0.
-
-    This Source Code may also be made available under the following Secondary
-    Licenses when the conditions for such availability set forth in the
-    Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
-    version 2 with the GNU Classpath Exception, which is available 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 name="jdbc_connector" basedir="." default="build">
-  <property name="pkg.dir" value="com/sun/gjc/util"/>
-
-  <target name="clean">
-    <ant antfile="build.xml" dir="${gjc.home}/bin" target="clean"/>
-  </target>
-
-  <target name="compile">
-    <ant antfile="build.xml" dir="${gjc.home}/bin" target="compile"/>
-  </target>
-
-  <target name="package">
-    <mkdir dir="${dist.dir}/${pkg.dir}"/>
-      <jar jarfile="${dist.dir}/${pkg.dir}/util.jar" basedir="${class.dir}"
-        includes="${pkg.dir}/**/*"/>
-  </target>
-
-  <target name="compile13" depends="compile"/>
-  <target name="compile14" depends="compile"/>
-
-  <target name="package13" depends="package"/>
-  <target name="package14" depends="package"/>
-
-  <target name="build13" depends="compile13, package13"/>
-  <target name="build14" depends="compile14, package14"/>
-
-  <target name="build" depends="build13, build14"/>
-
-</project>
diff --git a/appserver/tests/appserv-tests/devtests/connector/v3/config-property-accessor-test/rar/descriptor/blackbox-tx.xml b/appserver/tests/appserv-tests/devtests/connector/v3/config-property-accessor-test/rar/descriptor/blackbox-tx.xml
index 44d53da..b3673a5 100755
--- a/appserver/tests/appserv-tests/devtests/connector/v3/config-property-accessor-test/rar/descriptor/blackbox-tx.xml
+++ b/appserver/tests/appserv-tests/devtests/connector/v3/config-property-accessor-test/rar/descriptor/blackbox-tx.xml
@@ -2,6 +2,7 @@
 <!--
 
     Copyright (c) 2017, 2018 Oracle and/or its affiliates. All rights reserved.
+    Copyright (c) 2022 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
@@ -17,12 +18,13 @@
 
 -->
 
-<connector xmlns="http://java.sun.com/xml/ns/j2ee"
-           xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-           xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee
-           http://java.sun.com/xml/ns/j2ee/connector_1_5.xsd"
-           version="1.5">
-
+<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/jakartaee_9.xsd
+       https://jakarta.ee/xml/ns/jakartaee/connector_2_0.xsd"
+    version="2.0"
+>
 
     <display-name>BlackBoxLocalTx</display-name>
     <vendor-name>Java Software</vendor-name>
diff --git a/appserver/tests/appserv-tests/devtests/connector/v3/connector1.5/ra/META-INF/ra.xml b/appserver/tests/appserv-tests/devtests/connector/v3/connector1.5/ra/META-INF/ra.xml
index 32b46e3..dbd4cf7 100755
--- a/appserver/tests/appserv-tests/devtests/connector/v3/connector1.5/ra/META-INF/ra.xml
+++ b/appserver/tests/appserv-tests/devtests/connector/v3/connector1.5/ra/META-INF/ra.xml
@@ -2,6 +2,7 @@
 <!--
 
     Copyright (c) 2017, 2018 Oracle and/or its affiliates. All rights reserved.
+    Copyright (c) 2022 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
@@ -17,14 +18,13 @@
 
 -->
 
-<!--
-<!DOCTYPE connector PUBLIC '-//Sun Microsystems, Inc.//DTD Connector 1.5//EN' 'http://java.sun.com/dtd/connector_1_5.dtd'>
--->
-<connector xmlns="http://java.sun.com/xml/ns/j2ee"
-           xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-           xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee
-           http://java.sun.com/xml/ns/j2ee/connector_1_5.xsd"
-           version="1.5">
+<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/jakartaee_9.xsd
+       https://jakarta.ee/xml/ns/jakartaee/connector_2_0.xsd"
+    version="2.0"
+>
     <display-name>Simple Resource Adapter</display-name>
     <vendor-name>Java Software</vendor-name>
     <eis-type>Generic Type</eis-type>
diff --git a/appserver/tests/appserv-tests/devtests/connector/v3/connector1.6-resources-xml/ra/src/connector/WorkDispatcher.java.modified b/appserver/tests/appserv-tests/devtests/connector/v3/connector1.6-resources-xml/ra/src/connector/WorkDispatcher.java.modified
index 4625e93..89279c3 100755
--- a/appserver/tests/appserv-tests/devtests/connector/v3/connector1.6-resources-xml/ra/src/connector/WorkDispatcher.java.modified
+++ b/appserver/tests/appserv-tests/devtests/connector/v3/connector1.6-resources-xml/ra/src/connector/WorkDispatcher.java.modified
@@ -1,5 +1,6 @@
 /*
  * Copyright (c) 2002, 2018 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2022 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
@@ -20,13 +21,13 @@
 import org.glassfish.security.common.PrincipalImpl;
 
 import java.lang.reflect.Method;
-import javax.resource.spi.ActivationSpec;
-import javax.resource.spi.BootstrapContext;
-import javax.resource.spi.XATerminator;
-import javax.resource.spi.endpoint.MessageEndpoint;
-import javax.resource.spi.endpoint.MessageEndpointFactory;
-import javax.resource.spi.work.*;
-import javax.transaction.xa.Xid;
+import jakarta.resource.spi.ActivationSpec;
+import jakarta.resource.spi.BootstrapContext;
+import jakarta.resource.spi.XATerminator;
+import jakarta.resource.spi.endpoint.MessageEndpoint;
+import jakarta.resource.spi.endpoint.MessageEndpointFactory;
+import jakarta.resource.spi.work.*;
+import jakarta.transaction.xa.Xid;
 
 /**
  * @author Qingqing Ouyang
@@ -85,14 +86,14 @@
 
                 /*if (!factory.isDeliveryTransacted(onMessage)) {
                     //MessageEndpoint ep = factory.createEndpoint(null);
-                    //DeliveryWork d = new DeliveryWork("NO_TX", ep); 
+                    //DeliveryWork d = new DeliveryWork("NO_TX", ep);
                     //wm.doWork(d, 0, null, null);
                 } else*/ {
 
                     String jagadish="jagadish";
                     String prasath = "prasath";
                     String groupName = "iec";
-                    
+
                     boolean translationRequired = determineIdentityType();
                     if(translationRequired){
                         jagadish= "eis-jagadish";
@@ -100,7 +101,7 @@
                         groupName="eis-group";
                     }
                     newLine(1);
-                    
+
 
                     int count =0;
 //                    count = testExecutionContext(count);
diff --git a/appserver/tests/appserv-tests/devtests/connector/v3/connector1.6/ra/META-INF/ra.xml b/appserver/tests/appserv-tests/devtests/connector/v3/connector1.6/ra/META-INF/ra.xml
index ad950c7..7ce78ed 100755
--- a/appserver/tests/appserv-tests/devtests/connector/v3/connector1.6/ra/META-INF/ra.xml
+++ b/appserver/tests/appserv-tests/devtests/connector/v3/connector1.6/ra/META-INF/ra.xml
@@ -2,6 +2,7 @@
 <!--
 
     Copyright (c) 2017, 2018 Oracle and/or its affiliates. All rights reserved.
+    Copyright (c) 2022 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
@@ -17,11 +18,13 @@
 
 -->
 
-<connector xmlns="http://java.sun.com/xml/ns/javaee"
-           xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-           xsi:schemaLocation="http://java.sun.com/xml/ns/javaee
-           http://java.sun.com/xml/ns/javaee/connector_1_6.xsd"
-           version="1.6">
+<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/jakartaee_9.xsd
+       https://jakarta.ee/xml/ns/jakartaee/connector_2_0.xsd"
+    version="2.0"
+>
     <display-name>Simple Resource Adapter</display-name>
     <vendor-name>Java Software</vendor-name>
     <eis-type>Generic Type</eis-type>
diff --git a/appserver/tests/appserv-tests/devtests/connector/v3/connector1.6/ra/src/connector/WorkDispatcher.java.modified b/appserver/tests/appserv-tests/devtests/connector/v3/connector1.6/ra/src/connector/WorkDispatcher.java.modified
index 4625e93..89279c3 100755
--- a/appserver/tests/appserv-tests/devtests/connector/v3/connector1.6/ra/src/connector/WorkDispatcher.java.modified
+++ b/appserver/tests/appserv-tests/devtests/connector/v3/connector1.6/ra/src/connector/WorkDispatcher.java.modified
@@ -1,5 +1,6 @@
 /*
  * Copyright (c) 2002, 2018 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2022 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
@@ -20,13 +21,13 @@
 import org.glassfish.security.common.PrincipalImpl;
 
 import java.lang.reflect.Method;
-import javax.resource.spi.ActivationSpec;
-import javax.resource.spi.BootstrapContext;
-import javax.resource.spi.XATerminator;
-import javax.resource.spi.endpoint.MessageEndpoint;
-import javax.resource.spi.endpoint.MessageEndpointFactory;
-import javax.resource.spi.work.*;
-import javax.transaction.xa.Xid;
+import jakarta.resource.spi.ActivationSpec;
+import jakarta.resource.spi.BootstrapContext;
+import jakarta.resource.spi.XATerminator;
+import jakarta.resource.spi.endpoint.MessageEndpoint;
+import jakarta.resource.spi.endpoint.MessageEndpointFactory;
+import jakarta.resource.spi.work.*;
+import jakarta.transaction.xa.Xid;
 
 /**
  * @author Qingqing Ouyang
@@ -85,14 +86,14 @@
 
                 /*if (!factory.isDeliveryTransacted(onMessage)) {
                     //MessageEndpoint ep = factory.createEndpoint(null);
-                    //DeliveryWork d = new DeliveryWork("NO_TX", ep); 
+                    //DeliveryWork d = new DeliveryWork("NO_TX", ep);
                     //wm.doWork(d, 0, null, null);
                 } else*/ {
 
                     String jagadish="jagadish";
                     String prasath = "prasath";
                     String groupName = "iec";
-                    
+
                     boolean translationRequired = determineIdentityType();
                     if(translationRequired){
                         jagadish= "eis-jagadish";
@@ -100,7 +101,7 @@
                         groupName="eis-group";
                     }
                     newLine(1);
-                    
+
 
                     int count =0;
 //                    count = testExecutionContext(count);
diff --git a/appserver/tests/appserv-tests/devtests/connector/v3/defaultConnectorResource-standalone-rar/app/build.xml b/appserver/tests/appserv-tests/devtests/connector/v3/defaultConnectorResource-standalone-rar/app/build.xml
index 026c63a..2579192 100755
--- a/appserver/tests/appserv-tests/devtests/connector/v3/defaultConnectorResource-standalone-rar/app/build.xml
+++ b/appserver/tests/appserv-tests/devtests/connector/v3/defaultConnectorResource-standalone-rar/app/build.xml
@@ -18,13 +18,13 @@
 
 <!DOCTYPE project [
   <!ENTITY common SYSTEM     "../../../../../config/common.xml">
-  <!ENTITY testcommon SYSTEM "../../../../../config/properties.xml">
+<!ENTITY testcommon SYSTEM "../../../../../config/properties.xml">
 ]>
 
 <project name="connector1.5 MDB" default="all" basedir=".">
 
-  <property name="j2ee.home" value="../../../.."/>
-  <property name="earfile" value="generic-embedded.ear"/>
+  <property name="j2ee.home" value="../../../.." />
+  <property name="earfile" value="generic-embedded.ear" />
 
 
   <!-- include common.xml and testcommon.xml -->
@@ -32,9 +32,9 @@
   &testcommon;
 
   <target name="all" depends="init-common, clean-common">
-   <ant dir="src" inheritAll="false" target="all"/>
-   <antcall target="build-ear"/>
- <!--
+    <ant dir="src" inheritAll="false" target="all" />
+    <antcall target="build-ear" />
+    <!--
    <antcall target="ear-common">
         <param name="appname" value="generic-embedded"/>
         <param name="application.xml" value="META-INF/application.xml"/>
@@ -43,99 +43,98 @@
   </target>
 
   <target name="build-ear">
-<echo message="Building EAR with sivajdbcra"/>
-     <delete file="${assemble.dir}/generic-embeddedApp.ear"/>
-     <mkdir dir="${assemble.dir}"/>
-     <mkdir dir="${build.classes.dir}/META-INF"/>
-     <ear earfile="${assemble.dir}/generic-embeddedApp.ear"
-       appxml="META-INF/application.xml">
-       <fileset dir="${assemble.dir}">
-            <include name="*.jar"/>
-            <include name="*.war"/>
-       </fileset>
-       <fileset dir="../ra">
-           <!--  <include name="*.rar"/> -->
-           <!--<include name="sivajdbcra.rar"/>-->
-           <include name="generic-ra.rar"/>
-       </fileset>
-       <fileset dir="${env.APS_HOME}/lib">
-           <include name="reporter.jar"/>
-       </fileset>
-     </ear>
+    <echo message="Building EAR" />
+    <delete file="${assemble.dir}/generic-embeddedApp.ear" />
+    <mkdir dir="${assemble.dir}" />
+    <mkdir dir="${build.classes.dir}/META-INF" />
+    <ear earfile="${assemble.dir}/generic-embeddedApp.ear" appxml="META-INF/application.xml">
+      <fileset dir="${assemble.dir}">
+        <include name="*.jar" />
+        <include name="*.war" />
+      </fileset>
+      <fileset dir="../ra">
+        <include name="generic-ra.rar" />
+      </fileset>
+      <fileset dir="${env.APS_HOME}/lib">
+        <include name="reporter.jar" />
+      </fileset>
+    </ear>
 
   </target>
 
-    <target name="setupJdbc" depends="init-common">
+  <target name="setupJdbc" depends="init-common">
 
-           <antcall target="deploy-jdbc-common">
-               <param name="jdbc.conpool.name" value="jdbc-pointbase-pool1"/>
-               <param name="db.class" value="org.apache.derby.jdbc.ClientXADataSource"/>
-               <param name="jdbc.resource.type" value="javax.sql.XADataSource"/>
-               <param name="jdbc.resource.name" value="jdbc/XAPointbase"/>
-           </antcall>
+    <antcall target="deploy-jdbc-common">
+      <param name="jdbc.conpool.name" value="jdbc-pointbase-pool1" />
+      <param name="db.class" value="org.apache.derby.jdbc.ClientXADataSource" />
+      <param name="jdbc.resource.type" value="javax.sql.XADataSource" />
+      <param name="jdbc.resource.name" value="jdbc/XAPointbase" />
+    </antcall>
 
-           <antcall target="execute-sql-common">
-               <param name="sql.file" value="createdb.sql"/>
-           </antcall>
+    <antcall target="execute-sql-common">
+      <param name="sql.file" value="createdb.sql" />
+    </antcall>
 
-       </target>
+  </target>
 
-       <target name="unsetJdbc" depends="init-common">
-           <antcall target="execute-sql-common">
-               <param name="sql.file" value="dropdb.sql"/>
-           </antcall>
+  <target name="unsetJdbc" depends="init-common">
+    <antcall target="execute-sql-common">
+      <param name="sql.file" value="dropdb.sql" />
+    </antcall>
 
-           <antcall target="undeploy-jdbc-common">
-               <param name="jdbc.resource.name" value="jdbc/XAPointbase"/>
-               <param name="jdbc.conpool.name" value="jdbc-pointbase-pool1"/>
-           </antcall>
-       </target>
+    <antcall target="undeploy-jdbc-common">
+      <param name="jdbc.resource.name" value="jdbc/XAPointbase" />
+      <param name="jdbc.conpool.name" value="jdbc-pointbase-pool1" />
+    </antcall>
+  </target>
 
 
   <target name="deploy-ear" depends="init-common">
     <antcall target="deploy-common">
-      <param name="appname" value="generic-embedded"/>
+      <param name="appname" value="generic-embedded" />
     </antcall>
   </target>
 
- <target name="deploy-rar" depends="init-common">
+  <target name="deploy-rar" depends="init-common">
     <antcall target="deploy-rar-common">
-      <param name="rarfile" value="../ra/sivajdbcra.rar"/>
+      <param name="rarfile" value="${bundles.dir}/connectors-ra-redeploy-rars.rar" />
     </antcall>
   </target>
 
 
-    <target name="deploy-war" depends="init-common">
-           <antcall target="deploy-war-common"/>
-       </target>
+  <target name="deploy-war" depends="init-common">
+    <antcall target="deploy-war-common" />
+  </target>
 
-       <target name="run-war" depends="init-common">
-           <antcall target="runwebclient-common">
-               <param name="testsuite.id" value="defaultConnectorResource-standalone-rar (stand-alone war based)"/>
-           </antcall>
-       </target>
+  <target name="run-war" depends="init-common">
+    <antcall target="runwebclient-common">
+      <param name="testsuite.id"
+             value="defaultConnectorResource-standalone-rar (stand-alone war based)"
+      />
+    </antcall>
+  </target>
 
 
-       <target name="undeploy-war" depends="init-common">
-           <antcall target="undeploy-war-common"/>
-       </target>
+  <target name="undeploy-war" depends="init-common">
+    <antcall target="undeploy-war-common" />
+  </target>
 
 
   <target name="undeploy" depends="init-common">
     <antcall target="undeploy-common">
-      <param name="deployedapp.name" value="generic-embeddedApp"/>
+      <param name="deployedapp.name" value="generic-embeddedApp" />
     </antcall>
-    <antcall target="undeploy-rar"/>
+    <antcall target="undeploy-rar" />
   </target>
 
- <target name="undeploy-rar" depends="init-common">
+  <target name="undeploy-rar" depends="init-common">
     <antcall target="undeploy-rar-common">
-      <param name="undeployrar" value="sivajdbcra"/>
+      <param name="undeployrar" value="connectors-ra-redeploy-rars" />
     </antcall>
   </target>
 
 
   <target name="clean">
-    <antcall target="clean-common"/>
+    <antcall target="clean-common" />
   </target>
 </project>
diff --git a/appserver/tests/appserv-tests/devtests/connector/v3/defaultConnectorResource-standalone-rar/app/src/META-INF/sun-ejb-jar.xml b/appserver/tests/appserv-tests/devtests/connector/v3/defaultConnectorResource-standalone-rar/app/src/META-INF/sun-ejb-jar.xml
index 9ca6f13..482c779 100755
--- a/appserver/tests/appserv-tests/devtests/connector/v3/defaultConnectorResource-standalone-rar/app/src/META-INF/sun-ejb-jar.xml
+++ b/appserver/tests/appserv-tests/devtests/connector/v3/defaultConnectorResource-standalone-rar/app/src/META-INF/sun-ejb-jar.xml
@@ -58,7 +58,7 @@
                 <res-ref-name>MyDB</res-ref-name>
                 <!--  Using the default connector resource generated by the system
         for the jdbcra resource adapter -->
-                <jndi-name>__SYSTEM/resource/sivajdbcra#javax.sql.XADataSource</jndi-name>
+                <jndi-name>__SYSTEM/resource/connectors-ra-redeploy-rars#javax.sql.XADataSource</jndi-name>
                 <!-- <jndi-name>jdbc/XAPointbase</jndi-name> -->
             </resource-ref>
 
@@ -88,7 +88,7 @@
                 <!-- <jndi-name>jdbc/XAPointbase</jndi-name> -->
                 <!--  Using the default connector resource generated by the system
         for the jdbcra resource adapter -->
-                <jndi-name>__SYSTEM/resource/sivajdbcra#javax.sql.XADataSource</jndi-name>
+                <jndi-name>__SYSTEM/resource/connectors-ra-redeploy-rars#javax.sql.XADataSource</jndi-name>
             </resource-ref>
             <resource-env-ref>
                 <resource-env-ref-name>eis/testAdmin</resource-env-ref-name>
diff --git a/appserver/tests/appserv-tests/devtests/connector/v3/defaultConnectorResource-standalone-rar/ra/META-INF/ra.xml b/appserver/tests/appserv-tests/devtests/connector/v3/defaultConnectorResource-standalone-rar/ra/META-INF/ra.xml
index 21deb93..f269940 100755
--- a/appserver/tests/appserv-tests/devtests/connector/v3/defaultConnectorResource-standalone-rar/ra/META-INF/ra.xml
+++ b/appserver/tests/appserv-tests/devtests/connector/v3/defaultConnectorResource-standalone-rar/ra/META-INF/ra.xml
@@ -2,6 +2,7 @@
 <!--
 
     Copyright (c) 2017, 2018 Oracle and/or its affiliates. All rights reserved.
+    Copyright (c) 2022 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
@@ -17,14 +18,13 @@
 
 -->
 
-<!--
-<!DOCTYPE connector PUBLIC '-//Sun Microsystems, Inc.//DTD Connector 1.5//EN' 'http://java.sun.com/dtd/connector_1_5.dtd'>
--->
-<connector xmlns="http://java.sun.com/xml/ns/j2ee"
-           xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-           xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee
-           http://java.sun.com/xml/ns/j2ee/connector_1_5.xsd"
-           version="1.5">
+<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/jakartaee_9.xsd
+       https://jakarta.ee/xml/ns/jakartaee/connector_2_0.xsd"
+    version="2.0"
+>
     <display-name>Simple Resource Adapter</display-name>
     <vendor-name>Java Software</vendor-name>
     <eis-type>Generic Type</eis-type>
diff --git a/appserver/tests/appserv-tests/devtests/connector/v3/defaultConnectorResource-standalone-rar/ra/sivajdbcra.rar b/appserver/tests/appserv-tests/devtests/connector/v3/defaultConnectorResource-standalone-rar/ra/sivajdbcra.rar
deleted file mode 100644
index 701df2f..0000000
--- a/appserver/tests/appserv-tests/devtests/connector/v3/defaultConnectorResource-standalone-rar/ra/sivajdbcra.rar
+++ /dev/null
Binary files differ
diff --git a/appserver/tests/appserv-tests/devtests/connector/v3/defaultConnectorResource/app/META-INF/application.xml b/appserver/tests/appserv-tests/devtests/connector/v3/defaultConnectorResource/app/META-INF/application.xml
index 1efa6d9..ddc5590 100755
--- a/appserver/tests/appserv-tests/devtests/connector/v3/defaultConnectorResource/app/META-INF/application.xml
+++ b/appserver/tests/appserv-tests/devtests/connector/v3/defaultConnectorResource/app/META-INF/application.xml
@@ -27,7 +27,7 @@
     </module>
 
     <module>
-        <connector>sivajdbcra.rar</connector>
+        <connector>connectors-ra-redeploy-rars-xa.rar</connector>
     </module>
 
     <module>
@@ -40,11 +40,4 @@
             <context-root>defaultResource</context-root>
         </web>
     </module>
-
-    <!--
-      <module>
-        <java>generic-embedded-client.jar</java>
-      </module>
-    -->
-
 </application>
diff --git a/appserver/tests/appserv-tests/devtests/connector/v3/defaultConnectorResource/app/build.xml b/appserver/tests/appserv-tests/devtests/connector/v3/defaultConnectorResource/app/build.xml
index 654a6de..ee0763a 100755
--- a/appserver/tests/appserv-tests/devtests/connector/v3/defaultConnectorResource/app/build.xml
+++ b/appserver/tests/appserv-tests/devtests/connector/v3/defaultConnectorResource/app/build.xml
@@ -18,13 +18,13 @@
 
 <!DOCTYPE project [
   <!ENTITY common SYSTEM     "../../../../../config/common.xml">
-  <!ENTITY testcommon SYSTEM "../../../../../config/properties.xml">
+<!ENTITY testcommon SYSTEM "../../../../../config/properties.xml">
 ]>
 
 <project name="connector1.5 MDB" default="all" basedir=".">
 
-  <property name="j2ee.home" value="../../../.."/>
-  <property name="earfile" value="generic-embedded.ear"/>
+  <property name="j2ee.home" value="../../../.." />
+  <property name="earfile" value="generic-embedded.ear" />
 
 
   <!-- include common.xml and testcommon.xml -->
@@ -32,96 +32,90 @@
   &testcommon;
 
   <target name="all" depends="init-common, clean-common">
-   <ant dir="src" inheritAll="false" target="all"/>
-   <antcall target="build-ear"/>
- <!--
-   <antcall target="ear-common">
-        <param name="appname" value="generic-embedded"/>
-        <param name="application.xml" value="META-INF/application.xml"/>
-   </antcall>
- -->
+    <ant dir="src" inheritAll="false" target="all" />
+    <antcall target="build-ear" />
   </target>
 
   <target name="build-ear">
-<echo message="Building EAR with sivajdbcra"/>
-     <delete file="${assemble.dir}/generic-embeddedApp.ear"/>
-     <mkdir dir="${assemble.dir}"/>
-     <mkdir dir="${build.classes.dir}/META-INF"/>
-     <ear earfile="${assemble.dir}/generic-embeddedApp.ear"
-       appxml="META-INF/application.xml">
-       <fileset dir="${assemble.dir}">
-            <include name="*.jar"/>
-            <include name="*.war"/>
-       </fileset>
-       <fileset dir="../ra">
-           <!--  <include name="*.rar"/> -->
-           <include name="sivajdbcra.rar"/>
-           <include name="generic-ra.rar"/>
-       </fileset>
-       <fileset dir="${env.APS_HOME}/lib">
-           <include name="reporter.jar"/>
-       </fileset>
-     </ear>
+    <echo message="Building EAR with two ra" />
+    <delete file="${assemble.dir}/generic-embeddedApp.ear" />
+    <mkdir dir="${assemble.dir}" />
+    <mkdir dir="${build.classes.dir}/META-INF" />
+    <ear earfile="${assemble.dir}/generic-embeddedApp.ear" appxml="META-INF/application.xml">
+      <fileset dir="${assemble.dir}">
+        <include name="*.jar" />
+        <include name="*.war" />
+      </fileset>
+      <fileset dir="../ra">
+        <include name="generic-ra.rar" />
+      </fileset>
+      <fileset dir="${bundles.dir}">
+        <include name="connectors-ra-redeploy-rars-xa.rar" />
+      </fileset>
+      <fileset dir="${env.APS_HOME}/lib">
+        <include name="reporter.jar" />
+      </fileset>
+    </ear>
 
   </target>
 
-    <target name="setupJdbc" depends="init-common">
+  <target name="setupJdbc" depends="init-common">
 
-           <antcall target="deploy-jdbc-common">
-               <param name="jdbc.conpool.name" value="jdbc-pointbase-pool1"/>
-               <param name="db.class" value="org.apache.derby.jdbc.ClientXADataSource"/>
-               <param name="jdbc.resource.type" value="javax.sql.XADataSource"/>
-               <param name="jdbc.resource.name" value="jdbc/XAPointbase"/>
-           </antcall>
+    <antcall target="deploy-jdbc-common">
+      <param name="jdbc.conpool.name" value="jdbc-derby-pool1" />
+      <param name="db.class" value="org.apache.derby.jdbc.ClientXADataSource" />
+      <param name="jdbc.resource.type" value="javax.sql.XADataSource" />
+      <param name="jdbc.resource.name" value="jdbc/DerbyDb" />
+    </antcall>
 
-           <antcall target="execute-sql-common">
-               <param name="sql.file" value="createdb.sql"/>
-           </antcall>
+    <antcall target="execute-sql-common">
+      <param name="sql.file" value="createdb.sql" />
+    </antcall>
 
-       </target>
+  </target>
 
-       <target name="unsetJdbc" depends="init-common">
-           <antcall target="execute-sql-common">
-               <param name="sql.file" value="dropdb.sql"/>
-           </antcall>
+  <target name="unsetJdbc" depends="init-common">
+    <antcall target="execute-sql-common">
+      <param name="sql.file" value="dropdb.sql" />
+    </antcall>
 
-           <antcall target="undeploy-jdbc-common">
-               <param name="jdbc.resource.name" value="jdbc/XAPointbase"/>
-               <param name="jdbc.conpool.name" value="jdbc-pointbase-pool1"/>
-           </antcall>
-       </target>
+    <antcall target="undeploy-jdbc-common">
+      <param name="jdbc.resource.name" value="jdbc/DerbyDb" />
+      <param name="jdbc.conpool.name" value="jdbc-derby-pool1" />
+    </antcall>
+  </target>
 
 
   <target name="deploy-ear" depends="init-common">
     <antcall target="deploy-common">
-      <param name="appname" value="generic-embedded"/>
+      <param name="appname" value="generic-embedded" />
     </antcall>
   </target>
 
-    <target name="deploy-war" depends="init-common">
-           <antcall target="deploy-war-common"/>
-       </target>
+  <target name="deploy-war" depends="init-common">
+    <antcall target="deploy-war-common" />
+  </target>
 
-       <target name="run-war" depends="init-common">
-           <antcall target="runwebclient-common">
-               <param name="testsuite.id" value="defaultConnectorResource  (stand-alone war based)"/>
-           </antcall>
-       </target>
+  <target name="run-war" depends="init-common">
+    <antcall target="runwebclient-common">
+      <param name="testsuite.id" value="defaultConnectorResource  (stand-alone war based)" />
+    </antcall>
+  </target>
 
 
-       <target name="undeploy-war" depends="init-common">
-           <antcall target="undeploy-war-common"/>
-       </target>
+  <target name="undeploy-war" depends="init-common">
+    <antcall target="undeploy-war-common" />
+  </target>
 
 
   <target name="undeploy" depends="init-common">
     <antcall target="undeploy-common">
-        <param name="extra-params" value="--cascade=true"/>
-        <param name="deployedapp.name" value="generic-embeddedApp"/>
+      <param name="extra-params" value="--cascade=true" />
+      <param name="deployedapp.name" value="generic-embeddedApp" />
     </antcall>
   </target>
 
   <target name="clean">
-    <antcall target="clean-common"/>
+    <antcall target="clean-common" />
   </target>
 </project>
diff --git a/appserver/tests/appserv-tests/devtests/connector/v3/defaultConnectorResource/app/src/META-INF/sun-ejb-jar.xml b/appserver/tests/appserv-tests/devtests/connector/v3/defaultConnectorResource/app/src/META-INF/sun-ejb-jar.xml
index dff773d..5d25eb2 100755
--- a/appserver/tests/appserv-tests/devtests/connector/v3/defaultConnectorResource/app/src/META-INF/sun-ejb-jar.xml
+++ b/appserver/tests/appserv-tests/devtests/connector/v3/defaultConnectorResource/app/src/META-INF/sun-ejb-jar.xml
@@ -56,10 +56,7 @@
 
             <resource-ref>
                 <res-ref-name>MyDB</res-ref-name>
-                <!--  Using the default connector resource generated by the system
-        for the jdbcra resource adapter -->
-                <jndi-name>__SYSTEM/resource/generic-embeddedApp#sivajdbcra#javax.sql.XADataSource</jndi-name>
-                <!-- <jndi-name>jdbc/XAPointbase</jndi-name> -->
+                <jndi-name>__SYSTEM/resource/generic-embeddedApp#connectors-ra-redeploy-rars-xa#javax.sql.XADataSource</jndi-name>
             </resource-ref>
 
             <gen-classes/>
@@ -85,10 +82,7 @@
             </ior-security-config>
             <resource-ref>
                 <res-ref-name>MyDB</res-ref-name>
-                <!-- <jndi-name>jdbc/XAPointbase</jndi-name> -->
-                <!--  Using the default connector resource generated by the system
-        for the jdbcra resource adapter -->
-                <jndi-name>__SYSTEM/resource/generic-embeddedApp#sivajdbcra#javax.sql.XADataSource</jndi-name>
+                <jndi-name>__SYSTEM/resource/generic-embeddedApp#connectors-ra-redeploy-rars-xa#javax.sql.XADataSource</jndi-name>
             </resource-ref>
             <resource-env-ref>
                 <resource-env-ref-name>eis/testAdmin</resource-env-ref-name>
diff --git a/appserver/tests/appserv-tests/devtests/connector/v3/defaultConnectorResource/app/src/build.xml b/appserver/tests/appserv-tests/devtests/connector/v3/defaultConnectorResource/app/src/build.xml
index 560a658..ed31933 100755
--- a/appserver/tests/appserv-tests/devtests/connector/v3/defaultConnectorResource/app/src/build.xml
+++ b/appserver/tests/appserv-tests/devtests/connector/v3/defaultConnectorResource/app/src/build.xml
@@ -55,25 +55,6 @@
             <param name="sun-web.xml" value="META-INF/sun-web.xml"/>
             <param name="webclient.war.classes" value="servlet/*.class, beans/*.class"/>
         </antcall>
-
-
-        <!--
-            <antcall target="appclient-jar-common">
-                <param name="appname" value="generic-embedded" />
-                <param name="application-client.xml" value="META-INF/application-client.xml" />
-                <param name="appclientjar.classes" value="mdb/*.class, beans/*.class, connector/*.class, client/Client.class" />
-                <param name="sun-application-client.xml" value="META-INF/sun-application-client.xml" />
-            </antcall>
-        -->
-        <!--
-            <jar jarfile="../ejb.jar" basedir="classes"
-                 includes="mdb/*.class, beans/*.class, connector/*.class" >
-                        <metainf dir="META-INF">
-                                <include name="ejb-jar.xml"/>
-                                <include name="sun-ejb-jar.xml"/>
-                        </metainf>
-            </jar>
-        -->
     </target>
 
     <target name="clean">
diff --git a/appserver/tests/appserv-tests/devtests/connector/v3/defaultConnectorResource/build.xml b/appserver/tests/appserv-tests/devtests/connector/v3/defaultConnectorResource/build.xml
index 2deee39..d647a84 100755
--- a/appserver/tests/appserv-tests/devtests/connector/v3/defaultConnectorResource/build.xml
+++ b/appserver/tests/appserv-tests/devtests/connector/v3/defaultConnectorResource/build.xml
@@ -18,95 +18,87 @@
 
 <!DOCTYPE project [
   <!ENTITY common SYSTEM "../../../../config/common.xml">
-  <!ENTITY testcommon SYSTEM "../../../../config/properties.xml">
-  <!ENTITY testproperties SYSTEM "./build.properties">
+<!ENTITY testcommon SYSTEM "../../../../config/properties.xml">
+<!ENTITY testproperties SYSTEM "./build.properties">
 ]>
 
 <project name="connector1.5 TEST" default="all" basedir=".">
-<property name="j2ee.home" value="../../.."/>
-<property name="client.class" value="client/Client"/>
+  <property name="j2ee.home" value="../../.." />
+  <property name="client.class" value="client/Client" />
 
   <!-- include common.xml and testcommon.xml -->
   &common;
   &testcommon;
   &testproperties;
 
-  <target name="all" depends="init-common, build, disable-resource-validation, setup, runtest, unset, enable-resource-validation"/>
+  <target name="all"
+          depends="init-common, build, disable-resource-validation, setup, runtest, unset, enable-resource-validation"
+  />
   <target name="build" depends="init-common">
-   <ant dir="ra" inheritAll="false" target="all"/>
-   <ant dir="app" inheritAll="false" target="all"/>
+    <ant dir="ra" inheritAll="false" target="all" />
+    <ant dir="app" inheritAll="false" target="all" />
   </target>
 
   <target name="setup">
-    <ant dir="app" inheritAll="false" target="setupJdbc"/>
-    <ant dir="." inheritAll="false" target="deploy"/>
+    <ant dir="app" inheritAll="false" target="setupJdbc" />
+    <ant dir="." inheritAll="false" target="deploy" />
   </target>
 
   <target name="deploy">
-    <ant dir="app" inheritAll="false" target="deploy-ear"/>
-    <ant dir="ra" inheritAll="false" target="testAddAdmin"/>
-    <ant dir="." inheritAll="false" target="restart"/>
+    <ant dir="app" inheritAll="false" target="deploy-ear" />
+    <ant dir="ra" inheritAll="false" target="testAddAdmin" />
+    <ant dir="." inheritAll="false" target="restart" />
   </target>
 
   <target name="disable-resource-validation">
     <antcall target="create-jvm-options">
-      <param name="option" value="-Ddeployment.resource.validation=false"/>
+      <param name="option" value="-Ddeployment.resource.validation=false" />
     </antcall>
-    <antcall target="restart-server"/>
+    <antcall target="restart-server" />
   </target>
 
   <target name="enable-resource-validation">
     <antcall target="delete-jvm-options">
-      <param name="option" value="-Ddeployment.resource.validation=false"/>
+      <param name="option" value="-Ddeployment.resource.validation=false" />
     </antcall>
-    <antcall target="restart-server"/>
+    <antcall target="restart-server" />
   </target>
 
+  <target name="runtest" depends="init-common">
 
-  <!--
-    <target name="runtest" depends="init-common">
-      <antcall target="runclient-common">
-      <param name="appname" value="generic-embedded" />
-      </antcall>
-    </target>
-  -->
+    <java classname="client.WebTest">
+      <arg value="${http.host}" />
+      <arg value="${http.port}" />
+      <arg value="${contextroot}" />
+      <classpath>
+        <pathelement location="${env.APS_HOME}/lib/reporter.jar" />
+        <pathelement location="app" />
+      </classpath>
+    </java>
 
-    <target name="runtest" depends="init-common">
-
-          <java classname="client.WebTest">
-            <arg value="${http.host}"/>
-            <arg value="${http.port}"/>
-            <arg value="${contextroot}"/>
-            <classpath>
-             <pathelement location="${env.APS_HOME}/lib/reporter.jar"/>
-             <pathelement location="app"/>
-           </classpath>
-          </java>
-
-      </target>
+  </target>
 
 
   <target name="unset">
-    <ant dir="app" inheritAll="false" target="unsetJdbc"/>
-    <ant dir="." inheritAll="false" target="undeploy"/>
-    <ant dir="." inheritAll="false" target="restart"/>
+    <ant dir="app" inheritAll="false" target="unsetJdbc" />
+    <ant dir="." inheritAll="false" target="undeploy" />
+    <ant dir="." inheritAll="false" target="restart" />
   </target>
 
   <target name="undeploy">
-    <!--ant dir="ra" inheritAll="false" target="testDelAdmin"/-->
-    <ant dir="app" inheritAll="false" target="undeploy"/>
+    <ant dir="app" inheritAll="false" target="undeploy" />
   </target>
 
   <target name="restart" depends="init-common">
-    <echo message="Not required to restart"/>
+    <echo message="Not required to restart" />
   </target>
 
   <target name="clean">
-    <ant dir="ra" inheritAll="false" target="clean"/>
-    <ant dir="app" inheritAll="false" target="clean"/>
-    <ant dir="." inheritAll="false" target="unset"/>
-    <ant dir="." inheritAll="false" target="undeploy"/>
-    <ant dir="." inheritAll="false" target="restart"/>
+    <ant dir="ra" inheritAll="false" target="clean" />
+    <ant dir="app" inheritAll="false" target="clean" />
+    <ant dir="." inheritAll="false" target="unset" />
+    <ant dir="." inheritAll="false" target="undeploy" />
+    <ant dir="." inheritAll="false" target="restart" />
   </target>
 
 
diff --git a/appserver/tests/appserv-tests/devtests/connector/v3/defaultConnectorResource/ra/META-INF/ra.xml b/appserver/tests/appserv-tests/devtests/connector/v3/defaultConnectorResource/ra/META-INF/ra.xml
index 21deb93..f269940 100755
--- a/appserver/tests/appserv-tests/devtests/connector/v3/defaultConnectorResource/ra/META-INF/ra.xml
+++ b/appserver/tests/appserv-tests/devtests/connector/v3/defaultConnectorResource/ra/META-INF/ra.xml
@@ -2,6 +2,7 @@
 <!--
 
     Copyright (c) 2017, 2018 Oracle and/or its affiliates. All rights reserved.
+    Copyright (c) 2022 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
@@ -17,14 +18,13 @@
 
 -->
 
-<!--
-<!DOCTYPE connector PUBLIC '-//Sun Microsystems, Inc.//DTD Connector 1.5//EN' 'http://java.sun.com/dtd/connector_1_5.dtd'>
--->
-<connector xmlns="http://java.sun.com/xml/ns/j2ee"
-           xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-           xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee
-           http://java.sun.com/xml/ns/j2ee/connector_1_5.xsd"
-           version="1.5">
+<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/jakartaee_9.xsd
+       https://jakarta.ee/xml/ns/jakartaee/connector_2_0.xsd"
+    version="2.0"
+>
     <display-name>Simple Resource Adapter</display-name>
     <vendor-name>Java Software</vendor-name>
     <eis-type>Generic Type</eis-type>
diff --git a/appserver/tests/appserv-tests/devtests/connector/v3/defaultConnectorResource/ra/build.xml b/appserver/tests/appserv-tests/devtests/connector/v3/defaultConnectorResource/ra/build.xml
index 75a4493..d521569 100755
--- a/appserver/tests/appserv-tests/devtests/connector/v3/defaultConnectorResource/ra/build.xml
+++ b/appserver/tests/appserv-tests/devtests/connector/v3/defaultConnectorResource/ra/build.xml
@@ -58,7 +58,6 @@
       <param name="admin.command" value="create-admin-object --target ${appserver.instance.name} --restype connector.MyAdminObject --raname generic-embeddedApp#generic-ra --property ResetControl=BEGINNING"/>
       <param name="operand.props" value="eis/testAdmin"/>
     </antcall>
-    <!--<antcall target="reconfig-common"/>-->
   </target>
 
   <target name="testDelAdmin" depends="init-common">
@@ -66,7 +65,6 @@
       <param name="admin.command" value="delete-admin-object"/>
       <param name="operand.props" value="--target ${appserver.instance.name} eis/testAdmin"/>
     </antcall>
-    <!--<antcall target="reconfig-common"/>-->
   </target>
 
   <target name="sendMessage" depends="init-common">
diff --git a/appserver/tests/appserv-tests/devtests/connector/v3/defaultConnectorResource/ra/sivajdbcra.rar b/appserver/tests/appserv-tests/devtests/connector/v3/defaultConnectorResource/ra/sivajdbcra.rar
deleted file mode 100644
index 701df2f..0000000
--- a/appserver/tests/appserv-tests/devtests/connector/v3/defaultConnectorResource/ra/sivajdbcra.rar
+++ /dev/null
Binary files differ
diff --git a/appserver/tests/appserv-tests/devtests/connector/v3/ejb32-mdb/ra/META-INF/ra.xml b/appserver/tests/appserv-tests/devtests/connector/v3/ejb32-mdb/ra/META-INF/ra.xml
index f32f21d..e6f1bb1 100644
--- a/appserver/tests/appserv-tests/devtests/connector/v3/ejb32-mdb/ra/META-INF/ra.xml
+++ b/appserver/tests/appserv-tests/devtests/connector/v3/ejb32-mdb/ra/META-INF/ra.xml
@@ -1,6 +1,7 @@
 <!--
 
     Copyright (c) 2017, 2018 Oracle and/or its affiliates. All rights reserved.
+    Copyright (c) 2022 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
@@ -16,12 +17,13 @@
 
 -->
 
-<connector xmlns="http://java.sun.com/xml/ns/j2ee"
-           xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-           xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee
-           http://java.sun.com/xml/ns/j2ee/connector_1_5.xsd"
-           version="1.5">
-
+<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/jakartaee_9.xsd
+       https://jakarta.ee/xml/ns/jakartaee/connector_2_0.xsd"
+    version="2.0"
+>
   <description>Generic ResourceAdapter</description>
   <display-name>Generic ResourceAdapter</display-name>
 
diff --git a/appserver/tests/appserv-tests/devtests/connector/v3/embeddedweb-resources-xml/ra/src/com/sun/jdbcra/spi/1.4/ra-ds.xml b/appserver/tests/appserv-tests/devtests/connector/v3/embeddedweb-resources-xml/ra/src/com/sun/jdbcra/spi/1.4/ra-ds.xml
index e129138..8e575fe 100755
--- a/appserver/tests/appserv-tests/devtests/connector/v3/embeddedweb-resources-xml/ra/src/com/sun/jdbcra/spi/1.4/ra-ds.xml
+++ b/appserver/tests/appserv-tests/devtests/connector/v3/embeddedweb-resources-xml/ra/src/com/sun/jdbcra/spi/1.4/ra-ds.xml
@@ -2,6 +2,7 @@
 <!--
 
     Copyright (c) 2017, 2018 Oracle and/or its affiliates. All rights reserved.
+    Copyright (c) 2022 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
@@ -17,9 +18,13 @@
 
 -->
 
-<connector xmlns="http://java.sun.com/xml/ns/j2ee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-           xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/connector_1_5.xsd"
-           version="1.5">
+<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/jakartaee_9.xsd
+       https://jakarta.ee/xml/ns/jakartaee/connector_2_0.xsd"
+    version="2.0"
+>
 
     <!-- There can be any number of "description" elements including 0 -->
     <!-- This field can be optionally used by the driver vendor to provide a
@@ -243,7 +248,7 @@
 
                 <authentication-mechanism-type>BasicPassword</authentication-mechanism-type>
 
-                <credential-interface>javax.resource.spi.security.PasswordCredential</credential-interface>
+                <credential-interface>jakarta.resource.spi.security.PasswordCredential</credential-interface>
             </authentication-mechanism>
 
             <reauthentication-support>false</reauthentication-support>
diff --git a/appserver/tests/appserv-tests/devtests/connector/v3/embeddedweb/build.xml b/appserver/tests/appserv-tests/devtests/connector/v3/embeddedweb/build.xml
index a8b0f36..7b96962 100755
--- a/appserver/tests/appserv-tests/devtests/connector/v3/embeddedweb/build.xml
+++ b/appserver/tests/appserv-tests/devtests/connector/v3/embeddedweb/build.xml
@@ -33,216 +33,190 @@
     &commonRun;
     &testproperties;
 
-<!--
-    <target name="all" depends="build,setup,deploy-war, run-war, undeploy-war, deploy-ear, run-ear, undeploy-ear, unsetup"/>
+  <target name="all"
+          depends="build, disable-resource-validation, deploy-ear, setup, run-ear, unsetup, undeploy-ear, enable-resource-validation"
+  />
 
-    <target name="run-test" depends="build,deploy-war, run-war, undeploy-war, deploy-ear, run-ear, undeploy-ear"/>
--->
-    <target name="all" depends="build, disable-resource-validation, deploy-ear, setup, run-ear, unsetup, undeploy-ear, enable-resource-validation"/>
+  <target name="clean" depends="init-common">
+    <antcall target="clean-common" />
+  </target>
 
-<!--
-        <antcall target="build"/>
-        <antcall target="setup"/>
-        <antcall target="deploy-war"/>
-        <antcall target="run-war"/>
-        <antcall target="undeploy-war"/>
-        <antcall target="deploy-ear"/>
-        <antcall target="run-ear"/>
-        <antcall target="undeploy-ear"/>
-        <antcall target="unsetup"/>
-    </target>
--->
-
-    <target name="clean" depends="init-common">
-      <antcall target="clean-common"/>
-      <ant dir="ra" target="clean"/>
-    </target>
-
-    <target name="setup">
-            <antcall target="execute-sql-connector">
-                <param name="sql.file" value="sql/simpleBank.sql"/>
-            </antcall>
-            <antcall target="create-pool"/>
-            <antcall target="create-resource"/>
-            <antcall target="create-admin-object"/>
-    </target>
-
-        <target name="disable-resource-validation">
-                <antcall target="create-jvm-options">
-                        <param name="option" value="-Ddeployment.resource.validation=false"/>
-                </antcall>
-                <antcall target="restart-server"/>
-        </target>
-
-        <target name="enable-resource-validation">
-                <antcall target="delete-jvm-options">
-                        <param name="option" value="-Ddeployment.resource.validation=false"/>
-                </antcall>
-                <antcall target="restart-server"/>
-        </target>
-
-    <target name="create-pool">
-                <antcall target="create-connector-connpool-common">
-                <param name="ra.name" value="${appname}App#jdbcra"/>
-                <param name="extra-params" value="--matchconnections=false"/>
-                <param name="connection.defname" value="javax.sql.DataSource"/>
-                <param name="connector.conpool.name" value="embedded-ra-pool"/>
-        </antcall>
-        <antcall target="set-oracle-props">
-                <param name="pool.type" value="connector"/>
-                <param name="conpool.name" value="embedded-ra-pool"/>
-                </antcall>
-    </target>
-    <target name="create-resource">
-                <antcall target="create-connector-resource-common">
-                <param name="connector.conpool.name" value="embedded-ra-pool"/>
-                <param name="connector.jndi.name" value="jdbc/ejb-subclassing"/>
-                </antcall>
-     </target>
-
-
-     <target name="create-admin-object" depends="init-common">
-         <antcall target="asadmin-common">
-            <param name="admin.command" value="create-admin-object --target ${appserver.instance.name} --restype com.sun.jdbcra.spi.JdbcSetupAdmin --raname ${appname}App#jdbcra --property TableName=customer2:JndiName=jdbc/ejb-subclassing:SchemaName=DBUSER:NoOfRows=1"/>
-            <param name="operand.props" value="eis/jdbcAdmin"/>
-         </antcall>
-     </target>
-
-     <target name="delete-admin-object" depends="init-common">
-         <antcall target="asadmin-common">
-            <param name="admin.command" value="delete-admin-object"/>
-            <param name="operand.props" value="--target ${appserver.instance.name} eis/jdbcAdmin"/>
-         </antcall>
-         <!--<antcall target="reconfig-common"/>-->
-     </target>
-
-    <target name="restart">
-    <antcall target="restart-server-instance-common"/>
-    </target>
-
-     <target name="create-ra-config" depends="init-common">
-         <antcall target="asadmin-common">
-            <param name="admin.command" value="create-resource-adapter-config  --property RAProperty=VALID"/>
-            <param name="operand.props" value="${appname}App#jdbcra"/>
-         </antcall>
-     </target>
-
-     <target name="delete-ra-config" depends="init-common">
-         <antcall target="asadmin-common">
-            <param name="admin.command" value="delete-resource-adapter-config"/>
-            <param name="operand.props" value="${appname}App#jdbcra"/>
-         </antcall>
-         <!--<antcall target="reconfig-common"/>-->
-     </target>
-
-    <target name="unsetup">
+  <target name="setup">
     <antcall target="execute-sql-connector">
-        <param name="sql.file" value="sql/dropBankTables.sql"/>
-      </antcall>
+      <param name="sql.file" value="sql/simpleBank.sql" />
+    </antcall>
+    <antcall target="create-pool" />
+    <antcall target="create-resource" />
+    <antcall target="create-admin-object" />
+  </target>
 
-<!--    <antcall target="delete-resource"/>
-    <antcall target="delete-pool"/>
-    <antcall target="delete-admin-object"/>-->
-    </target>
+  <target name="disable-resource-validation">
+    <antcall target="create-jvm-options">
+      <param name="option" value="-Ddeployment.resource.validation=false" />
+    </antcall>
+    <antcall target="restart-server" />
+  </target>
 
-    <target name="delete-pool">
-                <antcall target="delete-connector-connpool-common">
-                <param name="connector.conpool.name" value="embedded-ra-pool"/>
-                </antcall>
-     </target>
+  <target name="enable-resource-validation">
+    <antcall target="delete-jvm-options">
+      <param name="option" value="-Ddeployment.resource.validation=false" />
+    </antcall>
+    <antcall target="restart-server" />
+  </target>
 
-     <target name="delete-resource">
-                <antcall target="delete-connector-resource-common">
-                <param name="connector.jndi.name" value="jdbc/ejb-subclassing"/>
-                </antcall>
-    </target>
-
-    <target name="compile" depends="clean">
-        <ant dir="ra" target="compile"/>
-        <antcall target="compile-common">
-            <param name="src" value="ejb"/>
-        </antcall>
-        <antcall target="compile-servlet" />
-    </target>
-
-    <target name="compile-servlet" depends="init-common">
-      <mkdir dir="${build.classes.dir}"/>
-      <echo message="common.xml: Compiling test source files" level="verbose"/>
-      <javac srcdir="servlet"
-         destdir="${build.classes.dir}"
-         classpath="${s1astest.classpath}:ra/publish/internal/classes"
-         debug="on"
-         failonerror="true"/>
-     </target>
+  <target name="create-pool">
+    <antcall target="create-connector-connpool-common">
+      <param name="ra.name" value="${appname}App#connectors-ra-redeploy-rars" />
+      <param name="extra-params" value="--matchconnections=false" />
+      <param name="connection.defname" value="javax.sql.DataSource" />
+      <param name="connector.conpool.name" value="embedded-ra-pool" />
+    </antcall>
+    <antcall target="set-oracle-props">
+      <param name="pool.type" value="connector" />
+      <param name="conpool.name" value="embedded-ra-pool" />
+    </antcall>
+  </target>
+  <target name="create-resource">
+    <antcall target="create-connector-resource-common">
+      <param name="connector.conpool.name" value="embedded-ra-pool" />
+      <param name="connector.jndi.name" value="jdbc/ejb-subclassing" />
+    </antcall>
+  </target>
 
 
-    <target name="build-ra">
-       <ant dir="ra" target="build"/>
-    </target>
+  <target name="create-admin-object" depends="init-common">
+    <antcall target="asadmin-common">
+      <param name="admin.command"
+             value="create-admin-object --target ${appserver.instance.name} --restype com.sun.jdbcra.spi.JdbcSetupAdmin --raname ${appname}App#connectors-ra-redeploy-rars --property TableName=customer2:JndiName=jdbc/ejb-subclassing:SchemaName=DBUSER:NoOfRows=1"
+      />
+      <param name="operand.props" value="eis/jdbcAdmin" />
+    </antcall>
+  </target>
 
-    <target name="build" depends="compile">
-    <property name="hasWebclient" value="yes"/>
-    <ant dir="ra" target="assemble"/>
+  <target name="delete-admin-object" depends="init-common">
+    <antcall target="asadmin-common">
+      <param name="admin.command" value="delete-admin-object" />
+      <param name="operand.props" value="--target ${appserver.instance.name} eis/jdbcAdmin" />
+    </antcall>
+  </target>
+
+  <target name="restart">
+    <antcall target="restart-server-instance-common" />
+  </target>
+
+  <target name="create-ra-config" depends="init-common">
+    <antcall target="asadmin-common">
+      <param name="admin.command"
+             value="create-resource-adapter-config  --property RAProperty=VALID"
+      />
+      <param name="operand.props" value="${appname}App#connectors-ra-redeploy-rars" />
+    </antcall>
+  </target>
+
+  <target name="delete-ra-config" depends="init-common">
+    <antcall target="asadmin-common">
+      <param name="admin.command" value="delete-resource-adapter-config" />
+      <param name="operand.props" value="${appname}App#connectors-ra-redeploy-rars" />
+    </antcall>
+  </target>
+
+  <target name="unsetup">
+    <antcall target="execute-sql-connector">
+      <param name="sql.file" value="sql/dropBankTables.sql" />
+    </antcall>
+  </target>
+
+  <target name="delete-pool">
+    <antcall target="delete-connector-connpool-common">
+      <param name="connector.conpool.name" value="embedded-ra-pool" />
+    </antcall>
+  </target>
+
+  <target name="delete-resource">
+    <antcall target="delete-connector-resource-common">
+      <param name="connector.jndi.name" value="jdbc/ejb-subclassing" />
+    </antcall>
+  </target>
+
+  <target name="compile" depends="clean">
+    <antcall target="compile-common">
+      <param name="src" value="ejb" />
+    </antcall>
+    <antcall target="compile-servlet" />
+  </target>
+
+  <target name="compile-servlet" depends="init-common">
+    <mkdir dir="${build.classes.dir}" />
+    <echo message="common.xml: Compiling test source files" level="verbose" />
+    <javac srcdir="servlet"
+           destdir="${build.classes.dir}"
+           classpath="${s1astest.classpath}:${bundles.dir}/connectors-ra-redeploy-jars.jar"
+           debug="on"
+           failonerror="true"
+    />
+  </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"/>
+      <param name="hasWebclient" value="yes" />
+      <param name="webclient.war.classes" value="**/*.class" />
     </antcall>
 
     <antcall target="ejb-jar-common">
-    <param name="ejbjar.classes" value="**/*.class"/>
+      <param name="ejbjar.classes" value="**/*.class" />
     </antcall>
 
 
-    <delete file="${assemble.dir}/${appname}.ear"/>
-    <mkdir dir="${assemble.dir}"/>
-    <mkdir dir="${build.classes.dir}/META-INF"/>
-    <ear earfile="${assemble.dir}/${appname}App.ear"
-     appxml="${application.xml}">
-    <fileset dir="${assemble.dir}">
-      <include name="*.jar"/>
-      <include name="*.war"/>
-    </fileset>
-    <fileset dir="ra/publish/lib">
-      <include name="*.rar"/>
-    </fileset>
+    <delete file="${assemble.dir}/${appname}.ear" />
+    <mkdir dir="${assemble.dir}" />
+    <mkdir dir="${build.classes.dir}/META-INF" />
+    <ear earfile="${assemble.dir}/${appname}App.ear" appxml="${application.xml}">
+      <fileset dir="${assemble.dir}">
+        <include name="*.jar" />
+        <include name="*.war" />
+      </fileset>
+      <fileset dir="${bundles.dir}">
+        <include name="connectors-ra-redeploy-rars.rar" />
+      </fileset>
     </ear>
-    </target>
+  </target>
 
 
-    <target name="deploy-ear" depends="init-common">
-        <antcall target="create-ra-config"/>
-        <antcall target="deploy-common"/>
-    </target>
+  <target name="deploy-ear" depends="init-common">
+    <antcall target="create-ra-config" />
+    <antcall target="deploy-common" />
+  </target>
 
-    <target name="deploy-war" depends="init-common">
-        <antcall target="deploy-war-common"/>
-    </target>
+  <target name="deploy-war" depends="init-common">
+    <antcall target="deploy-war-common" />
+  </target>
 
-    <target name="run-war" depends="init-common">
-        <antcall target="runwebclient-common">
-        <param name="testsuite.id" value="embeddedweb (stand-alone war based)"/>
-        </antcall>
-    </target>
+  <target name="run-war" depends="init-common">
+    <antcall target="runwebclient-common">
+      <param name="testsuite.id" value="embeddedweb (stand-alone war based)" />
+    </antcall>
+  </target>
 
-    <target name="run-ear" depends="init-common">
-        <antcall target="runwebclient-common">
-        <param name="testsuite.id" value="embeddedweb (ear based)"/>
-        </antcall>
-    </target>
+  <target name="run-ear" depends="init-common">
+    <antcall target="runwebclient-common">
+      <param name="testsuite.id" value="embeddedweb (ear based)" />
+    </antcall>
+  </target>
 
-    <target name="undeploy-ear" depends="init-common">
-        <antcall target="delete-ra-config"/>
-        <antcall target="undeploy-common">
-            <param name="extra-params" value="--cascade=true"/>
-        </antcall>
-    </target>
+  <target name="undeploy-ear" depends="init-common">
+    <antcall target="delete-ra-config" />
+    <antcall target="undeploy-common">
+      <param name="extra-params" value="--cascade=true" />
+    </antcall>
+  </target>
 
-    <target name="undeploy-war" depends="init-common">
-        <antcall target="undeploy-war-common"/>
-    </target>
+  <target name="undeploy-war" depends="init-common">
+    <antcall target="undeploy-war-common" />
+  </target>
 
-    <target name="usage">
-        <antcall target="usage-common"/>
-    </target>
+  <target name="usage">
+    <antcall target="usage-common" />
+  </target>
 </project>
diff --git a/appserver/tests/appserv-tests/devtests/connector/v3/embeddedweb/descriptor/application.xml b/appserver/tests/appserv-tests/devtests/connector/v3/embeddedweb/descriptor/application.xml
index 7fb3227..39abc00 100755
--- a/appserver/tests/appserv-tests/devtests/connector/v3/embeddedweb/descriptor/application.xml
+++ b/appserver/tests/appserv-tests/devtests/connector/v3/embeddedweb/descriptor/application.xml
@@ -25,7 +25,7 @@
   </module>
 
   <module>
-    <connector>jdbcra.rar</connector>
+    <connector>connectors-ra-redeploy-rars.rar</connector>
   </module>
 
   <module>
diff --git a/appserver/tests/appserv-tests/devtests/connector/v3/embeddedweb/ra/build.properties b/appserver/tests/appserv-tests/devtests/connector/v3/embeddedweb/ra/build.properties
deleted file mode 100755
index fd21c3d..0000000
--- a/appserver/tests/appserv-tests/devtests/connector/v3/embeddedweb/ra/build.properties
+++ /dev/null
@@ -1,23 +0,0 @@
-#
-# Copyright (c) 2002, 2018 Oracle and/or its affiliates. All rights reserved.
-#
-# This program and the accompanying materials are made available under the
-# terms of the Eclipse Public License v. 2.0, which is available at
-# http://www.eclipse.org/legal/epl-2.0.
-#
-# This Source Code may also be made available under the following Secondary
-# Licenses when the conditions for such availability set forth in the
-# Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
-# version 2 with the GNU Classpath Exception, which is available at
-# https://www.gnu.org/software/classpath/license.html.
-#
-# SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
-#
-
-
-### Component Properties ###
-src.dir=src
-component.publish.home=.
-component.classes.dir=${component.publish.home}/internal/classes
-component.lib.home=${component.publish.home}/lib
-component.publish.home=publish
diff --git a/appserver/tests/appserv-tests/devtests/connector/v3/embeddedweb/ra/build.xml b/appserver/tests/appserv-tests/devtests/connector/v3/embeddedweb/ra/build.xml
deleted file mode 100755
index d46131f..0000000
--- a/appserver/tests/appserv-tests/devtests/connector/v3/embeddedweb/ra/build.xml
+++ /dev/null
@@ -1,92 +0,0 @@
-<!DOCTYPE project [
-<!--
-
-    Copyright (c) 2017, 2018 Oracle and/or its affiliates. All rights reserved.
-
-    This program and the accompanying materials are made available under the
-    terms of the Eclipse Public License v. 2.0, which is available at
-    http://www.eclipse.org/legal/epl-2.0.
-
-    This Source Code may also be made available under the following Secondary
-    Licenses when the conditions for such availability set forth in the
-    Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
-    version 2 with the GNU Classpath Exception, which is available at
-    https://www.gnu.org/software/classpath/license.html.
-
-    SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
-
--->
-
-  <!ENTITY common SYSTEM "../../../../../config/common.xml">
-  <!ENTITY testcommon SYSTEM "../../../../../config/properties.xml">
-]>
-
-<project name="JDBCConnector top level" default="build">
-    <property name="pkg.dir" value="com/sun/jdbcra/spi"/>
-
-    &common;
-    &testcommon;
-    <property file="./build.properties"/>
-
-    <target name="build" depends="compile,assemble" />
-
-
-    <!-- init. Initialization involves creating publishing directories and
-         OS specific targets. -->
-    <target name="init" description="${component.name} initialization">
-        <tstamp>
-            <format property="start.time" pattern="MM/dd/yyyy hh:mm aa"/>
-        </tstamp>
-        <echo message="Building component ${component.name}"/>
-        <mkdir dir="${component.classes.dir}"/>
-        <mkdir dir="${component.lib.home}"/>
-    </target>
-    <!-- compile -->
-    <target name="compile" depends="init"
-            description="Compile com/sun/* com/iplanet/* sources">
-        <!--<echo message="Connector api resides in ${connector-api.jar}"/>-->
-        <javac srcdir="${src.dir}"
-               destdir="${component.classes.dir}"
-               failonerror="true">
-               <classpath>
-                  <fileset dir="${env.S1AS_HOME}/modules">
-                        <include name="**/*.jar" />
-                  </fileset>
-               </classpath>
-            <include name="com/sun/jdbcra/**"/>
-            <include name="com/sun/appserv/**"/>
-        </javac>
-    </target>
-
-    <target name="all" depends="build"/>
-
-   <target name="assemble">
-
-        <jar jarfile="${component.lib.home}/jdbc.jar"
-            basedir="${component.classes.dir}" includes="${pkg.dir}/**/*,
-            com/sun/appserv/**/*, com/sun/jdbcra/util/**/*, com/sun/jdbcra/common/**/*"/>
-
-        <copy file="${src.dir}/com/sun/jdbcra/spi/1.4/ra-ds.xml"
-                tofile="${component.lib.home}/ra.xml" overwrite="yes">
-        </copy>
-           <jar jarfile="${component.lib.home}/jdbcra.rar"
-                basedir="${component.lib.home}" includes="jdbc.jar">
-
-                   <metainf dir="${component.lib.home}">
-                           <include name="ra.xml"/>
-                   </metainf>
-           </jar>
-
-           <delete file="${component.lib.home}/ra.xml"/>
-
-  </target>
-
-    <target name="clean" description="Clean the build">
-        <delete includeEmptyDirs="true" failonerror="false">
-            <fileset dir="${component.classes.dir}"/>
-            <fileset dir="${component.lib.home}"/>
-        </delete>
-    </target>
-
-</project>
-
diff --git a/appserver/tests/appserv-tests/devtests/connector/v3/embeddedweb/ra/src/com/sun/appserv/jdbcra/DataSource.java b/appserver/tests/appserv-tests/devtests/connector/v3/embeddedweb/ra/src/com/sun/appserv/jdbcra/DataSource.java
deleted file mode 100755
index b6ef30b..0000000
--- a/appserver/tests/appserv-tests/devtests/connector/v3/embeddedweb/ra/src/com/sun/appserv/jdbcra/DataSource.java
+++ /dev/null
@@ -1,55 +0,0 @@
-/*
- * Copyright (c) 2003, 2018 Oracle and/or its affiliates. All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v. 2.0, which is available at
- * http://www.eclipse.org/legal/epl-2.0.
- *
- * This Source Code may also be made available under the following Secondary
- * Licenses when the conditions for such availability set forth in the
- * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
- * version 2 with the GNU Classpath Exception, which is available at
- * https://www.gnu.org/software/classpath/license.html.
- *
- * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
- */
-
-package com.sun.appserv.jdbcra;
-
-import java.sql.Connection;
-import java.sql.SQLException;
-
-/**
- * The <code>javax.sql.DataSource</code> implementation of SunONE application
- * server will implement this interface. An application program would be able
- * to use this interface to do the extended functionality exposed by SunONE
- * application server.
- * <p>A sample code for getting driver's connection implementation would like
- * the following.
- * <pre>
-     InitialContext ic = new InitialContext();
-     com.sun.appserv.DataSource ds = (com.sun.appserv.DataSOurce) ic.lookup("jdbc/PointBase");
-     Connection con = ds.getConnection();
-     Connection drivercon = ds.getConnection(con);
-
-     // Do db operations.
-
-     con.close();
-   </pre>
- *
- * @author Binod P.G
- */
-public interface DataSource extends javax.sql.DataSource {
-
-    /**
-     * Retrieves the actual SQLConnection from the Connection wrapper
-     * implementation of SunONE application server. If an actual connection is
-     * supplied as argument, then it will be just returned.
-     *
-     * @param con Connection obtained from <code>Datasource.getConnection()</code>
-     * @return <code>java.sql.Connection</code> implementation of the driver.
-     * @throws <code>java.sql.SQLException</code> If connection cannot be obtained.
-     */
-    public Connection getConnection(Connection con) throws SQLException;
-
-}
diff --git a/appserver/tests/appserv-tests/devtests/connector/v3/embeddedweb/ra/src/com/sun/jdbcra/common/DataSourceObjectBuilder.java b/appserver/tests/appserv-tests/devtests/connector/v3/embeddedweb/ra/src/com/sun/jdbcra/common/DataSourceObjectBuilder.java
deleted file mode 100755
index 8c55d51..0000000
--- a/appserver/tests/appserv-tests/devtests/connector/v3/embeddedweb/ra/src/com/sun/jdbcra/common/DataSourceObjectBuilder.java
+++ /dev/null
@@ -1,218 +0,0 @@
-/*
- * Copyright (c) 2003, 2018 Oracle and/or its affiliates. All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v. 2.0, which is available at
- * http://www.eclipse.org/legal/epl-2.0.
- *
- * This Source Code may also be made available under the following Secondary
- * Licenses when the conditions for such availability set forth in the
- * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
- * version 2 with the GNU Classpath Exception, which is available at
- * https://www.gnu.org/software/classpath/license.html.
- *
- * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
- */
-
-package com.sun.jdbcra.common;
-
-import java.lang.reflect.Method;
-import java.util.Hashtable;
-import java.util.Vector;
-import java.util.StringTokenizer;
-import java.util.Enumeration;
-import com.sun.jdbcra.util.MethodExecutor;
-import jakarta.resource.ResourceException;
-
-import java.util.logging.Logger;
-import java.util.logging.Level;
-/**
- * Utility class, which would create necessary Datasource object according to the
- * specification.
- *
- * @version        1.0, 02/07/23
- * @author        Binod P.G
- * @see                com.sun.jdbcra.common.DataSourceSpec
- * @see                com.sun.jdbcra.util.MethodExcecutor
- */
-public class DataSourceObjectBuilder implements java.io.Serializable{
-
-    private DataSourceSpec spec;
-
-    private Hashtable driverProperties = null;
-
-    private MethodExecutor executor = null;
-
-    private static Logger _logger;
-    static {
-        _logger = Logger.getAnonymousLogger();
-    }
-    private boolean debug = false;
-    /**
-     * Construct a DataSource Object from the spec.
-     *
-     * @param        spec        <code> DataSourceSpec </code> object.
-     */
-    public DataSourceObjectBuilder(DataSourceSpec spec) {
-            this.spec = spec;
-            executor = new MethodExecutor();
-    }
-
-    /**
-     * Construct the DataSource Object from the spec.
-     *
-     * @return        Object constructed using the DataSourceSpec.
-     * @throws        <code>ResourceException</code> if the class is not found or some issue in executing
-     *                some method.
-     */
-    public Object constructDataSourceObject() throws ResourceException{
-            driverProperties = parseDriverProperties(spec);
-        Object dataSourceObject = getDataSourceObject();
-        System.out.println("V3-TEST : "  + dataSourceObject);
-        Method[] methods = dataSourceObject.getClass().getMethods();
-        for (int i=0; i < methods.length; i++) {
-            String methodName = methods[i].getName();
-            if (methodName.equalsIgnoreCase("setUser")){
-                    executor.runJavaBeanMethod(spec.getDetail(DataSourceSpec.USERNAME),methods[i],dataSourceObject);
-
-            } else if (methodName.equalsIgnoreCase("setPassword")){
-                    executor.runJavaBeanMethod(spec.getDetail(DataSourceSpec.PASSWORD),methods[i],dataSourceObject);
-
-            } else if (methodName.equalsIgnoreCase("setLoginTimeOut")){
-                    executor.runJavaBeanMethod(spec.getDetail(DataSourceSpec.LOGINTIMEOUT),methods[i],dataSourceObject);
-
-            } else if (methodName.equalsIgnoreCase("setLogWriter")){
-                    executor.runJavaBeanMethod(spec.getDetail(DataSourceSpec.LOGWRITER),methods[i],dataSourceObject);
-
-            } else if (methodName.equalsIgnoreCase("setDatabaseName")){
-                    executor.runJavaBeanMethod(spec.getDetail(DataSourceSpec.DATABASENAME),methods[i],dataSourceObject);
-
-            } else if (methodName.equalsIgnoreCase("setDataSourceName")){
-                    executor.runJavaBeanMethod(spec.getDetail(DataSourceSpec.DATASOURCENAME),methods[i],dataSourceObject);
-
-            } else if (methodName.equalsIgnoreCase("setDescription")){
-                    executor.runJavaBeanMethod(spec.getDetail(DataSourceSpec.DESCRIPTION),methods[i],dataSourceObject);
-
-            } else if (methodName.equalsIgnoreCase("setNetworkProtocol")){
-                    executor.runJavaBeanMethod(spec.getDetail(DataSourceSpec.NETWORKPROTOCOL),methods[i],dataSourceObject);
-
-            } else if (methodName.equalsIgnoreCase("setPortNumber")){
-                    executor.runJavaBeanMethod(spec.getDetail(DataSourceSpec.PORTNUMBER),methods[i],dataSourceObject);
-
-            } else if (methodName.equalsIgnoreCase("setRoleName")){
-                    executor.runJavaBeanMethod(spec.getDetail(DataSourceSpec.ROLENAME),methods[i],dataSourceObject);
-
-            } else if (methodName.equalsIgnoreCase("setServerName")){
-                    executor.runJavaBeanMethod(spec.getDetail(DataSourceSpec.SERVERNAME),methods[i],dataSourceObject);
-
-            } else if (methodName.equalsIgnoreCase("setMaxStatements")){
-                    executor.runJavaBeanMethod(spec.getDetail(DataSourceSpec.MAXSTATEMENTS),methods[i],dataSourceObject);
-
-            } else if (methodName.equalsIgnoreCase("setInitialPoolSize")){
-                    executor.runJavaBeanMethod(spec.getDetail(DataSourceSpec.INITIALPOOLSIZE),methods[i],dataSourceObject);
-
-            } else if (methodName.equalsIgnoreCase("setMinPoolSize")){
-                    executor.runJavaBeanMethod(spec.getDetail(DataSourceSpec.MINPOOLSIZE),methods[i],dataSourceObject);
-
-            } else if (methodName.equalsIgnoreCase("setMaxPoolSize")){
-                    executor.runJavaBeanMethod(spec.getDetail(DataSourceSpec.MAXPOOLSIZE),methods[i],dataSourceObject);
-
-            } else if (methodName.equalsIgnoreCase("setMaxIdleTime")){
-                    executor.runJavaBeanMethod(spec.getDetail(DataSourceSpec.MAXIDLETIME),methods[i],dataSourceObject);
-
-            } else if (methodName.equalsIgnoreCase("setPropertyCycle")){
-                    executor.runJavaBeanMethod(spec.getDetail(DataSourceSpec.PROPERTYCYCLE),methods[i],dataSourceObject);
-
-            } else if (driverProperties.containsKey(methodName.toUpperCase())){
-                    Vector values = (Vector) driverProperties.get(methodName.toUpperCase());
-                executor.runMethod(methods[i],dataSourceObject, values);
-            }
-        }
-        return dataSourceObject;
-    }
-
-    /**
-     * Get the extra driver properties from the DataSourceSpec object and
-     * parse them to a set of methodName and parameters. Prepare a hashtable
-     * containing these details and return.
-     *
-     * @param        spec        <code> DataSourceSpec </code> object.
-     * @return        Hashtable containing method names and parameters,
-     * @throws        ResourceException        If delimiter is not provided and property string
-     *                                        is not null.
-     */
-    private Hashtable parseDriverProperties(DataSourceSpec spec) throws ResourceException{
-            String delim = spec.getDetail(DataSourceSpec.DELIMITER);
-
-        String prop = spec.getDetail(DataSourceSpec.DRIVERPROPERTIES);
-        if ( prop == null || prop.trim().equals("")) {
-            return new Hashtable();
-        } else if (delim == null || delim.equals("")) {
-            throw new ResourceException ("Delimiter is not provided in the configuration");
-        }
-
-        Hashtable properties = new Hashtable();
-        delim = delim.trim();
-        String sep = delim+delim;
-        int sepLen = sep.length();
-        String cache = prop;
-        Vector methods = new Vector();
-
-        while (cache.indexOf(sep) != -1) {
-            int index = cache.indexOf(sep);
-            String name = cache.substring(0,index);
-            if (name.trim() != "") {
-                methods.add(name);
-                    cache = cache.substring(index+sepLen);
-            }
-        }
-
-            Enumeration allMethods = methods.elements();
-            while (allMethods.hasMoreElements()) {
-                String oneMethod = (String) allMethods.nextElement();
-                if (!oneMethod.trim().equals("")) {
-                        String methodName = null;
-                        Vector parms = new Vector();
-                        StringTokenizer methodDetails = new StringTokenizer(oneMethod,delim);
-                for (int i=0; methodDetails.hasMoreTokens();i++ ) {
-                    String token = (String) methodDetails.nextToken();
-                    if (i==0) {
-                            methodName = token.toUpperCase();
-                    } else {
-                            parms.add(token);
-                    }
-                }
-                properties.put(methodName,parms);
-                }
-            }
-            return properties;
-    }
-
-    /**
-     * Creates a Datasource object according to the spec.
-     *
-     * @return        Initial DataSource Object instance.
-     * @throws        <code>ResourceException</code> If class name is wrong or classpath is not set
-     *                properly.
-     */
-    private Object getDataSourceObject() throws ResourceException{
-            String className = spec.getDetail(DataSourceSpec.CLASSNAME);
-        try {
-            Class dataSourceClass = Class.forName(className);
-            Object dataSourceObject = dataSourceClass.newInstance();
-            System.out.println("V3-TEST : "  + dataSourceObject);
-            return dataSourceObject;
-        } catch(ClassNotFoundException cfne){
-            _logger.log(Level.SEVERE, "jdbc.exc_cnfe_ds", cfne);
-
-            throw new ResourceException("Class Name is wrong or Class path is not set for :" + className);
-        } catch(InstantiationException ce) {
-            _logger.log(Level.SEVERE, "jdbc.exc_inst", className);
-            throw new ResourceException("Error in instantiating" + className);
-        } catch(IllegalAccessException ce) {
-            _logger.log(Level.SEVERE, "jdbc.exc_acc_inst", className);
-            throw new ResourceException("Access Error in instantiating" + className);
-        }
-    }
-
-}
diff --git a/appserver/tests/appserv-tests/devtests/connector/v3/embeddedweb/ra/src/com/sun/jdbcra/common/DataSourceSpec.java b/appserver/tests/appserv-tests/devtests/connector/v3/embeddedweb/ra/src/com/sun/jdbcra/common/DataSourceSpec.java
deleted file mode 100755
index 1c4b072..0000000
--- a/appserver/tests/appserv-tests/devtests/connector/v3/embeddedweb/ra/src/com/sun/jdbcra/common/DataSourceSpec.java
+++ /dev/null
@@ -1,110 +0,0 @@
-/*
- * Copyright (c) 2003, 2018 Oracle and/or its affiliates. All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v. 2.0, which is available at
- * http://www.eclipse.org/legal/epl-2.0.
- *
- * This Source Code may also be made available under the following Secondary
- * Licenses when the conditions for such availability set forth in the
- * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
- * version 2 with the GNU Classpath Exception, which is available at
- * https://www.gnu.org/software/classpath/license.html.
- *
- * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
- */
-
-package com.sun.jdbcra.common;
-
-import java.util.Hashtable;
-
-/**
- * Encapsulate the DataSource object details obtained from
- * ManagedConnectionFactory.
- *
- * @version        1.0, 02/07/23
- * @author        Binod P.G
- */
-public class DataSourceSpec implements java.io.Serializable{
-
-    public static final int USERNAME                                = 1;
-    public static final int PASSWORD                                = 2;
-    public static final int URL                                        = 3;
-    public static final int LOGINTIMEOUT                        = 4;
-    public static final int LOGWRITER                                = 5;
-    public static final int DATABASENAME                        = 6;
-    public static final int DATASOURCENAME                        = 7;
-    public static final int DESCRIPTION                                = 8;
-    public static final int NETWORKPROTOCOL                        = 9;
-    public static final int PORTNUMBER                                = 10;
-    public static final int ROLENAME                                = 11;
-    public static final int SERVERNAME                                = 12;
-    public static final int MAXSTATEMENTS                        = 13;
-    public static final int INITIALPOOLSIZE                        = 14;
-    public static final int MINPOOLSIZE                                = 15;
-    public static final int MAXPOOLSIZE                                = 16;
-    public static final int MAXIDLETIME                                = 17;
-    public static final int PROPERTYCYCLE                        = 18;
-    public static final int DRIVERPROPERTIES                        = 19;
-    public static final int CLASSNAME                                = 20;
-    public static final int DELIMITER                                = 21;
-
-    public static final int XADATASOURCE                        = 22;
-    public static final int DATASOURCE                                = 23;
-    public static final int CONNECTIONPOOLDATASOURCE                = 24;
-
-    //GJCINT
-    public static final int CONNECTIONVALIDATIONREQUIRED        = 25;
-    public static final int VALIDATIONMETHOD                        = 26;
-    public static final int VALIDATIONTABLENAME                        = 27;
-
-    public static final int TRANSACTIONISOLATION                = 28;
-    public static final int GUARANTEEISOLATIONLEVEL                = 29;
-
-    private Hashtable details = new Hashtable();
-
-    /**
-     * Set the property.
-     *
-     * @param        property        Property Name to be set.
-     * @param        value                Value of property to be set.
-     */
-    public void setDetail(int property, String value) {
-            details.put(new Integer(property),value);
-    }
-
-    /**
-     * Get the value of property
-     *
-     * @return        Value of the property.
-     */
-    public String getDetail(int property) {
-            if (details.containsKey(new Integer(property))) {
-                return (String) details.get(new Integer(property));
-            } else {
-                return null;
-            }
-    }
-
-    /**
-     * Checks whether two <code>DataSourceSpec</code> objects
-     * are equal or not.
-     *
-     * @param        obj        Instance of <code>DataSourceSpec</code> object.
-     */
-    public boolean equals(Object obj) {
-            if (obj instanceof DataSourceSpec) {
-                return this.details.equals(((DataSourceSpec)obj).details);
-            }
-            return false;
-    }
-
-    /**
-     * Retrieves the hashCode of this <code>DataSourceSpec</code> object.
-     *
-     * @return        hashCode of this object.
-     */
-    public int hashCode() {
-            return this.details.hashCode();
-    }
-}
diff --git a/appserver/tests/appserv-tests/devtests/connector/v3/embeddedweb/ra/src/com/sun/jdbcra/common/build.xml b/appserver/tests/appserv-tests/devtests/connector/v3/embeddedweb/ra/src/com/sun/jdbcra/common/build.xml
deleted file mode 100755
index 3b4faeb..0000000
--- a/appserver/tests/appserv-tests/devtests/connector/v3/embeddedweb/ra/src/com/sun/jdbcra/common/build.xml
+++ /dev/null
@@ -1,48 +0,0 @@
-<?xml version="1.0"?>
-<!--
-
-    Copyright (c) 2017, 2018 Oracle and/or its affiliates. All rights reserved.
-
-    This program and the accompanying materials are made available under the
-    terms of the Eclipse Public License v. 2.0, which is available at
-    http://www.eclipse.org/legal/epl-2.0.
-
-    This Source Code may also be made available under the following Secondary
-    Licenses when the conditions for such availability set forth in the
-    Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
-    version 2 with the GNU Classpath Exception, which is available 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 name="jdbc_connector" basedir="." default="build">
-  <property name="pkg.dir" value="com/sun/gjc/common"/>
-
-  <target name="clean">
-    <ant antfile="build.xml" dir="${gjc.home}/bin" target="clean"/>
-  </target>
-
-  <target name="compile">
-    <ant antfile="build.xml" dir="${gjc.home}/bin" target="compile13"/>
-  </target>
-
-  <target name="package">
-    <mkdir dir="${dist.dir}/${pkg.dir}"/>
-      <jar jarfile="${dist.dir}/${pkg.dir}/common.jar" basedir="${class.dir}"
-        includes="${pkg.dir}/**/*"/>
-  </target>
-
-  <target name="compile13" depends="compile"/>
-  <target name="compile14" depends="compile"/>
-
-  <target name="package13" depends="package"/>
-  <target name="package14" depends="package"/>
-
-  <target name="build13" depends="compile13, package13"/>
-  <target name="build14" depends="compile14, package14"/>
-
-  <target name="build" depends="build13, build14"/>
-
-</project>
diff --git a/appserver/tests/appserv-tests/devtests/connector/v3/embeddedweb/ra/src/com/sun/jdbcra/spi/1.4/ConnectionHolder.java b/appserver/tests/appserv-tests/devtests/connector/v3/embeddedweb/ra/src/com/sun/jdbcra/spi/1.4/ConnectionHolder.java
deleted file mode 100755
index c6e2b60..0000000
--- a/appserver/tests/appserv-tests/devtests/connector/v3/embeddedweb/ra/src/com/sun/jdbcra/spi/1.4/ConnectionHolder.java
+++ /dev/null
@@ -1,677 +0,0 @@
-/*
- * Copyright (c) 2003, 2018 Oracle and/or its affiliates. All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v. 2.0, which is available at
- * http://www.eclipse.org/legal/epl-2.0.
- *
- * This Source Code may also be made available under the following Secondary
- * Licenses when the conditions for such availability set forth in the
- * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
- * version 2 with the GNU Classpath Exception, which is available at
- * https://www.gnu.org/software/classpath/license.html.
- *
- * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
- */
-
-package com.sun.jdbcra.spi;
-
-import java.sql.*;
-import java.util.Hashtable;
-import java.util.Map;
-import java.util.Enumeration;
-import java.util.Properties;
-import java.util.concurrent.Executor;
-
-/**
- * Holds the java.sql.Connection object, which is to be
- * passed to the application program.
- *
- * @version        1.0, 02/07/23
- * @author        Binod P.G
- */
-public class ConnectionHolder implements Connection{
-
-    private Connection con;
-
-    private ManagedConnection mc;
-
-    private boolean wrappedAlready = false;
-
-    private boolean isClosed = false;
-
-    private boolean valid = true;
-
-    private boolean active = false;
-    /**
-     * The active flag is false when the connection handle is
-     * created. When a method is invoked on this object, it asks
-     * the ManagedConnection if it can be the active connection
-     * handle out of the multiple connection handles. If the
-     * ManagedConnection reports that this connection handle
-     * can be active by setting this flag to true via the setActive
-     * function, the above method invocation succeeds; otherwise
-     * an exception is thrown.
-     */
-
-    /**
-     * Constructs a Connection holder.
-     *
-     * @param        con        <code>java.sql.Connection</code> object.
-     */
-    public ConnectionHolder(Connection con, ManagedConnection mc) {
-        this.con = con;
-        this.mc  = mc;
-    }
-
-    /**
-     * Returns the actual connection in this holder object.
-     *
-     * @return        Connection object.
-     */
-    Connection getConnection() {
-            return con;
-    }
-
-    /**
-     * Sets the flag to indicate that, the connection is wrapped already or not.
-     *
-     * @param        wrapFlag
-     */
-    void wrapped(boolean wrapFlag){
-        this.wrappedAlready = wrapFlag;
-    }
-
-    /**
-     * Returns whether it is wrapped already or not.
-     *
-     * @return        wrapped flag.
-     */
-    boolean isWrapped(){
-        return wrappedAlready;
-    }
-
-    /**
-     * Returns the <code>ManagedConnection</code> instance responsible
-     * for this connection.
-     *
-     * @return        <code>ManagedConnection</code> instance.
-     */
-    ManagedConnection getManagedConnection() {
-        return mc;
-    }
-
-    /**
-     * Replace the actual <code>java.sql.Connection</code> object with the one
-     * supplied. Also replace <code>ManagedConnection</code> link.
-     *
-     * @param        con <code>Connection</code> object.
-     * @param        mc  <code> ManagedConnection</code> object.
-     */
-    void associateConnection(Connection con, ManagedConnection mc) {
-            this.mc = mc;
-            this.con = con;
-    }
-
-    /**
-     * Clears all warnings reported for the underlying connection  object.
-     *
-     * @throws SQLException In case of a database error.
-     */
-    public void clearWarnings() throws SQLException{
-        checkValidity();
-        con.clearWarnings();
-    }
-
-    /**
-     * Closes the logical connection.
-     *
-     * @throws SQLException In case of a database error.
-     */
-    public void close() throws SQLException{
-        isClosed = true;
-        mc.connectionClosed(null, this);
-    }
-
-    /**
-     * Invalidates this object.
-     */
-    public void invalidate() {
-            valid = false;
-    }
-
-    /**
-     * Closes the physical connection involved in this.
-     *
-     * @throws SQLException In case of a database error.
-     */
-    void actualClose() throws SQLException{
-        con.close();
-    }
-
-    /**
-     * Commit the changes in the underlying Connection.
-     *
-     * @throws SQLException In case of a database error.
-     */
-    public void commit() throws SQLException {
-        checkValidity();
-            con.commit();
-    }
-
-    /**
-     * Creates a statement from the underlying Connection
-     *
-     * @return        <code>Statement</code> object.
-     * @throws SQLException In case of a database error.
-     */
-    public Statement createStatement() throws SQLException {
-        checkValidity();
-        return con.createStatement();
-    }
-
-    /**
-     * Creates a statement from the underlying Connection.
-     *
-     * @param        resultSetType        Type of the ResultSet
-     * @param        resultSetConcurrency        ResultSet Concurrency.
-     * @return        <code>Statement</code> object.
-     * @throws SQLException In case of a database error.
-     */
-    public Statement createStatement(int resultSetType, int resultSetConcurrency) throws SQLException {
-        checkValidity();
-        return con.createStatement(resultSetType, resultSetConcurrency);
-    }
-
-    /**
-     * Creates a statement from the underlying Connection.
-     *
-     * @param        resultSetType        Type of the ResultSet
-     * @param        resultSetConcurrency        ResultSet Concurrency.
-     * @param        resultSetHoldability        ResultSet Holdability.
-     * @return        <code>Statement</code> object.
-     * @throws SQLException In case of a database error.
-     */
-    public Statement createStatement(int resultSetType, int resultSetConcurrency,
-                                         int resultSetHoldabilty) throws SQLException {
-        checkValidity();
-        return con.createStatement(resultSetType, resultSetConcurrency,
-                                   resultSetHoldabilty);
-    }
-
-    /**
-     * Retrieves the current auto-commit mode for the underlying <code> Connection</code>.
-     *
-     * @return The current state of connection's auto-commit mode.
-     * @throws SQLException In case of a database error.
-     */
-    public boolean getAutoCommit() throws SQLException {
-        checkValidity();
-            return con.getAutoCommit();
-    }
-
-    /**
-     * Retrieves the underlying <code>Connection</code> object's catalog name.
-     *
-     * @return        Catalog Name.
-     * @throws SQLException In case of a database error.
-     */
-    public String getCatalog() throws SQLException {
-        checkValidity();
-        return con.getCatalog();
-    }
-
-    /**
-     * Retrieves the current holdability of <code>ResultSet</code> objects created
-     * using this connection object.
-     *
-     * @return        holdability value.
-     * @throws SQLException In case of a database error.
-     */
-    public int getHoldability() throws SQLException {
-        checkValidity();
-            return        con.getHoldability();
-    }
-
-    /**
-     * Retrieves the <code>DatabaseMetaData</code>object from the underlying
-     * <code> Connection </code> object.
-     *
-     * @return <code>DatabaseMetaData</code> object.
-     * @throws SQLException In case of a database error.
-     */
-    public DatabaseMetaData getMetaData() throws SQLException {
-        checkValidity();
-            return con.getMetaData();
-    }
-
-    /**
-     * Retrieves this <code>Connection</code> object's current transaction isolation level.
-     *
-     * @return Transaction level
-     * @throws SQLException In case of a database error.
-     */
-    public int getTransactionIsolation() throws SQLException {
-        checkValidity();
-        return con.getTransactionIsolation();
-    }
-
-    /**
-     * Retrieves the <code>Map</code> object associated with
-     * <code> Connection</code> Object.
-     *
-     * @return        TypeMap set in this object.
-     * @throws SQLException In case of a database error.
-     */
-    public Map getTypeMap() throws SQLException {
-        checkValidity();
-            return con.getTypeMap();
-    }
-
-/*
-    public void setTypeMap(Map<String, Class<?>> map) throws SQLException {
-        //To change body of implemented methods use File | Settings | File Templates.
-    }
-*/
-
-    /**
-     * Retrieves the the first warning reported by calls on the underlying
-     * <code>Connection</code> object.
-     *
-     * @return First <code> SQLWarning</code> Object or null.
-     * @throws SQLException In case of a database error.
-     */
-    public SQLWarning getWarnings() throws SQLException {
-        checkValidity();
-            return con.getWarnings();
-    }
-
-    /**
-     * Retrieves whether underlying <code>Connection</code> object is closed.
-     *
-     * @return        true if <code>Connection</code> object is closed, false
-     *                 if it is closed.
-     * @throws SQLException In case of a database error.
-     */
-    public boolean isClosed() throws SQLException {
-            return isClosed;
-    }
-
-    /**
-     * Retrieves whether this <code>Connection</code> object is read-only.
-     *
-     * @return        true if <code> Connection </code> is read-only, false other-wise
-     * @throws SQLException In case of a database error.
-     */
-    public boolean isReadOnly() throws SQLException {
-        checkValidity();
-            return con.isReadOnly();
-    }
-
-    /**
-     * Converts the given SQL statement into the system's native SQL grammer.
-     *
-     * @param        sql        SQL statement , to be converted.
-     * @return        Converted SQL string.
-     * @throws SQLException In case of a database error.
-     */
-    public String nativeSQL(String sql) throws SQLException {
-        checkValidity();
-            return con.nativeSQL(sql);
-    }
-
-    /**
-     * Creates a <code> CallableStatement </code> object for calling database
-     * stored procedures.
-     *
-     * @param        sql        SQL Statement
-     * @return <code> CallableStatement</code> object.
-     * @throws SQLException In case of a database error.
-     */
-    public CallableStatement prepareCall(String sql) throws SQLException {
-        checkValidity();
-            return con.prepareCall(sql);
-    }
-
-    /**
-     * Creates a <code> CallableStatement </code> object for calling database
-     * stored procedures.
-     *
-     * @param        sql        SQL Statement
-     * @param        resultSetType        Type of the ResultSet
-     * @param        resultSetConcurrency        ResultSet Concurrency.
-     * @return <code> CallableStatement</code> object.
-     * @throws SQLException In case of a database error.
-     */
-    public CallableStatement prepareCall(String sql,int resultSetType,
-                                            int resultSetConcurrency) throws SQLException{
-        checkValidity();
-            return con.prepareCall(sql, resultSetType, resultSetConcurrency);
-    }
-
-    /**
-     * Creates a <code> CallableStatement </code> object for calling database
-     * stored procedures.
-     *
-     * @param        sql        SQL Statement
-     * @param        resultSetType        Type of the ResultSet
-     * @param        resultSetConcurrency        ResultSet Concurrency.
-     * @param        resultSetHoldability        ResultSet Holdability.
-     * @return <code> CallableStatement</code> object.
-     * @throws SQLException In case of a database error.
-     */
-    public CallableStatement prepareCall(String sql, int resultSetType,
-                                             int resultSetConcurrency,
-                                             int resultSetHoldabilty) throws SQLException{
-        checkValidity();
-            return con.prepareCall(sql, resultSetType, resultSetConcurrency,
-                                   resultSetHoldabilty);
-    }
-
-    /**
-     * Creates a <code> PreparedStatement </code> object for sending
-     * paramterized SQL statements to database
-     *
-     * @param        sql        SQL Statement
-     * @return <code> PreparedStatement</code> object.
-     * @throws SQLException In case of a database error.
-     */
-    public PreparedStatement prepareStatement(String sql) throws SQLException {
-        checkValidity();
-            return con.prepareStatement(sql);
-    }
-
-    /**
-     * Creates a <code> PreparedStatement </code> object for sending
-     * paramterized SQL statements to database
-     *
-     * @param        sql        SQL Statement
-     * @param        autoGeneratedKeys a flag indicating AutoGeneratedKeys need to be returned.
-     * @return <code> PreparedStatement</code> object.
-     * @throws SQLException In case of a database error.
-     */
-    public PreparedStatement prepareStatement(String sql, int autoGeneratedKeys) throws SQLException {
-        checkValidity();
-            return con.prepareStatement(sql,autoGeneratedKeys);
-    }
-
-    /**
-     * Creates a <code> PreparedStatement </code> object for sending
-     * paramterized SQL statements to database
-     *
-     * @param        sql        SQL Statement
-     * @param        columnIndexes an array of column indexes indicating the columns that should be
-     *                returned from the inserted row or rows.
-     * @return <code> PreparedStatement</code> object.
-     * @throws SQLException In case of a database error.
-     */
-    public PreparedStatement prepareStatement(String sql, int[] columnIndexes) throws SQLException {
-        checkValidity();
-            return con.prepareStatement(sql,columnIndexes);
-    }
-
-    /**
-     * Creates a <code> PreparedStatement </code> object for sending
-     * paramterized SQL statements to database
-     *
-     * @param        sql        SQL Statement
-     * @param        resultSetType        Type of the ResultSet
-     * @param        resultSetConcurrency        ResultSet Concurrency.
-     * @return <code> PreparedStatement</code> object.
-     * @throws SQLException In case of a database error.
-     */
-    public PreparedStatement prepareStatement(String sql,int resultSetType,
-                                            int resultSetConcurrency) throws SQLException{
-        checkValidity();
-            return con.prepareStatement(sql, resultSetType, resultSetConcurrency);
-    }
-
-    /**
-     * Creates a <code> PreparedStatement </code> object for sending
-     * paramterized SQL statements to database
-     *
-     * @param        sql        SQL Statement
-     * @param        resultSetType        Type of the ResultSet
-     * @param        resultSetConcurrency        ResultSet Concurrency.
-     * @param        resultSetHoldability        ResultSet Holdability.
-     * @return <code> PreparedStatement</code> object.
-     * @throws SQLException In case of a database error.
-     */
-    public PreparedStatement prepareStatement(String sql, int resultSetType,
-                                             int resultSetConcurrency,
-                                             int resultSetHoldabilty) throws SQLException {
-        checkValidity();
-            return con.prepareStatement(sql, resultSetType, resultSetConcurrency,
-                                        resultSetHoldabilty);
-    }
-
-    /**
-     * Creates a <code> PreparedStatement </code> object for sending
-     * paramterized SQL statements to database
-     *
-     * @param        sql        SQL Statement
-     * @param        columnNames Name of bound columns.
-     * @return <code> PreparedStatement</code> object.
-     * @throws SQLException In case of a database error.
-     */
-    public PreparedStatement prepareStatement(String sql, String[] columnNames) throws SQLException {
-        checkValidity();
-            return con.prepareStatement(sql,columnNames);
-    }
-
-    public Clob createClob() throws SQLException {
-        return null;  //To change body of implemented methods use File | Settings | File Templates.
-    }
-
-    public Blob createBlob() throws SQLException {
-        return null;  //To change body of implemented methods use File | Settings | File Templates.
-    }
-
-    public NClob createNClob() throws SQLException {
-        return null;  //To change body of implemented methods use File | Settings | File Templates.
-    }
-
-    public SQLXML createSQLXML() throws SQLException {
-        return null;  //To change body of implemented methods use File | Settings | File Templates.
-    }
-
-    public boolean isValid(int timeout) throws SQLException {
-        return false;  //To change body of implemented methods use File | Settings | File Templates.
-    }
-
-    public void setClientInfo(String name, String value) throws SQLClientInfoException {
-        //To change body of implemented methods use File | Settings | File Templates.
-    }
-
-    public void setClientInfo(Properties properties) throws SQLClientInfoException {
-        //To change body of implemented methods use File | Settings | File Templates.
-    }
-
-    public String getClientInfo(String name) throws SQLException {
-        return null;  //To change body of implemented methods use File | Settings | File Templates.
-    }
-
-    public Properties getClientInfo() throws SQLException {
-        return null;  //To change body of implemented methods use File | Settings | File Templates.
-    }
-
-    public Array createArrayOf(String typeName, Object[] elements) throws SQLException {
-        return null;  //To change body of implemented methods use File | Settings | File Templates.
-    }
-
-    public Struct createStruct(String typeName, Object[] attributes) throws SQLException {
-        return null;  //To change body of implemented methods use File | Settings | File Templates.
-    }
-
-    /**
-     * Removes the given <code>Savepoint</code> object from the current transaction.
-     *
-     * @param        savepoint        <code>Savepoint</code> object
-     * @throws SQLException In case of a database error.
-     */
-    public void releaseSavepoint(Savepoint savepoint) throws SQLException {
-        checkValidity();
-            con.releaseSavepoint(savepoint);
-    }
-
-    /**
-     * Rolls back the changes made in the current transaction.
-     *
-     * @throws SQLException In case of a database error.
-     */
-    public void rollback() throws SQLException {
-        checkValidity();
-            con.rollback();
-    }
-
-    /**
-     * Rolls back the changes made after the savepoint.
-     *
-     * @throws SQLException In case of a database error.
-     */
-    public void rollback(Savepoint savepoint) throws SQLException {
-        checkValidity();
-            con.rollback(savepoint);
-    }
-
-    /**
-     * Sets the auto-commmit mode of the <code>Connection</code> object.
-     *
-     * @param        autoCommit boolean value indicating the auto-commit mode.
-     * @throws SQLException In case of a database error.
-     */
-    public void setAutoCommit(boolean autoCommit) throws SQLException {
-        checkValidity();
-            con.setAutoCommit(autoCommit);
-    }
-
-    /**
-     * Sets the catalog name to the <code>Connection</code> object
-     *
-     * @param        catalog        Catalog name.
-     * @throws SQLException In case of a database error.
-     */
-    public void setCatalog(String catalog) throws SQLException {
-        checkValidity();
-            con.setCatalog(catalog);
-    }
-
-    /**
-     * Sets the holdability of <code>ResultSet</code> objects created
-     * using this <code>Connection</code> object.
-     *
-     * @param        holdability        A <code>ResultSet</code> holdability constant
-     * @throws SQLException In case of a database error.
-     */
-    public void setHoldability(int holdability) throws SQLException {
-        checkValidity();
-             con.setHoldability(holdability);
-    }
-
-    /**
-     * Puts the connection in read-only mode as a hint to the driver to
-     * perform database optimizations.
-     *
-     * @param        readOnly  true enables read-only mode, false disables it.
-     * @throws SQLException In case of a database error.
-     */
-    public void setReadOnly(boolean readOnly) throws SQLException {
-        checkValidity();
-            con.setReadOnly(readOnly);
-    }
-
-    /**
-     * Creates and unnamed savepoint and returns an object corresponding to that.
-     *
-     * @return        <code>Savepoint</code> object.
-     * @throws SQLException In case of a database error.
-     */
-    public Savepoint setSavepoint() throws SQLException {
-        checkValidity();
-            return con.setSavepoint();
-    }
-
-    /**
-     * Creates a savepoint with the name and returns an object corresponding to that.
-     *
-     * @param        name        Name of the savepoint.
-     * @return        <code>Savepoint</code> object.
-     * @throws SQLException In case of a database error.
-     */
-    public Savepoint setSavepoint(String name) throws SQLException {
-        checkValidity();
-            return con.setSavepoint(name);
-    }
-
-    /**
-     * Creates the transaction isolation level.
-     *
-     * @param        level transaction isolation level.
-     * @throws SQLException In case of a database error.
-     */
-    public void setTransactionIsolation(int level) throws SQLException {
-        checkValidity();
-            con.setTransactionIsolation(level);
-    }
-
-    /**
-     * Installs the given <code>Map</code> object as the tyoe map for this
-     * <code> Connection </code> object.
-     *
-     * @param        map        <code>Map</code> a Map object to install.
-     * @throws SQLException In case of a database error.
-     */
-    public void setTypeMap(Map map) throws SQLException {
-        checkValidity();
-            con.setTypeMap(map);
-    }
-
-    public int getNetworkTimeout() throws SQLException {
-      throw new SQLFeatureNotSupportedException("Do not support Java 7 new feature.");
-    }
-
-    public void setNetworkTimeout(Executor executor, int milliseconds) throws SQLException {
-      throw new SQLFeatureNotSupportedException("Do not support Java 7 new feature.");
-    }
-
-    public void abort(Executor executor)  throws SQLException{
-      throw new SQLFeatureNotSupportedException("Do not support Java 7 new feature.");
-    }
-
-    public String getSchema() throws SQLException{
-      throw new SQLFeatureNotSupportedException("Do not support Java 7 new feature.");
-    }
-
-    public void setSchema(String schema) throws SQLException{
-      throw new SQLFeatureNotSupportedException("Do not support Java 7 new feature.");
-    }
-
-
-    /**
-     * Checks the validity of this object
-     */
-    private void checkValidity() throws SQLException {
-            if (isClosed) throw new SQLException ("Connection closed");
-            if (!valid) throw new SQLException ("Invalid Connection");
-            if(active == false) {
-                mc.checkIfActive(this);
-            }
-    }
-
-    /**
-     * Sets the active flag to true
-     *
-     * @param        actv        boolean
-     */
-    void setActive(boolean actv) {
-        active = actv;
-    }
-
-    public <T> T unwrap(Class<T> iface) throws SQLException {
-        return null;  //To change body of implemented methods use File | Settings | File Templates.
-    }
-
-    public boolean isWrapperFor(Class<?> iface) throws SQLException {
-        return false;  //To change body of implemented methods use File | Settings | File Templates.
-    }
-}
diff --git a/appserver/tests/appserv-tests/devtests/connector/v3/embeddedweb/ra/src/com/sun/jdbcra/spi/1.4/ManagedConnectionFactory.java b/appserver/tests/appserv-tests/devtests/connector/v3/embeddedweb/ra/src/com/sun/jdbcra/spi/1.4/ManagedConnectionFactory.java
deleted file mode 100755
index fb0fdab..0000000
--- a/appserver/tests/appserv-tests/devtests/connector/v3/embeddedweb/ra/src/com/sun/jdbcra/spi/1.4/ManagedConnectionFactory.java
+++ /dev/null
@@ -1,754 +0,0 @@
-/*
- * Copyright (c) 2003, 2018 Oracle and/or its affiliates. All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v. 2.0, which is available at
- * http://www.eclipse.org/legal/epl-2.0.
- *
- * This Source Code may also be made available under the following Secondary
- * Licenses when the conditions for such availability set forth in the
- * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
- * version 2 with the GNU Classpath Exception, which is available at
- * https://www.gnu.org/software/classpath/license.html.
- *
- * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
- */
-
-package com.sun.jdbcra.spi;
-
-import jakarta.resource.ResourceException;
-import jakarta.resource.spi.ConnectionRequestInfo;
-import com.sun.jdbcra.spi.ConnectionManager;
-import com.sun.jdbcra.util.SecurityUtils;
-import jakarta.resource.spi.security.PasswordCredential;
-import java.sql.DriverManager;
-import com.sun.jdbcra.common.DataSourceSpec;
-import com.sun.jdbcra.common.DataSourceObjectBuilder;
-import java.sql.SQLException;
-
-import java.util.logging.Logger;
-import java.util.logging.Level;
-/**
- * <code>ManagedConnectionFactory</code> implementation for Generic JDBC Connector.
- * This class is extended by the DataSource specific <code>ManagedConnection</code> factories
- * and the <code>ManagedConnectionFactory</code> for the <code>DriverManager</code>.
- *
- * @version        1.0, 02/08/03
- * @author        Evani Sai Surya Kiran
- */
-
-public abstract class ManagedConnectionFactory implements jakarta.resource.spi.ManagedConnectionFactory,
-    java.io.Serializable {
-
-    protected DataSourceSpec spec = new DataSourceSpec();
-    protected transient DataSourceObjectBuilder dsObjBuilder;
-
-    protected java.io.PrintWriter logWriter = null;
-    protected jakarta.resource.spi.ResourceAdapter ra = null;
-
-    private static Logger _logger;
-    static {
-        _logger = Logger.getAnonymousLogger();
-    }
-    private boolean debug = false;
-    /**
-     * Creates a Connection Factory instance. The <code>ConnectionManager</code> implementation
-     * of the resource adapter is used here.
-     *
-     * @return        Generic JDBC Connector implementation of <code>javax.sql.DataSource</code>
-     */
-    public Object createConnectionFactory() {
-        if(logWriter != null) {
-            logWriter.println("In createConnectionFactory()");
-        }
-        com.sun.jdbcra.spi.DataSource cf = new com.sun.jdbcra.spi.DataSource(
-            (jakarta.resource.spi.ManagedConnectionFactory)this, null);
-
-        return cf;
-    }
-
-    /**
-     * Creates a Connection Factory instance. The <code>ConnectionManager</code> implementation
-     * of the application server is used here.
-     *
-     * @param        cxManager        <code>ConnectionManager</code> passed by the application server
-     * @return        Generic JDBC Connector implementation of <code>javax.sql.DataSource</code>
-     */
-    public Object createConnectionFactory(jakarta.resource.spi.ConnectionManager cxManager) {
-        if(logWriter != null) {
-            logWriter.println("In createConnectionFactory(jakarta.resource.spi.ConnectionManager cxManager)");
-        }
-        com.sun.jdbcra.spi.DataSource cf = new com.sun.jdbcra.spi.DataSource(
-            (jakarta.resource.spi.ManagedConnectionFactory)this, cxManager);
-        return cf;
-    }
-
-    /**
-     * Creates a new physical connection to the underlying EIS resource
-     * manager.
-     *
-     * @param        subject        <code>Subject</code> instance passed by the application server
-     * @param        cxRequestInfo        <code>ConnectionRequestInfo</code> which may be created
-     *                                    as a result of the invocation <code>getConnection(user, password)</code>
-     *                                    on the <code>DataSource</code> object
-     * @return        <code>ManagedConnection</code> object created
-     * @throws        ResourceException        if there is an error in instantiating the
-     *                                         <code>DataSource</code> object used for the
-     *                                       creation of the <code>ManagedConnection</code> object
-     * @throws        SecurityException        if there ino <code>PasswordCredential</code> object
-     *                                         satisfying this request
-     * @throws        ResourceAllocationException        if there is an error in allocating the
-     *                                                physical connection
-     */
-    public abstract jakarta.resource.spi.ManagedConnection createManagedConnection(javax.security.auth.Subject subject,
-        ConnectionRequestInfo cxRequestInfo) throws ResourceException;
-
-    /**
-     * Check if this <code>ManagedConnectionFactory</code> is equal to
-     * another <code>ManagedConnectionFactory</code>.
-     *
-     * @param        other        <code>ManagedConnectionFactory</code> object for checking equality with
-     * @return        true        if the property sets of both the
-     *                        <code>ManagedConnectionFactory</code> objects are the same
-     *                false        otherwise
-     */
-    public abstract boolean equals(Object other);
-
-    /**
-     * Get the log writer for this <code>ManagedConnectionFactory</code> instance.
-     *
-     * @return        <code>PrintWriter</code> associated with this <code>ManagedConnectionFactory</code> instance
-     * @see        <code>setLogWriter</code>
-     */
-    public java.io.PrintWriter getLogWriter() {
-        return logWriter;
-    }
-
-    /**
-     * Get the <code>ResourceAdapter</code> for this <code>ManagedConnectionFactory</code> instance.
-     *
-     * @return        <code>ResourceAdapter</code> associated with this <code>ManagedConnectionFactory</code> instance
-     * @see        <code>setResourceAdapter</code>
-     */
-    public jakarta.resource.spi.ResourceAdapter getResourceAdapter() {
-        if(logWriter != null) {
-            logWriter.println("In getResourceAdapter");
-        }
-        return ra;
-    }
-
-    /**
-     * Returns the hash code for this <code>ManagedConnectionFactory</code>.
-     *
-     * @return        hash code for this <code>ManagedConnectionFactory</code>
-     */
-    public int hashCode(){
-        if(logWriter != null) {
-                logWriter.println("In hashCode");
-        }
-        return spec.hashCode();
-    }
-
-    /**
-     * Returns a matched <code>ManagedConnection</code> from the candidate
-     * set of <code>ManagedConnection</code> objects.
-     *
-     * @param        connectionSet        <code>Set</code> of  <code>ManagedConnection</code>
-     *                                objects passed by the application server
-     * @param        subject         passed by the application server
-     *                        for retrieving information required for matching
-     * @param        cxRequestInfo        <code>ConnectionRequestInfo</code> passed by the application server
-     *                                for retrieving information required for matching
-     * @return        <code>ManagedConnection</code> that is the best match satisfying this request
-     * @throws        ResourceException        if there is an error accessing the <code>Subject</code>
-     *                                        parameter or the <code>Set</code> of <code>ManagedConnection</code>
-     *                                        objects passed by the application server
-     */
-    public jakarta.resource.spi.ManagedConnection matchManagedConnections(java.util.Set connectionSet,
-        javax.security.auth.Subject subject, ConnectionRequestInfo cxRequestInfo) throws ResourceException {
-        if(logWriter != null) {
-            logWriter.println("In matchManagedConnections");
-        }
-
-        if(connectionSet == null) {
-            return null;
-        }
-
-        PasswordCredential pc = SecurityUtils.getPasswordCredential(this, subject, cxRequestInfo);
-
-        java.util.Iterator iter = connectionSet.iterator();
-        com.sun.jdbcra.spi.ManagedConnection mc = null;
-        while(iter.hasNext()) {
-            try {
-                mc = (com.sun.jdbcra.spi.ManagedConnection) iter.next();
-            } catch(java.util.NoSuchElementException nsee) {
-                _logger.log(Level.SEVERE, "jdbc.exc_iter");
-                throw new ResourceException(nsee.getMessage());
-            }
-            if(pc == null && this.equals(mc.getManagedConnectionFactory())) {
-                //GJCINT
-                try {
-                    isValid(mc);
-                    return mc;
-                } catch(ResourceException re) {
-                    _logger.log(Level.SEVERE, "jdbc.exc_re", re);
-                    mc.connectionErrorOccurred(re, null);
-                }
-            } else if(SecurityUtils.isPasswordCredentialEqual(pc, mc.getPasswordCredential()) == true) {
-                //GJCINT
-                try {
-                    isValid(mc);
-                    return mc;
-                } catch(ResourceException re) {
-                    _logger.log(Level.SEVERE, "jdbc.re");
-                    mc.connectionErrorOccurred(re, null);
-                }
-            }
-        }
-        return null;
-    }
-
-    //GJCINT
-    /**
-     * Checks if a <code>ManagedConnection</code> is to be validated or not
-     * and validates it or returns.
-     *
-     * @param        mc        <code>ManagedConnection</code> to be validated
-     * @throws        ResourceException        if the connection is not valid or
-     *                                          if validation method is not proper
-     */
-    void isValid(com.sun.jdbcra.spi.ManagedConnection mc) throws ResourceException {
-
-        if(mc.isTransactionInProgress()) {
-            return;
-        }
-
-        boolean connectionValidationRequired =
-            (new Boolean(spec.getDetail(DataSourceSpec.CONNECTIONVALIDATIONREQUIRED).toLowerCase())).booleanValue();
-        if( connectionValidationRequired == false || mc == null) {
-            return;
-        }
-
-
-        String validationMethod = spec.getDetail(DataSourceSpec.VALIDATIONMETHOD).toLowerCase();
-
-        mc.checkIfValid();
-        /**
-         * The above call checks if the actual physical connection
-         * is usable or not.
-         */
-        java.sql.Connection con = mc.getActualConnection();
-
-        if(validationMethod.equals("auto-commit") == true) {
-            isValidByAutoCommit(con);
-        } else if(validationMethod.equalsIgnoreCase("meta-data") == true) {
-            isValidByMetaData(con);
-        } else if(validationMethod.equalsIgnoreCase("table") == true) {
-            isValidByTableQuery(con, spec.getDetail(DataSourceSpec.VALIDATIONTABLENAME));
-        } else {
-            throw new ResourceException("The validation method is not proper");
-        }
-    }
-
-    /**
-     * Checks if a <code>java.sql.Connection</code> is valid or not
-     * by checking its auto commit property.
-     *
-     * @param        con        <code>java.sql.Connection</code> to be validated
-     * @throws        ResourceException        if the connection is not valid
-     */
-    protected void isValidByAutoCommit(java.sql.Connection con) throws ResourceException {
-        if(con == null) {
-            throw new ResourceException("The connection is not valid as "
-                + "the connection is null");
-        }
-
-        try {
-           // Notice that using something like
-           // dbCon.setAutoCommit(dbCon.getAutoCommit()) will cause problems with
-           // some drivers like sybase
-           // We do not validate connections that are already enlisted
-           //in a transaction
-           // We cycle autocommit to true and false to by-pass drivers that
-           // might cache the call to set autocomitt
-           // Also notice that some XA data sources will throw and exception if
-           // you try to call setAutoCommit, for them this method is not recommended
-
-           boolean ac = con.getAutoCommit();
-           if (ac) {
-                con.setAutoCommit(false);
-           } else {
-                con.rollback(); // prevents uncompleted transaction exceptions
-                con.setAutoCommit(true);
-           }
-
-           con.setAutoCommit(ac);
-
-        } catch(Exception sqle) {
-            _logger.log(Level.SEVERE, "jdbc.exc_autocommit");
-            throw new ResourceException(sqle.getMessage());
-        }
-    }
-
-    /**
-     * Checks if a <code>java.sql.Connection</code> is valid or not
-     * by checking its meta data.
-     *
-     * @param        con        <code>java.sql.Connection</code> to be validated
-     * @throws        ResourceException        if the connection is not valid
-     */
-    protected void isValidByMetaData(java.sql.Connection con) throws ResourceException {
-        if(con == null) {
-            throw new ResourceException("The connection is not valid as "
-                + "the connection is null");
-        }
-
-        try {
-            java.sql.DatabaseMetaData dmd = con.getMetaData();
-        } catch(Exception sqle) {
-            _logger.log(Level.SEVERE, "jdbc.exc_md");
-            throw new ResourceException("The connection is not valid as "
-                + "getting the meta data failed: " + sqle.getMessage());
-        }
-    }
-
-    /**
-     * Checks if a <code>java.sql.Connection</code> is valid or not
-     * by querying a table.
-     *
-     * @param        con        <code>java.sql.Connection</code> to be validated
-     * @param        tableName        table which should be queried
-     * @throws        ResourceException        if the connection is not valid
-     */
-    protected void isValidByTableQuery(java.sql.Connection con,
-        String tableName) throws ResourceException {
-        if(con == null) {
-            throw new ResourceException("The connection is not valid as "
-                + "the connection is null");
-        }
-
-        try {
-            java.sql.Statement stmt = con.createStatement();
-            java.sql.ResultSet rs = stmt.executeQuery("SELECT * FROM " + tableName);
-        } catch(Exception sqle) {
-            _logger.log(Level.SEVERE, "jdbc.exc_execute");
-            throw new ResourceException("The connection is not valid as "
-                + "querying the table " + tableName + " failed: " + sqle.getMessage());
-        }
-    }
-
-    /**
-     * Sets the isolation level specified in the <code>ConnectionRequestInfo</code>
-     * for the <code>ManagedConnection</code> passed.
-     *
-     * @param        mc        <code>ManagedConnection</code>
-     * @throws        ResourceException        if the isolation property is invalid
-     *                                        or if the isolation cannot be set over the connection
-     */
-    protected void setIsolation(com.sun.jdbcra.spi.ManagedConnection mc) throws ResourceException {
-
-            java.sql.Connection con = mc.getActualConnection();
-            if(con == null) {
-                return;
-            }
-
-            String tranIsolation = spec.getDetail(DataSourceSpec.TRANSACTIONISOLATION);
-            if(tranIsolation != null && tranIsolation.equals("") == false) {
-                int tranIsolationInt = getTransactionIsolationInt(tranIsolation);
-                try {
-                    con.setTransactionIsolation(tranIsolationInt);
-                } catch(java.sql.SQLException sqle) {
-                _logger.log(Level.SEVERE, "jdbc.exc_tx_level");
-                    throw new ResourceException("The transaction isolation could "
-                        + "not be set: " + sqle.getMessage());
-                }
-            }
-    }
-
-    /**
-     * Resets the isolation level for the <code>ManagedConnection</code> passed.
-     * If the transaction level is to be guaranteed to be the same as the one
-     * present when this <code>ManagedConnection</code> was created, as specified
-     * by the <code>ConnectionRequestInfo</code> passed, it sets the transaction
-     * isolation level from the <code>ConnectionRequestInfo</code> passed. Else,
-     * it sets it to the transaction isolation passed.
-     *
-     * @param        mc        <code>ManagedConnection</code>
-     * @param        tranIsol        int
-     * @throws        ResourceException        if the isolation property is invalid
-     *                                        or if the isolation cannot be set over the connection
-     */
-    void resetIsolation(com.sun.jdbcra.spi.ManagedConnection mc, int tranIsol) throws ResourceException {
-
-            java.sql.Connection con = mc.getActualConnection();
-            if(con == null) {
-                return;
-            }
-
-            String tranIsolation = spec.getDetail(DataSourceSpec.TRANSACTIONISOLATION);
-            if(tranIsolation != null && tranIsolation.equals("") == false) {
-                String guaranteeIsolationLevel = spec.getDetail(DataSourceSpec.GUARANTEEISOLATIONLEVEL);
-
-                if(guaranteeIsolationLevel != null && guaranteeIsolationLevel.equals("") == false) {
-                    boolean guarantee = (new Boolean(guaranteeIsolationLevel.toLowerCase())).booleanValue();
-
-                    if(guarantee) {
-                        int tranIsolationInt = getTransactionIsolationInt(tranIsolation);
-                        try {
-                            if(tranIsolationInt != con.getTransactionIsolation()) {
-                                con.setTransactionIsolation(tranIsolationInt);
-                            }
-                        } catch(java.sql.SQLException sqle) {
-                        _logger.log(Level.SEVERE, "jdbc.exc_tx_level");
-                            throw new ResourceException("The isolation level could not be set: "
-                                + sqle.getMessage());
-                        }
-                    } else {
-                        try {
-                            if(tranIsol != con.getTransactionIsolation()) {
-                                con.setTransactionIsolation(tranIsol);
-                            }
-                        } catch(java.sql.SQLException sqle) {
-                        _logger.log(Level.SEVERE, "jdbc.exc_tx_level");
-                            throw new ResourceException("The isolation level could not be set: "
-                                + sqle.getMessage());
-                        }
-                    }
-                }
-            }
-    }
-
-    /**
-     * Gets the integer equivalent of the string specifying
-     * the transaction isolation.
-     *
-     * @param        tranIsolation        string specifying the isolation level
-     * @return        tranIsolationInt        the <code>java.sql.Connection</code> constant
-     *                                        for the string specifying the isolation.
-     */
-    private int getTransactionIsolationInt(String tranIsolation) throws ResourceException {
-            if(tranIsolation.equalsIgnoreCase("read-uncommitted")) {
-                return java.sql.Connection.TRANSACTION_READ_UNCOMMITTED;
-            } else if(tranIsolation.equalsIgnoreCase("read-committed")) {
-                return java.sql.Connection.TRANSACTION_READ_COMMITTED;
-            } else if(tranIsolation.equalsIgnoreCase("repeatable-read")) {
-                return java.sql.Connection.TRANSACTION_REPEATABLE_READ;
-            } else if(tranIsolation.equalsIgnoreCase("serializable")) {
-                return java.sql.Connection.TRANSACTION_SERIALIZABLE;
-            } else {
-                throw new ResourceException("Invalid transaction isolation; the transaction "
-                    + "isolation level can be empty or any of the following: "
-                        + "read-uncommitted, read-committed, repeatable-read, serializable");
-            }
-    }
-
-    /**
-     * Set the log writer for this <code>ManagedConnectionFactory</code> instance.
-     *
-     * @param        out        <code>PrintWriter</code> passed by the application server
-     * @see        <code>getLogWriter</code>
-     */
-    public void setLogWriter(java.io.PrintWriter out) {
-        logWriter = out;
-    }
-
-    /**
-     * Set the associated <code>ResourceAdapter</code> JavaBean.
-     *
-     * @param        ra        <code>ResourceAdapter</code> associated with this
-     *                        <code>ManagedConnectionFactory</code> instance
-     * @see        <code>getResourceAdapter</code>
-     */
-    public void setResourceAdapter(jakarta.resource.spi.ResourceAdapter ra) {
-        this.ra = ra;
-    }
-
-    /**
-     * Sets the user name
-     *
-     * @param        user        <code>String</code>
-     */
-    public void setUser(String user) {
-        spec.setDetail(DataSourceSpec.USERNAME, user);
-    }
-
-    /**
-     * Gets the user name
-     *
-     * @return        user
-     */
-    public String getUser() {
-        return spec.getDetail(DataSourceSpec.USERNAME);
-    }
-
-    /**
-     * Sets the user name
-     *
-     * @param        user        <code>String</code>
-     */
-    public void setuser(String user) {
-        spec.setDetail(DataSourceSpec.USERNAME, user);
-    }
-
-    /**
-     * Gets the user name
-     *
-     * @return        user
-     */
-    public String getuser() {
-        return spec.getDetail(DataSourceSpec.USERNAME);
-    }
-
-    /**
-     * Sets the password
-     *
-     * @param        passwd        <code>String</code>
-     */
-    public void setPassword(String passwd) {
-        spec.setDetail(DataSourceSpec.PASSWORD, passwd);
-    }
-
-    /**
-     * Gets the password
-     *
-     * @return        passwd
-     */
-    public String getPassword() {
-        return spec.getDetail(DataSourceSpec.PASSWORD);
-    }
-
-    /**
-     * Sets the password
-     *
-     * @param        passwd        <code>String</code>
-     */
-    public void setpassword(String passwd) {
-        spec.setDetail(DataSourceSpec.PASSWORD, passwd);
-    }
-
-    /**
-     * Gets the password
-     *
-     * @return        passwd
-     */
-    public String getpassword() {
-        return spec.getDetail(DataSourceSpec.PASSWORD);
-    }
-
-    /**
-     * Sets the class name of the data source
-     *
-     * @param        className        <code>String</code>
-     */
-    public void setClassName(String className) {
-        spec.setDetail(DataSourceSpec.CLASSNAME, className);
-    }
-
-    /**
-     * Gets the class name of the data source
-     *
-     * @return        className
-     */
-    public String getClassName() {
-        return spec.getDetail(DataSourceSpec.CLASSNAME);
-    }
-
-    /**
-     * Sets the class name of the data source
-     *
-     * @param        className        <code>String</code>
-     */
-    public void setclassName(String className) {
-        spec.setDetail(DataSourceSpec.CLASSNAME, className);
-    }
-
-    /**
-     * Gets the class name of the data source
-     *
-     * @return        className
-     */
-    public String getclassName() {
-        return spec.getDetail(DataSourceSpec.CLASSNAME);
-    }
-
-    /**
-     * Sets if connection validation is required or not
-     *
-     * @param        conVldReq        <code>String</code>
-     */
-    public void setConnectionValidationRequired(String conVldReq) {
-        spec.setDetail(DataSourceSpec.CONNECTIONVALIDATIONREQUIRED, conVldReq);
-    }
-
-    /**
-     * Returns if connection validation is required or not
-     *
-     * @return        connection validation requirement
-     */
-    public String getConnectionValidationRequired() {
-        return spec.getDetail(DataSourceSpec.CONNECTIONVALIDATIONREQUIRED);
-    }
-
-    /**
-     * Sets if connection validation is required or not
-     *
-     * @param        conVldReq        <code>String</code>
-     */
-    public void setconnectionValidationRequired(String conVldReq) {
-        spec.setDetail(DataSourceSpec.CONNECTIONVALIDATIONREQUIRED, conVldReq);
-    }
-
-    /**
-     * Returns if connection validation is required or not
-     *
-     * @return        connection validation requirement
-     */
-    public String getconnectionValidationRequired() {
-        return spec.getDetail(DataSourceSpec.CONNECTIONVALIDATIONREQUIRED);
-    }
-
-    /**
-     * Sets the validation method required
-     *
-     * @param        validationMethod        <code>String</code>
-     */
-    public void setValidationMethod(String validationMethod) {
-            spec.setDetail(DataSourceSpec.VALIDATIONMETHOD, validationMethod);
-    }
-
-    /**
-     * Returns the connection validation method type
-     *
-     * @return        validation method
-     */
-    public String getValidationMethod() {
-        return spec.getDetail(DataSourceSpec.VALIDATIONMETHOD);
-    }
-
-    /**
-     * Sets the validation method required
-     *
-     * @param        validationMethod        <code>String</code>
-     */
-    public void setvalidationMethod(String validationMethod) {
-            spec.setDetail(DataSourceSpec.VALIDATIONMETHOD, validationMethod);
-    }
-
-    /**
-     * Returns the connection validation method type
-     *
-     * @return        validation method
-     */
-    public String getvalidationMethod() {
-        return spec.getDetail(DataSourceSpec.VALIDATIONMETHOD);
-    }
-
-    /**
-     * Sets the table checked for during validation
-     *
-     * @param        table        <code>String</code>
-     */
-    public void setValidationTableName(String table) {
-        spec.setDetail(DataSourceSpec.VALIDATIONTABLENAME, table);
-    }
-
-    /**
-     * Returns the table checked for during validation
-     *
-     * @return        table
-     */
-    public String getValidationTableName() {
-        return spec.getDetail(DataSourceSpec.VALIDATIONTABLENAME);
-    }
-
-    /**
-     * Sets the table checked for during validation
-     *
-     * @param        table        <code>String</code>
-     */
-    public void setvalidationTableName(String table) {
-        spec.setDetail(DataSourceSpec.VALIDATIONTABLENAME, table);
-    }
-
-    /**
-     * Returns the table checked for during validation
-     *
-     * @return        table
-     */
-    public String getvalidationTableName() {
-        return spec.getDetail(DataSourceSpec.VALIDATIONTABLENAME);
-    }
-
-    /**
-     * Sets the transaction isolation level
-     *
-     * @param        trnIsolation        <code>String</code>
-     */
-    public void setTransactionIsolation(String trnIsolation) {
-        spec.setDetail(DataSourceSpec.TRANSACTIONISOLATION, trnIsolation);
-    }
-
-    /**
-     * Returns the transaction isolation level
-     *
-     * @return        transaction isolation level
-     */
-    public String getTransactionIsolation() {
-        return spec.getDetail(DataSourceSpec.TRANSACTIONISOLATION);
-    }
-
-    /**
-     * Sets the transaction isolation level
-     *
-     * @param        trnIsolation        <code>String</code>
-     */
-    public void settransactionIsolation(String trnIsolation) {
-        spec.setDetail(DataSourceSpec.TRANSACTIONISOLATION, trnIsolation);
-    }
-
-    /**
-     * Returns the transaction isolation level
-     *
-     * @return        transaction isolation level
-     */
-    public String gettransactionIsolation() {
-        return spec.getDetail(DataSourceSpec.TRANSACTIONISOLATION);
-    }
-
-    /**
-     * Sets if the transaction isolation level is to be guaranteed
-     *
-     * @param        guaranteeIsolation        <code>String</code>
-     */
-    public void setGuaranteeIsolationLevel(String guaranteeIsolation) {
-        spec.setDetail(DataSourceSpec.GUARANTEEISOLATIONLEVEL, guaranteeIsolation);
-    }
-
-    /**
-     * Returns the transaction isolation level
-     *
-     * @return        isolation level guarantee
-     */
-    public String getGuaranteeIsolationLevel() {
-        return spec.getDetail(DataSourceSpec.GUARANTEEISOLATIONLEVEL);
-    }
-
-    /**
-     * Sets if the transaction isolation level is to be guaranteed
-     *
-     * @param        guaranteeIsolation        <code>String</code>
-     */
-    public void setguaranteeIsolationLevel(String guaranteeIsolation) {
-        spec.setDetail(DataSourceSpec.GUARANTEEISOLATIONLEVEL, guaranteeIsolation);
-    }
-
-    /**
-     * Returns the transaction isolation level
-     *
-     * @return        isolation level guarantee
-     */
-    public String getguaranteeIsolationLevel() {
-        return spec.getDetail(DataSourceSpec.GUARANTEEISOLATIONLEVEL);
-    }
-
-}
diff --git a/appserver/tests/appserv-tests/devtests/connector/v3/embeddedweb/ra/src/com/sun/jdbcra/spi/1.4/ResourceAdapter.java b/appserver/tests/appserv-tests/devtests/connector/v3/embeddedweb/ra/src/com/sun/jdbcra/spi/1.4/ResourceAdapter.java
deleted file mode 100755
index e2840ea..0000000
--- a/appserver/tests/appserv-tests/devtests/connector/v3/embeddedweb/ra/src/com/sun/jdbcra/spi/1.4/ResourceAdapter.java
+++ /dev/null
@@ -1,96 +0,0 @@
-/*
- * Copyright (c) 2003, 2018 Oracle and/or its affiliates. All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v. 2.0, which is available at
- * http://www.eclipse.org/legal/epl-2.0.
- *
- * This Source Code may also be made available under the following Secondary
- * Licenses when the conditions for such availability set forth in the
- * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
- * version 2 with the GNU Classpath Exception, which is available at
- * https://www.gnu.org/software/classpath/license.html.
- *
- * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
- */
-
-package com.sun.jdbcra.spi;
-
-import jakarta.resource.spi.endpoint.MessageEndpointFactory;
-import jakarta.resource.spi.ActivationSpec;
-import jakarta.resource.NotSupportedException;
-import javax.transaction.xa.XAResource;
-import jakarta.resource.spi.BootstrapContext;
-import jakarta.resource.spi.ResourceAdapterInternalException;
-
-/**
- * <code>ResourceAdapter</code> implementation for Generic JDBC Connector.
- *
- * @version        1.0, 02/08/05
- * @author        Evani Sai Surya Kiran
- */
-public class ResourceAdapter implements jakarta.resource.spi.ResourceAdapter {
-
-    public String raProp = null;
-
-    /**
-     * Empty method implementation for endpointActivation
-     * which just throws <code>NotSupportedException</code>
-     *
-     * @param        mef        <code>MessageEndpointFactory</code>
-     * @param        as        <code>ActivationSpec</code>
-     * @throws        <code>NotSupportedException</code>
-     */
-    public void endpointActivation(MessageEndpointFactory mef, ActivationSpec as) throws NotSupportedException {
-        throw new NotSupportedException("This method is not supported for this JDBC connector");
-    }
-
-    /**
-     * Empty method implementation for endpointDeactivation
-     *
-     * @param        mef        <code>MessageEndpointFactory</code>
-     * @param        as        <code>ActivationSpec</code>
-     */
-    public void endpointDeactivation(MessageEndpointFactory mef, ActivationSpec as) {
-
-    }
-
-    /**
-     * Empty method implementation for getXAResources
-     * which just throws <code>NotSupportedException</code>
-     *
-     * @param        specs        <code>ActivationSpec</code> array
-     * @throws        <code>NotSupportedException</code>
-     */
-    public XAResource[] getXAResources(ActivationSpec[] specs) throws NotSupportedException {
-        throw new NotSupportedException("This method is not supported for this JDBC connector");
-    }
-
-    /**
-     * Empty implementation of start method
-     *
-     * @param        ctx        <code>BootstrapContext</code>
-     */
-    public void start(BootstrapContext ctx) throws ResourceAdapterInternalException {
-        System.out.println("Resource Adapter is starting with configuration :" + raProp);
-        if (raProp == null || !raProp.equals("VALID")) {
-            throw new ResourceAdapterInternalException("Resource adapter cannot start. It is configured as : " + raProp);
-        }
-    }
-
-    /**
-     * Empty implementation of stop method
-     */
-    public void stop() {
-
-    }
-
-    public void setRAProperty(String s) {
-        raProp = s;
-    }
-
-    public String getRAProperty() {
-        return raProp;
-    }
-
-}
diff --git a/appserver/tests/appserv-tests/devtests/connector/v3/embeddedweb/ra/src/com/sun/jdbcra/spi/1.4/build.xml b/appserver/tests/appserv-tests/devtests/connector/v3/embeddedweb/ra/src/com/sun/jdbcra/spi/1.4/build.xml
deleted file mode 100755
index e006b1d..0000000
--- a/appserver/tests/appserv-tests/devtests/connector/v3/embeddedweb/ra/src/com/sun/jdbcra/spi/1.4/build.xml
+++ /dev/null
@@ -1,83 +0,0 @@
-<?xml version="1.0"?>
-<!--
-
-    Copyright (c) 2017, 2018 Oracle and/or its affiliates. All rights reserved.
-
-    This program and the accompanying materials are made available under the
-    terms of the Eclipse Public License v. 2.0, which is available at
-    http://www.eclipse.org/legal/epl-2.0.
-
-    This Source Code may also be made available under the following Secondary
-    Licenses when the conditions for such availability set forth in the
-    Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
-    version 2 with the GNU Classpath Exception, which is available 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 name="jdbc_connector" basedir="${gjc.home}" default="build">
-  <property name="pkg.dir" value="com/sun/gjc/spi"/>
-
-  <target name="clean">
-    <ant antfile="build.xml" dir="${gjc.home}/bin" target="clean"/>
-  </target>
-
-  <target name="compile14">
-    <ant antfile="build.xml" dir="${gjc.home}/bin" target="compile14"/>
-  </target>
-
-  <target name="package14">
-
-            <mkdir dir="${gjc.home}/dist/spi/1.5"/>
-
-        <jar jarfile="${gjc.home}/dist/spi/1.5/jdbc.jar" basedir="${class.dir}"
-        includes="${pkg.dir}/**/*, com/sun/gjc/util/**/*, com/sun/gjc/common/**/*" excludes="com/sun/gjc/cci/**/*,com/sun/gjc/spi/1.4/**/*"/>
-
-        <jar jarfile="${gjc.home}/dist/spi/1.5/__cp.rar" basedir="${gjc.home}/dist/spi/1.5" includes="jdbc.jar"/>
-        <copy file="${gjc.home}/src/com/sun/gjc/spi/1.4/ra-cp.xml" tofile="${gjc.home}/dist/spi/1.5/ra.xml" overwrite="yes">
-        </copy>
-           <jar jarfile="${gjc.home}/dist/spi/1.5/__cp.rar" update="yes">
-                   <metainf dir="${gjc.home}/dist/spi/1.5">
-                           <include name="ra.xml"/>
-                   </metainf>
-           </jar>
-
-           <jar jarfile="${gjc.home}/dist/spi/1.5/__xa.rar" basedir="${gjc.home}/dist/spi/1.5" includes="jdbc.jar"/>
-        <copy file="${gjc.home}/src/com/sun/gjc/spi/1.4/ra-xa.xml" tofile="${gjc.home}/dist/spi/1.5/ra.xml" overwrite="yes">
-        </copy>
-           <jar jarfile="${gjc.home}/dist/spi/1.5/__xa.rar" update="yes">
-                   <metainf dir="${gjc.home}/dist/spi/1.5">
-                           <include name="ra.xml"/>
-                   </metainf>
-           </jar>
-
-           <jar jarfile="${gjc.home}/dist/spi/1.5/__dm.rar" basedir="${gjc.home}/dist/spi/1.5" includes="jdbc.jar"/>
-        <copy file="${gjc.home}/src/com/sun/gjc/spi/1.4/ra-dm.xml" tofile="${gjc.home}/dist/spi/1.5/ra.xml" overwrite="yes">
-        </copy>
-           <jar jarfile="${gjc.home}/dist/spi/1.5/__dm.rar" update="yes">
-                   <metainf dir="${gjc.home}/dist/spi/1.5">
-                           <include name="ra.xml"/>
-                   </metainf>
-           </jar>
-
-           <jar jarfile="${gjc.home}/dist/spi/1.5/__ds.rar" basedir="${gjc.home}/dist/spi/1.5" includes="jdbc.jar"/>
-        <copy file="${gjc.home}/src/com/sun/gjc/spi/1.4/ra-ds.xml" tofile="${gjc.home}/dist/spi/1.5/ra.xml" overwrite="yes">
-        </copy>
-           <jar jarfile="${gjc.home}/dist/spi/1.5/__ds.rar" update="yes">
-                   <metainf dir="${gjc.home}/dist/spi/1.5">
-                           <include name="ra.xml"/>
-                   </metainf>
-           </jar>
-
-           <delete dir="${gjc.home}/dist/com"/>
-           <delete file="${gjc.home}/dist/spi/1.5/jdbc.jar"/>
-           <delete file="${gjc.home}/dist/spi/1.5/ra.xml"/>
-
-  </target>
-
-  <target name="build14" depends="compile14, package14"/>
-    <target name="build13"/>
-        <target name="build" depends="build14, build13"/>
-</project>
diff --git a/appserver/tests/appserv-tests/devtests/connector/v3/embeddedweb/ra/src/com/sun/jdbcra/spi/1.4/ra-ds.xml b/appserver/tests/appserv-tests/devtests/connector/v3/embeddedweb/ra/src/com/sun/jdbcra/spi/1.4/ra-ds.xml
deleted file mode 100755
index e129138..0000000
--- a/appserver/tests/appserv-tests/devtests/connector/v3/embeddedweb/ra/src/com/sun/jdbcra/spi/1.4/ra-ds.xml
+++ /dev/null
@@ -1,279 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
-
-    Copyright (c) 2017, 2018 Oracle and/or its affiliates. All rights reserved.
-
-    This program and the accompanying materials are made available under the
-    terms of the Eclipse Public License v. 2.0, which is available at
-    http://www.eclipse.org/legal/epl-2.0.
-
-    This Source Code may also be made available under the following Secondary
-    Licenses when the conditions for such availability set forth in the
-    Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
-    version 2 with the GNU Classpath Exception, which is available at
-    https://www.gnu.org/software/classpath/license.html.
-
-    SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
-
--->
-
-<connector xmlns="http://java.sun.com/xml/ns/j2ee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-           xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/connector_1_5.xsd"
-           version="1.5">
-
-    <!-- There can be any number of "description" elements including 0 -->
-    <!-- This field can be optionally used by the driver vendor to provide a
-         description for the resource adapter.
-    -->
-    <description>Resource adapter wrapping Datasource implementation of driver</description>
-
-    <!-- There can be any number of "display-name" elements including 0 -->
-    <!-- The field can be optionally used by the driver vendor to provide a name that
-         is intended to be displayed by tools.
-    -->
-    <display-name>DataSource Resource Adapter</display-name>
-
-    <!-- There can be any number of "icon" elements including 0 -->
-    <!-- The following is an example.
-        <icon>
-            This "small-icon" element can occur atmost once. This should specify the
-            absolute or the relative path name of a file containing a small (16 x 16)
-            icon - JPEG or GIF image. The following is an example.
-            <small-icon>smallicon.jpg</small-icon>
-
-            This "large-icon" element can occur atmost once. This should specify the
-            absolute or the relative path name of a file containing a small (32 x 32)
-            icon - JPEG or GIF image. The following is an example.
-            <large-icon>largeicon.jpg</large-icon>
-        </icon>
-    -->
-    <icon>
-        <small-icon></small-icon>
-        <large-icon></large-icon>
-    </icon>
-
-    <!-- The "vendor-name" element should occur exactly once. -->
-    <!-- This should specify the name of the driver vendor. The following is an example.
-        <vendor-name>XYZ INC.</vendor-name>
-    -->
-    <vendor-name>Sun Microsystems</vendor-name>
-
-    <!-- The "eis-type" element should occur exactly once. -->
-    <!-- This should specify the database, for example the product name of
-         the database independent of any version information. The following
-         is an example.
-        <eis-type>XYZ</eis-type>
-    -->
-    <eis-type>Database</eis-type>
-
-    <!-- The "resourceadapter-version" element should occur exactly once. -->
-    <!-- This specifies a string based version of the resource adapter from
-         the driver vendor. The default is being set as 1.0. The driver
-         vendor can change it as required.
-    -->
-    <resourceadapter-version>1.0</resourceadapter-version>
-
-    <!-- This "license" element can occur atmost once -->
-    <!-- This specifies licensing requirements for the resource adapter module.
-         The following is an example.
-        <license>
-            There can be any number of "description" elements including 0.
-            <description>
-                This field can be optionally used by the driver vendor to
-                provide a description for the licensing requirements of the
-                resource adapter like duration of license, numberof connection
-                restrictions.
-            </description>
-
-            This specifies whether a license is required to deploy and use the resource adapter.
-            Default is false.
-            <license-required>false</license-required>
-        </license>
-    -->
-    <license>
-        <license-required>false</license-required>
-    </license>
-
-    <resourceadapter>
-
-        <!--
-            The "config-property" elements can have zero or more "description"
-            elements. The "description" elements are not being included
-            in the "config-property" elements below. The driver vendor can
-            add them as required.
-        -->
-
-        <resourceadapter-class>com.sun.jdbcra.spi.ResourceAdapter</resourceadapter-class>
-
-        <outbound-resourceadapter>
-
-            <connection-definition>
-
-                <managedconnectionfactory-class>com.sun.jdbcra.spi.DSManagedConnectionFactory</managedconnectionfactory-class>
-
-                <!-- There can be any number of these elements including 0 -->
-                <config-property>
-                    <config-property-name>ServerName</config-property-name>
-                    <config-property-type>java.lang.String</config-property-type>
-                    <config-property-value>localhost</config-property-value>
-                </config-property>
-                <config-property>
-                    <config-property-name>PortNumber</config-property-name>
-                    <config-property-type>java.lang.String</config-property-type>
-                    <config-property-value>1527</config-property-value>
-                </config-property>
-                <config-property>
-                    <config-property-name>databaseName</config-property-name>
-                    <config-property-type>java.lang.String</config-property-type>
-                    <config-property-value>testdb</config-property-value>
-                </config-property>
-
-                <config-property>
-                    <config-property-name>User</config-property-name>
-                    <config-property-type>java.lang.String</config-property-type>
-                    <config-property-value>dbuser</config-property-value>
-                </config-property>
-                <config-property>
-                    <config-property-name>UserName</config-property-name>
-                    <config-property-type>java.lang.String</config-property-type>
-                    <config-property-value>dbuser</config-property-value>
-                </config-property>
-
-                <config-property>
-                    <config-property-name>Password</config-property-name>
-                    <config-property-type>java.lang.String</config-property-type>
-                    <config-property-value>dbpassword</config-property-value>
-                </config-property>
-                <config-property>
-                    <config-property-name>URL</config-property-name>
-                    <config-property-type>java.lang.String</config-property-type>
-                    <config-property-value>jdbc:derby://localhost:1527/testdb;create=true</config-property-value>
-                </config-property>
-                <!--<config-property>
-                    <config-property-name>DataSourceName</config-property-name>
-                    <config-property-type>java.lang.String</config-property-type>
-                    <config-property-value></config-property-value>
-                </config-property>-->
-                <config-property>
-                    <config-property-name>Description</config-property-name>
-                    <config-property-type>java.lang.String</config-property-type>
-                    <config-property-value>Oracle thin driver Datasource</config-property-value>
-                 </config-property>
-<!--
-                <config-property>
-                    <config-property-name>NetworkProtocol</config-property-name>
-                    <config-property-type>java.lang.String</config-property-type>
-                    <config-property-value></config-property-value>
-                </config-property>
-                <config-property>
-                    <config-property-name>RoleName</config-property-name>
-                    <config-property-type>java.lang.String</config-property-type>
-                    <config-property-value></config-property-value>
-                </config-property>
-                <config-property>
-                    <config-property-name>LoginTimeOut</config-property-name>
-                    <config-property-type>java.lang.String</config-property-type>
-                    <config-property-value>0</config-property-value>
-                </config-property>
-                <config-property>
-                    <config-property-name>DriverProperties</config-property-name>
-                    <config-property-type>java.lang.String</config-property-type>
-                    <config-property-value></config-property-value>
-                </config-property>
--->
-                <config-property>
-                    <config-property-name>Delimiter</config-property-name>
-                    <config-property-type>java.lang.String</config-property-type>
-                    <config-property-value>#</config-property-value>
-                </config-property>
-                <config-property>
-                    <config-property-name>ClassName</config-property-name>
-                    <config-property-type>java.lang.String</config-property-type>
-                    <config-property-value>org.apache.derby.jdbc.ClientDataSource40</config-property-value>
-                </config-property>
-                <config-property>
-                      <config-property-name>ConnectionAttributes</config-property-name>
-                      <config-property-type>java.lang.String</config-property-type>
-                      <config-property-value>;create=true</config-property-value>
-              </config-property>
-
-<!--
-                      <config-property>
-                        <config-property-name>ConnectionValidationRequired</config-property-name>
-                        <config-property-type>java.lang.String</config-property-type>
-                        <config-property-value>false</config-property-value>
-                </config-property>
-                <config-property>
-                        <config-property-name>ValidationMethod</config-property-name>
-                        <config-property-type>java.lang.String</config-property-type>
-                        <config-property-value></config-property-value>
-                </config-property>
-                <config-property>
-                        <config-property-name>ValidationTableName</config-property-name>
-                        <config-property-type>java.lang.String</config-property-type>
-                        <config-property-value></config-property-value>
-                </config-property>
-                <config-property>
-                        <config-property-name>TransactionIsolation</config-property-name>
-                        <config-property-type>java.lang.String</config-property-type>
-                        <config-property-value></config-property-value>
-                </config-property>
-                <config-property>
-                        <config-property-name>GuaranteeIsolationLevel</config-property-name>
-                        <config-property-type>java.lang.String</config-property-type>
-                        <config-property-value></config-property-value>
-                </config-property>
--->
-
-                <connectionfactory-interface>javax.sql.DataSource</connectionfactory-interface>
-
-                <connectionfactory-impl-class>com.sun.jdbcra.spi.DataSource</connectionfactory-impl-class>
-
-                <connection-interface>java.sql.Connection</connection-interface>
-
-                <connection-impl-class>com.sun.jdbcra.spi.ConnectionHolder</connection-impl-class>
-
-            </connection-definition>
-
-            <transaction-support>LocalTransaction</transaction-support>
-
-            <authentication-mechanism>
-                <!-- There can be any number of "description" elements including 0 -->
-                <!-- Not including the "description" element -->
-
-                <authentication-mechanism-type>BasicPassword</authentication-mechanism-type>
-
-                <credential-interface>javax.resource.spi.security.PasswordCredential</credential-interface>
-            </authentication-mechanism>
-
-            <reauthentication-support>false</reauthentication-support>
-
-        </outbound-resourceadapter>
-        <adminobject>
-               <adminobject-interface>com.sun.jdbcra.spi.JdbcSetupAdmin</adminobject-interface>
-               <adminobject-class>com.sun.jdbcra.spi.JdbcSetupAdminImpl</adminobject-class>
-               <config-property>
-                   <config-property-name>TableName</config-property-name>
-                   <config-property-type>java.lang.String</config-property-type>
-                   <config-property-value></config-property-value>
-               </config-property>
-               <config-property>
-                   <config-property-name>SchemaName</config-property-name>
-                   <config-property-type>java.lang.String</config-property-type>
-                   <config-property-value></config-property-value>
-               </config-property>
-               <config-property>
-                   <config-property-name>JndiName</config-property-name>
-                   <config-property-type>java.lang.String</config-property-type>
-                   <config-property-value></config-property-value>
-               </config-property>
-               <config-property>
-                   <config-property-name>NoOfRows</config-property-name>
-                   <config-property-type>java.lang.Integer</config-property-type>
-                   <config-property-value>0</config-property-value>
-               </config-property>
-        </adminobject>
-
-    </resourceadapter>
-
-</connector>
diff --git a/appserver/tests/appserv-tests/devtests/connector/v3/embeddedweb/ra/src/com/sun/jdbcra/spi/ConnectionManager.java b/appserver/tests/appserv-tests/devtests/connector/v3/embeddedweb/ra/src/com/sun/jdbcra/spi/ConnectionManager.java
deleted file mode 100755
index 2ee36c5..0000000
--- a/appserver/tests/appserv-tests/devtests/connector/v3/embeddedweb/ra/src/com/sun/jdbcra/spi/ConnectionManager.java
+++ /dev/null
@@ -1,51 +0,0 @@
-/*
- * Copyright (c) 2003, 2018 Oracle and/or its affiliates. All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v. 2.0, which is available at
- * http://www.eclipse.org/legal/epl-2.0.
- *
- * This Source Code may also be made available under the following Secondary
- * Licenses when the conditions for such availability set forth in the
- * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
- * version 2 with the GNU Classpath Exception, which is available at
- * https://www.gnu.org/software/classpath/license.html.
- *
- * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
- */
-
-package com.sun.jdbcra.spi;
-
-import jakarta.resource.spi.ManagedConnectionFactory;
-import jakarta.resource.spi.ManagedConnection;
-import jakarta.resource.ResourceException;
-import jakarta.resource.spi.ConnectionRequestInfo;
-
-/**
- * ConnectionManager implementation for Generic JDBC Connector.
- *
- * @version        1.0, 02/07/31
- * @author        Binod P.G
- */
-public class ConnectionManager implements jakarta.resource.spi.ConnectionManager{
-
-    /**
-     * Returns a <code>Connection </code> object to the <code>ConnectionFactory</code>
-     *
-     * @param        mcf        <code>ManagedConnectionFactory</code> object.
-     * @param        info        <code>ConnectionRequestInfo</code> object.
-     * @return        A <code>Connection</code> Object.
-     * @throws        ResourceException In case of an error in getting the <code>Connection</code>.
-     */
-    public Object allocateConnection(ManagedConnectionFactory mcf,
-                                         ConnectionRequestInfo info)
-                                         throws ResourceException {
-        ManagedConnection mc = mcf.createManagedConnection(null, info);
-        return mc.getConnection(null, info);
-    }
-
-    /*
-     * This class could effectively implement Connection pooling also.
-     * Could be done for FCS.
-     */
-}
diff --git a/appserver/tests/appserv-tests/devtests/connector/v3/embeddedweb/ra/src/com/sun/jdbcra/spi/ConnectionRequestInfo.java b/appserver/tests/appserv-tests/devtests/connector/v3/embeddedweb/ra/src/com/sun/jdbcra/spi/ConnectionRequestInfo.java
deleted file mode 100755
index ddd0a28..0000000
--- a/appserver/tests/appserv-tests/devtests/connector/v3/embeddedweb/ra/src/com/sun/jdbcra/spi/ConnectionRequestInfo.java
+++ /dev/null
@@ -1,99 +0,0 @@
-/*
- * Copyright (c) 2003, 2018 Oracle and/or its affiliates. All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v. 2.0, which is available at
- * http://www.eclipse.org/legal/epl-2.0.
- *
- * This Source Code may also be made available under the following Secondary
- * Licenses when the conditions for such availability set forth in the
- * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
- * version 2 with the GNU Classpath Exception, which is available at
- * https://www.gnu.org/software/classpath/license.html.
- *
- * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
- */
-
-package com.sun.jdbcra.spi;
-
-/**
- * ConnectionRequestInfo implementation for Generic JDBC Connector.
- *
- * @version        1.0, 02/07/31
- * @author        Binod P.G
- */
-public class ConnectionRequestInfo implements jakarta.resource.spi.ConnectionRequestInfo{
-
-    private String user;
-    private String password;
-
-    /**
-     * Constructs a new <code>ConnectionRequestInfo</code> object
-     *
-     * @param        user        User Name.
-     * @param        password        Password
-     */
-    public ConnectionRequestInfo(String user, String password) {
-        this.user = user;
-        this.password = password;
-    }
-
-    /**
-     * Retrieves the user name of the ConnectionRequestInfo.
-     *
-     * @return        User name of ConnectionRequestInfo.
-     */
-    public String getUser() {
-        return user;
-    }
-
-    /**
-     * Retrieves the password of the ConnectionRequestInfo.
-     *
-     * @return        Password of ConnectionRequestInfo.
-     */
-    public String getPassword() {
-        return password;
-    }
-
-    /**
-     * Verify whether two ConnectionRequestInfos are equal.
-     *
-     * @return        True, if they are equal and false otherwise.
-     */
-    public boolean equals(Object obj) {
-        if (obj == null) return false;
-        if (obj instanceof ConnectionRequestInfo) {
-            ConnectionRequestInfo other = (ConnectionRequestInfo) obj;
-            return (isEqual(this.user, other.user) &&
-                    isEqual(this.password, other.password));
-        } else {
-            return false;
-        }
-    }
-
-    /**
-     * Retrieves the hashcode of the object.
-     *
-     * @return        hashCode.
-     */
-    public int hashCode() {
-        String result = "" + user + password;
-        return result.hashCode();
-    }
-
-    /**
-     * Compares two objects.
-     *
-     * @param        o1        First object.
-     * @param        o2        Second object.
-     */
-    private boolean isEqual(Object o1, Object o2) {
-        if (o1 == null) {
-            return (o2 == null);
-        } else {
-            return o1.equals(o2);
-        }
-    }
-
-}
diff --git a/appserver/tests/appserv-tests/devtests/connector/v3/embeddedweb/ra/src/com/sun/jdbcra/spi/DSManagedConnectionFactory.java b/appserver/tests/appserv-tests/devtests/connector/v3/embeddedweb/ra/src/com/sun/jdbcra/spi/DSManagedConnectionFactory.java
deleted file mode 100755
index 40f4676..0000000
--- a/appserver/tests/appserv-tests/devtests/connector/v3/embeddedweb/ra/src/com/sun/jdbcra/spi/DSManagedConnectionFactory.java
+++ /dev/null
@@ -1,582 +0,0 @@
-/*
- * Copyright (c) 2003, 2018 Oracle and/or its affiliates. All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v. 2.0, which is available at
- * http://www.eclipse.org/legal/epl-2.0.
- *
- * This Source Code may also be made available under the following Secondary
- * Licenses when the conditions for such availability set forth in the
- * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
- * version 2 with the GNU Classpath Exception, which is available at
- * https://www.gnu.org/software/classpath/license.html.
- *
- * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
- */
-
-package com.sun.jdbcra.spi;
-
-import jakarta.resource.ResourceException;
-import jakarta.resource.spi.ConnectionRequestInfo;
-import com.sun.jdbcra.spi.ConnectionManager;
-import com.sun.jdbcra.common.DataSourceSpec;
-import com.sun.jdbcra.common.DataSourceObjectBuilder;
-import com.sun.jdbcra.util.SecurityUtils;
-import jakarta.resource.spi.security.PasswordCredential;
-import com.sun.jdbcra.spi.ManagedConnectionFactory;
-import com.sun.jdbcra.common.DataSourceSpec;
-import java.util.logging.Logger;
-import java.util.logging.Level;
-
-/**
- * Data Source <code>ManagedConnectionFactory</code> implementation for Generic JDBC Connector.
- *
- * @version        1.0, 02/07/30
- * @author        Evani Sai Surya Kiran
- */
-
-public class DSManagedConnectionFactory extends ManagedConnectionFactory {
-
-    private transient javax.sql.DataSource dataSourceObj;
-
-    private static Logger _logger;
-    static {
-        _logger = Logger.getAnonymousLogger();
-    }
-    private boolean debug = false;
-
-    /**
-     * Creates a new physical connection to the underlying EIS resource
-     * manager.
-     *
-     * @param        subject        <code>Subject</code> instance passed by the application server
-     * @param        cxRequestInfo        <code>ConnectionRequestInfo</code> which may be created
-     *                                    as a result of the invocation <code>getConnection(user, password)</code>
-     *                                    on the <code>DataSource</code> object
-     * @return        <code>ManagedConnection</code> object created
-     * @throws        ResourceException        if there is an error in instantiating the
-     *                                         <code>DataSource</code> object used for the
-     *                                       creation of the <code>ManagedConnection</code> object
-     * @throws        SecurityException        if there ino <code>PasswordCredential</code> object
-     *                                         satisfying this request
-     * @throws        ResourceAllocationException        if there is an error in allocating the
-     *                                                physical connection
-     */
-    public jakarta.resource.spi.ManagedConnection createManagedConnection(javax.security.auth.Subject subject,
-        ConnectionRequestInfo cxRequestInfo) throws ResourceException {
-        if(logWriter != null) {
-                logWriter.println("In createManagedConnection");
-        }
-        PasswordCredential pc = SecurityUtils.getPasswordCredential(this, subject, cxRequestInfo);
-
-        if(dataSourceObj == null) {
-            if(dsObjBuilder == null) {
-                dsObjBuilder = new DataSourceObjectBuilder(spec);
-            }
-
-            System.out.println("V3-TEST : before getting datasource object");
-            try {
-                dataSourceObj = (javax.sql.DataSource) dsObjBuilder.constructDataSourceObject();
-            } catch(ClassCastException cce) {
-                _logger.log(Level.SEVERE, "jdbc.exc_cce", cce);
-                throw new jakarta.resource.ResourceException(cce.getMessage());
-            }
-        }
-
-        java.sql.Connection dsConn = null;
-
-        try {
-            /* For the case where the user/passwd of the connection pool is
-             * equal to the PasswordCredential for the connection request
-             * get a connection from this pool directly.
-             * for all other conditions go create a new connection
-             */
-            if ( isEqual( pc, getUser(), getPassword() ) ) {
-                dsConn = dataSourceObj.getConnection();
-            } else {
-                dsConn = dataSourceObj.getConnection(pc.getUserName(),
-                    new String(pc.getPassword()));
-            }
-        } catch(java.sql.SQLException sqle) {
-            sqle.printStackTrace();
-            _logger.log(Level.WARNING, "jdbc.exc_create_conn", sqle);
-            throw new jakarta.resource.spi.ResourceAllocationException("The connection could not be allocated: " +
-                sqle.getMessage());
-        } catch(Exception e){
-            System.out.println("V3-TEST : unable to get connection");
-            e.printStackTrace();
-        }
-        System.out.println("V3-TEST : got connection");
-
-        com.sun.jdbcra.spi.ManagedConnection mc = new com.sun.jdbcra.spi.ManagedConnection(null, dsConn, pc, this);
-        //GJCINT
-/*
-        setIsolation(mc);
-        isValid(mc);
-*/
-        System.out.println("V3-TEST : returning connection");
-        return mc;
-    }
-
-    /**
-     * Check if this <code>ManagedConnectionFactory</code> is equal to
-     * another <code>ManagedConnectionFactory</code>.
-     *
-     * @param        other        <code>ManagedConnectionFactory</code> object for checking equality with
-     * @return        true        if the property sets of both the
-     *                        <code>ManagedConnectionFactory</code> objects are the same
-     *                false        otherwise
-     */
-    public boolean equals(Object other) {
-        if(logWriter != null) {
-                logWriter.println("In equals");
-        }
-        /**
-         * The check below means that two ManagedConnectionFactory objects are equal
-         * if and only if their properties are the same.
-         */
-        if(other instanceof com.sun.jdbcra.spi.DSManagedConnectionFactory) {
-            com.sun.jdbcra.spi.DSManagedConnectionFactory otherMCF =
-                (com.sun.jdbcra.spi.DSManagedConnectionFactory) other;
-            return this.spec.equals(otherMCF.spec);
-        }
-        return false;
-    }
-
-    /**
-     * Sets the server name.
-     *
-     * @param        serverName        <code>String</code>
-     * @see        <code>getServerName</code>
-     */
-    public void setserverName(String serverName) {
-        spec.setDetail(DataSourceSpec.SERVERNAME, serverName);
-    }
-
-    /**
-     * Gets the server name.
-     *
-     * @return        serverName
-     * @see        <code>setServerName</code>
-     */
-    public String getserverName() {
-        return spec.getDetail(DataSourceSpec.SERVERNAME);
-    }
-
-    /**
-     * Sets the server name.
-     *
-     * @param        serverName        <code>String</code>
-     * @see        <code>getServerName</code>
-     */
-    public void setServerName(String serverName) {
-        spec.setDetail(DataSourceSpec.SERVERNAME, serverName);
-    }
-
-    /**
-     * Gets the server name.
-     *
-     * @return        serverName
-     * @see        <code>setServerName</code>
-     */
-    public String getServerName() {
-        return spec.getDetail(DataSourceSpec.SERVERNAME);
-    }
-
-    /**
-     * Sets the port number.
-     *
-     * @param        portNumber        <code>String</code>
-     * @see        <code>getPortNumber</code>
-     */
-    public void setportNumber(String portNumber) {
-        spec.setDetail(DataSourceSpec.PORTNUMBER, portNumber);
-    }
-
-    /**
-     * Gets the port number.
-     *
-     * @return        portNumber
-     * @see        <code>setPortNumber</code>
-     */
-    public String getportNumber() {
-        return spec.getDetail(DataSourceSpec.PORTNUMBER);
-    }
-
-    /**
-     * Sets the port number.
-     *
-     * @param        portNumber        <code>String</code>
-     * @see        <code>getPortNumber</code>
-     */
-    public void setPortNumber(String portNumber) {
-        spec.setDetail(DataSourceSpec.PORTNUMBER, portNumber);
-    }
-
-    /**
-     * Gets the port number.
-     *
-     * @return        portNumber
-     * @see        <code>setPortNumber</code>
-     */
-    public String getPortNumber() {
-        return spec.getDetail(DataSourceSpec.PORTNUMBER);
-    }
-
-    /**
-     * Sets the database name.
-     *
-     * @param        databaseName        <code>String</code>
-     * @see        <code>getDatabaseName</code>
-     */
-    public void setdatabaseName(String databaseName) {
-        spec.setDetail(DataSourceSpec.DATABASENAME, databaseName);
-    }
-
-    /**
-     * Gets the database name.
-     *
-     * @return        databaseName
-     * @see        <code>setDatabaseName</code>
-     */
-    public String getdatabaseName() {
-        return spec.getDetail(DataSourceSpec.DATABASENAME);
-    }
-
-    /**
-     * Sets the database name.
-     *
-     * @param        databaseName        <code>String</code>
-     * @see        <code>getDatabaseName</code>
-     */
-    public void setDatabaseName(String databaseName) {
-        spec.setDetail(DataSourceSpec.DATABASENAME, databaseName);
-    }
-
-    /**
-     * Gets the database name.
-     *
-     * @return        databaseName
-     * @see        <code>setDatabaseName</code>
-     */
-    public String getDatabaseName() {
-        return spec.getDetail(DataSourceSpec.DATABASENAME);
-    }
-
-    /**
-     * Sets the data source name.
-     *
-     * @param        dsn <code>String</code>
-     * @see        <code>getDataSourceName</code>
-     */
-    public void setdataSourceName(String dsn) {
-        spec.setDetail(DataSourceSpec.DATASOURCENAME, dsn);
-    }
-
-    /**
-     * Gets the data source name.
-     *
-     * @return        dsn
-     * @see        <code>setDataSourceName</code>
-     */
-    public String getdataSourceName() {
-        return spec.getDetail(DataSourceSpec.DATASOURCENAME);
-    }
-
-    /**
-     * Sets the data source name.
-     *
-     * @param        dsn <code>String</code>
-     * @see        <code>getDataSourceName</code>
-     */
-    public void setDataSourceName(String dsn) {
-        spec.setDetail(DataSourceSpec.DATASOURCENAME, dsn);
-    }
-
-    /**
-     * Gets the data source name.
-     *
-     * @return        dsn
-     * @see        <code>setDataSourceName</code>
-     */
-    public String getDataSourceName() {
-        return spec.getDetail(DataSourceSpec.DATASOURCENAME);
-    }
-
-    /**
-     * Sets the description.
-     *
-     * @param        desc        <code>String</code>
-     * @see        <code>getDescription</code>
-     */
-    public void setdescription(String desc) {
-        spec.setDetail(DataSourceSpec.DESCRIPTION, desc);
-    }
-
-    /**
-     * Gets the description.
-     *
-     * @return        desc
-     * @see        <code>setDescription</code>
-     */
-    public String getdescription() {
-        return spec.getDetail(DataSourceSpec.DESCRIPTION);
-    }
-
-    /**
-     * Sets the description.
-     *
-     * @param        desc        <code>String</code>
-     * @see        <code>getDescription</code>
-     */
-    public void setDescription(String desc) {
-        spec.setDetail(DataSourceSpec.DESCRIPTION, desc);
-    }
-
-    /**
-     * Gets the description.
-     *
-     * @return        desc
-     * @see        <code>setDescription</code>
-     */
-    public String getDescription() {
-        return spec.getDetail(DataSourceSpec.DESCRIPTION);
-    }
-
-    /**
-     * Sets the network protocol.
-     *
-     * @param        nwProtocol        <code>String</code>
-     * @see        <code>getNetworkProtocol</code>
-     */
-    public void setnetworkProtocol(String nwProtocol) {
-        spec.setDetail(DataSourceSpec.NETWORKPROTOCOL, nwProtocol);
-    }
-
-    /**
-     * Gets the network protocol.
-     *
-     * @return        nwProtocol
-     * @see        <code>setNetworkProtocol</code>
-     */
-    public String getnetworkProtocol() {
-        return spec.getDetail(DataSourceSpec.NETWORKPROTOCOL);
-    }
-
-    /**
-     * Sets the network protocol.
-     *
-     * @param        nwProtocol        <code>String</code>
-     * @see        <code>getNetworkProtocol</code>
-     */
-    public void setNetworkProtocol(String nwProtocol) {
-        spec.setDetail(DataSourceSpec.NETWORKPROTOCOL, nwProtocol);
-    }
-
-    /**
-     * Gets the network protocol.
-     *
-     * @return        nwProtocol
-     * @see        <code>setNetworkProtocol</code>
-     */
-    public String getNetworkProtocol() {
-        return spec.getDetail(DataSourceSpec.NETWORKPROTOCOL);
-    }
-
-    /**
-     * Sets the role name.
-     *
-     * @param        roleName        <code>String</code>
-     * @see        <code>getRoleName</code>
-     */
-    public void setroleName(String roleName) {
-        spec.setDetail(DataSourceSpec.ROLENAME, roleName);
-    }
-
-    /**
-     * Gets the role name.
-     *
-     * @return        roleName
-     * @see        <code>setRoleName</code>
-     */
-    public String getroleName() {
-        return spec.getDetail(DataSourceSpec.ROLENAME);
-    }
-
-    /**
-     * Sets the role name.
-     *
-     * @param        roleName        <code>String</code>
-     * @see        <code>getRoleName</code>
-     */
-    public void setRoleName(String roleName) {
-        spec.setDetail(DataSourceSpec.ROLENAME, roleName);
-    }
-
-    /**
-     * Gets the role name.
-     *
-     * @return        roleName
-     * @see        <code>setRoleName</code>
-     */
-    public String getRoleName() {
-        return spec.getDetail(DataSourceSpec.ROLENAME);
-    }
-
-
-    /**
-     * Sets the login timeout.
-     *
-     * @param        loginTimeOut        <code>String</code>
-     * @see        <code>getLoginTimeOut</code>
-     */
-    public void setloginTimeOut(String loginTimeOut) {
-        spec.setDetail(DataSourceSpec.LOGINTIMEOUT, loginTimeOut);
-    }
-
-    /**
-     * Gets the login timeout.
-     *
-     * @return        loginTimeout
-     * @see        <code>setLoginTimeOut</code>
-     */
-    public String getloginTimeOut() {
-        return spec.getDetail(DataSourceSpec.LOGINTIMEOUT);
-    }
-
-    /**
-     * Sets the login timeout.
-     *
-     * @param        loginTimeOut        <code>String</code>
-     * @see        <code>getLoginTimeOut</code>
-     */
-    public void setLoginTimeOut(String loginTimeOut) {
-        spec.setDetail(DataSourceSpec.LOGINTIMEOUT, loginTimeOut);
-    }
-
-    /**
-     * Gets the login timeout.
-     *
-     * @return        loginTimeout
-     * @see        <code>setLoginTimeOut</code>
-     */
-    public String getLoginTimeOut() {
-        return spec.getDetail(DataSourceSpec.LOGINTIMEOUT);
-    }
-
-    /**
-     * Sets the delimiter.
-     *
-     * @param        delim        <code>String</code>
-     * @see        <code>getDelimiter</code>
-     */
-    public void setdelimiter(String delim) {
-        spec.setDetail(DataSourceSpec.DELIMITER, delim);
-    }
-
-    /**
-     * Gets the delimiter.
-     *
-     * @return        delim
-     * @see        <code>setDelimiter</code>
-     */
-    public String getdelimiter() {
-        return spec.getDetail(DataSourceSpec.DELIMITER);
-    }
-
-    /**
-     * Sets the delimiter.
-     *
-     * @param        delim        <code>String</code>
-     * @see        <code>getDelimiter</code>
-     */
-    public void setDelimiter(String delim) {
-        spec.setDetail(DataSourceSpec.DELIMITER, delim);
-    }
-
-    /**
-     * Gets the delimiter.
-     *
-     * @return        delim
-     * @see        <code>setDelimiter</code>
-     */
-    public String getDelimiter() {
-        return spec.getDetail(DataSourceSpec.DELIMITER);
-    }
-
-    /**
-     * Sets the driver specific properties.
-     *
-     * @param        driverProps        <code>String</code>
-     * @see        <code>getDriverProperties</code>
-     */
-    public void setdriverProperties(String driverProps) {
-        spec.setDetail(DataSourceSpec.DRIVERPROPERTIES, driverProps);
-    }
-
-    /**
-     * Gets the driver specific properties.
-     *
-     * @return        driverProps
-     * @see        <code>setDriverProperties</code>
-     */
-    public String getdriverProperties() {
-        return spec.getDetail(DataSourceSpec.DRIVERPROPERTIES);
-    }
-
-    /**
-     * Sets the driver specific properties.
-     *
-     * @param        driverProps        <code>String</code>
-     * @see        <code>getDriverProperties</code>
-     */
-    public void setDriverProperties(String driverProps) {
-        spec.setDetail(DataSourceSpec.DRIVERPROPERTIES, driverProps);
-    }
-
-    /**
-     * Gets the driver specific properties.
-     *
-     * @return        driverProps
-     * @see        <code>setDriverProperties</code>
-     */
-    public String getDriverProperties() {
-        return spec.getDetail(DataSourceSpec.DRIVERPROPERTIES);
-    }
-
-    /*
-     * Check if the PasswordCredential passed for this get connection
-     * request is equal to the user/passwd of this connection pool.
-     */
-    private boolean isEqual( PasswordCredential pc, String user,
-        String password) {
-
-        //if equal get direct connection else
-        //get connection with user and password.
-
-        if (user == null && pc == null) {
-            return true;
-        }
-
-        if ( user == null && pc != null ) {
-            return false;
-        }
-
-        if( pc == null ) {
-            return true;
-        }
-
-        if ( user.equals( pc.getUserName() ) ) {
-            if ( password == null && pc.getPassword() == null ) {
-                return true;
-            }
-        }
-
-        if ( user.equals(pc.getUserName()) && password.equals(pc.getPassword()) ) {
-            return true;
-        }
-
-
-        return false;
-    }
-}
diff --git a/appserver/tests/appserv-tests/devtests/connector/v3/embeddedweb/ra/src/com/sun/jdbcra/spi/DataSource.java b/appserver/tests/appserv-tests/devtests/connector/v3/embeddedweb/ra/src/com/sun/jdbcra/spi/DataSource.java
deleted file mode 100755
index 4436215..0000000
--- a/appserver/tests/appserv-tests/devtests/connector/v3/embeddedweb/ra/src/com/sun/jdbcra/spi/DataSource.java
+++ /dev/null
@@ -1,212 +0,0 @@
-/*
- * Copyright (c) 2003, 2018 Oracle and/or its affiliates. All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v. 2.0, which is available at
- * http://www.eclipse.org/legal/epl-2.0.
- *
- * This Source Code may also be made available under the following Secondary
- * Licenses when the conditions for such availability set forth in the
- * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
- * version 2 with the GNU Classpath Exception, which is available at
- * https://www.gnu.org/software/classpath/license.html.
- *
- * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
- */
-
-package com.sun.jdbcra.spi;
-
-import java.io.PrintWriter;
-import java.sql.Connection;
-import java.sql.SQLException;
-import java.sql.SQLFeatureNotSupportedException;
-import jakarta.resource.spi.ManagedConnectionFactory;
-import jakarta.resource.spi.ConnectionManager;
-import jakarta.resource.ResourceException;
-import javax.naming.Reference;
-
-import java.util.logging.Logger;
-import java.util.logging.Level;
-/**
- * Holds the <code>java.sql.Connection</code> object, which is to be
- * passed to the application program.
- *
- * @version        1.0, 02/07/31
- * @author        Binod P.G
- */
-public class DataSource implements javax.sql.DataSource, java.io.Serializable,
-                com.sun.appserv.jdbcra.DataSource, jakarta.resource.Referenceable{
-
-    private ManagedConnectionFactory mcf;
-    private ConnectionManager cm;
-    private int loginTimeout;
-    private PrintWriter logWriter;
-    private String description;
-    private Reference reference;
-
-    private static Logger _logger;
-    static {
-        _logger = Logger.getAnonymousLogger();
-    }
-    private boolean debug = false;
-
-    /**
-     * Constructs <code>DataSource</code> object. This is created by the
-     * <code>ManagedConnectionFactory</code> object.
-     *
-     * @param        mcf        <code>ManagedConnectionFactory</code> object
-     *                        creating this object.
-     * @param        cm        <code>ConnectionManager</code> object either associated
-     *                        with Application server or Resource Adapter.
-     */
-    public DataSource (ManagedConnectionFactory mcf, ConnectionManager cm) {
-            this.mcf = mcf;
-            if (cm == null) {
-                this.cm = (ConnectionManager) new com.sun.jdbcra.spi.ConnectionManager();
-            } else {
-                this.cm = cm;
-            }
-    }
-
-    /**
-     * Retrieves the <code> Connection </code> object.
-     *
-     * @return        <code> Connection </code> object.
-     * @throws SQLException In case of an error.
-     */
-    public Connection getConnection() throws SQLException {
-            try {
-                return (Connection) cm.allocateConnection(mcf,null);
-            } catch (ResourceException re) {
-// This is temporary. This needs to be changed to SEVERE after TP
-            _logger.log(Level.WARNING, "jdbc.exc_get_conn", re.getMessage());
-            re.printStackTrace();
-                throw new SQLException (re.getMessage());
-            }
-    }
-
-    /**
-     * Retrieves the <code> Connection </code> object.
-     *
-     * @param        user        User name for the Connection.
-     * @param        pwd        Password for the Connection.
-     * @return        <code> Connection </code> object.
-     * @throws SQLException In case of an error.
-     */
-    public Connection getConnection(String user, String pwd) throws SQLException {
-            try {
-                ConnectionRequestInfo info = new ConnectionRequestInfo (user, pwd);
-                return (Connection) cm.allocateConnection(mcf,info);
-            } catch (ResourceException re) {
-// This is temporary. This needs to be changed to SEVERE after TP
-            _logger.log(Level.WARNING, "jdbc.exc_get_conn", re.getMessage());
-                throw new SQLException (re.getMessage());
-            }
-    }
-
-    /**
-     * Retrieves the actual SQLConnection from the Connection wrapper
-     * implementation of SunONE application server. If an actual connection is
-     * supplied as argument, then it will be just returned.
-     *
-     * @param con Connection obtained from <code>Datasource.getConnection()</code>
-     * @return <code>java.sql.Connection</code> implementation of the driver.
-     * @throws <code>java.sql.SQLException</code> If connection cannot be obtained.
-     */
-    public Connection getConnection(Connection con) throws SQLException {
-
-        Connection driverCon = con;
-        if (con instanceof com.sun.jdbcra.spi.ConnectionHolder) {
-           driverCon = ((com.sun.jdbcra.spi.ConnectionHolder) con).getConnection();
-        }
-
-        return driverCon;
-    }
-
-    /**
-     * Get the login timeout
-     *
-     * @return login timeout.
-     * @throws        SQLException        If a database error occurs.
-     */
-    public int getLoginTimeout() throws SQLException{
-            return        loginTimeout;
-    }
-
-    /**
-     * Set the login timeout
-     *
-     * @param        loginTimeout        Login timeout.
-     * @throws        SQLException        If a database error occurs.
-     */
-    public void setLoginTimeout(int loginTimeout) throws SQLException{
-            this.loginTimeout = loginTimeout;
-    }
-
-    /**
-     * Get the logwriter object.
-     *
-     * @return <code> PrintWriter </code> object.
-     * @throws        SQLException        If a database error occurs.
-     */
-    public PrintWriter getLogWriter() throws SQLException{
-            return        logWriter;
-    }
-
-    /**
-     * Set the logwriter on this object.
-     *
-     * @param <code>PrintWriter</code> object.
-     * @throws        SQLException        If a database error occurs.
-     */
-    public void setLogWriter(PrintWriter logWriter) throws SQLException{
-            this.logWriter = logWriter;
-    }
-
-    public Logger getParentLogger() throws SQLFeatureNotSupportedException{
-      throw new SQLFeatureNotSupportedException("Do not support Java 7 feature.");
-    }
-    /**
-     * Retrieves the description.
-     *
-     * @return        Description about the DataSource.
-     */
-    public String getDescription() {
-            return description;
-    }
-
-    /**
-     * Set the description.
-     *
-     * @param description Description about the DataSource.
-     */
-    public void setDescription(String description) {
-            this.description = description;
-    }
-
-    /**
-     * Get the reference.
-     *
-     * @return <code>Reference</code>object.
-     */
-    public Reference getReference() {
-            return reference;
-    }
-
-    /**
-     * Get the reference.
-     *
-     * @param        reference <code>Reference</code> object.
-     */
-    public void setReference(Reference reference) {
-            this.reference = reference;
-    }
-
-    public <T> T unwrap(Class<T> iface) throws SQLException {
-        return null;  //To change body of implemented methods use File | Settings | File Templates.
-    }
-
-    public boolean isWrapperFor(Class<?> iface) throws SQLException {
-        return false;  //To change body of implemented methods use File | Settings | File Templates.
-    }
-}
diff --git a/appserver/tests/appserv-tests/devtests/connector/v3/embeddedweb/ra/src/com/sun/jdbcra/spi/JdbcSetupAdmin.java b/appserver/tests/appserv-tests/devtests/connector/v3/embeddedweb/ra/src/com/sun/jdbcra/spi/JdbcSetupAdmin.java
deleted file mode 100755
index bec0d6b..0000000
--- a/appserver/tests/appserv-tests/devtests/connector/v3/embeddedweb/ra/src/com/sun/jdbcra/spi/JdbcSetupAdmin.java
+++ /dev/null
@@ -1,39 +0,0 @@
-/*
- * Copyright (c) 2017, 2018 Oracle and/or its affiliates. All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v. 2.0, which is available at
- * http://www.eclipse.org/legal/epl-2.0.
- *
- * This Source Code may also be made available under the following Secondary
- * Licenses when the conditions for such availability set forth in the
- * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
- * version 2 with the GNU Classpath Exception, which is available at
- * https://www.gnu.org/software/classpath/license.html.
- *
- * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
- */
-
-package com.sun.jdbcra.spi;
-
-public interface JdbcSetupAdmin {
-
-    public void setTableName(String db);
-
-    public String getTableName();
-
-    public void setJndiName(String name);
-
-    public String getJndiName();
-
-    public void setSchemaName(String name);
-
-    public String getSchemaName();
-
-    public void setNoOfRows(Integer i);
-
-    public Integer getNoOfRows();
-
-    public boolean checkSetup();
-
-}
diff --git a/appserver/tests/appserv-tests/devtests/connector/v3/embeddedweb/ra/src/com/sun/jdbcra/spi/JdbcSetupAdminImpl.java b/appserver/tests/appserv-tests/devtests/connector/v3/embeddedweb/ra/src/com/sun/jdbcra/spi/JdbcSetupAdminImpl.java
deleted file mode 100755
index 82c50b5..0000000
--- a/appserver/tests/appserv-tests/devtests/connector/v3/embeddedweb/ra/src/com/sun/jdbcra/spi/JdbcSetupAdminImpl.java
+++ /dev/null
@@ -1,182 +0,0 @@
-/*
- * Copyright (c) 2017, 2018 Oracle and/or its affiliates. All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v. 2.0, which is available at
- * http://www.eclipse.org/legal/epl-2.0.
- *
- * This Source Code may also be made available under the following Secondary
- * Licenses when the conditions for such availability set forth in the
- * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
- * version 2 with the GNU Classpath Exception, which is available at
- * https://www.gnu.org/software/classpath/license.html.
- *
- * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
- */
-
-package com.sun.jdbcra.spi;
-
-import javax.naming.*;
-import javax.sql.*;
-import java.sql.*;
-// import javax.sql.DataSource;
-public class JdbcSetupAdminImpl implements JdbcSetupAdmin {
-
-    private String tableName;
-
-    private String jndiName;
-
-    private String schemaName;
-
-    private Integer noOfRows;
-
-    public void setTableName(String db) {
-        tableName = db;
-    }
-
-    public String getTableName(){
-        return tableName;
-    }
-
-    public void setJndiName(String name){
-        jndiName = name;
-    }
-
-    public String getJndiName() {
-        return jndiName;
-    }
-
-    public void setSchemaName(String name){
-        schemaName = name;
-    }
-
-    public String getSchemaName() {
-        return schemaName;
-    }
-
-    public void setNoOfRows(Integer i) {
-        System.out.println("Setting no of rows :" + i);
-        noOfRows = i;
-    }
-
-    public Integer getNoOfRows() {
-        return noOfRows;
-    }
-
-private void printHierarchy(ClassLoader cl, int cnt){
-while(cl != null) {
-        for(int i =0; i < cnt; i++)
-                System.out.print(" " );
-        System.out.println("PARENT :" + cl);
-        cl = cl.getParent();
-        cnt += 3;
-}
-}
-
-private void compareHierarchy(ClassLoader cl1, ClassLoader cl2 , int cnt){
-while(cl1 != null || cl2 != null) {
-        for(int i =0; i < cnt; i++)
-                System.out.print(" " );
-        System.out.println("PARENT of ClassLoader 1 :" + cl1);
-        System.out.println("PARENT of ClassLoader 2 :" + cl2);
-        System.out.println("EQUALS : " + (cl1 == cl2));
-        cl1 = cl1.getParent();
-        cl2 = cl2.getParent();
-        cnt += 3;
-}
-}
-
-
-    public boolean checkSetup(){
-
-        if (jndiName== null || jndiName.trim().equals("")) {
-           return false;
-        }
-
-        if (tableName== null || tableName.trim().equals("")) {
-           return false;
-        }
-
-        Connection con = null;
-        Statement s = null;
-        ResultSet rs = null;
-        boolean b = false;
-        try {
-            InitialContext ic = new InitialContext();
-        //debug
-        Class clz = DataSource.class;
-/*
-        if(clz.getClassLoader() != null) {
-                System.out.println("DataSource's clasxs : " +  clz.getName() +  " classloader " + clz.getClassLoader());
-                printHierarchy(clz.getClassLoader().getParent(), 8);
-        }
-        Class cls = ic.lookup(jndiName).getClass();
-        System.out.println("Looked up class's : " + cls.getPackage() + ":" + cls.getName()  + " classloader "  + cls.getClassLoader());
-        printHierarchy(cls.getClassLoader().getParent(), 8);
-
-        System.out.println("Classloaders equal ? " +  (clz.getClassLoader() == cls.getClassLoader()));
-        System.out.println("&*&*&*&* Comparing Hierachy DataSource vs lookedup");
-        if(clz.getClassLoader() != null) {
-                compareHierarchy(clz.getClassLoader(), cls.getClassLoader(), 8);
-        }
-
-        System.out.println("Before lookup");
-*/
-        Object o = ic.lookup(jndiName);
-//        System.out.println("after lookup lookup");
-
-            DataSource ds = (DataSource)o ;
-/*
-        System.out.println("after cast");
-        System.out.println("---------- Trying our Stuff !!!");
-        try {
-                Class o1 = (Class.forName("com.sun.jdbcra.spi.DataSource"));
-                ClassLoader cl1 = o1.getClassLoader();
-                ClassLoader cl2 = DataSource.class.getClassLoader();
-                System.out.println("Cl1 == Cl2" + (cl1 == cl2));
-                System.out.println("Classes equal" + (DataSource.class == o1));
-        } catch (Exception ex) {
-                ex.printStackTrace();
-        }
-*/
-            con = ds.getConnection();
-            String fullTableName = tableName;
-            if (schemaName != null && (!(schemaName.trim().equals("")))) {
-                fullTableName = schemaName.trim() + "." + fullTableName;
-            }
-            String qry = "select * from " + fullTableName;
-
-            System.out.println("Executing query :" + qry);
-
-            s = con.createStatement();
-            rs = s.executeQuery(qry);
-
-            int i = 0;
-            if (rs.next()) {
-                i++;
-            }
-
-            System.out.println("No of rows found:" + i);
-            System.out.println("No of rows expected:" + noOfRows);
-
-            if (i == noOfRows.intValue()) {
-               b = true;
-            } else {
-               b = false;
-            }
-        } catch(Exception e) {
-            e.printStackTrace();
-            b = false;
-        } finally {
-            try {
-                if (rs != null) rs.close();
-                if (s != null) s.close();
-                if (con != null) con.close();
-            } catch (Exception e) {
-            }
-        }
-        System.out.println("Returning setup :" +b);
-        return b;
-    }
-
-}
diff --git a/appserver/tests/appserv-tests/devtests/connector/v3/embeddedweb/ra/src/com/sun/jdbcra/spi/LocalTransaction.java b/appserver/tests/appserv-tests/devtests/connector/v3/embeddedweb/ra/src/com/sun/jdbcra/spi/LocalTransaction.java
deleted file mode 100755
index ce8635b..0000000
--- a/appserver/tests/appserv-tests/devtests/connector/v3/embeddedweb/ra/src/com/sun/jdbcra/spi/LocalTransaction.java
+++ /dev/null
@@ -1,96 +0,0 @@
-/*
- * Copyright (c) 2003, 2018 Oracle and/or its affiliates. All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v. 2.0, which is available at
- * http://www.eclipse.org/legal/epl-2.0.
- *
- * This Source Code may also be made available under the following Secondary
- * Licenses when the conditions for such availability set forth in the
- * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
- * version 2 with the GNU Classpath Exception, which is available at
- * https://www.gnu.org/software/classpath/license.html.
- *
- * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
- */
-
-package com.sun.jdbcra.spi;
-
-import com.sun.jdbcra.spi.ManagedConnection;
-import jakarta.resource.ResourceException;
-import jakarta.resource.spi.LocalTransactionException;
-
-/**
- * <code>LocalTransaction</code> implementation for Generic JDBC Connector.
- *
- * @version        1.0, 02/08/03
- * @author        Evani Sai Surya Kiran
- */
-public class LocalTransaction implements jakarta.resource.spi.LocalTransaction {
-
-    private ManagedConnection mc;
-
-    /**
-     * Constructor for <code>LocalTransaction</code>.
-     * @param        mc        <code>ManagedConnection</code> that returns
-     *                        this <code>LocalTransaction</code> object as
-     *                        a result of <code>getLocalTransaction</code>
-     */
-    public LocalTransaction(ManagedConnection mc) {
-        this.mc = mc;
-    }
-
-    /**
-     * Begin a local transaction.
-     *
-     * @throws        LocalTransactionException        if there is an error in changing
-     *                                                the autocommit mode of the physical
-     *                                                connection
-     */
-    public void begin() throws ResourceException {
-        //GJCINT
-        mc.transactionStarted();
-        try {
-            mc.getActualConnection().setAutoCommit(false);
-        } catch(java.sql.SQLException sqle) {
-            throw new LocalTransactionException(sqle.getMessage());
-        }
-    }
-
-    /**
-     * Commit a local transaction.
-     * @throws        LocalTransactionException        if there is an error in changing
-     *                                                the autocommit mode of the physical
-     *                                                connection or committing the transaction
-     */
-    public void commit() throws ResourceException {
-        Exception e = null;
-        try {
-            mc.getActualConnection().commit();
-            mc.getActualConnection().setAutoCommit(true);
-        } catch(java.sql.SQLException sqle) {
-            throw new LocalTransactionException(sqle.getMessage());
-        }
-        //GJCINT
-        mc.transactionCompleted();
-    }
-
-    /**
-     * Rollback a local transaction.
-     *
-     * @throws        LocalTransactionException        if there is an error in changing
-     *                                                the autocommit mode of the physical
-     *                                                connection or rolling back the transaction
-     */
-    public void rollback() throws ResourceException {
-        try {
-            mc.getActualConnection().rollback();
-            mc.getActualConnection().setAutoCommit(true);
-        } catch(java.sql.SQLException sqle) {
-            throw new LocalTransactionException(sqle.getMessage());
-        }
-        //GJCINT
-        mc.transactionCompleted();
-    }
-
-}
diff --git a/appserver/tests/appserv-tests/devtests/connector/v3/embeddedweb/ra/src/com/sun/jdbcra/spi/ManagedConnection.java b/appserver/tests/appserv-tests/devtests/connector/v3/embeddedweb/ra/src/com/sun/jdbcra/spi/ManagedConnection.java
deleted file mode 100755
index f0443d0..0000000
--- a/appserver/tests/appserv-tests/devtests/connector/v3/embeddedweb/ra/src/com/sun/jdbcra/spi/ManagedConnection.java
+++ /dev/null
@@ -1,664 +0,0 @@
-/*
- * Copyright (c) 2003, 2018 Oracle and/or its affiliates. All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v. 2.0, which is available at
- * http://www.eclipse.org/legal/epl-2.0.
- *
- * This Source Code may also be made available under the following Secondary
- * Licenses when the conditions for such availability set forth in the
- * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
- * version 2 with the GNU Classpath Exception, which is available at
- * https://www.gnu.org/software/classpath/license.html.
- *
- * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
- */
-
-package com.sun.jdbcra.spi;
-
-import jakarta.resource.spi.*;
-import jakarta.resource.*;
-import javax.security.auth.Subject;
-import java.io.PrintWriter;
-import javax.transaction.xa.XAResource;
-import java.util.Set;
-import java.util.Hashtable;
-import java.util.Iterator;
-import javax.sql.PooledConnection;
-import javax.sql.XAConnection;
-import java.sql.Connection;
-import java.sql.SQLException;
-import jakarta.resource.NotSupportedException;
-import jakarta.resource.spi.security.PasswordCredential;
-import com.sun.jdbcra.spi.ConnectionRequestInfo;
-import com.sun.jdbcra.spi.LocalTransaction;
-import com.sun.jdbcra.spi.ManagedConnectionMetaData;
-import com.sun.jdbcra.util.SecurityUtils;
-import com.sun.jdbcra.spi.ConnectionHolder;
-import java.util.logging.Logger;
-import java.util.logging.Level;
-
-/**
- * <code>ManagedConnection</code> implementation for Generic JDBC Connector.
- *
- * @version        1.0, 02/07/22
- * @author        Evani Sai Surya Kiran
- */
-public class ManagedConnection implements jakarta.resource.spi.ManagedConnection {
-
-    public static final int ISNOTAPOOLEDCONNECTION = 0;
-    public static final int ISPOOLEDCONNECTION = 1;
-    public static final int ISXACONNECTION = 2;
-
-    private boolean isDestroyed = false;
-    private boolean isUsable = true;
-
-    private int connectionType = ISNOTAPOOLEDCONNECTION;
-    private PooledConnection pc = null;
-    private java.sql.Connection actualConnection = null;
-    private Hashtable connectionHandles;
-    private PrintWriter logWriter;
-    private PasswordCredential passwdCredential;
-    private jakarta.resource.spi.ManagedConnectionFactory mcf = null;
-    private XAResource xar = null;
-    public ConnectionHolder activeConnectionHandle;
-
-    //GJCINT
-    private int isolationLevelWhenCleaned;
-    private boolean isClean = false;
-
-    private boolean transactionInProgress = false;
-
-    private ConnectionEventListener listener = null;
-
-    private ConnectionEvent ce = null;
-
-    private static Logger _logger;
-    static {
-        _logger = Logger.getAnonymousLogger();
-    }
-
-    /**
-     * Constructor for <code>ManagedConnection</code>. The pooledConn parameter is expected
-     * to be null and sqlConn parameter is the actual connection in case where
-     * the actual connection is got from a non pooled datasource object. The
-     * pooledConn parameter is expected to be non null and sqlConn parameter
-     * is expected to be null in the case where the datasource object is a
-     * connection pool datasource or an xa datasource.
-     *
-     * @param        pooledConn        <code>PooledConnection</code> object in case the
-     *                                physical connection is to be obtained from a pooled
-     *                                <code>DataSource</code>; null otherwise
-     * @param        sqlConn        <code>java.sql.Connection</code> object in case the physical
-     *                        connection is to be obtained from a non pooled <code>DataSource</code>;
-     *                        null otherwise
-     * @param        passwdCred        object conatining the
-     *                                user and password for allocating the connection
-     * @throws        ResourceException        if the <code>ManagedConnectionFactory</code> object
-     *                                        that created this <code>ManagedConnection</code> object
-     *                                        is not the same as returned by <code>PasswordCredential</code>
-     *                                        object passed
-     */
-    public ManagedConnection(PooledConnection pooledConn, java.sql.Connection sqlConn,
-        PasswordCredential passwdCred, jakarta.resource.spi.ManagedConnectionFactory mcf) throws ResourceException {
-        if(pooledConn == null && sqlConn == null) {
-            throw new ResourceException("Connection object cannot be null");
-        }
-
-        if (connectionType == ISNOTAPOOLEDCONNECTION ) {
-            actualConnection = sqlConn;
-        }
-
-        pc = pooledConn;
-        connectionHandles = new Hashtable();
-        passwdCredential = passwdCred;
-        this.mcf = mcf;
-        if(passwdCredential != null &&
-            this.mcf.equals(passwdCredential.getManagedConnectionFactory()) == false) {
-            throw new ResourceException("The ManagedConnectionFactory that has created this " +
-                "ManagedConnection is not the same as the ManagedConnectionFactory returned by" +
-                    " the PasswordCredential for this ManagedConnection");
-        }
-        logWriter = mcf.getLogWriter();
-        activeConnectionHandle = null;
-        ce = new ConnectionEvent(this, ConnectionEvent.CONNECTION_CLOSED);
-    }
-
-    /**
-     * Adds a connection event listener to the ManagedConnection instance.
-     *
-     * @param        listener        <code>ConnectionEventListener</code>
-     * @see <code>removeConnectionEventListener</code>
-     */
-    public void addConnectionEventListener(ConnectionEventListener listener) {
-        this.listener = listener;
-    }
-
-    /**
-     * Used by the container to change the association of an application-level
-     * connection handle with a <code>ManagedConnection</code> instance.
-     *
-     * @param        connection        <code>ConnectionHolder</code> to be associated with
-     *                                this <code>ManagedConnection</code> instance
-     * @throws        ResourceException        if the physical connection is no more
-     *                                        valid or the connection handle passed is null
-     */
-    public void associateConnection(Object connection) throws ResourceException {
-        if(logWriter != null) {
-            logWriter.println("In associateConnection");
-        }
-        checkIfValid();
-        if(connection == null) {
-            throw new ResourceException("Connection handle cannot be null");
-        }
-        ConnectionHolder ch = (ConnectionHolder) connection;
-
-        com.sun.jdbcra.spi.ManagedConnection mc = (com.sun.jdbcra.spi.ManagedConnection)ch.getManagedConnection();
-        mc.activeConnectionHandle = null;
-        isClean = false;
-
-        ch.associateConnection(actualConnection, this);
-        /**
-         * The expectation from the above method is that the connection holder
-         * replaces the actual sql connection it holds with the sql connection
-         * handle being passed in this method call. Also, it replaces the reference
-         * to the ManagedConnection instance with this ManagedConnection instance.
-         * Any previous statements and result sets also need to be removed.
-         */
-
-         if(activeConnectionHandle != null) {
-            activeConnectionHandle.setActive(false);
-        }
-
-        ch.setActive(true);
-        activeConnectionHandle = ch;
-    }
-
-    /**
-     * Application server calls this method to force any cleanup on the
-     * <code>ManagedConnection</code> instance. This method calls the invalidate
-     * method on all ConnectionHandles associated with this <code>ManagedConnection</code>.
-     *
-     * @throws        ResourceException        if the physical connection is no more valid
-     */
-    public void cleanup() throws ResourceException {
-        if(logWriter != null) {
-                logWriter.println("In cleanup");
-        }
-        checkIfValid();
-
-        /**
-         * may need to set the autocommit to true for the non-pooled case.
-         */
-        //GJCINT
-        //if (actualConnection != null) {
-        if (connectionType == ISNOTAPOOLEDCONNECTION ) {
-        try {
-            isolationLevelWhenCleaned = actualConnection.getTransactionIsolation();
-        } catch(SQLException sqle) {
-            throw new ResourceException("The isolation level for the physical connection "
-                + "could not be retrieved");
-        }
-        }
-        isClean = true;
-
-        activeConnectionHandle = null;
-    }
-
-    /**
-     * This method removes all the connection handles from the table
-     * of connection handles and invalidates all of them so that any
-     * operation on those connection handles throws an exception.
-     *
-     * @throws        ResourceException        if there is a problem in retrieving
-     *                                         the connection handles
-     */
-    private void invalidateAllConnectionHandles() throws ResourceException {
-        Set handles = connectionHandles.keySet();
-        Iterator iter = handles.iterator();
-        try {
-            while(iter.hasNext()) {
-                ConnectionHolder ch = (ConnectionHolder)iter.next();
-                ch.invalidate();
-            }
-        } catch(java.util.NoSuchElementException nsee) {
-            throw new ResourceException("Could not find the connection handle: "+ nsee.getMessage());
-        }
-        connectionHandles.clear();
-    }
-
-    /**
-     * Destroys the physical connection to the underlying resource manager.
-     *
-     * @throws        ResourceException        if there is an error in closing the physical connection
-     */
-    public void destroy() throws ResourceException{
-        if(logWriter != null) {
-            logWriter.println("In destroy");
-        }
-        //GJCINT
-        if(isDestroyed == true) {
-            return;
-        }
-
-        activeConnectionHandle = null;
-        try {
-            if(connectionType == ISXACONNECTION || connectionType == ISPOOLEDCONNECTION) {
-                pc.close();
-                pc = null;
-                actualConnection = null;
-            } else {
-                actualConnection.close();
-                actualConnection = null;
-            }
-        } catch(SQLException sqle) {
-            isDestroyed = true;
-            passwdCredential = null;
-            connectionHandles = null;
-            throw new ResourceException("The following exception has occured during destroy: "
-                + sqle.getMessage());
-        }
-        isDestroyed = true;
-        passwdCredential = null;
-        connectionHandles = null;
-    }
-
-    /**
-     * Creates a new connection handle for the underlying physical
-     * connection represented by the <code>ManagedConnection</code> instance.
-     *
-     * @param        subject        <code>Subject</code> parameter needed for authentication
-     * @param        cxReqInfo        <code>ConnectionRequestInfo</code> carries the user
-     *                                and password required for getting this connection.
-     * @return        Connection        the connection handle <code>Object</code>
-     * @throws        ResourceException        if there is an error in allocating the
-     *                                         physical connection from the pooled connection
-     * @throws        SecurityException        if there is a mismatch between the
-     *                                         password credentials or reauthentication is requested
-     */
-    public Object getConnection(Subject sub, jakarta.resource.spi.ConnectionRequestInfo cxReqInfo)
-        throws ResourceException {
-        if(logWriter != null) {
-            logWriter.println("In getConnection");
-        }
-        checkIfValid();
-        com.sun.jdbcra.spi.ConnectionRequestInfo cxRequestInfo = (com.sun.jdbcra.spi.ConnectionRequestInfo) cxReqInfo;
-        PasswordCredential passwdCred = SecurityUtils.getPasswordCredential(this.mcf, sub, cxRequestInfo);
-
-        if(SecurityUtils.isPasswordCredentialEqual(this.passwdCredential, passwdCred) == false) {
-            throw new jakarta.resource.spi.SecurityException("Re-authentication not supported");
-        }
-
-        //GJCINT
-        getActualConnection();
-
-        /**
-         * The following code in the if statement first checks if this ManagedConnection
-         * is clean or not. If it is, it resets the transaction isolation level to what
-         * it was when it was when this ManagedConnection was cleaned up depending on the
-         * ConnectionRequestInfo passed.
-         */
-        if(isClean) {
-            ((com.sun.jdbcra.spi.ManagedConnectionFactory)mcf).resetIsolation(this, isolationLevelWhenCleaned);
-        }
-
-
-        ConnectionHolder connHolderObject = new ConnectionHolder(actualConnection, this);
-        isClean=false;
-
-        if(activeConnectionHandle != null) {
-            activeConnectionHandle.setActive(false);
-        }
-
-        connHolderObject.setActive(true);
-        activeConnectionHandle = connHolderObject;
-
-        return connHolderObject;
-
-    }
-
-    /**
-     * Returns an <code>LocalTransaction</code> instance. The <code>LocalTransaction</code> interface
-     * is used by the container to manage local transactions for a RM instance.
-     *
-     * @return        <code>LocalTransaction</code> instance
-     * @throws        ResourceException        if the physical connection is not valid
-     */
-    public jakarta.resource.spi.LocalTransaction getLocalTransaction() throws ResourceException {
-        if(logWriter != null) {
-            logWriter.println("In getLocalTransaction");
-        }
-        checkIfValid();
-        return new com.sun.jdbcra.spi.LocalTransaction(this);
-    }
-
-    /**
-     * Gets the log writer for this <code>ManagedConnection</code> instance.
-     *
-     * @return        <code>PrintWriter</code> instance associated with this
-     *                <code>ManagedConnection</code> instance
-     * @throws        ResourceException        if the physical connection is not valid
-     * @see <code>setLogWriter</code>
-     */
-    public PrintWriter getLogWriter() throws ResourceException {
-        if(logWriter != null) {
-                logWriter.println("In getLogWriter");
-        }
-        checkIfValid();
-
-        return logWriter;
-    }
-
-    /**
-     * Gets the metadata information for this connection's underlying EIS
-     * resource manager instance.
-     *
-     * @return        <code>ManagedConnectionMetaData</code> instance
-     * @throws        ResourceException        if the physical connection is not valid
-     */
-    public jakarta.resource.spi.ManagedConnectionMetaData getMetaData() throws ResourceException {
-        if(logWriter != null) {
-                logWriter.println("In getMetaData");
-        }
-        checkIfValid();
-
-        return new com.sun.jdbcra.spi.ManagedConnectionMetaData(this);
-    }
-
-    /**
-     * Returns an <code>XAResource</code> instance.
-     *
-     * @return        <code>XAResource</code> instance
-     * @throws        ResourceException        if the physical connection is not valid or
-     *                                        there is an error in allocating the
-     *                                        <code>XAResource</code> instance
-     * @throws        NotSupportedException        if underlying datasource is not an
-     *                                        <code>XADataSource</code>
-     */
-    public XAResource getXAResource() throws ResourceException {
-        if(logWriter != null) {
-                logWriter.println("In getXAResource");
-        }
-        checkIfValid();
-
-        if(connectionType == ISXACONNECTION) {
-            try {
-                if(xar == null) {
-                    /**
-                     * Using the wrapper XAResource.
-                     */
-                    xar = new com.sun.jdbcra.spi.XAResourceImpl(((XAConnection)pc).getXAResource(), this);
-                }
-                return xar;
-            } catch(SQLException sqle) {
-                throw new ResourceException(sqle.getMessage());
-            }
-        } else {
-            throw new NotSupportedException("Cannot get an XAResource from a non XA connection");
-        }
-    }
-
-    /**
-     * Removes an already registered connection event listener from the
-     * <code>ManagedConnection</code> instance.
-     *
-     * @param        listener        <code>ConnectionEventListener</code> to be removed
-     * @see <code>addConnectionEventListener</code>
-     */
-    public void removeConnectionEventListener(ConnectionEventListener listener) {
-        listener = null;
-    }
-
-    /**
-     * This method is called from XAResource wrapper object
-     * when its XAResource.start() has been called or from
-     * LocalTransaction object when its begin() method is called.
-     */
-    void transactionStarted() {
-        transactionInProgress = true;
-    }
-
-    /**
-     * This method is called from XAResource wrapper object
-     * when its XAResource.end() has been called or from
-     * LocalTransaction object when its end() method is called.
-     */
-    void transactionCompleted() {
-        transactionInProgress = false;
-        if(connectionType == ISPOOLEDCONNECTION || connectionType == ISXACONNECTION) {
-            try {
-                isolationLevelWhenCleaned = actualConnection.getTransactionIsolation();
-            } catch(SQLException sqle) {
-                //check what to do in this case!!
-                _logger.log(Level.WARNING, "jdbc.notgot_tx_isolvl");
-            }
-
-            try {
-                actualConnection.close();
-                actualConnection = null;
-            } catch(SQLException sqle) {
-                actualConnection = null;
-            }
-        }
-
-
-        isClean = true;
-
-        activeConnectionHandle = null;
-
-    }
-
-    /**
-     * Checks if a this ManagedConnection is involved in a transaction
-     * or not.
-     */
-    public boolean isTransactionInProgress() {
-        return transactionInProgress;
-    }
-
-    /**
-     * Sets the log writer for this <code>ManagedConnection</code> instance.
-     *
-     * @param        out        <code>PrintWriter</code> to be associated with this
-     *                        <code>ManagedConnection</code> instance
-     * @throws        ResourceException        if the physical connection is not valid
-     * @see <code>getLogWriter</code>
-     */
-    public void setLogWriter(PrintWriter out) throws ResourceException {
-        checkIfValid();
-        logWriter = out;
-    }
-
-    /**
-     * This method determines the type of the connection being held
-     * in this <code>ManagedConnection</code>.
-     *
-     * @param        pooledConn        <code>PooledConnection</code>
-     * @return        connection type
-     */
-    private int getConnectionType(PooledConnection pooledConn) {
-        if(pooledConn == null) {
-            return ISNOTAPOOLEDCONNECTION;
-        } else if(pooledConn instanceof XAConnection) {
-            return ISXACONNECTION;
-        } else {
-            return ISPOOLEDCONNECTION;
-        }
-    }
-
-    /**
-     * Returns the <code>ManagedConnectionFactory</code> instance that
-     * created this <code>ManagedConnection</code> instance.
-     *
-     * @return        <code>ManagedConnectionFactory</code> instance that created this
-     *                <code>ManagedConnection</code> instance
-     */
-    ManagedConnectionFactory getManagedConnectionFactory() {
-        return (com.sun.jdbcra.spi.ManagedConnectionFactory)mcf;
-    }
-
-    /**
-     * Returns the actual sql connection for this <code>ManagedConnection</code>.
-     *
-     * @return        the physical <code>java.sql.Connection</code>
-     */
-    //GJCINT
-    java.sql.Connection getActualConnection() throws ResourceException {
-        //GJCINT
-        if(connectionType == ISXACONNECTION || connectionType == ISPOOLEDCONNECTION) {
-            try {
-                if(actualConnection == null) {
-                    actualConnection = pc.getConnection();
-                }
-
-            } catch(SQLException sqle) {
-                sqle.printStackTrace();
-                throw new ResourceException(sqle.getMessage());
-            }
-        }
-        return actualConnection;
-    }
-
-    /**
-     * Returns the <code>PasswordCredential</code> object associated with this <code>ManagedConnection</code>.
-     *
-     * @return        <code>PasswordCredential</code> associated with this
-     *                <code>ManagedConnection</code> instance
-     */
-    PasswordCredential getPasswordCredential() {
-        return passwdCredential;
-    }
-
-    /**
-     * Checks if this <code>ManagedConnection</code> is valid or not and throws an
-     * exception if it is not valid. A <code>ManagedConnection</code> is not valid if
-     * destroy has not been called and no physical connection error has
-     * occurred rendering the physical connection unusable.
-     *
-     * @throws        ResourceException        if <code>destroy</code> has been called on this
-     *                                        <code>ManagedConnection</code> instance or if a
-     *                                         physical connection error occurred rendering it unusable
-     */
-    //GJCINT
-    void checkIfValid() throws ResourceException {
-        if(isDestroyed == true || isUsable == false) {
-            throw new ResourceException("This ManagedConnection is not valid as the physical " +
-                "connection is not usable.");
-        }
-    }
-
-    /**
-     * This method is called by the <code>ConnectionHolder</code> when its close method is
-     * called. This <code>ManagedConnection</code> instance  invalidates the connection handle
-     * and sends a CONNECTION_CLOSED event to all the registered event listeners.
-     *
-     * @param        e        Exception that may have occured while closing the connection handle
-     * @param        connHolderObject        <code>ConnectionHolder</code> that has been closed
-     * @throws        SQLException        in case closing the sql connection got out of
-     *                                     <code>getConnection</code> on the underlying
-     *                                <code>PooledConnection</code> throws an exception
-     */
-    void connectionClosed(Exception e, ConnectionHolder connHolderObject) throws SQLException {
-        connHolderObject.invalidate();
-
-        activeConnectionHandle = null;
-
-        ce.setConnectionHandle(connHolderObject);
-        listener.connectionClosed(ce);
-
-    }
-
-    /**
-     * This method is called by the <code>ConnectionHolder</code> when it detects a connecion
-     * related error.
-     *
-     * @param        e        Exception that has occurred during an operation on the physical connection
-     * @param        connHolderObject        <code>ConnectionHolder</code> that detected the physical
-     *                                        connection error
-     */
-    void connectionErrorOccurred(Exception e,
-            com.sun.jdbcra.spi.ConnectionHolder connHolderObject) {
-
-         ConnectionEventListener cel = this.listener;
-         ConnectionEvent ce = null;
-         ce = e == null ? new ConnectionEvent(this, ConnectionEvent.CONNECTION_ERROR_OCCURRED)
-                    : new ConnectionEvent(this, ConnectionEvent.CONNECTION_ERROR_OCCURRED, e);
-         if (connHolderObject != null) {
-             ce.setConnectionHandle(connHolderObject);
-         }
-
-         cel.connectionErrorOccurred(ce);
-         isUsable = false;
-    }
-
-
-
-    /**
-     * This method is called by the <code>XAResource</code> object when its start method
-     * has been invoked.
-     *
-     */
-    void XAStartOccurred() {
-        try {
-            actualConnection.setAutoCommit(false);
-        } catch(Exception e) {
-            e.printStackTrace();
-            connectionErrorOccurred(e, null);
-        }
-    }
-
-    /**
-     * This method is called by the <code>XAResource</code> object when its end method
-     * has been invoked.
-     *
-     */
-    void XAEndOccurred() {
-        try {
-            actualConnection.setAutoCommit(true);
-        } catch(Exception e) {
-            e.printStackTrace();
-            connectionErrorOccurred(e, null);
-        }
-    }
-
-    /**
-     * This method is called by a Connection Handle to check if it is
-     * the active Connection Handle. If it is not the active Connection
-     * Handle, this method throws an SQLException. Else, it
-     * returns setting the active Connection Handle to the calling
-     * Connection Handle object to this object if the active Connection
-     * Handle is null.
-     *
-     * @param        ch        <code>ConnectionHolder</code> that requests this
-     *                        <code>ManagedConnection</code> instance whether
-     *                        it can be active or not
-     * @throws        SQLException        in case the physical is not valid or
-     *                                there is already an active connection handle
-     */
-
-    void checkIfActive(ConnectionHolder ch) throws SQLException {
-        if(isDestroyed == true || isUsable == false) {
-            throw new SQLException("The physical connection is not usable");
-        }
-
-        if(activeConnectionHandle == null) {
-            activeConnectionHandle = ch;
-            ch.setActive(true);
-            return;
-        }
-
-        if(activeConnectionHandle != ch) {
-            throw new SQLException("The connection handle cannot be used as another connection is currently active");
-        }
-    }
-
-    /**
-     * sets the connection type of this connection. This method is called
-     * by the MCF while creating this ManagedConnection. Saves us a costly
-     * instanceof operation in the getConnectionType
-     */
-    public void initializeConnectionType( int _connectionType ) {
-        connectionType = _connectionType;
-    }
-
-}
diff --git a/appserver/tests/appserv-tests/devtests/connector/v3/embeddedweb/ra/src/com/sun/jdbcra/spi/ManagedConnectionMetaData.java b/appserver/tests/appserv-tests/devtests/connector/v3/embeddedweb/ra/src/com/sun/jdbcra/spi/ManagedConnectionMetaData.java
deleted file mode 100755
index 5ec326c..0000000
--- a/appserver/tests/appserv-tests/devtests/connector/v3/embeddedweb/ra/src/com/sun/jdbcra/spi/ManagedConnectionMetaData.java
+++ /dev/null
@@ -1,121 +0,0 @@
-/*
- * Copyright (c) 2003, 2018 Oracle and/or its affiliates. All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v. 2.0, which is available at
- * http://www.eclipse.org/legal/epl-2.0.
- *
- * This Source Code may also be made available under the following Secondary
- * Licenses when the conditions for such availability set forth in the
- * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
- * version 2 with the GNU Classpath Exception, which is available at
- * https://www.gnu.org/software/classpath/license.html.
- *
- * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
- */
-
-package com.sun.jdbcra.spi;
-
-import com.sun.jdbcra.spi.ManagedConnection;
-import java.sql.SQLException;
-import jakarta.resource.ResourceException;
-
-import java.util.logging.Logger;
-import java.util.logging.Level;
-/**
- * <code>ManagedConnectionMetaData</code> implementation for Generic JDBC Connector.
- *
- * @version        1.0, 02/08/03
- * @author        Evani Sai Surya Kiran
- */
-public class ManagedConnectionMetaData implements jakarta.resource.spi.ManagedConnectionMetaData {
-
-    private java.sql.DatabaseMetaData dmd = null;
-    private ManagedConnection mc;
-
-    private static Logger _logger;
-    static {
-        _logger = Logger.getAnonymousLogger();
-    }
-    private boolean debug = false;
-    /**
-     * Constructor for <code>ManagedConnectionMetaData</code>
-     *
-     * @param        mc        <code>ManagedConnection</code>
-     * @throws        <code>ResourceException</code>        if getting the DatabaseMetaData object fails
-     */
-    public ManagedConnectionMetaData(ManagedConnection mc) throws ResourceException {
-        try {
-            this.mc = mc;
-            dmd = mc.getActualConnection().getMetaData();
-        } catch(SQLException sqle) {
-            _logger.log(Level.SEVERE, "jdbc.exc_md");
-            throw new ResourceException(sqle.getMessage());
-        }
-    }
-
-    /**
-     * Returns product name of the underlying EIS instance connected
-     * through the ManagedConnection.
-     *
-     * @return        Product name of the EIS instance
-     * @throws        <code>ResourceException</code>
-     */
-    public String getEISProductName() throws ResourceException {
-        try {
-            return dmd.getDatabaseProductName();
-        } catch(SQLException sqle) {
-            _logger.log(Level.SEVERE, "jdbc.exc_eis_prodname", sqle);
-            throw new ResourceException(sqle.getMessage());
-        }
-    }
-
-    /**
-     * Returns product version of the underlying EIS instance connected
-     * through the ManagedConnection.
-     *
-     * @return        Product version of the EIS instance
-     * @throws        <code>ResourceException</code>
-     */
-    public String getEISProductVersion() throws ResourceException {
-        try {
-            return dmd.getDatabaseProductVersion();
-        } catch(SQLException sqle) {
-            _logger.log(Level.SEVERE, "jdbc.exc_eis_prodvers", sqle);
-            throw new ResourceException(sqle.getMessage(), sqle.getMessage());
-        }
-    }
-
-    /**
-     * Returns maximum limit on number of active concurrent connections
-     * that an EIS instance can support across client processes.
-     *
-     * @return        Maximum limit for number of active concurrent connections
-     * @throws        <code>ResourceException</code>
-     */
-    public int getMaxConnections() throws ResourceException {
-        try {
-            return dmd.getMaxConnections();
-        } catch(SQLException sqle) {
-            _logger.log(Level.SEVERE, "jdbc.exc_eis_maxconn");
-            throw new ResourceException(sqle.getMessage());
-        }
-    }
-
-    /**
-     * Returns name of the user associated with the ManagedConnection instance. The name
-     * corresponds to the resource principal under whose whose security context, a connection
-     * to the EIS instance has been established.
-     *
-     * @return        name of the user
-     * @throws        <code>ResourceException</code>
-     */
-    public String getUserName() throws ResourceException {
-        jakarta.resource.spi.security.PasswordCredential pc = mc.getPasswordCredential();
-        if(pc != null) {
-            return pc.getUserName();
-        }
-
-        return mc.getManagedConnectionFactory().getUser();
-    }
-}
diff --git a/appserver/tests/appserv-tests/devtests/connector/v3/embeddedweb/ra/src/com/sun/jdbcra/spi/XAResourceImpl.java b/appserver/tests/appserv-tests/devtests/connector/v3/embeddedweb/ra/src/com/sun/jdbcra/spi/XAResourceImpl.java
deleted file mode 100755
index f0ba663..0000000
--- a/appserver/tests/appserv-tests/devtests/connector/v3/embeddedweb/ra/src/com/sun/jdbcra/spi/XAResourceImpl.java
+++ /dev/null
@@ -1,175 +0,0 @@
-/*
- * Copyright (c) 2003, 2018 Oracle and/or its affiliates. All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v. 2.0, which is available at
- * http://www.eclipse.org/legal/epl-2.0.
- *
- * This Source Code may also be made available under the following Secondary
- * Licenses when the conditions for such availability set forth in the
- * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
- * version 2 with the GNU Classpath Exception, which is available at
- * https://www.gnu.org/software/classpath/license.html.
- *
- * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
- */
-
-package com.sun.jdbcra.spi;
-
-import javax.transaction.xa.Xid;
-import javax.transaction.xa.XAException;
-import javax.transaction.xa.XAResource;
-import com.sun.jdbcra.spi.ManagedConnection;
-
-/**
- * <code>XAResource</code> wrapper for Generic JDBC Connector.
- *
- * @version        1.0, 02/08/23
- * @author        Evani Sai Surya Kiran
- */
-public class XAResourceImpl implements XAResource {
-
-    XAResource xar;
-    ManagedConnection mc;
-
-    /**
-     * Constructor for XAResourceImpl
-     *
-     * @param        xar        <code>XAResource</code>
-     * @param        mc        <code>ManagedConnection</code>
-     */
-    public XAResourceImpl(XAResource xar, ManagedConnection mc) {
-        this.xar = xar;
-        this.mc = mc;
-    }
-
-    /**
-     * Commit the global transaction specified by xid.
-     *
-     * @param        xid        A global transaction identifier
-     * @param        onePhase        If true, the resource manager should use a one-phase commit
-     *                               protocol to commit the work done on behalf of xid.
-     */
-    public void commit(Xid xid, boolean onePhase) throws XAException {
-        //the mc.transactionCompleted call has come here becasue
-        //the transaction *actually* completes after the flow
-        //reaches here. the end() method might not really signal
-        //completion of transaction in case the transaction is
-        //suspended. In case of transaction suspension, the end
-        //method is still called by the transaction manager
-        mc.transactionCompleted();
-        xar.commit(xid, onePhase);
-    }
-
-    /**
-     * Ends the work performed on behalf of a transaction branch.
-     *
-     * @param        xid        A global transaction identifier that is the same as what
-     *                        was used previously in the start method.
-     * @param        flags        One of TMSUCCESS, TMFAIL, or TMSUSPEND
-     */
-    public void end(Xid xid, int flags) throws XAException {
-        xar.end(xid, flags);
-        //GJCINT
-        //mc.transactionCompleted();
-    }
-
-    /**
-     * Tell the resource manager to forget about a heuristically completed transaction branch.
-     *
-     * @param        xid        A global transaction identifier
-     */
-    public void forget(Xid xid) throws XAException {
-        xar.forget(xid);
-    }
-
-    /**
-     * Obtain the current transaction timeout value set for this
-     * <code>XAResource</code> instance.
-     *
-     * @return        the transaction timeout value in seconds
-     */
-    public int getTransactionTimeout() throws XAException {
-        return xar.getTransactionTimeout();
-    }
-
-    /**
-     * This method is called to determine if the resource manager instance
-     * represented by the target object is the same as the resouce manager
-     * instance represented by the parameter xares.
-     *
-     * @param        xares        An <code>XAResource</code> object whose resource manager
-     *                         instance is to be compared with the resource
-     * @return        true if it's the same RM instance; otherwise false.
-     */
-    public boolean isSameRM(XAResource xares) throws XAException {
-        return xar.isSameRM(xares);
-    }
-
-    /**
-     * Ask the resource manager to prepare for a transaction commit
-     * of the transaction specified in xid.
-     *
-     * @param        xid        A global transaction identifier
-     * @return        A value indicating the resource manager's vote on the
-     *                outcome of the transaction. The possible values
-     *                are: XA_RDONLY or XA_OK. If the resource manager wants
-     *                to roll back the transaction, it should do so
-     *                by raising an appropriate <code>XAException</code> in the prepare method.
-     */
-    public int prepare(Xid xid) throws XAException {
-        return xar.prepare(xid);
-    }
-
-    /**
-     * Obtain a list of prepared transaction branches from a resource manager.
-     *
-     * @param        flag        One of TMSTARTRSCAN, TMENDRSCAN, TMNOFLAGS. TMNOFLAGS
-     *                        must be used when no other flags are set in flags.
-     * @return        The resource manager returns zero or more XIDs for the transaction
-     *                branches that are currently in a prepared or heuristically
-     *                completed state. If an error occurs during the operation, the resource
-     *                manager should throw the appropriate <code>XAException</code>.
-     */
-    public Xid[] recover(int flag) throws XAException {
-        return xar.recover(flag);
-    }
-
-    /**
-     * Inform the resource manager to roll back work done on behalf of a transaction branch
-     *
-     * @param        xid        A global transaction identifier
-     */
-    public void rollback(Xid xid) throws XAException {
-        //the mc.transactionCompleted call has come here becasue
-        //the transaction *actually* completes after the flow
-        //reaches here. the end() method might not really signal
-        //completion of transaction in case the transaction is
-        //suspended. In case of transaction suspension, the end
-        //method is still called by the transaction manager
-        mc.transactionCompleted();
-        xar.rollback(xid);
-    }
-
-    /**
-     * Set the current transaction timeout value for this <code>XAResource</code> instance.
-     *
-     * @param        seconds        the transaction timeout value in seconds.
-     * @return        true if transaction timeout value is set successfully; otherwise false.
-     */
-    public boolean setTransactionTimeout(int seconds) throws XAException {
-        return xar.setTransactionTimeout(seconds);
-    }
-
-    /**
-     * Start work on behalf of a transaction branch specified in xid.
-     *
-     * @param        xid        A global transaction identifier to be associated with the resource
-     * @return        flags        One of TMNOFLAGS, TMJOIN, or TMRESUME
-     */
-    public void start(Xid xid, int flags) throws XAException {
-        //GJCINT
-        mc.transactionStarted();
-        xar.start(xid, flags);
-    }
-}
diff --git a/appserver/tests/appserv-tests/devtests/connector/v3/embeddedweb/ra/src/com/sun/jdbcra/spi/build.xml b/appserver/tests/appserv-tests/devtests/connector/v3/embeddedweb/ra/src/com/sun/jdbcra/spi/build.xml
deleted file mode 100755
index 7ca9cfb..0000000
--- a/appserver/tests/appserv-tests/devtests/connector/v3/embeddedweb/ra/src/com/sun/jdbcra/spi/build.xml
+++ /dev/null
@@ -1,41 +0,0 @@
-<?xml version="1.0"?>
-<!--
-
-    Copyright (c) 2017, 2018 Oracle and/or its affiliates. All rights reserved.
-
-    This program and the accompanying materials are made available under the
-    terms of the Eclipse Public License v. 2.0, which is available at
-    http://www.eclipse.org/legal/epl-2.0.
-
-    This Source Code may also be made available under the following Secondary
-    Licenses when the conditions for such availability set forth in the
-    Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
-    version 2 with the GNU Classpath Exception, which is available 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 name="jdbc_connector" basedir="${gjc.home}" default="build">
-  <property name="pkg.dir" value="com/sun/gjc/spi"/>
-
-  <target name="clean">
-    <ant antfile="build.xml" dir="${gjc.home}/bin" target="clean"/>
-  </target>
-
-  <target name="compile13">
-    <ant antfile="build.xml" dir="${gjc.home}/bin" target="compile13"/>
-  </target>
-
-  <target name="build13" depends="compile13">
-  </target>
-
-  <target name="compile14">
-    <ant antfile="build.xml" dir="${gjc.home}/bin" target="compile14"/>
-  </target>
-
-  <target name="build14" depends="compile14"/>
-
-        <target name="build" depends="build13, build14"/>
-</project>
diff --git a/appserver/tests/appserv-tests/devtests/connector/v3/embeddedweb/ra/src/com/sun/jdbcra/util/MethodExecutor.java b/appserver/tests/appserv-tests/devtests/connector/v3/embeddedweb/ra/src/com/sun/jdbcra/util/MethodExecutor.java
deleted file mode 100755
index de4a961..0000000
--- a/appserver/tests/appserv-tests/devtests/connector/v3/embeddedweb/ra/src/com/sun/jdbcra/util/MethodExecutor.java
+++ /dev/null
@@ -1,168 +0,0 @@
-/*
- * Copyright (c) 2003, 2018 Oracle and/or its affiliates. All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v. 2.0, which is available at
- * http://www.eclipse.org/legal/epl-2.0.
- *
- * This Source Code may also be made available under the following Secondary
- * Licenses when the conditions for such availability set forth in the
- * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
- * version 2 with the GNU Classpath Exception, which is available at
- * https://www.gnu.org/software/classpath/license.html.
- *
- * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
- */
-
-package com.sun.jdbcra.util;
-
-import java.lang.reflect.Method;
-import java.lang.reflect.InvocationTargetException;
-import java.util.Vector;
-import jakarta.resource.ResourceException;
-
-import java.util.logging.Logger;
-import java.util.logging.Level;
-/**
- * Execute the methods based on the parameters.
- *
- * @version        1.0, 02/07/23
- * @author        Binod P.G
- */
-public class MethodExecutor implements java.io.Serializable{
-
-    private static Logger _logger;
-    static {
-        _logger = Logger.getAnonymousLogger();
-    }
-    private boolean debug = false;
-    /**
-     * Exceute a simple set Method.
-     *
-     * @param        value        Value to be set.
-     * @param        method        <code>Method</code> object.
-     * @param        obj        Object on which the method to be executed.
-     * @throws  <code>ResourceException</code>, in case of the mismatch of parameter values or
-     *                a security violation.
-     */
-    public void runJavaBeanMethod(String value, Method method, Object obj) throws ResourceException{
-            if (value==null || value.trim().equals("")) {
-                return;
-            }
-            try {
-                Class[] parameters = method.getParameterTypes();
-                if ( parameters.length == 1) {
-                    Object[] values = new Object[1];
-                        values[0] = convertType(parameters[0], value);
-                        method.invoke(obj, values);
-                }
-            } catch (IllegalAccessException iae) {
-            _logger.log(Level.SEVERE, "jdbc.exc_jb_val", iae);
-                throw new ResourceException("Access denied to execute the method :" + method.getName());
-            } catch (IllegalArgumentException ie) {
-            _logger.log(Level.SEVERE, "jdbc.exc_jb_val", ie);
-                throw new ResourceException("Arguments are wrong for the method :" + method.getName());
-            } catch (InvocationTargetException ite) {
-            _logger.log(Level.SEVERE, "jdbc.exc_jb_val", ite);
-                throw new ResourceException("Access denied to execute the method :" + method.getName());
-            }
-    }
-
-    /**
-     * Executes the method.
-     *
-     * @param        method <code>Method</code> object.
-     * @param        obj        Object on which the method to be executed.
-     * @param        values        Parameter values for executing the method.
-     * @throws  <code>ResourceException</code>, in case of the mismatch of parameter values or
-     *                a security violation.
-     */
-    public void runMethod(Method method, Object obj, Vector values) throws ResourceException{
-            try {
-            Class[] parameters = method.getParameterTypes();
-            if (values.size() != parameters.length) {
-                return;
-            }
-                Object[] actualValues = new Object[parameters.length];
-                for (int i =0; i<parameters.length ; i++) {
-                        String val = (String) values.get(i);
-                        if (val.trim().equals("NULL")) {
-                            actualValues[i] = null;
-                        } else {
-                            actualValues[i] = convertType(parameters[i], val);
-                        }
-                }
-                method.invoke(obj, actualValues);
-            }catch (IllegalAccessException iae) {
-            _logger.log(Level.SEVERE, "jdbc.exc_jb_val", iae);
-                throw new ResourceException("Access denied to execute the method :" + method.getName());
-            } catch (IllegalArgumentException ie) {
-            _logger.log(Level.SEVERE, "jdbc.exc_jb_val", ie);
-                throw new ResourceException("Arguments are wrong for the method :" + method.getName());
-            } catch (InvocationTargetException ite) {
-            _logger.log(Level.SEVERE, "jdbc.exc_jb_val", ite);
-                throw new ResourceException("Access denied to execute the method :" + method.getName());
-            }
-    }
-
-    /**
-     * Converts the type from String to the Class type.
-     *
-     * @param        type                Class name to which the conversion is required.
-     * @param        parameter        String value to be converted.
-     * @return        Converted value.
-     * @throws  <code>ResourceException</code>, in case of the mismatch of parameter values or
-     *                a security violation.
-     */
-    private Object convertType(Class type, String parameter) throws ResourceException{
-            try {
-                String typeName = type.getName();
-                if ( typeName.equals("java.lang.String") || typeName.equals("java.lang.Object")) {
-                        return parameter;
-                }
-
-                if (typeName.equals("int") || typeName.equals("java.lang.Integer")) {
-                        return new Integer(parameter);
-                }
-
-                if (typeName.equals("short") || typeName.equals("java.lang.Short")) {
-                        return new Short(parameter);
-                }
-
-                if (typeName.equals("byte") || typeName.equals("java.lang.Byte")) {
-                        return new Byte(parameter);
-                }
-
-                if (typeName.equals("long") || typeName.equals("java.lang.Long")) {
-                        return new Long(parameter);
-                }
-
-                if (typeName.equals("float") || typeName.equals("java.lang.Float")) {
-                        return new Float(parameter);
-                }
-
-                if (typeName.equals("double") || typeName.equals("java.lang.Double")) {
-                        return new Double(parameter);
-                }
-
-                if (typeName.equals("java.math.BigDecimal")) {
-                        return new java.math.BigDecimal(parameter);
-                }
-
-                if (typeName.equals("java.math.BigInteger")) {
-                        return new java.math.BigInteger(parameter);
-                }
-
-                if (typeName.equals("boolean") || typeName.equals("java.lang.Boolean")) {
-                        return new Boolean(parameter);
-            }
-
-                return parameter;
-            } catch (NumberFormatException nfe) {
-            _logger.log(Level.SEVERE, "jdbc.exc_nfe", parameter);
-                throw new ResourceException(parameter+": Not a valid value for this method ");
-            }
-    }
-
-}
-
diff --git a/appserver/tests/appserv-tests/devtests/connector/v3/embeddedweb/ra/src/com/sun/jdbcra/util/SecurityUtils.java b/appserver/tests/appserv-tests/devtests/connector/v3/embeddedweb/ra/src/com/sun/jdbcra/util/SecurityUtils.java
deleted file mode 100755
index bed9dd7..0000000
--- a/appserver/tests/appserv-tests/devtests/connector/v3/embeddedweb/ra/src/com/sun/jdbcra/util/SecurityUtils.java
+++ /dev/null
@@ -1,135 +0,0 @@
-/*
- * Copyright (c) 2003, 2018 Oracle and/or its affiliates. All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v. 2.0, which is available at
- * http://www.eclipse.org/legal/epl-2.0.
- *
- * This Source Code may also be made available under the following Secondary
- * Licenses when the conditions for such availability set forth in the
- * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
- * version 2 with the GNU Classpath Exception, which is available at
- * https://www.gnu.org/software/classpath/license.html.
- *
- * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
- */
-
-package com.sun.jdbcra.util;
-
-import javax.security.auth.Subject;
-import java.security.AccessController;
-import java.security.PrivilegedAction;
-import jakarta.resource.spi.security.PasswordCredential;
-import jakarta.resource.ResourceException;
-import jakarta.resource.spi.*;
-import com.sun.jdbcra.spi.ConnectionRequestInfo;
-import java.util.Set;
-import java.util.Iterator;
-
-/**
- * SecurityUtils for Generic JDBC Connector.
- *
- * @version        1.0, 02/07/22
- * @author        Evani Sai Surya Kiran
- */
-public class SecurityUtils {
-
-    /**
-     * This method returns the <code>PasswordCredential</code> object, given
-     * the <code>ManagedConnectionFactory</code>, subject and the
-     * <code>ConnectionRequestInfo</code>. It first checks if the
-     * <code>ConnectionRequestInfo</code> is null or not. If it is not null,
-     * it constructs a <code>PasswordCredential</code> object with
-     * the user and password fields from the <code>ConnectionRequestInfo</code> and returns this
-     * <code>PasswordCredential</code> object. If the <code>ConnectionRequestInfo</code>
-     * is null, it retrieves the <code>PasswordCredential</code> objects from
-     * the <code>Subject</code> parameter and returns the first
-     * <code>PasswordCredential</code> object which contains a
-     * <code>ManagedConnectionFactory</code>, instance equivalent
-     * to the <code>ManagedConnectionFactory</code>, parameter.
-     *
-     * @param        mcf        <code>ManagedConnectionFactory</code>
-     * @param        subject        <code>Subject</code>
-     * @param        info        <code>ConnectionRequestInfo</code>
-     * @return        <code>PasswordCredential</code>
-     * @throws        <code>ResourceException</code>        generic exception if operation fails
-     * @throws        <code>SecurityException</code>        if access to the <code>Subject</code> instance is denied
-     */
-    public static PasswordCredential getPasswordCredential(final ManagedConnectionFactory mcf,
-         final Subject subject, jakarta.resource.spi.ConnectionRequestInfo info) throws ResourceException {
-
-        if (info == null) {
-            if (subject == null) {
-                return null;
-            } else {
-                PasswordCredential pc = (PasswordCredential) AccessController.doPrivileged
-                    (new PrivilegedAction() {
-                        public Object run() {
-                            Set passwdCredentialSet = subject.getPrivateCredentials(PasswordCredential.class);
-                            Iterator iter = passwdCredentialSet.iterator();
-                            while (iter.hasNext()) {
-                                PasswordCredential temp = (PasswordCredential) iter.next();
-                                if (temp.getManagedConnectionFactory().equals(mcf)) {
-                                    return temp;
-                                }
-                            }
-                            return null;
-                        }
-                    });
-                if (pc == null) {
-                    throw new jakarta.resource.spi.SecurityException("No PasswordCredential found");
-                } else {
-                    return pc;
-                }
-            }
-        } else {
-            com.sun.jdbcra.spi.ConnectionRequestInfo cxReqInfo = (com.sun.jdbcra.spi.ConnectionRequestInfo) info;
-            PasswordCredential pc = new PasswordCredential(cxReqInfo.getUser(), cxReqInfo.getPassword().toCharArray());
-            pc.setManagedConnectionFactory(mcf);
-            return pc;
-        }
-    }
-
-    /**
-     * Returns true if two strings are equal; false otherwise
-     *
-     * @param        str1        <code>String</code>
-     * @param        str2        <code>String</code>
-     * @return        true        if the two strings are equal
-     *                false        otherwise
-     */
-    static private boolean isEqual(String str1, String str2) {
-        if (str1 == null) {
-            return (str2 == null);
-        } else {
-            return str1.equals(str2);
-        }
-    }
-
-    /**
-     * Returns true if two <code>PasswordCredential</code> objects are equal; false otherwise
-     *
-     * @param        pC1        <code>PasswordCredential</code>
-     * @param        pC2        <code>PasswordCredential</code>
-     * @return        true        if the two PasswordCredentials are equal
-     *                false        otherwise
-     */
-    static public boolean isPasswordCredentialEqual(PasswordCredential pC1, PasswordCredential pC2) {
-        if (pC1 == pC2)
-            return true;
-        if(pC1 == null || pC2 == null)
-            return (pC1 == pC2);
-        if (!isEqual(pC1.getUserName(), pC2.getUserName())) {
-            return false;
-        }
-        String p1 = null;
-        String p2 = null;
-        if (pC1.getPassword() != null) {
-            p1 = new String(pC1.getPassword());
-        }
-        if (pC2.getPassword() != null) {
-            p2 = new String(pC2.getPassword());
-        }
-        return (isEqual(p1, p2));
-    }
-}
diff --git a/appserver/tests/appserv-tests/devtests/connector/v3/embeddedweb/ra/src/com/sun/jdbcra/util/build.xml b/appserver/tests/appserv-tests/devtests/connector/v3/embeddedweb/ra/src/com/sun/jdbcra/util/build.xml
deleted file mode 100755
index f060e7d..0000000
--- a/appserver/tests/appserv-tests/devtests/connector/v3/embeddedweb/ra/src/com/sun/jdbcra/util/build.xml
+++ /dev/null
@@ -1,48 +0,0 @@
-<?xml version="1.0"?>
-<!--
-
-    Copyright (c) 2017, 2018 Oracle and/or its affiliates. All rights reserved.
-
-    This program and the accompanying materials are made available under the
-    terms of the Eclipse Public License v. 2.0, which is available at
-    http://www.eclipse.org/legal/epl-2.0.
-
-    This Source Code may also be made available under the following Secondary
-    Licenses when the conditions for such availability set forth in the
-    Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
-    version 2 with the GNU Classpath Exception, which is available 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 name="jdbc_connector" basedir="." default="build">
-  <property name="pkg.dir" value="com/sun/gjc/util"/>
-
-  <target name="clean">
-    <ant antfile="build.xml" dir="${gjc.home}/bin" target="clean"/>
-  </target>
-
-  <target name="compile">
-    <ant antfile="build.xml" dir="${gjc.home}/bin" target="compile"/>
-  </target>
-
-  <target name="package">
-    <mkdir dir="${dist.dir}/${pkg.dir}"/>
-      <jar jarfile="${dist.dir}/${pkg.dir}/util.jar" basedir="${class.dir}"
-        includes="${pkg.dir}/**/*"/>
-  </target>
-
-  <target name="compile13" depends="compile"/>
-  <target name="compile14" depends="compile"/>
-
-  <target name="package13" depends="package"/>
-  <target name="package14" depends="package"/>
-
-  <target name="build13" depends="compile13, package13"/>
-  <target name="build14" depends="compile14, package14"/>
-
-  <target name="build" depends="build13, build14"/>
-
-</project>
diff --git a/appserver/tests/appserv-tests/devtests/connector/v3/force-deploy-rar/README b/appserver/tests/appserv-tests/devtests/connector/v3/force-deploy-rar/README
index 082f756..a840cc2 100755
--- a/appserver/tests/appserv-tests/devtests/connector/v3/force-deploy-rar/README
+++ b/appserver/tests/appserv-tests/devtests/connector/v3/force-deploy-rar/README
@@ -1,21 +1,22 @@
 To test "deploy --force=true .rar"
 To test "undeploy --cascade=true rarname"
 
-This test is similar to redeployRAR test, difference being we do not undeploy first version of testjdbcra.rar and deploy second version of testjdbcra.rar.
-Instead we do  "deploy --force=true" for second version of testjdbcra.rar without undeploying first version of testjdbcra.rar
-deploy --force=true should undeploy the first version of resource-adapter , its resources, resource-adapter-config and use the second version's testjdbcra.rar, use the same resource-adapter-config
-and recreate the resources
+This test is similar to redeployRAR test, difference being we do not undeploy first version of
+connectors-ra-redeploy-rars.rar and deploy second version of connectors-ra-redeploy-rars.rar.
+Instead we do  "deploy --force=true" for second version of connectors-ra-redeploy-rars.rar without
+undeploying first version of connectors-ra-redeploy-rars.rar
+deploy --force=true should undeploy the first version of resource-adapter, its resources,
+resource-adapter-config and use the second version's connectors-ra-redeploy-rars.rar,
+use the same resource-adapter-config and recreate the resources
 
-This test is executed twice to make sure that "undeploy --cascade=true rarname" works fine. Second run will try to create same resource which will fail in case the resource by the name exists.
+This test is executed twice to make sure that "undeploy --cascade=true rarname" works fine.
+Second run will try to create same resource which will fail in case the resource by the name exists.
 Resource types include : Connector-connection-pool, connector-resource, admin-object-resource, resource-adapter-config
 
 
 How to run :
 
 pwd :(force-deploy-rar directory)
-cd ra
-ant all   - will create necessary resource adapter bundles, classes
-cd ../ 
 ant all
 
 
diff --git a/appserver/tests/appserv-tests/devtests/connector/v3/force-deploy-rar/app/META-INF/application.xml b/appserver/tests/appserv-tests/devtests/connector/v3/force-deploy-rar/app/META-INF/application.xml
index 024e650..654af64 100755
--- a/appserver/tests/appserv-tests/devtests/connector/v3/force-deploy-rar/app/META-INF/application.xml
+++ b/appserver/tests/appserv-tests/devtests/connector/v3/force-deploy-rar/app/META-INF/application.xml
@@ -3,6 +3,7 @@
 <!--
 
     Copyright (c) 2017, 2018 Oracle and/or its affiliates. All rights reserved.
+    Copyright (c) 2022 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
@@ -17,28 +18,16 @@
     SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
 
 -->
-
 <application>
-
-<display-name>Redeploy rar test</display-name>
-
-  <description>Application description</description>
-
-  <module>
-    <ejb>force-deploy-rar-ejb.jar</ejb>
-  </module>
-
-<!--
-  <module>
-    <java>force-deploy-rar-client.jar</java>
-  </module>
--->
-
+    <display-name>Redeploy rar test</display-name>
+    <description>Application description</description>
+    <module>
+        <ejb>force-deploy-rar-ejb.jar</ejb>
+    </module>
     <module>
         <web>
-        <web-uri>force-deploy-rar-web.war</web-uri>
-         <context-root>force-deploy-rar</context-root>
-       </web>
-     </module>
-
+            <web-uri>force-deploy-rar-web.war</web-uri>
+            <context-root>force-deploy-rar</context-root>
+        </web>
+    </module>
 </application>
diff --git a/appserver/tests/appserv-tests/devtests/connector/v3/force-deploy-rar/app/src/build.xml b/appserver/tests/appserv-tests/devtests/connector/v3/force-deploy-rar/app/src/build.xml
index bfdafb2..1216646 100755
--- a/appserver/tests/appserv-tests/devtests/connector/v3/force-deploy-rar/app/src/build.xml
+++ b/appserver/tests/appserv-tests/devtests/connector/v3/force-deploy-rar/app/src/build.xml
@@ -30,30 +30,35 @@
   &testcommon;
 
   <target name="all" depends="init-common">
-   <antcall target="compile-common">
-        <param name="src" value="." />
-        <param name="s1astest.classpath" value="${s1astest.classpath}:../versions/version1/test/testjdbcra.rar:../../ra/publish/internal/classes" />
+    <antcall target="compile-common">
+      <param name="src" value="." />
+      <param name="s1astest.classpath" value="${s1astest.classpath}:${bundles.dir}/connectors-ra-redeploy-jars.jar" />
     </antcall>
 
     <antcall target="ejb-jar-common">
-        <param name="ejb-jar.xml" value="META-INF/ejb-jar.xml" />
-        <param name="ejbjar.classes" value=" beans/*.class, ../../ra/publish/internal/classes/**/*.class " />
-        <param name="sun-ejb-jar.xml" value="META-INF/sun-ejb-jar.xml" />
-        <param name="appname" value="generic-embedded" />
+      <param name="ejb-jar.xml" value="META-INF/ejb-jar.xml" />
+      <param name="ejbjar.classes" value=" beans/*.class " />
+      <param name="sun-ejb-jar.xml" value="META-INF/sun-ejb-jar.xml" />
+      <param name="appname" value="generic-embedded" />
     </antcall>
+    <jar jarfile="${assemble.dir}/generic-embedded-ejb.jar"
+         basedir="${build.classes.dir}"
+         update="true"
+    >
+      <zipfileset src="${bundles.dir}/connectors-ra-redeploy-jars.jar" includes="**/*.class" />
+    </jar>
 
     <antcall target="appclient-jar-common">
-        <param name="appname" value="generic-embedded" />
-        <param name="application-client.xml" value="META-INF/application-client.xml" />
-        <param name="appclientjar.classes" value="beans/*.class, client/Client.class" />
-        <param name="sun-application-client.xml" value="META-INF/sun-application-client.xml" />
+      <param name="appname" value="generic-embedded" />
+      <param name="application-client.xml" value="META-INF/application-client.xml" />
+      <param name="appclientjar.classes" value="beans/*.class, client/Client.class" />
+      <param name="sun-application-client.xml" value="META-INF/sun-application-client.xml" />
     </antcall>
-
-    </target>
+  </target>
 
   <target name="clean">
     <antcall target="clean-classes-common">
-        <param name="build.classes.dir" value="classes" />
+      <param name="build.classes.dir" value="classes" />
     </antcall>
   </target>
 </project>
diff --git a/appserver/tests/appserv-tests/devtests/connector/v3/force-deploy-rar/build.xml b/appserver/tests/appserv-tests/devtests/connector/v3/force-deploy-rar/build.xml
index 828b005..2313d44 100755
--- a/appserver/tests/appserv-tests/devtests/connector/v3/force-deploy-rar/build.xml
+++ b/appserver/tests/appserv-tests/devtests/connector/v3/force-deploy-rar/build.xml
@@ -18,11 +18,11 @@
 
 -->
 
-        <!ENTITY commonSetup SYSTEM "./../../../../config/properties.xml">
-        <!ENTITY commonBuild SYSTEM "./../../../../config/common.xml">
-        <!ENTITY commonRun SYSTEM "./../../../../config/run.xml">
-        <!ENTITY testproperties SYSTEM "./build.properties">
-        ]>
+<!ENTITY commonSetup SYSTEM "./../../../../config/properties.xml">
+<!ENTITY commonBuild SYSTEM "./../../../../config/common.xml">
+<!ENTITY commonRun SYSTEM "./../../../../config/run.xml">
+<!ENTITY testproperties SYSTEM "./build.properties">
+]>
 
 <project name="force-deploy-rar" default="usage" basedir=".">
 
@@ -31,212 +31,198 @@
     &commonRun;
     &testproperties;
 
-    <target name="all" depends="build,setup,run"/>
+    <target name="all" depends="build,setup,run" />
 
-    <target name="clean" depends="init-common">
-        <antcall target="clean-common"/>
-    </target>
+  <target name="clean" depends="init-common">
+    <antcall target="clean-common" />
+  </target>
 
-    <target name="compile" depends="clean">
-        <ant dir="ra" inheritAll="false" target="compile"/>
+  <target name="compile" depends="clean">
+    <antcall target="compile-common">
+      <param name="src" value="ejb" />
+      <param name="s1astest.classpath"
+             value="${s1astest.classpath}:${bundles.dir}/connectors-ra-redeploy-jars.jar"
+      />
+    </antcall>
+    <antcall target="compile-common">
+      <param name="src" value="client" />
+    </antcall>
+    <antcall target="compile-common">
+      <param name="src" value="servlet" />
+    </antcall>
 
-        <antcall target="compile-common">
-            <param name="src" value="ejb"/>
-            <param name="s1astest.classpath" value="${s1astest.classpath}:./ra/publish/internal/classes/"/>
-        </antcall>
-        <antcall target="compile-common">
-            <param name="src" value="client"/>
-        </antcall>
-        <antcall target="compile-common">
-            <param name="src" value="servlet"/>
-        </antcall>
+    <javac srcdir="."
+           classpath="${env.APS_HOME}/lib/reporter.jar"
+           includes="client/WebTest.java"
+           destdir="."
+    />
 
-        <javac
-                srcdir="."
-                classpath="${env.APS_HOME}/lib/reporter.jar"
-                includes="client/WebTest.java" destdir="."/>
+  </target>
 
-    </target>
+  <target name="build" depends="compile">
+    <antcall target="webclient-war-common">
+      <param name="hasWebclient" value="yes" />
+      <param name="appname" value="force-deploy-rar" />
+      <param name="web.xml" value="descriptor/web.xml" />
+      <param name="sun-web.xml" value="descriptor/sun-web.xml" />
+      <param name="webclient.war.classes" value="servlet/*.class, beans/*.class" />
+    </antcall>
 
-    <target name="build" depends="compile">
-        <ant dir="ra" inheritAll="false" target="build"/>
+    <antcall target="build-ear-common">
+      <param name="ejbjar.classes" value="**/*Vers*.class" />
+    </antcall>
 
-        <antcall target="webclient-war-common">
-            <param name="hasWebclient" value="yes"/>
-            <param name="appname" value="force-deploy-rar"/>
-            <param name="web.xml" value="descriptor/web.xml"/>
-            <param name="sun-web.xml" value="descriptor/sun-web.xml"/>
-            <param name="webclient.war.classes" value="servlet/*.class, beans/*.class"/>
-        </antcall>
+  </target>
 
-        <antcall target="build-ear-common">
-            <param name="ejbjar.classes"
-                   value="**/*Vers*.class"/>
-        </antcall>
-
-    </target>
-
-    <target name="setup" depends="init-common"/>
+  <target name="setup" depends="init-common" />
 
 
-    <target name="setupone" depends="init-common">
-        <antcall target="create-ra-config"/>
-        <antcall target="deploy-rar-common">
-            <param name="rarfile" value="versions/ver1/testjdbcra.rar"/>
-            <param  name="force" value="true"/>
-        </antcall>
-    </target>
+  <target name="setupone" depends="init-common">
+    <antcall target="create-ra-config" />
+    <antcall target="deploy-rar-common">
+      <param name="rarfile" value="${bundles.dir}/connectors-ra-redeploy-rars.rar" />
+      <param name="force" value="true" />
+    </antcall>
+  </target>
 
-    <target name="setuptwo" depends="init-common">
-<!--
-        We need not create-ra-config as we are not undeploying first testjdbcra.rar and its ra-config, we will be doing
-        force=true with second testjdbcra.rar
-
-        <antcall target="create-ra-config"/>
--->
-        <antcall target="deploy-rar-common">
-            <param name="rarfile" value="versions/ver2/testjdbcra.rar"/>
-            <param  name="force" value="true"/>
-        </antcall>
-    </target>
+  <target name="setuptwo" depends="init-common">
+    <!-- Applications must have the same filename, which is used as an application name -->
+    <copy file="${bundles.dir}/connectors-ra-redeploy-rars-v2.rar" tofile="connectors-ra-redeploy-rars.rar" />
+    <antcall target="deploy-rar-common">
+      <param name="rarfile" value="connectors-ra-redeploy-rars.rar" />
+      <param name="force" value="true" />
+    </antcall>
+  </target>
 
 
-    <target name="deploy" depends="init-common">
-        <antcall target="deploy-common"/>
-    </target>
+  <target name="deploy" depends="init-common">
+    <antcall target="deploy-common" />
+  </target>
 
-    <target name="run" depends="init-common">
-        <!-- Running the redeploy cycle (twice) to test version 1 classes getting reset after verison 2 is undeployed -->
-        <antcall target="runCycle"/>
-        <antcall target="runCycle"/>
-    </target>
+  <target name="run" depends="init-common">
+    <!-- Running the redeploy cycle (twice) to test version 1 classes getting reset after verison 2 is undeployed -->
+    <antcall target="runCycle" />
+    <antcall target="runCycle" />
+  </target>
 
 
-    <target name="runCycle" depends="init-common">
+  <target name="runCycle" depends="init-common">
 
-        <antcall target="setupone"/>
+    <antcall target="setupone" />
 
-        <antcall target="create-pool"/>
-        <antcall target="create-resource"/>
-        <antcall target="create-admin-object"/>
-        <antcall target="deploy"/>
+    <antcall target="create-pool" />
+    <antcall target="create-resource" />
+    <antcall target="create-admin-object" />
+    <antcall target="deploy" />
 
-        <java classname="client.WebTest">
-            <arg value="${http.host}"/>
-            <arg value="${http.port}"/>
-            <arg value="${contextroot}"/>
-            <arg value=" 1 "/>
-            <classpath>
-                <pathelement location="${env.APS_HOME}/lib/reporter.jar"/>
-                <pathelement location="."/>
-            </classpath>
-        </java>
+    <java classname="client.WebTest">
+      <arg value="${http.host}" />
+      <arg value="${http.port}" />
+      <arg value="${contextroot}" />
+      <arg value=" 1 " />
+      <classpath>
+        <pathelement location="${env.APS_HOME}/lib/reporter.jar" />
+        <pathelement location="." />
+      </classpath>
+    </java>
 
 
-        <antcall target="undeploy-common"/>
+    <antcall target="undeploy-common" />
 
-        <antcall target="setuptwo"/>
-        <antcall target="deploy"/>
-        <java classname="client.WebTest">
-            <arg value="${http.host}"/>
-            <arg value="${http.port}"/>
-            <arg value="${contextroot}"/>
-            <arg value=" 2 "/>
-            <classpath>
-                <pathelement location="${env.APS_HOME}/lib/reporter.jar"/>
-                <pathelement location="."/>
-            </classpath>
-        </java>
-        <antcall target="unsetup"/>
-    </target>
+    <antcall target="setuptwo" />
+    <antcall target="deploy" />
+    <java classname="client.WebTest">
+      <arg value="${http.host}" />
+      <arg value="${http.port}" />
+      <arg value="${contextroot}" />
+      <arg value=" 2 " />
+      <classpath>
+        <pathelement location="${env.APS_HOME}/lib/reporter.jar" />
+        <pathelement location="." />
+      </classpath>
+    </java>
+    <antcall target="unsetup" />
+  </target>
 
 
-    <target name="unsetup" depends="init-common">
-<!--
-        <antcall target="delete-admin-object"/>
-        <antcall target="delete-resource"/>
-        <antcall target="delete-pool"/>
-        <antcall target="delete-ra-config"/>-->
-        <antcall target="undeploy"/>
-    </target>
+  <target name="unsetup" depends="init-common">
+    <antcall target="undeploy" />
+  </target>
 
-    <target name="undeploy" depends="init-common">
-        <antcall target="undeploy-common"/>
-        <antcall target="undeploy-rar-common">
-            <param name="undeployrar" value="testjdbcra"/>
-            <param name="cascade" value="true"/>
-        </antcall>
-    </target>
+  <target name="undeploy" depends="init-common">
+    <antcall target="undeploy-common" />
+    <antcall target="undeploy-rar-common">
+      <param name="undeployrar" value="connectors-ra-redeploy-rars" />
+      <param name="cascade" value="true" />
+    </antcall>
+  </target>
 
 
-    <target name="create-admin-object" depends="init-common">
-        <antcall target="asadmin-common">
-            <param name="admin.command"
-                   value="create-admin-object --target ${appserver.instance.name} --restype com.sun.jdbcra.spi.JdbcSetupAdmin --raname testjdbcra --property TableName=customer2:JndiName=jdbc/ejb-subclassing:SchemaName=connector:NoOfRows=1"/>
-            <param name="operand.props" value="eis/testAdmin"/>
-        </antcall>
-    </target>
+  <target name="create-admin-object" depends="init-common">
+    <antcall target="asadmin-common">
+      <param name="admin.command"
+             value="create-admin-object --target ${appserver.instance.name} --restype com.sun.jdbcra.spi.JdbcSetupAdmin --raname connectors-ra-redeploy-rars --property TableName=customer2:JndiName=jdbc/ejb-subclassing:SchemaName=connector:NoOfRows=1"
+      />
+      <param name="operand.props" value="eis/testAdmin" />
+    </antcall>
+  </target>
 
-    <target name="delete-admin-object" depends="init-common">
-        <antcall target="asadmin-common">
-            <param name="admin.command" value="delete-admin-object"/>
-            <param name="operand.props" value="--target ${appserver.instance.name} eis/testAdmin"/>
-        </antcall>
-    </target>
+  <target name="delete-admin-object" depends="init-common">
+    <antcall target="asadmin-common">
+      <param name="admin.command" value="delete-admin-object" />
+      <param name="operand.props" value="--target ${appserver.instance.name} eis/testAdmin" />
+    </antcall>
+  </target>
 
 
-    <target name="create-ra-config" depends="init-common">
-        <antcall target="asadmin-common">
-            <param name="admin.command" value="create-resource-adapter-config  --property RAProperty=VALID"/>
-            <param name="operand.props" value="testjdbcra"/>
-        </antcall>
-    </target>
-    <target name="delete-ra-config" depends="init-common">
-        <antcall target="asadmin-common">
-            <param name="admin.command" value="delete-resource-adapter-config"/>
-            <param name="operand.props" value="testjdbcra"/>
-        </antcall>
-    </target>
+  <target name="create-ra-config" depends="init-common">
+    <antcall target="asadmin-common">
+      <param name="admin.command"
+             value="create-resource-adapter-config  --property RAProperty=VALID"
+      />
+      <param name="operand.props" value="connectors-ra-redeploy-rars" />
+    </antcall>
+  </target>
+  <target name="delete-ra-config" depends="init-common">
+    <antcall target="asadmin-common">
+      <param name="admin.command" value="delete-resource-adapter-config" />
+      <param name="operand.props" value="connectors-ra-redeploy-rars" />
+    </antcall>
+  </target>
 
-    <target name="create-pool">
-        <antcall target="create-connector-connpool-common">
-            <param name="ra.name" value="testjdbcra"/>
-            <param name="connection.defname" value="javax.sql.DataSource"/>
-            <param name="connector.conpool.name" value="versiontest-ra-pool"/>
-            <param name="failonerror" value="true"/>
-        </antcall>
-<!--
-        <antcall target="set-oracle-props">
-            <param name="pool.type" value="connector"/>
-            <param name="conpool.name" value="versiontest-ra-pool"/>
-        </antcall>
--->
-    </target>
+  <target name="create-pool">
+    <antcall target="create-connector-connpool-common">
+      <param name="ra.name" value="connectors-ra-redeploy-rars" />
+      <param name="connection.defname" value="javax.sql.DataSource" />
+      <param name="connector.conpool.name" value="versiontest-ra-pool" />
+      <param name="failonerror" value="true" />
+    </antcall>
+  </target>
 
-    <target name="create-resource">
-        <antcall target="create-connector-resource-common">
-            <param name="connector.conpool.name" value="versiontest-ra-pool"/>
-            <param name="connector.jndi.name" value="jdbc/ejb-subclassing"/>
-            <param name="failonerror" value="true"/>
-        </antcall>
-    </target>
+  <target name="create-resource">
+    <antcall target="create-connector-resource-common">
+      <param name="connector.conpool.name" value="versiontest-ra-pool" />
+      <param name="connector.jndi.name" value="jdbc/ejb-subclassing" />
+      <param name="failonerror" value="true" />
+    </antcall>
+  </target>
 
-    <target name="delete-pool">
-        <antcall target="delete-connector-connpool-common">
-            <param name="connector.conpool.name" value="versiontest-ra-pool"/>
-        </antcall>
-    </target>
+  <target name="delete-pool">
+    <antcall target="delete-connector-connpool-common">
+      <param name="connector.conpool.name" value="versiontest-ra-pool" />
+    </antcall>
+  </target>
 
-    <target name="delete-resource">
-        <antcall target="delete-connector-resource-common">
-            <param name="connector.jndi.name" value="jdbc/ejb-subclassing"/>
-        </antcall>
-    </target>
+  <target name="delete-resource">
+    <antcall target="delete-connector-resource-common">
+      <param name="connector.jndi.name" value="jdbc/ejb-subclassing" />
+    </antcall>
+  </target>
 
 
-    <target name="usage">
-        <antcall target="usage-common"/>
-    </target>
+  <target name="usage">
+    <antcall target="usage-common" />
+  </target>
 
 
 </project>
diff --git a/appserver/tests/appserv-tests/devtests/connector/v3/force-deploy-rar/ra/build.properties b/appserver/tests/appserv-tests/devtests/connector/v3/force-deploy-rar/ra/build.properties
deleted file mode 100755
index fd21c3d..0000000
--- a/appserver/tests/appserv-tests/devtests/connector/v3/force-deploy-rar/ra/build.properties
+++ /dev/null
@@ -1,23 +0,0 @@
-#
-# Copyright (c) 2002, 2018 Oracle and/or its affiliates. All rights reserved.
-#
-# This program and the accompanying materials are made available under the
-# terms of the Eclipse Public License v. 2.0, which is available at
-# http://www.eclipse.org/legal/epl-2.0.
-#
-# This Source Code may also be made available under the following Secondary
-# Licenses when the conditions for such availability set forth in the
-# Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
-# version 2 with the GNU Classpath Exception, which is available at
-# https://www.gnu.org/software/classpath/license.html.
-#
-# SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
-#
-
-
-### Component Properties ###
-src.dir=src
-component.publish.home=.
-component.classes.dir=${component.publish.home}/internal/classes
-component.lib.home=${component.publish.home}/lib
-component.publish.home=publish
diff --git a/appserver/tests/appserv-tests/devtests/connector/v3/force-deploy-rar/ra/build.xml b/appserver/tests/appserv-tests/devtests/connector/v3/force-deploy-rar/ra/build.xml
deleted file mode 100755
index 38d3c2f..0000000
--- a/appserver/tests/appserv-tests/devtests/connector/v3/force-deploy-rar/ra/build.xml
+++ /dev/null
@@ -1,92 +0,0 @@
-<!DOCTYPE project [
-<!--
-
-    Copyright (c) 2017, 2018 Oracle and/or its affiliates. All rights reserved.
-
-    This program and the accompanying materials are made available under the
-    terms of the Eclipse Public License v. 2.0, which is available at
-    http://www.eclipse.org/legal/epl-2.0.
-
-    This Source Code may also be made available under the following Secondary
-    Licenses when the conditions for such availability set forth in the
-    Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
-    version 2 with the GNU Classpath Exception, which is available at
-    https://www.gnu.org/software/classpath/license.html.
-
-    SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
-
--->
-
-  <!ENTITY common SYSTEM "../../../../../config/common.xml">
-  <!ENTITY testcommon SYSTEM "../../../../../config/properties.xml">
-]>
-
-<project name="JDBCConnector top level" default="build">
-    <property name="pkg.dir" value="com/sun/jdbcra/spi"/>
-
-    &common;
-    &testcommon;
-    <property file="./build.properties"/>
-
-    <target name="build" depends="compile,assemble" />
-
-
-    <!-- init. Initialization involves creating publishing directories and
-         OS specific targets. -->
-    <target name="init" description="${component.name} initialization">
-        <tstamp>
-            <format property="start.time" pattern="MM/dd/yyyy hh:mm aa"/>
-        </tstamp>
-        <echo message="Building component ${component.name}"/>
-        <mkdir dir="${component.classes.dir}"/>
-        <mkdir dir="${component.lib.home}"/>
-    </target>
-    <!-- compile -->
-    <target name="compile" depends="init"
-            description="Compile com/sun/* com/iplanet/* sources">
-        <!--<echo message="Connector api resides in ${connector-api.jar}"/>-->
-        <javac srcdir="${src.dir}"
-               destdir="${component.classes.dir}"
-               failonerror="true">
-               <classpath>
-                   <fileset dir="${env.S1AS_HOME}/modules">
-                        <include name="**/*.jar" />
-                   </fileset>
-               </classpath>
-            <include name="com/sun/jdbcra/**"/>
-            <include name="com/sun/appserv/**"/>
-        </javac>
-    </target>
-
-    <target name="all" depends="build"/>
-
-   <target name="assemble">
-
-        <jar jarfile="${component.lib.home}/jdbc.jar"
-            basedir="${component.classes.dir}" includes="${pkg.dir}/**/*,
-            com/sun/appserv/**/*, com/sun/jdbcra/util/**/*, com/sun/jdbcra/common/**/*"/>
-
-        <copy file="${src.dir}/com/sun/jdbcra/spi/1.4/ra-ds.xml"
-                tofile="${component.lib.home}/ra.xml" overwrite="yes">
-        </copy>
-           <jar jarfile="${component.lib.home}/testjdbcra.rar"
-                basedir="${component.lib.home}" includes="jdbc.jar">
-
-                   <metainf dir="${component.lib.home}">
-                           <include name="ra.xml"/>
-                   </metainf>
-           </jar>
-
-           <delete file="${component.lib.home}/ra.xml"/>
-
-  </target>
-
-    <target name="clean" description="Clean the build">
-        <delete includeEmptyDirs="true" failonerror="false">
-            <fileset dir="${component.classes.dir}"/>
-            <fileset dir="${component.lib.home}"/>
-        </delete>
-    </target>
-
-</project>
-
diff --git a/appserver/tests/appserv-tests/devtests/connector/v3/force-deploy-rar/ra/src/com/sun/appserv/jdbcra/DataSource.java b/appserver/tests/appserv-tests/devtests/connector/v3/force-deploy-rar/ra/src/com/sun/appserv/jdbcra/DataSource.java
deleted file mode 100755
index b6ef30b..0000000
--- a/appserver/tests/appserv-tests/devtests/connector/v3/force-deploy-rar/ra/src/com/sun/appserv/jdbcra/DataSource.java
+++ /dev/null
@@ -1,55 +0,0 @@
-/*
- * Copyright (c) 2003, 2018 Oracle and/or its affiliates. All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v. 2.0, which is available at
- * http://www.eclipse.org/legal/epl-2.0.
- *
- * This Source Code may also be made available under the following Secondary
- * Licenses when the conditions for such availability set forth in the
- * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
- * version 2 with the GNU Classpath Exception, which is available at
- * https://www.gnu.org/software/classpath/license.html.
- *
- * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
- */
-
-package com.sun.appserv.jdbcra;
-
-import java.sql.Connection;
-import java.sql.SQLException;
-
-/**
- * The <code>javax.sql.DataSource</code> implementation of SunONE application
- * server will implement this interface. An application program would be able
- * to use this interface to do the extended functionality exposed by SunONE
- * application server.
- * <p>A sample code for getting driver's connection implementation would like
- * the following.
- * <pre>
-     InitialContext ic = new InitialContext();
-     com.sun.appserv.DataSource ds = (com.sun.appserv.DataSOurce) ic.lookup("jdbc/PointBase");
-     Connection con = ds.getConnection();
-     Connection drivercon = ds.getConnection(con);
-
-     // Do db operations.
-
-     con.close();
-   </pre>
- *
- * @author Binod P.G
- */
-public interface DataSource extends javax.sql.DataSource {
-
-    /**
-     * Retrieves the actual SQLConnection from the Connection wrapper
-     * implementation of SunONE application server. If an actual connection is
-     * supplied as argument, then it will be just returned.
-     *
-     * @param con Connection obtained from <code>Datasource.getConnection()</code>
-     * @return <code>java.sql.Connection</code> implementation of the driver.
-     * @throws <code>java.sql.SQLException</code> If connection cannot be obtained.
-     */
-    public Connection getConnection(Connection con) throws SQLException;
-
-}
diff --git a/appserver/tests/appserv-tests/devtests/connector/v3/force-deploy-rar/ra/src/com/sun/jdbcra/common/DataSourceObjectBuilder.java b/appserver/tests/appserv-tests/devtests/connector/v3/force-deploy-rar/ra/src/com/sun/jdbcra/common/DataSourceObjectBuilder.java
deleted file mode 100755
index 88a0950..0000000
--- a/appserver/tests/appserv-tests/devtests/connector/v3/force-deploy-rar/ra/src/com/sun/jdbcra/common/DataSourceObjectBuilder.java
+++ /dev/null
@@ -1,216 +0,0 @@
-/*
- * Copyright (c) 2003, 2018 Oracle and/or its affiliates. All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v. 2.0, which is available at
- * http://www.eclipse.org/legal/epl-2.0.
- *
- * This Source Code may also be made available under the following Secondary
- * Licenses when the conditions for such availability set forth in the
- * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
- * version 2 with the GNU Classpath Exception, which is available at
- * https://www.gnu.org/software/classpath/license.html.
- *
- * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
- */
-
-package com.sun.jdbcra.common;
-
-import java.lang.reflect.Method;
-import java.util.Hashtable;
-import java.util.Vector;
-import java.util.StringTokenizer;
-import java.util.Enumeration;
-import com.sun.jdbcra.util.MethodExecutor;
-import jakarta.resource.ResourceException;
-
-import java.util.logging.Logger;
-import java.util.logging.Level;
-/**
- * Utility class, which would create necessary Datasource object according to the
- * specification.
- *
- * @version        1.0, 02/07/23
- * @author        Binod P.G
- * @see                com.sun.jdbcra.common.DataSourceSpec
- * @see                com.sun.jdbcra.util.MethodExcecutor
- */
-public class DataSourceObjectBuilder implements java.io.Serializable{
-
-    private DataSourceSpec spec;
-
-    private Hashtable driverProperties = null;
-
-    private MethodExecutor executor = null;
-
-    private static Logger _logger;
-    static {
-        _logger = Logger.getAnonymousLogger();
-    }
-    private boolean debug = false;
-    /**
-     * Construct a DataSource Object from the spec.
-     *
-     * @param        spec        <code> DataSourceSpec </code> object.
-     */
-    public DataSourceObjectBuilder(DataSourceSpec spec) {
-            this.spec = spec;
-            executor = new MethodExecutor();
-    }
-
-    /**
-     * Construct the DataSource Object from the spec.
-     *
-     * @return        Object constructed using the DataSourceSpec.
-     * @throws        <code>ResourceException</code> if the class is not found or some issue in executing
-     *                some method.
-     */
-    public Object constructDataSourceObject() throws ResourceException{
-            driverProperties = parseDriverProperties(spec);
-        Object dataSourceObject = getDataSourceObject();
-        Method[] methods = dataSourceObject.getClass().getMethods();
-        for (int i=0; i < methods.length; i++) {
-            String methodName = methods[i].getName();
-            if (methodName.equalsIgnoreCase("setUser")){
-                    executor.runJavaBeanMethod(spec.getDetail(DataSourceSpec.USERNAME),methods[i],dataSourceObject);
-
-            } else if (methodName.equalsIgnoreCase("setPassword")){
-                    executor.runJavaBeanMethod(spec.getDetail(DataSourceSpec.PASSWORD),methods[i],dataSourceObject);
-
-            } else if (methodName.equalsIgnoreCase("setLoginTimeOut")){
-                    executor.runJavaBeanMethod(spec.getDetail(DataSourceSpec.LOGINTIMEOUT),methods[i],dataSourceObject);
-
-            } else if (methodName.equalsIgnoreCase("setLogWriter")){
-                    executor.runJavaBeanMethod(spec.getDetail(DataSourceSpec.LOGWRITER),methods[i],dataSourceObject);
-
-            } else if (methodName.equalsIgnoreCase("setDatabaseName")){
-                    executor.runJavaBeanMethod(spec.getDetail(DataSourceSpec.DATABASENAME),methods[i],dataSourceObject);
-
-            } else if (methodName.equalsIgnoreCase("setDataSourceName")){
-                    executor.runJavaBeanMethod(spec.getDetail(DataSourceSpec.DATASOURCENAME),methods[i],dataSourceObject);
-
-            } else if (methodName.equalsIgnoreCase("setDescription")){
-                    executor.runJavaBeanMethod(spec.getDetail(DataSourceSpec.DESCRIPTION),methods[i],dataSourceObject);
-
-            } else if (methodName.equalsIgnoreCase("setNetworkProtocol")){
-                    executor.runJavaBeanMethod(spec.getDetail(DataSourceSpec.NETWORKPROTOCOL),methods[i],dataSourceObject);
-
-            } else if (methodName.equalsIgnoreCase("setPortNumber")){
-                    executor.runJavaBeanMethod(spec.getDetail(DataSourceSpec.PORTNUMBER),methods[i],dataSourceObject);
-
-            } else if (methodName.equalsIgnoreCase("setRoleName")){
-                    executor.runJavaBeanMethod(spec.getDetail(DataSourceSpec.ROLENAME),methods[i],dataSourceObject);
-
-            } else if (methodName.equalsIgnoreCase("setServerName")){
-                    executor.runJavaBeanMethod(spec.getDetail(DataSourceSpec.SERVERNAME),methods[i],dataSourceObject);
-
-            } else if (methodName.equalsIgnoreCase("setMaxStatements")){
-                    executor.runJavaBeanMethod(spec.getDetail(DataSourceSpec.MAXSTATEMENTS),methods[i],dataSourceObject);
-
-            } else if (methodName.equalsIgnoreCase("setInitialPoolSize")){
-                    executor.runJavaBeanMethod(spec.getDetail(DataSourceSpec.INITIALPOOLSIZE),methods[i],dataSourceObject);
-
-            } else if (methodName.equalsIgnoreCase("setMinPoolSize")){
-                    executor.runJavaBeanMethod(spec.getDetail(DataSourceSpec.MINPOOLSIZE),methods[i],dataSourceObject);
-
-            } else if (methodName.equalsIgnoreCase("setMaxPoolSize")){
-                    executor.runJavaBeanMethod(spec.getDetail(DataSourceSpec.MAXPOOLSIZE),methods[i],dataSourceObject);
-
-            } else if (methodName.equalsIgnoreCase("setMaxIdleTime")){
-                    executor.runJavaBeanMethod(spec.getDetail(DataSourceSpec.MAXIDLETIME),methods[i],dataSourceObject);
-
-            } else if (methodName.equalsIgnoreCase("setPropertyCycle")){
-                    executor.runJavaBeanMethod(spec.getDetail(DataSourceSpec.PROPERTYCYCLE),methods[i],dataSourceObject);
-
-            } else if (driverProperties.containsKey(methodName.toUpperCase())){
-                    Vector values = (Vector) driverProperties.get(methodName.toUpperCase());
-                executor.runMethod(methods[i],dataSourceObject, values);
-            }
-        }
-        return dataSourceObject;
-    }
-
-    /**
-     * Get the extra driver properties from the DataSourceSpec object and
-     * parse them to a set of methodName and parameters. Prepare a hashtable
-     * containing these details and return.
-     *
-     * @param        spec        <code> DataSourceSpec </code> object.
-     * @return        Hashtable containing method names and parameters,
-     * @throws        ResourceException        If delimiter is not provided and property string
-     *                                        is not null.
-     */
-    private Hashtable parseDriverProperties(DataSourceSpec spec) throws ResourceException{
-            String delim = spec.getDetail(DataSourceSpec.DELIMITER);
-
-        String prop = spec.getDetail(DataSourceSpec.DRIVERPROPERTIES);
-        if ( prop == null || prop.trim().equals("")) {
-            return new Hashtable();
-        } else if (delim == null || delim.equals("")) {
-            throw new ResourceException ("Delimiter is not provided in the configuration");
-        }
-
-        Hashtable properties = new Hashtable();
-        delim = delim.trim();
-        String sep = delim+delim;
-        int sepLen = sep.length();
-        String cache = prop;
-        Vector methods = new Vector();
-
-        while (cache.indexOf(sep) != -1) {
-            int index = cache.indexOf(sep);
-            String name = cache.substring(0,index);
-            if (name.trim() != "") {
-                methods.add(name);
-                    cache = cache.substring(index+sepLen);
-            }
-        }
-
-            Enumeration allMethods = methods.elements();
-            while (allMethods.hasMoreElements()) {
-                String oneMethod = (String) allMethods.nextElement();
-                if (!oneMethod.trim().equals("")) {
-                        String methodName = null;
-                        Vector parms = new Vector();
-                        StringTokenizer methodDetails = new StringTokenizer(oneMethod,delim);
-                for (int i=0; methodDetails.hasMoreTokens();i++ ) {
-                    String token = (String) methodDetails.nextToken();
-                    if (i==0) {
-                            methodName = token.toUpperCase();
-                    } else {
-                            parms.add(token);
-                    }
-                }
-                properties.put(methodName,parms);
-                }
-            }
-            return properties;
-    }
-
-    /**
-     * Creates a Datasource object according to the spec.
-     *
-     * @return        Initial DataSource Object instance.
-     * @throws        <code>ResourceException</code> If class name is wrong or classpath is not set
-     *                properly.
-     */
-    private Object getDataSourceObject() throws ResourceException{
-            String className = spec.getDetail(DataSourceSpec.CLASSNAME);
-        try {
-            Class dataSourceClass = Class.forName(className);
-            Object dataSourceObject = dataSourceClass.newInstance();
-            return dataSourceObject;
-        } catch(ClassNotFoundException cfne){
-            _logger.log(Level.SEVERE, "jdbc.exc_cnfe_ds", cfne);
-
-            throw new ResourceException("Class Name is wrong or Class path is not set for :" + className);
-        } catch(InstantiationException ce) {
-            _logger.log(Level.SEVERE, "jdbc.exc_inst", className);
-            throw new ResourceException("Error in instantiating" + className);
-        } catch(IllegalAccessException ce) {
-            _logger.log(Level.SEVERE, "jdbc.exc_acc_inst", className);
-            throw new ResourceException("Access Error in instantiating" + className);
-        }
-    }
-
-}
diff --git a/appserver/tests/appserv-tests/devtests/connector/v3/force-deploy-rar/ra/src/com/sun/jdbcra/common/DataSourceSpec.java b/appserver/tests/appserv-tests/devtests/connector/v3/force-deploy-rar/ra/src/com/sun/jdbcra/common/DataSourceSpec.java
deleted file mode 100755
index 1c4b072..0000000
--- a/appserver/tests/appserv-tests/devtests/connector/v3/force-deploy-rar/ra/src/com/sun/jdbcra/common/DataSourceSpec.java
+++ /dev/null
@@ -1,110 +0,0 @@
-/*
- * Copyright (c) 2003, 2018 Oracle and/or its affiliates. All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v. 2.0, which is available at
- * http://www.eclipse.org/legal/epl-2.0.
- *
- * This Source Code may also be made available under the following Secondary
- * Licenses when the conditions for such availability set forth in the
- * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
- * version 2 with the GNU Classpath Exception, which is available at
- * https://www.gnu.org/software/classpath/license.html.
- *
- * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
- */
-
-package com.sun.jdbcra.common;
-
-import java.util.Hashtable;
-
-/**
- * Encapsulate the DataSource object details obtained from
- * ManagedConnectionFactory.
- *
- * @version        1.0, 02/07/23
- * @author        Binod P.G
- */
-public class DataSourceSpec implements java.io.Serializable{
-
-    public static final int USERNAME                                = 1;
-    public static final int PASSWORD                                = 2;
-    public static final int URL                                        = 3;
-    public static final int LOGINTIMEOUT                        = 4;
-    public static final int LOGWRITER                                = 5;
-    public static final int DATABASENAME                        = 6;
-    public static final int DATASOURCENAME                        = 7;
-    public static final int DESCRIPTION                                = 8;
-    public static final int NETWORKPROTOCOL                        = 9;
-    public static final int PORTNUMBER                                = 10;
-    public static final int ROLENAME                                = 11;
-    public static final int SERVERNAME                                = 12;
-    public static final int MAXSTATEMENTS                        = 13;
-    public static final int INITIALPOOLSIZE                        = 14;
-    public static final int MINPOOLSIZE                                = 15;
-    public static final int MAXPOOLSIZE                                = 16;
-    public static final int MAXIDLETIME                                = 17;
-    public static final int PROPERTYCYCLE                        = 18;
-    public static final int DRIVERPROPERTIES                        = 19;
-    public static final int CLASSNAME                                = 20;
-    public static final int DELIMITER                                = 21;
-
-    public static final int XADATASOURCE                        = 22;
-    public static final int DATASOURCE                                = 23;
-    public static final int CONNECTIONPOOLDATASOURCE                = 24;
-
-    //GJCINT
-    public static final int CONNECTIONVALIDATIONREQUIRED        = 25;
-    public static final int VALIDATIONMETHOD                        = 26;
-    public static final int VALIDATIONTABLENAME                        = 27;
-
-    public static final int TRANSACTIONISOLATION                = 28;
-    public static final int GUARANTEEISOLATIONLEVEL                = 29;
-
-    private Hashtable details = new Hashtable();
-
-    /**
-     * Set the property.
-     *
-     * @param        property        Property Name to be set.
-     * @param        value                Value of property to be set.
-     */
-    public void setDetail(int property, String value) {
-            details.put(new Integer(property),value);
-    }
-
-    /**
-     * Get the value of property
-     *
-     * @return        Value of the property.
-     */
-    public String getDetail(int property) {
-            if (details.containsKey(new Integer(property))) {
-                return (String) details.get(new Integer(property));
-            } else {
-                return null;
-            }
-    }
-
-    /**
-     * Checks whether two <code>DataSourceSpec</code> objects
-     * are equal or not.
-     *
-     * @param        obj        Instance of <code>DataSourceSpec</code> object.
-     */
-    public boolean equals(Object obj) {
-            if (obj instanceof DataSourceSpec) {
-                return this.details.equals(((DataSourceSpec)obj).details);
-            }
-            return false;
-    }
-
-    /**
-     * Retrieves the hashCode of this <code>DataSourceSpec</code> object.
-     *
-     * @return        hashCode of this object.
-     */
-    public int hashCode() {
-            return this.details.hashCode();
-    }
-}
diff --git a/appserver/tests/appserv-tests/devtests/connector/v3/force-deploy-rar/ra/src/com/sun/jdbcra/common/build.xml b/appserver/tests/appserv-tests/devtests/connector/v3/force-deploy-rar/ra/src/com/sun/jdbcra/common/build.xml
deleted file mode 100755
index 3b4faeb..0000000
--- a/appserver/tests/appserv-tests/devtests/connector/v3/force-deploy-rar/ra/src/com/sun/jdbcra/common/build.xml
+++ /dev/null
@@ -1,48 +0,0 @@
-<?xml version="1.0"?>
-<!--
-
-    Copyright (c) 2017, 2018 Oracle and/or its affiliates. All rights reserved.
-
-    This program and the accompanying materials are made available under the
-    terms of the Eclipse Public License v. 2.0, which is available at
-    http://www.eclipse.org/legal/epl-2.0.
-
-    This Source Code may also be made available under the following Secondary
-    Licenses when the conditions for such availability set forth in the
-    Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
-    version 2 with the GNU Classpath Exception, which is available 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 name="jdbc_connector" basedir="." default="build">
-  <property name="pkg.dir" value="com/sun/gjc/common"/>
-
-  <target name="clean">
-    <ant antfile="build.xml" dir="${gjc.home}/bin" target="clean"/>
-  </target>
-
-  <target name="compile">
-    <ant antfile="build.xml" dir="${gjc.home}/bin" target="compile13"/>
-  </target>
-
-  <target name="package">
-    <mkdir dir="${dist.dir}/${pkg.dir}"/>
-      <jar jarfile="${dist.dir}/${pkg.dir}/common.jar" basedir="${class.dir}"
-        includes="${pkg.dir}/**/*"/>
-  </target>
-
-  <target name="compile13" depends="compile"/>
-  <target name="compile14" depends="compile"/>
-
-  <target name="package13" depends="package"/>
-  <target name="package14" depends="package"/>
-
-  <target name="build13" depends="compile13, package13"/>
-  <target name="build14" depends="compile14, package14"/>
-
-  <target name="build" depends="build13, build14"/>
-
-</project>
diff --git a/appserver/tests/appserv-tests/devtests/connector/v3/force-deploy-rar/ra/src/com/sun/jdbcra/spi/1.4/ConnectionHolder.java b/appserver/tests/appserv-tests/devtests/connector/v3/force-deploy-rar/ra/src/com/sun/jdbcra/spi/1.4/ConnectionHolder.java
deleted file mode 100755
index 55dedad..0000000
--- a/appserver/tests/appserv-tests/devtests/connector/v3/force-deploy-rar/ra/src/com/sun/jdbcra/spi/1.4/ConnectionHolder.java
+++ /dev/null
@@ -1,671 +0,0 @@
-/*
- * Copyright (c) 2003, 2018 Oracle and/or its affiliates. All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v. 2.0, which is available at
- * http://www.eclipse.org/legal/epl-2.0.
- *
- * This Source Code may also be made available under the following Secondary
- * Licenses when the conditions for such availability set forth in the
- * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
- * version 2 with the GNU Classpath Exception, which is available at
- * https://www.gnu.org/software/classpath/license.html.
- *
- * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
- */
-
-package com.sun.jdbcra.spi;
-
-import java.sql.*;
-import java.util.Hashtable;
-import java.util.Map;
-import java.util.Enumeration;
-import java.util.Properties;
-import java.util.concurrent.Executor;
-
-/**
- * Holds the java.sql.Connection object, which is to be
- * passed to the application program.
- *
- * @version        1.0, 02/07/23
- * @author        Binod P.G
- */
-public class ConnectionHolder implements Connection{
-
-    private Connection con;
-
-    private ManagedConnection mc;
-
-    private boolean wrappedAlready = false;
-
-    private boolean isClosed = false;
-
-    private boolean valid = true;
-
-    private boolean active = false;
-    /**
-     * The active flag is false when the connection handle is
-     * created. When a method is invoked on this object, it asks
-     * the ManagedConnection if it can be the active connection
-     * handle out of the multiple connection handles. If the
-     * ManagedConnection reports that this connection handle
-     * can be active by setting this flag to true via the setActive
-     * function, the above method invocation succeeds; otherwise
-     * an exception is thrown.
-     */
-
-    /**
-     * Constructs a Connection holder.
-     *
-     * @param        con        <code>java.sql.Connection</code> object.
-     */
-    public ConnectionHolder(Connection con, ManagedConnection mc) {
-        this.con = con;
-        this.mc  = mc;
-    }
-
-    /**
-     * Returns the actual connection in this holder object.
-     *
-     * @return        Connection object.
-     */
-    Connection getConnection() {
-            return con;
-    }
-
-    /**
-     * Sets the flag to indicate that, the connection is wrapped already or not.
-     *
-     * @param        wrapFlag
-     */
-    void wrapped(boolean wrapFlag){
-        this.wrappedAlready = wrapFlag;
-    }
-
-    /**
-     * Returns whether it is wrapped already or not.
-     *
-     * @return        wrapped flag.
-     */
-    boolean isWrapped(){
-        return wrappedAlready;
-    }
-
-    /**
-     * Returns the <code>ManagedConnection</code> instance responsible
-     * for this connection.
-     *
-     * @return        <code>ManagedConnection</code> instance.
-     */
-    ManagedConnection getManagedConnection() {
-        return mc;
-    }
-
-    /**
-     * Replace the actual <code>java.sql.Connection</code> object with the one
-     * supplied. Also replace <code>ManagedConnection</code> link.
-     *
-     * @param        con <code>Connection</code> object.
-     * @param        mc  <code> ManagedConnection</code> object.
-     */
-    void associateConnection(Connection con, ManagedConnection mc) {
-            this.mc = mc;
-            this.con = con;
-    }
-
-    /**
-     * Clears all warnings reported for the underlying connection  object.
-     *
-     * @throws SQLException In case of a database error.
-     */
-    public void clearWarnings() throws SQLException{
-        checkValidity();
-        con.clearWarnings();
-    }
-
-    /**
-     * Closes the logical connection.
-     *
-     * @throws SQLException In case of a database error.
-     */
-    public void close() throws SQLException{
-        isClosed = true;
-        mc.connectionClosed(null, this);
-    }
-
-    /**
-     * Invalidates this object.
-     */
-    public void invalidate() {
-            valid = false;
-    }
-
-    /**
-     * Closes the physical connection involved in this.
-     *
-     * @throws SQLException In case of a database error.
-     */
-    void actualClose() throws SQLException{
-        con.close();
-    }
-
-    /**
-     * Commit the changes in the underlying Connection.
-     *
-     * @throws SQLException In case of a database error.
-     */
-    public void commit() throws SQLException {
-        checkValidity();
-            con.commit();
-    }
-
-    /**
-     * Creates a statement from the underlying Connection
-     *
-     * @return        <code>Statement</code> object.
-     * @throws SQLException In case of a database error.
-     */
-    public Statement createStatement() throws SQLException {
-        checkValidity();
-        return con.createStatement();
-    }
-
-    /**
-     * Creates a statement from the underlying Connection.
-     *
-     * @param        resultSetType        Type of the ResultSet
-     * @param        resultSetConcurrency        ResultSet Concurrency.
-     * @return        <code>Statement</code> object.
-     * @throws SQLException In case of a database error.
-     */
-    public Statement createStatement(int resultSetType, int resultSetConcurrency) throws SQLException {
-        checkValidity();
-        return con.createStatement(resultSetType, resultSetConcurrency);
-    }
-
-    /**
-     * Creates a statement from the underlying Connection.
-     *
-     * @param        resultSetType        Type of the ResultSet
-     * @param        resultSetConcurrency        ResultSet Concurrency.
-     * @param        resultSetHoldability        ResultSet Holdability.
-     * @return        <code>Statement</code> object.
-     * @throws SQLException In case of a database error.
-     */
-    public Statement createStatement(int resultSetType, int resultSetConcurrency,
-                                         int resultSetHoldabilty) throws SQLException {
-        checkValidity();
-        return con.createStatement(resultSetType, resultSetConcurrency,
-                                   resultSetHoldabilty);
-    }
-
-    /**
-     * Retrieves the current auto-commit mode for the underlying <code> Connection</code>.
-     *
-     * @return The current state of connection's auto-commit mode.
-     * @throws SQLException In case of a database error.
-     */
-    public boolean getAutoCommit() throws SQLException {
-        checkValidity();
-            return con.getAutoCommit();
-    }
-
-    /**
-     * Retrieves the underlying <code>Connection</code> object's catalog name.
-     *
-     * @return        Catalog Name.
-     * @throws SQLException In case of a database error.
-     */
-    public String getCatalog() throws SQLException {
-        checkValidity();
-        return con.getCatalog();
-    }
-
-    /**
-     * Retrieves the current holdability of <code>ResultSet</code> objects created
-     * using this connection object.
-     *
-     * @return        holdability value.
-     * @throws SQLException In case of a database error.
-     */
-    public int getHoldability() throws SQLException {
-        checkValidity();
-            return        con.getHoldability();
-    }
-
-    /**
-     * Retrieves the <code>DatabaseMetaData</code>object from the underlying
-     * <code> Connection </code> object.
-     *
-     * @return <code>DatabaseMetaData</code> object.
-     * @throws SQLException In case of a database error.
-     */
-    public DatabaseMetaData getMetaData() throws SQLException {
-        checkValidity();
-            return con.getMetaData();
-    }
-
-    /**
-     * Retrieves this <code>Connection</code> object's current transaction isolation level.
-     *
-     * @return Transaction level
-     * @throws SQLException In case of a database error.
-     */
-    public int getTransactionIsolation() throws SQLException {
-        checkValidity();
-        return con.getTransactionIsolation();
-    }
-
-    /**
-     * Retrieves the <code>Map</code> object associated with
-     * <code> Connection</code> Object.
-     *
-     * @return        TypeMap set in this object.
-     * @throws SQLException In case of a database error.
-     */
-    public Map getTypeMap() throws SQLException {
-        checkValidity();
-            return con.getTypeMap();
-    }
-
-    /**
-     * Retrieves the the first warning reported by calls on the underlying
-     * <code>Connection</code> object.
-     *
-     * @return First <code> SQLWarning</code> Object or null.
-     * @throws SQLException In case of a database error.
-     */
-    public SQLWarning getWarnings() throws SQLException {
-        checkValidity();
-            return con.getWarnings();
-    }
-
-    /**
-     * Retrieves whether underlying <code>Connection</code> object is closed.
-     *
-     * @return        true if <code>Connection</code> object is closed, false
-     *                 if it is closed.
-     * @throws SQLException In case of a database error.
-     */
-    public boolean isClosed() throws SQLException {
-            return isClosed;
-    }
-
-    /**
-     * Retrieves whether this <code>Connection</code> object is read-only.
-     *
-     * @return        true if <code> Connection </code> is read-only, false other-wise
-     * @throws SQLException In case of a database error.
-     */
-    public boolean isReadOnly() throws SQLException {
-        checkValidity();
-            return con.isReadOnly();
-    }
-
-    /**
-     * Converts the given SQL statement into the system's native SQL grammer.
-     *
-     * @param        sql        SQL statement , to be converted.
-     * @return        Converted SQL string.
-     * @throws SQLException In case of a database error.
-     */
-    public String nativeSQL(String sql) throws SQLException {
-        checkValidity();
-            return con.nativeSQL(sql);
-    }
-
-    /**
-     * Creates a <code> CallableStatement </code> object for calling database
-     * stored procedures.
-     *
-     * @param        sql        SQL Statement
-     * @return <code> CallableStatement</code> object.
-     * @throws SQLException In case of a database error.
-     */
-    public CallableStatement prepareCall(String sql) throws SQLException {
-        checkValidity();
-            return con.prepareCall(sql);
-    }
-
-    /**
-     * Creates a <code> CallableStatement </code> object for calling database
-     * stored procedures.
-     *
-     * @param        sql        SQL Statement
-     * @param        resultSetType        Type of the ResultSet
-     * @param        resultSetConcurrency        ResultSet Concurrency.
-     * @return <code> CallableStatement</code> object.
-     * @throws SQLException In case of a database error.
-     */
-    public CallableStatement prepareCall(String sql,int resultSetType,
-                                            int resultSetConcurrency) throws SQLException{
-        checkValidity();
-            return con.prepareCall(sql, resultSetType, resultSetConcurrency);
-    }
-
-    /**
-     * Creates a <code> CallableStatement </code> object for calling database
-     * stored procedures.
-     *
-     * @param        sql        SQL Statement
-     * @param        resultSetType        Type of the ResultSet
-     * @param        resultSetConcurrency        ResultSet Concurrency.
-     * @param        resultSetHoldability        ResultSet Holdability.
-     * @return <code> CallableStatement</code> object.
-     * @throws SQLException In case of a database error.
-     */
-    public CallableStatement prepareCall(String sql, int resultSetType,
-                                             int resultSetConcurrency,
-                                             int resultSetHoldabilty) throws SQLException{
-        checkValidity();
-            return con.prepareCall(sql, resultSetType, resultSetConcurrency,
-                                   resultSetHoldabilty);
-    }
-
-    /**
-     * Creates a <code> PreparedStatement </code> object for sending
-     * paramterized SQL statements to database
-     *
-     * @param        sql        SQL Statement
-     * @return <code> PreparedStatement</code> object.
-     * @throws SQLException In case of a database error.
-     */
-    public PreparedStatement prepareStatement(String sql) throws SQLException {
-        checkValidity();
-            return con.prepareStatement(sql);
-    }
-
-    /**
-     * Creates a <code> PreparedStatement </code> object for sending
-     * paramterized SQL statements to database
-     *
-     * @param        sql        SQL Statement
-     * @param        autoGeneratedKeys a flag indicating AutoGeneratedKeys need to be returned.
-     * @return <code> PreparedStatement</code> object.
-     * @throws SQLException In case of a database error.
-     */
-    public PreparedStatement prepareStatement(String sql, int autoGeneratedKeys) throws SQLException {
-        checkValidity();
-            return con.prepareStatement(sql,autoGeneratedKeys);
-    }
-
-    /**
-     * Creates a <code> PreparedStatement </code> object for sending
-     * paramterized SQL statements to database
-     *
-     * @param        sql        SQL Statement
-     * @param        columnIndexes an array of column indexes indicating the columns that should be
-     *                returned from the inserted row or rows.
-     * @return <code> PreparedStatement</code> object.
-     * @throws SQLException In case of a database error.
-     */
-    public PreparedStatement prepareStatement(String sql, int[] columnIndexes) throws SQLException {
-        checkValidity();
-            return con.prepareStatement(sql,columnIndexes);
-    }
-
-    /**
-     * Creates a <code> PreparedStatement </code> object for sending
-     * paramterized SQL statements to database
-     *
-     * @param        sql        SQL Statement
-     * @param        resultSetType        Type of the ResultSet
-     * @param        resultSetConcurrency        ResultSet Concurrency.
-     * @return <code> PreparedStatement</code> object.
-     * @throws SQLException In case of a database error.
-     */
-    public PreparedStatement prepareStatement(String sql,int resultSetType,
-                                            int resultSetConcurrency) throws SQLException{
-        checkValidity();
-            return con.prepareStatement(sql, resultSetType, resultSetConcurrency);
-    }
-
-    /**
-     * Creates a <code> PreparedStatement </code> object for sending
-     * paramterized SQL statements to database
-     *
-     * @param        sql        SQL Statement
-     * @param        resultSetType        Type of the ResultSet
-     * @param        resultSetConcurrency        ResultSet Concurrency.
-     * @param        resultSetHoldability        ResultSet Holdability.
-     * @return <code> PreparedStatement</code> object.
-     * @throws SQLException In case of a database error.
-     */
-    public PreparedStatement prepareStatement(String sql, int resultSetType,
-                                             int resultSetConcurrency,
-                                             int resultSetHoldabilty) throws SQLException {
-        checkValidity();
-            return con.prepareStatement(sql, resultSetType, resultSetConcurrency,
-                                        resultSetHoldabilty);
-    }
-
-    /**
-     * Creates a <code> PreparedStatement </code> object for sending
-     * paramterized SQL statements to database
-     *
-     * @param        sql        SQL Statement
-     * @param        columnNames Name of bound columns.
-     * @return <code> PreparedStatement</code> object.
-     * @throws SQLException In case of a database error.
-     */
-    public PreparedStatement prepareStatement(String sql, String[] columnNames) throws SQLException {
-        checkValidity();
-            return con.prepareStatement(sql,columnNames);
-    }
-
-    public Clob createClob() throws SQLException {
-        return null;  //To change body of implemented methods use File | Settings | File Templates.
-    }
-
-    public Blob createBlob() throws SQLException {
-        return null;  //To change body of implemented methods use File | Settings | File Templates.
-    }
-
-    public NClob createNClob() throws SQLException {
-        return null;  //To change body of implemented methods use File | Settings | File Templates.
-    }
-
-    public SQLXML createSQLXML() throws SQLException {
-        return null;  //To change body of implemented methods use File | Settings | File Templates.
-    }
-
-    public boolean isValid(int timeout) throws SQLException {
-        return false;  //To change body of implemented methods use File | Settings | File Templates.
-    }
-
-    public void setClientInfo(String name, String value) throws SQLClientInfoException {
-        //To change body of implemented methods use File | Settings | File Templates.
-    }
-
-    public void setClientInfo(Properties properties) throws SQLClientInfoException {
-        //To change body of implemented methods use File | Settings | File Templates.
-    }
-
-    public String getClientInfo(String name) throws SQLException {
-        return null;  //To change body of implemented methods use File | Settings | File Templates.
-    }
-
-    public Properties getClientInfo() throws SQLException {
-        return null;  //To change body of implemented methods use File | Settings | File Templates.
-    }
-
-    public Array createArrayOf(String typeName, Object[] elements) throws SQLException {
-        return null;  //To change body of implemented methods use File | Settings | File Templates.
-    }
-
-    public Struct createStruct(String typeName, Object[] attributes) throws SQLException {
-        return null;  //To change body of implemented methods use File | Settings | File Templates.
-    }
-
-    /**
-     * Removes the given <code>Savepoint</code> object from the current transaction.
-     *
-     * @param        savepoint        <code>Savepoint</code> object
-     * @throws SQLException In case of a database error.
-     */
-    public void releaseSavepoint(Savepoint savepoint) throws SQLException {
-        checkValidity();
-            con.releaseSavepoint(savepoint);
-    }
-
-    /**
-     * Rolls back the changes made in the current transaction.
-     *
-     * @throws SQLException In case of a database error.
-     */
-    public void rollback() throws SQLException {
-        checkValidity();
-            con.rollback();
-    }
-
-    /**
-     * Rolls back the changes made after the savepoint.
-     *
-     * @throws SQLException In case of a database error.
-     */
-    public void rollback(Savepoint savepoint) throws SQLException {
-        checkValidity();
-            con.rollback(savepoint);
-    }
-
-    /**
-     * Sets the auto-commmit mode of the <code>Connection</code> object.
-     *
-     * @param        autoCommit boolean value indicating the auto-commit mode.
-     * @throws SQLException In case of a database error.
-     */
-    public void setAutoCommit(boolean autoCommit) throws SQLException {
-        checkValidity();
-            con.setAutoCommit(autoCommit);
-    }
-
-    /**
-     * Sets the catalog name to the <code>Connection</code> object
-     *
-     * @param        catalog        Catalog name.
-     * @throws SQLException In case of a database error.
-     */
-    public void setCatalog(String catalog) throws SQLException {
-        checkValidity();
-            con.setCatalog(catalog);
-    }
-
-    /**
-     * Sets the holdability of <code>ResultSet</code> objects created
-     * using this <code>Connection</code> object.
-     *
-     * @param        holdability        A <code>ResultSet</code> holdability constant
-     * @throws SQLException In case of a database error.
-     */
-    public void setHoldability(int holdability) throws SQLException {
-        checkValidity();
-             con.setHoldability(holdability);
-    }
-
-    /**
-     * Puts the connection in read-only mode as a hint to the driver to
-     * perform database optimizations.
-     *
-     * @param        readOnly  true enables read-only mode, false disables it.
-     * @throws SQLException In case of a database error.
-     */
-    public void setReadOnly(boolean readOnly) throws SQLException {
-        checkValidity();
-            con.setReadOnly(readOnly);
-    }
-
-    /**
-     * Creates and unnamed savepoint and returns an object corresponding to that.
-     *
-     * @return        <code>Savepoint</code> object.
-     * @throws SQLException In case of a database error.
-     */
-    public Savepoint setSavepoint() throws SQLException {
-        checkValidity();
-            return con.setSavepoint();
-    }
-
-    /**
-     * Creates a savepoint with the name and returns an object corresponding to that.
-     *
-     * @param        name        Name of the savepoint.
-     * @return        <code>Savepoint</code> object.
-     * @throws SQLException In case of a database error.
-     */
-    public Savepoint setSavepoint(String name) throws SQLException {
-        checkValidity();
-            return con.setSavepoint(name);
-    }
-
-    /**
-     * Creates the transaction isolation level.
-     *
-     * @param        level transaction isolation level.
-     * @throws SQLException In case of a database error.
-     */
-    public void setTransactionIsolation(int level) throws SQLException {
-        checkValidity();
-            con.setTransactionIsolation(level);
-    }
-
-    /**
-     * Installs the given <code>Map</code> object as the tyoe map for this
-     * <code> Connection </code> object.
-     *
-     * @param        map        <code>Map</code> a Map object to install.
-     * @throws SQLException In case of a database error.
-     */
-    public void setTypeMap(Map map) throws SQLException {
-        checkValidity();
-            con.setTypeMap(map);
-    }
-
-    public int getNetworkTimeout() throws SQLException {
-      throw new SQLFeatureNotSupportedException("Do not support Java 7 new feature.");
-    }
-
-    public void setNetworkTimeout(Executor executor, int milliseconds) throws SQLException {
-      throw new SQLFeatureNotSupportedException("Do not support Java 7 new feature.");
-    }
-
-    public void abort(Executor executor)  throws SQLException{
-      throw new SQLFeatureNotSupportedException("Do not support Java 7 new feature.");
-    }
-
-    public String getSchema() throws SQLException{
-      throw new SQLFeatureNotSupportedException("Do not support Java 7 new feature.");
-    }
-
-    public void setSchema(String schema) throws SQLException{
-      throw new SQLFeatureNotSupportedException("Do not support Java 7 new feature.");
-    }
-
-
-    /**
-     * Checks the validity of this object
-     */
-    private void checkValidity() throws SQLException {
-            if (isClosed) throw new SQLException ("Connection closed");
-            if (!valid) throw new SQLException ("Invalid Connection");
-            if(active == false) {
-                mc.checkIfActive(this);
-            }
-    }
-
-    /**
-     * Sets the active flag to true
-     *
-     * @param        actv        boolean
-     */
-    void setActive(boolean actv) {
-        active = actv;
-    }
-
-    public <T> T unwrap(Class<T> iface) throws SQLException {
-        return null;  //To change body of implemented methods use File | Settings | File Templates.
-    }
-
-    public boolean isWrapperFor(Class<?> iface) throws SQLException {
-        return false;  //To change body of implemented methods use File | Settings | File Templates.
-    }
-}
diff --git a/appserver/tests/appserv-tests/devtests/connector/v3/force-deploy-rar/ra/src/com/sun/jdbcra/spi/1.4/ManagedConnectionFactory.java b/appserver/tests/appserv-tests/devtests/connector/v3/force-deploy-rar/ra/src/com/sun/jdbcra/spi/1.4/ManagedConnectionFactory.java
deleted file mode 100755
index fb0fdab..0000000
--- a/appserver/tests/appserv-tests/devtests/connector/v3/force-deploy-rar/ra/src/com/sun/jdbcra/spi/1.4/ManagedConnectionFactory.java
+++ /dev/null
@@ -1,754 +0,0 @@
-/*
- * Copyright (c) 2003, 2018 Oracle and/or its affiliates. All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v. 2.0, which is available at
- * http://www.eclipse.org/legal/epl-2.0.
- *
- * This Source Code may also be made available under the following Secondary
- * Licenses when the conditions for such availability set forth in the
- * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
- * version 2 with the GNU Classpath Exception, which is available at
- * https://www.gnu.org/software/classpath/license.html.
- *
- * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
- */
-
-package com.sun.jdbcra.spi;
-
-import jakarta.resource.ResourceException;
-import jakarta.resource.spi.ConnectionRequestInfo;
-import com.sun.jdbcra.spi.ConnectionManager;
-import com.sun.jdbcra.util.SecurityUtils;
-import jakarta.resource.spi.security.PasswordCredential;
-import java.sql.DriverManager;
-import com.sun.jdbcra.common.DataSourceSpec;
-import com.sun.jdbcra.common.DataSourceObjectBuilder;
-import java.sql.SQLException;
-
-import java.util.logging.Logger;
-import java.util.logging.Level;
-/**
- * <code>ManagedConnectionFactory</code> implementation for Generic JDBC Connector.
- * This class is extended by the DataSource specific <code>ManagedConnection</code> factories
- * and the <code>ManagedConnectionFactory</code> for the <code>DriverManager</code>.
- *
- * @version        1.0, 02/08/03
- * @author        Evani Sai Surya Kiran
- */
-
-public abstract class ManagedConnectionFactory implements jakarta.resource.spi.ManagedConnectionFactory,
-    java.io.Serializable {
-
-    protected DataSourceSpec spec = new DataSourceSpec();
-    protected transient DataSourceObjectBuilder dsObjBuilder;
-
-    protected java.io.PrintWriter logWriter = null;
-    protected jakarta.resource.spi.ResourceAdapter ra = null;
-
-    private static Logger _logger;
-    static {
-        _logger = Logger.getAnonymousLogger();
-    }
-    private boolean debug = false;
-    /**
-     * Creates a Connection Factory instance. The <code>ConnectionManager</code> implementation
-     * of the resource adapter is used here.
-     *
-     * @return        Generic JDBC Connector implementation of <code>javax.sql.DataSource</code>
-     */
-    public Object createConnectionFactory() {
-        if(logWriter != null) {
-            logWriter.println("In createConnectionFactory()");
-        }
-        com.sun.jdbcra.spi.DataSource cf = new com.sun.jdbcra.spi.DataSource(
-            (jakarta.resource.spi.ManagedConnectionFactory)this, null);
-
-        return cf;
-    }
-
-    /**
-     * Creates a Connection Factory instance. The <code>ConnectionManager</code> implementation
-     * of the application server is used here.
-     *
-     * @param        cxManager        <code>ConnectionManager</code> passed by the application server
-     * @return        Generic JDBC Connector implementation of <code>javax.sql.DataSource</code>
-     */
-    public Object createConnectionFactory(jakarta.resource.spi.ConnectionManager cxManager) {
-        if(logWriter != null) {
-            logWriter.println("In createConnectionFactory(jakarta.resource.spi.ConnectionManager cxManager)");
-        }
-        com.sun.jdbcra.spi.DataSource cf = new com.sun.jdbcra.spi.DataSource(
-            (jakarta.resource.spi.ManagedConnectionFactory)this, cxManager);
-        return cf;
-    }
-
-    /**
-     * Creates a new physical connection to the underlying EIS resource
-     * manager.
-     *
-     * @param        subject        <code>Subject</code> instance passed by the application server
-     * @param        cxRequestInfo        <code>ConnectionRequestInfo</code> which may be created
-     *                                    as a result of the invocation <code>getConnection(user, password)</code>
-     *                                    on the <code>DataSource</code> object
-     * @return        <code>ManagedConnection</code> object created
-     * @throws        ResourceException        if there is an error in instantiating the
-     *                                         <code>DataSource</code> object used for the
-     *                                       creation of the <code>ManagedConnection</code> object
-     * @throws        SecurityException        if there ino <code>PasswordCredential</code> object
-     *                                         satisfying this request
-     * @throws        ResourceAllocationException        if there is an error in allocating the
-     *                                                physical connection
-     */
-    public abstract jakarta.resource.spi.ManagedConnection createManagedConnection(javax.security.auth.Subject subject,
-        ConnectionRequestInfo cxRequestInfo) throws ResourceException;
-
-    /**
-     * Check if this <code>ManagedConnectionFactory</code> is equal to
-     * another <code>ManagedConnectionFactory</code>.
-     *
-     * @param        other        <code>ManagedConnectionFactory</code> object for checking equality with
-     * @return        true        if the property sets of both the
-     *                        <code>ManagedConnectionFactory</code> objects are the same
-     *                false        otherwise
-     */
-    public abstract boolean equals(Object other);
-
-    /**
-     * Get the log writer for this <code>ManagedConnectionFactory</code> instance.
-     *
-     * @return        <code>PrintWriter</code> associated with this <code>ManagedConnectionFactory</code> instance
-     * @see        <code>setLogWriter</code>
-     */
-    public java.io.PrintWriter getLogWriter() {
-        return logWriter;
-    }
-
-    /**
-     * Get the <code>ResourceAdapter</code> for this <code>ManagedConnectionFactory</code> instance.
-     *
-     * @return        <code>ResourceAdapter</code> associated with this <code>ManagedConnectionFactory</code> instance
-     * @see        <code>setResourceAdapter</code>
-     */
-    public jakarta.resource.spi.ResourceAdapter getResourceAdapter() {
-        if(logWriter != null) {
-            logWriter.println("In getResourceAdapter");
-        }
-        return ra;
-    }
-
-    /**
-     * Returns the hash code for this <code>ManagedConnectionFactory</code>.
-     *
-     * @return        hash code for this <code>ManagedConnectionFactory</code>
-     */
-    public int hashCode(){
-        if(logWriter != null) {
-                logWriter.println("In hashCode");
-        }
-        return spec.hashCode();
-    }
-
-    /**
-     * Returns a matched <code>ManagedConnection</code> from the candidate
-     * set of <code>ManagedConnection</code> objects.
-     *
-     * @param        connectionSet        <code>Set</code> of  <code>ManagedConnection</code>
-     *                                objects passed by the application server
-     * @param        subject         passed by the application server
-     *                        for retrieving information required for matching
-     * @param        cxRequestInfo        <code>ConnectionRequestInfo</code> passed by the application server
-     *                                for retrieving information required for matching
-     * @return        <code>ManagedConnection</code> that is the best match satisfying this request
-     * @throws        ResourceException        if there is an error accessing the <code>Subject</code>
-     *                                        parameter or the <code>Set</code> of <code>ManagedConnection</code>
-     *                                        objects passed by the application server
-     */
-    public jakarta.resource.spi.ManagedConnection matchManagedConnections(java.util.Set connectionSet,
-        javax.security.auth.Subject subject, ConnectionRequestInfo cxRequestInfo) throws ResourceException {
-        if(logWriter != null) {
-            logWriter.println("In matchManagedConnections");
-        }
-
-        if(connectionSet == null) {
-            return null;
-        }
-
-        PasswordCredential pc = SecurityUtils.getPasswordCredential(this, subject, cxRequestInfo);
-
-        java.util.Iterator iter = connectionSet.iterator();
-        com.sun.jdbcra.spi.ManagedConnection mc = null;
-        while(iter.hasNext()) {
-            try {
-                mc = (com.sun.jdbcra.spi.ManagedConnection) iter.next();
-            } catch(java.util.NoSuchElementException nsee) {
-                _logger.log(Level.SEVERE, "jdbc.exc_iter");
-                throw new ResourceException(nsee.getMessage());
-            }
-            if(pc == null && this.equals(mc.getManagedConnectionFactory())) {
-                //GJCINT
-                try {
-                    isValid(mc);
-                    return mc;
-                } catch(ResourceException re) {
-                    _logger.log(Level.SEVERE, "jdbc.exc_re", re);
-                    mc.connectionErrorOccurred(re, null);
-                }
-            } else if(SecurityUtils.isPasswordCredentialEqual(pc, mc.getPasswordCredential()) == true) {
-                //GJCINT
-                try {
-                    isValid(mc);
-                    return mc;
-                } catch(ResourceException re) {
-                    _logger.log(Level.SEVERE, "jdbc.re");
-                    mc.connectionErrorOccurred(re, null);
-                }
-            }
-        }
-        return null;
-    }
-
-    //GJCINT
-    /**
-     * Checks if a <code>ManagedConnection</code> is to be validated or not
-     * and validates it or returns.
-     *
-     * @param        mc        <code>ManagedConnection</code> to be validated
-     * @throws        ResourceException        if the connection is not valid or
-     *                                          if validation method is not proper
-     */
-    void isValid(com.sun.jdbcra.spi.ManagedConnection mc) throws ResourceException {
-
-        if(mc.isTransactionInProgress()) {
-            return;
-        }
-
-        boolean connectionValidationRequired =
-            (new Boolean(spec.getDetail(DataSourceSpec.CONNECTIONVALIDATIONREQUIRED).toLowerCase())).booleanValue();
-        if( connectionValidationRequired == false || mc == null) {
-            return;
-        }
-
-
-        String validationMethod = spec.getDetail(DataSourceSpec.VALIDATIONMETHOD).toLowerCase();
-
-        mc.checkIfValid();
-        /**
-         * The above call checks if the actual physical connection
-         * is usable or not.
-         */
-        java.sql.Connection con = mc.getActualConnection();
-
-        if(validationMethod.equals("auto-commit") == true) {
-            isValidByAutoCommit(con);
-        } else if(validationMethod.equalsIgnoreCase("meta-data") == true) {
-            isValidByMetaData(con);
-        } else if(validationMethod.equalsIgnoreCase("table") == true) {
-            isValidByTableQuery(con, spec.getDetail(DataSourceSpec.VALIDATIONTABLENAME));
-        } else {
-            throw new ResourceException("The validation method is not proper");
-        }
-    }
-
-    /**
-     * Checks if a <code>java.sql.Connection</code> is valid or not
-     * by checking its auto commit property.
-     *
-     * @param        con        <code>java.sql.Connection</code> to be validated
-     * @throws        ResourceException        if the connection is not valid
-     */
-    protected void isValidByAutoCommit(java.sql.Connection con) throws ResourceException {
-        if(con == null) {
-            throw new ResourceException("The connection is not valid as "
-                + "the connection is null");
-        }
-
-        try {
-           // Notice that using something like
-           // dbCon.setAutoCommit(dbCon.getAutoCommit()) will cause problems with
-           // some drivers like sybase
-           // We do not validate connections that are already enlisted
-           //in a transaction
-           // We cycle autocommit to true and false to by-pass drivers that
-           // might cache the call to set autocomitt
-           // Also notice that some XA data sources will throw and exception if
-           // you try to call setAutoCommit, for them this method is not recommended
-
-           boolean ac = con.getAutoCommit();
-           if (ac) {
-                con.setAutoCommit(false);
-           } else {
-                con.rollback(); // prevents uncompleted transaction exceptions
-                con.setAutoCommit(true);
-           }
-
-           con.setAutoCommit(ac);
-
-        } catch(Exception sqle) {
-            _logger.log(Level.SEVERE, "jdbc.exc_autocommit");
-            throw new ResourceException(sqle.getMessage());
-        }
-    }
-
-    /**
-     * Checks if a <code>java.sql.Connection</code> is valid or not
-     * by checking its meta data.
-     *
-     * @param        con        <code>java.sql.Connection</code> to be validated
-     * @throws        ResourceException        if the connection is not valid
-     */
-    protected void isValidByMetaData(java.sql.Connection con) throws ResourceException {
-        if(con == null) {
-            throw new ResourceException("The connection is not valid as "
-                + "the connection is null");
-        }
-
-        try {
-            java.sql.DatabaseMetaData dmd = con.getMetaData();
-        } catch(Exception sqle) {
-            _logger.log(Level.SEVERE, "jdbc.exc_md");
-            throw new ResourceException("The connection is not valid as "
-                + "getting the meta data failed: " + sqle.getMessage());
-        }
-    }
-
-    /**
-     * Checks if a <code>java.sql.Connection</code> is valid or not
-     * by querying a table.
-     *
-     * @param        con        <code>java.sql.Connection</code> to be validated
-     * @param        tableName        table which should be queried
-     * @throws        ResourceException        if the connection is not valid
-     */
-    protected void isValidByTableQuery(java.sql.Connection con,
-        String tableName) throws ResourceException {
-        if(con == null) {
-            throw new ResourceException("The connection is not valid as "
-                + "the connection is null");
-        }
-
-        try {
-            java.sql.Statement stmt = con.createStatement();
-            java.sql.ResultSet rs = stmt.executeQuery("SELECT * FROM " + tableName);
-        } catch(Exception sqle) {
-            _logger.log(Level.SEVERE, "jdbc.exc_execute");
-            throw new ResourceException("The connection is not valid as "
-                + "querying the table " + tableName + " failed: " + sqle.getMessage());
-        }
-    }
-
-    /**
-     * Sets the isolation level specified in the <code>ConnectionRequestInfo</code>
-     * for the <code>ManagedConnection</code> passed.
-     *
-     * @param        mc        <code>ManagedConnection</code>
-     * @throws        ResourceException        if the isolation property is invalid
-     *                                        or if the isolation cannot be set over the connection
-     */
-    protected void setIsolation(com.sun.jdbcra.spi.ManagedConnection mc) throws ResourceException {
-
-            java.sql.Connection con = mc.getActualConnection();
-            if(con == null) {
-                return;
-            }
-
-            String tranIsolation = spec.getDetail(DataSourceSpec.TRANSACTIONISOLATION);
-            if(tranIsolation != null && tranIsolation.equals("") == false) {
-                int tranIsolationInt = getTransactionIsolationInt(tranIsolation);
-                try {
-                    con.setTransactionIsolation(tranIsolationInt);
-                } catch(java.sql.SQLException sqle) {
-                _logger.log(Level.SEVERE, "jdbc.exc_tx_level");
-                    throw new ResourceException("The transaction isolation could "
-                        + "not be set: " + sqle.getMessage());
-                }
-            }
-    }
-
-    /**
-     * Resets the isolation level for the <code>ManagedConnection</code> passed.
-     * If the transaction level is to be guaranteed to be the same as the one
-     * present when this <code>ManagedConnection</code> was created, as specified
-     * by the <code>ConnectionRequestInfo</code> passed, it sets the transaction
-     * isolation level from the <code>ConnectionRequestInfo</code> passed. Else,
-     * it sets it to the transaction isolation passed.
-     *
-     * @param        mc        <code>ManagedConnection</code>
-     * @param        tranIsol        int
-     * @throws        ResourceException        if the isolation property is invalid
-     *                                        or if the isolation cannot be set over the connection
-     */
-    void resetIsolation(com.sun.jdbcra.spi.ManagedConnection mc, int tranIsol) throws ResourceException {
-
-            java.sql.Connection con = mc.getActualConnection();
-            if(con == null) {
-                return;
-            }
-
-            String tranIsolation = spec.getDetail(DataSourceSpec.TRANSACTIONISOLATION);
-            if(tranIsolation != null && tranIsolation.equals("") == false) {
-                String guaranteeIsolationLevel = spec.getDetail(DataSourceSpec.GUARANTEEISOLATIONLEVEL);
-
-                if(guaranteeIsolationLevel != null && guaranteeIsolationLevel.equals("") == false) {
-                    boolean guarantee = (new Boolean(guaranteeIsolationLevel.toLowerCase())).booleanValue();
-
-                    if(guarantee) {
-                        int tranIsolationInt = getTransactionIsolationInt(tranIsolation);
-                        try {
-                            if(tranIsolationInt != con.getTransactionIsolation()) {
-                                con.setTransactionIsolation(tranIsolationInt);
-                            }
-                        } catch(java.sql.SQLException sqle) {
-                        _logger.log(Level.SEVERE, "jdbc.exc_tx_level");
-                            throw new ResourceException("The isolation level could not be set: "
-                                + sqle.getMessage());
-                        }
-                    } else {
-                        try {
-                            if(tranIsol != con.getTransactionIsolation()) {
-                                con.setTransactionIsolation(tranIsol);
-                            }
-                        } catch(java.sql.SQLException sqle) {
-                        _logger.log(Level.SEVERE, "jdbc.exc_tx_level");
-                            throw new ResourceException("The isolation level could not be set: "
-                                + sqle.getMessage());
-                        }
-                    }
-                }
-            }
-    }
-
-    /**
-     * Gets the integer equivalent of the string specifying
-     * the transaction isolation.
-     *
-     * @param        tranIsolation        string specifying the isolation level
-     * @return        tranIsolationInt        the <code>java.sql.Connection</code> constant
-     *                                        for the string specifying the isolation.
-     */
-    private int getTransactionIsolationInt(String tranIsolation) throws ResourceException {
-            if(tranIsolation.equalsIgnoreCase("read-uncommitted")) {
-                return java.sql.Connection.TRANSACTION_READ_UNCOMMITTED;
-            } else if(tranIsolation.equalsIgnoreCase("read-committed")) {
-                return java.sql.Connection.TRANSACTION_READ_COMMITTED;
-            } else if(tranIsolation.equalsIgnoreCase("repeatable-read")) {
-                return java.sql.Connection.TRANSACTION_REPEATABLE_READ;
-            } else if(tranIsolation.equalsIgnoreCase("serializable")) {
-                return java.sql.Connection.TRANSACTION_SERIALIZABLE;
-            } else {
-                throw new ResourceException("Invalid transaction isolation; the transaction "
-                    + "isolation level can be empty or any of the following: "
-                        + "read-uncommitted, read-committed, repeatable-read, serializable");
-            }
-    }
-
-    /**
-     * Set the log writer for this <code>ManagedConnectionFactory</code> instance.
-     *
-     * @param        out        <code>PrintWriter</code> passed by the application server
-     * @see        <code>getLogWriter</code>
-     */
-    public void setLogWriter(java.io.PrintWriter out) {
-        logWriter = out;
-    }
-
-    /**
-     * Set the associated <code>ResourceAdapter</code> JavaBean.
-     *
-     * @param        ra        <code>ResourceAdapter</code> associated with this
-     *                        <code>ManagedConnectionFactory</code> instance
-     * @see        <code>getResourceAdapter</code>
-     */
-    public void setResourceAdapter(jakarta.resource.spi.ResourceAdapter ra) {
-        this.ra = ra;
-    }
-
-    /**
-     * Sets the user name
-     *
-     * @param        user        <code>String</code>
-     */
-    public void setUser(String user) {
-        spec.setDetail(DataSourceSpec.USERNAME, user);
-    }
-
-    /**
-     * Gets the user name
-     *
-     * @return        user
-     */
-    public String getUser() {
-        return spec.getDetail(DataSourceSpec.USERNAME);
-    }
-
-    /**
-     * Sets the user name
-     *
-     * @param        user        <code>String</code>
-     */
-    public void setuser(String user) {
-        spec.setDetail(DataSourceSpec.USERNAME, user);
-    }
-
-    /**
-     * Gets the user name
-     *
-     * @return        user
-     */
-    public String getuser() {
-        return spec.getDetail(DataSourceSpec.USERNAME);
-    }
-
-    /**
-     * Sets the password
-     *
-     * @param        passwd        <code>String</code>
-     */
-    public void setPassword(String passwd) {
-        spec.setDetail(DataSourceSpec.PASSWORD, passwd);
-    }
-
-    /**
-     * Gets the password
-     *
-     * @return        passwd
-     */
-    public String getPassword() {
-        return spec.getDetail(DataSourceSpec.PASSWORD);
-    }
-
-    /**
-     * Sets the password
-     *
-     * @param        passwd        <code>String</code>
-     */
-    public void setpassword(String passwd) {
-        spec.setDetail(DataSourceSpec.PASSWORD, passwd);
-    }
-
-    /**
-     * Gets the password
-     *
-     * @return        passwd
-     */
-    public String getpassword() {
-        return spec.getDetail(DataSourceSpec.PASSWORD);
-    }
-
-    /**
-     * Sets the class name of the data source
-     *
-     * @param        className        <code>String</code>
-     */
-    public void setClassName(String className) {
-        spec.setDetail(DataSourceSpec.CLASSNAME, className);
-    }
-
-    /**
-     * Gets the class name of the data source
-     *
-     * @return        className
-     */
-    public String getClassName() {
-        return spec.getDetail(DataSourceSpec.CLASSNAME);
-    }
-
-    /**
-     * Sets the class name of the data source
-     *
-     * @param        className        <code>String</code>
-     */
-    public void setclassName(String className) {
-        spec.setDetail(DataSourceSpec.CLASSNAME, className);
-    }
-
-    /**
-     * Gets the class name of the data source
-     *
-     * @return        className
-     */
-    public String getclassName() {
-        return spec.getDetail(DataSourceSpec.CLASSNAME);
-    }
-
-    /**
-     * Sets if connection validation is required or not
-     *
-     * @param        conVldReq        <code>String</code>
-     */
-    public void setConnectionValidationRequired(String conVldReq) {
-        spec.setDetail(DataSourceSpec.CONNECTIONVALIDATIONREQUIRED, conVldReq);
-    }
-
-    /**
-     * Returns if connection validation is required or not
-     *
-     * @return        connection validation requirement
-     */
-    public String getConnectionValidationRequired() {
-        return spec.getDetail(DataSourceSpec.CONNECTIONVALIDATIONREQUIRED);
-    }
-
-    /**
-     * Sets if connection validation is required or not
-     *
-     * @param        conVldReq        <code>String</code>
-     */
-    public void setconnectionValidationRequired(String conVldReq) {
-        spec.setDetail(DataSourceSpec.CONNECTIONVALIDATIONREQUIRED, conVldReq);
-    }
-
-    /**
-     * Returns if connection validation is required or not
-     *
-     * @return        connection validation requirement
-     */
-    public String getconnectionValidationRequired() {
-        return spec.getDetail(DataSourceSpec.CONNECTIONVALIDATIONREQUIRED);
-    }
-
-    /**
-     * Sets the validation method required
-     *
-     * @param        validationMethod        <code>String</code>
-     */
-    public void setValidationMethod(String validationMethod) {
-            spec.setDetail(DataSourceSpec.VALIDATIONMETHOD, validationMethod);
-    }
-
-    /**
-     * Returns the connection validation method type
-     *
-     * @return        validation method
-     */
-    public String getValidationMethod() {
-        return spec.getDetail(DataSourceSpec.VALIDATIONMETHOD);
-    }
-
-    /**
-     * Sets the validation method required
-     *
-     * @param        validationMethod        <code>String</code>
-     */
-    public void setvalidationMethod(String validationMethod) {
-            spec.setDetail(DataSourceSpec.VALIDATIONMETHOD, validationMethod);
-    }
-
-    /**
-     * Returns the connection validation method type
-     *
-     * @return        validation method
-     */
-    public String getvalidationMethod() {
-        return spec.getDetail(DataSourceSpec.VALIDATIONMETHOD);
-    }
-
-    /**
-     * Sets the table checked for during validation
-     *
-     * @param        table        <code>String</code>
-     */
-    public void setValidationTableName(String table) {
-        spec.setDetail(DataSourceSpec.VALIDATIONTABLENAME, table);
-    }
-
-    /**
-     * Returns the table checked for during validation
-     *
-     * @return        table
-     */
-    public String getValidationTableName() {
-        return spec.getDetail(DataSourceSpec.VALIDATIONTABLENAME);
-    }
-
-    /**
-     * Sets the table checked for during validation
-     *
-     * @param        table        <code>String</code>
-     */
-    public void setvalidationTableName(String table) {
-        spec.setDetail(DataSourceSpec.VALIDATIONTABLENAME, table);
-    }
-
-    /**
-     * Returns the table checked for during validation
-     *
-     * @return        table
-     */
-    public String getvalidationTableName() {
-        return spec.getDetail(DataSourceSpec.VALIDATIONTABLENAME);
-    }
-
-    /**
-     * Sets the transaction isolation level
-     *
-     * @param        trnIsolation        <code>String</code>
-     */
-    public void setTransactionIsolation(String trnIsolation) {
-        spec.setDetail(DataSourceSpec.TRANSACTIONISOLATION, trnIsolation);
-    }
-
-    /**
-     * Returns the transaction isolation level
-     *
-     * @return        transaction isolation level
-     */
-    public String getTransactionIsolation() {
-        return spec.getDetail(DataSourceSpec.TRANSACTIONISOLATION);
-    }
-
-    /**
-     * Sets the transaction isolation level
-     *
-     * @param        trnIsolation        <code>String</code>
-     */
-    public void settransactionIsolation(String trnIsolation) {
-        spec.setDetail(DataSourceSpec.TRANSACTIONISOLATION, trnIsolation);
-    }
-
-    /**
-     * Returns the transaction isolation level
-     *
-     * @return        transaction isolation level
-     */
-    public String gettransactionIsolation() {
-        return spec.getDetail(DataSourceSpec.TRANSACTIONISOLATION);
-    }
-
-    /**
-     * Sets if the transaction isolation level is to be guaranteed
-     *
-     * @param        guaranteeIsolation        <code>String</code>
-     */
-    public void setGuaranteeIsolationLevel(String guaranteeIsolation) {
-        spec.setDetail(DataSourceSpec.GUARANTEEISOLATIONLEVEL, guaranteeIsolation);
-    }
-
-    /**
-     * Returns the transaction isolation level
-     *
-     * @return        isolation level guarantee
-     */
-    public String getGuaranteeIsolationLevel() {
-        return spec.getDetail(DataSourceSpec.GUARANTEEISOLATIONLEVEL);
-    }
-
-    /**
-     * Sets if the transaction isolation level is to be guaranteed
-     *
-     * @param        guaranteeIsolation        <code>String</code>
-     */
-    public void setguaranteeIsolationLevel(String guaranteeIsolation) {
-        spec.setDetail(DataSourceSpec.GUARANTEEISOLATIONLEVEL, guaranteeIsolation);
-    }
-
-    /**
-     * Returns the transaction isolation level
-     *
-     * @return        isolation level guarantee
-     */
-    public String getguaranteeIsolationLevel() {
-        return spec.getDetail(DataSourceSpec.GUARANTEEISOLATIONLEVEL);
-    }
-
-}
diff --git a/appserver/tests/appserv-tests/devtests/connector/v3/force-deploy-rar/ra/src/com/sun/jdbcra/spi/1.4/ResourceAdapter.java b/appserver/tests/appserv-tests/devtests/connector/v3/force-deploy-rar/ra/src/com/sun/jdbcra/spi/1.4/ResourceAdapter.java
deleted file mode 100755
index 50c6e41..0000000
--- a/appserver/tests/appserv-tests/devtests/connector/v3/force-deploy-rar/ra/src/com/sun/jdbcra/spi/1.4/ResourceAdapter.java
+++ /dev/null
@@ -1,100 +0,0 @@
-/*
- * Copyright (c) 2003, 2018 Oracle and/or its affiliates. All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v. 2.0, which is available at
- * http://www.eclipse.org/legal/epl-2.0.
- *
- * This Source Code may also be made available under the following Secondary
- * Licenses when the conditions for such availability set forth in the
- * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
- * version 2 with the GNU Classpath Exception, which is available at
- * https://www.gnu.org/software/classpath/license.html.
- *
- * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
- */
-
-package com.sun.jdbcra.spi;
-
-import jakarta.resource.spi.endpoint.MessageEndpointFactory;
-import jakarta.resource.spi.ActivationSpec;
-import jakarta.resource.NotSupportedException;
-import javax.transaction.xa.XAResource;
-import jakarta.resource.spi.BootstrapContext;
-import jakarta.resource.spi.ResourceAdapterInternalException;
-
-/**
- * <code>ResourceAdapter</code> implementation for Generic JDBC Connector.
- *
- * @version        1.0, 02/08/05
- * @author        Evani Sai Surya Kiran
- */
-public class ResourceAdapter implements jakarta.resource.spi.ResourceAdapter {
-public static final int VERSION = 2;
-    public String raProp = null;
-
-    /**
-     * Empty method implementation for endpointActivation
-     * which just throws <code>NotSupportedException</code>
-     *
-     * @param        mef        <code>MessageEndpointFactory</code>
-     * @param        as        <code>ActivationSpec</code>
-     * @throws        <code>NotSupportedException</code>
-     */
-    public void endpointActivation(MessageEndpointFactory mef, ActivationSpec as) throws NotSupportedException {
-        throw new NotSupportedException("This method is not supported for this JDBC connector");
-    }
-
-    /**
-     * Empty method implementation for endpointDeactivation
-     *
-     * @param        mef        <code>MessageEndpointFactory</code>
-     * @param        as        <code>ActivationSpec</code>
-     */
-    public void endpointDeactivation(MessageEndpointFactory mef, ActivationSpec as) {
-
-    }
-
-    /**
-     * Empty method implementation for getXAResources
-     * which just throws <code>NotSupportedException</code>
-     *
-     * @param        specs        <code>ActivationSpec</code> array
-     * @throws        <code>NotSupportedException</code>
-     */
-    public XAResource[] getXAResources(ActivationSpec[] specs) throws NotSupportedException {
-        throw new NotSupportedException("This method is not supported for this JDBC connector");
-    }
-
-    /**
-     * Empty implementation of start method
-     *
-     * @param        ctx        <code>BootstrapContext</code>
-     */
-    public void start(BootstrapContext ctx) throws ResourceAdapterInternalException {
-/*
-NO NEED TO CHECK THIS AS THE TEST's PURPOSE IS TO CHECK THE VERSION ALONE
-
-        System.out.println("Resource Adapter is starting with configuration :" + raProp);
-        if (raProp == null || !raProp.equals("VALID")) {
-            throw new ResourceAdapterInternalException("Resource adapter cannot start. It is configured as : " + raProp);
-        }
-*/
-    }
-
-    /**
-     * Empty implementation of stop method
-     */
-    public void stop() {
-
-    }
-
-    public void setRAProperty(String s) {
-        raProp = s;
-    }
-
-    public String getRAProperty() {
-        return raProp;
-    }
-
-}
diff --git a/appserver/tests/appserv-tests/devtests/connector/v3/force-deploy-rar/ra/src/com/sun/jdbcra/spi/1.4/build.xml b/appserver/tests/appserv-tests/devtests/connector/v3/force-deploy-rar/ra/src/com/sun/jdbcra/spi/1.4/build.xml
deleted file mode 100755
index e006b1d..0000000
--- a/appserver/tests/appserv-tests/devtests/connector/v3/force-deploy-rar/ra/src/com/sun/jdbcra/spi/1.4/build.xml
+++ /dev/null
@@ -1,83 +0,0 @@
-<?xml version="1.0"?>
-<!--
-
-    Copyright (c) 2017, 2018 Oracle and/or its affiliates. All rights reserved.
-
-    This program and the accompanying materials are made available under the
-    terms of the Eclipse Public License v. 2.0, which is available at
-    http://www.eclipse.org/legal/epl-2.0.
-
-    This Source Code may also be made available under the following Secondary
-    Licenses when the conditions for such availability set forth in the
-    Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
-    version 2 with the GNU Classpath Exception, which is available 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 name="jdbc_connector" basedir="${gjc.home}" default="build">
-  <property name="pkg.dir" value="com/sun/gjc/spi"/>
-
-  <target name="clean">
-    <ant antfile="build.xml" dir="${gjc.home}/bin" target="clean"/>
-  </target>
-
-  <target name="compile14">
-    <ant antfile="build.xml" dir="${gjc.home}/bin" target="compile14"/>
-  </target>
-
-  <target name="package14">
-
-            <mkdir dir="${gjc.home}/dist/spi/1.5"/>
-
-        <jar jarfile="${gjc.home}/dist/spi/1.5/jdbc.jar" basedir="${class.dir}"
-        includes="${pkg.dir}/**/*, com/sun/gjc/util/**/*, com/sun/gjc/common/**/*" excludes="com/sun/gjc/cci/**/*,com/sun/gjc/spi/1.4/**/*"/>
-
-        <jar jarfile="${gjc.home}/dist/spi/1.5/__cp.rar" basedir="${gjc.home}/dist/spi/1.5" includes="jdbc.jar"/>
-        <copy file="${gjc.home}/src/com/sun/gjc/spi/1.4/ra-cp.xml" tofile="${gjc.home}/dist/spi/1.5/ra.xml" overwrite="yes">
-        </copy>
-           <jar jarfile="${gjc.home}/dist/spi/1.5/__cp.rar" update="yes">
-                   <metainf dir="${gjc.home}/dist/spi/1.5">
-                           <include name="ra.xml"/>
-                   </metainf>
-           </jar>
-
-           <jar jarfile="${gjc.home}/dist/spi/1.5/__xa.rar" basedir="${gjc.home}/dist/spi/1.5" includes="jdbc.jar"/>
-        <copy file="${gjc.home}/src/com/sun/gjc/spi/1.4/ra-xa.xml" tofile="${gjc.home}/dist/spi/1.5/ra.xml" overwrite="yes">
-        </copy>
-           <jar jarfile="${gjc.home}/dist/spi/1.5/__xa.rar" update="yes">
-                   <metainf dir="${gjc.home}/dist/spi/1.5">
-                           <include name="ra.xml"/>
-                   </metainf>
-           </jar>
-
-           <jar jarfile="${gjc.home}/dist/spi/1.5/__dm.rar" basedir="${gjc.home}/dist/spi/1.5" includes="jdbc.jar"/>
-        <copy file="${gjc.home}/src/com/sun/gjc/spi/1.4/ra-dm.xml" tofile="${gjc.home}/dist/spi/1.5/ra.xml" overwrite="yes">
-        </copy>
-           <jar jarfile="${gjc.home}/dist/spi/1.5/__dm.rar" update="yes">
-                   <metainf dir="${gjc.home}/dist/spi/1.5">
-                           <include name="ra.xml"/>
-                   </metainf>
-           </jar>
-
-           <jar jarfile="${gjc.home}/dist/spi/1.5/__ds.rar" basedir="${gjc.home}/dist/spi/1.5" includes="jdbc.jar"/>
-        <copy file="${gjc.home}/src/com/sun/gjc/spi/1.4/ra-ds.xml" tofile="${gjc.home}/dist/spi/1.5/ra.xml" overwrite="yes">
-        </copy>
-           <jar jarfile="${gjc.home}/dist/spi/1.5/__ds.rar" update="yes">
-                   <metainf dir="${gjc.home}/dist/spi/1.5">
-                           <include name="ra.xml"/>
-                   </metainf>
-           </jar>
-
-           <delete dir="${gjc.home}/dist/com"/>
-           <delete file="${gjc.home}/dist/spi/1.5/jdbc.jar"/>
-           <delete file="${gjc.home}/dist/spi/1.5/ra.xml"/>
-
-  </target>
-
-  <target name="build14" depends="compile14, package14"/>
-    <target name="build13"/>
-        <target name="build" depends="build14, build13"/>
-</project>
diff --git a/appserver/tests/appserv-tests/devtests/connector/v3/force-deploy-rar/ra/src/com/sun/jdbcra/spi/1.4/ra-ds.xml b/appserver/tests/appserv-tests/devtests/connector/v3/force-deploy-rar/ra/src/com/sun/jdbcra/spi/1.4/ra-ds.xml
deleted file mode 100755
index 65338d1..0000000
--- a/appserver/tests/appserv-tests/devtests/connector/v3/force-deploy-rar/ra/src/com/sun/jdbcra/spi/1.4/ra-ds.xml
+++ /dev/null
@@ -1,257 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
-
-    Copyright (c) 2017, 2018 Oracle and/or its affiliates. All rights reserved.
-
-    This program and the accompanying materials are made available under the
-    terms of the Eclipse Public License v. 2.0, which is available at
-    http://www.eclipse.org/legal/epl-2.0.
-
-    This Source Code may also be made available under the following Secondary
-    Licenses when the conditions for such availability set forth in the
-    Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
-    version 2 with the GNU Classpath Exception, which is available at
-    https://www.gnu.org/software/classpath/license.html.
-
-    SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
-
--->
-
-<connector xmlns="http://java.sun.com/xml/ns/j2ee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-           xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/connector_1_5.xsd"
-           version="1.5">
-
-    <!-- There can be any number of "description" elements including 0 -->
-    <!-- This field can be optionally used by the driver vendor to provide a
-         description for the resource adapter.
-    -->
-    <description>Resource adapter wrapping Datasource implementation of driver</description>
-
-    <!-- There can be any number of "display-name" elements including 0 -->
-    <!-- The field can be optionally used by the driver vendor to provide a name that
-         is intended to be displayed by tools.
-    -->
-    <display-name>DataSource Resource Adapter</display-name>
-
-    <!-- There can be any number of "icon" elements including 0 -->
-    <!-- The following is an example.
-        <icon>
-            This "small-icon" element can occur atmost once. This should specify the
-            absolute or the relative path name of a file containing a small (16 x 16)
-            icon - JPEG or GIF image. The following is an example.
-            <small-icon>smallicon.jpg</small-icon>
-
-            This "large-icon" element can occur atmost once. This should specify the
-            absolute or the relative path name of a file containing a small (32 x 32)
-            icon - JPEG or GIF image. The following is an example.
-            <large-icon>largeicon.jpg</large-icon>
-        </icon>
-    -->
-    <icon>
-        <small-icon></small-icon>
-        <large-icon></large-icon>
-    </icon>
-
-    <!-- The "vendor-name" element should occur exactly once. -->
-    <!-- This should specify the name of the driver vendor. The following is an example.
-        <vendor-name>XYZ INC.</vendor-name>
-    -->
-    <vendor-name>Sun Microsystems</vendor-name>
-
-    <!-- The "eis-type" element should occur exactly once. -->
-    <!-- This should specify the database, for example the product name of
-         the database independent of any version information. The following
-         is an example.
-        <eis-type>XYZ</eis-type>
-    -->
-    <eis-type>Database</eis-type>
-
-    <!-- The "resourceadapter-version" element should occur exactly once. -->
-    <!-- This specifies a string based version of the resource adapter from
-         the driver vendor. The default is being set as 1.0. The driver
-         vendor can change it as required.
-    -->
-    <resourceadapter-version>1.0</resourceadapter-version>
-
-    <!-- This "license" element can occur atmost once -->
-    <!-- This specifies licensing requirements for the resource adapter module.
-         The following is an example.
-        <license>
-            There can be any number of "description" elements including 0.
-            <description>
-                This field can be optionally used by the driver vendor to
-                provide a description for the licensing requirements of the
-                resource adapter like duration of license, numberof connection
-                restrictions.
-            </description>
-
-            This specifies whether a license is required to deploy and use the resource adapter.
-            Default is false.
-            <license-required>false</license-required>
-        </license>
-    -->
-    <license>
-        <license-required>false</license-required>
-    </license>
-
-    <resourceadapter>
-
-        <!--
-            The "config-property" elements can have zero or more "description"
-            elements. The "description" elements are not being included
-            in the "config-property" elements below. The driver vendor can
-            add them as required.
-        -->
-
-        <resourceadapter-class>com.sun.jdbcra.spi.ResourceAdapter</resourceadapter-class>
-
-        <outbound-resourceadapter>
-
-            <connection-definition>
-
-                <managedconnectionfactory-class>com.sun.jdbcra.spi.DSManagedConnectionFactory</managedconnectionfactory-class>
-
-                <!-- There can be any number of these elements including 0 -->
-                <config-property>
-                    <config-property-name>ServerName</config-property-name>
-                    <config-property-type>java.lang.String</config-property-type>
-                    <config-property-value>localhost</config-property-value>
-                </config-property>
-                <config-property>
-                    <config-property-name>PortNumber</config-property-name>
-                    <config-property-type>java.lang.String</config-property-type>
-                    <config-property-value>9092</config-property-value>
-                </config-property>
-                <config-property>
-                    <config-property-name>User</config-property-name>
-                    <config-property-type>java.lang.String</config-property-type>
-                    <config-property-value>DBUSER</config-property-value>
-                </config-property>
-                <config-property>
-                    <config-property-name>Password</config-property-name>
-                    <config-property-type>java.lang.String</config-property-type>
-                    <config-property-value>DBPASSWORD</config-property-value>
-                </config-property>
-                <config-property>
-                    <config-property-name>DatabaseName</config-property-name>
-                    <config-property-type>java.lang.String</config-property-type>
-                    <config-property-value>jdbc:pointbase:server://localhost:9092/sqe-samples,new</config-property-value>
-                </config-property>
-                <config-property>
-                    <config-property-name>DataSourceName</config-property-name>
-                    <config-property-type>java.lang.String</config-property-type>
-                    <config-property-value></config-property-value>
-                </config-property>
-                <config-property>
-                    <config-property-name>Description</config-property-name>
-                    <config-property-type>java.lang.String</config-property-type>
-                    <config-property-value>Oracle thin driver Datasource</config-property-value>
-                 </config-property>
-                <config-property>
-                    <config-property-name>NetworkProtocol</config-property-name>
-                    <config-property-type>java.lang.String</config-property-type>
-                    <config-property-value></config-property-value>
-                </config-property>
-                <config-property>
-                    <config-property-name>RoleName</config-property-name>
-                    <config-property-type>java.lang.String</config-property-type>
-                    <config-property-value></config-property-value>
-                </config-property>
-                <config-property>
-                    <config-property-name>LoginTimeOut</config-property-name>
-                    <config-property-type>java.lang.String</config-property-type>
-                    <config-property-value>0</config-property-value>
-                </config-property>
-                <config-property>
-                    <config-property-name>DriverProperties</config-property-name>
-                    <config-property-type>java.lang.String</config-property-type>
-                    <config-property-value></config-property-value>
-                </config-property>
-                <config-property>
-                    <config-property-name>Delimiter</config-property-name>
-                    <config-property-type>java.lang.String</config-property-type>
-                    <config-property-value>#</config-property-value>
-                </config-property>
-                <config-property>
-                    <config-property-name>ClassName</config-property-name>
-                    <config-property-type>java.lang.String</config-property-type>
-                    <config-property-value>com.pointbase.jdbc.jdbcDataSource</config-property-value>
-                </config-property>
-                      <config-property>
-                        <config-property-name>ConnectionValidationRequired</config-property-name>
-                        <config-property-type>java.lang.String</config-property-type>
-                        <config-property-value>false</config-property-value>
-                </config-property>
-                <config-property>
-                        <config-property-name>ValidationMethod</config-property-name>
-                        <config-property-type>java.lang.String</config-property-type>
-                        <config-property-value></config-property-value>
-                </config-property>
-                <config-property>
-                        <config-property-name>ValidationTableName</config-property-name>
-                        <config-property-type>java.lang.String</config-property-type>
-                        <config-property-value></config-property-value>
-                </config-property>
-                <config-property>
-                        <config-property-name>TransactionIsolation</config-property-name>
-                        <config-property-type>java.lang.String</config-property-type>
-                        <config-property-value></config-property-value>
-                </config-property>
-                <config-property>
-                        <config-property-name>GuaranteeIsolationLevel</config-property-name>
-                        <config-property-type>java.lang.String</config-property-type>
-                        <config-property-value></config-property-value>
-                </config-property>
-
-                <connectionfactory-interface>javax.sql.DataSource</connectionfactory-interface>
-
-                <connectionfactory-impl-class>com.sun.jdbcra.spi.DataSource</connectionfactory-impl-class>
-
-                <connection-interface>java.sql.Connection</connection-interface>
-
-                <connection-impl-class>com.sun.jdbcra.spi.ConnectionHolder</connection-impl-class>
-
-            </connection-definition>
-
-            <transaction-support>LocalTransaction</transaction-support>
-
-            <authentication-mechanism>
-                <!-- There can be any number of "description" elements including 0 -->
-                <!-- Not including the "description" element -->
-
-                <authentication-mechanism-type>BasicPassword</authentication-mechanism-type>
-
-                <credential-interface>javax.resource.spi.security.PasswordCredential</credential-interface>
-            </authentication-mechanism>
-
-            <reauthentication-support>false</reauthentication-support>
-
-        </outbound-resourceadapter>
-        <adminobject>
-               <adminobject-interface>com.sun.jdbcra.spi.JdbcSetupAdmin</adminobject-interface>
-               <adminobject-class>com.sun.jdbcra.spi.JdbcSetupAdminImpl</adminobject-class>
-               <config-property>
-                   <config-property-name>TableName</config-property-name>
-                   <config-property-type>java.lang.String</config-property-type>
-                   <config-property-value></config-property-value>
-               </config-property>
-               <config-property>
-                   <config-property-name>SchemaName</config-property-name>
-                   <config-property-type>java.lang.String</config-property-type>
-                   <config-property-value></config-property-value>
-               </config-property>
-               <config-property>
-                   <config-property-name>JndiName</config-property-name>
-                   <config-property-type>java.lang.String</config-property-type>
-                   <config-property-value></config-property-value>
-               </config-property>
-               <config-property>
-                   <config-property-name>NoOfRows</config-property-name>
-                   <config-property-type>java.lang.Integer</config-property-type>
-                   <config-property-value>0</config-property-value>
-               </config-property>
-        </adminobject>
-
-    </resourceadapter>
-
-</connector>
diff --git a/appserver/tests/appserv-tests/devtests/connector/v3/force-deploy-rar/ra/src/com/sun/jdbcra/spi/ConnectionManager.java b/appserver/tests/appserv-tests/devtests/connector/v3/force-deploy-rar/ra/src/com/sun/jdbcra/spi/ConnectionManager.java
deleted file mode 100755
index 2ee36c5..0000000
--- a/appserver/tests/appserv-tests/devtests/connector/v3/force-deploy-rar/ra/src/com/sun/jdbcra/spi/ConnectionManager.java
+++ /dev/null
@@ -1,51 +0,0 @@
-/*
- * Copyright (c) 2003, 2018 Oracle and/or its affiliates. All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v. 2.0, which is available at
- * http://www.eclipse.org/legal/epl-2.0.
- *
- * This Source Code may also be made available under the following Secondary
- * Licenses when the conditions for such availability set forth in the
- * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
- * version 2 with the GNU Classpath Exception, which is available at
- * https://www.gnu.org/software/classpath/license.html.
- *
- * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
- */
-
-package com.sun.jdbcra.spi;
-
-import jakarta.resource.spi.ManagedConnectionFactory;
-import jakarta.resource.spi.ManagedConnection;
-import jakarta.resource.ResourceException;
-import jakarta.resource.spi.ConnectionRequestInfo;
-
-/**
- * ConnectionManager implementation for Generic JDBC Connector.
- *
- * @version        1.0, 02/07/31
- * @author        Binod P.G
- */
-public class ConnectionManager implements jakarta.resource.spi.ConnectionManager{
-
-    /**
-     * Returns a <code>Connection </code> object to the <code>ConnectionFactory</code>
-     *
-     * @param        mcf        <code>ManagedConnectionFactory</code> object.
-     * @param        info        <code>ConnectionRequestInfo</code> object.
-     * @return        A <code>Connection</code> Object.
-     * @throws        ResourceException In case of an error in getting the <code>Connection</code>.
-     */
-    public Object allocateConnection(ManagedConnectionFactory mcf,
-                                         ConnectionRequestInfo info)
-                                         throws ResourceException {
-        ManagedConnection mc = mcf.createManagedConnection(null, info);
-        return mc.getConnection(null, info);
-    }
-
-    /*
-     * This class could effectively implement Connection pooling also.
-     * Could be done for FCS.
-     */
-}
diff --git a/appserver/tests/appserv-tests/devtests/connector/v3/force-deploy-rar/ra/src/com/sun/jdbcra/spi/ConnectionRequestInfo.java b/appserver/tests/appserv-tests/devtests/connector/v3/force-deploy-rar/ra/src/com/sun/jdbcra/spi/ConnectionRequestInfo.java
deleted file mode 100755
index ddd0a28..0000000
--- a/appserver/tests/appserv-tests/devtests/connector/v3/force-deploy-rar/ra/src/com/sun/jdbcra/spi/ConnectionRequestInfo.java
+++ /dev/null
@@ -1,99 +0,0 @@
-/*
- * Copyright (c) 2003, 2018 Oracle and/or its affiliates. All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v. 2.0, which is available at
- * http://www.eclipse.org/legal/epl-2.0.
- *
- * This Source Code may also be made available under the following Secondary
- * Licenses when the conditions for such availability set forth in the
- * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
- * version 2 with the GNU Classpath Exception, which is available at
- * https://www.gnu.org/software/classpath/license.html.
- *
- * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
- */
-
-package com.sun.jdbcra.spi;
-
-/**
- * ConnectionRequestInfo implementation for Generic JDBC Connector.
- *
- * @version        1.0, 02/07/31
- * @author        Binod P.G
- */
-public class ConnectionRequestInfo implements jakarta.resource.spi.ConnectionRequestInfo{
-
-    private String user;
-    private String password;
-
-    /**
-     * Constructs a new <code>ConnectionRequestInfo</code> object
-     *
-     * @param        user        User Name.
-     * @param        password        Password
-     */
-    public ConnectionRequestInfo(String user, String password) {
-        this.user = user;
-        this.password = password;
-    }
-
-    /**
-     * Retrieves the user name of the ConnectionRequestInfo.
-     *
-     * @return        User name of ConnectionRequestInfo.
-     */
-    public String getUser() {
-        return user;
-    }
-
-    /**
-     * Retrieves the password of the ConnectionRequestInfo.
-     *
-     * @return        Password of ConnectionRequestInfo.
-     */
-    public String getPassword() {
-        return password;
-    }
-
-    /**
-     * Verify whether two ConnectionRequestInfos are equal.
-     *
-     * @return        True, if they are equal and false otherwise.
-     */
-    public boolean equals(Object obj) {
-        if (obj == null) return false;
-        if (obj instanceof ConnectionRequestInfo) {
-            ConnectionRequestInfo other = (ConnectionRequestInfo) obj;
-            return (isEqual(this.user, other.user) &&
-                    isEqual(this.password, other.password));
-        } else {
-            return false;
-        }
-    }
-
-    /**
-     * Retrieves the hashcode of the object.
-     *
-     * @return        hashCode.
-     */
-    public int hashCode() {
-        String result = "" + user + password;
-        return result.hashCode();
-    }
-
-    /**
-     * Compares two objects.
-     *
-     * @param        o1        First object.
-     * @param        o2        Second object.
-     */
-    private boolean isEqual(Object o1, Object o2) {
-        if (o1 == null) {
-            return (o2 == null);
-        } else {
-            return o1.equals(o2);
-        }
-    }
-
-}
diff --git a/appserver/tests/appserv-tests/devtests/connector/v3/force-deploy-rar/ra/src/com/sun/jdbcra/spi/DSManagedConnectionFactory.java b/appserver/tests/appserv-tests/devtests/connector/v3/force-deploy-rar/ra/src/com/sun/jdbcra/spi/DSManagedConnectionFactory.java
deleted file mode 100755
index 614ffa9..0000000
--- a/appserver/tests/appserv-tests/devtests/connector/v3/force-deploy-rar/ra/src/com/sun/jdbcra/spi/DSManagedConnectionFactory.java
+++ /dev/null
@@ -1,573 +0,0 @@
-/*
- * Copyright (c) 2003, 2018 Oracle and/or its affiliates. All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v. 2.0, which is available at
- * http://www.eclipse.org/legal/epl-2.0.
- *
- * This Source Code may also be made available under the following Secondary
- * Licenses when the conditions for such availability set forth in the
- * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
- * version 2 with the GNU Classpath Exception, which is available at
- * https://www.gnu.org/software/classpath/license.html.
- *
- * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
- */
-
-package com.sun.jdbcra.spi;
-
-import jakarta.resource.ResourceException;
-import jakarta.resource.spi.ConnectionRequestInfo;
-import com.sun.jdbcra.spi.ConnectionManager;
-import com.sun.jdbcra.common.DataSourceSpec;
-import com.sun.jdbcra.common.DataSourceObjectBuilder;
-import com.sun.jdbcra.util.SecurityUtils;
-import jakarta.resource.spi.security.PasswordCredential;
-import com.sun.jdbcra.spi.ManagedConnectionFactory;
-import com.sun.jdbcra.common.DataSourceSpec;
-import java.util.logging.Logger;
-import java.util.logging.Level;
-
-/**
- * Data Source <code>ManagedConnectionFactory</code> implementation for Generic JDBC Connector.
- *
- * @version        1.0, 02/07/30
- * @author        Evani Sai Surya Kiran
- */
-
-public class DSManagedConnectionFactory extends ManagedConnectionFactory {
-
-    private transient javax.sql.DataSource dataSourceObj;
-
-    private static Logger _logger;
-    static {
-        _logger = Logger.getAnonymousLogger();
-    }
-    private boolean debug = false;
-
-    /**
-     * Creates a new physical connection to the underlying EIS resource
-     * manager.
-     *
-     * @param        subject        <code>Subject</code> instance passed by the application server
-     * @param        cxRequestInfo        <code>ConnectionRequestInfo</code> which may be created
-     *                                    as a result of the invocation <code>getConnection(user, password)</code>
-     *                                    on the <code>DataSource</code> object
-     * @return        <code>ManagedConnection</code> object created
-     * @throws        ResourceException        if there is an error in instantiating the
-     *                                         <code>DataSource</code> object used for the
-     *                                       creation of the <code>ManagedConnection</code> object
-     * @throws        SecurityException        if there ino <code>PasswordCredential</code> object
-     *                                         satisfying this request
-     * @throws        ResourceAllocationException        if there is an error in allocating the
-     *                                                physical connection
-     */
-    public jakarta.resource.spi.ManagedConnection createManagedConnection(javax.security.auth.Subject subject,
-        ConnectionRequestInfo cxRequestInfo) throws ResourceException {
-        if(logWriter != null) {
-                logWriter.println("In createManagedConnection");
-        }
-        PasswordCredential pc = SecurityUtils.getPasswordCredential(this, subject, cxRequestInfo);
-
-        if(dataSourceObj == null) {
-            if(dsObjBuilder == null) {
-                dsObjBuilder = new DataSourceObjectBuilder(spec);
-            }
-
-            try {
-                dataSourceObj = (javax.sql.DataSource) dsObjBuilder.constructDataSourceObject();
-            } catch(ClassCastException cce) {
-                _logger.log(Level.SEVERE, "jdbc.exc_cce", cce);
-                throw new jakarta.resource.ResourceException(cce.getMessage());
-            }
-        }
-
-        java.sql.Connection dsConn = null;
-
-        try {
-            /* For the case where the user/passwd of the connection pool is
-             * equal to the PasswordCredential for the connection request
-             * get a connection from this pool directly.
-             * for all other conditions go create a new connection
-             */
-            if ( isEqual( pc, getUser(), getPassword() ) ) {
-                dsConn = dataSourceObj.getConnection();
-            } else {
-                dsConn = dataSourceObj.getConnection(pc.getUserName(),
-                    new String(pc.getPassword()));
-            }
-        } catch(java.sql.SQLException sqle) {
-            _logger.log(Level.WARNING, "jdbc.exc_create_conn", sqle);
-            throw new jakarta.resource.spi.ResourceAllocationException("The connection could not be allocated: " +
-                sqle.getMessage());
-        }
-
-        com.sun.jdbcra.spi.ManagedConnection mc = new com.sun.jdbcra.spi.ManagedConnection(null, dsConn, pc, this);
-        //GJCINT
-        setIsolation(mc);
-        isValid(mc);
-        return mc;
-    }
-
-    /**
-     * Check if this <code>ManagedConnectionFactory</code> is equal to
-     * another <code>ManagedConnectionFactory</code>.
-     *
-     * @param        other        <code>ManagedConnectionFactory</code> object for checking equality with
-     * @return        true        if the property sets of both the
-     *                        <code>ManagedConnectionFactory</code> objects are the same
-     *                false        otherwise
-     */
-    public boolean equals(Object other) {
-        if(logWriter != null) {
-                logWriter.println("In equals");
-        }
-        /**
-         * The check below means that two ManagedConnectionFactory objects are equal
-         * if and only if their properties are the same.
-         */
-        if(other instanceof com.sun.jdbcra.spi.DSManagedConnectionFactory) {
-            com.sun.jdbcra.spi.DSManagedConnectionFactory otherMCF =
-                (com.sun.jdbcra.spi.DSManagedConnectionFactory) other;
-            return this.spec.equals(otherMCF.spec);
-        }
-        return false;
-    }
-
-    /**
-     * Sets the server name.
-     *
-     * @param        serverName        <code>String</code>
-     * @see        <code>getServerName</code>
-     */
-    public void setserverName(String serverName) {
-        spec.setDetail(DataSourceSpec.SERVERNAME, serverName);
-    }
-
-    /**
-     * Gets the server name.
-     *
-     * @return        serverName
-     * @see        <code>setServerName</code>
-     */
-    public String getserverName() {
-        return spec.getDetail(DataSourceSpec.SERVERNAME);
-    }
-
-    /**
-     * Sets the server name.
-     *
-     * @param        serverName        <code>String</code>
-     * @see        <code>getServerName</code>
-     */
-    public void setServerName(String serverName) {
-        spec.setDetail(DataSourceSpec.SERVERNAME, serverName);
-    }
-
-    /**
-     * Gets the server name.
-     *
-     * @return        serverName
-     * @see        <code>setServerName</code>
-     */
-    public String getServerName() {
-        return spec.getDetail(DataSourceSpec.SERVERNAME);
-    }
-
-    /**
-     * Sets the port number.
-     *
-     * @param        portNumber        <code>String</code>
-     * @see        <code>getPortNumber</code>
-     */
-    public void setportNumber(String portNumber) {
-        spec.setDetail(DataSourceSpec.PORTNUMBER, portNumber);
-    }
-
-    /**
-     * Gets the port number.
-     *
-     * @return        portNumber
-     * @see        <code>setPortNumber</code>
-     */
-    public String getportNumber() {
-        return spec.getDetail(DataSourceSpec.PORTNUMBER);
-    }
-
-    /**
-     * Sets the port number.
-     *
-     * @param        portNumber        <code>String</code>
-     * @see        <code>getPortNumber</code>
-     */
-    public void setPortNumber(String portNumber) {
-        spec.setDetail(DataSourceSpec.PORTNUMBER, portNumber);
-    }
-
-    /**
-     * Gets the port number.
-     *
-     * @return        portNumber
-     * @see        <code>setPortNumber</code>
-     */
-    public String getPortNumber() {
-        return spec.getDetail(DataSourceSpec.PORTNUMBER);
-    }
-
-    /**
-     * Sets the database name.
-     *
-     * @param        databaseName        <code>String</code>
-     * @see        <code>getDatabaseName</code>
-     */
-    public void setdatabaseName(String databaseName) {
-        spec.setDetail(DataSourceSpec.DATABASENAME, databaseName);
-    }
-
-    /**
-     * Gets the database name.
-     *
-     * @return        databaseName
-     * @see        <code>setDatabaseName</code>
-     */
-    public String getdatabaseName() {
-        return spec.getDetail(DataSourceSpec.DATABASENAME);
-    }
-
-    /**
-     * Sets the database name.
-     *
-     * @param        databaseName        <code>String</code>
-     * @see        <code>getDatabaseName</code>
-     */
-    public void setDatabaseName(String databaseName) {
-        spec.setDetail(DataSourceSpec.DATABASENAME, databaseName);
-    }
-
-    /**
-     * Gets the database name.
-     *
-     * @return        databaseName
-     * @see        <code>setDatabaseName</code>
-     */
-    public String getDatabaseName() {
-        return spec.getDetail(DataSourceSpec.DATABASENAME);
-    }
-
-    /**
-     * Sets the data source name.
-     *
-     * @param        dsn <code>String</code>
-     * @see        <code>getDataSourceName</code>
-     */
-    public void setdataSourceName(String dsn) {
-        spec.setDetail(DataSourceSpec.DATASOURCENAME, dsn);
-    }
-
-    /**
-     * Gets the data source name.
-     *
-     * @return        dsn
-     * @see        <code>setDataSourceName</code>
-     */
-    public String getdataSourceName() {
-        return spec.getDetail(DataSourceSpec.DATASOURCENAME);
-    }
-
-    /**
-     * Sets the data source name.
-     *
-     * @param        dsn <code>String</code>
-     * @see        <code>getDataSourceName</code>
-     */
-    public void setDataSourceName(String dsn) {
-        spec.setDetail(DataSourceSpec.DATASOURCENAME, dsn);
-    }
-
-    /**
-     * Gets the data source name.
-     *
-     * @return        dsn
-     * @see        <code>setDataSourceName</code>
-     */
-    public String getDataSourceName() {
-        return spec.getDetail(DataSourceSpec.DATASOURCENAME);
-    }
-
-    /**
-     * Sets the description.
-     *
-     * @param        desc        <code>String</code>
-     * @see        <code>getDescription</code>
-     */
-    public void setdescription(String desc) {
-        spec.setDetail(DataSourceSpec.DESCRIPTION, desc);
-    }
-
-    /**
-     * Gets the description.
-     *
-     * @return        desc
-     * @see        <code>setDescription</code>
-     */
-    public String getdescription() {
-        return spec.getDetail(DataSourceSpec.DESCRIPTION);
-    }
-
-    /**
-     * Sets the description.
-     *
-     * @param        desc        <code>String</code>
-     * @see        <code>getDescription</code>
-     */
-    public void setDescription(String desc) {
-        spec.setDetail(DataSourceSpec.DESCRIPTION, desc);
-    }
-
-    /**
-     * Gets the description.
-     *
-     * @return        desc
-     * @see        <code>setDescription</code>
-     */
-    public String getDescription() {
-        return spec.getDetail(DataSourceSpec.DESCRIPTION);
-    }
-
-    /**
-     * Sets the network protocol.
-     *
-     * @param        nwProtocol        <code>String</code>
-     * @see        <code>getNetworkProtocol</code>
-     */
-    public void setnetworkProtocol(String nwProtocol) {
-        spec.setDetail(DataSourceSpec.NETWORKPROTOCOL, nwProtocol);
-    }
-
-    /**
-     * Gets the network protocol.
-     *
-     * @return        nwProtocol
-     * @see        <code>setNetworkProtocol</code>
-     */
-    public String getnetworkProtocol() {
-        return spec.getDetail(DataSourceSpec.NETWORKPROTOCOL);
-    }
-
-    /**
-     * Sets the network protocol.
-     *
-     * @param        nwProtocol        <code>String</code>
-     * @see        <code>getNetworkProtocol</code>
-     */
-    public void setNetworkProtocol(String nwProtocol) {
-        spec.setDetail(DataSourceSpec.NETWORKPROTOCOL, nwProtocol);
-    }
-
-    /**
-     * Gets the network protocol.
-     *
-     * @return        nwProtocol
-     * @see        <code>setNetworkProtocol</code>
-     */
-    public String getNetworkProtocol() {
-        return spec.getDetail(DataSourceSpec.NETWORKPROTOCOL);
-    }
-
-    /**
-     * Sets the role name.
-     *
-     * @param        roleName        <code>String</code>
-     * @see        <code>getRoleName</code>
-     */
-    public void setroleName(String roleName) {
-        spec.setDetail(DataSourceSpec.ROLENAME, roleName);
-    }
-
-    /**
-     * Gets the role name.
-     *
-     * @return        roleName
-     * @see        <code>setRoleName</code>
-     */
-    public String getroleName() {
-        return spec.getDetail(DataSourceSpec.ROLENAME);
-    }
-
-    /**
-     * Sets the role name.
-     *
-     * @param        roleName        <code>String</code>
-     * @see        <code>getRoleName</code>
-     */
-    public void setRoleName(String roleName) {
-        spec.setDetail(DataSourceSpec.ROLENAME, roleName);
-    }
-
-    /**
-     * Gets the role name.
-     *
-     * @return        roleName
-     * @see        <code>setRoleName</code>
-     */
-    public String getRoleName() {
-        return spec.getDetail(DataSourceSpec.ROLENAME);
-    }
-
-
-    /**
-     * Sets the login timeout.
-     *
-     * @param        loginTimeOut        <code>String</code>
-     * @see        <code>getLoginTimeOut</code>
-     */
-    public void setloginTimeOut(String loginTimeOut) {
-        spec.setDetail(DataSourceSpec.LOGINTIMEOUT, loginTimeOut);
-    }
-
-    /**
-     * Gets the login timeout.
-     *
-     * @return        loginTimeout
-     * @see        <code>setLoginTimeOut</code>
-     */
-    public String getloginTimeOut() {
-        return spec.getDetail(DataSourceSpec.LOGINTIMEOUT);
-    }
-
-    /**
-     * Sets the login timeout.
-     *
-     * @param        loginTimeOut        <code>String</code>
-     * @see        <code>getLoginTimeOut</code>
-     */
-    public void setLoginTimeOut(String loginTimeOut) {
-        spec.setDetail(DataSourceSpec.LOGINTIMEOUT, loginTimeOut);
-    }
-
-    /**
-     * Gets the login timeout.
-     *
-     * @return        loginTimeout
-     * @see        <code>setLoginTimeOut</code>
-     */
-    public String getLoginTimeOut() {
-        return spec.getDetail(DataSourceSpec.LOGINTIMEOUT);
-    }
-
-    /**
-     * Sets the delimiter.
-     *
-     * @param        delim        <code>String</code>
-     * @see        <code>getDelimiter</code>
-     */
-    public void setdelimiter(String delim) {
-        spec.setDetail(DataSourceSpec.DELIMITER, delim);
-    }
-
-    /**
-     * Gets the delimiter.
-     *
-     * @return        delim
-     * @see        <code>setDelimiter</code>
-     */
-    public String getdelimiter() {
-        return spec.getDetail(DataSourceSpec.DELIMITER);
-    }
-
-    /**
-     * Sets the delimiter.
-     *
-     * @param        delim        <code>String</code>
-     * @see        <code>getDelimiter</code>
-     */
-    public void setDelimiter(String delim) {
-        spec.setDetail(DataSourceSpec.DELIMITER, delim);
-    }
-
-    /**
-     * Gets the delimiter.
-     *
-     * @return        delim
-     * @see        <code>setDelimiter</code>
-     */
-    public String getDelimiter() {
-        return spec.getDetail(DataSourceSpec.DELIMITER);
-    }
-
-    /**
-     * Sets the driver specific properties.
-     *
-     * @param        driverProps        <code>String</code>
-     * @see        <code>getDriverProperties</code>
-     */
-    public void setdriverProperties(String driverProps) {
-        spec.setDetail(DataSourceSpec.DRIVERPROPERTIES, driverProps);
-    }
-
-    /**
-     * Gets the driver specific properties.
-     *
-     * @return        driverProps
-     * @see        <code>setDriverProperties</code>
-     */
-    public String getdriverProperties() {
-        return spec.getDetail(DataSourceSpec.DRIVERPROPERTIES);
-    }
-
-    /**
-     * Sets the driver specific properties.
-     *
-     * @param        driverProps        <code>String</code>
-     * @see        <code>getDriverProperties</code>
-     */
-    public void setDriverProperties(String driverProps) {
-        spec.setDetail(DataSourceSpec.DRIVERPROPERTIES, driverProps);
-    }
-
-    /**
-     * Gets the driver specific properties.
-     *
-     * @return        driverProps
-     * @see        <code>setDriverProperties</code>
-     */
-    public String getDriverProperties() {
-        return spec.getDetail(DataSourceSpec.DRIVERPROPERTIES);
-    }
-
-    /*
-     * Check if the PasswordCredential passed for this get connection
-     * request is equal to the user/passwd of this connection pool.
-     */
-    private boolean isEqual( PasswordCredential pc, String user,
-        String password) {
-
-        //if equal get direct connection else
-        //get connection with user and password.
-
-        if (user == null && pc == null) {
-            return true;
-        }
-
-        if ( user == null && pc != null ) {
-            return false;
-        }
-
-        if( pc == null ) {
-            return true;
-        }
-
-        if ( user.equals( pc.getUserName() ) ) {
-            if ( password == null && pc.getPassword() == null ) {
-                return true;
-            }
-        }
-
-        if ( user.equals(pc.getUserName()) && password.equals(pc.getPassword()) ) {
-            return true;
-        }
-
-
-        return false;
-    }
-}
diff --git a/appserver/tests/appserv-tests/devtests/connector/v3/force-deploy-rar/ra/src/com/sun/jdbcra/spi/JdbcSetupAdmin.java b/appserver/tests/appserv-tests/devtests/connector/v3/force-deploy-rar/ra/src/com/sun/jdbcra/spi/JdbcSetupAdmin.java
deleted file mode 100755
index 824510d..0000000
--- a/appserver/tests/appserv-tests/devtests/connector/v3/force-deploy-rar/ra/src/com/sun/jdbcra/spi/JdbcSetupAdmin.java
+++ /dev/null
@@ -1,41 +0,0 @@
-/*
- * Copyright (c) 2017, 2018 Oracle and/or its affiliates. All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v. 2.0, which is available at
- * http://www.eclipse.org/legal/epl-2.0.
- *
- * This Source Code may also be made available under the following Secondary
- * Licenses when the conditions for such availability set forth in the
- * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
- * version 2 with the GNU Classpath Exception, which is available at
- * https://www.gnu.org/software/classpath/license.html.
- *
- * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
- */
-
-package com.sun.jdbcra.spi;
-
-public interface JdbcSetupAdmin {
-
-    public void setTableName(String db);
-
-    public String getTableName();
-
-    public void setJndiName(String name);
-
-    public String getJndiName();
-
-    public void setSchemaName(String name);
-
-    public String getSchemaName();
-
-    public void setNoOfRows(Integer i);
-
-    public Integer getNoOfRows();
-
-    public boolean checkSetup();
-
-    public int getVersion();
-
-}
diff --git a/appserver/tests/appserv-tests/devtests/connector/v3/force-deploy-rar/ra/src/com/sun/jdbcra/spi/LocalTransaction.java b/appserver/tests/appserv-tests/devtests/connector/v3/force-deploy-rar/ra/src/com/sun/jdbcra/spi/LocalTransaction.java
deleted file mode 100755
index ce8635b..0000000
--- a/appserver/tests/appserv-tests/devtests/connector/v3/force-deploy-rar/ra/src/com/sun/jdbcra/spi/LocalTransaction.java
+++ /dev/null
@@ -1,96 +0,0 @@
-/*
- * Copyright (c) 2003, 2018 Oracle and/or its affiliates. All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v. 2.0, which is available at
- * http://www.eclipse.org/legal/epl-2.0.
- *
- * This Source Code may also be made available under the following Secondary
- * Licenses when the conditions for such availability set forth in the
- * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
- * version 2 with the GNU Classpath Exception, which is available at
- * https://www.gnu.org/software/classpath/license.html.
- *
- * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
- */
-
-package com.sun.jdbcra.spi;
-
-import com.sun.jdbcra.spi.ManagedConnection;
-import jakarta.resource.ResourceException;
-import jakarta.resource.spi.LocalTransactionException;
-
-/**
- * <code>LocalTransaction</code> implementation for Generic JDBC Connector.
- *
- * @version        1.0, 02/08/03
- * @author        Evani Sai Surya Kiran
- */
-public class LocalTransaction implements jakarta.resource.spi.LocalTransaction {
-
-    private ManagedConnection mc;
-
-    /**
-     * Constructor for <code>LocalTransaction</code>.
-     * @param        mc        <code>ManagedConnection</code> that returns
-     *                        this <code>LocalTransaction</code> object as
-     *                        a result of <code>getLocalTransaction</code>
-     */
-    public LocalTransaction(ManagedConnection mc) {
-        this.mc = mc;
-    }
-
-    /**
-     * Begin a local transaction.
-     *
-     * @throws        LocalTransactionException        if there is an error in changing
-     *                                                the autocommit mode of the physical
-     *                                                connection
-     */
-    public void begin() throws ResourceException {
-        //GJCINT
-        mc.transactionStarted();
-        try {
-            mc.getActualConnection().setAutoCommit(false);
-        } catch(java.sql.SQLException sqle) {
-            throw new LocalTransactionException(sqle.getMessage());
-        }
-    }
-
-    /**
-     * Commit a local transaction.
-     * @throws        LocalTransactionException        if there is an error in changing
-     *                                                the autocommit mode of the physical
-     *                                                connection or committing the transaction
-     */
-    public void commit() throws ResourceException {
-        Exception e = null;
-        try {
-            mc.getActualConnection().commit();
-            mc.getActualConnection().setAutoCommit(true);
-        } catch(java.sql.SQLException sqle) {
-            throw new LocalTransactionException(sqle.getMessage());
-        }
-        //GJCINT
-        mc.transactionCompleted();
-    }
-
-    /**
-     * Rollback a local transaction.
-     *
-     * @throws        LocalTransactionException        if there is an error in changing
-     *                                                the autocommit mode of the physical
-     *                                                connection or rolling back the transaction
-     */
-    public void rollback() throws ResourceException {
-        try {
-            mc.getActualConnection().rollback();
-            mc.getActualConnection().setAutoCommit(true);
-        } catch(java.sql.SQLException sqle) {
-            throw new LocalTransactionException(sqle.getMessage());
-        }
-        //GJCINT
-        mc.transactionCompleted();
-    }
-
-}
diff --git a/appserver/tests/appserv-tests/devtests/connector/v3/force-deploy-rar/ra/src/com/sun/jdbcra/spi/ManagedConnection.java b/appserver/tests/appserv-tests/devtests/connector/v3/force-deploy-rar/ra/src/com/sun/jdbcra/spi/ManagedConnection.java
deleted file mode 100755
index f0443d0..0000000
--- a/appserver/tests/appserv-tests/devtests/connector/v3/force-deploy-rar/ra/src/com/sun/jdbcra/spi/ManagedConnection.java
+++ /dev/null
@@ -1,664 +0,0 @@
-/*
- * Copyright (c) 2003, 2018 Oracle and/or its affiliates. All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v. 2.0, which is available at
- * http://www.eclipse.org/legal/epl-2.0.
- *
- * This Source Code may also be made available under the following Secondary
- * Licenses when the conditions for such availability set forth in the
- * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
- * version 2 with the GNU Classpath Exception, which is available at
- * https://www.gnu.org/software/classpath/license.html.
- *
- * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
- */
-
-package com.sun.jdbcra.spi;
-
-import jakarta.resource.spi.*;
-import jakarta.resource.*;
-import javax.security.auth.Subject;
-import java.io.PrintWriter;
-import javax.transaction.xa.XAResource;
-import java.util.Set;
-import java.util.Hashtable;
-import java.util.Iterator;
-import javax.sql.PooledConnection;
-import javax.sql.XAConnection;
-import java.sql.Connection;
-import java.sql.SQLException;
-import jakarta.resource.NotSupportedException;
-import jakarta.resource.spi.security.PasswordCredential;
-import com.sun.jdbcra.spi.ConnectionRequestInfo;
-import com.sun.jdbcra.spi.LocalTransaction;
-import com.sun.jdbcra.spi.ManagedConnectionMetaData;
-import com.sun.jdbcra.util.SecurityUtils;
-import com.sun.jdbcra.spi.ConnectionHolder;
-import java.util.logging.Logger;
-import java.util.logging.Level;
-
-/**
- * <code>ManagedConnection</code> implementation for Generic JDBC Connector.
- *
- * @version        1.0, 02/07/22
- * @author        Evani Sai Surya Kiran
- */
-public class ManagedConnection implements jakarta.resource.spi.ManagedConnection {
-
-    public static final int ISNOTAPOOLEDCONNECTION = 0;
-    public static final int ISPOOLEDCONNECTION = 1;
-    public static final int ISXACONNECTION = 2;
-
-    private boolean isDestroyed = false;
-    private boolean isUsable = true;
-
-    private int connectionType = ISNOTAPOOLEDCONNECTION;
-    private PooledConnection pc = null;
-    private java.sql.Connection actualConnection = null;
-    private Hashtable connectionHandles;
-    private PrintWriter logWriter;
-    private PasswordCredential passwdCredential;
-    private jakarta.resource.spi.ManagedConnectionFactory mcf = null;
-    private XAResource xar = null;
-    public ConnectionHolder activeConnectionHandle;
-
-    //GJCINT
-    private int isolationLevelWhenCleaned;
-    private boolean isClean = false;
-
-    private boolean transactionInProgress = false;
-
-    private ConnectionEventListener listener = null;
-
-    private ConnectionEvent ce = null;
-
-    private static Logger _logger;
-    static {
-        _logger = Logger.getAnonymousLogger();
-    }
-
-    /**
-     * Constructor for <code>ManagedConnection</code>. The pooledConn parameter is expected
-     * to be null and sqlConn parameter is the actual connection in case where
-     * the actual connection is got from a non pooled datasource object. The
-     * pooledConn parameter is expected to be non null and sqlConn parameter
-     * is expected to be null in the case where the datasource object is a
-     * connection pool datasource or an xa datasource.
-     *
-     * @param        pooledConn        <code>PooledConnection</code> object in case the
-     *                                physical connection is to be obtained from a pooled
-     *                                <code>DataSource</code>; null otherwise
-     * @param        sqlConn        <code>java.sql.Connection</code> object in case the physical
-     *                        connection is to be obtained from a non pooled <code>DataSource</code>;
-     *                        null otherwise
-     * @param        passwdCred        object conatining the
-     *                                user and password for allocating the connection
-     * @throws        ResourceException        if the <code>ManagedConnectionFactory</code> object
-     *                                        that created this <code>ManagedConnection</code> object
-     *                                        is not the same as returned by <code>PasswordCredential</code>
-     *                                        object passed
-     */
-    public ManagedConnection(PooledConnection pooledConn, java.sql.Connection sqlConn,
-        PasswordCredential passwdCred, jakarta.resource.spi.ManagedConnectionFactory mcf) throws ResourceException {
-        if(pooledConn == null && sqlConn == null) {
-            throw new ResourceException("Connection object cannot be null");
-        }
-
-        if (connectionType == ISNOTAPOOLEDCONNECTION ) {
-            actualConnection = sqlConn;
-        }
-
-        pc = pooledConn;
-        connectionHandles = new Hashtable();
-        passwdCredential = passwdCred;
-        this.mcf = mcf;
-        if(passwdCredential != null &&
-            this.mcf.equals(passwdCredential.getManagedConnectionFactory()) == false) {
-            throw new ResourceException("The ManagedConnectionFactory that has created this " +
-                "ManagedConnection is not the same as the ManagedConnectionFactory returned by" +
-                    " the PasswordCredential for this ManagedConnection");
-        }
-        logWriter = mcf.getLogWriter();
-        activeConnectionHandle = null;
-        ce = new ConnectionEvent(this, ConnectionEvent.CONNECTION_CLOSED);
-    }
-
-    /**
-     * Adds a connection event listener to the ManagedConnection instance.
-     *
-     * @param        listener        <code>ConnectionEventListener</code>
-     * @see <code>removeConnectionEventListener</code>
-     */
-    public void addConnectionEventListener(ConnectionEventListener listener) {
-        this.listener = listener;
-    }
-
-    /**
-     * Used by the container to change the association of an application-level
-     * connection handle with a <code>ManagedConnection</code> instance.
-     *
-     * @param        connection        <code>ConnectionHolder</code> to be associated with
-     *                                this <code>ManagedConnection</code> instance
-     * @throws        ResourceException        if the physical connection is no more
-     *                                        valid or the connection handle passed is null
-     */
-    public void associateConnection(Object connection) throws ResourceException {
-        if(logWriter != null) {
-            logWriter.println("In associateConnection");
-        }
-        checkIfValid();
-        if(connection == null) {
-            throw new ResourceException("Connection handle cannot be null");
-        }
-        ConnectionHolder ch = (ConnectionHolder) connection;
-
-        com.sun.jdbcra.spi.ManagedConnection mc = (com.sun.jdbcra.spi.ManagedConnection)ch.getManagedConnection();
-        mc.activeConnectionHandle = null;
-        isClean = false;
-
-        ch.associateConnection(actualConnection, this);
-        /**
-         * The expectation from the above method is that the connection holder
-         * replaces the actual sql connection it holds with the sql connection
-         * handle being passed in this method call. Also, it replaces the reference
-         * to the ManagedConnection instance with this ManagedConnection instance.
-         * Any previous statements and result sets also need to be removed.
-         */
-
-         if(activeConnectionHandle != null) {
-            activeConnectionHandle.setActive(false);
-        }
-
-        ch.setActive(true);
-        activeConnectionHandle = ch;
-    }
-
-    /**
-     * Application server calls this method to force any cleanup on the
-     * <code>ManagedConnection</code> instance. This method calls the invalidate
-     * method on all ConnectionHandles associated with this <code>ManagedConnection</code>.
-     *
-     * @throws        ResourceException        if the physical connection is no more valid
-     */
-    public void cleanup() throws ResourceException {
-        if(logWriter != null) {
-                logWriter.println("In cleanup");
-        }
-        checkIfValid();
-
-        /**
-         * may need to set the autocommit to true for the non-pooled case.
-         */
-        //GJCINT
-        //if (actualConnection != null) {
-        if (connectionType == ISNOTAPOOLEDCONNECTION ) {
-        try {
-            isolationLevelWhenCleaned = actualConnection.getTransactionIsolation();
-        } catch(SQLException sqle) {
-            throw new ResourceException("The isolation level for the physical connection "
-                + "could not be retrieved");
-        }
-        }
-        isClean = true;
-
-        activeConnectionHandle = null;
-    }
-
-    /**
-     * This method removes all the connection handles from the table
-     * of connection handles and invalidates all of them so that any
-     * operation on those connection handles throws an exception.
-     *
-     * @throws        ResourceException        if there is a problem in retrieving
-     *                                         the connection handles
-     */
-    private void invalidateAllConnectionHandles() throws ResourceException {
-        Set handles = connectionHandles.keySet();
-        Iterator iter = handles.iterator();
-        try {
-            while(iter.hasNext()) {
-                ConnectionHolder ch = (ConnectionHolder)iter.next();
-                ch.invalidate();
-            }
-        } catch(java.util.NoSuchElementException nsee) {
-            throw new ResourceException("Could not find the connection handle: "+ nsee.getMessage());
-        }
-        connectionHandles.clear();
-    }
-
-    /**
-     * Destroys the physical connection to the underlying resource manager.
-     *
-     * @throws        ResourceException        if there is an error in closing the physical connection
-     */
-    public void destroy() throws ResourceException{
-        if(logWriter != null) {
-            logWriter.println("In destroy");
-        }
-        //GJCINT
-        if(isDestroyed == true) {
-            return;
-        }
-
-        activeConnectionHandle = null;
-        try {
-            if(connectionType == ISXACONNECTION || connectionType == ISPOOLEDCONNECTION) {
-                pc.close();
-                pc = null;
-                actualConnection = null;
-            } else {
-                actualConnection.close();
-                actualConnection = null;
-            }
-        } catch(SQLException sqle) {
-            isDestroyed = true;
-            passwdCredential = null;
-            connectionHandles = null;
-            throw new ResourceException("The following exception has occured during destroy: "
-                + sqle.getMessage());
-        }
-        isDestroyed = true;
-        passwdCredential = null;
-        connectionHandles = null;
-    }
-
-    /**
-     * Creates a new connection handle for the underlying physical
-     * connection represented by the <code>ManagedConnection</code> instance.
-     *
-     * @param        subject        <code>Subject</code> parameter needed for authentication
-     * @param        cxReqInfo        <code>ConnectionRequestInfo</code> carries the user
-     *                                and password required for getting this connection.
-     * @return        Connection        the connection handle <code>Object</code>
-     * @throws        ResourceException        if there is an error in allocating the
-     *                                         physical connection from the pooled connection
-     * @throws        SecurityException        if there is a mismatch between the
-     *                                         password credentials or reauthentication is requested
-     */
-    public Object getConnection(Subject sub, jakarta.resource.spi.ConnectionRequestInfo cxReqInfo)
-        throws ResourceException {
-        if(logWriter != null) {
-            logWriter.println("In getConnection");
-        }
-        checkIfValid();
-        com.sun.jdbcra.spi.ConnectionRequestInfo cxRequestInfo = (com.sun.jdbcra.spi.ConnectionRequestInfo) cxReqInfo;
-        PasswordCredential passwdCred = SecurityUtils.getPasswordCredential(this.mcf, sub, cxRequestInfo);
-
-        if(SecurityUtils.isPasswordCredentialEqual(this.passwdCredential, passwdCred) == false) {
-            throw new jakarta.resource.spi.SecurityException("Re-authentication not supported");
-        }
-
-        //GJCINT
-        getActualConnection();
-
-        /**
-         * The following code in the if statement first checks if this ManagedConnection
-         * is clean or not. If it is, it resets the transaction isolation level to what
-         * it was when it was when this ManagedConnection was cleaned up depending on the
-         * ConnectionRequestInfo passed.
-         */
-        if(isClean) {
-            ((com.sun.jdbcra.spi.ManagedConnectionFactory)mcf).resetIsolation(this, isolationLevelWhenCleaned);
-        }
-
-
-        ConnectionHolder connHolderObject = new ConnectionHolder(actualConnection, this);
-        isClean=false;
-
-        if(activeConnectionHandle != null) {
-            activeConnectionHandle.setActive(false);
-        }
-
-        connHolderObject.setActive(true);
-        activeConnectionHandle = connHolderObject;
-
-        return connHolderObject;
-
-    }
-
-    /**
-     * Returns an <code>LocalTransaction</code> instance. The <code>LocalTransaction</code> interface
-     * is used by the container to manage local transactions for a RM instance.
-     *
-     * @return        <code>LocalTransaction</code> instance
-     * @throws        ResourceException        if the physical connection is not valid
-     */
-    public jakarta.resource.spi.LocalTransaction getLocalTransaction() throws ResourceException {
-        if(logWriter != null) {
-            logWriter.println("In getLocalTransaction");
-        }
-        checkIfValid();
-        return new com.sun.jdbcra.spi.LocalTransaction(this);
-    }
-
-    /**
-     * Gets the log writer for this <code>ManagedConnection</code> instance.
-     *
-     * @return        <code>PrintWriter</code> instance associated with this
-     *                <code>ManagedConnection</code> instance
-     * @throws        ResourceException        if the physical connection is not valid
-     * @see <code>setLogWriter</code>
-     */
-    public PrintWriter getLogWriter() throws ResourceException {
-        if(logWriter != null) {
-                logWriter.println("In getLogWriter");
-        }
-        checkIfValid();
-
-        return logWriter;
-    }
-
-    /**
-     * Gets the metadata information for this connection's underlying EIS
-     * resource manager instance.
-     *
-     * @return        <code>ManagedConnectionMetaData</code> instance
-     * @throws        ResourceException        if the physical connection is not valid
-     */
-    public jakarta.resource.spi.ManagedConnectionMetaData getMetaData() throws ResourceException {
-        if(logWriter != null) {
-                logWriter.println("In getMetaData");
-        }
-        checkIfValid();
-
-        return new com.sun.jdbcra.spi.ManagedConnectionMetaData(this);
-    }
-
-    /**
-     * Returns an <code>XAResource</code> instance.
-     *
-     * @return        <code>XAResource</code> instance
-     * @throws        ResourceException        if the physical connection is not valid or
-     *                                        there is an error in allocating the
-     *                                        <code>XAResource</code> instance
-     * @throws        NotSupportedException        if underlying datasource is not an
-     *                                        <code>XADataSource</code>
-     */
-    public XAResource getXAResource() throws ResourceException {
-        if(logWriter != null) {
-                logWriter.println("In getXAResource");
-        }
-        checkIfValid();
-
-        if(connectionType == ISXACONNECTION) {
-            try {
-                if(xar == null) {
-                    /**
-                     * Using the wrapper XAResource.
-                     */
-                    xar = new com.sun.jdbcra.spi.XAResourceImpl(((XAConnection)pc).getXAResource(), this);
-                }
-                return xar;
-            } catch(SQLException sqle) {
-                throw new ResourceException(sqle.getMessage());
-            }
-        } else {
-            throw new NotSupportedException("Cannot get an XAResource from a non XA connection");
-        }
-    }
-
-    /**
-     * Removes an already registered connection event listener from the
-     * <code>ManagedConnection</code> instance.
-     *
-     * @param        listener        <code>ConnectionEventListener</code> to be removed
-     * @see <code>addConnectionEventListener</code>
-     */
-    public void removeConnectionEventListener(ConnectionEventListener listener) {
-        listener = null;
-    }
-
-    /**
-     * This method is called from XAResource wrapper object
-     * when its XAResource.start() has been called or from
-     * LocalTransaction object when its begin() method is called.
-     */
-    void transactionStarted() {
-        transactionInProgress = true;
-    }
-
-    /**
-     * This method is called from XAResource wrapper object
-     * when its XAResource.end() has been called or from
-     * LocalTransaction object when its end() method is called.
-     */
-    void transactionCompleted() {
-        transactionInProgress = false;
-        if(connectionType == ISPOOLEDCONNECTION || connectionType == ISXACONNECTION) {
-            try {
-                isolationLevelWhenCleaned = actualConnection.getTransactionIsolation();
-            } catch(SQLException sqle) {
-                //check what to do in this case!!
-                _logger.log(Level.WARNING, "jdbc.notgot_tx_isolvl");
-            }
-
-            try {
-                actualConnection.close();
-                actualConnection = null;
-            } catch(SQLException sqle) {
-                actualConnection = null;
-            }
-        }
-
-
-        isClean = true;
-
-        activeConnectionHandle = null;
-
-    }
-
-    /**
-     * Checks if a this ManagedConnection is involved in a transaction
-     * or not.
-     */
-    public boolean isTransactionInProgress() {
-        return transactionInProgress;
-    }
-
-    /**
-     * Sets the log writer for this <code>ManagedConnection</code> instance.
-     *
-     * @param        out        <code>PrintWriter</code> to be associated with this
-     *                        <code>ManagedConnection</code> instance
-     * @throws        ResourceException        if the physical connection is not valid
-     * @see <code>getLogWriter</code>
-     */
-    public void setLogWriter(PrintWriter out) throws ResourceException {
-        checkIfValid();
-        logWriter = out;
-    }
-
-    /**
-     * This method determines the type of the connection being held
-     * in this <code>ManagedConnection</code>.
-     *
-     * @param        pooledConn        <code>PooledConnection</code>
-     * @return        connection type
-     */
-    private int getConnectionType(PooledConnection pooledConn) {
-        if(pooledConn == null) {
-            return ISNOTAPOOLEDCONNECTION;
-        } else if(pooledConn instanceof XAConnection) {
-            return ISXACONNECTION;
-        } else {
-            return ISPOOLEDCONNECTION;
-        }
-    }
-
-    /**
-     * Returns the <code>ManagedConnectionFactory</code> instance that
-     * created this <code>ManagedConnection</code> instance.
-     *
-     * @return        <code>ManagedConnectionFactory</code> instance that created this
-     *                <code>ManagedConnection</code> instance
-     */
-    ManagedConnectionFactory getManagedConnectionFactory() {
-        return (com.sun.jdbcra.spi.ManagedConnectionFactory)mcf;
-    }
-
-    /**
-     * Returns the actual sql connection for this <code>ManagedConnection</code>.
-     *
-     * @return        the physical <code>java.sql.Connection</code>
-     */
-    //GJCINT
-    java.sql.Connection getActualConnection() throws ResourceException {
-        //GJCINT
-        if(connectionType == ISXACONNECTION || connectionType == ISPOOLEDCONNECTION) {
-            try {
-                if(actualConnection == null) {
-                    actualConnection = pc.getConnection();
-                }
-
-            } catch(SQLException sqle) {
-                sqle.printStackTrace();
-                throw new ResourceException(sqle.getMessage());
-            }
-        }
-        return actualConnection;
-    }
-
-    /**
-     * Returns the <code>PasswordCredential</code> object associated with this <code>ManagedConnection</code>.
-     *
-     * @return        <code>PasswordCredential</code> associated with this
-     *                <code>ManagedConnection</code> instance
-     */
-    PasswordCredential getPasswordCredential() {
-        return passwdCredential;
-    }
-
-    /**
-     * Checks if this <code>ManagedConnection</code> is valid or not and throws an
-     * exception if it is not valid. A <code>ManagedConnection</code> is not valid if
-     * destroy has not been called and no physical connection error has
-     * occurred rendering the physical connection unusable.
-     *
-     * @throws        ResourceException        if <code>destroy</code> has been called on this
-     *                                        <code>ManagedConnection</code> instance or if a
-     *                                         physical connection error occurred rendering it unusable
-     */
-    //GJCINT
-    void checkIfValid() throws ResourceException {
-        if(isDestroyed == true || isUsable == false) {
-            throw new ResourceException("This ManagedConnection is not valid as the physical " +
-                "connection is not usable.");
-        }
-    }
-
-    /**
-     * This method is called by the <code>ConnectionHolder</code> when its close method is
-     * called. This <code>ManagedConnection</code> instance  invalidates the connection handle
-     * and sends a CONNECTION_CLOSED event to all the registered event listeners.
-     *
-     * @param        e        Exception that may have occured while closing the connection handle
-     * @param        connHolderObject        <code>ConnectionHolder</code> that has been closed
-     * @throws        SQLException        in case closing the sql connection got out of
-     *                                     <code>getConnection</code> on the underlying
-     *                                <code>PooledConnection</code> throws an exception
-     */
-    void connectionClosed(Exception e, ConnectionHolder connHolderObject) throws SQLException {
-        connHolderObject.invalidate();
-
-        activeConnectionHandle = null;
-
-        ce.setConnectionHandle(connHolderObject);
-        listener.connectionClosed(ce);
-
-    }
-
-    /**
-     * This method is called by the <code>ConnectionHolder</code> when it detects a connecion
-     * related error.
-     *
-     * @param        e        Exception that has occurred during an operation on the physical connection
-     * @param        connHolderObject        <code>ConnectionHolder</code> that detected the physical
-     *                                        connection error
-     */
-    void connectionErrorOccurred(Exception e,
-            com.sun.jdbcra.spi.ConnectionHolder connHolderObject) {
-
-         ConnectionEventListener cel = this.listener;
-         ConnectionEvent ce = null;
-         ce = e == null ? new ConnectionEvent(this, ConnectionEvent.CONNECTION_ERROR_OCCURRED)
-                    : new ConnectionEvent(this, ConnectionEvent.CONNECTION_ERROR_OCCURRED, e);
-         if (connHolderObject != null) {
-             ce.setConnectionHandle(connHolderObject);
-         }
-
-         cel.connectionErrorOccurred(ce);
-         isUsable = false;
-    }
-
-
-
-    /**
-     * This method is called by the <code>XAResource</code> object when its start method
-     * has been invoked.
-     *
-     */
-    void XAStartOccurred() {
-        try {
-            actualConnection.setAutoCommit(false);
-        } catch(Exception e) {
-            e.printStackTrace();
-            connectionErrorOccurred(e, null);
-        }
-    }
-
-    /**
-     * This method is called by the <code>XAResource</code> object when its end method
-     * has been invoked.
-     *
-     */
-    void XAEndOccurred() {
-        try {
-            actualConnection.setAutoCommit(true);
-        } catch(Exception e) {
-            e.printStackTrace();
-            connectionErrorOccurred(e, null);
-        }
-    }
-
-    /**
-     * This method is called by a Connection Handle to check if it is
-     * the active Connection Handle. If it is not the active Connection
-     * Handle, this method throws an SQLException. Else, it
-     * returns setting the active Connection Handle to the calling
-     * Connection Handle object to this object if the active Connection
-     * Handle is null.
-     *
-     * @param        ch        <code>ConnectionHolder</code> that requests this
-     *                        <code>ManagedConnection</code> instance whether
-     *                        it can be active or not
-     * @throws        SQLException        in case the physical is not valid or
-     *                                there is already an active connection handle
-     */
-
-    void checkIfActive(ConnectionHolder ch) throws SQLException {
-        if(isDestroyed == true || isUsable == false) {
-            throw new SQLException("The physical connection is not usable");
-        }
-
-        if(activeConnectionHandle == null) {
-            activeConnectionHandle = ch;
-            ch.setActive(true);
-            return;
-        }
-
-        if(activeConnectionHandle != ch) {
-            throw new SQLException("The connection handle cannot be used as another connection is currently active");
-        }
-    }
-
-    /**
-     * sets the connection type of this connection. This method is called
-     * by the MCF while creating this ManagedConnection. Saves us a costly
-     * instanceof operation in the getConnectionType
-     */
-    public void initializeConnectionType( int _connectionType ) {
-        connectionType = _connectionType;
-    }
-
-}
diff --git a/appserver/tests/appserv-tests/devtests/connector/v3/force-deploy-rar/ra/src/com/sun/jdbcra/spi/ManagedConnectionMetaData.java b/appserver/tests/appserv-tests/devtests/connector/v3/force-deploy-rar/ra/src/com/sun/jdbcra/spi/ManagedConnectionMetaData.java
deleted file mode 100755
index 5ec326c..0000000
--- a/appserver/tests/appserv-tests/devtests/connector/v3/force-deploy-rar/ra/src/com/sun/jdbcra/spi/ManagedConnectionMetaData.java
+++ /dev/null
@@ -1,121 +0,0 @@
-/*
- * Copyright (c) 2003, 2018 Oracle and/or its affiliates. All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v. 2.0, which is available at
- * http://www.eclipse.org/legal/epl-2.0.
- *
- * This Source Code may also be made available under the following Secondary
- * Licenses when the conditions for such availability set forth in the
- * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
- * version 2 with the GNU Classpath Exception, which is available at
- * https://www.gnu.org/software/classpath/license.html.
- *
- * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
- */
-
-package com.sun.jdbcra.spi;
-
-import com.sun.jdbcra.spi.ManagedConnection;
-import java.sql.SQLException;
-import jakarta.resource.ResourceException;
-
-import java.util.logging.Logger;
-import java.util.logging.Level;
-/**
- * <code>ManagedConnectionMetaData</code> implementation for Generic JDBC Connector.
- *
- * @version        1.0, 02/08/03
- * @author        Evani Sai Surya Kiran
- */
-public class ManagedConnectionMetaData implements jakarta.resource.spi.ManagedConnectionMetaData {
-
-    private java.sql.DatabaseMetaData dmd = null;
-    private ManagedConnection mc;
-
-    private static Logger _logger;
-    static {
-        _logger = Logger.getAnonymousLogger();
-    }
-    private boolean debug = false;
-    /**
-     * Constructor for <code>ManagedConnectionMetaData</code>
-     *
-     * @param        mc        <code>ManagedConnection</code>
-     * @throws        <code>ResourceException</code>        if getting the DatabaseMetaData object fails
-     */
-    public ManagedConnectionMetaData(ManagedConnection mc) throws ResourceException {
-        try {
-            this.mc = mc;
-            dmd = mc.getActualConnection().getMetaData();
-        } catch(SQLException sqle) {
-            _logger.log(Level.SEVERE, "jdbc.exc_md");
-            throw new ResourceException(sqle.getMessage());
-        }
-    }
-
-    /**
-     * Returns product name of the underlying EIS instance connected
-     * through the ManagedConnection.
-     *
-     * @return        Product name of the EIS instance
-     * @throws        <code>ResourceException</code>
-     */
-    public String getEISProductName() throws ResourceException {
-        try {
-            return dmd.getDatabaseProductName();
-        } catch(SQLException sqle) {
-            _logger.log(Level.SEVERE, "jdbc.exc_eis_prodname", sqle);
-            throw new ResourceException(sqle.getMessage());
-        }
-    }
-
-    /**
-     * Returns product version of the underlying EIS instance connected
-     * through the ManagedConnection.
-     *
-     * @return        Product version of the EIS instance
-     * @throws        <code>ResourceException</code>
-     */
-    public String getEISProductVersion() throws ResourceException {
-        try {
-            return dmd.getDatabaseProductVersion();
-        } catch(SQLException sqle) {
-            _logger.log(Level.SEVERE, "jdbc.exc_eis_prodvers", sqle);
-            throw new ResourceException(sqle.getMessage(), sqle.getMessage());
-        }
-    }
-
-    /**
-     * Returns maximum limit on number of active concurrent connections
-     * that an EIS instance can support across client processes.
-     *
-     * @return        Maximum limit for number of active concurrent connections
-     * @throws        <code>ResourceException</code>
-     */
-    public int getMaxConnections() throws ResourceException {
-        try {
-            return dmd.getMaxConnections();
-        } catch(SQLException sqle) {
-            _logger.log(Level.SEVERE, "jdbc.exc_eis_maxconn");
-            throw new ResourceException(sqle.getMessage());
-        }
-    }
-
-    /**
-     * Returns name of the user associated with the ManagedConnection instance. The name
-     * corresponds to the resource principal under whose whose security context, a connection
-     * to the EIS instance has been established.
-     *
-     * @return        name of the user
-     * @throws        <code>ResourceException</code>
-     */
-    public String getUserName() throws ResourceException {
-        jakarta.resource.spi.security.PasswordCredential pc = mc.getPasswordCredential();
-        if(pc != null) {
-            return pc.getUserName();
-        }
-
-        return mc.getManagedConnectionFactory().getUser();
-    }
-}
diff --git a/appserver/tests/appserv-tests/devtests/connector/v3/force-deploy-rar/ra/src/com/sun/jdbcra/spi/XAResourceImpl.java b/appserver/tests/appserv-tests/devtests/connector/v3/force-deploy-rar/ra/src/com/sun/jdbcra/spi/XAResourceImpl.java
deleted file mode 100755
index f0ba663..0000000
--- a/appserver/tests/appserv-tests/devtests/connector/v3/force-deploy-rar/ra/src/com/sun/jdbcra/spi/XAResourceImpl.java
+++ /dev/null
@@ -1,175 +0,0 @@
-/*
- * Copyright (c) 2003, 2018 Oracle and/or its affiliates. All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v. 2.0, which is available at
- * http://www.eclipse.org/legal/epl-2.0.
- *
- * This Source Code may also be made available under the following Secondary
- * Licenses when the conditions for such availability set forth in the
- * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
- * version 2 with the GNU Classpath Exception, which is available at
- * https://www.gnu.org/software/classpath/license.html.
- *
- * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
- */
-
-package com.sun.jdbcra.spi;
-
-import javax.transaction.xa.Xid;
-import javax.transaction.xa.XAException;
-import javax.transaction.xa.XAResource;
-import com.sun.jdbcra.spi.ManagedConnection;
-
-/**
- * <code>XAResource</code> wrapper for Generic JDBC Connector.
- *
- * @version        1.0, 02/08/23
- * @author        Evani Sai Surya Kiran
- */
-public class XAResourceImpl implements XAResource {
-
-    XAResource xar;
-    ManagedConnection mc;
-
-    /**
-     * Constructor for XAResourceImpl
-     *
-     * @param        xar        <code>XAResource</code>
-     * @param        mc        <code>ManagedConnection</code>
-     */
-    public XAResourceImpl(XAResource xar, ManagedConnection mc) {
-        this.xar = xar;
-        this.mc = mc;
-    }
-
-    /**
-     * Commit the global transaction specified by xid.
-     *
-     * @param        xid        A global transaction identifier
-     * @param        onePhase        If true, the resource manager should use a one-phase commit
-     *                               protocol to commit the work done on behalf of xid.
-     */
-    public void commit(Xid xid, boolean onePhase) throws XAException {
-        //the mc.transactionCompleted call has come here becasue
-        //the transaction *actually* completes after the flow
-        //reaches here. the end() method might not really signal
-        //completion of transaction in case the transaction is
-        //suspended. In case of transaction suspension, the end
-        //method is still called by the transaction manager
-        mc.transactionCompleted();
-        xar.commit(xid, onePhase);
-    }
-
-    /**
-     * Ends the work performed on behalf of a transaction branch.
-     *
-     * @param        xid        A global transaction identifier that is the same as what
-     *                        was used previously in the start method.
-     * @param        flags        One of TMSUCCESS, TMFAIL, or TMSUSPEND
-     */
-    public void end(Xid xid, int flags) throws XAException {
-        xar.end(xid, flags);
-        //GJCINT
-        //mc.transactionCompleted();
-    }
-
-    /**
-     * Tell the resource manager to forget about a heuristically completed transaction branch.
-     *
-     * @param        xid        A global transaction identifier
-     */
-    public void forget(Xid xid) throws XAException {
-        xar.forget(xid);
-    }
-
-    /**
-     * Obtain the current transaction timeout value set for this
-     * <code>XAResource</code> instance.
-     *
-     * @return        the transaction timeout value in seconds
-     */
-    public int getTransactionTimeout() throws XAException {
-        return xar.getTransactionTimeout();
-    }
-
-    /**
-     * This method is called to determine if the resource manager instance
-     * represented by the target object is the same as the resouce manager
-     * instance represented by the parameter xares.
-     *
-     * @param        xares        An <code>XAResource</code> object whose resource manager
-     *                         instance is to be compared with the resource
-     * @return        true if it's the same RM instance; otherwise false.
-     */
-    public boolean isSameRM(XAResource xares) throws XAException {
-        return xar.isSameRM(xares);
-    }
-
-    /**
-     * Ask the resource manager to prepare for a transaction commit
-     * of the transaction specified in xid.
-     *
-     * @param        xid        A global transaction identifier
-     * @return        A value indicating the resource manager's vote on the
-     *                outcome of the transaction. The possible values
-     *                are: XA_RDONLY or XA_OK. If the resource manager wants
-     *                to roll back the transaction, it should do so
-     *                by raising an appropriate <code>XAException</code> in the prepare method.
-     */
-    public int prepare(Xid xid) throws XAException {
-        return xar.prepare(xid);
-    }
-
-    /**
-     * Obtain a list of prepared transaction branches from a resource manager.
-     *
-     * @param        flag        One of TMSTARTRSCAN, TMENDRSCAN, TMNOFLAGS. TMNOFLAGS
-     *                        must be used when no other flags are set in flags.
-     * @return        The resource manager returns zero or more XIDs for the transaction
-     *                branches that are currently in a prepared or heuristically
-     *                completed state. If an error occurs during the operation, the resource
-     *                manager should throw the appropriate <code>XAException</code>.
-     */
-    public Xid[] recover(int flag) throws XAException {
-        return xar.recover(flag);
-    }
-
-    /**
-     * Inform the resource manager to roll back work done on behalf of a transaction branch
-     *
-     * @param        xid        A global transaction identifier
-     */
-    public void rollback(Xid xid) throws XAException {
-        //the mc.transactionCompleted call has come here becasue
-        //the transaction *actually* completes after the flow
-        //reaches here. the end() method might not really signal
-        //completion of transaction in case the transaction is
-        //suspended. In case of transaction suspension, the end
-        //method is still called by the transaction manager
-        mc.transactionCompleted();
-        xar.rollback(xid);
-    }
-
-    /**
-     * Set the current transaction timeout value for this <code>XAResource</code> instance.
-     *
-     * @param        seconds        the transaction timeout value in seconds.
-     * @return        true if transaction timeout value is set successfully; otherwise false.
-     */
-    public boolean setTransactionTimeout(int seconds) throws XAException {
-        return xar.setTransactionTimeout(seconds);
-    }
-
-    /**
-     * Start work on behalf of a transaction branch specified in xid.
-     *
-     * @param        xid        A global transaction identifier to be associated with the resource
-     * @return        flags        One of TMNOFLAGS, TMJOIN, or TMRESUME
-     */
-    public void start(Xid xid, int flags) throws XAException {
-        //GJCINT
-        mc.transactionStarted();
-        xar.start(xid, flags);
-    }
-}
diff --git a/appserver/tests/appserv-tests/devtests/connector/v3/force-deploy-rar/ra/src/com/sun/jdbcra/spi/build.xml b/appserver/tests/appserv-tests/devtests/connector/v3/force-deploy-rar/ra/src/com/sun/jdbcra/spi/build.xml
deleted file mode 100755
index 7ca9cfb..0000000
--- a/appserver/tests/appserv-tests/devtests/connector/v3/force-deploy-rar/ra/src/com/sun/jdbcra/spi/build.xml
+++ /dev/null
@@ -1,41 +0,0 @@
-<?xml version="1.0"?>
-<!--
-
-    Copyright (c) 2017, 2018 Oracle and/or its affiliates. All rights reserved.
-
-    This program and the accompanying materials are made available under the
-    terms of the Eclipse Public License v. 2.0, which is available at
-    http://www.eclipse.org/legal/epl-2.0.
-
-    This Source Code may also be made available under the following Secondary
-    Licenses when the conditions for such availability set forth in the
-    Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
-    version 2 with the GNU Classpath Exception, which is available 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 name="jdbc_connector" basedir="${gjc.home}" default="build">
-  <property name="pkg.dir" value="com/sun/gjc/spi"/>
-
-  <target name="clean">
-    <ant antfile="build.xml" dir="${gjc.home}/bin" target="clean"/>
-  </target>
-
-  <target name="compile13">
-    <ant antfile="build.xml" dir="${gjc.home}/bin" target="compile13"/>
-  </target>
-
-  <target name="build13" depends="compile13">
-  </target>
-
-  <target name="compile14">
-    <ant antfile="build.xml" dir="${gjc.home}/bin" target="compile14"/>
-  </target>
-
-  <target name="build14" depends="compile14"/>
-
-        <target name="build" depends="build13, build14"/>
-</project>
diff --git a/appserver/tests/appserv-tests/devtests/connector/v3/force-deploy-rar/ra/src/com/sun/jdbcra/util/MethodExecutor.java b/appserver/tests/appserv-tests/devtests/connector/v3/force-deploy-rar/ra/src/com/sun/jdbcra/util/MethodExecutor.java
deleted file mode 100755
index de4a961..0000000
--- a/appserver/tests/appserv-tests/devtests/connector/v3/force-deploy-rar/ra/src/com/sun/jdbcra/util/MethodExecutor.java
+++ /dev/null
@@ -1,168 +0,0 @@
-/*
- * Copyright (c) 2003, 2018 Oracle and/or its affiliates. All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v. 2.0, which is available at
- * http://www.eclipse.org/legal/epl-2.0.
- *
- * This Source Code may also be made available under the following Secondary
- * Licenses when the conditions for such availability set forth in the
- * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
- * version 2 with the GNU Classpath Exception, which is available at
- * https://www.gnu.org/software/classpath/license.html.
- *
- * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
- */
-
-package com.sun.jdbcra.util;
-
-import java.lang.reflect.Method;
-import java.lang.reflect.InvocationTargetException;
-import java.util.Vector;
-import jakarta.resource.ResourceException;
-
-import java.util.logging.Logger;
-import java.util.logging.Level;
-/**
- * Execute the methods based on the parameters.
- *
- * @version        1.0, 02/07/23
- * @author        Binod P.G
- */
-public class MethodExecutor implements java.io.Serializable{
-
-    private static Logger _logger;
-    static {
-        _logger = Logger.getAnonymousLogger();
-    }
-    private boolean debug = false;
-    /**
-     * Exceute a simple set Method.
-     *
-     * @param        value        Value to be set.
-     * @param        method        <code>Method</code> object.
-     * @param        obj        Object on which the method to be executed.
-     * @throws  <code>ResourceException</code>, in case of the mismatch of parameter values or
-     *                a security violation.
-     */
-    public void runJavaBeanMethod(String value, Method method, Object obj) throws ResourceException{
-            if (value==null || value.trim().equals("")) {
-                return;
-            }
-            try {
-                Class[] parameters = method.getParameterTypes();
-                if ( parameters.length == 1) {
-                    Object[] values = new Object[1];
-                        values[0] = convertType(parameters[0], value);
-                        method.invoke(obj, values);
-                }
-            } catch (IllegalAccessException iae) {
-            _logger.log(Level.SEVERE, "jdbc.exc_jb_val", iae);
-                throw new ResourceException("Access denied to execute the method :" + method.getName());
-            } catch (IllegalArgumentException ie) {
-            _logger.log(Level.SEVERE, "jdbc.exc_jb_val", ie);
-                throw new ResourceException("Arguments are wrong for the method :" + method.getName());
-            } catch (InvocationTargetException ite) {
-            _logger.log(Level.SEVERE, "jdbc.exc_jb_val", ite);
-                throw new ResourceException("Access denied to execute the method :" + method.getName());
-            }
-    }
-
-    /**
-     * Executes the method.
-     *
-     * @param        method <code>Method</code> object.
-     * @param        obj        Object on which the method to be executed.
-     * @param        values        Parameter values for executing the method.
-     * @throws  <code>ResourceException</code>, in case of the mismatch of parameter values or
-     *                a security violation.
-     */
-    public void runMethod(Method method, Object obj, Vector values) throws ResourceException{
-            try {
-            Class[] parameters = method.getParameterTypes();
-            if (values.size() != parameters.length) {
-                return;
-            }
-                Object[] actualValues = new Object[parameters.length];
-                for (int i =0; i<parameters.length ; i++) {
-                        String val = (String) values.get(i);
-                        if (val.trim().equals("NULL")) {
-                            actualValues[i] = null;
-                        } else {
-                            actualValues[i] = convertType(parameters[i], val);
-                        }
-                }
-                method.invoke(obj, actualValues);
-            }catch (IllegalAccessException iae) {
-            _logger.log(Level.SEVERE, "jdbc.exc_jb_val", iae);
-                throw new ResourceException("Access denied to execute the method :" + method.getName());
-            } catch (IllegalArgumentException ie) {
-            _logger.log(Level.SEVERE, "jdbc.exc_jb_val", ie);
-                throw new ResourceException("Arguments are wrong for the method :" + method.getName());
-            } catch (InvocationTargetException ite) {
-            _logger.log(Level.SEVERE, "jdbc.exc_jb_val", ite);
-                throw new ResourceException("Access denied to execute the method :" + method.getName());
-            }
-    }
-
-    /**
-     * Converts the type from String to the Class type.
-     *
-     * @param        type                Class name to which the conversion is required.
-     * @param        parameter        String value to be converted.
-     * @return        Converted value.
-     * @throws  <code>ResourceException</code>, in case of the mismatch of parameter values or
-     *                a security violation.
-     */
-    private Object convertType(Class type, String parameter) throws ResourceException{
-            try {
-                String typeName = type.getName();
-                if ( typeName.equals("java.lang.String") || typeName.equals("java.lang.Object")) {
-                        return parameter;
-                }
-
-                if (typeName.equals("int") || typeName.equals("java.lang.Integer")) {
-                        return new Integer(parameter);
-                }
-
-                if (typeName.equals("short") || typeName.equals("java.lang.Short")) {
-                        return new Short(parameter);
-                }
-
-                if (typeName.equals("byte") || typeName.equals("java.lang.Byte")) {
-                        return new Byte(parameter);
-                }
-
-                if (typeName.equals("long") || typeName.equals("java.lang.Long")) {
-                        return new Long(parameter);
-                }
-
-                if (typeName.equals("float") || typeName.equals("java.lang.Float")) {
-                        return new Float(parameter);
-                }
-
-                if (typeName.equals("double") || typeName.equals("java.lang.Double")) {
-                        return new Double(parameter);
-                }
-
-                if (typeName.equals("java.math.BigDecimal")) {
-                        return new java.math.BigDecimal(parameter);
-                }
-
-                if (typeName.equals("java.math.BigInteger")) {
-                        return new java.math.BigInteger(parameter);
-                }
-
-                if (typeName.equals("boolean") || typeName.equals("java.lang.Boolean")) {
-                        return new Boolean(parameter);
-            }
-
-                return parameter;
-            } catch (NumberFormatException nfe) {
-            _logger.log(Level.SEVERE, "jdbc.exc_nfe", parameter);
-                throw new ResourceException(parameter+": Not a valid value for this method ");
-            }
-    }
-
-}
-
diff --git a/appserver/tests/appserv-tests/devtests/connector/v3/force-deploy-rar/ra/src/com/sun/jdbcra/util/SecurityUtils.java b/appserver/tests/appserv-tests/devtests/connector/v3/force-deploy-rar/ra/src/com/sun/jdbcra/util/SecurityUtils.java
deleted file mode 100755
index bed9dd7..0000000
--- a/appserver/tests/appserv-tests/devtests/connector/v3/force-deploy-rar/ra/src/com/sun/jdbcra/util/SecurityUtils.java
+++ /dev/null
@@ -1,135 +0,0 @@
-/*
- * Copyright (c) 2003, 2018 Oracle and/or its affiliates. All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v. 2.0, which is available at
- * http://www.eclipse.org/legal/epl-2.0.
- *
- * This Source Code may also be made available under the following Secondary
- * Licenses when the conditions for such availability set forth in the
- * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
- * version 2 with the GNU Classpath Exception, which is available at
- * https://www.gnu.org/software/classpath/license.html.
- *
- * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
- */
-
-package com.sun.jdbcra.util;
-
-import javax.security.auth.Subject;
-import java.security.AccessController;
-import java.security.PrivilegedAction;
-import jakarta.resource.spi.security.PasswordCredential;
-import jakarta.resource.ResourceException;
-import jakarta.resource.spi.*;
-import com.sun.jdbcra.spi.ConnectionRequestInfo;
-import java.util.Set;
-import java.util.Iterator;
-
-/**
- * SecurityUtils for Generic JDBC Connector.
- *
- * @version        1.0, 02/07/22
- * @author        Evani Sai Surya Kiran
- */
-public class SecurityUtils {
-
-    /**
-     * This method returns the <code>PasswordCredential</code> object, given
-     * the <code>ManagedConnectionFactory</code>, subject and the
-     * <code>ConnectionRequestInfo</code>. It first checks if the
-     * <code>ConnectionRequestInfo</code> is null or not. If it is not null,
-     * it constructs a <code>PasswordCredential</code> object with
-     * the user and password fields from the <code>ConnectionRequestInfo</code> and returns this
-     * <code>PasswordCredential</code> object. If the <code>ConnectionRequestInfo</code>
-     * is null, it retrieves the <code>PasswordCredential</code> objects from
-     * the <code>Subject</code> parameter and returns the first
-     * <code>PasswordCredential</code> object which contains a
-     * <code>ManagedConnectionFactory</code>, instance equivalent
-     * to the <code>ManagedConnectionFactory</code>, parameter.
-     *
-     * @param        mcf        <code>ManagedConnectionFactory</code>
-     * @param        subject        <code>Subject</code>
-     * @param        info        <code>ConnectionRequestInfo</code>
-     * @return        <code>PasswordCredential</code>
-     * @throws        <code>ResourceException</code>        generic exception if operation fails
-     * @throws        <code>SecurityException</code>        if access to the <code>Subject</code> instance is denied
-     */
-    public static PasswordCredential getPasswordCredential(final ManagedConnectionFactory mcf,
-         final Subject subject, jakarta.resource.spi.ConnectionRequestInfo info) throws ResourceException {
-
-        if (info == null) {
-            if (subject == null) {
-                return null;
-            } else {
-                PasswordCredential pc = (PasswordCredential) AccessController.doPrivileged
-                    (new PrivilegedAction() {
-                        public Object run() {
-                            Set passwdCredentialSet = subject.getPrivateCredentials(PasswordCredential.class);
-                            Iterator iter = passwdCredentialSet.iterator();
-                            while (iter.hasNext()) {
-                                PasswordCredential temp = (PasswordCredential) iter.next();
-                                if (temp.getManagedConnectionFactory().equals(mcf)) {
-                                    return temp;
-                                }
-                            }
-                            return null;
-                        }
-                    });
-                if (pc == null) {
-                    throw new jakarta.resource.spi.SecurityException("No PasswordCredential found");
-                } else {
-                    return pc;
-                }
-            }
-        } else {
-            com.sun.jdbcra.spi.ConnectionRequestInfo cxReqInfo = (com.sun.jdbcra.spi.ConnectionRequestInfo) info;
-            PasswordCredential pc = new PasswordCredential(cxReqInfo.getUser(), cxReqInfo.getPassword().toCharArray());
-            pc.setManagedConnectionFactory(mcf);
-            return pc;
-        }
-    }
-
-    /**
-     * Returns true if two strings are equal; false otherwise
-     *
-     * @param        str1        <code>String</code>
-     * @param        str2        <code>String</code>
-     * @return        true        if the two strings are equal
-     *                false        otherwise
-     */
-    static private boolean isEqual(String str1, String str2) {
-        if (str1 == null) {
-            return (str2 == null);
-        } else {
-            return str1.equals(str2);
-        }
-    }
-
-    /**
-     * Returns true if two <code>PasswordCredential</code> objects are equal; false otherwise
-     *
-     * @param        pC1        <code>PasswordCredential</code>
-     * @param        pC2        <code>PasswordCredential</code>
-     * @return        true        if the two PasswordCredentials are equal
-     *                false        otherwise
-     */
-    static public boolean isPasswordCredentialEqual(PasswordCredential pC1, PasswordCredential pC2) {
-        if (pC1 == pC2)
-            return true;
-        if(pC1 == null || pC2 == null)
-            return (pC1 == pC2);
-        if (!isEqual(pC1.getUserName(), pC2.getUserName())) {
-            return false;
-        }
-        String p1 = null;
-        String p2 = null;
-        if (pC1.getPassword() != null) {
-            p1 = new String(pC1.getPassword());
-        }
-        if (pC2.getPassword() != null) {
-            p2 = new String(pC2.getPassword());
-        }
-        return (isEqual(p1, p2));
-    }
-}
diff --git a/appserver/tests/appserv-tests/devtests/connector/v3/force-deploy-rar/ra/src/com/sun/jdbcra/util/build.xml b/appserver/tests/appserv-tests/devtests/connector/v3/force-deploy-rar/ra/src/com/sun/jdbcra/util/build.xml
deleted file mode 100755
index f060e7d..0000000
--- a/appserver/tests/appserv-tests/devtests/connector/v3/force-deploy-rar/ra/src/com/sun/jdbcra/util/build.xml
+++ /dev/null
@@ -1,48 +0,0 @@
-<?xml version="1.0"?>
-<!--
-
-    Copyright (c) 2017, 2018 Oracle and/or its affiliates. All rights reserved.
-
-    This program and the accompanying materials are made available under the
-    terms of the Eclipse Public License v. 2.0, which is available at
-    http://www.eclipse.org/legal/epl-2.0.
-
-    This Source Code may also be made available under the following Secondary
-    Licenses when the conditions for such availability set forth in the
-    Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
-    version 2 with the GNU Classpath Exception, which is available 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 name="jdbc_connector" basedir="." default="build">
-  <property name="pkg.dir" value="com/sun/gjc/util"/>
-
-  <target name="clean">
-    <ant antfile="build.xml" dir="${gjc.home}/bin" target="clean"/>
-  </target>
-
-  <target name="compile">
-    <ant antfile="build.xml" dir="${gjc.home}/bin" target="compile"/>
-  </target>
-
-  <target name="package">
-    <mkdir dir="${dist.dir}/${pkg.dir}"/>
-      <jar jarfile="${dist.dir}/${pkg.dir}/util.jar" basedir="${class.dir}"
-        includes="${pkg.dir}/**/*"/>
-  </target>
-
-  <target name="compile13" depends="compile"/>
-  <target name="compile14" depends="compile"/>
-
-  <target name="package13" depends="package"/>
-  <target name="package14" depends="package"/>
-
-  <target name="build13" depends="compile13, package13"/>
-  <target name="build14" depends="compile14, package14"/>
-
-  <target name="build" depends="build13, build14"/>
-
-</project>
diff --git a/appserver/tests/appserv-tests/devtests/connector/v3/force-deploy-rar/versions/ver1/testjdbcra.rar b/appserver/tests/appserv-tests/devtests/connector/v3/force-deploy-rar/versions/ver1/testjdbcra.rar
deleted file mode 100644
index fc2e8b0..0000000
--- a/appserver/tests/appserv-tests/devtests/connector/v3/force-deploy-rar/versions/ver1/testjdbcra.rar
+++ /dev/null
Binary files differ
diff --git a/appserver/tests/appserv-tests/devtests/connector/v3/force-deploy-rar/versions/ver2/testjdbcra.rar b/appserver/tests/appserv-tests/devtests/connector/v3/force-deploy-rar/versions/ver2/testjdbcra.rar
deleted file mode 100644
index e85292a..0000000
--- a/appserver/tests/appserv-tests/devtests/connector/v3/force-deploy-rar/versions/ver2/testjdbcra.rar
+++ /dev/null
Binary files differ
diff --git a/appserver/tests/appserv-tests/devtests/connector/v3/installed-libraries-embedded/build.xml b/appserver/tests/appserv-tests/devtests/connector/v3/installed-libraries-embedded/build.xml
index 6b3412f..a782cd7 100755
--- a/appserver/tests/appserv-tests/devtests/connector/v3/installed-libraries-embedded/build.xml
+++ b/appserver/tests/appserv-tests/devtests/connector/v3/installed-libraries-embedded/build.xml
@@ -33,242 +33,219 @@
     &commonRun;
     &testproperties;
 
-<!--
-    <target name="all" depends="build,setup,deploy-war, run-war, undeploy-war, deploy-ear, run-ear, undeploy-ear, unsetup"/>
+  <target name="all"
+          depends="clean, disable-resource-validation, build, deploy-ear, setup, run-ear, unsetup, undeploy-ear, enable-resource-validation"
+  />
+  <target name="all-ext"
+          depends="clean, disable-resource-validation, build, deploy-ear, setup, run-ear, unsetup, undeploy-ear, enable-resource-validation"
+  />
 
-    <target name="run-test" depends="build,deploy-war, run-war, undeploy-war, deploy-ear, run-ear, undeploy-ear"/>
--->
-    <target name="all" depends="clean, disable-resource-validation, build-ra, build, deploy-ear, setup, run-ear, unsetup, undeploy-ear, enable-resource-validation"/>
-    <target name="all-ext" depends="clean, disable-resource-validation, build-ra-with-extension, build, deploy-ear, setup, run-ear, unsetup, undeploy-ear, enable-resource-validation"/>
+  <target name="clean" depends="init-common">
+    <antcall target="clean-common" />
+  </target>
 
-<!--
-        <antcall target="build"/>
-        <antcall target="setup"/>
-        <antcall target="deploy-war"/>
-        <antcall target="run-war"/>
-        <antcall target="undeploy-war"/>
-        <antcall target="deploy-ear"/>
-        <antcall target="run-ear"/>
-        <antcall target="undeploy-ear"/>
-        <antcall target="unsetup"/>
-    </target>
--->
-
-    <target name="clean" depends="init-common">
-      <antcall target="clean-common"/>
-    </target>
-
-    <target name="setup">
+  <target name="setup">
     <antcall target="execute-sql-connector">
-        <param name="sql.file" value="sql/simpleBank.sql"/>
+      <param name="sql.file" value="sql/simpleBank.sql" />
     </antcall>
-    <antcall target="create-pool"/>
-    <antcall target="create-resource"/>
-    <antcall target="create-admin-object"/>
+    <antcall target="create-pool" />
+    <antcall target="create-resource" />
+    <antcall target="create-admin-object" />
 
-    </target>
-    <target name="create-pool">
-                <antcall target="create-connector-connpool-common">
-                <param name="ra.name" value="${appname}App#jdbcra"/>
-                <param name="connection.defname" value="javax.sql.DataSource"/>
-                    <param name="extra-params" value="--matchconnections=false"/>
-                <param name="connector.conpool.name" value="embedded-ra-pool"/>
-                </antcall>
-                <antcall target="set-oracle-props">
-                <param name="pool.type" value="connector"/>
-                <param name="conpool.name" value="embedded-ra-pool"/>
-                </antcall>
-    </target>
-    <target name="create-resource">
-                <antcall target="create-connector-resource-common">
-                <param name="connector.conpool.name" value="embedded-ra-pool"/>
-                <param name="connector.jndi.name" value="jdbc/ejb-installed-libraries-embedded"/>
-                </antcall>
-     </target>
+  </target>
+  <target name="create-pool">
+    <antcall target="create-connector-connpool-common">
+      <param name="ra.name" value="${appname}App#connectors-ra-redeploy-rars" />
+      <param name="connection.defname" value="javax.sql.DataSource" />
+      <param name="extra-params" value="--matchconnections=false" />
+      <param name="connector.conpool.name" value="embedded-ra-pool" />
+    </antcall>
+    <antcall target="set-oracle-props">
+      <param name="pool.type" value="connector" />
+      <param name="conpool.name" value="embedded-ra-pool" />
+    </antcall>
+  </target>
+  <target name="create-resource">
+    <antcall target="create-connector-resource-common">
+      <param name="connector.conpool.name" value="embedded-ra-pool" />
+      <param name="connector.jndi.name" value="jdbc/ejb-installed-libraries-embedded" />
+    </antcall>
+  </target>
 
-        <target name="disable-resource-validation">
-                <antcall target="create-jvm-options">
-                        <param name="option" value="-Ddeployment.resource.validation=false"/>
-                </antcall>
-                <antcall target="restart-server"/>
-        </target>
+  <target name="disable-resource-validation">
+    <antcall target="create-jvm-options">
+      <param name="option" value="-Ddeployment.resource.validation=false" />
+    </antcall>
+    <antcall target="restart-server" />
+  </target>
 
-        <target name="enable-resource-validation">
-                <antcall target="delete-jvm-options">
-                        <param name="option" value="-Ddeployment.resource.validation=false"/>
-                </antcall>
-                <antcall target="restart-server"/>
-        </target>
+  <target name="enable-resource-validation">
+    <antcall target="delete-jvm-options">
+      <param name="option" value="-Ddeployment.resource.validation=false" />
+    </antcall>
+    <antcall target="restart-server" />
+  </target>
 
 
-     <target name="create-admin-object" depends="init-common">
-         <antcall target="asadmin-common">
-            <param name="admin.command" value="create-admin-object --target ${appserver.instance.name} --restype com.sun.jdbcra.spi.JdbcSetupAdmin --raname ${appname}App#jdbcra --property TableName=customer2:JndiName=jdbc/ejb-installed-libraries-embedded:SchemaName=DBUSER:NoOfRows=1"/>
-            <param name="operand.props" value="eis/jdbcAdmin"/>
-         </antcall>
-     </target>
+  <target name="create-admin-object" depends="init-common">
+    <antcall target="asadmin-common">
+      <param name="admin.command"
+             value="create-admin-object --target ${appserver.instance.name} --restype com.sun.jdbcra.spi.JdbcSetupAdmin --raname ${appname}App#connectors-ra-redeploy-rars --property TableName=customer2:JndiName=jdbc/ejb-installed-libraries-embedded:SchemaName=DBUSER:NoOfRows=1"
+      />
+      <param name="operand.props" value="eis/jdbcAdmin" />
+    </antcall>
+  </target>
 
-     <target name="delete-admin-object" depends="init-common">
-         <antcall target="asadmin-common">
-            <param name="admin.command" value="delete-admin-object"/>
-            <param name="operand.props" value="--target ${appserver.instance.name} eis/jdbcAdmin"/>
-         </antcall>
-         <!--<antcall target="reconfig-common"/>-->
-     </target>
+  <target name="delete-admin-object" depends="init-common">
+    <antcall target="asadmin-common">
+      <param name="admin.command" value="delete-admin-object" />
+      <param name="operand.props" value="--target ${appserver.instance.name} eis/jdbcAdmin" />
+    </antcall>
+  </target>
 
-    <target name="restart">
-    <antcall target="restart-server-instance-common"/>
-    </target>
+  <target name="restart">
+    <antcall target="restart-server-instance-common" />
+  </target>
 
-     <target name="create-ra-config" depends="init-common">
-         <antcall target="asadmin-common">
-            <param name="admin.command" value="create-resource-adapter-config  --property RAProperty=VALID"/>
-            <param name="operand.props" value="${appname}App#jdbcra"/>
-         </antcall>
-     </target>
+  <target name="create-ra-config" depends="init-common">
+    <antcall target="asadmin-common">
+      <param name="admin.command"
+             value="create-resource-adapter-config  --property RAProperty=VALID"
+      />
+      <param name="operand.props" value="${appname}App#connectors-ra-redeploy-rars" />
+    </antcall>
+  </target>
 
-     <target name="delete-ra-config" depends="init-common">
-         <antcall target="asadmin-common">
-            <param name="admin.command" value="delete-resource-adapter-config"/>
-            <param name="operand.props" value="${appname}App#jdbcra"/>
-         </antcall>
-         <!--<antcall target="reconfig-common"/>-->
-     </target>
+  <target name="delete-ra-config" depends="init-common">
+    <antcall target="asadmin-common">
+      <param name="admin.command" value="delete-resource-adapter-config" />
+      <param name="operand.props" value="${appname}App#connectors-ra-redeploy-rars" />
+    </antcall>
+  </target>
 
-    <target name="unsetup">
+  <target name="unsetup">
     <antcall target="execute-sql-connector">
-        <param name="sql.file" value="sql/dropBankTables.sql"/>
-      </antcall>
+      <param name="sql.file" value="sql/dropBankTables.sql" />
+    </antcall>
 
-    <antcall target="delete-resource"/>
-    <antcall target="delete-pool"/>
-    <antcall target="delete-admin-object"/>
-    </target>
+    <antcall target="delete-resource" />
+    <antcall target="delete-pool" />
+    <antcall target="delete-admin-object" />
+  </target>
 
-    <target name="delete-pool">
-                <antcall target="delete-connector-connpool-common">
-                <param name="connector.conpool.name" value="embedded-ra-pool"/>
-                </antcall>
-     </target>
+  <target name="delete-pool">
+    <antcall target="delete-connector-connpool-common">
+      <param name="connector.conpool.name" value="embedded-ra-pool" />
+    </antcall>
+  </target>
 
-     <target name="delete-resource">
-                <antcall target="delete-connector-resource-common">
-                <param name="connector.jndi.name" value="jdbc/ejb-installed-libraries-embedded"/>
-                </antcall>
-    </target>
+  <target name="delete-resource">
+    <antcall target="delete-connector-resource-common">
+      <param name="connector.jndi.name" value="jdbc/ejb-installed-libraries-embedded" />
+    </antcall>
+  </target>
 
-    <target name="compile" depends="clean">
-        <antcall target="compile-common">
-            <param name="src" value="ejb"/>
-        </antcall>
-        <antcall target="compile-servlet" />
-    </target>
+  <target name="compile" depends="clean">
+    <antcall target="compile-common">
+      <param name="src" value="ejb" />
+    </antcall>
+    <antcall target="compile-servlet" />
+  </target>
 
-    <target name="compile-servlet" depends="init-common">
-      <mkdir dir="${build.classes.dir}"/>
-      <echo message="common.xml: Compiling test source files" level="verbose"/>
-      <javac srcdir="servlet"
-         destdir="${build.classes.dir}"
-         classpath="${s1astest.classpath}:ra/publish/internal/classes"
-         debug="on"
-         failonerror="true"/>
-     </target>
+  <target name="compile-servlet" depends="init-common">
+    <mkdir dir="${build.classes.dir}" />
+    <echo message="common.xml: Compiling test source files" level="verbose" />
+    <javac srcdir="servlet"
+           destdir="${build.classes.dir}"
+           classpath="${s1astest.classpath}:${bundles.dir}/connectors-ra-redeploy-jars.jar"
+           debug="on"
+           failonerror="true"
+    />
+  </target>
 
-    <target  name="build-ra-with-extension">
-        <ant  dir="ra" target="build">
-            <property  name="jar.mf" value="${jar.ext}"/>
-            <property  name="rar.mf" value="${rar.ext}"/>
-        </ant>
-    </target>
-
-    <target name="build-ra">
-       <ant dir="ra" target="build">
-           <property  name="jar.mf" value="${jar.no.ext}"/>
-           <property  name="rar.mf" value="${rar.no.ext}"/>
-       </ant>
-    </target>
-
-    <target name="build" depends="compile">
-    <property name="hasWebclient" value="yes"/>
+  <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"/>
+      <param name="hasWebclient" value="yes" />
+      <param name="webclient.war.classes" value="**/*.class" />
     </antcall>
 
     <antcall target="ejb-jar-common">
-    <param name="ejbjar.classes" value="**/*.class"/>
+      <param name="ejbjar.classes" value="**/*.class" />
     </antcall>
 
 
-    <delete file="${assemble.dir}/${appname}.ear"/>
-    <mkdir dir="${assemble.dir}"/>
-    <mkdir dir="${build.classes.dir}/META-INF"/>
-    <ear earfile="${assemble.dir}/${appname}App.ear"
-     appxml="${application.xml}">
-    <fileset dir="${assemble.dir}">
-      <include name="*.jar"/>
-      <include name="*.war"/>
-    </fileset>
-    <fileset dir="ra/publish/lib">
-      <include name="*.rar"/>
-    </fileset>
+    <delete file="${assemble.dir}/${appname}.ear" />
+    <mkdir dir="${assemble.dir}" />
+    <mkdir dir="${build.classes.dir}/META-INF" />
+    <copy file="${bundles.dir}/connectors-ra-redeploy-rars-nojar.rar"
+      tofile="${assemble.dir}/connectors-ra-redeploy-rars.rar"
+    />
+    <ear earfile="${assemble.dir}/${appname}App.ear" appxml="${application.xml}">
+      <fileset dir="${assemble.dir}">
+        <include name="*.jar" />
+        <include name="*.war" />
+      </fileset>
+      <fileset dir="${assemble.dir}">
+        <include name="connectors-ra-redeploy-rars.rar" />
+      </fileset>
     </ear>
-    </target>
+  </target>
 
-    <target name="install-library">
-           <echo  message="copying file [jdbc.jar] to applibs"/>
-           <copy todir="${env.S1AS_HOME}/domains/domain1/lib/applibs" file="ra/publish/lib/jdbc.jar"/>
-           <antcall  target="restart-server"/>
-       </target>
+  <target name="install-library">
+    <echo message="copying file [jdbc.jar] to applibs" />
+    <copy file="${bundles.dir}/connectors-ra-redeploy-jars.jar" todir="${env.S1AS_HOME}/domains/domain1/lib/applibs" />
+    <antcall target="restart-server" />
+  </target>
 
-       <target  name="uninstall-library">
-           <echo  message="deleting file [jdbc.jar] from applibs"/>
-           <delete file="${env.S1AS_HOME}/domains/domain1/lib/applibs/jdbc.jar"/>
-           <antcall  target="restart-server"/>
-       </target>
+  <target name="uninstall-library">
+    <echo message="deleting file [jdbc.jar] from applibs" />
+    <delete file="${env.S1AS_HOME}/domains/domain1/lib/applibs/connectors-ra-redeploy-jars.jar" />
+    <antcall target="restart-server" />
+  </target>
 
-    <target name="deploy-ear" depends="init-common">
-        <antcall target="install-library"/>
-        <antcall target="create-ra-config"/>
-        <antcall target="deploy-common">
-         <param  name="libraries" value="jdbc.jar"/>
-        </antcall>
-    </target>
+  <target name="deploy-ear" depends="init-common">
+    <antcall target="install-library" />
+    <antcall target="create-ra-config" />
+    <antcall target="deploy-common">
+      <param name="libraries" value="connectors-ra-redeploy-jars.jar" />
+    </antcall>
+  </target>
 
-    <target name="deploy-ear-with-ext" depends="init-common">
-        <antcall target="install-library"/>
-        <antcall target="create-ra-config"/>
-        <antcall target="deploy-common"/>
-    </target>
+  <target name="deploy-ear-with-ext" depends="init-common">
+    <antcall target="install-library" />
+    <antcall target="create-ra-config" />
+    <antcall target="deploy-common" />
+  </target>
 
-    <target name="deploy-war" depends="init-common">
-        <antcall target="deploy-war-common"/>
-    </target>
+  <target name="deploy-war" depends="init-common">
+    <antcall target="deploy-war-common" />
+  </target>
 
-    <target name="run-war" depends="init-common">
-        <antcall target="runwebclient-common">
-        <param name="testsuite.id" value="installed-libraries-embedded (stand-alone war based)"/>
-        </antcall>
-    </target>
+  <target name="run-war" depends="init-common">
+    <antcall target="runwebclient-common">
+      <param name="testsuite.id" value="installed-libraries-embedded (stand-alone war based)" />
+    </antcall>
+  </target>
 
-    <target name="run-ear" depends="init-common">
-        <antcall target="runwebclient-common">
-        <param name="testsuite.id" value="installed-libraries-embedded (ear based)"/>
-        </antcall>
-    </target>
+  <target name="run-ear" depends="init-common">
+    <antcall target="runwebclient-common">
+      <param name="testsuite.id" value="installed-libraries-embedded (ear based)" />
+    </antcall>
+  </target>
 
-    <target name="undeploy-ear" depends="init-common">
-        <antcall target="delete-ra-config"/>
-        <antcall target="undeploy-common"/>
-        <antcall target="uninstall-library"/>
-    </target>
+  <target name="undeploy-ear" depends="init-common">
+    <antcall target="delete-ra-config" />
+    <antcall target="undeploy-common" />
+    <antcall target="uninstall-library" />
+  </target>
 
-    <target name="undeploy-war" depends="init-common">
-        <antcall target="undeploy-war-common"/>
-    </target>
+  <target name="undeploy-war" depends="init-common">
+    <antcall target="undeploy-war-common" />
+  </target>
 
-    <target name="usage">
-        <antcall target="usage-common"/>
-    </target>
+  <target name="usage">
+    <antcall target="usage-common" />
+  </target>
 </project>
diff --git a/appserver/tests/appserv-tests/devtests/connector/v3/installed-libraries-embedded/descriptor/application.xml b/appserver/tests/appserv-tests/devtests/connector/v3/installed-libraries-embedded/descriptor/application.xml
index 14d9b82..d71f857 100755
--- a/appserver/tests/appserv-tests/devtests/connector/v3/installed-libraries-embedded/descriptor/application.xml
+++ b/appserver/tests/appserv-tests/devtests/connector/v3/installed-libraries-embedded/descriptor/application.xml
@@ -25,7 +25,7 @@
   </module>
 
   <module>
-    <connector>jdbcra.rar</connector>
+    <connector>connectors-ra-redeploy-rars.rar</connector>
   </module>
 
   <module>
diff --git a/appserver/tests/appserv-tests/devtests/connector/v3/installed-libraries-embedded/ra/build.properties b/appserver/tests/appserv-tests/devtests/connector/v3/installed-libraries-embedded/ra/build.properties
deleted file mode 100755
index fd21c3d..0000000
--- a/appserver/tests/appserv-tests/devtests/connector/v3/installed-libraries-embedded/ra/build.properties
+++ /dev/null
@@ -1,23 +0,0 @@
-#
-# Copyright (c) 2002, 2018 Oracle and/or its affiliates. All rights reserved.
-#
-# This program and the accompanying materials are made available under the
-# terms of the Eclipse Public License v. 2.0, which is available at
-# http://www.eclipse.org/legal/epl-2.0.
-#
-# This Source Code may also be made available under the following Secondary
-# Licenses when the conditions for such availability set forth in the
-# Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
-# version 2 with the GNU Classpath Exception, which is available at
-# https://www.gnu.org/software/classpath/license.html.
-#
-# SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
-#
-
-
-### Component Properties ###
-src.dir=src
-component.publish.home=.
-component.classes.dir=${component.publish.home}/internal/classes
-component.lib.home=${component.publish.home}/lib
-component.publish.home=publish
diff --git a/appserver/tests/appserv-tests/devtests/connector/v3/installed-libraries-embedded/ra/build.xml b/appserver/tests/appserv-tests/devtests/connector/v3/installed-libraries-embedded/ra/build.xml
deleted file mode 100755
index af20916..0000000
--- a/appserver/tests/appserv-tests/devtests/connector/v3/installed-libraries-embedded/ra/build.xml
+++ /dev/null
@@ -1,92 +0,0 @@
-<!DOCTYPE project [
-<!--
-
-    Copyright (c) 2017, 2018 Oracle and/or its affiliates. All rights reserved.
-
-    This program and the accompanying materials are made available under the
-    terms of the Eclipse Public License v. 2.0, which is available at
-    http://www.eclipse.org/legal/epl-2.0.
-
-    This Source Code may also be made available under the following Secondary
-    Licenses when the conditions for such availability set forth in the
-    Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
-    version 2 with the GNU Classpath Exception, which is available at
-    https://www.gnu.org/software/classpath/license.html.
-
-    SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
-
--->
-
-  <!ENTITY common SYSTEM "../../../../../config/common.xml">
-  <!ENTITY testcommon SYSTEM "../../../../../config/properties.xml">
-]>
-
-<project name="JDBCConnector top level" default="build">
-    <property name="pkg.dir" value="com/sun/jdbcra/spi"/>
-
-    &common;
-    &testcommon;
-    <property file="./build.properties"/>
-
-    <target name="build" depends="clean,compile,assemble"/>
-
-
-    <!-- init. Initialization involves creating publishing directories and
-         OS specific targets. -->
-    <target name="init" description="${component.name} initialization">
-        <tstamp>
-            <format property="start.time" pattern="MM/dd/yyyy hh:mm aa"/>
-        </tstamp>
-        <echo message="Building component ${component.name}"/>
-        <mkdir dir="${component.classes.dir}"/>
-        <mkdir dir="${component.lib.home}"/>
-    </target>
-    <!-- compile -->
-    <target name="compile" depends="init"
-            description="Compile com/sun/* com/iplanet/* sources">
-        <!--<echo message="Connector api resides in ${connector-api.jar}"/>-->
-        <javac srcdir="${src.dir}"
-               destdir="${component.classes.dir}"
-               failonerror="true">
-            <classpath>
-                <fileset dir="${env.S1AS_HOME}/modules">
-                      <include name="**/*.jar" />
-                </fileset>
-            </classpath>
-            <include name="com/sun/jdbcra/**"/>
-            <include name="com/sun/appserv/**"/>
-        </javac>
-    </target>
-
-    <target name="all" depends="build"/>
-
-   <target name="assemble">
-
-        <jar jarfile="${component.lib.home}/jdbc.jar"  manifest="${jar.mf}"
-            basedir="${component.classes.dir}" includes="${pkg.dir}/**/*,
-            com/sun/appserv/**/*, com/sun/jdbcra/util/**/*, com/sun/jdbcra/common/**/*"/>
-
-        <copy file="${src.dir}/com/sun/jdbcra/spi/1.4/ra-ds.xml"
-                tofile="${component.lib.home}/ra.xml" overwrite="yes">
-        </copy>
-           <jar jarfile="${component.lib.home}/jdbcra.rar"
-                basedir="${component.lib.home}" manifest="${rar.mf}" excludes="jdbc.jar">
-
-                   <metainf dir="${component.lib.home}">
-                           <include name="ra.xml"/>
-                   </metainf>
-           </jar>
-
-           <delete file="${component.lib.home}/ra.xml"/>
-
-  </target>
-
-    <target name="clean" description="Clean the build">
-        <delete includeEmptyDirs="true" failonerror="false">
-            <fileset dir="${component.classes.dir}"/>
-            <fileset dir="${component.lib.home}"/>
-        </delete>
-    </target>
-
-</project>
-
diff --git a/appserver/tests/appserv-tests/devtests/connector/v3/installed-libraries-embedded/ra/jdbc.jar.MANIFEST.MF b/appserver/tests/appserv-tests/devtests/connector/v3/installed-libraries-embedded/ra/jdbc.jar.MANIFEST.MF
deleted file mode 100644
index 9dd0ea6..0000000
--- a/appserver/tests/appserv-tests/devtests/connector/v3/installed-libraries-embedded/ra/jdbc.jar.MANIFEST.MF
+++ /dev/null
@@ -1,4 +0,0 @@
-Manifest-Version: 1.0
-Ant-Version: Apache Ant 1.7.0
-Created-By: 16.0-b08 (Sun Microsystems Inc.)
-Extension-Name: jdbc.jar
diff --git a/appserver/tests/appserv-tests/devtests/connector/v3/installed-libraries-embedded/ra/jdbc.jar.no-ext.MANIFEST.MF b/appserver/tests/appserv-tests/devtests/connector/v3/installed-libraries-embedded/ra/jdbc.jar.no-ext.MANIFEST.MF
deleted file mode 100644
index 1ab48ca..0000000
--- a/appserver/tests/appserv-tests/devtests/connector/v3/installed-libraries-embedded/ra/jdbc.jar.no-ext.MANIFEST.MF
+++ /dev/null
@@ -1,3 +0,0 @@
-Manifest-Version: 1.0
-Ant-Version: Apache Ant 1.7.0
-Created-By: 16.0-b08 (Sun Microsystems Inc.)
diff --git a/appserver/tests/appserv-tests/devtests/connector/v3/installed-libraries-embedded/ra/jdbc.rar.MANIFEST.MF b/appserver/tests/appserv-tests/devtests/connector/v3/installed-libraries-embedded/ra/jdbc.rar.MANIFEST.MF
deleted file mode 100644
index f45c239..0000000
--- a/appserver/tests/appserv-tests/devtests/connector/v3/installed-libraries-embedded/ra/jdbc.rar.MANIFEST.MF
+++ /dev/null
@@ -1,5 +0,0 @@
-Manifest-Version: 1.0
-Ant-Version: Apache Ant 1.7.0
-Created-By: 16.0-b08 (Sun Microsystems Inc.)
-Extension-List: jdbc 
-jdbc-Extension-Name: jdbc.jar
diff --git a/appserver/tests/appserv-tests/devtests/connector/v3/installed-libraries-embedded/ra/jdbc.rar.no-ext.MANIFEST.MF b/appserver/tests/appserv-tests/devtests/connector/v3/installed-libraries-embedded/ra/jdbc.rar.no-ext.MANIFEST.MF
deleted file mode 100644
index 1ab48ca..0000000
--- a/appserver/tests/appserv-tests/devtests/connector/v3/installed-libraries-embedded/ra/jdbc.rar.no-ext.MANIFEST.MF
+++ /dev/null
@@ -1,3 +0,0 @@
-Manifest-Version: 1.0
-Ant-Version: Apache Ant 1.7.0
-Created-By: 16.0-b08 (Sun Microsystems Inc.)
diff --git a/appserver/tests/appserv-tests/devtests/connector/v3/installed-libraries-embedded/ra/src/com/sun/appserv/jdbcra/DataSource.java b/appserver/tests/appserv-tests/devtests/connector/v3/installed-libraries-embedded/ra/src/com/sun/appserv/jdbcra/DataSource.java
deleted file mode 100755
index b6ef30b..0000000
--- a/appserver/tests/appserv-tests/devtests/connector/v3/installed-libraries-embedded/ra/src/com/sun/appserv/jdbcra/DataSource.java
+++ /dev/null
@@ -1,55 +0,0 @@
-/*
- * Copyright (c) 2003, 2018 Oracle and/or its affiliates. All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v. 2.0, which is available at
- * http://www.eclipse.org/legal/epl-2.0.
- *
- * This Source Code may also be made available under the following Secondary
- * Licenses when the conditions for such availability set forth in the
- * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
- * version 2 with the GNU Classpath Exception, which is available at
- * https://www.gnu.org/software/classpath/license.html.
- *
- * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
- */
-
-package com.sun.appserv.jdbcra;
-
-import java.sql.Connection;
-import java.sql.SQLException;
-
-/**
- * The <code>javax.sql.DataSource</code> implementation of SunONE application
- * server will implement this interface. An application program would be able
- * to use this interface to do the extended functionality exposed by SunONE
- * application server.
- * <p>A sample code for getting driver's connection implementation would like
- * the following.
- * <pre>
-     InitialContext ic = new InitialContext();
-     com.sun.appserv.DataSource ds = (com.sun.appserv.DataSOurce) ic.lookup("jdbc/PointBase");
-     Connection con = ds.getConnection();
-     Connection drivercon = ds.getConnection(con);
-
-     // Do db operations.
-
-     con.close();
-   </pre>
- *
- * @author Binod P.G
- */
-public interface DataSource extends javax.sql.DataSource {
-
-    /**
-     * Retrieves the actual SQLConnection from the Connection wrapper
-     * implementation of SunONE application server. If an actual connection is
-     * supplied as argument, then it will be just returned.
-     *
-     * @param con Connection obtained from <code>Datasource.getConnection()</code>
-     * @return <code>java.sql.Connection</code> implementation of the driver.
-     * @throws <code>java.sql.SQLException</code> If connection cannot be obtained.
-     */
-    public Connection getConnection(Connection con) throws SQLException;
-
-}
diff --git a/appserver/tests/appserv-tests/devtests/connector/v3/installed-libraries-embedded/ra/src/com/sun/jdbcra/common/DataSourceObjectBuilder.java b/appserver/tests/appserv-tests/devtests/connector/v3/installed-libraries-embedded/ra/src/com/sun/jdbcra/common/DataSourceObjectBuilder.java
deleted file mode 100755
index 8c55d51..0000000
--- a/appserver/tests/appserv-tests/devtests/connector/v3/installed-libraries-embedded/ra/src/com/sun/jdbcra/common/DataSourceObjectBuilder.java
+++ /dev/null
@@ -1,218 +0,0 @@
-/*
- * Copyright (c) 2003, 2018 Oracle and/or its affiliates. All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v. 2.0, which is available at
- * http://www.eclipse.org/legal/epl-2.0.
- *
- * This Source Code may also be made available under the following Secondary
- * Licenses when the conditions for such availability set forth in the
- * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
- * version 2 with the GNU Classpath Exception, which is available at
- * https://www.gnu.org/software/classpath/license.html.
- *
- * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
- */
-
-package com.sun.jdbcra.common;
-
-import java.lang.reflect.Method;
-import java.util.Hashtable;
-import java.util.Vector;
-import java.util.StringTokenizer;
-import java.util.Enumeration;
-import com.sun.jdbcra.util.MethodExecutor;
-import jakarta.resource.ResourceException;
-
-import java.util.logging.Logger;
-import java.util.logging.Level;
-/**
- * Utility class, which would create necessary Datasource object according to the
- * specification.
- *
- * @version        1.0, 02/07/23
- * @author        Binod P.G
- * @see                com.sun.jdbcra.common.DataSourceSpec
- * @see                com.sun.jdbcra.util.MethodExcecutor
- */
-public class DataSourceObjectBuilder implements java.io.Serializable{
-
-    private DataSourceSpec spec;
-
-    private Hashtable driverProperties = null;
-
-    private MethodExecutor executor = null;
-
-    private static Logger _logger;
-    static {
-        _logger = Logger.getAnonymousLogger();
-    }
-    private boolean debug = false;
-    /**
-     * Construct a DataSource Object from the spec.
-     *
-     * @param        spec        <code> DataSourceSpec </code> object.
-     */
-    public DataSourceObjectBuilder(DataSourceSpec spec) {
-            this.spec = spec;
-            executor = new MethodExecutor();
-    }
-
-    /**
-     * Construct the DataSource Object from the spec.
-     *
-     * @return        Object constructed using the DataSourceSpec.
-     * @throws        <code>ResourceException</code> if the class is not found or some issue in executing
-     *                some method.
-     */
-    public Object constructDataSourceObject() throws ResourceException{
-            driverProperties = parseDriverProperties(spec);
-        Object dataSourceObject = getDataSourceObject();
-        System.out.println("V3-TEST : "  + dataSourceObject);
-        Method[] methods = dataSourceObject.getClass().getMethods();
-        for (int i=0; i < methods.length; i++) {
-            String methodName = methods[i].getName();
-            if (methodName.equalsIgnoreCase("setUser")){
-                    executor.runJavaBeanMethod(spec.getDetail(DataSourceSpec.USERNAME),methods[i],dataSourceObject);
-
-            } else if (methodName.equalsIgnoreCase("setPassword")){
-                    executor.runJavaBeanMethod(spec.getDetail(DataSourceSpec.PASSWORD),methods[i],dataSourceObject);
-
-            } else if (methodName.equalsIgnoreCase("setLoginTimeOut")){
-                    executor.runJavaBeanMethod(spec.getDetail(DataSourceSpec.LOGINTIMEOUT),methods[i],dataSourceObject);
-
-            } else if (methodName.equalsIgnoreCase("setLogWriter")){
-                    executor.runJavaBeanMethod(spec.getDetail(DataSourceSpec.LOGWRITER),methods[i],dataSourceObject);
-
-            } else if (methodName.equalsIgnoreCase("setDatabaseName")){
-                    executor.runJavaBeanMethod(spec.getDetail(DataSourceSpec.DATABASENAME),methods[i],dataSourceObject);
-
-            } else if (methodName.equalsIgnoreCase("setDataSourceName")){
-                    executor.runJavaBeanMethod(spec.getDetail(DataSourceSpec.DATASOURCENAME),methods[i],dataSourceObject);
-
-            } else if (methodName.equalsIgnoreCase("setDescription")){
-                    executor.runJavaBeanMethod(spec.getDetail(DataSourceSpec.DESCRIPTION),methods[i],dataSourceObject);
-
-            } else if (methodName.equalsIgnoreCase("setNetworkProtocol")){
-                    executor.runJavaBeanMethod(spec.getDetail(DataSourceSpec.NETWORKPROTOCOL),methods[i],dataSourceObject);
-
-            } else if (methodName.equalsIgnoreCase("setPortNumber")){
-                    executor.runJavaBeanMethod(spec.getDetail(DataSourceSpec.PORTNUMBER),methods[i],dataSourceObject);
-
-            } else if (methodName.equalsIgnoreCase("setRoleName")){
-                    executor.runJavaBeanMethod(spec.getDetail(DataSourceSpec.ROLENAME),methods[i],dataSourceObject);
-
-            } else if (methodName.equalsIgnoreCase("setServerName")){
-                    executor.runJavaBeanMethod(spec.getDetail(DataSourceSpec.SERVERNAME),methods[i],dataSourceObject);
-
-            } else if (methodName.equalsIgnoreCase("setMaxStatements")){
-                    executor.runJavaBeanMethod(spec.getDetail(DataSourceSpec.MAXSTATEMENTS),methods[i],dataSourceObject);
-
-            } else if (methodName.equalsIgnoreCase("setInitialPoolSize")){
-                    executor.runJavaBeanMethod(spec.getDetail(DataSourceSpec.INITIALPOOLSIZE),methods[i],dataSourceObject);
-
-            } else if (methodName.equalsIgnoreCase("setMinPoolSize")){
-                    executor.runJavaBeanMethod(spec.getDetail(DataSourceSpec.MINPOOLSIZE),methods[i],dataSourceObject);
-
-            } else if (methodName.equalsIgnoreCase("setMaxPoolSize")){
-                    executor.runJavaBeanMethod(spec.getDetail(DataSourceSpec.MAXPOOLSIZE),methods[i],dataSourceObject);
-
-            } else if (methodName.equalsIgnoreCase("setMaxIdleTime")){
-                    executor.runJavaBeanMethod(spec.getDetail(DataSourceSpec.MAXIDLETIME),methods[i],dataSourceObject);
-
-            } else if (methodName.equalsIgnoreCase("setPropertyCycle")){
-                    executor.runJavaBeanMethod(spec.getDetail(DataSourceSpec.PROPERTYCYCLE),methods[i],dataSourceObject);
-
-            } else if (driverProperties.containsKey(methodName.toUpperCase())){
-                    Vector values = (Vector) driverProperties.get(methodName.toUpperCase());
-                executor.runMethod(methods[i],dataSourceObject, values);
-            }
-        }
-        return dataSourceObject;
-    }
-
-    /**
-     * Get the extra driver properties from the DataSourceSpec object and
-     * parse them to a set of methodName and parameters. Prepare a hashtable
-     * containing these details and return.
-     *
-     * @param        spec        <code> DataSourceSpec </code> object.
-     * @return        Hashtable containing method names and parameters,
-     * @throws        ResourceException        If delimiter is not provided and property string
-     *                                        is not null.
-     */
-    private Hashtable parseDriverProperties(DataSourceSpec spec) throws ResourceException{
-            String delim = spec.getDetail(DataSourceSpec.DELIMITER);
-
-        String prop = spec.getDetail(DataSourceSpec.DRIVERPROPERTIES);
-        if ( prop == null || prop.trim().equals("")) {
-            return new Hashtable();
-        } else if (delim == null || delim.equals("")) {
-            throw new ResourceException ("Delimiter is not provided in the configuration");
-        }
-
-        Hashtable properties = new Hashtable();
-        delim = delim.trim();
-        String sep = delim+delim;
-        int sepLen = sep.length();
-        String cache = prop;
-        Vector methods = new Vector();
-
-        while (cache.indexOf(sep) != -1) {
-            int index = cache.indexOf(sep);
-            String name = cache.substring(0,index);
-            if (name.trim() != "") {
-                methods.add(name);
-                    cache = cache.substring(index+sepLen);
-            }
-        }
-
-            Enumeration allMethods = methods.elements();
-            while (allMethods.hasMoreElements()) {
-                String oneMethod = (String) allMethods.nextElement();
-                if (!oneMethod.trim().equals("")) {
-                        String methodName = null;
-                        Vector parms = new Vector();
-                        StringTokenizer methodDetails = new StringTokenizer(oneMethod,delim);
-                for (int i=0; methodDetails.hasMoreTokens();i++ ) {
-                    String token = (String) methodDetails.nextToken();
-                    if (i==0) {
-                            methodName = token.toUpperCase();
-                    } else {
-                            parms.add(token);
-                    }
-                }
-                properties.put(methodName,parms);
-                }
-            }
-            return properties;
-    }
-
-    /**
-     * Creates a Datasource object according to the spec.
-     *
-     * @return        Initial DataSource Object instance.
-     * @throws        <code>ResourceException</code> If class name is wrong or classpath is not set
-     *                properly.
-     */
-    private Object getDataSourceObject() throws ResourceException{
-            String className = spec.getDetail(DataSourceSpec.CLASSNAME);
-        try {
-            Class dataSourceClass = Class.forName(className);
-            Object dataSourceObject = dataSourceClass.newInstance();
-            System.out.println("V3-TEST : "  + dataSourceObject);
-            return dataSourceObject;
-        } catch(ClassNotFoundException cfne){
-            _logger.log(Level.SEVERE, "jdbc.exc_cnfe_ds", cfne);
-
-            throw new ResourceException("Class Name is wrong or Class path is not set for :" + className);
-        } catch(InstantiationException ce) {
-            _logger.log(Level.SEVERE, "jdbc.exc_inst", className);
-            throw new ResourceException("Error in instantiating" + className);
-        } catch(IllegalAccessException ce) {
-            _logger.log(Level.SEVERE, "jdbc.exc_acc_inst", className);
-            throw new ResourceException("Access Error in instantiating" + className);
-        }
-    }
-
-}
diff --git a/appserver/tests/appserv-tests/devtests/connector/v3/installed-libraries-embedded/ra/src/com/sun/jdbcra/common/DataSourceSpec.java b/appserver/tests/appserv-tests/devtests/connector/v3/installed-libraries-embedded/ra/src/com/sun/jdbcra/common/DataSourceSpec.java
deleted file mode 100755
index 1c4b072..0000000
--- a/appserver/tests/appserv-tests/devtests/connector/v3/installed-libraries-embedded/ra/src/com/sun/jdbcra/common/DataSourceSpec.java
+++ /dev/null
@@ -1,110 +0,0 @@
-/*
- * Copyright (c) 2003, 2018 Oracle and/or its affiliates. All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v. 2.0, which is available at
- * http://www.eclipse.org/legal/epl-2.0.
- *
- * This Source Code may also be made available under the following Secondary
- * Licenses when the conditions for such availability set forth in the
- * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
- * version 2 with the GNU Classpath Exception, which is available at
- * https://www.gnu.org/software/classpath/license.html.
- *
- * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
- */
-
-package com.sun.jdbcra.common;
-
-import java.util.Hashtable;
-
-/**
- * Encapsulate the DataSource object details obtained from
- * ManagedConnectionFactory.
- *
- * @version        1.0, 02/07/23
- * @author        Binod P.G
- */
-public class DataSourceSpec implements java.io.Serializable{
-
-    public static final int USERNAME                                = 1;
-    public static final int PASSWORD                                = 2;
-    public static final int URL                                        = 3;
-    public static final int LOGINTIMEOUT                        = 4;
-    public static final int LOGWRITER                                = 5;
-    public static final int DATABASENAME                        = 6;
-    public static final int DATASOURCENAME                        = 7;
-    public static final int DESCRIPTION                                = 8;
-    public static final int NETWORKPROTOCOL                        = 9;
-    public static final int PORTNUMBER                                = 10;
-    public static final int ROLENAME                                = 11;
-    public static final int SERVERNAME                                = 12;
-    public static final int MAXSTATEMENTS                        = 13;
-    public static final int INITIALPOOLSIZE                        = 14;
-    public static final int MINPOOLSIZE                                = 15;
-    public static final int MAXPOOLSIZE                                = 16;
-    public static final int MAXIDLETIME                                = 17;
-    public static final int PROPERTYCYCLE                        = 18;
-    public static final int DRIVERPROPERTIES                        = 19;
-    public static final int CLASSNAME                                = 20;
-    public static final int DELIMITER                                = 21;
-
-    public static final int XADATASOURCE                        = 22;
-    public static final int DATASOURCE                                = 23;
-    public static final int CONNECTIONPOOLDATASOURCE                = 24;
-
-    //GJCINT
-    public static final int CONNECTIONVALIDATIONREQUIRED        = 25;
-    public static final int VALIDATIONMETHOD                        = 26;
-    public static final int VALIDATIONTABLENAME                        = 27;
-
-    public static final int TRANSACTIONISOLATION                = 28;
-    public static final int GUARANTEEISOLATIONLEVEL                = 29;
-
-    private Hashtable details = new Hashtable();
-
-    /**
-     * Set the property.
-     *
-     * @param        property        Property Name to be set.
-     * @param        value                Value of property to be set.
-     */
-    public void setDetail(int property, String value) {
-            details.put(new Integer(property),value);
-    }
-
-    /**
-     * Get the value of property
-     *
-     * @return        Value of the property.
-     */
-    public String getDetail(int property) {
-            if (details.containsKey(new Integer(property))) {
-                return (String) details.get(new Integer(property));
-            } else {
-                return null;
-            }
-    }
-
-    /**
-     * Checks whether two <code>DataSourceSpec</code> objects
-     * are equal or not.
-     *
-     * @param        obj        Instance of <code>DataSourceSpec</code> object.
-     */
-    public boolean equals(Object obj) {
-            if (obj instanceof DataSourceSpec) {
-                return this.details.equals(((DataSourceSpec)obj).details);
-            }
-            return false;
-    }
-
-    /**
-     * Retrieves the hashCode of this <code>DataSourceSpec</code> object.
-     *
-     * @return        hashCode of this object.
-     */
-    public int hashCode() {
-            return this.details.hashCode();
-    }
-}
diff --git a/appserver/tests/appserv-tests/devtests/connector/v3/installed-libraries-embedded/ra/src/com/sun/jdbcra/common/build.xml b/appserver/tests/appserv-tests/devtests/connector/v3/installed-libraries-embedded/ra/src/com/sun/jdbcra/common/build.xml
deleted file mode 100755
index 3b4faeb..0000000
--- a/appserver/tests/appserv-tests/devtests/connector/v3/installed-libraries-embedded/ra/src/com/sun/jdbcra/common/build.xml
+++ /dev/null
@@ -1,48 +0,0 @@
-<?xml version="1.0"?>
-<!--
-
-    Copyright (c) 2017, 2018 Oracle and/or its affiliates. All rights reserved.
-
-    This program and the accompanying materials are made available under the
-    terms of the Eclipse Public License v. 2.0, which is available at
-    http://www.eclipse.org/legal/epl-2.0.
-
-    This Source Code may also be made available under the following Secondary
-    Licenses when the conditions for such availability set forth in the
-    Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
-    version 2 with the GNU Classpath Exception, which is available 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 name="jdbc_connector" basedir="." default="build">
-  <property name="pkg.dir" value="com/sun/gjc/common"/>
-
-  <target name="clean">
-    <ant antfile="build.xml" dir="${gjc.home}/bin" target="clean"/>
-  </target>
-
-  <target name="compile">
-    <ant antfile="build.xml" dir="${gjc.home}/bin" target="compile13"/>
-  </target>
-
-  <target name="package">
-    <mkdir dir="${dist.dir}/${pkg.dir}"/>
-      <jar jarfile="${dist.dir}/${pkg.dir}/common.jar" basedir="${class.dir}"
-        includes="${pkg.dir}/**/*"/>
-  </target>
-
-  <target name="compile13" depends="compile"/>
-  <target name="compile14" depends="compile"/>
-
-  <target name="package13" depends="package"/>
-  <target name="package14" depends="package"/>
-
-  <target name="build13" depends="compile13, package13"/>
-  <target name="build14" depends="compile14, package14"/>
-
-  <target name="build" depends="build13, build14"/>
-
-</project>
diff --git a/appserver/tests/appserv-tests/devtests/connector/v3/installed-libraries-embedded/ra/src/com/sun/jdbcra/spi/1.4/ConnectionHolder.java b/appserver/tests/appserv-tests/devtests/connector/v3/installed-libraries-embedded/ra/src/com/sun/jdbcra/spi/1.4/ConnectionHolder.java
deleted file mode 100755
index c6e2b60..0000000
--- a/appserver/tests/appserv-tests/devtests/connector/v3/installed-libraries-embedded/ra/src/com/sun/jdbcra/spi/1.4/ConnectionHolder.java
+++ /dev/null
@@ -1,677 +0,0 @@
-/*
- * Copyright (c) 2003, 2018 Oracle and/or its affiliates. All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v. 2.0, which is available at
- * http://www.eclipse.org/legal/epl-2.0.
- *
- * This Source Code may also be made available under the following Secondary
- * Licenses when the conditions for such availability set forth in the
- * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
- * version 2 with the GNU Classpath Exception, which is available at
- * https://www.gnu.org/software/classpath/license.html.
- *
- * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
- */
-
-package com.sun.jdbcra.spi;
-
-import java.sql.*;
-import java.util.Hashtable;
-import java.util.Map;
-import java.util.Enumeration;
-import java.util.Properties;
-import java.util.concurrent.Executor;
-
-/**
- * Holds the java.sql.Connection object, which is to be
- * passed to the application program.
- *
- * @version        1.0, 02/07/23
- * @author        Binod P.G
- */
-public class ConnectionHolder implements Connection{
-
-    private Connection con;
-
-    private ManagedConnection mc;
-
-    private boolean wrappedAlready = false;
-
-    private boolean isClosed = false;
-
-    private boolean valid = true;
-
-    private boolean active = false;
-    /**
-     * The active flag is false when the connection handle is
-     * created. When a method is invoked on this object, it asks
-     * the ManagedConnection if it can be the active connection
-     * handle out of the multiple connection handles. If the
-     * ManagedConnection reports that this connection handle
-     * can be active by setting this flag to true via the setActive
-     * function, the above method invocation succeeds; otherwise
-     * an exception is thrown.
-     */
-
-    /**
-     * Constructs a Connection holder.
-     *
-     * @param        con        <code>java.sql.Connection</code> object.
-     */
-    public ConnectionHolder(Connection con, ManagedConnection mc) {
-        this.con = con;
-        this.mc  = mc;
-    }
-
-    /**
-     * Returns the actual connection in this holder object.
-     *
-     * @return        Connection object.
-     */
-    Connection getConnection() {
-            return con;
-    }
-
-    /**
-     * Sets the flag to indicate that, the connection is wrapped already or not.
-     *
-     * @param        wrapFlag
-     */
-    void wrapped(boolean wrapFlag){
-        this.wrappedAlready = wrapFlag;
-    }
-
-    /**
-     * Returns whether it is wrapped already or not.
-     *
-     * @return        wrapped flag.
-     */
-    boolean isWrapped(){
-        return wrappedAlready;
-    }
-
-    /**
-     * Returns the <code>ManagedConnection</code> instance responsible
-     * for this connection.
-     *
-     * @return        <code>ManagedConnection</code> instance.
-     */
-    ManagedConnection getManagedConnection() {
-        return mc;
-    }
-
-    /**
-     * Replace the actual <code>java.sql.Connection</code> object with the one
-     * supplied. Also replace <code>ManagedConnection</code> link.
-     *
-     * @param        con <code>Connection</code> object.
-     * @param        mc  <code> ManagedConnection</code> object.
-     */
-    void associateConnection(Connection con, ManagedConnection mc) {
-            this.mc = mc;
-            this.con = con;
-    }
-
-    /**
-     * Clears all warnings reported for the underlying connection  object.
-     *
-     * @throws SQLException In case of a database error.
-     */
-    public void clearWarnings() throws SQLException{
-        checkValidity();
-        con.clearWarnings();
-    }
-
-    /**
-     * Closes the logical connection.
-     *
-     * @throws SQLException In case of a database error.
-     */
-    public void close() throws SQLException{
-        isClosed = true;
-        mc.connectionClosed(null, this);
-    }
-
-    /**
-     * Invalidates this object.
-     */
-    public void invalidate() {
-            valid = false;
-    }
-
-    /**
-     * Closes the physical connection involved in this.
-     *
-     * @throws SQLException In case of a database error.
-     */
-    void actualClose() throws SQLException{
-        con.close();
-    }
-
-    /**
-     * Commit the changes in the underlying Connection.
-     *
-     * @throws SQLException In case of a database error.
-     */
-    public void commit() throws SQLException {
-        checkValidity();
-            con.commit();
-    }
-
-    /**
-     * Creates a statement from the underlying Connection
-     *
-     * @return        <code>Statement</code> object.
-     * @throws SQLException In case of a database error.
-     */
-    public Statement createStatement() throws SQLException {
-        checkValidity();
-        return con.createStatement();
-    }
-
-    /**
-     * Creates a statement from the underlying Connection.
-     *
-     * @param        resultSetType        Type of the ResultSet
-     * @param        resultSetConcurrency        ResultSet Concurrency.
-     * @return        <code>Statement</code> object.
-     * @throws SQLException In case of a database error.
-     */
-    public Statement createStatement(int resultSetType, int resultSetConcurrency) throws SQLException {
-        checkValidity();
-        return con.createStatement(resultSetType, resultSetConcurrency);
-    }
-
-    /**
-     * Creates a statement from the underlying Connection.
-     *
-     * @param        resultSetType        Type of the ResultSet
-     * @param        resultSetConcurrency        ResultSet Concurrency.
-     * @param        resultSetHoldability        ResultSet Holdability.
-     * @return        <code>Statement</code> object.
-     * @throws SQLException In case of a database error.
-     */
-    public Statement createStatement(int resultSetType, int resultSetConcurrency,
-                                         int resultSetHoldabilty) throws SQLException {
-        checkValidity();
-        return con.createStatement(resultSetType, resultSetConcurrency,
-                                   resultSetHoldabilty);
-    }
-
-    /**
-     * Retrieves the current auto-commit mode for the underlying <code> Connection</code>.
-     *
-     * @return The current state of connection's auto-commit mode.
-     * @throws SQLException In case of a database error.
-     */
-    public boolean getAutoCommit() throws SQLException {
-        checkValidity();
-            return con.getAutoCommit();
-    }
-
-    /**
-     * Retrieves the underlying <code>Connection</code> object's catalog name.
-     *
-     * @return        Catalog Name.
-     * @throws SQLException In case of a database error.
-     */
-    public String getCatalog() throws SQLException {
-        checkValidity();
-        return con.getCatalog();
-    }
-
-    /**
-     * Retrieves the current holdability of <code>ResultSet</code> objects created
-     * using this connection object.
-     *
-     * @return        holdability value.
-     * @throws SQLException In case of a database error.
-     */
-    public int getHoldability() throws SQLException {
-        checkValidity();
-            return        con.getHoldability();
-    }
-
-    /**
-     * Retrieves the <code>DatabaseMetaData</code>object from the underlying
-     * <code> Connection </code> object.
-     *
-     * @return <code>DatabaseMetaData</code> object.
-     * @throws SQLException In case of a database error.
-     */
-    public DatabaseMetaData getMetaData() throws SQLException {
-        checkValidity();
-            return con.getMetaData();
-    }
-
-    /**
-     * Retrieves this <code>Connection</code> object's current transaction isolation level.
-     *
-     * @return Transaction level
-     * @throws SQLException In case of a database error.
-     */
-    public int getTransactionIsolation() throws SQLException {
-        checkValidity();
-        return con.getTransactionIsolation();
-    }
-
-    /**
-     * Retrieves the <code>Map</code> object associated with
-     * <code> Connection</code> Object.
-     *
-     * @return        TypeMap set in this object.
-     * @throws SQLException In case of a database error.
-     */
-    public Map getTypeMap() throws SQLException {
-        checkValidity();
-            return con.getTypeMap();
-    }
-
-/*
-    public void setTypeMap(Map<String, Class<?>> map) throws SQLException {
-        //To change body of implemented methods use File | Settings | File Templates.
-    }
-*/
-
-    /**
-     * Retrieves the the first warning reported by calls on the underlying
-     * <code>Connection</code> object.
-     *
-     * @return First <code> SQLWarning</code> Object or null.
-     * @throws SQLException In case of a database error.
-     */
-    public SQLWarning getWarnings() throws SQLException {
-        checkValidity();
-            return con.getWarnings();
-    }
-
-    /**
-     * Retrieves whether underlying <code>Connection</code> object is closed.
-     *
-     * @return        true if <code>Connection</code> object is closed, false
-     *                 if it is closed.
-     * @throws SQLException In case of a database error.
-     */
-    public boolean isClosed() throws SQLException {
-            return isClosed;
-    }
-
-    /**
-     * Retrieves whether this <code>Connection</code> object is read-only.
-     *
-     * @return        true if <code> Connection </code> is read-only, false other-wise
-     * @throws SQLException In case of a database error.
-     */
-    public boolean isReadOnly() throws SQLException {
-        checkValidity();
-            return con.isReadOnly();
-    }
-
-    /**
-     * Converts the given SQL statement into the system's native SQL grammer.
-     *
-     * @param        sql        SQL statement , to be converted.
-     * @return        Converted SQL string.
-     * @throws SQLException In case of a database error.
-     */
-    public String nativeSQL(String sql) throws SQLException {
-        checkValidity();
-            return con.nativeSQL(sql);
-    }
-
-    /**
-     * Creates a <code> CallableStatement </code> object for calling database
-     * stored procedures.
-     *
-     * @param        sql        SQL Statement
-     * @return <code> CallableStatement</code> object.
-     * @throws SQLException In case of a database error.
-     */
-    public CallableStatement prepareCall(String sql) throws SQLException {
-        checkValidity();
-            return con.prepareCall(sql);
-    }
-
-    /**
-     * Creates a <code> CallableStatement </code> object for calling database
-     * stored procedures.
-     *
-     * @param        sql        SQL Statement
-     * @param        resultSetType        Type of the ResultSet
-     * @param        resultSetConcurrency        ResultSet Concurrency.
-     * @return <code> CallableStatement</code> object.
-     * @throws SQLException In case of a database error.
-     */
-    public CallableStatement prepareCall(String sql,int resultSetType,
-                                            int resultSetConcurrency) throws SQLException{
-        checkValidity();
-            return con.prepareCall(sql, resultSetType, resultSetConcurrency);
-    }
-
-    /**
-     * Creates a <code> CallableStatement </code> object for calling database
-     * stored procedures.
-     *
-     * @param        sql        SQL Statement
-     * @param        resultSetType        Type of the ResultSet
-     * @param        resultSetConcurrency        ResultSet Concurrency.
-     * @param        resultSetHoldability        ResultSet Holdability.
-     * @return <code> CallableStatement</code> object.
-     * @throws SQLException In case of a database error.
-     */
-    public CallableStatement prepareCall(String sql, int resultSetType,
-                                             int resultSetConcurrency,
-                                             int resultSetHoldabilty) throws SQLException{
-        checkValidity();
-            return con.prepareCall(sql, resultSetType, resultSetConcurrency,
-                                   resultSetHoldabilty);
-    }
-
-    /**
-     * Creates a <code> PreparedStatement </code> object for sending
-     * paramterized SQL statements to database
-     *
-     * @param        sql        SQL Statement
-     * @return <code> PreparedStatement</code> object.
-     * @throws SQLException In case of a database error.
-     */
-    public PreparedStatement prepareStatement(String sql) throws SQLException {
-        checkValidity();
-            return con.prepareStatement(sql);
-    }
-
-    /**
-     * Creates a <code> PreparedStatement </code> object for sending
-     * paramterized SQL statements to database
-     *
-     * @param        sql        SQL Statement
-     * @param        autoGeneratedKeys a flag indicating AutoGeneratedKeys need to be returned.
-     * @return <code> PreparedStatement</code> object.
-     * @throws SQLException In case of a database error.
-     */
-    public PreparedStatement prepareStatement(String sql, int autoGeneratedKeys) throws SQLException {
-        checkValidity();
-            return con.prepareStatement(sql,autoGeneratedKeys);
-    }
-
-    /**
-     * Creates a <code> PreparedStatement </code> object for sending
-     * paramterized SQL statements to database
-     *
-     * @param        sql        SQL Statement
-     * @param        columnIndexes an array of column indexes indicating the columns that should be
-     *                returned from the inserted row or rows.
-     * @return <code> PreparedStatement</code> object.
-     * @throws SQLException In case of a database error.
-     */
-    public PreparedStatement prepareStatement(String sql, int[] columnIndexes) throws SQLException {
-        checkValidity();
-            return con.prepareStatement(sql,columnIndexes);
-    }
-
-    /**
-     * Creates a <code> PreparedStatement </code> object for sending
-     * paramterized SQL statements to database
-     *
-     * @param        sql        SQL Statement
-     * @param        resultSetType        Type of the ResultSet
-     * @param        resultSetConcurrency        ResultSet Concurrency.
-     * @return <code> PreparedStatement</code> object.
-     * @throws SQLException In case of a database error.
-     */
-    public PreparedStatement prepareStatement(String sql,int resultSetType,
-                                            int resultSetConcurrency) throws SQLException{
-        checkValidity();
-            return con.prepareStatement(sql, resultSetType, resultSetConcurrency);
-    }
-
-    /**
-     * Creates a <code> PreparedStatement </code> object for sending
-     * paramterized SQL statements to database
-     *
-     * @param        sql        SQL Statement
-     * @param        resultSetType        Type of the ResultSet
-     * @param        resultSetConcurrency        ResultSet Concurrency.
-     * @param        resultSetHoldability        ResultSet Holdability.
-     * @return <code> PreparedStatement</code> object.
-     * @throws SQLException In case of a database error.
-     */
-    public PreparedStatement prepareStatement(String sql, int resultSetType,
-                                             int resultSetConcurrency,
-                                             int resultSetHoldabilty) throws SQLException {
-        checkValidity();
-            return con.prepareStatement(sql, resultSetType, resultSetConcurrency,
-                                        resultSetHoldabilty);
-    }
-
-    /**
-     * Creates a <code> PreparedStatement </code> object for sending
-     * paramterized SQL statements to database
-     *
-     * @param        sql        SQL Statement
-     * @param        columnNames Name of bound columns.
-     * @return <code> PreparedStatement</code> object.
-     * @throws SQLException In case of a database error.
-     */
-    public PreparedStatement prepareStatement(String sql, String[] columnNames) throws SQLException {
-        checkValidity();
-            return con.prepareStatement(sql,columnNames);
-    }
-
-    public Clob createClob() throws SQLException {
-        return null;  //To change body of implemented methods use File | Settings | File Templates.
-    }
-
-    public Blob createBlob() throws SQLException {
-        return null;  //To change body of implemented methods use File | Settings | File Templates.
-    }
-
-    public NClob createNClob() throws SQLException {
-        return null;  //To change body of implemented methods use File | Settings | File Templates.
-    }
-
-    public SQLXML createSQLXML() throws SQLException {
-        return null;  //To change body of implemented methods use File | Settings | File Templates.
-    }
-
-    public boolean isValid(int timeout) throws SQLException {
-        return false;  //To change body of implemented methods use File | Settings | File Templates.
-    }
-
-    public void setClientInfo(String name, String value) throws SQLClientInfoException {
-        //To change body of implemented methods use File | Settings | File Templates.
-    }
-
-    public void setClientInfo(Properties properties) throws SQLClientInfoException {
-        //To change body of implemented methods use File | Settings | File Templates.
-    }
-
-    public String getClientInfo(String name) throws SQLException {
-        return null;  //To change body of implemented methods use File | Settings | File Templates.
-    }
-
-    public Properties getClientInfo() throws SQLException {
-        return null;  //To change body of implemented methods use File | Settings | File Templates.
-    }
-
-    public Array createArrayOf(String typeName, Object[] elements) throws SQLException {
-        return null;  //To change body of implemented methods use File | Settings | File Templates.
-    }
-
-    public Struct createStruct(String typeName, Object[] attributes) throws SQLException {
-        return null;  //To change body of implemented methods use File | Settings | File Templates.
-    }
-
-    /**
-     * Removes the given <code>Savepoint</code> object from the current transaction.
-     *
-     * @param        savepoint        <code>Savepoint</code> object
-     * @throws SQLException In case of a database error.
-     */
-    public void releaseSavepoint(Savepoint savepoint) throws SQLException {
-        checkValidity();
-            con.releaseSavepoint(savepoint);
-    }
-
-    /**
-     * Rolls back the changes made in the current transaction.
-     *
-     * @throws SQLException In case of a database error.
-     */
-    public void rollback() throws SQLException {
-        checkValidity();
-            con.rollback();
-    }
-
-    /**
-     * Rolls back the changes made after the savepoint.
-     *
-     * @throws SQLException In case of a database error.
-     */
-    public void rollback(Savepoint savepoint) throws SQLException {
-        checkValidity();
-            con.rollback(savepoint);
-    }
-
-    /**
-     * Sets the auto-commmit mode of the <code>Connection</code> object.
-     *
-     * @param        autoCommit boolean value indicating the auto-commit mode.
-     * @throws SQLException In case of a database error.
-     */
-    public void setAutoCommit(boolean autoCommit) throws SQLException {
-        checkValidity();
-            con.setAutoCommit(autoCommit);
-    }
-
-    /**
-     * Sets the catalog name to the <code>Connection</code> object
-     *
-     * @param        catalog        Catalog name.
-     * @throws SQLException In case of a database error.
-     */
-    public void setCatalog(String catalog) throws SQLException {
-        checkValidity();
-            con.setCatalog(catalog);
-    }
-
-    /**
-     * Sets the holdability of <code>ResultSet</code> objects created
-     * using this <code>Connection</code> object.
-     *
-     * @param        holdability        A <code>ResultSet</code> holdability constant
-     * @throws SQLException In case of a database error.
-     */
-    public void setHoldability(int holdability) throws SQLException {
-        checkValidity();
-             con.setHoldability(holdability);
-    }
-
-    /**
-     * Puts the connection in read-only mode as a hint to the driver to
-     * perform database optimizations.
-     *
-     * @param        readOnly  true enables read-only mode, false disables it.
-     * @throws SQLException In case of a database error.
-     */
-    public void setReadOnly(boolean readOnly) throws SQLException {
-        checkValidity();
-            con.setReadOnly(readOnly);
-    }
-
-    /**
-     * Creates and unnamed savepoint and returns an object corresponding to that.
-     *
-     * @return        <code>Savepoint</code> object.
-     * @throws SQLException In case of a database error.
-     */
-    public Savepoint setSavepoint() throws SQLException {
-        checkValidity();
-            return con.setSavepoint();
-    }
-
-    /**
-     * Creates a savepoint with the name and returns an object corresponding to that.
-     *
-     * @param        name        Name of the savepoint.
-     * @return        <code>Savepoint</code> object.
-     * @throws SQLException In case of a database error.
-     */
-    public Savepoint setSavepoint(String name) throws SQLException {
-        checkValidity();
-            return con.setSavepoint(name);
-    }
-
-    /**
-     * Creates the transaction isolation level.
-     *
-     * @param        level transaction isolation level.
-     * @throws SQLException In case of a database error.
-     */
-    public void setTransactionIsolation(int level) throws SQLException {
-        checkValidity();
-            con.setTransactionIsolation(level);
-    }
-
-    /**
-     * Installs the given <code>Map</code> object as the tyoe map for this
-     * <code> Connection </code> object.
-     *
-     * @param        map        <code>Map</code> a Map object to install.
-     * @throws SQLException In case of a database error.
-     */
-    public void setTypeMap(Map map) throws SQLException {
-        checkValidity();
-            con.setTypeMap(map);
-    }
-
-    public int getNetworkTimeout() throws SQLException {
-      throw new SQLFeatureNotSupportedException("Do not support Java 7 new feature.");
-    }
-
-    public void setNetworkTimeout(Executor executor, int milliseconds) throws SQLException {
-      throw new SQLFeatureNotSupportedException("Do not support Java 7 new feature.");
-    }
-
-    public void abort(Executor executor)  throws SQLException{
-      throw new SQLFeatureNotSupportedException("Do not support Java 7 new feature.");
-    }
-
-    public String getSchema() throws SQLException{
-      throw new SQLFeatureNotSupportedException("Do not support Java 7 new feature.");
-    }
-
-    public void setSchema(String schema) throws SQLException{
-      throw new SQLFeatureNotSupportedException("Do not support Java 7 new feature.");
-    }
-
-
-    /**
-     * Checks the validity of this object
-     */
-    private void checkValidity() throws SQLException {
-            if (isClosed) throw new SQLException ("Connection closed");
-            if (!valid) throw new SQLException ("Invalid Connection");
-            if(active == false) {
-                mc.checkIfActive(this);
-            }
-    }
-
-    /**
-     * Sets the active flag to true
-     *
-     * @param        actv        boolean
-     */
-    void setActive(boolean actv) {
-        active = actv;
-    }
-
-    public <T> T unwrap(Class<T> iface) throws SQLException {
-        return null;  //To change body of implemented methods use File | Settings | File Templates.
-    }
-
-    public boolean isWrapperFor(Class<?> iface) throws SQLException {
-        return false;  //To change body of implemented methods use File | Settings | File Templates.
-    }
-}
diff --git a/appserver/tests/appserv-tests/devtests/connector/v3/installed-libraries-embedded/ra/src/com/sun/jdbcra/spi/1.4/ManagedConnectionFactory.java b/appserver/tests/appserv-tests/devtests/connector/v3/installed-libraries-embedded/ra/src/com/sun/jdbcra/spi/1.4/ManagedConnectionFactory.java
deleted file mode 100755
index fb0fdab..0000000
--- a/appserver/tests/appserv-tests/devtests/connector/v3/installed-libraries-embedded/ra/src/com/sun/jdbcra/spi/1.4/ManagedConnectionFactory.java
+++ /dev/null
@@ -1,754 +0,0 @@
-/*
- * Copyright (c) 2003, 2018 Oracle and/or its affiliates. All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v. 2.0, which is available at
- * http://www.eclipse.org/legal/epl-2.0.
- *
- * This Source Code may also be made available under the following Secondary
- * Licenses when the conditions for such availability set forth in the
- * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
- * version 2 with the GNU Classpath Exception, which is available at
- * https://www.gnu.org/software/classpath/license.html.
- *
- * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
- */
-
-package com.sun.jdbcra.spi;
-
-import jakarta.resource.ResourceException;
-import jakarta.resource.spi.ConnectionRequestInfo;
-import com.sun.jdbcra.spi.ConnectionManager;
-import com.sun.jdbcra.util.SecurityUtils;
-import jakarta.resource.spi.security.PasswordCredential;
-import java.sql.DriverManager;
-import com.sun.jdbcra.common.DataSourceSpec;
-import com.sun.jdbcra.common.DataSourceObjectBuilder;
-import java.sql.SQLException;
-
-import java.util.logging.Logger;
-import java.util.logging.Level;
-/**
- * <code>ManagedConnectionFactory</code> implementation for Generic JDBC Connector.
- * This class is extended by the DataSource specific <code>ManagedConnection</code> factories
- * and the <code>ManagedConnectionFactory</code> for the <code>DriverManager</code>.
- *
- * @version        1.0, 02/08/03
- * @author        Evani Sai Surya Kiran
- */
-
-public abstract class ManagedConnectionFactory implements jakarta.resource.spi.ManagedConnectionFactory,
-    java.io.Serializable {
-
-    protected DataSourceSpec spec = new DataSourceSpec();
-    protected transient DataSourceObjectBuilder dsObjBuilder;
-
-    protected java.io.PrintWriter logWriter = null;
-    protected jakarta.resource.spi.ResourceAdapter ra = null;
-
-    private static Logger _logger;
-    static {
-        _logger = Logger.getAnonymousLogger();
-    }
-    private boolean debug = false;
-    /**
-     * Creates a Connection Factory instance. The <code>ConnectionManager</code> implementation
-     * of the resource adapter is used here.
-     *
-     * @return        Generic JDBC Connector implementation of <code>javax.sql.DataSource</code>
-     */
-    public Object createConnectionFactory() {
-        if(logWriter != null) {
-            logWriter.println("In createConnectionFactory()");
-        }
-        com.sun.jdbcra.spi.DataSource cf = new com.sun.jdbcra.spi.DataSource(
-            (jakarta.resource.spi.ManagedConnectionFactory)this, null);
-
-        return cf;
-    }
-
-    /**
-     * Creates a Connection Factory instance. The <code>ConnectionManager</code> implementation
-     * of the application server is used here.
-     *
-     * @param        cxManager        <code>ConnectionManager</code> passed by the application server
-     * @return        Generic JDBC Connector implementation of <code>javax.sql.DataSource</code>
-     */
-    public Object createConnectionFactory(jakarta.resource.spi.ConnectionManager cxManager) {
-        if(logWriter != null) {
-            logWriter.println("In createConnectionFactory(jakarta.resource.spi.ConnectionManager cxManager)");
-        }
-        com.sun.jdbcra.spi.DataSource cf = new com.sun.jdbcra.spi.DataSource(
-            (jakarta.resource.spi.ManagedConnectionFactory)this, cxManager);
-        return cf;
-    }
-
-    /**
-     * Creates a new physical connection to the underlying EIS resource
-     * manager.
-     *
-     * @param        subject        <code>Subject</code> instance passed by the application server
-     * @param        cxRequestInfo        <code>ConnectionRequestInfo</code> which may be created
-     *                                    as a result of the invocation <code>getConnection(user, password)</code>
-     *                                    on the <code>DataSource</code> object
-     * @return        <code>ManagedConnection</code> object created
-     * @throws        ResourceException        if there is an error in instantiating the
-     *                                         <code>DataSource</code> object used for the
-     *                                       creation of the <code>ManagedConnection</code> object
-     * @throws        SecurityException        if there ino <code>PasswordCredential</code> object
-     *                                         satisfying this request
-     * @throws        ResourceAllocationException        if there is an error in allocating the
-     *                                                physical connection
-     */
-    public abstract jakarta.resource.spi.ManagedConnection createManagedConnection(javax.security.auth.Subject subject,
-        ConnectionRequestInfo cxRequestInfo) throws ResourceException;
-
-    /**
-     * Check if this <code>ManagedConnectionFactory</code> is equal to
-     * another <code>ManagedConnectionFactory</code>.
-     *
-     * @param        other        <code>ManagedConnectionFactory</code> object for checking equality with
-     * @return        true        if the property sets of both the
-     *                        <code>ManagedConnectionFactory</code> objects are the same
-     *                false        otherwise
-     */
-    public abstract boolean equals(Object other);
-
-    /**
-     * Get the log writer for this <code>ManagedConnectionFactory</code> instance.
-     *
-     * @return        <code>PrintWriter</code> associated with this <code>ManagedConnectionFactory</code> instance
-     * @see        <code>setLogWriter</code>
-     */
-    public java.io.PrintWriter getLogWriter() {
-        return logWriter;
-    }
-
-    /**
-     * Get the <code>ResourceAdapter</code> for this <code>ManagedConnectionFactory</code> instance.
-     *
-     * @return        <code>ResourceAdapter</code> associated with this <code>ManagedConnectionFactory</code> instance
-     * @see        <code>setResourceAdapter</code>
-     */
-    public jakarta.resource.spi.ResourceAdapter getResourceAdapter() {
-        if(logWriter != null) {
-            logWriter.println("In getResourceAdapter");
-        }
-        return ra;
-    }
-
-    /**
-     * Returns the hash code for this <code>ManagedConnectionFactory</code>.
-     *
-     * @return        hash code for this <code>ManagedConnectionFactory</code>
-     */
-    public int hashCode(){
-        if(logWriter != null) {
-                logWriter.println("In hashCode");
-        }
-        return spec.hashCode();
-    }
-
-    /**
-     * Returns a matched <code>ManagedConnection</code> from the candidate
-     * set of <code>ManagedConnection</code> objects.
-     *
-     * @param        connectionSet        <code>Set</code> of  <code>ManagedConnection</code>
-     *                                objects passed by the application server
-     * @param        subject         passed by the application server
-     *                        for retrieving information required for matching
-     * @param        cxRequestInfo        <code>ConnectionRequestInfo</code> passed by the application server
-     *                                for retrieving information required for matching
-     * @return        <code>ManagedConnection</code> that is the best match satisfying this request
-     * @throws        ResourceException        if there is an error accessing the <code>Subject</code>
-     *                                        parameter or the <code>Set</code> of <code>ManagedConnection</code>
-     *                                        objects passed by the application server
-     */
-    public jakarta.resource.spi.ManagedConnection matchManagedConnections(java.util.Set connectionSet,
-        javax.security.auth.Subject subject, ConnectionRequestInfo cxRequestInfo) throws ResourceException {
-        if(logWriter != null) {
-            logWriter.println("In matchManagedConnections");
-        }
-
-        if(connectionSet == null) {
-            return null;
-        }
-
-        PasswordCredential pc = SecurityUtils.getPasswordCredential(this, subject, cxRequestInfo);
-
-        java.util.Iterator iter = connectionSet.iterator();
-        com.sun.jdbcra.spi.ManagedConnection mc = null;
-        while(iter.hasNext()) {
-            try {
-                mc = (com.sun.jdbcra.spi.ManagedConnection) iter.next();
-            } catch(java.util.NoSuchElementException nsee) {
-                _logger.log(Level.SEVERE, "jdbc.exc_iter");
-                throw new ResourceException(nsee.getMessage());
-            }
-            if(pc == null && this.equals(mc.getManagedConnectionFactory())) {
-                //GJCINT
-                try {
-                    isValid(mc);
-                    return mc;
-                } catch(ResourceException re) {
-                    _logger.log(Level.SEVERE, "jdbc.exc_re", re);
-                    mc.connectionErrorOccurred(re, null);
-                }
-            } else if(SecurityUtils.isPasswordCredentialEqual(pc, mc.getPasswordCredential()) == true) {
-                //GJCINT
-                try {
-                    isValid(mc);
-                    return mc;
-                } catch(ResourceException re) {
-                    _logger.log(Level.SEVERE, "jdbc.re");
-                    mc.connectionErrorOccurred(re, null);
-                }
-            }
-        }
-        return null;
-    }
-
-    //GJCINT
-    /**
-     * Checks if a <code>ManagedConnection</code> is to be validated or not
-     * and validates it or returns.
-     *
-     * @param        mc        <code>ManagedConnection</code> to be validated
-     * @throws        ResourceException        if the connection is not valid or
-     *                                          if validation method is not proper
-     */
-    void isValid(com.sun.jdbcra.spi.ManagedConnection mc) throws ResourceException {
-
-        if(mc.isTransactionInProgress()) {
-            return;
-        }
-
-        boolean connectionValidationRequired =
-            (new Boolean(spec.getDetail(DataSourceSpec.CONNECTIONVALIDATIONREQUIRED).toLowerCase())).booleanValue();
-        if( connectionValidationRequired == false || mc == null) {
-            return;
-        }
-
-
-        String validationMethod = spec.getDetail(DataSourceSpec.VALIDATIONMETHOD).toLowerCase();
-
-        mc.checkIfValid();
-        /**
-         * The above call checks if the actual physical connection
-         * is usable or not.
-         */
-        java.sql.Connection con = mc.getActualConnection();
-
-        if(validationMethod.equals("auto-commit") == true) {
-            isValidByAutoCommit(con);
-        } else if(validationMethod.equalsIgnoreCase("meta-data") == true) {
-            isValidByMetaData(con);
-        } else if(validationMethod.equalsIgnoreCase("table") == true) {
-            isValidByTableQuery(con, spec.getDetail(DataSourceSpec.VALIDATIONTABLENAME));
-        } else {
-            throw new ResourceException("The validation method is not proper");
-        }
-    }
-
-    /**
-     * Checks if a <code>java.sql.Connection</code> is valid or not
-     * by checking its auto commit property.
-     *
-     * @param        con        <code>java.sql.Connection</code> to be validated
-     * @throws        ResourceException        if the connection is not valid
-     */
-    protected void isValidByAutoCommit(java.sql.Connection con) throws ResourceException {
-        if(con == null) {
-            throw new ResourceException("The connection is not valid as "
-                + "the connection is null");
-        }
-
-        try {
-           // Notice that using something like
-           // dbCon.setAutoCommit(dbCon.getAutoCommit()) will cause problems with
-           // some drivers like sybase
-           // We do not validate connections that are already enlisted
-           //in a transaction
-           // We cycle autocommit to true and false to by-pass drivers that
-           // might cache the call to set autocomitt
-           // Also notice that some XA data sources will throw and exception if
-           // you try to call setAutoCommit, for them this method is not recommended
-
-           boolean ac = con.getAutoCommit();
-           if (ac) {
-                con.setAutoCommit(false);
-           } else {
-                con.rollback(); // prevents uncompleted transaction exceptions
-                con.setAutoCommit(true);
-           }
-
-           con.setAutoCommit(ac);
-
-        } catch(Exception sqle) {
-            _logger.log(Level.SEVERE, "jdbc.exc_autocommit");
-            throw new ResourceException(sqle.getMessage());
-        }
-    }
-
-    /**
-     * Checks if a <code>java.sql.Connection</code> is valid or not
-     * by checking its meta data.
-     *
-     * @param        con        <code>java.sql.Connection</code> to be validated
-     * @throws        ResourceException        if the connection is not valid
-     */
-    protected void isValidByMetaData(java.sql.Connection con) throws ResourceException {
-        if(con == null) {
-            throw new ResourceException("The connection is not valid as "
-                + "the connection is null");
-        }
-
-        try {
-            java.sql.DatabaseMetaData dmd = con.getMetaData();
-        } catch(Exception sqle) {
-            _logger.log(Level.SEVERE, "jdbc.exc_md");
-            throw new ResourceException("The connection is not valid as "
-                + "getting the meta data failed: " + sqle.getMessage());
-        }
-    }
-
-    /**
-     * Checks if a <code>java.sql.Connection</code> is valid or not
-     * by querying a table.
-     *
-     * @param        con        <code>java.sql.Connection</code> to be validated
-     * @param        tableName        table which should be queried
-     * @throws        ResourceException        if the connection is not valid
-     */
-    protected void isValidByTableQuery(java.sql.Connection con,
-        String tableName) throws ResourceException {
-        if(con == null) {
-            throw new ResourceException("The connection is not valid as "
-                + "the connection is null");
-        }
-
-        try {
-            java.sql.Statement stmt = con.createStatement();
-            java.sql.ResultSet rs = stmt.executeQuery("SELECT * FROM " + tableName);
-        } catch(Exception sqle) {
-            _logger.log(Level.SEVERE, "jdbc.exc_execute");
-            throw new ResourceException("The connection is not valid as "
-                + "querying the table " + tableName + " failed: " + sqle.getMessage());
-        }
-    }
-
-    /**
-     * Sets the isolation level specified in the <code>ConnectionRequestInfo</code>
-     * for the <code>ManagedConnection</code> passed.
-     *
-     * @param        mc        <code>ManagedConnection</code>
-     * @throws        ResourceException        if the isolation property is invalid
-     *                                        or if the isolation cannot be set over the connection
-     */
-    protected void setIsolation(com.sun.jdbcra.spi.ManagedConnection mc) throws ResourceException {
-
-            java.sql.Connection con = mc.getActualConnection();
-            if(con == null) {
-                return;
-            }
-
-            String tranIsolation = spec.getDetail(DataSourceSpec.TRANSACTIONISOLATION);
-            if(tranIsolation != null && tranIsolation.equals("") == false) {
-                int tranIsolationInt = getTransactionIsolationInt(tranIsolation);
-                try {
-                    con.setTransactionIsolation(tranIsolationInt);
-                } catch(java.sql.SQLException sqle) {
-                _logger.log(Level.SEVERE, "jdbc.exc_tx_level");
-                    throw new ResourceException("The transaction isolation could "
-                        + "not be set: " + sqle.getMessage());
-                }
-            }
-    }
-
-    /**
-     * Resets the isolation level for the <code>ManagedConnection</code> passed.
-     * If the transaction level is to be guaranteed to be the same as the one
-     * present when this <code>ManagedConnection</code> was created, as specified
-     * by the <code>ConnectionRequestInfo</code> passed, it sets the transaction
-     * isolation level from the <code>ConnectionRequestInfo</code> passed. Else,
-     * it sets it to the transaction isolation passed.
-     *
-     * @param        mc        <code>ManagedConnection</code>
-     * @param        tranIsol        int
-     * @throws        ResourceException        if the isolation property is invalid
-     *                                        or if the isolation cannot be set over the connection
-     */
-    void resetIsolation(com.sun.jdbcra.spi.ManagedConnection mc, int tranIsol) throws ResourceException {
-
-            java.sql.Connection con = mc.getActualConnection();
-            if(con == null) {
-                return;
-            }
-
-            String tranIsolation = spec.getDetail(DataSourceSpec.TRANSACTIONISOLATION);
-            if(tranIsolation != null && tranIsolation.equals("") == false) {
-                String guaranteeIsolationLevel = spec.getDetail(DataSourceSpec.GUARANTEEISOLATIONLEVEL);
-
-                if(guaranteeIsolationLevel != null && guaranteeIsolationLevel.equals("") == false) {
-                    boolean guarantee = (new Boolean(guaranteeIsolationLevel.toLowerCase())).booleanValue();
-
-                    if(guarantee) {
-                        int tranIsolationInt = getTransactionIsolationInt(tranIsolation);
-                        try {
-                            if(tranIsolationInt != con.getTransactionIsolation()) {
-                                con.setTransactionIsolation(tranIsolationInt);
-                            }
-                        } catch(java.sql.SQLException sqle) {
-                        _logger.log(Level.SEVERE, "jdbc.exc_tx_level");
-                            throw new ResourceException("The isolation level could not be set: "
-                                + sqle.getMessage());
-                        }
-                    } else {
-                        try {
-                            if(tranIsol != con.getTransactionIsolation()) {
-                                con.setTransactionIsolation(tranIsol);
-                            }
-                        } catch(java.sql.SQLException sqle) {
-                        _logger.log(Level.SEVERE, "jdbc.exc_tx_level");
-                            throw new ResourceException("The isolation level could not be set: "
-                                + sqle.getMessage());
-                        }
-                    }
-                }
-            }
-    }
-
-    /**
-     * Gets the integer equivalent of the string specifying
-     * the transaction isolation.
-     *
-     * @param        tranIsolation        string specifying the isolation level
-     * @return        tranIsolationInt        the <code>java.sql.Connection</code> constant
-     *                                        for the string specifying the isolation.
-     */
-    private int getTransactionIsolationInt(String tranIsolation) throws ResourceException {
-            if(tranIsolation.equalsIgnoreCase("read-uncommitted")) {
-                return java.sql.Connection.TRANSACTION_READ_UNCOMMITTED;
-            } else if(tranIsolation.equalsIgnoreCase("read-committed")) {
-                return java.sql.Connection.TRANSACTION_READ_COMMITTED;
-            } else if(tranIsolation.equalsIgnoreCase("repeatable-read")) {
-                return java.sql.Connection.TRANSACTION_REPEATABLE_READ;
-            } else if(tranIsolation.equalsIgnoreCase("serializable")) {
-                return java.sql.Connection.TRANSACTION_SERIALIZABLE;
-            } else {
-                throw new ResourceException("Invalid transaction isolation; the transaction "
-                    + "isolation level can be empty or any of the following: "
-                        + "read-uncommitted, read-committed, repeatable-read, serializable");
-            }
-    }
-
-    /**
-     * Set the log writer for this <code>ManagedConnectionFactory</code> instance.
-     *
-     * @param        out        <code>PrintWriter</code> passed by the application server
-     * @see        <code>getLogWriter</code>
-     */
-    public void setLogWriter(java.io.PrintWriter out) {
-        logWriter = out;
-    }
-
-    /**
-     * Set the associated <code>ResourceAdapter</code> JavaBean.
-     *
-     * @param        ra        <code>ResourceAdapter</code> associated with this
-     *                        <code>ManagedConnectionFactory</code> instance
-     * @see        <code>getResourceAdapter</code>
-     */
-    public void setResourceAdapter(jakarta.resource.spi.ResourceAdapter ra) {
-        this.ra = ra;
-    }
-
-    /**
-     * Sets the user name
-     *
-     * @param        user        <code>String</code>
-     */
-    public void setUser(String user) {
-        spec.setDetail(DataSourceSpec.USERNAME, user);
-    }
-
-    /**
-     * Gets the user name
-     *
-     * @return        user
-     */
-    public String getUser() {
-        return spec.getDetail(DataSourceSpec.USERNAME);
-    }
-
-    /**
-     * Sets the user name
-     *
-     * @param        user        <code>String</code>
-     */
-    public void setuser(String user) {
-        spec.setDetail(DataSourceSpec.USERNAME, user);
-    }
-
-    /**
-     * Gets the user name
-     *
-     * @return        user
-     */
-    public String getuser() {
-        return spec.getDetail(DataSourceSpec.USERNAME);
-    }
-
-    /**
-     * Sets the password
-     *
-     * @param        passwd        <code>String</code>
-     */
-    public void setPassword(String passwd) {
-        spec.setDetail(DataSourceSpec.PASSWORD, passwd);
-    }
-
-    /**
-     * Gets the password
-     *
-     * @return        passwd
-     */
-    public String getPassword() {
-        return spec.getDetail(DataSourceSpec.PASSWORD);
-    }
-
-    /**
-     * Sets the password
-     *
-     * @param        passwd        <code>String</code>
-     */
-    public void setpassword(String passwd) {
-        spec.setDetail(DataSourceSpec.PASSWORD, passwd);
-    }
-
-    /**
-     * Gets the password
-     *
-     * @return        passwd
-     */
-    public String getpassword() {
-        return spec.getDetail(DataSourceSpec.PASSWORD);
-    }
-
-    /**
-     * Sets the class name of the data source
-     *
-     * @param        className        <code>String</code>
-     */
-    public void setClassName(String className) {
-        spec.setDetail(DataSourceSpec.CLASSNAME, className);
-    }
-
-    /**
-     * Gets the class name of the data source
-     *
-     * @return        className
-     */
-    public String getClassName() {
-        return spec.getDetail(DataSourceSpec.CLASSNAME);
-    }
-
-    /**
-     * Sets the class name of the data source
-     *
-     * @param        className        <code>String</code>
-     */
-    public void setclassName(String className) {
-        spec.setDetail(DataSourceSpec.CLASSNAME, className);
-    }
-
-    /**
-     * Gets the class name of the data source
-     *
-     * @return        className
-     */
-    public String getclassName() {
-        return spec.getDetail(DataSourceSpec.CLASSNAME);
-    }
-
-    /**
-     * Sets if connection validation is required or not
-     *
-     * @param        conVldReq        <code>String</code>
-     */
-    public void setConnectionValidationRequired(String conVldReq) {
-        spec.setDetail(DataSourceSpec.CONNECTIONVALIDATIONREQUIRED, conVldReq);
-    }
-
-    /**
-     * Returns if connection validation is required or not
-     *
-     * @return        connection validation requirement
-     */
-    public String getConnectionValidationRequired() {
-        return spec.getDetail(DataSourceSpec.CONNECTIONVALIDATIONREQUIRED);
-    }
-
-    /**
-     * Sets if connection validation is required or not
-     *
-     * @param        conVldReq        <code>String</code>
-     */
-    public void setconnectionValidationRequired(String conVldReq) {
-        spec.setDetail(DataSourceSpec.CONNECTIONVALIDATIONREQUIRED, conVldReq);
-    }
-
-    /**
-     * Returns if connection validation is required or not
-     *
-     * @return        connection validation requirement
-     */
-    public String getconnectionValidationRequired() {
-        return spec.getDetail(DataSourceSpec.CONNECTIONVALIDATIONREQUIRED);
-    }
-
-    /**
-     * Sets the validation method required
-     *
-     * @param        validationMethod        <code>String</code>
-     */
-    public void setValidationMethod(String validationMethod) {
-            spec.setDetail(DataSourceSpec.VALIDATIONMETHOD, validationMethod);
-    }
-
-    /**
-     * Returns the connection validation method type
-     *
-     * @return        validation method
-     */
-    public String getValidationMethod() {
-        return spec.getDetail(DataSourceSpec.VALIDATIONMETHOD);
-    }
-
-    /**
-     * Sets the validation method required
-     *
-     * @param        validationMethod        <code>String</code>
-     */
-    public void setvalidationMethod(String validationMethod) {
-            spec.setDetail(DataSourceSpec.VALIDATIONMETHOD, validationMethod);
-    }
-
-    /**
-     * Returns the connection validation method type
-     *
-     * @return        validation method
-     */
-    public String getvalidationMethod() {
-        return spec.getDetail(DataSourceSpec.VALIDATIONMETHOD);
-    }
-
-    /**
-     * Sets the table checked for during validation
-     *
-     * @param        table        <code>String</code>
-     */
-    public void setValidationTableName(String table) {
-        spec.setDetail(DataSourceSpec.VALIDATIONTABLENAME, table);
-    }
-
-    /**
-     * Returns the table checked for during validation
-     *
-     * @return        table
-     */
-    public String getValidationTableName() {
-        return spec.getDetail(DataSourceSpec.VALIDATIONTABLENAME);
-    }
-
-    /**
-     * Sets the table checked for during validation
-     *
-     * @param        table        <code>String</code>
-     */
-    public void setvalidationTableName(String table) {
-        spec.setDetail(DataSourceSpec.VALIDATIONTABLENAME, table);
-    }
-
-    /**
-     * Returns the table checked for during validation
-     *
-     * @return        table
-     */
-    public String getvalidationTableName() {
-        return spec.getDetail(DataSourceSpec.VALIDATIONTABLENAME);
-    }
-
-    /**
-     * Sets the transaction isolation level
-     *
-     * @param        trnIsolation        <code>String</code>
-     */
-    public void setTransactionIsolation(String trnIsolation) {
-        spec.setDetail(DataSourceSpec.TRANSACTIONISOLATION, trnIsolation);
-    }
-
-    /**
-     * Returns the transaction isolation level
-     *
-     * @return        transaction isolation level
-     */
-    public String getTransactionIsolation() {
-        return spec.getDetail(DataSourceSpec.TRANSACTIONISOLATION);
-    }
-
-    /**
-     * Sets the transaction isolation level
-     *
-     * @param        trnIsolation        <code>String</code>
-     */
-    public void settransactionIsolation(String trnIsolation) {
-        spec.setDetail(DataSourceSpec.TRANSACTIONISOLATION, trnIsolation);
-    }
-
-    /**
-     * Returns the transaction isolation level
-     *
-     * @return        transaction isolation level
-     */
-    public String gettransactionIsolation() {
-        return spec.getDetail(DataSourceSpec.TRANSACTIONISOLATION);
-    }
-
-    /**
-     * Sets if the transaction isolation level is to be guaranteed
-     *
-     * @param        guaranteeIsolation        <code>String</code>
-     */
-    public void setGuaranteeIsolationLevel(String guaranteeIsolation) {
-        spec.setDetail(DataSourceSpec.GUARANTEEISOLATIONLEVEL, guaranteeIsolation);
-    }
-
-    /**
-     * Returns the transaction isolation level
-     *
-     * @return        isolation level guarantee
-     */
-    public String getGuaranteeIsolationLevel() {
-        return spec.getDetail(DataSourceSpec.GUARANTEEISOLATIONLEVEL);
-    }
-
-    /**
-     * Sets if the transaction isolation level is to be guaranteed
-     *
-     * @param        guaranteeIsolation        <code>String</code>
-     */
-    public void setguaranteeIsolationLevel(String guaranteeIsolation) {
-        spec.setDetail(DataSourceSpec.GUARANTEEISOLATIONLEVEL, guaranteeIsolation);
-    }
-
-    /**
-     * Returns the transaction isolation level
-     *
-     * @return        isolation level guarantee
-     */
-    public String getguaranteeIsolationLevel() {
-        return spec.getDetail(DataSourceSpec.GUARANTEEISOLATIONLEVEL);
-    }
-
-}
diff --git a/appserver/tests/appserv-tests/devtests/connector/v3/installed-libraries-embedded/ra/src/com/sun/jdbcra/spi/1.4/ResourceAdapter.java b/appserver/tests/appserv-tests/devtests/connector/v3/installed-libraries-embedded/ra/src/com/sun/jdbcra/spi/1.4/ResourceAdapter.java
deleted file mode 100755
index 5d5f989..0000000
--- a/appserver/tests/appserv-tests/devtests/connector/v3/installed-libraries-embedded/ra/src/com/sun/jdbcra/spi/1.4/ResourceAdapter.java
+++ /dev/null
@@ -1,108 +0,0 @@
-/*
- * Copyright (c) 2003, 2018 Oracle and/or its affiliates. All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v. 2.0, which is available at
- * http://www.eclipse.org/legal/epl-2.0.
- *
- * This Source Code may also be made available under the following Secondary
- * Licenses when the conditions for such availability set forth in the
- * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
- * version 2 with the GNU Classpath Exception, which is available at
- * https://www.gnu.org/software/classpath/license.html.
- *
- * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
- */
-
-package com.sun.jdbcra.spi;
-
-import jakarta.resource.spi.endpoint.MessageEndpointFactory;
-import jakarta.resource.NotSupportedException;
-import javax.transaction.xa.XAResource;
-import jakarta.resource.spi.*;
-
-/**
- * <code>ResourceAdapter</code> implementation for Generic JDBC Connector.
- *
- * @version        1.0, 02/08/05
- * @author        Evani Sai Surya Kiran
- */
-@Connector(
-        description = "Resource adapter wrapping Datasource implementation of driver",
-        displayName = "DataSource Resource Adapter",
-        vendorName = "Sun Microsystems",
-        eisType = "Database",
-        version = "1.0",
-        licenseRequired = false,
-        transactionSupport = TransactionSupport.TransactionSupportLevel.LocalTransaction,
-        authMechanisms = { @AuthenticationMechanism(
-            authMechanism = "BasicPassword",
-            credentialInterface = AuthenticationMechanism.CredentialInterface.PasswordCredential
-        )},
-        reauthenticationSupport = false
-)
-public class ResourceAdapter implements jakarta.resource.spi.ResourceAdapter {
-
-    public String raProp = null;
-
-    /**
-     * Empty method implementation for endpointActivation
-     * which just throws <code>NotSupportedException</code>
-     *
-     * @param        mef        <code>MessageEndpointFactory</code>
-     * @param        as        <code>ActivationSpec</code>
-     * @throws        <code>NotSupportedException</code>
-     */
-    public void endpointActivation(MessageEndpointFactory mef, ActivationSpec as) throws NotSupportedException {
-        throw new NotSupportedException("This method is not supported for this JDBC connector");
-    }
-
-    /**
-     * Empty method implementation for endpointDeactivation
-     *
-     * @param        mef        <code>MessageEndpointFactory</code>
-     * @param        as        <code>ActivationSpec</code>
-     */
-    public void endpointDeactivation(MessageEndpointFactory mef, ActivationSpec as) {
-
-    }
-
-    /**
-     * Empty method implementation for getXAResources
-     * which just throws <code>NotSupportedException</code>
-     *
-     * @param        specs        <code>ActivationSpec</code> array
-     * @throws        <code>NotSupportedException</code>
-     */
-    public XAResource[] getXAResources(ActivationSpec[] specs) throws NotSupportedException {
-        throw new NotSupportedException("This method is not supported for this JDBC connector");
-    }
-
-    /**
-     * Empty implementation of start method
-     *
-     * @param        ctx        <code>BootstrapContext</code>
-     */
-    public void start(BootstrapContext ctx) throws ResourceAdapterInternalException {
-        System.out.println("Resource Adapter is starting with configuration :" + raProp);
-        if (raProp == null || !raProp.equals("VALID")) {
-            throw new ResourceAdapterInternalException("Resource adapter cannot start. It is configured as : " + raProp);
-        }
-    }
-
-    /**
-     * Empty implementation of stop method
-     */
-    public void stop() {
-
-    }
-
-    public void setRAProperty(String s) {
-        raProp = s;
-    }
-
-    public String getRAProperty() {
-        return raProp;
-    }
-
-}
diff --git a/appserver/tests/appserv-tests/devtests/connector/v3/installed-libraries-embedded/ra/src/com/sun/jdbcra/spi/1.4/build.xml b/appserver/tests/appserv-tests/devtests/connector/v3/installed-libraries-embedded/ra/src/com/sun/jdbcra/spi/1.4/build.xml
deleted file mode 100755
index e006b1d..0000000
--- a/appserver/tests/appserv-tests/devtests/connector/v3/installed-libraries-embedded/ra/src/com/sun/jdbcra/spi/1.4/build.xml
+++ /dev/null
@@ -1,83 +0,0 @@
-<?xml version="1.0"?>
-<!--
-
-    Copyright (c) 2017, 2018 Oracle and/or its affiliates. All rights reserved.
-
-    This program and the accompanying materials are made available under the
-    terms of the Eclipse Public License v. 2.0, which is available at
-    http://www.eclipse.org/legal/epl-2.0.
-
-    This Source Code may also be made available under the following Secondary
-    Licenses when the conditions for such availability set forth in the
-    Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
-    version 2 with the GNU Classpath Exception, which is available 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 name="jdbc_connector" basedir="${gjc.home}" default="build">
-  <property name="pkg.dir" value="com/sun/gjc/spi"/>
-
-  <target name="clean">
-    <ant antfile="build.xml" dir="${gjc.home}/bin" target="clean"/>
-  </target>
-
-  <target name="compile14">
-    <ant antfile="build.xml" dir="${gjc.home}/bin" target="compile14"/>
-  </target>
-
-  <target name="package14">
-
-            <mkdir dir="${gjc.home}/dist/spi/1.5"/>
-
-        <jar jarfile="${gjc.home}/dist/spi/1.5/jdbc.jar" basedir="${class.dir}"
-        includes="${pkg.dir}/**/*, com/sun/gjc/util/**/*, com/sun/gjc/common/**/*" excludes="com/sun/gjc/cci/**/*,com/sun/gjc/spi/1.4/**/*"/>
-
-        <jar jarfile="${gjc.home}/dist/spi/1.5/__cp.rar" basedir="${gjc.home}/dist/spi/1.5" includes="jdbc.jar"/>
-        <copy file="${gjc.home}/src/com/sun/gjc/spi/1.4/ra-cp.xml" tofile="${gjc.home}/dist/spi/1.5/ra.xml" overwrite="yes">
-        </copy>
-           <jar jarfile="${gjc.home}/dist/spi/1.5/__cp.rar" update="yes">
-                   <metainf dir="${gjc.home}/dist/spi/1.5">
-                           <include name="ra.xml"/>
-                   </metainf>
-           </jar>
-
-           <jar jarfile="${gjc.home}/dist/spi/1.5/__xa.rar" basedir="${gjc.home}/dist/spi/1.5" includes="jdbc.jar"/>
-        <copy file="${gjc.home}/src/com/sun/gjc/spi/1.4/ra-xa.xml" tofile="${gjc.home}/dist/spi/1.5/ra.xml" overwrite="yes">
-        </copy>
-           <jar jarfile="${gjc.home}/dist/spi/1.5/__xa.rar" update="yes">
-                   <metainf dir="${gjc.home}/dist/spi/1.5">
-                           <include name="ra.xml"/>
-                   </metainf>
-           </jar>
-
-           <jar jarfile="${gjc.home}/dist/spi/1.5/__dm.rar" basedir="${gjc.home}/dist/spi/1.5" includes="jdbc.jar"/>
-        <copy file="${gjc.home}/src/com/sun/gjc/spi/1.4/ra-dm.xml" tofile="${gjc.home}/dist/spi/1.5/ra.xml" overwrite="yes">
-        </copy>
-           <jar jarfile="${gjc.home}/dist/spi/1.5/__dm.rar" update="yes">
-                   <metainf dir="${gjc.home}/dist/spi/1.5">
-                           <include name="ra.xml"/>
-                   </metainf>
-           </jar>
-
-           <jar jarfile="${gjc.home}/dist/spi/1.5/__ds.rar" basedir="${gjc.home}/dist/spi/1.5" includes="jdbc.jar"/>
-        <copy file="${gjc.home}/src/com/sun/gjc/spi/1.4/ra-ds.xml" tofile="${gjc.home}/dist/spi/1.5/ra.xml" overwrite="yes">
-        </copy>
-           <jar jarfile="${gjc.home}/dist/spi/1.5/__ds.rar" update="yes">
-                   <metainf dir="${gjc.home}/dist/spi/1.5">
-                           <include name="ra.xml"/>
-                   </metainf>
-           </jar>
-
-           <delete dir="${gjc.home}/dist/com"/>
-           <delete file="${gjc.home}/dist/spi/1.5/jdbc.jar"/>
-           <delete file="${gjc.home}/dist/spi/1.5/ra.xml"/>
-
-  </target>
-
-  <target name="build14" depends="compile14, package14"/>
-    <target name="build13"/>
-        <target name="build" depends="build14, build13"/>
-</project>
diff --git a/appserver/tests/appserv-tests/devtests/connector/v3/installed-libraries-embedded/ra/src/com/sun/jdbcra/spi/1.4/ra-ds.xml b/appserver/tests/appserv-tests/devtests/connector/v3/installed-libraries-embedded/ra/src/com/sun/jdbcra/spi/1.4/ra-ds.xml
deleted file mode 100755
index 09ce63d..0000000
--- a/appserver/tests/appserv-tests/devtests/connector/v3/installed-libraries-embedded/ra/src/com/sun/jdbcra/spi/1.4/ra-ds.xml
+++ /dev/null
@@ -1,121 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
-
-    Copyright (c) 2017, 2018 Oracle and/or its affiliates. All rights reserved.
-
-    This program and the accompanying materials are made available under the
-    terms of the Eclipse Public License v. 2.0, which is available at
-    http://www.eclipse.org/legal/epl-2.0.
-
-    This Source Code may also be made available under the following Secondary
-    Licenses when the conditions for such availability set forth in the
-    Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
-    version 2 with the GNU Classpath Exception, which is available at
-    https://www.gnu.org/software/classpath/license.html.
-
-    SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
-
--->
-
-<connector xmlns="http://java.sun.com/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-           metadata-complete="false" version="1.6" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/connector_1_6.xsd">
-
-    <vendor-name>Sun Microsystems</vendor-name>
-    <eis-type>Database</eis-type>
-    <resourceadapter-version>1.0</resourceadapter-version>
-
-    <resourceadapter>
-        <outbound-resourceadapter>
-            <connection-definition>
-                <managedconnectionfactory-class>com.sun.jdbcra.spi.DSManagedConnectionFactory</managedconnectionfactory-class>
-
-                <!-- There can be any number of these elements including 0 -->
-                <config-property>
-                    <config-property-name>User</config-property-name>
-                    <config-property-type>java.lang.String</config-property-type>
-                    <config-property-value>dbuser</config-property-value>
-                </config-property>
-                <config-property>
-                    <config-property-name>UserName</config-property-name>
-                    <config-property-type>java.lang.String</config-property-type>
-                    <config-property-value>dbuser</config-property-value>
-                </config-property>
-                <config-property>
-                    <config-property-name>Password</config-property-name>
-                    <config-property-type>java.lang.String</config-property-type>
-                    <config-property-value>dbpassword</config-property-value>
-                </config-property>
-               <config-property>
-                    <config-property-name>DatabaseName</config-property-name>
-                    <config-property-type>java.lang.String</config-property-type>
-                    <config-property-value>testdb</config-property-value>
-                </config-property>
-                <config-property>
-                    <config-property-name>URL</config-property-name>
-                    <config-property-type>java.lang.String</config-property-type>
-                    <config-property-value>jdbc:derby://localhost:1527/testdb;create=true</config-property-value>
-                </config-property>
-                <config-property>
-                    <config-property-name>Description</config-property-name>
-                    <config-property-type>java.lang.String</config-property-type>
-                    <config-property-value>Oracle thin driver Datasource</config-property-value>
-                 </config-property>
-                <config-property>
-                    <config-property-name>ClassName</config-property-name>
-                    <config-property-type>java.lang.String</config-property-type>
-                    <config-property-value>org.apache.derby.jdbc.ClientDataSource40</config-property-value>
-                </config-property>
-                <config-property>
-                      <config-property-name>ConnectionAttributes</config-property-name>
-                      <config-property-type>java.lang.String</config-property-type>
-                      <config-property-value>;create=true</config-property-value>
-              </config-property>
-                <connectionfactory-interface>javax.sql.DataSource</connectionfactory-interface>
-
-                <connectionfactory-impl-class>com.sun.jdbcra.spi.DataSource</connectionfactory-impl-class>
-
-                <connection-interface>java.sql.Connection</connection-interface>
-
-                <connection-impl-class>com.sun.jdbcra.spi.ConnectionHolder</connection-impl-class>
-
-            </connection-definition>
-
-            <transaction-support>LocalTransaction</transaction-support>
-            <authentication-mechanism>
-                <!-- There can be any number of "description" elements including 0 -->
-                <!-- Not including the "description" element -->
-
-                <authentication-mechanism-type>BasicPassword</authentication-mechanism-type>
-
-                <credential-interface>javax.resource.spi.security.PasswordCredential</credential-interface>
-            </authentication-mechanism>
-
-            <reauthentication-support>false</reauthentication-support>
-
-        </outbound-resourceadapter>
-        <adminobject>
-               <adminobject-interface>com.sun.jdbcra.spi.JdbcSetupAdmin</adminobject-interface>
-               <adminobject-class>com.sun.jdbcra.spi.JdbcSetupAdminImpl</adminobject-class>
-               <config-property>
-                   <config-property-name>TableName</config-property-name>
-                   <config-property-type>java.lang.String</config-property-type>
-                   <config-property-value></config-property-value>
-               </config-property>
-               <config-property>
-                   <config-property-name>SchemaName</config-property-name>
-                   <config-property-type>java.lang.String</config-property-type>
-                   <config-property-value></config-property-value>
-               </config-property>
-               <config-property>
-                   <config-property-name>JndiName</config-property-name>
-                   <config-property-type>java.lang.String</config-property-type>
-                   <config-property-value></config-property-value>
-               </config-property>
-               <config-property>
-                   <config-property-name>NoOfRows</config-property-name>
-                   <config-property-type>java.lang.Integer</config-property-type>
-                   <config-property-value>0</config-property-value>
-               </config-property>
-        </adminobject>
-    </resourceadapter>
-</connector>
diff --git a/appserver/tests/appserv-tests/devtests/connector/v3/installed-libraries-embedded/ra/src/com/sun/jdbcra/spi/ConnectionManager.java b/appserver/tests/appserv-tests/devtests/connector/v3/installed-libraries-embedded/ra/src/com/sun/jdbcra/spi/ConnectionManager.java
deleted file mode 100755
index 2ee36c5..0000000
--- a/appserver/tests/appserv-tests/devtests/connector/v3/installed-libraries-embedded/ra/src/com/sun/jdbcra/spi/ConnectionManager.java
+++ /dev/null
@@ -1,51 +0,0 @@
-/*
- * Copyright (c) 2003, 2018 Oracle and/or its affiliates. All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v. 2.0, which is available at
- * http://www.eclipse.org/legal/epl-2.0.
- *
- * This Source Code may also be made available under the following Secondary
- * Licenses when the conditions for such availability set forth in the
- * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
- * version 2 with the GNU Classpath Exception, which is available at
- * https://www.gnu.org/software/classpath/license.html.
- *
- * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
- */
-
-package com.sun.jdbcra.spi;
-
-import jakarta.resource.spi.ManagedConnectionFactory;
-import jakarta.resource.spi.ManagedConnection;
-import jakarta.resource.ResourceException;
-import jakarta.resource.spi.ConnectionRequestInfo;
-
-/**
- * ConnectionManager implementation for Generic JDBC Connector.
- *
- * @version        1.0, 02/07/31
- * @author        Binod P.G
- */
-public class ConnectionManager implements jakarta.resource.spi.ConnectionManager{
-
-    /**
-     * Returns a <code>Connection </code> object to the <code>ConnectionFactory</code>
-     *
-     * @param        mcf        <code>ManagedConnectionFactory</code> object.
-     * @param        info        <code>ConnectionRequestInfo</code> object.
-     * @return        A <code>Connection</code> Object.
-     * @throws        ResourceException In case of an error in getting the <code>Connection</code>.
-     */
-    public Object allocateConnection(ManagedConnectionFactory mcf,
-                                         ConnectionRequestInfo info)
-                                         throws ResourceException {
-        ManagedConnection mc = mcf.createManagedConnection(null, info);
-        return mc.getConnection(null, info);
-    }
-
-    /*
-     * This class could effectively implement Connection pooling also.
-     * Could be done for FCS.
-     */
-}
diff --git a/appserver/tests/appserv-tests/devtests/connector/v3/installed-libraries-embedded/ra/src/com/sun/jdbcra/spi/ConnectionRequestInfo.java b/appserver/tests/appserv-tests/devtests/connector/v3/installed-libraries-embedded/ra/src/com/sun/jdbcra/spi/ConnectionRequestInfo.java
deleted file mode 100755
index ddd0a28..0000000
--- a/appserver/tests/appserv-tests/devtests/connector/v3/installed-libraries-embedded/ra/src/com/sun/jdbcra/spi/ConnectionRequestInfo.java
+++ /dev/null
@@ -1,99 +0,0 @@
-/*
- * Copyright (c) 2003, 2018 Oracle and/or its affiliates. All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v. 2.0, which is available at
- * http://www.eclipse.org/legal/epl-2.0.
- *
- * This Source Code may also be made available under the following Secondary
- * Licenses when the conditions for such availability set forth in the
- * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
- * version 2 with the GNU Classpath Exception, which is available at
- * https://www.gnu.org/software/classpath/license.html.
- *
- * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
- */
-
-package com.sun.jdbcra.spi;
-
-/**
- * ConnectionRequestInfo implementation for Generic JDBC Connector.
- *
- * @version        1.0, 02/07/31
- * @author        Binod P.G
- */
-public class ConnectionRequestInfo implements jakarta.resource.spi.ConnectionRequestInfo{
-
-    private String user;
-    private String password;
-
-    /**
-     * Constructs a new <code>ConnectionRequestInfo</code> object
-     *
-     * @param        user        User Name.
-     * @param        password        Password
-     */
-    public ConnectionRequestInfo(String user, String password) {
-        this.user = user;
-        this.password = password;
-    }
-
-    /**
-     * Retrieves the user name of the ConnectionRequestInfo.
-     *
-     * @return        User name of ConnectionRequestInfo.
-     */
-    public String getUser() {
-        return user;
-    }
-
-    /**
-     * Retrieves the password of the ConnectionRequestInfo.
-     *
-     * @return        Password of ConnectionRequestInfo.
-     */
-    public String getPassword() {
-        return password;
-    }
-
-    /**
-     * Verify whether two ConnectionRequestInfos are equal.
-     *
-     * @return        True, if they are equal and false otherwise.
-     */
-    public boolean equals(Object obj) {
-        if (obj == null) return false;
-        if (obj instanceof ConnectionRequestInfo) {
-            ConnectionRequestInfo other = (ConnectionRequestInfo) obj;
-            return (isEqual(this.user, other.user) &&
-                    isEqual(this.password, other.password));
-        } else {
-            return false;
-        }
-    }
-
-    /**
-     * Retrieves the hashcode of the object.
-     *
-     * @return        hashCode.
-     */
-    public int hashCode() {
-        String result = "" + user + password;
-        return result.hashCode();
-    }
-
-    /**
-     * Compares two objects.
-     *
-     * @param        o1        First object.
-     * @param        o2        Second object.
-     */
-    private boolean isEqual(Object o1, Object o2) {
-        if (o1 == null) {
-            return (o2 == null);
-        } else {
-            return o1.equals(o2);
-        }
-    }
-
-}
diff --git a/appserver/tests/appserv-tests/devtests/connector/v3/installed-libraries-embedded/ra/src/com/sun/jdbcra/spi/DataSource.java b/appserver/tests/appserv-tests/devtests/connector/v3/installed-libraries-embedded/ra/src/com/sun/jdbcra/spi/DataSource.java
deleted file mode 100755
index 4436215..0000000
--- a/appserver/tests/appserv-tests/devtests/connector/v3/installed-libraries-embedded/ra/src/com/sun/jdbcra/spi/DataSource.java
+++ /dev/null
@@ -1,212 +0,0 @@
-/*
- * Copyright (c) 2003, 2018 Oracle and/or its affiliates. All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v. 2.0, which is available at
- * http://www.eclipse.org/legal/epl-2.0.
- *
- * This Source Code may also be made available under the following Secondary
- * Licenses when the conditions for such availability set forth in the
- * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
- * version 2 with the GNU Classpath Exception, which is available at
- * https://www.gnu.org/software/classpath/license.html.
- *
- * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
- */
-
-package com.sun.jdbcra.spi;
-
-import java.io.PrintWriter;
-import java.sql.Connection;
-import java.sql.SQLException;
-import java.sql.SQLFeatureNotSupportedException;
-import jakarta.resource.spi.ManagedConnectionFactory;
-import jakarta.resource.spi.ConnectionManager;
-import jakarta.resource.ResourceException;
-import javax.naming.Reference;
-
-import java.util.logging.Logger;
-import java.util.logging.Level;
-/**
- * Holds the <code>java.sql.Connection</code> object, which is to be
- * passed to the application program.
- *
- * @version        1.0, 02/07/31
- * @author        Binod P.G
- */
-public class DataSource implements javax.sql.DataSource, java.io.Serializable,
-                com.sun.appserv.jdbcra.DataSource, jakarta.resource.Referenceable{
-
-    private ManagedConnectionFactory mcf;
-    private ConnectionManager cm;
-    private int loginTimeout;
-    private PrintWriter logWriter;
-    private String description;
-    private Reference reference;
-
-    private static Logger _logger;
-    static {
-        _logger = Logger.getAnonymousLogger();
-    }
-    private boolean debug = false;
-
-    /**
-     * Constructs <code>DataSource</code> object. This is created by the
-     * <code>ManagedConnectionFactory</code> object.
-     *
-     * @param        mcf        <code>ManagedConnectionFactory</code> object
-     *                        creating this object.
-     * @param        cm        <code>ConnectionManager</code> object either associated
-     *                        with Application server or Resource Adapter.
-     */
-    public DataSource (ManagedConnectionFactory mcf, ConnectionManager cm) {
-            this.mcf = mcf;
-            if (cm == null) {
-                this.cm = (ConnectionManager) new com.sun.jdbcra.spi.ConnectionManager();
-            } else {
-                this.cm = cm;
-            }
-    }
-
-    /**
-     * Retrieves the <code> Connection </code> object.
-     *
-     * @return        <code> Connection </code> object.
-     * @throws SQLException In case of an error.
-     */
-    public Connection getConnection() throws SQLException {
-            try {
-                return (Connection) cm.allocateConnection(mcf,null);
-            } catch (ResourceException re) {
-// This is temporary. This needs to be changed to SEVERE after TP
-            _logger.log(Level.WARNING, "jdbc.exc_get_conn", re.getMessage());
-            re.printStackTrace();
-                throw new SQLException (re.getMessage());
-            }
-    }
-
-    /**
-     * Retrieves the <code> Connection </code> object.
-     *
-     * @param        user        User name for the Connection.
-     * @param        pwd        Password for the Connection.
-     * @return        <code> Connection </code> object.
-     * @throws SQLException In case of an error.
-     */
-    public Connection getConnection(String user, String pwd) throws SQLException {
-            try {
-                ConnectionRequestInfo info = new ConnectionRequestInfo (user, pwd);
-                return (Connection) cm.allocateConnection(mcf,info);
-            } catch (ResourceException re) {
-// This is temporary. This needs to be changed to SEVERE after TP
-            _logger.log(Level.WARNING, "jdbc.exc_get_conn", re.getMessage());
-                throw new SQLException (re.getMessage());
-            }
-    }
-
-    /**
-     * Retrieves the actual SQLConnection from the Connection wrapper
-     * implementation of SunONE application server. If an actual connection is
-     * supplied as argument, then it will be just returned.
-     *
-     * @param con Connection obtained from <code>Datasource.getConnection()</code>
-     * @return <code>java.sql.Connection</code> implementation of the driver.
-     * @throws <code>java.sql.SQLException</code> If connection cannot be obtained.
-     */
-    public Connection getConnection(Connection con) throws SQLException {
-
-        Connection driverCon = con;
-        if (con instanceof com.sun.jdbcra.spi.ConnectionHolder) {
-           driverCon = ((com.sun.jdbcra.spi.ConnectionHolder) con).getConnection();
-        }
-
-        return driverCon;
-    }
-
-    /**
-     * Get the login timeout
-     *
-     * @return login timeout.
-     * @throws        SQLException        If a database error occurs.
-     */
-    public int getLoginTimeout() throws SQLException{
-            return        loginTimeout;
-    }
-
-    /**
-     * Set the login timeout
-     *
-     * @param        loginTimeout        Login timeout.
-     * @throws        SQLException        If a database error occurs.
-     */
-    public void setLoginTimeout(int loginTimeout) throws SQLException{
-            this.loginTimeout = loginTimeout;
-    }
-
-    /**
-     * Get the logwriter object.
-     *
-     * @return <code> PrintWriter </code> object.
-     * @throws        SQLException        If a database error occurs.
-     */
-    public PrintWriter getLogWriter() throws SQLException{
-            return        logWriter;
-    }
-
-    /**
-     * Set the logwriter on this object.
-     *
-     * @param <code>PrintWriter</code> object.
-     * @throws        SQLException        If a database error occurs.
-     */
-    public void setLogWriter(PrintWriter logWriter) throws SQLException{
-            this.logWriter = logWriter;
-    }
-
-    public Logger getParentLogger() throws SQLFeatureNotSupportedException{
-      throw new SQLFeatureNotSupportedException("Do not support Java 7 feature.");
-    }
-    /**
-     * Retrieves the description.
-     *
-     * @return        Description about the DataSource.
-     */
-    public String getDescription() {
-            return description;
-    }
-
-    /**
-     * Set the description.
-     *
-     * @param description Description about the DataSource.
-     */
-    public void setDescription(String description) {
-            this.description = description;
-    }
-
-    /**
-     * Get the reference.
-     *
-     * @return <code>Reference</code>object.
-     */
-    public Reference getReference() {
-            return reference;
-    }
-
-    /**
-     * Get the reference.
-     *
-     * @param        reference <code>Reference</code> object.
-     */
-    public void setReference(Reference reference) {
-            this.reference = reference;
-    }
-
-    public <T> T unwrap(Class<T> iface) throws SQLException {
-        return null;  //To change body of implemented methods use File | Settings | File Templates.
-    }
-
-    public boolean isWrapperFor(Class<?> iface) throws SQLException {
-        return false;  //To change body of implemented methods use File | Settings | File Templates.
-    }
-}
diff --git a/appserver/tests/appserv-tests/devtests/connector/v3/installed-libraries-embedded/ra/src/com/sun/jdbcra/spi/JdbcSetupAdmin.java b/appserver/tests/appserv-tests/devtests/connector/v3/installed-libraries-embedded/ra/src/com/sun/jdbcra/spi/JdbcSetupAdmin.java
deleted file mode 100755
index bec0d6b..0000000
--- a/appserver/tests/appserv-tests/devtests/connector/v3/installed-libraries-embedded/ra/src/com/sun/jdbcra/spi/JdbcSetupAdmin.java
+++ /dev/null
@@ -1,39 +0,0 @@
-/*
- * Copyright (c) 2017, 2018 Oracle and/or its affiliates. All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v. 2.0, which is available at
- * http://www.eclipse.org/legal/epl-2.0.
- *
- * This Source Code may also be made available under the following Secondary
- * Licenses when the conditions for such availability set forth in the
- * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
- * version 2 with the GNU Classpath Exception, which is available at
- * https://www.gnu.org/software/classpath/license.html.
- *
- * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
- */
-
-package com.sun.jdbcra.spi;
-
-public interface JdbcSetupAdmin {
-
-    public void setTableName(String db);
-
-    public String getTableName();
-
-    public void setJndiName(String name);
-
-    public String getJndiName();
-
-    public void setSchemaName(String name);
-
-    public String getSchemaName();
-
-    public void setNoOfRows(Integer i);
-
-    public Integer getNoOfRows();
-
-    public boolean checkSetup();
-
-}
diff --git a/appserver/tests/appserv-tests/devtests/connector/v3/installed-libraries-embedded/ra/src/com/sun/jdbcra/spi/JdbcSetupAdminImpl.java b/appserver/tests/appserv-tests/devtests/connector/v3/installed-libraries-embedded/ra/src/com/sun/jdbcra/spi/JdbcSetupAdminImpl.java
deleted file mode 100755
index 0ade38f..0000000
--- a/appserver/tests/appserv-tests/devtests/connector/v3/installed-libraries-embedded/ra/src/com/sun/jdbcra/spi/JdbcSetupAdminImpl.java
+++ /dev/null
@@ -1,201 +0,0 @@
-/*
- * Copyright (c) 2017, 2018 Oracle and/or its affiliates. All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v. 2.0, which is available at
- * http://www.eclipse.org/legal/epl-2.0.
- *
- * This Source Code may also be made available under the following Secondary
- * Licenses when the conditions for such availability set forth in the
- * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
- * version 2 with the GNU Classpath Exception, which is available at
- * https://www.gnu.org/software/classpath/license.html.
- *
- * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
- */
-
-package com.sun.jdbcra.spi;
-
-import javax.naming.*;
-import javax.sql.*;
-import jakarta.resource.spi.Activation;
-import jakarta.resource.spi.AdministeredObject;
-import jakarta.resource.spi.ConfigProperty;
-import java.sql.*;
-// import javax.sql.DataSource;
-@AdministeredObject(
-        adminObjectInterfaces = {com.sun.jdbcra.spi.JdbcSetupAdmin.class}
-)
-public class JdbcSetupAdminImpl implements JdbcSetupAdmin {
-
-    private String tableName;
-
-    private String jndiName;
-
-    private String schemaName;
-
-    private Integer noOfRows;
-
-    @ConfigProperty(
-            type = java.lang.String.class
-    )
-    public void setTableName(String db) {
-        tableName = db;
-    }
-
-    public String getTableName(){
-        return tableName;
-    }
-
-    @ConfigProperty(
-            type = java.lang.String.class
-    )
-    public void setJndiName(String name){
-        jndiName = name;
-    }
-
-    public String getJndiName() {
-        return jndiName;
-    }
-
-    @ConfigProperty(
-            type = java.lang.String.class
-    )
-    public void setSchemaName(String name){
-        schemaName = name;
-    }
-
-    public String getSchemaName() {
-        return schemaName;
-    }
-
-    @ConfigProperty(
-            type = java.lang.Integer.class,
-            defaultValue = "0"
-    )
-    public void setNoOfRows(Integer i) {
-        System.out.println("Setting no of rows :" + i);
-        noOfRows = i;
-    }
-
-    public Integer getNoOfRows() {
-        return noOfRows;
-    }
-
-private void printHierarchy(ClassLoader cl, int cnt){
-while(cl != null) {
-        for(int i =0; i < cnt; i++)
-                System.out.print(" " );
-        System.out.println("PARENT :" + cl);
-        cl = cl.getParent();
-        cnt += 3;
-}
-}
-
-private void compareHierarchy(ClassLoader cl1, ClassLoader cl2 , int cnt){
-while(cl1 != null || cl2 != null) {
-        for(int i =0; i < cnt; i++)
-                System.out.print(" " );
-        System.out.println("PARENT of ClassLoader 1 :" + cl1);
-        System.out.println("PARENT of ClassLoader 2 :" + cl2);
-        System.out.println("EQUALS : " + (cl1 == cl2));
-        cl1 = cl1.getParent();
-        cl2 = cl2.getParent();
-        cnt += 3;
-}
-}
-
-
-    public boolean checkSetup(){
-
-        if (jndiName== null || jndiName.trim().equals("")) {
-           return false;
-        }
-
-        if (tableName== null || tableName.trim().equals("")) {
-           return false;
-        }
-
-        Connection con = null;
-        Statement s = null;
-        ResultSet rs = null;
-        boolean b = false;
-        try {
-            InitialContext ic = new InitialContext();
-        //debug
-        Class clz = DataSource.class;
-/*
-        if(clz.getClassLoader() != null) {
-                System.out.println("DataSource's clasxs : " +  clz.getName() +  " classloader " + clz.getClassLoader());
-                printHierarchy(clz.getClassLoader().getParent(), 8);
-        }
-        Class cls = ic.lookup(jndiName).getClass();
-        System.out.println("Looked up class's : " + cls.getPackage() + ":" + cls.getName()  + " classloader "  + cls.getClassLoader());
-        printHierarchy(cls.getClassLoader().getParent(), 8);
-
-        System.out.println("Classloaders equal ? " +  (clz.getClassLoader() == cls.getClassLoader()));
-        System.out.println("&*&*&*&* Comparing Hierachy DataSource vs lookedup");
-        if(clz.getClassLoader() != null) {
-                compareHierarchy(clz.getClassLoader(), cls.getClassLoader(), 8);
-        }
-
-        System.out.println("Before lookup");
-*/
-        Object o = ic.lookup(jndiName);
-//        System.out.println("after lookup lookup");
-
-            DataSource ds = (DataSource)o ;
-/*
-        System.out.println("after cast");
-        System.out.println("---------- Trying our Stuff !!!");
-        try {
-                Class o1 = (Class.forName("com.sun.jdbcra.spi.DataSource"));
-                ClassLoader cl1 = o1.getClassLoader();
-                ClassLoader cl2 = DataSource.class.getClassLoader();
-                System.out.println("Cl1 == Cl2" + (cl1 == cl2));
-                System.out.println("Classes equal" + (DataSource.class == o1));
-        } catch (Exception ex) {
-                ex.printStackTrace();
-        }
-*/
-            con = ds.getConnection();
-            String fullTableName = tableName;
-            if (schemaName != null && (!(schemaName.trim().equals("")))) {
-                fullTableName = schemaName.trim() + "." + fullTableName;
-            }
-            String qry = "select * from " + fullTableName;
-
-            System.out.println("Executing query :" + qry);
-
-            s = con.createStatement();
-            rs = s.executeQuery(qry);
-
-            int i = 0;
-            if (rs.next()) {
-                i++;
-            }
-
-            System.out.println("No of rows found:" + i);
-            System.out.println("No of rows expected:" + noOfRows);
-
-            if (i == noOfRows.intValue()) {
-               b = true;
-            } else {
-               b = false;
-            }
-        } catch(Exception e) {
-            e.printStackTrace();
-            b = false;
-        } finally {
-            try {
-                if (rs != null) rs.close();
-                if (s != null) s.close();
-                if (con != null) con.close();
-            } catch (Exception e) {
-            }
-        }
-        System.out.println("Returning setup :" +b);
-        return b;
-    }
-
-}
diff --git a/appserver/tests/appserv-tests/devtests/connector/v3/installed-libraries-embedded/ra/src/com/sun/jdbcra/spi/LocalTransaction.java b/appserver/tests/appserv-tests/devtests/connector/v3/installed-libraries-embedded/ra/src/com/sun/jdbcra/spi/LocalTransaction.java
deleted file mode 100755
index ce8635b..0000000
--- a/appserver/tests/appserv-tests/devtests/connector/v3/installed-libraries-embedded/ra/src/com/sun/jdbcra/spi/LocalTransaction.java
+++ /dev/null
@@ -1,96 +0,0 @@
-/*
- * Copyright (c) 2003, 2018 Oracle and/or its affiliates. All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v. 2.0, which is available at
- * http://www.eclipse.org/legal/epl-2.0.
- *
- * This Source Code may also be made available under the following Secondary
- * Licenses when the conditions for such availability set forth in the
- * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
- * version 2 with the GNU Classpath Exception, which is available at
- * https://www.gnu.org/software/classpath/license.html.
- *
- * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
- */
-
-package com.sun.jdbcra.spi;
-
-import com.sun.jdbcra.spi.ManagedConnection;
-import jakarta.resource.ResourceException;
-import jakarta.resource.spi.LocalTransactionException;
-
-/**
- * <code>LocalTransaction</code> implementation for Generic JDBC Connector.
- *
- * @version        1.0, 02/08/03
- * @author        Evani Sai Surya Kiran
- */
-public class LocalTransaction implements jakarta.resource.spi.LocalTransaction {
-
-    private ManagedConnection mc;
-
-    /**
-     * Constructor for <code>LocalTransaction</code>.
-     * @param        mc        <code>ManagedConnection</code> that returns
-     *                        this <code>LocalTransaction</code> object as
-     *                        a result of <code>getLocalTransaction</code>
-     */
-    public LocalTransaction(ManagedConnection mc) {
-        this.mc = mc;
-    }
-
-    /**
-     * Begin a local transaction.
-     *
-     * @throws        LocalTransactionException        if there is an error in changing
-     *                                                the autocommit mode of the physical
-     *                                                connection
-     */
-    public void begin() throws ResourceException {
-        //GJCINT
-        mc.transactionStarted();
-        try {
-            mc.getActualConnection().setAutoCommit(false);
-        } catch(java.sql.SQLException sqle) {
-            throw new LocalTransactionException(sqle.getMessage());
-        }
-    }
-
-    /**
-     * Commit a local transaction.
-     * @throws        LocalTransactionException        if there is an error in changing
-     *                                                the autocommit mode of the physical
-     *                                                connection or committing the transaction
-     */
-    public void commit() throws ResourceException {
-        Exception e = null;
-        try {
-            mc.getActualConnection().commit();
-            mc.getActualConnection().setAutoCommit(true);
-        } catch(java.sql.SQLException sqle) {
-            throw new LocalTransactionException(sqle.getMessage());
-        }
-        //GJCINT
-        mc.transactionCompleted();
-    }
-
-    /**
-     * Rollback a local transaction.
-     *
-     * @throws        LocalTransactionException        if there is an error in changing
-     *                                                the autocommit mode of the physical
-     *                                                connection or rolling back the transaction
-     */
-    public void rollback() throws ResourceException {
-        try {
-            mc.getActualConnection().rollback();
-            mc.getActualConnection().setAutoCommit(true);
-        } catch(java.sql.SQLException sqle) {
-            throw new LocalTransactionException(sqle.getMessage());
-        }
-        //GJCINT
-        mc.transactionCompleted();
-    }
-
-}
diff --git a/appserver/tests/appserv-tests/devtests/connector/v3/installed-libraries-embedded/ra/src/com/sun/jdbcra/spi/ManagedConnection.java b/appserver/tests/appserv-tests/devtests/connector/v3/installed-libraries-embedded/ra/src/com/sun/jdbcra/spi/ManagedConnection.java
deleted file mode 100755
index f0443d0..0000000
--- a/appserver/tests/appserv-tests/devtests/connector/v3/installed-libraries-embedded/ra/src/com/sun/jdbcra/spi/ManagedConnection.java
+++ /dev/null
@@ -1,664 +0,0 @@
-/*
- * Copyright (c) 2003, 2018 Oracle and/or its affiliates. All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v. 2.0, which is available at
- * http://www.eclipse.org/legal/epl-2.0.
- *
- * This Source Code may also be made available under the following Secondary
- * Licenses when the conditions for such availability set forth in the
- * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
- * version 2 with the GNU Classpath Exception, which is available at
- * https://www.gnu.org/software/classpath/license.html.
- *
- * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
- */
-
-package com.sun.jdbcra.spi;
-
-import jakarta.resource.spi.*;
-import jakarta.resource.*;
-import javax.security.auth.Subject;
-import java.io.PrintWriter;
-import javax.transaction.xa.XAResource;
-import java.util.Set;
-import java.util.Hashtable;
-import java.util.Iterator;
-import javax.sql.PooledConnection;
-import javax.sql.XAConnection;
-import java.sql.Connection;
-import java.sql.SQLException;
-import jakarta.resource.NotSupportedException;
-import jakarta.resource.spi.security.PasswordCredential;
-import com.sun.jdbcra.spi.ConnectionRequestInfo;
-import com.sun.jdbcra.spi.LocalTransaction;
-import com.sun.jdbcra.spi.ManagedConnectionMetaData;
-import com.sun.jdbcra.util.SecurityUtils;
-import com.sun.jdbcra.spi.ConnectionHolder;
-import java.util.logging.Logger;
-import java.util.logging.Level;
-
-/**
- * <code>ManagedConnection</code> implementation for Generic JDBC Connector.
- *
- * @version        1.0, 02/07/22
- * @author        Evani Sai Surya Kiran
- */
-public class ManagedConnection implements jakarta.resource.spi.ManagedConnection {
-
-    public static final int ISNOTAPOOLEDCONNECTION = 0;
-    public static final int ISPOOLEDCONNECTION = 1;
-    public static final int ISXACONNECTION = 2;
-
-    private boolean isDestroyed = false;
-    private boolean isUsable = true;
-
-    private int connectionType = ISNOTAPOOLEDCONNECTION;
-    private PooledConnection pc = null;
-    private java.sql.Connection actualConnection = null;
-    private Hashtable connectionHandles;
-    private PrintWriter logWriter;
-    private PasswordCredential passwdCredential;
-    private jakarta.resource.spi.ManagedConnectionFactory mcf = null;
-    private XAResource xar = null;
-    public ConnectionHolder activeConnectionHandle;
-
-    //GJCINT
-    private int isolationLevelWhenCleaned;
-    private boolean isClean = false;
-
-    private boolean transactionInProgress = false;
-
-    private ConnectionEventListener listener = null;
-
-    private ConnectionEvent ce = null;
-
-    private static Logger _logger;
-    static {
-        _logger = Logger.getAnonymousLogger();
-    }
-
-    /**
-     * Constructor for <code>ManagedConnection</code>. The pooledConn parameter is expected
-     * to be null and sqlConn parameter is the actual connection in case where
-     * the actual connection is got from a non pooled datasource object. The
-     * pooledConn parameter is expected to be non null and sqlConn parameter
-     * is expected to be null in the case where the datasource object is a
-     * connection pool datasource or an xa datasource.
-     *
-     * @param        pooledConn        <code>PooledConnection</code> object in case the
-     *                                physical connection is to be obtained from a pooled
-     *                                <code>DataSource</code>; null otherwise
-     * @param        sqlConn        <code>java.sql.Connection</code> object in case the physical
-     *                        connection is to be obtained from a non pooled <code>DataSource</code>;
-     *                        null otherwise
-     * @param        passwdCred        object conatining the
-     *                                user and password for allocating the connection
-     * @throws        ResourceException        if the <code>ManagedConnectionFactory</code> object
-     *                                        that created this <code>ManagedConnection</code> object
-     *                                        is not the same as returned by <code>PasswordCredential</code>
-     *                                        object passed
-     */
-    public ManagedConnection(PooledConnection pooledConn, java.sql.Connection sqlConn,
-        PasswordCredential passwdCred, jakarta.resource.spi.ManagedConnectionFactory mcf) throws ResourceException {
-        if(pooledConn == null && sqlConn == null) {
-            throw new ResourceException("Connection object cannot be null");
-        }
-
-        if (connectionType == ISNOTAPOOLEDCONNECTION ) {
-            actualConnection = sqlConn;
-        }
-
-        pc = pooledConn;
-        connectionHandles = new Hashtable();
-        passwdCredential = passwdCred;
-        this.mcf = mcf;
-        if(passwdCredential != null &&
-            this.mcf.equals(passwdCredential.getManagedConnectionFactory()) == false) {
-            throw new ResourceException("The ManagedConnectionFactory that has created this " +
-                "ManagedConnection is not the same as the ManagedConnectionFactory returned by" +
-                    " the PasswordCredential for this ManagedConnection");
-        }
-        logWriter = mcf.getLogWriter();
-        activeConnectionHandle = null;
-        ce = new ConnectionEvent(this, ConnectionEvent.CONNECTION_CLOSED);
-    }
-
-    /**
-     * Adds a connection event listener to the ManagedConnection instance.
-     *
-     * @param        listener        <code>ConnectionEventListener</code>
-     * @see <code>removeConnectionEventListener</code>
-     */
-    public void addConnectionEventListener(ConnectionEventListener listener) {
-        this.listener = listener;
-    }
-
-    /**
-     * Used by the container to change the association of an application-level
-     * connection handle with a <code>ManagedConnection</code> instance.
-     *
-     * @param        connection        <code>ConnectionHolder</code> to be associated with
-     *                                this <code>ManagedConnection</code> instance
-     * @throws        ResourceException        if the physical connection is no more
-     *                                        valid or the connection handle passed is null
-     */
-    public void associateConnection(Object connection) throws ResourceException {
-        if(logWriter != null) {
-            logWriter.println("In associateConnection");
-        }
-        checkIfValid();
-        if(connection == null) {
-            throw new ResourceException("Connection handle cannot be null");
-        }
-        ConnectionHolder ch = (ConnectionHolder) connection;
-
-        com.sun.jdbcra.spi.ManagedConnection mc = (com.sun.jdbcra.spi.ManagedConnection)ch.getManagedConnection();
-        mc.activeConnectionHandle = null;
-        isClean = false;
-
-        ch.associateConnection(actualConnection, this);
-        /**
-         * The expectation from the above method is that the connection holder
-         * replaces the actual sql connection it holds with the sql connection
-         * handle being passed in this method call. Also, it replaces the reference
-         * to the ManagedConnection instance with this ManagedConnection instance.
-         * Any previous statements and result sets also need to be removed.
-         */
-
-         if(activeConnectionHandle != null) {
-            activeConnectionHandle.setActive(false);
-        }
-
-        ch.setActive(true);
-        activeConnectionHandle = ch;
-    }
-
-    /**
-     * Application server calls this method to force any cleanup on the
-     * <code>ManagedConnection</code> instance. This method calls the invalidate
-     * method on all ConnectionHandles associated with this <code>ManagedConnection</code>.
-     *
-     * @throws        ResourceException        if the physical connection is no more valid
-     */
-    public void cleanup() throws ResourceException {
-        if(logWriter != null) {
-                logWriter.println("In cleanup");
-        }
-        checkIfValid();
-
-        /**
-         * may need to set the autocommit to true for the non-pooled case.
-         */
-        //GJCINT
-        //if (actualConnection != null) {
-        if (connectionType == ISNOTAPOOLEDCONNECTION ) {
-        try {
-            isolationLevelWhenCleaned = actualConnection.getTransactionIsolation();
-        } catch(SQLException sqle) {
-            throw new ResourceException("The isolation level for the physical connection "
-                + "could not be retrieved");
-        }
-        }
-        isClean = true;
-
-        activeConnectionHandle = null;
-    }
-
-    /**
-     * This method removes all the connection handles from the table
-     * of connection handles and invalidates all of them so that any
-     * operation on those connection handles throws an exception.
-     *
-     * @throws        ResourceException        if there is a problem in retrieving
-     *                                         the connection handles
-     */
-    private void invalidateAllConnectionHandles() throws ResourceException {
-        Set handles = connectionHandles.keySet();
-        Iterator iter = handles.iterator();
-        try {
-            while(iter.hasNext()) {
-                ConnectionHolder ch = (ConnectionHolder)iter.next();
-                ch.invalidate();
-            }
-        } catch(java.util.NoSuchElementException nsee) {
-            throw new ResourceException("Could not find the connection handle: "+ nsee.getMessage());
-        }
-        connectionHandles.clear();
-    }
-
-    /**
-     * Destroys the physical connection to the underlying resource manager.
-     *
-     * @throws        ResourceException        if there is an error in closing the physical connection
-     */
-    public void destroy() throws ResourceException{
-        if(logWriter != null) {
-            logWriter.println("In destroy");
-        }
-        //GJCINT
-        if(isDestroyed == true) {
-            return;
-        }
-
-        activeConnectionHandle = null;
-        try {
-            if(connectionType == ISXACONNECTION || connectionType == ISPOOLEDCONNECTION) {
-                pc.close();
-                pc = null;
-                actualConnection = null;
-            } else {
-                actualConnection.close();
-                actualConnection = null;
-            }
-        } catch(SQLException sqle) {
-            isDestroyed = true;
-            passwdCredential = null;
-            connectionHandles = null;
-            throw new ResourceException("The following exception has occured during destroy: "
-                + sqle.getMessage());
-        }
-        isDestroyed = true;
-        passwdCredential = null;
-        connectionHandles = null;
-    }
-
-    /**
-     * Creates a new connection handle for the underlying physical
-     * connection represented by the <code>ManagedConnection</code> instance.
-     *
-     * @param        subject        <code>Subject</code> parameter needed for authentication
-     * @param        cxReqInfo        <code>ConnectionRequestInfo</code> carries the user
-     *                                and password required for getting this connection.
-     * @return        Connection        the connection handle <code>Object</code>
-     * @throws        ResourceException        if there is an error in allocating the
-     *                                         physical connection from the pooled connection
-     * @throws        SecurityException        if there is a mismatch between the
-     *                                         password credentials or reauthentication is requested
-     */
-    public Object getConnection(Subject sub, jakarta.resource.spi.ConnectionRequestInfo cxReqInfo)
-        throws ResourceException {
-        if(logWriter != null) {
-            logWriter.println("In getConnection");
-        }
-        checkIfValid();
-        com.sun.jdbcra.spi.ConnectionRequestInfo cxRequestInfo = (com.sun.jdbcra.spi.ConnectionRequestInfo) cxReqInfo;
-        PasswordCredential passwdCred = SecurityUtils.getPasswordCredential(this.mcf, sub, cxRequestInfo);
-
-        if(SecurityUtils.isPasswordCredentialEqual(this.passwdCredential, passwdCred) == false) {
-            throw new jakarta.resource.spi.SecurityException("Re-authentication not supported");
-        }
-
-        //GJCINT
-        getActualConnection();
-
-        /**
-         * The following code in the if statement first checks if this ManagedConnection
-         * is clean or not. If it is, it resets the transaction isolation level to what
-         * it was when it was when this ManagedConnection was cleaned up depending on the
-         * ConnectionRequestInfo passed.
-         */
-        if(isClean) {
-            ((com.sun.jdbcra.spi.ManagedConnectionFactory)mcf).resetIsolation(this, isolationLevelWhenCleaned);
-        }
-
-
-        ConnectionHolder connHolderObject = new ConnectionHolder(actualConnection, this);
-        isClean=false;
-
-        if(activeConnectionHandle != null) {
-            activeConnectionHandle.setActive(false);
-        }
-
-        connHolderObject.setActive(true);
-        activeConnectionHandle = connHolderObject;
-
-        return connHolderObject;
-
-    }
-
-    /**
-     * Returns an <code>LocalTransaction</code> instance. The <code>LocalTransaction</code> interface
-     * is used by the container to manage local transactions for a RM instance.
-     *
-     * @return        <code>LocalTransaction</code> instance
-     * @throws        ResourceException        if the physical connection is not valid
-     */
-    public jakarta.resource.spi.LocalTransaction getLocalTransaction() throws ResourceException {
-        if(logWriter != null) {
-            logWriter.println("In getLocalTransaction");
-        }
-        checkIfValid();
-        return new com.sun.jdbcra.spi.LocalTransaction(this);
-    }
-
-    /**
-     * Gets the log writer for this <code>ManagedConnection</code> instance.
-     *
-     * @return        <code>PrintWriter</code> instance associated with this
-     *                <code>ManagedConnection</code> instance
-     * @throws        ResourceException        if the physical connection is not valid
-     * @see <code>setLogWriter</code>
-     */
-    public PrintWriter getLogWriter() throws ResourceException {
-        if(logWriter != null) {
-                logWriter.println("In getLogWriter");
-        }
-        checkIfValid();
-
-        return logWriter;
-    }
-
-    /**
-     * Gets the metadata information for this connection's underlying EIS
-     * resource manager instance.
-     *
-     * @return        <code>ManagedConnectionMetaData</code> instance
-     * @throws        ResourceException        if the physical connection is not valid
-     */
-    public jakarta.resource.spi.ManagedConnectionMetaData getMetaData() throws ResourceException {
-        if(logWriter != null) {
-                logWriter.println("In getMetaData");
-        }
-        checkIfValid();
-
-        return new com.sun.jdbcra.spi.ManagedConnectionMetaData(this);
-    }
-
-    /**
-     * Returns an <code>XAResource</code> instance.
-     *
-     * @return        <code>XAResource</code> instance
-     * @throws        ResourceException        if the physical connection is not valid or
-     *                                        there is an error in allocating the
-     *                                        <code>XAResource</code> instance
-     * @throws        NotSupportedException        if underlying datasource is not an
-     *                                        <code>XADataSource</code>
-     */
-    public XAResource getXAResource() throws ResourceException {
-        if(logWriter != null) {
-                logWriter.println("In getXAResource");
-        }
-        checkIfValid();
-
-        if(connectionType == ISXACONNECTION) {
-            try {
-                if(xar == null) {
-                    /**
-                     * Using the wrapper XAResource.
-                     */
-                    xar = new com.sun.jdbcra.spi.XAResourceImpl(((XAConnection)pc).getXAResource(), this);
-                }
-                return xar;
-            } catch(SQLException sqle) {
-                throw new ResourceException(sqle.getMessage());
-            }
-        } else {
-            throw new NotSupportedException("Cannot get an XAResource from a non XA connection");
-        }
-    }
-
-    /**
-     * Removes an already registered connection event listener from the
-     * <code>ManagedConnection</code> instance.
-     *
-     * @param        listener        <code>ConnectionEventListener</code> to be removed
-     * @see <code>addConnectionEventListener</code>
-     */
-    public void removeConnectionEventListener(ConnectionEventListener listener) {
-        listener = null;
-    }
-
-    /**
-     * This method is called from XAResource wrapper object
-     * when its XAResource.start() has been called or from
-     * LocalTransaction object when its begin() method is called.
-     */
-    void transactionStarted() {
-        transactionInProgress = true;
-    }
-
-    /**
-     * This method is called from XAResource wrapper object
-     * when its XAResource.end() has been called or from
-     * LocalTransaction object when its end() method is called.
-     */
-    void transactionCompleted() {
-        transactionInProgress = false;
-        if(connectionType == ISPOOLEDCONNECTION || connectionType == ISXACONNECTION) {
-            try {
-                isolationLevelWhenCleaned = actualConnection.getTransactionIsolation();
-            } catch(SQLException sqle) {
-                //check what to do in this case!!
-                _logger.log(Level.WARNING, "jdbc.notgot_tx_isolvl");
-            }
-
-            try {
-                actualConnection.close();
-                actualConnection = null;
-            } catch(SQLException sqle) {
-                actualConnection = null;
-            }
-        }
-
-
-        isClean = true;
-
-        activeConnectionHandle = null;
-
-    }
-
-    /**
-     * Checks if a this ManagedConnection is involved in a transaction
-     * or not.
-     */
-    public boolean isTransactionInProgress() {
-        return transactionInProgress;
-    }
-
-    /**
-     * Sets the log writer for this <code>ManagedConnection</code> instance.
-     *
-     * @param        out        <code>PrintWriter</code> to be associated with this
-     *                        <code>ManagedConnection</code> instance
-     * @throws        ResourceException        if the physical connection is not valid
-     * @see <code>getLogWriter</code>
-     */
-    public void setLogWriter(PrintWriter out) throws ResourceException {
-        checkIfValid();
-        logWriter = out;
-    }
-
-    /**
-     * This method determines the type of the connection being held
-     * in this <code>ManagedConnection</code>.
-     *
-     * @param        pooledConn        <code>PooledConnection</code>
-     * @return        connection type
-     */
-    private int getConnectionType(PooledConnection pooledConn) {
-        if(pooledConn == null) {
-            return ISNOTAPOOLEDCONNECTION;
-        } else if(pooledConn instanceof XAConnection) {
-            return ISXACONNECTION;
-        } else {
-            return ISPOOLEDCONNECTION;
-        }
-    }
-
-    /**
-     * Returns the <code>ManagedConnectionFactory</code> instance that
-     * created this <code>ManagedConnection</code> instance.
-     *
-     * @return        <code>ManagedConnectionFactory</code> instance that created this
-     *                <code>ManagedConnection</code> instance
-     */
-    ManagedConnectionFactory getManagedConnectionFactory() {
-        return (com.sun.jdbcra.spi.ManagedConnectionFactory)mcf;
-    }
-
-    /**
-     * Returns the actual sql connection for this <code>ManagedConnection</code>.
-     *
-     * @return        the physical <code>java.sql.Connection</code>
-     */
-    //GJCINT
-    java.sql.Connection getActualConnection() throws ResourceException {
-        //GJCINT
-        if(connectionType == ISXACONNECTION || connectionType == ISPOOLEDCONNECTION) {
-            try {
-                if(actualConnection == null) {
-                    actualConnection = pc.getConnection();
-                }
-
-            } catch(SQLException sqle) {
-                sqle.printStackTrace();
-                throw new ResourceException(sqle.getMessage());
-            }
-        }
-        return actualConnection;
-    }
-
-    /**
-     * Returns the <code>PasswordCredential</code> object associated with this <code>ManagedConnection</code>.
-     *
-     * @return        <code>PasswordCredential</code> associated with this
-     *                <code>ManagedConnection</code> instance
-     */
-    PasswordCredential getPasswordCredential() {
-        return passwdCredential;
-    }
-
-    /**
-     * Checks if this <code>ManagedConnection</code> is valid or not and throws an
-     * exception if it is not valid. A <code>ManagedConnection</code> is not valid if
-     * destroy has not been called and no physical connection error has
-     * occurred rendering the physical connection unusable.
-     *
-     * @throws        ResourceException        if <code>destroy</code> has been called on this
-     *                                        <code>ManagedConnection</code> instance or if a
-     *                                         physical connection error occurred rendering it unusable
-     */
-    //GJCINT
-    void checkIfValid() throws ResourceException {
-        if(isDestroyed == true || isUsable == false) {
-            throw new ResourceException("This ManagedConnection is not valid as the physical " +
-                "connection is not usable.");
-        }
-    }
-
-    /**
-     * This method is called by the <code>ConnectionHolder</code> when its close method is
-     * called. This <code>ManagedConnection</code> instance  invalidates the connection handle
-     * and sends a CONNECTION_CLOSED event to all the registered event listeners.
-     *
-     * @param        e        Exception that may have occured while closing the connection handle
-     * @param        connHolderObject        <code>ConnectionHolder</code> that has been closed
-     * @throws        SQLException        in case closing the sql connection got out of
-     *                                     <code>getConnection</code> on the underlying
-     *                                <code>PooledConnection</code> throws an exception
-     */
-    void connectionClosed(Exception e, ConnectionHolder connHolderObject) throws SQLException {
-        connHolderObject.invalidate();
-
-        activeConnectionHandle = null;
-
-        ce.setConnectionHandle(connHolderObject);
-        listener.connectionClosed(ce);
-
-    }
-
-    /**
-     * This method is called by the <code>ConnectionHolder</code> when it detects a connecion
-     * related error.
-     *
-     * @param        e        Exception that has occurred during an operation on the physical connection
-     * @param        connHolderObject        <code>ConnectionHolder</code> that detected the physical
-     *                                        connection error
-     */
-    void connectionErrorOccurred(Exception e,
-            com.sun.jdbcra.spi.ConnectionHolder connHolderObject) {
-
-         ConnectionEventListener cel = this.listener;
-         ConnectionEvent ce = null;
-         ce = e == null ? new ConnectionEvent(this, ConnectionEvent.CONNECTION_ERROR_OCCURRED)
-                    : new ConnectionEvent(this, ConnectionEvent.CONNECTION_ERROR_OCCURRED, e);
-         if (connHolderObject != null) {
-             ce.setConnectionHandle(connHolderObject);
-         }
-
-         cel.connectionErrorOccurred(ce);
-         isUsable = false;
-    }
-
-
-
-    /**
-     * This method is called by the <code>XAResource</code> object when its start method
-     * has been invoked.
-     *
-     */
-    void XAStartOccurred() {
-        try {
-            actualConnection.setAutoCommit(false);
-        } catch(Exception e) {
-            e.printStackTrace();
-            connectionErrorOccurred(e, null);
-        }
-    }
-
-    /**
-     * This method is called by the <code>XAResource</code> object when its end method
-     * has been invoked.
-     *
-     */
-    void XAEndOccurred() {
-        try {
-            actualConnection.setAutoCommit(true);
-        } catch(Exception e) {
-            e.printStackTrace();
-            connectionErrorOccurred(e, null);
-        }
-    }
-
-    /**
-     * This method is called by a Connection Handle to check if it is
-     * the active Connection Handle. If it is not the active Connection
-     * Handle, this method throws an SQLException. Else, it
-     * returns setting the active Connection Handle to the calling
-     * Connection Handle object to this object if the active Connection
-     * Handle is null.
-     *
-     * @param        ch        <code>ConnectionHolder</code> that requests this
-     *                        <code>ManagedConnection</code> instance whether
-     *                        it can be active or not
-     * @throws        SQLException        in case the physical is not valid or
-     *                                there is already an active connection handle
-     */
-
-    void checkIfActive(ConnectionHolder ch) throws SQLException {
-        if(isDestroyed == true || isUsable == false) {
-            throw new SQLException("The physical connection is not usable");
-        }
-
-        if(activeConnectionHandle == null) {
-            activeConnectionHandle = ch;
-            ch.setActive(true);
-            return;
-        }
-
-        if(activeConnectionHandle != ch) {
-            throw new SQLException("The connection handle cannot be used as another connection is currently active");
-        }
-    }
-
-    /**
-     * sets the connection type of this connection. This method is called
-     * by the MCF while creating this ManagedConnection. Saves us a costly
-     * instanceof operation in the getConnectionType
-     */
-    public void initializeConnectionType( int _connectionType ) {
-        connectionType = _connectionType;
-    }
-
-}
diff --git a/appserver/tests/appserv-tests/devtests/connector/v3/installed-libraries-embedded/ra/src/com/sun/jdbcra/spi/ManagedConnectionMetaData.java b/appserver/tests/appserv-tests/devtests/connector/v3/installed-libraries-embedded/ra/src/com/sun/jdbcra/spi/ManagedConnectionMetaData.java
deleted file mode 100755
index 5ec326c..0000000
--- a/appserver/tests/appserv-tests/devtests/connector/v3/installed-libraries-embedded/ra/src/com/sun/jdbcra/spi/ManagedConnectionMetaData.java
+++ /dev/null
@@ -1,121 +0,0 @@
-/*
- * Copyright (c) 2003, 2018 Oracle and/or its affiliates. All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v. 2.0, which is available at
- * http://www.eclipse.org/legal/epl-2.0.
- *
- * This Source Code may also be made available under the following Secondary
- * Licenses when the conditions for such availability set forth in the
- * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
- * version 2 with the GNU Classpath Exception, which is available at
- * https://www.gnu.org/software/classpath/license.html.
- *
- * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
- */
-
-package com.sun.jdbcra.spi;
-
-import com.sun.jdbcra.spi.ManagedConnection;
-import java.sql.SQLException;
-import jakarta.resource.ResourceException;
-
-import java.util.logging.Logger;
-import java.util.logging.Level;
-/**
- * <code>ManagedConnectionMetaData</code> implementation for Generic JDBC Connector.
- *
- * @version        1.0, 02/08/03
- * @author        Evani Sai Surya Kiran
- */
-public class ManagedConnectionMetaData implements jakarta.resource.spi.ManagedConnectionMetaData {
-
-    private java.sql.DatabaseMetaData dmd = null;
-    private ManagedConnection mc;
-
-    private static Logger _logger;
-    static {
-        _logger = Logger.getAnonymousLogger();
-    }
-    private boolean debug = false;
-    /**
-     * Constructor for <code>ManagedConnectionMetaData</code>
-     *
-     * @param        mc        <code>ManagedConnection</code>
-     * @throws        <code>ResourceException</code>        if getting the DatabaseMetaData object fails
-     */
-    public ManagedConnectionMetaData(ManagedConnection mc) throws ResourceException {
-        try {
-            this.mc = mc;
-            dmd = mc.getActualConnection().getMetaData();
-        } catch(SQLException sqle) {
-            _logger.log(Level.SEVERE, "jdbc.exc_md");
-            throw new ResourceException(sqle.getMessage());
-        }
-    }
-
-    /**
-     * Returns product name of the underlying EIS instance connected
-     * through the ManagedConnection.
-     *
-     * @return        Product name of the EIS instance
-     * @throws        <code>ResourceException</code>
-     */
-    public String getEISProductName() throws ResourceException {
-        try {
-            return dmd.getDatabaseProductName();
-        } catch(SQLException sqle) {
-            _logger.log(Level.SEVERE, "jdbc.exc_eis_prodname", sqle);
-            throw new ResourceException(sqle.getMessage());
-        }
-    }
-
-    /**
-     * Returns product version of the underlying EIS instance connected
-     * through the ManagedConnection.
-     *
-     * @return        Product version of the EIS instance
-     * @throws        <code>ResourceException</code>
-     */
-    public String getEISProductVersion() throws ResourceException {
-        try {
-            return dmd.getDatabaseProductVersion();
-        } catch(SQLException sqle) {
-            _logger.log(Level.SEVERE, "jdbc.exc_eis_prodvers", sqle);
-            throw new ResourceException(sqle.getMessage(), sqle.getMessage());
-        }
-    }
-
-    /**
-     * Returns maximum limit on number of active concurrent connections
-     * that an EIS instance can support across client processes.
-     *
-     * @return        Maximum limit for number of active concurrent connections
-     * @throws        <code>ResourceException</code>
-     */
-    public int getMaxConnections() throws ResourceException {
-        try {
-            return dmd.getMaxConnections();
-        } catch(SQLException sqle) {
-            _logger.log(Level.SEVERE, "jdbc.exc_eis_maxconn");
-            throw new ResourceException(sqle.getMessage());
-        }
-    }
-
-    /**
-     * Returns name of the user associated with the ManagedConnection instance. The name
-     * corresponds to the resource principal under whose whose security context, a connection
-     * to the EIS instance has been established.
-     *
-     * @return        name of the user
-     * @throws        <code>ResourceException</code>
-     */
-    public String getUserName() throws ResourceException {
-        jakarta.resource.spi.security.PasswordCredential pc = mc.getPasswordCredential();
-        if(pc != null) {
-            return pc.getUserName();
-        }
-
-        return mc.getManagedConnectionFactory().getUser();
-    }
-}
diff --git a/appserver/tests/appserv-tests/devtests/connector/v3/installed-libraries-embedded/ra/src/com/sun/jdbcra/spi/XAResourceImpl.java b/appserver/tests/appserv-tests/devtests/connector/v3/installed-libraries-embedded/ra/src/com/sun/jdbcra/spi/XAResourceImpl.java
deleted file mode 100755
index f0ba663..0000000
--- a/appserver/tests/appserv-tests/devtests/connector/v3/installed-libraries-embedded/ra/src/com/sun/jdbcra/spi/XAResourceImpl.java
+++ /dev/null
@@ -1,175 +0,0 @@
-/*
- * Copyright (c) 2003, 2018 Oracle and/or its affiliates. All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v. 2.0, which is available at
- * http://www.eclipse.org/legal/epl-2.0.
- *
- * This Source Code may also be made available under the following Secondary
- * Licenses when the conditions for such availability set forth in the
- * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
- * version 2 with the GNU Classpath Exception, which is available at
- * https://www.gnu.org/software/classpath/license.html.
- *
- * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
- */
-
-package com.sun.jdbcra.spi;
-
-import javax.transaction.xa.Xid;
-import javax.transaction.xa.XAException;
-import javax.transaction.xa.XAResource;
-import com.sun.jdbcra.spi.ManagedConnection;
-
-/**
- * <code>XAResource</code> wrapper for Generic JDBC Connector.
- *
- * @version        1.0, 02/08/23
- * @author        Evani Sai Surya Kiran
- */
-public class XAResourceImpl implements XAResource {
-
-    XAResource xar;
-    ManagedConnection mc;
-
-    /**
-     * Constructor for XAResourceImpl
-     *
-     * @param        xar        <code>XAResource</code>
-     * @param        mc        <code>ManagedConnection</code>
-     */
-    public XAResourceImpl(XAResource xar, ManagedConnection mc) {
-        this.xar = xar;
-        this.mc = mc;
-    }
-
-    /**
-     * Commit the global transaction specified by xid.
-     *
-     * @param        xid        A global transaction identifier
-     * @param        onePhase        If true, the resource manager should use a one-phase commit
-     *                               protocol to commit the work done on behalf of xid.
-     */
-    public void commit(Xid xid, boolean onePhase) throws XAException {
-        //the mc.transactionCompleted call has come here becasue
-        //the transaction *actually* completes after the flow
-        //reaches here. the end() method might not really signal
-        //completion of transaction in case the transaction is
-        //suspended. In case of transaction suspension, the end
-        //method is still called by the transaction manager
-        mc.transactionCompleted();
-        xar.commit(xid, onePhase);
-    }
-
-    /**
-     * Ends the work performed on behalf of a transaction branch.
-     *
-     * @param        xid        A global transaction identifier that is the same as what
-     *                        was used previously in the start method.
-     * @param        flags        One of TMSUCCESS, TMFAIL, or TMSUSPEND
-     */
-    public void end(Xid xid, int flags) throws XAException {
-        xar.end(xid, flags);
-        //GJCINT
-        //mc.transactionCompleted();
-    }
-
-    /**
-     * Tell the resource manager to forget about a heuristically completed transaction branch.
-     *
-     * @param        xid        A global transaction identifier
-     */
-    public void forget(Xid xid) throws XAException {
-        xar.forget(xid);
-    }
-
-    /**
-     * Obtain the current transaction timeout value set for this
-     * <code>XAResource</code> instance.
-     *
-     * @return        the transaction timeout value in seconds
-     */
-    public int getTransactionTimeout() throws XAException {
-        return xar.getTransactionTimeout();
-    }
-
-    /**
-     * This method is called to determine if the resource manager instance
-     * represented by the target object is the same as the resouce manager
-     * instance represented by the parameter xares.
-     *
-     * @param        xares        An <code>XAResource</code> object whose resource manager
-     *                         instance is to be compared with the resource
-     * @return        true if it's the same RM instance; otherwise false.
-     */
-    public boolean isSameRM(XAResource xares) throws XAException {
-        return xar.isSameRM(xares);
-    }
-
-    /**
-     * Ask the resource manager to prepare for a transaction commit
-     * of the transaction specified in xid.
-     *
-     * @param        xid        A global transaction identifier
-     * @return        A value indicating the resource manager's vote on the
-     *                outcome of the transaction. The possible values
-     *                are: XA_RDONLY or XA_OK. If the resource manager wants
-     *                to roll back the transaction, it should do so
-     *                by raising an appropriate <code>XAException</code> in the prepare method.
-     */
-    public int prepare(Xid xid) throws XAException {
-        return xar.prepare(xid);
-    }
-
-    /**
-     * Obtain a list of prepared transaction branches from a resource manager.
-     *
-     * @param        flag        One of TMSTARTRSCAN, TMENDRSCAN, TMNOFLAGS. TMNOFLAGS
-     *                        must be used when no other flags are set in flags.
-     * @return        The resource manager returns zero or more XIDs for the transaction
-     *                branches that are currently in a prepared or heuristically
-     *                completed state. If an error occurs during the operation, the resource
-     *                manager should throw the appropriate <code>XAException</code>.
-     */
-    public Xid[] recover(int flag) throws XAException {
-        return xar.recover(flag);
-    }
-
-    /**
-     * Inform the resource manager to roll back work done on behalf of a transaction branch
-     *
-     * @param        xid        A global transaction identifier
-     */
-    public void rollback(Xid xid) throws XAException {
-        //the mc.transactionCompleted call has come here becasue
-        //the transaction *actually* completes after the flow
-        //reaches here. the end() method might not really signal
-        //completion of transaction in case the transaction is
-        //suspended. In case of transaction suspension, the end
-        //method is still called by the transaction manager
-        mc.transactionCompleted();
-        xar.rollback(xid);
-    }
-
-    /**
-     * Set the current transaction timeout value for this <code>XAResource</code> instance.
-     *
-     * @param        seconds        the transaction timeout value in seconds.
-     * @return        true if transaction timeout value is set successfully; otherwise false.
-     */
-    public boolean setTransactionTimeout(int seconds) throws XAException {
-        return xar.setTransactionTimeout(seconds);
-    }
-
-    /**
-     * Start work on behalf of a transaction branch specified in xid.
-     *
-     * @param        xid        A global transaction identifier to be associated with the resource
-     * @return        flags        One of TMNOFLAGS, TMJOIN, or TMRESUME
-     */
-    public void start(Xid xid, int flags) throws XAException {
-        //GJCINT
-        mc.transactionStarted();
-        xar.start(xid, flags);
-    }
-}
diff --git a/appserver/tests/appserv-tests/devtests/connector/v3/installed-libraries-embedded/ra/src/com/sun/jdbcra/spi/build.xml b/appserver/tests/appserv-tests/devtests/connector/v3/installed-libraries-embedded/ra/src/com/sun/jdbcra/spi/build.xml
deleted file mode 100755
index 7ca9cfb..0000000
--- a/appserver/tests/appserv-tests/devtests/connector/v3/installed-libraries-embedded/ra/src/com/sun/jdbcra/spi/build.xml
+++ /dev/null
@@ -1,41 +0,0 @@
-<?xml version="1.0"?>
-<!--
-
-    Copyright (c) 2017, 2018 Oracle and/or its affiliates. All rights reserved.
-
-    This program and the accompanying materials are made available under the
-    terms of the Eclipse Public License v. 2.0, which is available at
-    http://www.eclipse.org/legal/epl-2.0.
-
-    This Source Code may also be made available under the following Secondary
-    Licenses when the conditions for such availability set forth in the
-    Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
-    version 2 with the GNU Classpath Exception, which is available 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 name="jdbc_connector" basedir="${gjc.home}" default="build">
-  <property name="pkg.dir" value="com/sun/gjc/spi"/>
-
-  <target name="clean">
-    <ant antfile="build.xml" dir="${gjc.home}/bin" target="clean"/>
-  </target>
-
-  <target name="compile13">
-    <ant antfile="build.xml" dir="${gjc.home}/bin" target="compile13"/>
-  </target>
-
-  <target name="build13" depends="compile13">
-  </target>
-
-  <target name="compile14">
-    <ant antfile="build.xml" dir="${gjc.home}/bin" target="compile14"/>
-  </target>
-
-  <target name="build14" depends="compile14"/>
-
-        <target name="build" depends="build13, build14"/>
-</project>
diff --git a/appserver/tests/appserv-tests/devtests/connector/v3/installed-libraries-embedded/ra/src/com/sun/jdbcra/util/MethodExecutor.java b/appserver/tests/appserv-tests/devtests/connector/v3/installed-libraries-embedded/ra/src/com/sun/jdbcra/util/MethodExecutor.java
deleted file mode 100755
index de4a961..0000000
--- a/appserver/tests/appserv-tests/devtests/connector/v3/installed-libraries-embedded/ra/src/com/sun/jdbcra/util/MethodExecutor.java
+++ /dev/null
@@ -1,168 +0,0 @@
-/*
- * Copyright (c) 2003, 2018 Oracle and/or its affiliates. All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v. 2.0, which is available at
- * http://www.eclipse.org/legal/epl-2.0.
- *
- * This Source Code may also be made available under the following Secondary
- * Licenses when the conditions for such availability set forth in the
- * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
- * version 2 with the GNU Classpath Exception, which is available at
- * https://www.gnu.org/software/classpath/license.html.
- *
- * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
- */
-
-package com.sun.jdbcra.util;
-
-import java.lang.reflect.Method;
-import java.lang.reflect.InvocationTargetException;
-import java.util.Vector;
-import jakarta.resource.ResourceException;
-
-import java.util.logging.Logger;
-import java.util.logging.Level;
-/**
- * Execute the methods based on the parameters.
- *
- * @version        1.0, 02/07/23
- * @author        Binod P.G
- */
-public class MethodExecutor implements java.io.Serializable{
-
-    private static Logger _logger;
-    static {
-        _logger = Logger.getAnonymousLogger();
-    }
-    private boolean debug = false;
-    /**
-     * Exceute a simple set Method.
-     *
-     * @param        value        Value to be set.
-     * @param        method        <code>Method</code> object.
-     * @param        obj        Object on which the method to be executed.
-     * @throws  <code>ResourceException</code>, in case of the mismatch of parameter values or
-     *                a security violation.
-     */
-    public void runJavaBeanMethod(String value, Method method, Object obj) throws ResourceException{
-            if (value==null || value.trim().equals("")) {
-                return;
-            }
-            try {
-                Class[] parameters = method.getParameterTypes();
-                if ( parameters.length == 1) {
-                    Object[] values = new Object[1];
-                        values[0] = convertType(parameters[0], value);
-                        method.invoke(obj, values);
-                }
-            } catch (IllegalAccessException iae) {
-            _logger.log(Level.SEVERE, "jdbc.exc_jb_val", iae);
-                throw new ResourceException("Access denied to execute the method :" + method.getName());
-            } catch (IllegalArgumentException ie) {
-            _logger.log(Level.SEVERE, "jdbc.exc_jb_val", ie);
-                throw new ResourceException("Arguments are wrong for the method :" + method.getName());
-            } catch (InvocationTargetException ite) {
-            _logger.log(Level.SEVERE, "jdbc.exc_jb_val", ite);
-                throw new ResourceException("Access denied to execute the method :" + method.getName());
-            }
-    }
-
-    /**
-     * Executes the method.
-     *
-     * @param        method <code>Method</code> object.
-     * @param        obj        Object on which the method to be executed.
-     * @param        values        Parameter values for executing the method.
-     * @throws  <code>ResourceException</code>, in case of the mismatch of parameter values or
-     *                a security violation.
-     */
-    public void runMethod(Method method, Object obj, Vector values) throws ResourceException{
-            try {
-            Class[] parameters = method.getParameterTypes();
-            if (values.size() != parameters.length) {
-                return;
-            }
-                Object[] actualValues = new Object[parameters.length];
-                for (int i =0; i<parameters.length ; i++) {
-                        String val = (String) values.get(i);
-                        if (val.trim().equals("NULL")) {
-                            actualValues[i] = null;
-                        } else {
-                            actualValues[i] = convertType(parameters[i], val);
-                        }
-                }
-                method.invoke(obj, actualValues);
-            }catch (IllegalAccessException iae) {
-            _logger.log(Level.SEVERE, "jdbc.exc_jb_val", iae);
-                throw new ResourceException("Access denied to execute the method :" + method.getName());
-            } catch (IllegalArgumentException ie) {
-            _logger.log(Level.SEVERE, "jdbc.exc_jb_val", ie);
-                throw new ResourceException("Arguments are wrong for the method :" + method.getName());
-            } catch (InvocationTargetException ite) {
-            _logger.log(Level.SEVERE, "jdbc.exc_jb_val", ite);
-                throw new ResourceException("Access denied to execute the method :" + method.getName());
-            }
-    }
-
-    /**
-     * Converts the type from String to the Class type.
-     *
-     * @param        type                Class name to which the conversion is required.
-     * @param        parameter        String value to be converted.
-     * @return        Converted value.
-     * @throws  <code>ResourceException</code>, in case of the mismatch of parameter values or
-     *                a security violation.
-     */
-    private Object convertType(Class type, String parameter) throws ResourceException{
-            try {
-                String typeName = type.getName();
-                if ( typeName.equals("java.lang.String") || typeName.equals("java.lang.Object")) {
-                        return parameter;
-                }
-
-                if (typeName.equals("int") || typeName.equals("java.lang.Integer")) {
-                        return new Integer(parameter);
-                }
-
-                if (typeName.equals("short") || typeName.equals("java.lang.Short")) {
-                        return new Short(parameter);
-                }
-
-                if (typeName.equals("byte") || typeName.equals("java.lang.Byte")) {
-                        return new Byte(parameter);
-                }
-
-                if (typeName.equals("long") || typeName.equals("java.lang.Long")) {
-                        return new Long(parameter);
-                }
-
-                if (typeName.equals("float") || typeName.equals("java.lang.Float")) {
-                        return new Float(parameter);
-                }
-
-                if (typeName.equals("double") || typeName.equals("java.lang.Double")) {
-                        return new Double(parameter);
-                }
-
-                if (typeName.equals("java.math.BigDecimal")) {
-                        return new java.math.BigDecimal(parameter);
-                }
-
-                if (typeName.equals("java.math.BigInteger")) {
-                        return new java.math.BigInteger(parameter);
-                }
-
-                if (typeName.equals("boolean") || typeName.equals("java.lang.Boolean")) {
-                        return new Boolean(parameter);
-            }
-
-                return parameter;
-            } catch (NumberFormatException nfe) {
-            _logger.log(Level.SEVERE, "jdbc.exc_nfe", parameter);
-                throw new ResourceException(parameter+": Not a valid value for this method ");
-            }
-    }
-
-}
-
diff --git a/appserver/tests/appserv-tests/devtests/connector/v3/installed-libraries-embedded/ra/src/com/sun/jdbcra/util/SecurityUtils.java b/appserver/tests/appserv-tests/devtests/connector/v3/installed-libraries-embedded/ra/src/com/sun/jdbcra/util/SecurityUtils.java
deleted file mode 100755
index bed9dd7..0000000
--- a/appserver/tests/appserv-tests/devtests/connector/v3/installed-libraries-embedded/ra/src/com/sun/jdbcra/util/SecurityUtils.java
+++ /dev/null
@@ -1,135 +0,0 @@
-/*
- * Copyright (c) 2003, 2018 Oracle and/or its affiliates. All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v. 2.0, which is available at
- * http://www.eclipse.org/legal/epl-2.0.
- *
- * This Source Code may also be made available under the following Secondary
- * Licenses when the conditions for such availability set forth in the
- * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
- * version 2 with the GNU Classpath Exception, which is available at
- * https://www.gnu.org/software/classpath/license.html.
- *
- * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
- */
-
-package com.sun.jdbcra.util;
-
-import javax.security.auth.Subject;
-import java.security.AccessController;
-import java.security.PrivilegedAction;
-import jakarta.resource.spi.security.PasswordCredential;
-import jakarta.resource.ResourceException;
-import jakarta.resource.spi.*;
-import com.sun.jdbcra.spi.ConnectionRequestInfo;
-import java.util.Set;
-import java.util.Iterator;
-
-/**
- * SecurityUtils for Generic JDBC Connector.
- *
- * @version        1.0, 02/07/22
- * @author        Evani Sai Surya Kiran
- */
-public class SecurityUtils {
-
-    /**
-     * This method returns the <code>PasswordCredential</code> object, given
-     * the <code>ManagedConnectionFactory</code>, subject and the
-     * <code>ConnectionRequestInfo</code>. It first checks if the
-     * <code>ConnectionRequestInfo</code> is null or not. If it is not null,
-     * it constructs a <code>PasswordCredential</code> object with
-     * the user and password fields from the <code>ConnectionRequestInfo</code> and returns this
-     * <code>PasswordCredential</code> object. If the <code>ConnectionRequestInfo</code>
-     * is null, it retrieves the <code>PasswordCredential</code> objects from
-     * the <code>Subject</code> parameter and returns the first
-     * <code>PasswordCredential</code> object which contains a
-     * <code>ManagedConnectionFactory</code>, instance equivalent
-     * to the <code>ManagedConnectionFactory</code>, parameter.
-     *
-     * @param        mcf        <code>ManagedConnectionFactory</code>
-     * @param        subject        <code>Subject</code>
-     * @param        info        <code>ConnectionRequestInfo</code>
-     * @return        <code>PasswordCredential</code>
-     * @throws        <code>ResourceException</code>        generic exception if operation fails
-     * @throws        <code>SecurityException</code>        if access to the <code>Subject</code> instance is denied
-     */
-    public static PasswordCredential getPasswordCredential(final ManagedConnectionFactory mcf,
-         final Subject subject, jakarta.resource.spi.ConnectionRequestInfo info) throws ResourceException {
-
-        if (info == null) {
-            if (subject == null) {
-                return null;
-            } else {
-                PasswordCredential pc = (PasswordCredential) AccessController.doPrivileged
-                    (new PrivilegedAction() {
-                        public Object run() {
-                            Set passwdCredentialSet = subject.getPrivateCredentials(PasswordCredential.class);
-                            Iterator iter = passwdCredentialSet.iterator();
-                            while (iter.hasNext()) {
-                                PasswordCredential temp = (PasswordCredential) iter.next();
-                                if (temp.getManagedConnectionFactory().equals(mcf)) {
-                                    return temp;
-                                }
-                            }
-                            return null;
-                        }
-                    });
-                if (pc == null) {
-                    throw new jakarta.resource.spi.SecurityException("No PasswordCredential found");
-                } else {
-                    return pc;
-                }
-            }
-        } else {
-            com.sun.jdbcra.spi.ConnectionRequestInfo cxReqInfo = (com.sun.jdbcra.spi.ConnectionRequestInfo) info;
-            PasswordCredential pc = new PasswordCredential(cxReqInfo.getUser(), cxReqInfo.getPassword().toCharArray());
-            pc.setManagedConnectionFactory(mcf);
-            return pc;
-        }
-    }
-
-    /**
-     * Returns true if two strings are equal; false otherwise
-     *
-     * @param        str1        <code>String</code>
-     * @param        str2        <code>String</code>
-     * @return        true        if the two strings are equal
-     *                false        otherwise
-     */
-    static private boolean isEqual(String str1, String str2) {
-        if (str1 == null) {
-            return (str2 == null);
-        } else {
-            return str1.equals(str2);
-        }
-    }
-
-    /**
-     * Returns true if two <code>PasswordCredential</code> objects are equal; false otherwise
-     *
-     * @param        pC1        <code>PasswordCredential</code>
-     * @param        pC2        <code>PasswordCredential</code>
-     * @return        true        if the two PasswordCredentials are equal
-     *                false        otherwise
-     */
-    static public boolean isPasswordCredentialEqual(PasswordCredential pC1, PasswordCredential pC2) {
-        if (pC1 == pC2)
-            return true;
-        if(pC1 == null || pC2 == null)
-            return (pC1 == pC2);
-        if (!isEqual(pC1.getUserName(), pC2.getUserName())) {
-            return false;
-        }
-        String p1 = null;
-        String p2 = null;
-        if (pC1.getPassword() != null) {
-            p1 = new String(pC1.getPassword());
-        }
-        if (pC2.getPassword() != null) {
-            p2 = new String(pC2.getPassword());
-        }
-        return (isEqual(p1, p2));
-    }
-}
diff --git a/appserver/tests/appserv-tests/devtests/connector/v3/installed-libraries-embedded/ra/src/com/sun/jdbcra/util/build.xml b/appserver/tests/appserv-tests/devtests/connector/v3/installed-libraries-embedded/ra/src/com/sun/jdbcra/util/build.xml
deleted file mode 100755
index f060e7d..0000000
--- a/appserver/tests/appserv-tests/devtests/connector/v3/installed-libraries-embedded/ra/src/com/sun/jdbcra/util/build.xml
+++ /dev/null
@@ -1,48 +0,0 @@
-<?xml version="1.0"?>
-<!--
-
-    Copyright (c) 2017, 2018 Oracle and/or its affiliates. All rights reserved.
-
-    This program and the accompanying materials are made available under the
-    terms of the Eclipse Public License v. 2.0, which is available at
-    http://www.eclipse.org/legal/epl-2.0.
-
-    This Source Code may also be made available under the following Secondary
-    Licenses when the conditions for such availability set forth in the
-    Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
-    version 2 with the GNU Classpath Exception, which is available 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 name="jdbc_connector" basedir="." default="build">
-  <property name="pkg.dir" value="com/sun/gjc/util"/>
-
-  <target name="clean">
-    <ant antfile="build.xml" dir="${gjc.home}/bin" target="clean"/>
-  </target>
-
-  <target name="compile">
-    <ant antfile="build.xml" dir="${gjc.home}/bin" target="compile"/>
-  </target>
-
-  <target name="package">
-    <mkdir dir="${dist.dir}/${pkg.dir}"/>
-      <jar jarfile="${dist.dir}/${pkg.dir}/util.jar" basedir="${class.dir}"
-        includes="${pkg.dir}/**/*"/>
-  </target>
-
-  <target name="compile13" depends="compile"/>
-  <target name="compile14" depends="compile"/>
-
-  <target name="package13" depends="package"/>
-  <target name="package14" depends="package"/>
-
-  <target name="build13" depends="compile13, package13"/>
-  <target name="build14" depends="compile14, package14"/>
-
-  <target name="build" depends="build13, build14"/>
-
-</project>
diff --git a/appserver/tests/appserv-tests/devtests/connector/v3/installed-libraries-resources/rar/blackbox-notx.rar b/appserver/tests/appserv-tests/devtests/connector/v3/installed-libraries-resources/rar/blackbox-notx.rar
deleted file mode 100644
index 9787e92..0000000
--- a/appserver/tests/appserv-tests/devtests/connector/v3/installed-libraries-resources/rar/blackbox-notx.rar
+++ /dev/null
Binary files differ
diff --git a/appserver/tests/appserv-tests/devtests/connector/v3/installed-libraries-resources/rar/blackbox-tx.rar b/appserver/tests/appserv-tests/devtests/connector/v3/installed-libraries-resources/rar/blackbox-tx.rar
deleted file mode 100644
index bfb4721..0000000
--- a/appserver/tests/appserv-tests/devtests/connector/v3/installed-libraries-resources/rar/blackbox-tx.rar
+++ /dev/null
Binary files differ
diff --git a/appserver/tests/appserv-tests/devtests/connector/v3/installed-libraries-resources/rar/blackbox-xa.rar b/appserver/tests/appserv-tests/devtests/connector/v3/installed-libraries-resources/rar/blackbox-xa.rar
deleted file mode 100644
index e0eb69b..0000000
--- a/appserver/tests/appserv-tests/devtests/connector/v3/installed-libraries-resources/rar/blackbox-xa.rar
+++ /dev/null
Binary files differ
diff --git a/appserver/tests/appserv-tests/devtests/connector/v3/installed-libraries-resources/rar/descriptor/blackbox-tx.xml b/appserver/tests/appserv-tests/devtests/connector/v3/installed-libraries-resources/rar/descriptor/blackbox-tx.xml
index 44d53da..1e17b6f 100755
--- a/appserver/tests/appserv-tests/devtests/connector/v3/installed-libraries-resources/rar/descriptor/blackbox-tx.xml
+++ b/appserver/tests/appserv-tests/devtests/connector/v3/installed-libraries-resources/rar/descriptor/blackbox-tx.xml
@@ -2,6 +2,7 @@
 <!--
 
     Copyright (c) 2017, 2018 Oracle and/or its affiliates. All rights reserved.
+    Copyright (c) 2022 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
@@ -17,13 +18,13 @@
 
 -->
 
-<connector xmlns="http://java.sun.com/xml/ns/j2ee"
-           xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-           xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee
-           http://java.sun.com/xml/ns/j2ee/connector_1_5.xsd"
-           version="1.5">
-
-
+<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/jakartaee_9.xsd
+       https://jakarta.ee/xml/ns/jakartaee/connector_2_0.xsd"
+    version="2.0"
+>
     <display-name>BlackBoxLocalTx</display-name>
     <vendor-name>Java Software</vendor-name>
     <eis-type>JDBC Database</eis-type>
diff --git a/appserver/tests/appserv-tests/devtests/connector/v3/installed-libraries-resources/rar/src/tmp-tx/ra.xml b/appserver/tests/appserv-tests/devtests/connector/v3/installed-libraries-resources/rar/src/tmp-tx/ra.xml
index 44d53da..1e17b6f 100644
--- a/appserver/tests/appserv-tests/devtests/connector/v3/installed-libraries-resources/rar/src/tmp-tx/ra.xml
+++ b/appserver/tests/appserv-tests/devtests/connector/v3/installed-libraries-resources/rar/src/tmp-tx/ra.xml
@@ -2,6 +2,7 @@
 <!--
 
     Copyright (c) 2017, 2018 Oracle and/or its affiliates. All rights reserved.
+    Copyright (c) 2022 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
@@ -17,13 +18,13 @@
 
 -->
 
-<connector xmlns="http://java.sun.com/xml/ns/j2ee"
-           xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-           xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee
-           http://java.sun.com/xml/ns/j2ee/connector_1_5.xsd"
-           version="1.5">
-
-
+<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/jakartaee_9.xsd
+       https://jakarta.ee/xml/ns/jakartaee/connector_2_0.xsd"
+    version="2.0"
+>
     <display-name>BlackBoxLocalTx</display-name>
     <vendor-name>Java Software</vendor-name>
     <eis-type>JDBC Database</eis-type>
diff --git a/appserver/tests/appserv-tests/devtests/connector/v3/installed-libraries/rar/descriptor/blackbox-tx.xml b/appserver/tests/appserv-tests/devtests/connector/v3/installed-libraries/rar/descriptor/blackbox-tx.xml
index 44d53da..1e17b6f 100755
--- a/appserver/tests/appserv-tests/devtests/connector/v3/installed-libraries/rar/descriptor/blackbox-tx.xml
+++ b/appserver/tests/appserv-tests/devtests/connector/v3/installed-libraries/rar/descriptor/blackbox-tx.xml
@@ -2,6 +2,7 @@
 <!--
 
     Copyright (c) 2017, 2018 Oracle and/or its affiliates. All rights reserved.
+    Copyright (c) 2022 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
@@ -17,13 +18,13 @@
 
 -->
 
-<connector xmlns="http://java.sun.com/xml/ns/j2ee"
-           xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-           xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee
-           http://java.sun.com/xml/ns/j2ee/connector_1_5.xsd"
-           version="1.5">
-
-
+<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/jakartaee_9.xsd
+       https://jakarta.ee/xml/ns/jakartaee/connector_2_0.xsd"
+    version="2.0"
+>
     <display-name>BlackBoxLocalTx</display-name>
     <vendor-name>Java Software</vendor-name>
     <eis-type>JDBC Database</eis-type>
diff --git a/appserver/tests/appserv-tests/devtests/connector/v3/nonstringmcfproperties/ra/src/com/sun/jdbcra/spi/1.4/ra-ds.xml b/appserver/tests/appserv-tests/devtests/connector/v3/nonstringmcfproperties/ra/src/com/sun/jdbcra/spi/1.4/ra-ds.xml
index 4ecaf4c..ae6f587 100755
--- a/appserver/tests/appserv-tests/devtests/connector/v3/nonstringmcfproperties/ra/src/com/sun/jdbcra/spi/1.4/ra-ds.xml
+++ b/appserver/tests/appserv-tests/devtests/connector/v3/nonstringmcfproperties/ra/src/com/sun/jdbcra/spi/1.4/ra-ds.xml
@@ -2,6 +2,7 @@
 <!--
 
     Copyright (c) 2017, 2018 Oracle and/or its affiliates. All rights reserved.
+    Copyright (c) 2022 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
@@ -17,9 +18,13 @@
 
 -->
 
-<connector xmlns="http://java.sun.com/xml/ns/j2ee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-           xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/connector_1_5.xsd"
-           version="1.5">
+<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/jakartaee_9.xsd
+       https://jakarta.ee/xml/ns/jakartaee/connector_2_0.xsd"
+    version="2.0"
+>
 
     <!-- There can be any number of "description" elements including 0 -->
     <!-- This field can be optionally used by the driver vendor to provide a
@@ -252,7 +257,7 @@
 
                 <authentication-mechanism-type>BasicPassword</authentication-mechanism-type>
 
-                <credential-interface>javax.resource.spi.security.PasswordCredential</credential-interface>
+                <credential-interface>jakarta.resource.spi.security.PasswordCredential</credential-interface>
             </authentication-mechanism>
 
             <reauthentication-support>false</reauthentication-support>
diff --git a/appserver/tests/appserv-tests/devtests/connector/v3/rar-accessibility/rar/descriptor/blackbox-tx.xml b/appserver/tests/appserv-tests/devtests/connector/v3/rar-accessibility/rar/descriptor/blackbox-tx.xml
index 44d53da..1e17b6f 100755
--- a/appserver/tests/appserv-tests/devtests/connector/v3/rar-accessibility/rar/descriptor/blackbox-tx.xml
+++ b/appserver/tests/appserv-tests/devtests/connector/v3/rar-accessibility/rar/descriptor/blackbox-tx.xml
@@ -2,6 +2,7 @@
 <!--
 
     Copyright (c) 2017, 2018 Oracle and/or its affiliates. All rights reserved.
+    Copyright (c) 2022 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
@@ -17,13 +18,13 @@
 
 -->
 
-<connector xmlns="http://java.sun.com/xml/ns/j2ee"
-           xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-           xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee
-           http://java.sun.com/xml/ns/j2ee/connector_1_5.xsd"
-           version="1.5">
-
-
+<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/jakartaee_9.xsd
+       https://jakarta.ee/xml/ns/jakartaee/connector_2_0.xsd"
+    version="2.0"
+>
     <display-name>BlackBoxLocalTx</display-name>
     <vendor-name>Java Software</vendor-name>
     <eis-type>JDBC Database</eis-type>
diff --git a/appserver/tests/appserv-tests/devtests/connector/v3/redeployRar/app/src/build.xml b/appserver/tests/appserv-tests/devtests/connector/v3/redeployRar/app/src/build.xml
index bfdafb2..e8e756d 100755
--- a/appserver/tests/appserv-tests/devtests/connector/v3/redeployRar/app/src/build.xml
+++ b/appserver/tests/appserv-tests/devtests/connector/v3/redeployRar/app/src/build.xml
@@ -23,37 +23,43 @@
 
 <project name="connector1.5 redeploy" default="all" basedir=".">
 
-  <property name="j2ee.home" value="../../../../.."/>
+  <property name="j2ee.home" value="../../../../.." />
 
   <!-- include common.xml and testcommon.xml -->
   &common;
   &testcommon;
 
   <target name="all" depends="init-common">
-   <antcall target="compile-common">
-        <param name="src" value="." />
-        <param name="s1astest.classpath" value="${s1astest.classpath}:../versions/version1/test/testjdbcra.rar:../../ra/publish/internal/classes" />
+    <antcall target="compile-common">
+      <param name="src" value="." />
+      <param name="s1astest.classpath" value="${s1astest.classpath}:${bundles.dir}/connectors-ra-redeploy-jars.jar" />
     </antcall>
 
     <antcall target="ejb-jar-common">
-        <param name="ejb-jar.xml" value="META-INF/ejb-jar.xml" />
-        <param name="ejbjar.classes" value=" beans/*.class, ../../ra/publish/internal/classes/**/*.class " />
-        <param name="sun-ejb-jar.xml" value="META-INF/sun-ejb-jar.xml" />
-        <param name="appname" value="generic-embedded" />
+      <param name="ejb-jar.xml" value="META-INF/ejb-jar.xml" />
+      <param name="ejbjar.classes" value=" beans/*.class " />
+      <param name="sun-ejb-jar.xml" value="META-INF/sun-ejb-jar.xml" />
+      <param name="appname" value="generic-embedded" />
     </antcall>
+    <jar jarfile="${assemble.dir}/generic-embedded-ejb.jar"
+         basedir="${build.classes.dir}"
+         update="true"
+    >
+      <zipfileset src="${bundles.dir}/connectors-ra-redeploy-jars.jar" includes="**/*.class" />
+    </jar>
 
     <antcall target="appclient-jar-common">
-        <param name="appname" value="generic-embedded" />
-        <param name="application-client.xml" value="META-INF/application-client.xml" />
-        <param name="appclientjar.classes" value="beans/*.class, client/Client.class" />
-        <param name="sun-application-client.xml" value="META-INF/sun-application-client.xml" />
+      <param name="appname" value="generic-embedded" />
+      <param name="application-client.xml" value="META-INF/application-client.xml" />
+      <param name="appclientjar.classes" value="beans/*.class, client/Client.class" />
+      <param name="sun-application-client.xml" value="META-INF/sun-application-client.xml" />
     </antcall>
 
-    </target>
+  </target>
 
   <target name="clean">
     <antcall target="clean-classes-common">
-        <param name="build.classes.dir" value="classes" />
+      <param name="build.classes.dir" value="classes" />
     </antcall>
   </target>
 </project>
diff --git a/appserver/tests/appserv-tests/devtests/connector/v3/redeployRar/build.xml b/appserver/tests/appserv-tests/devtests/connector/v3/redeployRar/build.xml
index 7d4c55a..8f403e9 100755
--- a/appserver/tests/appserv-tests/devtests/connector/v3/redeployRar/build.xml
+++ b/appserver/tests/appserv-tests/devtests/connector/v3/redeployRar/build.xml
@@ -18,13 +18,13 @@
 
 -->
 
-        <!ENTITY commonSetup SYSTEM "./../../../../config/properties.xml">
-        <!ENTITY commonBuild SYSTEM "./../../../../config/common.xml">
-        <!ENTITY commonRun SYSTEM "./../../../../config/run.xml">
-        <!ENTITY testproperties SYSTEM "./build.properties">
-        ]>
+<!ENTITY commonSetup SYSTEM "./../../../../config/properties.xml">
+<!ENTITY commonBuild SYSTEM "./../../../../config/common.xml">
+<!ENTITY commonRun SYSTEM "./../../../../config/run.xml">
+<!ENTITY testproperties SYSTEM "./build.properties">
+]>
 
-<project name="redeploy-rar" default="usage" basedir=".">
+<project name="redeploy-rar" default="all" basedir=".">
 
     &commonSetup;
     &commonBuild;
@@ -33,228 +33,191 @@
 
     <target name="all" depends="build,run"/>
 
-    <target name="clean" depends="init-common">
-        <antcall target="clean-common"/>
-    </target>
+  <target name="clean" depends="init-common">
+    <antcall target="clean-common"/>
+  </target>
 
-    <target name="compile" depends="clean">
-        <antcall target="compile-common">
-            <param name="src" value="ra"/>
-        </antcall>
+  <target name="compile" depends="clean">
+    <antcall target="compile-common">
+      <param name="src" value="ra"/>
+    </antcall>
 
-        <antcall target="compile-common">
-            <param name="src" value="ejb"/>
-            <param name="s1astest.classpath" value="${s1astest.classpath}:./ra/publish/internal/classes/"/>
-        </antcall>
-        <antcall target="compile-common">
-            <param name="src" value="client"/>
-        </antcall>
-        <antcall target="compile-common">
-            <param name="src" value="servlet"/>
-        </antcall>
+    <antcall target="compile-common">
+      <param name="src" value="ejb"/>
+      <param name="s1astest.classpath" value="${s1astest.classpath}:${bundles.dir}/connectors-ra-redeploy-jars.jar"/>
+    </antcall>
+    <antcall target="compile-common">
+      <param name="src" value="client"/>
+    </antcall>
+    <antcall target="compile-common">
+      <param name="src" value="servlet"/>
+    </antcall>
 
-        <javac
-                srcdir="."
-                classpath="${env.APS_HOME}/lib/reporter.jar"
-                includes="client/WebTest.java" destdir="."/>
+    <javac srcdir="."
+           classpath="${env.APS_HOME}/lib/reporter.jar"
+           includes="client/WebTest.java"
+           destdir="."
+    />
+
+  </target>
+
+  <target name="build" depends="compile">
+
+    <antcall target="webclient-war-common">
+      <param name="hasWebclient" value="yes"/>
+      <param name="appname" value="redeploy-rar"/>
+      <param name="web.xml" value="descriptor/web.xml"/>
+      <param name="sun-web.xml" value="descriptor/sun-web.xml"/>
+      <param name="webclient.war.classes" value="servlet/*.class, beans/*.class"/>
+    </antcall>
+
+    <antcall target="build-ear-common">
+      <param name="ejbjar.classes" value="**/*Vers*.class"/>
+    </antcall>
+
+  </target>
+  <target name="setup" depends="init-common"/>
 
 
-    </target>
+  <target name="setupone" depends="init-common">
+    <antcall target="create-ra-config" />
+    <antcall target="deploy-rar-common">
+      <param name="rarfile" value="${bundles.dir}/connectors-ra-redeploy-rars.rar"/>
+    </antcall>
+    <antcall target="create-admin-object"/>
+    <antcall target="deploy"/>
+  </target>
 
-    <target name="build" depends="compile">
-
-        <antcall target="webclient-war-common">
-            <param name="hasWebclient" value="yes"/>
-            <param name="appname" value="redeploy-rar"/>
-            <param name="web.xml" value="descriptor/web.xml"/>
-            <param name="sun-web.xml" value="descriptor/sun-web.xml"/>
-            <param name="webclient.war.classes" value="servlet/*.class, beans/*.class"/>
-        </antcall>
-
-        <antcall target="build-ear-common">
-            <param name="ejbjar.classes"
-                   value="**/*Vers*.class"/>
-            <!--<param name="appclientjar.classes"
-                   value="**/*Client*.class"/>-->
-        </antcall>
-
-    </target>
-    <target name="setup" depends="init-common"/>
+  <target name="setuptwo" depends="init-common">
+    <antcall target="create-ra-config"/>
+    <!-- Applications must have the same filename, which is used as an application name -->
+    <copy file="${bundles.dir}/connectors-ra-redeploy-rars-v2.rar" tofile="connectors-ra-redeploy-rars.rar" />
+    <antcall target="deploy-rar-common">
+      <param name="rarfile" value="connectors-ra-redeploy-rars.rar" />
+    </antcall>
+    <antcall target="create-admin-object"/>
+    <antcall target="deploy"/>
+  </target>
 
 
-    <target name="setupone" depends="init-common">
-        <antcall target="create-ra-config"/>
-        <antcall target="deploy-rar-common">
-            <param name="rarfile" value="versions/ver1/testjdbcra.rar"/>
-        </antcall>
-        <antcall target="create-admin-object"/>
-        <antcall target="deploy"/>
-    </target>
+  <target name="deploy" depends="init-common">
+    <antcall target="deploy-common"/>
+  </target>
 
-    <target name="setuptwo" depends="init-common">
-        <antcall target="create-ra-config"/>
-        <antcall target="deploy-rar-common">
-            <param name="rarfile" value="versions/ver2/testjdbcra.rar"/>
-        </antcall>
-        <antcall target="create-admin-object"/>
-        <antcall target="deploy"/>
-    </target>
+  <target name="run" depends="init-common">
+    <!-- Running the redeploy cycle to test version 1 classes getting reset after verison 2 is undeployed -->
+    <antcall target="runCycle"/>
+    <antcall target="runCycle"/>
+  </target>
+
+  <target name="runCycle" depends="init-common">
+    <antcall target="setupone"/>
+    <java classname="client.WebTest">
+      <arg value="${http.host}"/>
+      <arg value="${http.port}"/>
+      <arg value="${contextroot}"/>
+      <arg value=" 1 "/>
+      <classpath>
+        <pathelement location="${env.APS_HOME}/lib/reporter.jar"/>
+        <pathelement location="."/>
+      </classpath>
+    </java>
+
+    <antcall target="unsetup"/>
 
 
-    <target name="deploy" depends="init-common">
-        <antcall target="deploy-common"/>
-    </target>
-
-    <target name="run" depends="init-common">
-        <!-- Running the redeploy cycle to test version 1 classes getting reset after verison 2 is undeployed -->
-        <antcall target="runCycle"/>
-        <antcall target="runCycle"/>
-    </target>
-
-    <!--
-        <target name="runCycle" depends="init-common">
-
-          <antcall target="setupone"/>
-          <exec executable="${APPCLIENT}" failonerror="true">
-              <env key="APPCPATH" value="${env.S1AS_HOME}/pointbase/lib/pbclient.jar"/>
-              <arg line="-client ${assemble.dir}/${appname}AppClient.jar"/>
-          <arg line="-name ${appname}Client"/>
-          <arg line="-textauth"/>
-          <arg line="-user j2ee"/>
-          <arg line="-password j2ee"/>
-              <arg line="-xml ${env.S1AS_HOME}/domains/${admin.domain}/config/glassfish-acc.xml"/>
-          <arg line= " 1 " />
-           </exec>
-           <antcall target="unsetup"/>
-           <antcall target="setuptwo"/>
-           <exec executable="${APPCLIENT}" failonerror="true">
-              <env key="APPCPATH" value="${env.S1AS_HOME}/pointbase/lib/pbclient.jar"/>
-              <arg line="-client ${assemble.dir}/${appname}AppClient.jar"/>
-          <arg line="-name ${appname}Client"/>
-          <arg line="-textauth"/>
-          <arg line="-user j2ee"/>
-          <arg line="-password j2ee"/>
-              <arg line="-xml ${env.S1AS_HOME}/domains/${admin.domain}/config/glassfish-acc.xml"/>
-          <arg line= " 2 " />
-           </exec>
-           <antcall target="unsetup"/>
-
-        </target>
-    -->
+    <antcall target="setuptwo"/>
+    <java classname="client.WebTest">
+      <arg value="${http.host}"/>
+      <arg value="${http.port}"/>
+      <arg value="${contextroot}"/>
+      <arg value=" 2 "/>
+      <classpath>
+        <pathelement location="${env.APS_HOME}/lib/reporter.jar"/>
+        <pathelement location="."/>
+      </classpath>
+    </java>
+    <antcall target="unsetup"/>
+  </target>
 
 
-    <target name="runCycle" depends="init-common">
+  <target name="unsetup" depends="init-common">
+    <antcall target="delete-admin-object"/>
+    <antcall target="delete-ra-config"/>
+    <antcall target="undeploy"/>
+  </target>
 
-        <antcall target="setupone"/>
-        <java classname="client.WebTest">
-            <arg value="${http.host}"/>
-            <arg value="${http.port}"/>
-            <arg value="${contextroot}"/>
-            <arg value=" 1 "/>
-            <classpath>
-                <pathelement location="${env.APS_HOME}/lib/reporter.jar"/>
-                <pathelement location="."/>
-            </classpath>
-        </java>
-
-        <antcall target="unsetup"/>
+  <target name="undeploy" depends="init-common">
+    <antcall target="undeploy-common"/>
+    <antcall target="undeploy-rar-common">
+      <param name="undeployrar" value="connectors-ra-redeploy-rars"/>
+    </antcall>
+  </target>
 
 
-        <antcall target="setuptwo"/>
-        <java classname="client.WebTest">
-            <arg value="${http.host}"/>
-            <arg value="${http.port}"/>
-            <arg value="${contextroot}"/>
-            <arg value=" 2 "/>
-            <classpath>
-                <pathelement location="${env.APS_HOME}/lib/reporter.jar"/>
-                <pathelement location="."/>
-            </classpath>
-        </java>
-        <antcall target="unsetup"/>
+  <target name="usage">
+    <antcall target="usage-common"/>
+  </target>
+
+  <target name="create-pool">
+    <antcall target="create-connector-connpool-common">
+      <param name="ra.name" value="connectors-ra-redeploy-rars"/>
+      <param name="connection.defname" value="javax.sql.DataSource"/>
+      <param name="connector.conpool.name" value="versiontest-ra-pool"/>
+    </antcall>
+    <antcall target="set-oracle-props">
+      <param name="pool.type" value="connector"/>
+      <param name="conpool.name" value="versiontest-ra-pool"/>
+    </antcall>
+  </target>
+
+  <target name="create-resource">
+    <antcall target="create-connector-resource-common">
+      <param name="connector.conpool.name" value="versiontest-ra-pool"/>
+      <param name="connector.jndi.name" value="jdbc/ejb-subclassing"/>
+    </antcall>
+  </target>
+
+  <target name="create-admin-object" depends="init-common">
+    <antcall target="asadmin-common">
+      <param name="admin.command"
+                   value="create-admin-object --target ${appserver.instance.name} --restype com.sun.jdbcra.spi.JdbcSetupAdmin --raname connectors-ra-redeploy-rars --property TableName=customer2:JndiName=jdbc/ejb-subclassing:SchemaName=connector:NoOfRows=1"/>
+      <param name="operand.props" value="eis/testAdmin"/>
+    </antcall>
+  </target>
+
+  <target name="delete-pool">
+    <antcall target="delete-connector-connpool-common">
+      <param name="connector.conpool.name" value="versiontest-ra-pool"/>
+    </antcall>
+  </target>
+
+  <target name="delete-resource">
+    <antcall target="delete-connector-resource-common">
+      <param name="connector.jndi.name" value="jdbc/ejb-subclassing"/>
+    </antcall>
+  </target>
 
 
-    </target>
+  <target name="delete-admin-object" depends="init-common">
+    <antcall target="asadmin-common">
+      <param name="admin.command" value="delete-admin-object"/>
+      <param name="operand.props" value="--target ${appserver.instance.name} eis/testAdmin"/>
+    </antcall>
+  </target>
 
 
-    <target name="unsetup" depends="init-common">
-        <antcall target="delete-admin-object"/>
-        <antcall target="delete-ra-config"/>
-        <antcall target="undeploy"/>
-    </target>
-
-    <target name="undeploy" depends="init-common">
-        <antcall target="undeploy-common"/>
-        <antcall target="undeploy-rar-common">
-            <param name="undeployrar" value="testjdbcra"/>
-        </antcall>
-    </target>
-
-
-    <target name="usage">
-        <antcall target="usage-common"/>
-    </target>
-
-    <target name="create-pool">
-        <antcall target="create-connector-connpool-common">
-            <param name="ra.name" value="testjdbcra"/>
-            <param name="connection.defname" value="javax.sql.DataSource"/>
-            <param name="connector.conpool.name" value="versiontest-ra-pool"/>
-        </antcall>
-        <antcall target="set-oracle-props">
-            <param name="pool.type" value="connector"/>
-            <param name="conpool.name" value="versiontest-ra-pool"/>
-        </antcall>
-    </target>
-
-    <target name="create-resource">
-        <antcall target="create-connector-resource-common">
-            <param name="connector.conpool.name" value="versiontest-ra-pool"/>
-            <param name="connector.jndi.name" value="jdbc/ejb-subclassing"/>
-        </antcall>
-    </target>
-
-    <target name="create-admin-object" depends="init-common">
-        <antcall target="asadmin-common">
-            <param name="admin.command"
-                   value="create-admin-object --target ${appserver.instance.name} --restype com.sun.jdbcra.spi.JdbcSetupAdmin --raname testjdbcra --property TableName=customer2:JndiName=jdbc/ejb-subclassing:SchemaName=connector:NoOfRows=1"/>
-            <param name="operand.props" value="eis/testAdmin"/>
-        </antcall>
-    </target>
-
-    <target name="delete-pool">
-        <antcall target="delete-connector-connpool-common">
-            <param name="connector.conpool.name" value="versiontest-ra-pool"/>
-        </antcall>
-    </target>
-
-    <target name="delete-resource">
-        <antcall target="delete-connector-resource-common">
-            <param name="connector.jndi.name" value="jdbc/ejb-subclassing"/>
-        </antcall>
-    </target>
-
-
-    <target name="delete-admin-object" depends="init-common">
-        <antcall target="asadmin-common">
-            <param name="admin.command" value="delete-admin-object"/>
-            <param name="operand.props" value="--target ${appserver.instance.name} eis/testAdmin"/>
-        </antcall>
-    </target>
-
-
-    <target name="create-ra-config" depends="init-common">
-        <antcall target="asadmin-common">
-            <param name="admin.command" value="create-resource-adapter-config  --property RAProperty=VALID"/>
-            <param name="operand.props" value="testjdbcra"/>
-        </antcall>
-    </target>
-    <target name="delete-ra-config" depends="init-common">
-        <antcall target="asadmin-common">
-            <param name="admin.command" value="delete-resource-adapter-config"/>
-            <param name="operand.props" value="testjdbcra"/>
-        </antcall>
-        <!--<antcall target="reconfig-common"/>-->
-    </target>
+  <target name="create-ra-config" depends="init-common">
+    <antcall target="asadmin-common">
+      <param name="admin.command" value="create-resource-adapter-config  --property RAProperty=VALID"/>
+      <param name="operand.props" value="connectors-ra-redeploy-rars"/>
+    </antcall>
+  </target>
+  <target name="delete-ra-config" depends="init-common">
+    <antcall target="asadmin-common">
+      <param name="admin.command" value="delete-resource-adapter-config"/>
+      <param name="operand.props" value="connectors-ra-redeploy-rars"/>
+    </antcall>
+  </target>
 
 </project>
diff --git a/appserver/tests/appserv-tests/devtests/connector/v3/redeployRar/ra/build.properties b/appserver/tests/appserv-tests/devtests/connector/v3/redeployRar/ra/build.properties
deleted file mode 100755
index fd21c3d..0000000
--- a/appserver/tests/appserv-tests/devtests/connector/v3/redeployRar/ra/build.properties
+++ /dev/null
@@ -1,23 +0,0 @@
-#
-# Copyright (c) 2002, 2018 Oracle and/or its affiliates. All rights reserved.
-#
-# This program and the accompanying materials are made available under the
-# terms of the Eclipse Public License v. 2.0, which is available at
-# http://www.eclipse.org/legal/epl-2.0.
-#
-# This Source Code may also be made available under the following Secondary
-# Licenses when the conditions for such availability set forth in the
-# Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
-# version 2 with the GNU Classpath Exception, which is available at
-# https://www.gnu.org/software/classpath/license.html.
-#
-# SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
-#
-
-
-### Component Properties ###
-src.dir=src
-component.publish.home=.
-component.classes.dir=${component.publish.home}/internal/classes
-component.lib.home=${component.publish.home}/lib
-component.publish.home=publish
diff --git a/appserver/tests/appserv-tests/devtests/connector/v3/redeployRar/ra/build.xml b/appserver/tests/appserv-tests/devtests/connector/v3/redeployRar/ra/build.xml
deleted file mode 100755
index d45c6ef..0000000
--- a/appserver/tests/appserv-tests/devtests/connector/v3/redeployRar/ra/build.xml
+++ /dev/null
@@ -1,92 +0,0 @@
-<!DOCTYPE project [
-<!--
-
-    Copyright (c) 2017, 2018 Oracle and/or its affiliates. All rights reserved.
-
-    This program and the accompanying materials are made available under the
-    terms of the Eclipse Public License v. 2.0, which is available at
-    http://www.eclipse.org/legal/epl-2.0.
-
-    This Source Code may also be made available under the following Secondary
-    Licenses when the conditions for such availability set forth in the
-    Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
-    version 2 with the GNU Classpath Exception, which is available at
-    https://www.gnu.org/software/classpath/license.html.
-
-    SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
-
--->
-
-  <!ENTITY common SYSTEM "../../../../../config/common.xml">
-  <!ENTITY testcommon SYSTEM "../../../../../config/properties.xml">
-]>
-
-<project name="JDBCConnector top level" default="build">
-    <property name="pkg.dir" value="com/sun/jdbcra/spi"/>
-
-    &common;
-    &testcommon;
-    <property file="./build.properties"/>
-
-    <target name="build" depends="compile,assemble" />
-
-
-    <!-- init. Initialization involves creating publishing directories and
-         OS specific targets. -->
-    <target name="init" description="${component.name} initialization">
-        <tstamp>
-            <format property="start.time" pattern="MM/dd/yyyy hh:mm aa"/>
-        </tstamp>
-        <echo message="Building component ${component.name}"/>
-        <mkdir dir="${component.classes.dir}"/>
-        <mkdir dir="${component.lib.home}"/>
-    </target>
-    <!-- compile -->
-    <target name="compile" depends="init"
-            description="Compile com/sun/* com/iplanet/* sources">
-        <!--<echo message="Connector api resides in ${connector-api.jar}"/>-->
-        <javac srcdir="${src.dir}"
-               destdir="${component.classes.dir}"
-               failonerror="true">
-               <classpath>
-                   <fileset dir="${env.S1AS_HOME}/modules">
-                      <include name="**/*.jar" />
-                   </fileset>
-               </classpath>
-            <include name="com/sun/jdbcra/**"/>
-            <include name="com/sun/appserv/**"/>
-        </javac>
-    </target>
-
-    <target name="all" depends="build"/>
-
-   <target name="assemble">
-
-        <jar jarfile="${component.lib.home}/jdbc.jar"
-            basedir="${component.classes.dir}" includes="${pkg.dir}/**/*,
-            com/sun/appserv/**/*, com/sun/jdbcra/util/**/*, com/sun/jdbcra/common/**/*"/>
-
-        <copy file="${src.dir}/com/sun/jdbcra/spi/1.4/ra-ds.xml"
-                tofile="${component.lib.home}/ra.xml" overwrite="yes">
-        </copy>
-           <jar jarfile="${component.lib.home}/testjdbcra.rar"
-                basedir="${component.lib.home}" includes="jdbc.jar">
-
-                   <metainf dir="${component.lib.home}">
-                           <include name="ra.xml"/>
-                   </metainf>
-           </jar>
-
-           <delete file="${component.lib.home}/ra.xml"/>
-
-  </target>
-
-    <target name="clean" description="Clean the build">
-        <delete includeEmptyDirs="true" failonerror="false">
-            <fileset dir="${component.classes.dir}"/>
-            <fileset dir="${component.lib.home}"/>
-        </delete>
-    </target>
-
-</project>
-
diff --git a/appserver/tests/appserv-tests/devtests/connector/v3/redeployRar/ra/src/com/sun/appserv/jdbcra/DataSource.java b/appserver/tests/appserv-tests/devtests/connector/v3/redeployRar/ra/src/com/sun/appserv/jdbcra/DataSource.java
deleted file mode 100755
index b6ef30b..0000000
--- a/appserver/tests/appserv-tests/devtests/connector/v3/redeployRar/ra/src/com/sun/appserv/jdbcra/DataSource.java
+++ /dev/null
@@ -1,55 +0,0 @@
-/*
- * Copyright (c) 2003, 2018 Oracle and/or its affiliates. All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v. 2.0, which is available at
- * http://www.eclipse.org/legal/epl-2.0.
- *
- * This Source Code may also be made available under the following Secondary
- * Licenses when the conditions for such availability set forth in the
- * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
- * version 2 with the GNU Classpath Exception, which is available at
- * https://www.gnu.org/software/classpath/license.html.
- *
- * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
- */
-
-package com.sun.appserv.jdbcra;
-
-import java.sql.Connection;
-import java.sql.SQLException;
-
-/**
- * The <code>javax.sql.DataSource</code> implementation of SunONE application
- * server will implement this interface. An application program would be able
- * to use this interface to do the extended functionality exposed by SunONE
- * application server.
- * <p>A sample code for getting driver's connection implementation would like
- * the following.
- * <pre>
-     InitialContext ic = new InitialContext();
-     com.sun.appserv.DataSource ds = (com.sun.appserv.DataSOurce) ic.lookup("jdbc/PointBase");
-     Connection con = ds.getConnection();
-     Connection drivercon = ds.getConnection(con);
-
-     // Do db operations.
-
-     con.close();
-   </pre>
- *
- * @author Binod P.G
- */
-public interface DataSource extends javax.sql.DataSource {
-
-    /**
-     * Retrieves the actual SQLConnection from the Connection wrapper
-     * implementation of SunONE application server. If an actual connection is
-     * supplied as argument, then it will be just returned.
-     *
-     * @param con Connection obtained from <code>Datasource.getConnection()</code>
-     * @return <code>java.sql.Connection</code> implementation of the driver.
-     * @throws <code>java.sql.SQLException</code> If connection cannot be obtained.
-     */
-    public Connection getConnection(Connection con) throws SQLException;
-
-}
diff --git a/appserver/tests/appserv-tests/devtests/connector/v3/redeployRar/ra/src/com/sun/jdbcra/common/DataSourceObjectBuilder.java b/appserver/tests/appserv-tests/devtests/connector/v3/redeployRar/ra/src/com/sun/jdbcra/common/DataSourceObjectBuilder.java
deleted file mode 100755
index 88a0950..0000000
--- a/appserver/tests/appserv-tests/devtests/connector/v3/redeployRar/ra/src/com/sun/jdbcra/common/DataSourceObjectBuilder.java
+++ /dev/null
@@ -1,216 +0,0 @@
-/*
- * Copyright (c) 2003, 2018 Oracle and/or its affiliates. All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v. 2.0, which is available at
- * http://www.eclipse.org/legal/epl-2.0.
- *
- * This Source Code may also be made available under the following Secondary
- * Licenses when the conditions for such availability set forth in the
- * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
- * version 2 with the GNU Classpath Exception, which is available at
- * https://www.gnu.org/software/classpath/license.html.
- *
- * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
- */
-
-package com.sun.jdbcra.common;
-
-import java.lang.reflect.Method;
-import java.util.Hashtable;
-import java.util.Vector;
-import java.util.StringTokenizer;
-import java.util.Enumeration;
-import com.sun.jdbcra.util.MethodExecutor;
-import jakarta.resource.ResourceException;
-
-import java.util.logging.Logger;
-import java.util.logging.Level;
-/**
- * Utility class, which would create necessary Datasource object according to the
- * specification.
- *
- * @version        1.0, 02/07/23
- * @author        Binod P.G
- * @see                com.sun.jdbcra.common.DataSourceSpec
- * @see                com.sun.jdbcra.util.MethodExcecutor
- */
-public class DataSourceObjectBuilder implements java.io.Serializable{
-
-    private DataSourceSpec spec;
-
-    private Hashtable driverProperties = null;
-
-    private MethodExecutor executor = null;
-
-    private static Logger _logger;
-    static {
-        _logger = Logger.getAnonymousLogger();
-    }
-    private boolean debug = false;
-    /**
-     * Construct a DataSource Object from the spec.
-     *
-     * @param        spec        <code> DataSourceSpec </code> object.
-     */
-    public DataSourceObjectBuilder(DataSourceSpec spec) {
-            this.spec = spec;
-            executor = new MethodExecutor();
-    }
-
-    /**
-     * Construct the DataSource Object from the spec.
-     *
-     * @return        Object constructed using the DataSourceSpec.
-     * @throws        <code>ResourceException</code> if the class is not found or some issue in executing
-     *                some method.
-     */
-    public Object constructDataSourceObject() throws ResourceException{
-            driverProperties = parseDriverProperties(spec);
-        Object dataSourceObject = getDataSourceObject();
-        Method[] methods = dataSourceObject.getClass().getMethods();
-        for (int i=0; i < methods.length; i++) {
-            String methodName = methods[i].getName();
-            if (methodName.equalsIgnoreCase("setUser")){
-                    executor.runJavaBeanMethod(spec.getDetail(DataSourceSpec.USERNAME),methods[i],dataSourceObject);
-
-            } else if (methodName.equalsIgnoreCase("setPassword")){
-                    executor.runJavaBeanMethod(spec.getDetail(DataSourceSpec.PASSWORD),methods[i],dataSourceObject);
-
-            } else if (methodName.equalsIgnoreCase("setLoginTimeOut")){
-                    executor.runJavaBeanMethod(spec.getDetail(DataSourceSpec.LOGINTIMEOUT),methods[i],dataSourceObject);
-
-            } else if (methodName.equalsIgnoreCase("setLogWriter")){
-                    executor.runJavaBeanMethod(spec.getDetail(DataSourceSpec.LOGWRITER),methods[i],dataSourceObject);
-
-            } else if (methodName.equalsIgnoreCase("setDatabaseName")){
-                    executor.runJavaBeanMethod(spec.getDetail(DataSourceSpec.DATABASENAME),methods[i],dataSourceObject);
-
-            } else if (methodName.equalsIgnoreCase("setDataSourceName")){
-                    executor.runJavaBeanMethod(spec.getDetail(DataSourceSpec.DATASOURCENAME),methods[i],dataSourceObject);
-
-            } else if (methodName.equalsIgnoreCase("setDescription")){
-                    executor.runJavaBeanMethod(spec.getDetail(DataSourceSpec.DESCRIPTION),methods[i],dataSourceObject);
-
-            } else if (methodName.equalsIgnoreCase("setNetworkProtocol")){
-                    executor.runJavaBeanMethod(spec.getDetail(DataSourceSpec.NETWORKPROTOCOL),methods[i],dataSourceObject);
-
-            } else if (methodName.equalsIgnoreCase("setPortNumber")){
-                    executor.runJavaBeanMethod(spec.getDetail(DataSourceSpec.PORTNUMBER),methods[i],dataSourceObject);
-
-            } else if (methodName.equalsIgnoreCase("setRoleName")){
-                    executor.runJavaBeanMethod(spec.getDetail(DataSourceSpec.ROLENAME),methods[i],dataSourceObject);
-
-            } else if (methodName.equalsIgnoreCase("setServerName")){
-                    executor.runJavaBeanMethod(spec.getDetail(DataSourceSpec.SERVERNAME),methods[i],dataSourceObject);
-
-            } else if (methodName.equalsIgnoreCase("setMaxStatements")){
-                    executor.runJavaBeanMethod(spec.getDetail(DataSourceSpec.MAXSTATEMENTS),methods[i],dataSourceObject);
-
-            } else if (methodName.equalsIgnoreCase("setInitialPoolSize")){
-                    executor.runJavaBeanMethod(spec.getDetail(DataSourceSpec.INITIALPOOLSIZE),methods[i],dataSourceObject);
-
-            } else if (methodName.equalsIgnoreCase("setMinPoolSize")){
-                    executor.runJavaBeanMethod(spec.getDetail(DataSourceSpec.MINPOOLSIZE),methods[i],dataSourceObject);
-
-            } else if (methodName.equalsIgnoreCase("setMaxPoolSize")){
-                    executor.runJavaBeanMethod(spec.getDetail(DataSourceSpec.MAXPOOLSIZE),methods[i],dataSourceObject);
-
-            } else if (methodName.equalsIgnoreCase("setMaxIdleTime")){
-                    executor.runJavaBeanMethod(spec.getDetail(DataSourceSpec.MAXIDLETIME),methods[i],dataSourceObject);
-
-            } else if (methodName.equalsIgnoreCase("setPropertyCycle")){
-                    executor.runJavaBeanMethod(spec.getDetail(DataSourceSpec.PROPERTYCYCLE),methods[i],dataSourceObject);
-
-            } else if (driverProperties.containsKey(methodName.toUpperCase())){
-                    Vector values = (Vector) driverProperties.get(methodName.toUpperCase());
-                executor.runMethod(methods[i],dataSourceObject, values);
-            }
-        }
-        return dataSourceObject;
-    }
-
-    /**
-     * Get the extra driver properties from the DataSourceSpec object and
-     * parse them to a set of methodName and parameters. Prepare a hashtable
-     * containing these details and return.
-     *
-     * @param        spec        <code> DataSourceSpec </code> object.
-     * @return        Hashtable containing method names and parameters,
-     * @throws        ResourceException        If delimiter is not provided and property string
-     *                                        is not null.
-     */
-    private Hashtable parseDriverProperties(DataSourceSpec spec) throws ResourceException{
-            String delim = spec.getDetail(DataSourceSpec.DELIMITER);
-
-        String prop = spec.getDetail(DataSourceSpec.DRIVERPROPERTIES);
-        if ( prop == null || prop.trim().equals("")) {
-            return new Hashtable();
-        } else if (delim == null || delim.equals("")) {
-            throw new ResourceException ("Delimiter is not provided in the configuration");
-        }
-
-        Hashtable properties = new Hashtable();
-        delim = delim.trim();
-        String sep = delim+delim;
-        int sepLen = sep.length();
-        String cache = prop;
-        Vector methods = new Vector();
-
-        while (cache.indexOf(sep) != -1) {
-            int index = cache.indexOf(sep);
-            String name = cache.substring(0,index);
-            if (name.trim() != "") {
-                methods.add(name);
-                    cache = cache.substring(index+sepLen);
-            }
-        }
-
-            Enumeration allMethods = methods.elements();
-            while (allMethods.hasMoreElements()) {
-                String oneMethod = (String) allMethods.nextElement();
-                if (!oneMethod.trim().equals("")) {
-                        String methodName = null;
-                        Vector parms = new Vector();
-                        StringTokenizer methodDetails = new StringTokenizer(oneMethod,delim);
-                for (int i=0; methodDetails.hasMoreTokens();i++ ) {
-                    String token = (String) methodDetails.nextToken();
-                    if (i==0) {
-                            methodName = token.toUpperCase();
-                    } else {
-                            parms.add(token);
-                    }
-                }
-                properties.put(methodName,parms);
-                }
-            }
-            return properties;
-    }
-
-    /**
-     * Creates a Datasource object according to the spec.
-     *
-     * @return        Initial DataSource Object instance.
-     * @throws        <code>ResourceException</code> If class name is wrong or classpath is not set
-     *                properly.
-     */
-    private Object getDataSourceObject() throws ResourceException{
-            String className = spec.getDetail(DataSourceSpec.CLASSNAME);
-        try {
-            Class dataSourceClass = Class.forName(className);
-            Object dataSourceObject = dataSourceClass.newInstance();
-            return dataSourceObject;
-        } catch(ClassNotFoundException cfne){
-            _logger.log(Level.SEVERE, "jdbc.exc_cnfe_ds", cfne);
-
-            throw new ResourceException("Class Name is wrong or Class path is not set for :" + className);
-        } catch(InstantiationException ce) {
-            _logger.log(Level.SEVERE, "jdbc.exc_inst", className);
-            throw new ResourceException("Error in instantiating" + className);
-        } catch(IllegalAccessException ce) {
-            _logger.log(Level.SEVERE, "jdbc.exc_acc_inst", className);
-            throw new ResourceException("Access Error in instantiating" + className);
-        }
-    }
-
-}
diff --git a/appserver/tests/appserv-tests/devtests/connector/v3/redeployRar/ra/src/com/sun/jdbcra/common/DataSourceSpec.java b/appserver/tests/appserv-tests/devtests/connector/v3/redeployRar/ra/src/com/sun/jdbcra/common/DataSourceSpec.java
deleted file mode 100755
index 1c4b072..0000000
--- a/appserver/tests/appserv-tests/devtests/connector/v3/redeployRar/ra/src/com/sun/jdbcra/common/DataSourceSpec.java
+++ /dev/null
@@ -1,110 +0,0 @@
-/*
- * Copyright (c) 2003, 2018 Oracle and/or its affiliates. All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v. 2.0, which is available at
- * http://www.eclipse.org/legal/epl-2.0.
- *
- * This Source Code may also be made available under the following Secondary
- * Licenses when the conditions for such availability set forth in the
- * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
- * version 2 with the GNU Classpath Exception, which is available at
- * https://www.gnu.org/software/classpath/license.html.
- *
- * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
- */
-
-package com.sun.jdbcra.common;
-
-import java.util.Hashtable;
-
-/**
- * Encapsulate the DataSource object details obtained from
- * ManagedConnectionFactory.
- *
- * @version        1.0, 02/07/23
- * @author        Binod P.G
- */
-public class DataSourceSpec implements java.io.Serializable{
-
-    public static final int USERNAME                                = 1;
-    public static final int PASSWORD                                = 2;
-    public static final int URL                                        = 3;
-    public static final int LOGINTIMEOUT                        = 4;
-    public static final int LOGWRITER                                = 5;
-    public static final int DATABASENAME                        = 6;
-    public static final int DATASOURCENAME                        = 7;
-    public static final int DESCRIPTION                                = 8;
-    public static final int NETWORKPROTOCOL                        = 9;
-    public static final int PORTNUMBER                                = 10;
-    public static final int ROLENAME                                = 11;
-    public static final int SERVERNAME                                = 12;
-    public static final int MAXSTATEMENTS                        = 13;
-    public static final int INITIALPOOLSIZE                        = 14;
-    public static final int MINPOOLSIZE                                = 15;
-    public static final int MAXPOOLSIZE                                = 16;
-    public static final int MAXIDLETIME                                = 17;
-    public static final int PROPERTYCYCLE                        = 18;
-    public static final int DRIVERPROPERTIES                        = 19;
-    public static final int CLASSNAME                                = 20;
-    public static final int DELIMITER                                = 21;
-
-    public static final int XADATASOURCE                        = 22;
-    public static final int DATASOURCE                                = 23;
-    public static final int CONNECTIONPOOLDATASOURCE                = 24;
-
-    //GJCINT
-    public static final int CONNECTIONVALIDATIONREQUIRED        = 25;
-    public static final int VALIDATIONMETHOD                        = 26;
-    public static final int VALIDATIONTABLENAME                        = 27;
-
-    public static final int TRANSACTIONISOLATION                = 28;
-    public static final int GUARANTEEISOLATIONLEVEL                = 29;
-
-    private Hashtable details = new Hashtable();
-
-    /**
-     * Set the property.
-     *
-     * @param        property        Property Name to be set.
-     * @param        value                Value of property to be set.
-     */
-    public void setDetail(int property, String value) {
-            details.put(new Integer(property),value);
-    }
-
-    /**
-     * Get the value of property
-     *
-     * @return        Value of the property.
-     */
-    public String getDetail(int property) {
-            if (details.containsKey(new Integer(property))) {
-                return (String) details.get(new Integer(property));
-            } else {
-                return null;
-            }
-    }
-
-    /**
-     * Checks whether two <code>DataSourceSpec</code> objects
-     * are equal or not.
-     *
-     * @param        obj        Instance of <code>DataSourceSpec</code> object.
-     */
-    public boolean equals(Object obj) {
-            if (obj instanceof DataSourceSpec) {
-                return this.details.equals(((DataSourceSpec)obj).details);
-            }
-            return false;
-    }
-
-    /**
-     * Retrieves the hashCode of this <code>DataSourceSpec</code> object.
-     *
-     * @return        hashCode of this object.
-     */
-    public int hashCode() {
-            return this.details.hashCode();
-    }
-}
diff --git a/appserver/tests/appserv-tests/devtests/connector/v3/redeployRar/ra/src/com/sun/jdbcra/common/build.xml b/appserver/tests/appserv-tests/devtests/connector/v3/redeployRar/ra/src/com/sun/jdbcra/common/build.xml
deleted file mode 100755
index 3b4faeb..0000000
--- a/appserver/tests/appserv-tests/devtests/connector/v3/redeployRar/ra/src/com/sun/jdbcra/common/build.xml
+++ /dev/null
@@ -1,48 +0,0 @@
-<?xml version="1.0"?>
-<!--
-
-    Copyright (c) 2017, 2018 Oracle and/or its affiliates. All rights reserved.
-
-    This program and the accompanying materials are made available under the
-    terms of the Eclipse Public License v. 2.0, which is available at
-    http://www.eclipse.org/legal/epl-2.0.
-
-    This Source Code may also be made available under the following Secondary
-    Licenses when the conditions for such availability set forth in the
-    Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
-    version 2 with the GNU Classpath Exception, which is available 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 name="jdbc_connector" basedir="." default="build">
-  <property name="pkg.dir" value="com/sun/gjc/common"/>
-
-  <target name="clean">
-    <ant antfile="build.xml" dir="${gjc.home}/bin" target="clean"/>
-  </target>
-
-  <target name="compile">
-    <ant antfile="build.xml" dir="${gjc.home}/bin" target="compile13"/>
-  </target>
-
-  <target name="package">
-    <mkdir dir="${dist.dir}/${pkg.dir}"/>
-      <jar jarfile="${dist.dir}/${pkg.dir}/common.jar" basedir="${class.dir}"
-        includes="${pkg.dir}/**/*"/>
-  </target>
-
-  <target name="compile13" depends="compile"/>
-  <target name="compile14" depends="compile"/>
-
-  <target name="package13" depends="package"/>
-  <target name="package14" depends="package"/>
-
-  <target name="build13" depends="compile13, package13"/>
-  <target name="build14" depends="compile14, package14"/>
-
-  <target name="build" depends="build13, build14"/>
-
-</project>
diff --git a/appserver/tests/appserv-tests/devtests/connector/v3/redeployRar/ra/src/com/sun/jdbcra/spi/1.4/ConnectionHolder.java b/appserver/tests/appserv-tests/devtests/connector/v3/redeployRar/ra/src/com/sun/jdbcra/spi/1.4/ConnectionHolder.java
deleted file mode 100755
index 55dedad..0000000
--- a/appserver/tests/appserv-tests/devtests/connector/v3/redeployRar/ra/src/com/sun/jdbcra/spi/1.4/ConnectionHolder.java
+++ /dev/null
@@ -1,671 +0,0 @@
-/*
- * Copyright (c) 2003, 2018 Oracle and/or its affiliates. All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v. 2.0, which is available at
- * http://www.eclipse.org/legal/epl-2.0.
- *
- * This Source Code may also be made available under the following Secondary
- * Licenses when the conditions for such availability set forth in the
- * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
- * version 2 with the GNU Classpath Exception, which is available at
- * https://www.gnu.org/software/classpath/license.html.
- *
- * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
- */
-
-package com.sun.jdbcra.spi;
-
-import java.sql.*;
-import java.util.Hashtable;
-import java.util.Map;
-import java.util.Enumeration;
-import java.util.Properties;
-import java.util.concurrent.Executor;
-
-/**
- * Holds the java.sql.Connection object, which is to be
- * passed to the application program.
- *
- * @version        1.0, 02/07/23
- * @author        Binod P.G
- */
-public class ConnectionHolder implements Connection{
-
-    private Connection con;
-
-    private ManagedConnection mc;
-
-    private boolean wrappedAlready = false;
-
-    private boolean isClosed = false;
-
-    private boolean valid = true;
-
-    private boolean active = false;
-    /**
-     * The active flag is false when the connection handle is
-     * created. When a method is invoked on this object, it asks
-     * the ManagedConnection if it can be the active connection
-     * handle out of the multiple connection handles. If the
-     * ManagedConnection reports that this connection handle
-     * can be active by setting this flag to true via the setActive
-     * function, the above method invocation succeeds; otherwise
-     * an exception is thrown.
-     */
-
-    /**
-     * Constructs a Connection holder.
-     *
-     * @param        con        <code>java.sql.Connection</code> object.
-     */
-    public ConnectionHolder(Connection con, ManagedConnection mc) {
-        this.con = con;
-        this.mc  = mc;
-    }
-
-    /**
-     * Returns the actual connection in this holder object.
-     *
-     * @return        Connection object.
-     */
-    Connection getConnection() {
-            return con;
-    }
-
-    /**
-     * Sets the flag to indicate that, the connection is wrapped already or not.
-     *
-     * @param        wrapFlag
-     */
-    void wrapped(boolean wrapFlag){
-        this.wrappedAlready = wrapFlag;
-    }
-
-    /**
-     * Returns whether it is wrapped already or not.
-     *
-     * @return        wrapped flag.
-     */
-    boolean isWrapped(){
-        return wrappedAlready;
-    }
-
-    /**
-     * Returns the <code>ManagedConnection</code> instance responsible
-     * for this connection.
-     *
-     * @return        <code>ManagedConnection</code> instance.
-     */
-    ManagedConnection getManagedConnection() {
-        return mc;
-    }
-
-    /**
-     * Replace the actual <code>java.sql.Connection</code> object with the one
-     * supplied. Also replace <code>ManagedConnection</code> link.
-     *
-     * @param        con <code>Connection</code> object.
-     * @param        mc  <code> ManagedConnection</code> object.
-     */
-    void associateConnection(Connection con, ManagedConnection mc) {
-            this.mc = mc;
-            this.con = con;
-    }
-
-    /**
-     * Clears all warnings reported for the underlying connection  object.
-     *
-     * @throws SQLException In case of a database error.
-     */
-    public void clearWarnings() throws SQLException{
-        checkValidity();
-        con.clearWarnings();
-    }
-
-    /**
-     * Closes the logical connection.
-     *
-     * @throws SQLException In case of a database error.
-     */
-    public void close() throws SQLException{
-        isClosed = true;
-        mc.connectionClosed(null, this);
-    }
-
-    /**
-     * Invalidates this object.
-     */
-    public void invalidate() {
-            valid = false;
-    }
-
-    /**
-     * Closes the physical connection involved in this.
-     *
-     * @throws SQLException In case of a database error.
-     */
-    void actualClose() throws SQLException{
-        con.close();
-    }
-
-    /**
-     * Commit the changes in the underlying Connection.
-     *
-     * @throws SQLException In case of a database error.
-     */
-    public void commit() throws SQLException {
-        checkValidity();
-            con.commit();
-    }
-
-    /**
-     * Creates a statement from the underlying Connection
-     *
-     * @return        <code>Statement</code> object.
-     * @throws SQLException In case of a database error.
-     */
-    public Statement createStatement() throws SQLException {
-        checkValidity();
-        return con.createStatement();
-    }
-
-    /**
-     * Creates a statement from the underlying Connection.
-     *
-     * @param        resultSetType        Type of the ResultSet
-     * @param        resultSetConcurrency        ResultSet Concurrency.
-     * @return        <code>Statement</code> object.
-     * @throws SQLException In case of a database error.
-     */
-    public Statement createStatement(int resultSetType, int resultSetConcurrency) throws SQLException {
-        checkValidity();
-        return con.createStatement(resultSetType, resultSetConcurrency);
-    }
-
-    /**
-     * Creates a statement from the underlying Connection.
-     *
-     * @param        resultSetType        Type of the ResultSet
-     * @param        resultSetConcurrency        ResultSet Concurrency.
-     * @param        resultSetHoldability        ResultSet Holdability.
-     * @return        <code>Statement</code> object.
-     * @throws SQLException In case of a database error.
-     */
-    public Statement createStatement(int resultSetType, int resultSetConcurrency,
-                                         int resultSetHoldabilty) throws SQLException {
-        checkValidity();
-        return con.createStatement(resultSetType, resultSetConcurrency,
-                                   resultSetHoldabilty);
-    }
-
-    /**
-     * Retrieves the current auto-commit mode for the underlying <code> Connection</code>.
-     *
-     * @return The current state of connection's auto-commit mode.
-     * @throws SQLException In case of a database error.
-     */
-    public boolean getAutoCommit() throws SQLException {
-        checkValidity();
-            return con.getAutoCommit();
-    }
-
-    /**
-     * Retrieves the underlying <code>Connection</code> object's catalog name.
-     *
-     * @return        Catalog Name.
-     * @throws SQLException In case of a database error.
-     */
-    public String getCatalog() throws SQLException {
-        checkValidity();
-        return con.getCatalog();
-    }
-
-    /**
-     * Retrieves the current holdability of <code>ResultSet</code> objects created
-     * using this connection object.
-     *
-     * @return        holdability value.
-     * @throws SQLException In case of a database error.
-     */
-    public int getHoldability() throws SQLException {
-        checkValidity();
-            return        con.getHoldability();
-    }
-
-    /**
-     * Retrieves the <code>DatabaseMetaData</code>object from the underlying
-     * <code> Connection </code> object.
-     *
-     * @return <code>DatabaseMetaData</code> object.
-     * @throws SQLException In case of a database error.
-     */
-    public DatabaseMetaData getMetaData() throws SQLException {
-        checkValidity();
-            return con.getMetaData();
-    }
-
-    /**
-     * Retrieves this <code>Connection</code> object's current transaction isolation level.
-     *
-     * @return Transaction level
-     * @throws SQLException In case of a database error.
-     */
-    public int getTransactionIsolation() throws SQLException {
-        checkValidity();
-        return con.getTransactionIsolation();
-    }
-
-    /**
-     * Retrieves the <code>Map</code> object associated with
-     * <code> Connection</code> Object.
-     *
-     * @return        TypeMap set in this object.
-     * @throws SQLException In case of a database error.
-     */
-    public Map getTypeMap() throws SQLException {
-        checkValidity();
-            return con.getTypeMap();
-    }
-
-    /**
-     * Retrieves the the first warning reported by calls on the underlying
-     * <code>Connection</code> object.
-     *
-     * @return First <code> SQLWarning</code> Object or null.
-     * @throws SQLException In case of a database error.
-     */
-    public SQLWarning getWarnings() throws SQLException {
-        checkValidity();
-            return con.getWarnings();
-    }
-
-    /**
-     * Retrieves whether underlying <code>Connection</code> object is closed.
-     *
-     * @return        true if <code>Connection</code> object is closed, false
-     *                 if it is closed.
-     * @throws SQLException In case of a database error.
-     */
-    public boolean isClosed() throws SQLException {
-            return isClosed;
-    }
-
-    /**
-     * Retrieves whether this <code>Connection</code> object is read-only.
-     *
-     * @return        true if <code> Connection </code> is read-only, false other-wise
-     * @throws SQLException In case of a database error.
-     */
-    public boolean isReadOnly() throws SQLException {
-        checkValidity();
-            return con.isReadOnly();
-    }
-
-    /**
-     * Converts the given SQL statement into the system's native SQL grammer.
-     *
-     * @param        sql        SQL statement , to be converted.
-     * @return        Converted SQL string.
-     * @throws SQLException In case of a database error.
-     */
-    public String nativeSQL(String sql) throws SQLException {
-        checkValidity();
-            return con.nativeSQL(sql);
-    }
-
-    /**
-     * Creates a <code> CallableStatement </code> object for calling database
-     * stored procedures.
-     *
-     * @param        sql        SQL Statement
-     * @return <code> CallableStatement</code> object.
-     * @throws SQLException In case of a database error.
-     */
-    public CallableStatement prepareCall(String sql) throws SQLException {
-        checkValidity();
-            return con.prepareCall(sql);
-    }
-
-    /**
-     * Creates a <code> CallableStatement </code> object for calling database
-     * stored procedures.
-     *
-     * @param        sql        SQL Statement
-     * @param        resultSetType        Type of the ResultSet
-     * @param        resultSetConcurrency        ResultSet Concurrency.
-     * @return <code> CallableStatement</code> object.
-     * @throws SQLException In case of a database error.
-     */
-    public CallableStatement prepareCall(String sql,int resultSetType,
-                                            int resultSetConcurrency) throws SQLException{
-        checkValidity();
-            return con.prepareCall(sql, resultSetType, resultSetConcurrency);
-    }
-
-    /**
-     * Creates a <code> CallableStatement </code> object for calling database
-     * stored procedures.
-     *
-     * @param        sql        SQL Statement
-     * @param        resultSetType        Type of the ResultSet
-     * @param        resultSetConcurrency        ResultSet Concurrency.
-     * @param        resultSetHoldability        ResultSet Holdability.
-     * @return <code> CallableStatement</code> object.
-     * @throws SQLException In case of a database error.
-     */
-    public CallableStatement prepareCall(String sql, int resultSetType,
-                                             int resultSetConcurrency,
-                                             int resultSetHoldabilty) throws SQLException{
-        checkValidity();
-            return con.prepareCall(sql, resultSetType, resultSetConcurrency,
-                                   resultSetHoldabilty);
-    }
-
-    /**
-     * Creates a <code> PreparedStatement </code> object for sending
-     * paramterized SQL statements to database
-     *
-     * @param        sql        SQL Statement
-     * @return <code> PreparedStatement</code> object.
-     * @throws SQLException In case of a database error.
-     */
-    public PreparedStatement prepareStatement(String sql) throws SQLException {
-        checkValidity();
-            return con.prepareStatement(sql);
-    }
-
-    /**
-     * Creates a <code> PreparedStatement </code> object for sending
-     * paramterized SQL statements to database
-     *
-     * @param        sql        SQL Statement
-     * @param        autoGeneratedKeys a flag indicating AutoGeneratedKeys need to be returned.
-     * @return <code> PreparedStatement</code> object.
-     * @throws SQLException In case of a database error.
-     */
-    public PreparedStatement prepareStatement(String sql, int autoGeneratedKeys) throws SQLException {
-        checkValidity();
-            return con.prepareStatement(sql,autoGeneratedKeys);
-    }
-
-    /**
-     * Creates a <code> PreparedStatement </code> object for sending
-     * paramterized SQL statements to database
-     *
-     * @param        sql        SQL Statement
-     * @param        columnIndexes an array of column indexes indicating the columns that should be
-     *                returned from the inserted row or rows.
-     * @return <code> PreparedStatement</code> object.
-     * @throws SQLException In case of a database error.
-     */
-    public PreparedStatement prepareStatement(String sql, int[] columnIndexes) throws SQLException {
-        checkValidity();
-            return con.prepareStatement(sql,columnIndexes);
-    }
-
-    /**
-     * Creates a <code> PreparedStatement </code> object for sending
-     * paramterized SQL statements to database
-     *
-     * @param        sql        SQL Statement
-     * @param        resultSetType        Type of the ResultSet
-     * @param        resultSetConcurrency        ResultSet Concurrency.
-     * @return <code> PreparedStatement</code> object.
-     * @throws SQLException In case of a database error.
-     */
-    public PreparedStatement prepareStatement(String sql,int resultSetType,
-                                            int resultSetConcurrency) throws SQLException{
-        checkValidity();
-            return con.prepareStatement(sql, resultSetType, resultSetConcurrency);
-    }
-
-    /**
-     * Creates a <code> PreparedStatement </code> object for sending
-     * paramterized SQL statements to database
-     *
-     * @param        sql        SQL Statement
-     * @param        resultSetType        Type of the ResultSet
-     * @param        resultSetConcurrency        ResultSet Concurrency.
-     * @param        resultSetHoldability        ResultSet Holdability.
-     * @return <code> PreparedStatement</code> object.
-     * @throws SQLException In case of a database error.
-     */
-    public PreparedStatement prepareStatement(String sql, int resultSetType,
-                                             int resultSetConcurrency,
-                                             int resultSetHoldabilty) throws SQLException {
-        checkValidity();
-            return con.prepareStatement(sql, resultSetType, resultSetConcurrency,
-                                        resultSetHoldabilty);
-    }
-
-    /**
-     * Creates a <code> PreparedStatement </code> object for sending
-     * paramterized SQL statements to database
-     *
-     * @param        sql        SQL Statement
-     * @param        columnNames Name of bound columns.
-     * @return <code> PreparedStatement</code> object.
-     * @throws SQLException In case of a database error.
-     */
-    public PreparedStatement prepareStatement(String sql, String[] columnNames) throws SQLException {
-        checkValidity();
-            return con.prepareStatement(sql,columnNames);
-    }
-
-    public Clob createClob() throws SQLException {
-        return null;  //To change body of implemented methods use File | Settings | File Templates.
-    }
-
-    public Blob createBlob() throws SQLException {
-        return null;  //To change body of implemented methods use File | Settings | File Templates.
-    }
-
-    public NClob createNClob() throws SQLException {
-        return null;  //To change body of implemented methods use File | Settings | File Templates.
-    }
-
-    public SQLXML createSQLXML() throws SQLException {
-        return null;  //To change body of implemented methods use File | Settings | File Templates.
-    }
-
-    public boolean isValid(int timeout) throws SQLException {
-        return false;  //To change body of implemented methods use File | Settings | File Templates.
-    }
-
-    public void setClientInfo(String name, String value) throws SQLClientInfoException {
-        //To change body of implemented methods use File | Settings | File Templates.
-    }
-
-    public void setClientInfo(Properties properties) throws SQLClientInfoException {
-        //To change body of implemented methods use File | Settings | File Templates.
-    }
-
-    public String getClientInfo(String name) throws SQLException {
-        return null;  //To change body of implemented methods use File | Settings | File Templates.
-    }
-
-    public Properties getClientInfo() throws SQLException {
-        return null;  //To change body of implemented methods use File | Settings | File Templates.
-    }
-
-    public Array createArrayOf(String typeName, Object[] elements) throws SQLException {
-        return null;  //To change body of implemented methods use File | Settings | File Templates.
-    }
-
-    public Struct createStruct(String typeName, Object[] attributes) throws SQLException {
-        return null;  //To change body of implemented methods use File | Settings | File Templates.
-    }
-
-    /**
-     * Removes the given <code>Savepoint</code> object from the current transaction.
-     *
-     * @param        savepoint        <code>Savepoint</code> object
-     * @throws SQLException In case of a database error.
-     */
-    public void releaseSavepoint(Savepoint savepoint) throws SQLException {
-        checkValidity();
-            con.releaseSavepoint(savepoint);
-    }
-
-    /**
-     * Rolls back the changes made in the current transaction.
-     *
-     * @throws SQLException In case of a database error.
-     */
-    public void rollback() throws SQLException {
-        checkValidity();
-            con.rollback();
-    }
-
-    /**
-     * Rolls back the changes made after the savepoint.
-     *
-     * @throws SQLException In case of a database error.
-     */
-    public void rollback(Savepoint savepoint) throws SQLException {
-        checkValidity();
-            con.rollback(savepoint);
-    }
-
-    /**
-     * Sets the auto-commmit mode of the <code>Connection</code> object.
-     *
-     * @param        autoCommit boolean value indicating the auto-commit mode.
-     * @throws SQLException In case of a database error.
-     */
-    public void setAutoCommit(boolean autoCommit) throws SQLException {
-        checkValidity();
-            con.setAutoCommit(autoCommit);
-    }
-
-    /**
-     * Sets the catalog name to the <code>Connection</code> object
-     *
-     * @param        catalog        Catalog name.
-     * @throws SQLException In case of a database error.
-     */
-    public void setCatalog(String catalog) throws SQLException {
-        checkValidity();
-            con.setCatalog(catalog);
-    }
-
-    /**
-     * Sets the holdability of <code>ResultSet</code> objects created
-     * using this <code>Connection</code> object.
-     *
-     * @param        holdability        A <code>ResultSet</code> holdability constant
-     * @throws SQLException In case of a database error.
-     */
-    public void setHoldability(int holdability) throws SQLException {
-        checkValidity();
-             con.setHoldability(holdability);
-    }
-
-    /**
-     * Puts the connection in read-only mode as a hint to the driver to
-     * perform database optimizations.
-     *
-     * @param        readOnly  true enables read-only mode, false disables it.
-     * @throws SQLException In case of a database error.
-     */
-    public void setReadOnly(boolean readOnly) throws SQLException {
-        checkValidity();
-            con.setReadOnly(readOnly);
-    }
-
-    /**
-     * Creates and unnamed savepoint and returns an object corresponding to that.
-     *
-     * @return        <code>Savepoint</code> object.
-     * @throws SQLException In case of a database error.
-     */
-    public Savepoint setSavepoint() throws SQLException {
-        checkValidity();
-            return con.setSavepoint();
-    }
-
-    /**
-     * Creates a savepoint with the name and returns an object corresponding to that.
-     *
-     * @param        name        Name of the savepoint.
-     * @return        <code>Savepoint</code> object.
-     * @throws SQLException In case of a database error.
-     */
-    public Savepoint setSavepoint(String name) throws SQLException {
-        checkValidity();
-            return con.setSavepoint(name);
-    }
-
-    /**
-     * Creates the transaction isolation level.
-     *
-     * @param        level transaction isolation level.
-     * @throws SQLException In case of a database error.
-     */
-    public void setTransactionIsolation(int level) throws SQLException {
-        checkValidity();
-            con.setTransactionIsolation(level);
-    }
-
-    /**
-     * Installs the given <code>Map</code> object as the tyoe map for this
-     * <code> Connection </code> object.
-     *
-     * @param        map        <code>Map</code> a Map object to install.
-     * @throws SQLException In case of a database error.
-     */
-    public void setTypeMap(Map map) throws SQLException {
-        checkValidity();
-            con.setTypeMap(map);
-    }
-
-    public int getNetworkTimeout() throws SQLException {
-      throw new SQLFeatureNotSupportedException("Do not support Java 7 new feature.");
-    }
-
-    public void setNetworkTimeout(Executor executor, int milliseconds) throws SQLException {
-      throw new SQLFeatureNotSupportedException("Do not support Java 7 new feature.");
-    }
-
-    public void abort(Executor executor)  throws SQLException{
-      throw new SQLFeatureNotSupportedException("Do not support Java 7 new feature.");
-    }
-
-    public String getSchema() throws SQLException{
-      throw new SQLFeatureNotSupportedException("Do not support Java 7 new feature.");
-    }
-
-    public void setSchema(String schema) throws SQLException{
-      throw new SQLFeatureNotSupportedException("Do not support Java 7 new feature.");
-    }
-
-
-    /**
-     * Checks the validity of this object
-     */
-    private void checkValidity() throws SQLException {
-            if (isClosed) throw new SQLException ("Connection closed");
-            if (!valid) throw new SQLException ("Invalid Connection");
-            if(active == false) {
-                mc.checkIfActive(this);
-            }
-    }
-
-    /**
-     * Sets the active flag to true
-     *
-     * @param        actv        boolean
-     */
-    void setActive(boolean actv) {
-        active = actv;
-    }
-
-    public <T> T unwrap(Class<T> iface) throws SQLException {
-        return null;  //To change body of implemented methods use File | Settings | File Templates.
-    }
-
-    public boolean isWrapperFor(Class<?> iface) throws SQLException {
-        return false;  //To change body of implemented methods use File | Settings | File Templates.
-    }
-}
diff --git a/appserver/tests/appserv-tests/devtests/connector/v3/redeployRar/ra/src/com/sun/jdbcra/spi/1.4/ManagedConnectionFactory.java b/appserver/tests/appserv-tests/devtests/connector/v3/redeployRar/ra/src/com/sun/jdbcra/spi/1.4/ManagedConnectionFactory.java
deleted file mode 100755
index fb0fdab..0000000
--- a/appserver/tests/appserv-tests/devtests/connector/v3/redeployRar/ra/src/com/sun/jdbcra/spi/1.4/ManagedConnectionFactory.java
+++ /dev/null
@@ -1,754 +0,0 @@
-/*
- * Copyright (c) 2003, 2018 Oracle and/or its affiliates. All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v. 2.0, which is available at
- * http://www.eclipse.org/legal/epl-2.0.
- *
- * This Source Code may also be made available under the following Secondary
- * Licenses when the conditions for such availability set forth in the
- * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
- * version 2 with the GNU Classpath Exception, which is available at
- * https://www.gnu.org/software/classpath/license.html.
- *
- * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
- */
-
-package com.sun.jdbcra.spi;
-
-import jakarta.resource.ResourceException;
-import jakarta.resource.spi.ConnectionRequestInfo;
-import com.sun.jdbcra.spi.ConnectionManager;
-import com.sun.jdbcra.util.SecurityUtils;
-import jakarta.resource.spi.security.PasswordCredential;
-import java.sql.DriverManager;
-import com.sun.jdbcra.common.DataSourceSpec;
-import com.sun.jdbcra.common.DataSourceObjectBuilder;
-import java.sql.SQLException;
-
-import java.util.logging.Logger;
-import java.util.logging.Level;
-/**
- * <code>ManagedConnectionFactory</code> implementation for Generic JDBC Connector.
- * This class is extended by the DataSource specific <code>ManagedConnection</code> factories
- * and the <code>ManagedConnectionFactory</code> for the <code>DriverManager</code>.
- *
- * @version        1.0, 02/08/03
- * @author        Evani Sai Surya Kiran
- */
-
-public abstract class ManagedConnectionFactory implements jakarta.resource.spi.ManagedConnectionFactory,
-    java.io.Serializable {
-
-    protected DataSourceSpec spec = new DataSourceSpec();
-    protected transient DataSourceObjectBuilder dsObjBuilder;
-
-    protected java.io.PrintWriter logWriter = null;
-    protected jakarta.resource.spi.ResourceAdapter ra = null;
-
-    private static Logger _logger;
-    static {
-        _logger = Logger.getAnonymousLogger();
-    }
-    private boolean debug = false;
-    /**
-     * Creates a Connection Factory instance. The <code>ConnectionManager</code> implementation
-     * of the resource adapter is used here.
-     *
-     * @return        Generic JDBC Connector implementation of <code>javax.sql.DataSource</code>
-     */
-    public Object createConnectionFactory() {
-        if(logWriter != null) {
-            logWriter.println("In createConnectionFactory()");
-        }
-        com.sun.jdbcra.spi.DataSource cf = new com.sun.jdbcra.spi.DataSource(
-            (jakarta.resource.spi.ManagedConnectionFactory)this, null);
-
-        return cf;
-    }
-
-    /**
-     * Creates a Connection Factory instance. The <code>ConnectionManager</code> implementation
-     * of the application server is used here.
-     *
-     * @param        cxManager        <code>ConnectionManager</code> passed by the application server
-     * @return        Generic JDBC Connector implementation of <code>javax.sql.DataSource</code>
-     */
-    public Object createConnectionFactory(jakarta.resource.spi.ConnectionManager cxManager) {
-        if(logWriter != null) {
-            logWriter.println("In createConnectionFactory(jakarta.resource.spi.ConnectionManager cxManager)");
-        }
-        com.sun.jdbcra.spi.DataSource cf = new com.sun.jdbcra.spi.DataSource(
-            (jakarta.resource.spi.ManagedConnectionFactory)this, cxManager);
-        return cf;
-    }
-
-    /**
-     * Creates a new physical connection to the underlying EIS resource
-     * manager.
-     *
-     * @param        subject        <code>Subject</code> instance passed by the application server
-     * @param        cxRequestInfo        <code>ConnectionRequestInfo</code> which may be created
-     *                                    as a result of the invocation <code>getConnection(user, password)</code>
-     *                                    on the <code>DataSource</code> object
-     * @return        <code>ManagedConnection</code> object created
-     * @throws        ResourceException        if there is an error in instantiating the
-     *                                         <code>DataSource</code> object used for the
-     *                                       creation of the <code>ManagedConnection</code> object
-     * @throws        SecurityException        if there ino <code>PasswordCredential</code> object
-     *                                         satisfying this request
-     * @throws        ResourceAllocationException        if there is an error in allocating the
-     *                                                physical connection
-     */
-    public abstract jakarta.resource.spi.ManagedConnection createManagedConnection(javax.security.auth.Subject subject,
-        ConnectionRequestInfo cxRequestInfo) throws ResourceException;
-
-    /**
-     * Check if this <code>ManagedConnectionFactory</code> is equal to
-     * another <code>ManagedConnectionFactory</code>.
-     *
-     * @param        other        <code>ManagedConnectionFactory</code> object for checking equality with
-     * @return        true        if the property sets of both the
-     *                        <code>ManagedConnectionFactory</code> objects are the same
-     *                false        otherwise
-     */
-    public abstract boolean equals(Object other);
-
-    /**
-     * Get the log writer for this <code>ManagedConnectionFactory</code> instance.
-     *
-     * @return        <code>PrintWriter</code> associated with this <code>ManagedConnectionFactory</code> instance
-     * @see        <code>setLogWriter</code>
-     */
-    public java.io.PrintWriter getLogWriter() {
-        return logWriter;
-    }
-
-    /**
-     * Get the <code>ResourceAdapter</code> for this <code>ManagedConnectionFactory</code> instance.
-     *
-     * @return        <code>ResourceAdapter</code> associated with this <code>ManagedConnectionFactory</code> instance
-     * @see        <code>setResourceAdapter</code>
-     */
-    public jakarta.resource.spi.ResourceAdapter getResourceAdapter() {
-        if(logWriter != null) {
-            logWriter.println("In getResourceAdapter");
-        }
-        return ra;
-    }
-
-    /**
-     * Returns the hash code for this <code>ManagedConnectionFactory</code>.
-     *
-     * @return        hash code for this <code>ManagedConnectionFactory</code>
-     */
-    public int hashCode(){
-        if(logWriter != null) {
-                logWriter.println("In hashCode");
-        }
-        return spec.hashCode();
-    }
-
-    /**
-     * Returns a matched <code>ManagedConnection</code> from the candidate
-     * set of <code>ManagedConnection</code> objects.
-     *
-     * @param        connectionSet        <code>Set</code> of  <code>ManagedConnection</code>
-     *                                objects passed by the application server
-     * @param        subject         passed by the application server
-     *                        for retrieving information required for matching
-     * @param        cxRequestInfo        <code>ConnectionRequestInfo</code> passed by the application server
-     *                                for retrieving information required for matching
-     * @return        <code>ManagedConnection</code> that is the best match satisfying this request
-     * @throws        ResourceException        if there is an error accessing the <code>Subject</code>
-     *                                        parameter or the <code>Set</code> of <code>ManagedConnection</code>
-     *                                        objects passed by the application server
-     */
-    public jakarta.resource.spi.ManagedConnection matchManagedConnections(java.util.Set connectionSet,
-        javax.security.auth.Subject subject, ConnectionRequestInfo cxRequestInfo) throws ResourceException {
-        if(logWriter != null) {
-            logWriter.println("In matchManagedConnections");
-        }
-
-        if(connectionSet == null) {
-            return null;
-        }
-
-        PasswordCredential pc = SecurityUtils.getPasswordCredential(this, subject, cxRequestInfo);
-
-        java.util.Iterator iter = connectionSet.iterator();
-        com.sun.jdbcra.spi.ManagedConnection mc = null;
-        while(iter.hasNext()) {
-            try {
-                mc = (com.sun.jdbcra.spi.ManagedConnection) iter.next();
-            } catch(java.util.NoSuchElementException nsee) {
-                _logger.log(Level.SEVERE, "jdbc.exc_iter");
-                throw new ResourceException(nsee.getMessage());
-            }
-            if(pc == null && this.equals(mc.getManagedConnectionFactory())) {
-                //GJCINT
-                try {
-                    isValid(mc);
-                    return mc;
-                } catch(ResourceException re) {
-                    _logger.log(Level.SEVERE, "jdbc.exc_re", re);
-                    mc.connectionErrorOccurred(re, null);
-                }
-            } else if(SecurityUtils.isPasswordCredentialEqual(pc, mc.getPasswordCredential()) == true) {
-                //GJCINT
-                try {
-                    isValid(mc);
-                    return mc;
-                } catch(ResourceException re) {
-                    _logger.log(Level.SEVERE, "jdbc.re");
-                    mc.connectionErrorOccurred(re, null);
-                }
-            }
-        }
-        return null;
-    }
-
-    //GJCINT
-    /**
-     * Checks if a <code>ManagedConnection</code> is to be validated or not
-     * and validates it or returns.
-     *
-     * @param        mc        <code>ManagedConnection</code> to be validated
-     * @throws        ResourceException        if the connection is not valid or
-     *                                          if validation method is not proper
-     */
-    void isValid(com.sun.jdbcra.spi.ManagedConnection mc) throws ResourceException {
-
-        if(mc.isTransactionInProgress()) {
-            return;
-        }
-
-        boolean connectionValidationRequired =
-            (new Boolean(spec.getDetail(DataSourceSpec.CONNECTIONVALIDATIONREQUIRED).toLowerCase())).booleanValue();
-        if( connectionValidationRequired == false || mc == null) {
-            return;
-        }
-
-
-        String validationMethod = spec.getDetail(DataSourceSpec.VALIDATIONMETHOD).toLowerCase();
-
-        mc.checkIfValid();
-        /**
-         * The above call checks if the actual physical connection
-         * is usable or not.
-         */
-        java.sql.Connection con = mc.getActualConnection();
-
-        if(validationMethod.equals("auto-commit") == true) {
-            isValidByAutoCommit(con);
-        } else if(validationMethod.equalsIgnoreCase("meta-data") == true) {
-            isValidByMetaData(con);
-        } else if(validationMethod.equalsIgnoreCase("table") == true) {
-            isValidByTableQuery(con, spec.getDetail(DataSourceSpec.VALIDATIONTABLENAME));
-        } else {
-            throw new ResourceException("The validation method is not proper");
-        }
-    }
-
-    /**
-     * Checks if a <code>java.sql.Connection</code> is valid or not
-     * by checking its auto commit property.
-     *
-     * @param        con        <code>java.sql.Connection</code> to be validated
-     * @throws        ResourceException        if the connection is not valid
-     */
-    protected void isValidByAutoCommit(java.sql.Connection con) throws ResourceException {
-        if(con == null) {
-            throw new ResourceException("The connection is not valid as "
-                + "the connection is null");
-        }
-
-        try {
-           // Notice that using something like
-           // dbCon.setAutoCommit(dbCon.getAutoCommit()) will cause problems with
-           // some drivers like sybase
-           // We do not validate connections that are already enlisted
-           //in a transaction
-           // We cycle autocommit to true and false to by-pass drivers that
-           // might cache the call to set autocomitt
-           // Also notice that some XA data sources will throw and exception if
-           // you try to call setAutoCommit, for them this method is not recommended
-
-           boolean ac = con.getAutoCommit();
-           if (ac) {
-                con.setAutoCommit(false);
-           } else {
-                con.rollback(); // prevents uncompleted transaction exceptions
-                con.setAutoCommit(true);
-           }
-
-           con.setAutoCommit(ac);
-
-        } catch(Exception sqle) {
-            _logger.log(Level.SEVERE, "jdbc.exc_autocommit");
-            throw new ResourceException(sqle.getMessage());
-        }
-    }
-
-    /**
-     * Checks if a <code>java.sql.Connection</code> is valid or not
-     * by checking its meta data.
-     *
-     * @param        con        <code>java.sql.Connection</code> to be validated
-     * @throws        ResourceException        if the connection is not valid
-     */
-    protected void isValidByMetaData(java.sql.Connection con) throws ResourceException {
-        if(con == null) {
-            throw new ResourceException("The connection is not valid as "
-                + "the connection is null");
-        }
-
-        try {
-            java.sql.DatabaseMetaData dmd = con.getMetaData();
-        } catch(Exception sqle) {
-            _logger.log(Level.SEVERE, "jdbc.exc_md");
-            throw new ResourceException("The connection is not valid as "
-                + "getting the meta data failed: " + sqle.getMessage());
-        }
-    }
-
-    /**
-     * Checks if a <code>java.sql.Connection</code> is valid or not
-     * by querying a table.
-     *
-     * @param        con        <code>java.sql.Connection</code> to be validated
-     * @param        tableName        table which should be queried
-     * @throws        ResourceException        if the connection is not valid
-     */
-    protected void isValidByTableQuery(java.sql.Connection con,
-        String tableName) throws ResourceException {
-        if(con == null) {
-            throw new ResourceException("The connection is not valid as "
-                + "the connection is null");
-        }
-
-        try {
-            java.sql.Statement stmt = con.createStatement();
-            java.sql.ResultSet rs = stmt.executeQuery("SELECT * FROM " + tableName);
-        } catch(Exception sqle) {
-            _logger.log(Level.SEVERE, "jdbc.exc_execute");
-            throw new ResourceException("The connection is not valid as "
-                + "querying the table " + tableName + " failed: " + sqle.getMessage());
-        }
-    }
-
-    /**
-     * Sets the isolation level specified in the <code>ConnectionRequestInfo</code>
-     * for the <code>ManagedConnection</code> passed.
-     *
-     * @param        mc        <code>ManagedConnection</code>
-     * @throws        ResourceException        if the isolation property is invalid
-     *                                        or if the isolation cannot be set over the connection
-     */
-    protected void setIsolation(com.sun.jdbcra.spi.ManagedConnection mc) throws ResourceException {
-
-            java.sql.Connection con = mc.getActualConnection();
-            if(con == null) {
-                return;
-            }
-
-            String tranIsolation = spec.getDetail(DataSourceSpec.TRANSACTIONISOLATION);
-            if(tranIsolation != null && tranIsolation.equals("") == false) {
-                int tranIsolationInt = getTransactionIsolationInt(tranIsolation);
-                try {
-                    con.setTransactionIsolation(tranIsolationInt);
-                } catch(java.sql.SQLException sqle) {
-                _logger.log(Level.SEVERE, "jdbc.exc_tx_level");
-                    throw new ResourceException("The transaction isolation could "
-                        + "not be set: " + sqle.getMessage());
-                }
-            }
-    }
-
-    /**
-     * Resets the isolation level for the <code>ManagedConnection</code> passed.
-     * If the transaction level is to be guaranteed to be the same as the one
-     * present when this <code>ManagedConnection</code> was created, as specified
-     * by the <code>ConnectionRequestInfo</code> passed, it sets the transaction
-     * isolation level from the <code>ConnectionRequestInfo</code> passed. Else,
-     * it sets it to the transaction isolation passed.
-     *
-     * @param        mc        <code>ManagedConnection</code>
-     * @param        tranIsol        int
-     * @throws        ResourceException        if the isolation property is invalid
-     *                                        or if the isolation cannot be set over the connection
-     */
-    void resetIsolation(com.sun.jdbcra.spi.ManagedConnection mc, int tranIsol) throws ResourceException {
-
-            java.sql.Connection con = mc.getActualConnection();
-            if(con == null) {
-                return;
-            }
-
-            String tranIsolation = spec.getDetail(DataSourceSpec.TRANSACTIONISOLATION);
-            if(tranIsolation != null && tranIsolation.equals("") == false) {
-                String guaranteeIsolationLevel = spec.getDetail(DataSourceSpec.GUARANTEEISOLATIONLEVEL);
-
-                if(guaranteeIsolationLevel != null && guaranteeIsolationLevel.equals("") == false) {
-                    boolean guarantee = (new Boolean(guaranteeIsolationLevel.toLowerCase())).booleanValue();
-
-                    if(guarantee) {
-                        int tranIsolationInt = getTransactionIsolationInt(tranIsolation);
-                        try {
-                            if(tranIsolationInt != con.getTransactionIsolation()) {
-                                con.setTransactionIsolation(tranIsolationInt);
-                            }
-                        } catch(java.sql.SQLException sqle) {
-                        _logger.log(Level.SEVERE, "jdbc.exc_tx_level");
-                            throw new ResourceException("The isolation level could not be set: "
-                                + sqle.getMessage());
-                        }
-                    } else {
-                        try {
-                            if(tranIsol != con.getTransactionIsolation()) {
-                                con.setTransactionIsolation(tranIsol);
-                            }
-                        } catch(java.sql.SQLException sqle) {
-                        _logger.log(Level.SEVERE, "jdbc.exc_tx_level");
-                            throw new ResourceException("The isolation level could not be set: "
-                                + sqle.getMessage());
-                        }
-                    }
-                }
-            }
-    }
-
-    /**
-     * Gets the integer equivalent of the string specifying
-     * the transaction isolation.
-     *
-     * @param        tranIsolation        string specifying the isolation level
-     * @return        tranIsolationInt        the <code>java.sql.Connection</code> constant
-     *                                        for the string specifying the isolation.
-     */
-    private int getTransactionIsolationInt(String tranIsolation) throws ResourceException {
-            if(tranIsolation.equalsIgnoreCase("read-uncommitted")) {
-                return java.sql.Connection.TRANSACTION_READ_UNCOMMITTED;
-            } else if(tranIsolation.equalsIgnoreCase("read-committed")) {
-                return java.sql.Connection.TRANSACTION_READ_COMMITTED;
-            } else if(tranIsolation.equalsIgnoreCase("repeatable-read")) {
-                return java.sql.Connection.TRANSACTION_REPEATABLE_READ;
-            } else if(tranIsolation.equalsIgnoreCase("serializable")) {
-                return java.sql.Connection.TRANSACTION_SERIALIZABLE;
-            } else {
-                throw new ResourceException("Invalid transaction isolation; the transaction "
-                    + "isolation level can be empty or any of the following: "
-                        + "read-uncommitted, read-committed, repeatable-read, serializable");
-            }
-    }
-
-    /**
-     * Set the log writer for this <code>ManagedConnectionFactory</code> instance.
-     *
-     * @param        out        <code>PrintWriter</code> passed by the application server
-     * @see        <code>getLogWriter</code>
-     */
-    public void setLogWriter(java.io.PrintWriter out) {
-        logWriter = out;
-    }
-
-    /**
-     * Set the associated <code>ResourceAdapter</code> JavaBean.
-     *
-     * @param        ra        <code>ResourceAdapter</code> associated with this
-     *                        <code>ManagedConnectionFactory</code> instance
-     * @see        <code>getResourceAdapter</code>
-     */
-    public void setResourceAdapter(jakarta.resource.spi.ResourceAdapter ra) {
-        this.ra = ra;
-    }
-
-    /**
-     * Sets the user name
-     *
-     * @param        user        <code>String</code>
-     */
-    public void setUser(String user) {
-        spec.setDetail(DataSourceSpec.USERNAME, user);
-    }
-
-    /**
-     * Gets the user name
-     *
-     * @return        user
-     */
-    public String getUser() {
-        return spec.getDetail(DataSourceSpec.USERNAME);
-    }
-
-    /**
-     * Sets the user name
-     *
-     * @param        user        <code>String</code>
-     */
-    public void setuser(String user) {
-        spec.setDetail(DataSourceSpec.USERNAME, user);
-    }
-
-    /**
-     * Gets the user name
-     *
-     * @return        user
-     */
-    public String getuser() {
-        return spec.getDetail(DataSourceSpec.USERNAME);
-    }
-
-    /**
-     * Sets the password
-     *
-     * @param        passwd        <code>String</code>
-     */
-    public void setPassword(String passwd) {
-        spec.setDetail(DataSourceSpec.PASSWORD, passwd);
-    }
-
-    /**
-     * Gets the password
-     *
-     * @return        passwd
-     */
-    public String getPassword() {
-        return spec.getDetail(DataSourceSpec.PASSWORD);
-    }
-
-    /**
-     * Sets the password
-     *
-     * @param        passwd        <code>String</code>
-     */
-    public void setpassword(String passwd) {
-        spec.setDetail(DataSourceSpec.PASSWORD, passwd);
-    }
-
-    /**
-     * Gets the password
-     *
-     * @return        passwd
-     */
-    public String getpassword() {
-        return spec.getDetail(DataSourceSpec.PASSWORD);
-    }
-
-    /**
-     * Sets the class name of the data source
-     *
-     * @param        className        <code>String</code>
-     */
-    public void setClassName(String className) {
-        spec.setDetail(DataSourceSpec.CLASSNAME, className);
-    }
-
-    /**
-     * Gets the class name of the data source
-     *
-     * @return        className
-     */
-    public String getClassName() {
-        return spec.getDetail(DataSourceSpec.CLASSNAME);
-    }
-
-    /**
-     * Sets the class name of the data source
-     *
-     * @param        className        <code>String</code>
-     */
-    public void setclassName(String className) {
-        spec.setDetail(DataSourceSpec.CLASSNAME, className);
-    }
-
-    /**
-     * Gets the class name of the data source
-     *
-     * @return        className
-     */
-    public String getclassName() {
-        return spec.getDetail(DataSourceSpec.CLASSNAME);
-    }
-
-    /**
-     * Sets if connection validation is required or not
-     *
-     * @param        conVldReq        <code>String</code>
-     */
-    public void setConnectionValidationRequired(String conVldReq) {
-        spec.setDetail(DataSourceSpec.CONNECTIONVALIDATIONREQUIRED, conVldReq);
-    }
-
-    /**
-     * Returns if connection validation is required or not
-     *
-     * @return        connection validation requirement
-     */
-    public String getConnectionValidationRequired() {
-        return spec.getDetail(DataSourceSpec.CONNECTIONVALIDATIONREQUIRED);
-    }
-
-    /**
-     * Sets if connection validation is required or not
-     *
-     * @param        conVldReq        <code>String</code>
-     */
-    public void setconnectionValidationRequired(String conVldReq) {
-        spec.setDetail(DataSourceSpec.CONNECTIONVALIDATIONREQUIRED, conVldReq);
-    }
-
-    /**
-     * Returns if connection validation is required or not
-     *
-     * @return        connection validation requirement
-     */
-    public String getconnectionValidationRequired() {
-        return spec.getDetail(DataSourceSpec.CONNECTIONVALIDATIONREQUIRED);
-    }
-
-    /**
-     * Sets the validation method required
-     *
-     * @param        validationMethod        <code>String</code>
-     */
-    public void setValidationMethod(String validationMethod) {
-            spec.setDetail(DataSourceSpec.VALIDATIONMETHOD, validationMethod);
-    }
-
-    /**
-     * Returns the connection validation method type
-     *
-     * @return        validation method
-     */
-    public String getValidationMethod() {
-        return spec.getDetail(DataSourceSpec.VALIDATIONMETHOD);
-    }
-
-    /**
-     * Sets the validation method required
-     *
-     * @param        validationMethod        <code>String</code>
-     */
-    public void setvalidationMethod(String validationMethod) {
-            spec.setDetail(DataSourceSpec.VALIDATIONMETHOD, validationMethod);
-    }
-
-    /**
-     * Returns the connection validation method type
-     *
-     * @return        validation method
-     */
-    public String getvalidationMethod() {
-        return spec.getDetail(DataSourceSpec.VALIDATIONMETHOD);
-    }
-
-    /**
-     * Sets the table checked for during validation
-     *
-     * @param        table        <code>String</code>
-     */
-    public void setValidationTableName(String table) {
-        spec.setDetail(DataSourceSpec.VALIDATIONTABLENAME, table);
-    }
-
-    /**
-     * Returns the table checked for during validation
-     *
-     * @return        table
-     */
-    public String getValidationTableName() {
-        return spec.getDetail(DataSourceSpec.VALIDATIONTABLENAME);
-    }
-
-    /**
-     * Sets the table checked for during validation
-     *
-     * @param        table        <code>String</code>
-     */
-    public void setvalidationTableName(String table) {
-        spec.setDetail(DataSourceSpec.VALIDATIONTABLENAME, table);
-    }
-
-    /**
-     * Returns the table checked for during validation
-     *
-     * @return        table
-     */
-    public String getvalidationTableName() {
-        return spec.getDetail(DataSourceSpec.VALIDATIONTABLENAME);
-    }
-
-    /**
-     * Sets the transaction isolation level
-     *
-     * @param        trnIsolation        <code>String</code>
-     */
-    public void setTransactionIsolation(String trnIsolation) {
-        spec.setDetail(DataSourceSpec.TRANSACTIONISOLATION, trnIsolation);
-    }
-
-    /**
-     * Returns the transaction isolation level
-     *
-     * @return        transaction isolation level
-     */
-    public String getTransactionIsolation() {
-        return spec.getDetail(DataSourceSpec.TRANSACTIONISOLATION);
-    }
-
-    /**
-     * Sets the transaction isolation level
-     *
-     * @param        trnIsolation        <code>String</code>
-     */
-    public void settransactionIsolation(String trnIsolation) {
-        spec.setDetail(DataSourceSpec.TRANSACTIONISOLATION, trnIsolation);
-    }
-
-    /**
-     * Returns the transaction isolation level
-     *
-     * @return        transaction isolation level
-     */
-    public String gettransactionIsolation() {
-        return spec.getDetail(DataSourceSpec.TRANSACTIONISOLATION);
-    }
-
-    /**
-     * Sets if the transaction isolation level is to be guaranteed
-     *
-     * @param        guaranteeIsolation        <code>String</code>
-     */
-    public void setGuaranteeIsolationLevel(String guaranteeIsolation) {
-        spec.setDetail(DataSourceSpec.GUARANTEEISOLATIONLEVEL, guaranteeIsolation);
-    }
-
-    /**
-     * Returns the transaction isolation level
-     *
-     * @return        isolation level guarantee
-     */
-    public String getGuaranteeIsolationLevel() {
-        return spec.getDetail(DataSourceSpec.GUARANTEEISOLATIONLEVEL);
-    }
-
-    /**
-     * Sets if the transaction isolation level is to be guaranteed
-     *
-     * @param        guaranteeIsolation        <code>String</code>
-     */
-    public void setguaranteeIsolationLevel(String guaranteeIsolation) {
-        spec.setDetail(DataSourceSpec.GUARANTEEISOLATIONLEVEL, guaranteeIsolation);
-    }
-
-    /**
-     * Returns the transaction isolation level
-     *
-     * @return        isolation level guarantee
-     */
-    public String getguaranteeIsolationLevel() {
-        return spec.getDetail(DataSourceSpec.GUARANTEEISOLATIONLEVEL);
-    }
-
-}
diff --git a/appserver/tests/appserv-tests/devtests/connector/v3/redeployRar/ra/src/com/sun/jdbcra/spi/1.4/ResourceAdapter.java b/appserver/tests/appserv-tests/devtests/connector/v3/redeployRar/ra/src/com/sun/jdbcra/spi/1.4/ResourceAdapter.java
deleted file mode 100755
index 50c6e41..0000000
--- a/appserver/tests/appserv-tests/devtests/connector/v3/redeployRar/ra/src/com/sun/jdbcra/spi/1.4/ResourceAdapter.java
+++ /dev/null
@@ -1,100 +0,0 @@
-/*
- * Copyright (c) 2003, 2018 Oracle and/or its affiliates. All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v. 2.0, which is available at
- * http://www.eclipse.org/legal/epl-2.0.
- *
- * This Source Code may also be made available under the following Secondary
- * Licenses when the conditions for such availability set forth in the
- * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
- * version 2 with the GNU Classpath Exception, which is available at
- * https://www.gnu.org/software/classpath/license.html.
- *
- * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
- */
-
-package com.sun.jdbcra.spi;
-
-import jakarta.resource.spi.endpoint.MessageEndpointFactory;
-import jakarta.resource.spi.ActivationSpec;
-import jakarta.resource.NotSupportedException;
-import javax.transaction.xa.XAResource;
-import jakarta.resource.spi.BootstrapContext;
-import jakarta.resource.spi.ResourceAdapterInternalException;
-
-/**
- * <code>ResourceAdapter</code> implementation for Generic JDBC Connector.
- *
- * @version        1.0, 02/08/05
- * @author        Evani Sai Surya Kiran
- */
-public class ResourceAdapter implements jakarta.resource.spi.ResourceAdapter {
-public static final int VERSION = 2;
-    public String raProp = null;
-
-    /**
-     * Empty method implementation for endpointActivation
-     * which just throws <code>NotSupportedException</code>
-     *
-     * @param        mef        <code>MessageEndpointFactory</code>
-     * @param        as        <code>ActivationSpec</code>
-     * @throws        <code>NotSupportedException</code>
-     */
-    public void endpointActivation(MessageEndpointFactory mef, ActivationSpec as) throws NotSupportedException {
-        throw new NotSupportedException("This method is not supported for this JDBC connector");
-    }
-
-    /**
-     * Empty method implementation for endpointDeactivation
-     *
-     * @param        mef        <code>MessageEndpointFactory</code>
-     * @param        as        <code>ActivationSpec</code>
-     */
-    public void endpointDeactivation(MessageEndpointFactory mef, ActivationSpec as) {
-
-    }
-
-    /**
-     * Empty method implementation for getXAResources
-     * which just throws <code>NotSupportedException</code>
-     *
-     * @param        specs        <code>ActivationSpec</code> array
-     * @throws        <code>NotSupportedException</code>
-     */
-    public XAResource[] getXAResources(ActivationSpec[] specs) throws NotSupportedException {
-        throw new NotSupportedException("This method is not supported for this JDBC connector");
-    }
-
-    /**
-     * Empty implementation of start method
-     *
-     * @param        ctx        <code>BootstrapContext</code>
-     */
-    public void start(BootstrapContext ctx) throws ResourceAdapterInternalException {
-/*
-NO NEED TO CHECK THIS AS THE TEST's PURPOSE IS TO CHECK THE VERSION ALONE
-
-        System.out.println("Resource Adapter is starting with configuration :" + raProp);
-        if (raProp == null || !raProp.equals("VALID")) {
-            throw new ResourceAdapterInternalException("Resource adapter cannot start. It is configured as : " + raProp);
-        }
-*/
-    }
-
-    /**
-     * Empty implementation of stop method
-     */
-    public void stop() {
-
-    }
-
-    public void setRAProperty(String s) {
-        raProp = s;
-    }
-
-    public String getRAProperty() {
-        return raProp;
-    }
-
-}
diff --git a/appserver/tests/appserv-tests/devtests/connector/v3/redeployRar/ra/src/com/sun/jdbcra/spi/1.4/build.xml b/appserver/tests/appserv-tests/devtests/connector/v3/redeployRar/ra/src/com/sun/jdbcra/spi/1.4/build.xml
deleted file mode 100755
index e006b1d..0000000
--- a/appserver/tests/appserv-tests/devtests/connector/v3/redeployRar/ra/src/com/sun/jdbcra/spi/1.4/build.xml
+++ /dev/null
@@ -1,83 +0,0 @@
-<?xml version="1.0"?>
-<!--
-
-    Copyright (c) 2017, 2018 Oracle and/or its affiliates. All rights reserved.
-
-    This program and the accompanying materials are made available under the
-    terms of the Eclipse Public License v. 2.0, which is available at
-    http://www.eclipse.org/legal/epl-2.0.
-
-    This Source Code may also be made available under the following Secondary
-    Licenses when the conditions for such availability set forth in the
-    Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
-    version 2 with the GNU Classpath Exception, which is available 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 name="jdbc_connector" basedir="${gjc.home}" default="build">
-  <property name="pkg.dir" value="com/sun/gjc/spi"/>
-
-  <target name="clean">
-    <ant antfile="build.xml" dir="${gjc.home}/bin" target="clean"/>
-  </target>
-
-  <target name="compile14">
-    <ant antfile="build.xml" dir="${gjc.home}/bin" target="compile14"/>
-  </target>
-
-  <target name="package14">
-
-            <mkdir dir="${gjc.home}/dist/spi/1.5"/>
-
-        <jar jarfile="${gjc.home}/dist/spi/1.5/jdbc.jar" basedir="${class.dir}"
-        includes="${pkg.dir}/**/*, com/sun/gjc/util/**/*, com/sun/gjc/common/**/*" excludes="com/sun/gjc/cci/**/*,com/sun/gjc/spi/1.4/**/*"/>
-
-        <jar jarfile="${gjc.home}/dist/spi/1.5/__cp.rar" basedir="${gjc.home}/dist/spi/1.5" includes="jdbc.jar"/>
-        <copy file="${gjc.home}/src/com/sun/gjc/spi/1.4/ra-cp.xml" tofile="${gjc.home}/dist/spi/1.5/ra.xml" overwrite="yes">
-        </copy>
-           <jar jarfile="${gjc.home}/dist/spi/1.5/__cp.rar" update="yes">
-                   <metainf dir="${gjc.home}/dist/spi/1.5">
-                           <include name="ra.xml"/>
-                   </metainf>
-           </jar>
-
-           <jar jarfile="${gjc.home}/dist/spi/1.5/__xa.rar" basedir="${gjc.home}/dist/spi/1.5" includes="jdbc.jar"/>
-        <copy file="${gjc.home}/src/com/sun/gjc/spi/1.4/ra-xa.xml" tofile="${gjc.home}/dist/spi/1.5/ra.xml" overwrite="yes">
-        </copy>
-           <jar jarfile="${gjc.home}/dist/spi/1.5/__xa.rar" update="yes">
-                   <metainf dir="${gjc.home}/dist/spi/1.5">
-                           <include name="ra.xml"/>
-                   </metainf>
-           </jar>
-
-           <jar jarfile="${gjc.home}/dist/spi/1.5/__dm.rar" basedir="${gjc.home}/dist/spi/1.5" includes="jdbc.jar"/>
-        <copy file="${gjc.home}/src/com/sun/gjc/spi/1.4/ra-dm.xml" tofile="${gjc.home}/dist/spi/1.5/ra.xml" overwrite="yes">
-        </copy>
-           <jar jarfile="${gjc.home}/dist/spi/1.5/__dm.rar" update="yes">
-                   <metainf dir="${gjc.home}/dist/spi/1.5">
-                           <include name="ra.xml"/>
-                   </metainf>
-           </jar>
-
-           <jar jarfile="${gjc.home}/dist/spi/1.5/__ds.rar" basedir="${gjc.home}/dist/spi/1.5" includes="jdbc.jar"/>
-        <copy file="${gjc.home}/src/com/sun/gjc/spi/1.4/ra-ds.xml" tofile="${gjc.home}/dist/spi/1.5/ra.xml" overwrite="yes">
-        </copy>
-           <jar jarfile="${gjc.home}/dist/spi/1.5/__ds.rar" update="yes">
-                   <metainf dir="${gjc.home}/dist/spi/1.5">
-                           <include name="ra.xml"/>
-                   </metainf>
-           </jar>
-
-           <delete dir="${gjc.home}/dist/com"/>
-           <delete file="${gjc.home}/dist/spi/1.5/jdbc.jar"/>
-           <delete file="${gjc.home}/dist/spi/1.5/ra.xml"/>
-
-  </target>
-
-  <target name="build14" depends="compile14, package14"/>
-    <target name="build13"/>
-        <target name="build" depends="build14, build13"/>
-</project>
diff --git a/appserver/tests/appserv-tests/devtests/connector/v3/redeployRar/ra/src/com/sun/jdbcra/spi/1.4/ra-ds.xml b/appserver/tests/appserv-tests/devtests/connector/v3/redeployRar/ra/src/com/sun/jdbcra/spi/1.4/ra-ds.xml
deleted file mode 100755
index 65338d1..0000000
--- a/appserver/tests/appserv-tests/devtests/connector/v3/redeployRar/ra/src/com/sun/jdbcra/spi/1.4/ra-ds.xml
+++ /dev/null
@@ -1,257 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
-
-    Copyright (c) 2017, 2018 Oracle and/or its affiliates. All rights reserved.
-
-    This program and the accompanying materials are made available under the
-    terms of the Eclipse Public License v. 2.0, which is available at
-    http://www.eclipse.org/legal/epl-2.0.
-
-    This Source Code may also be made available under the following Secondary
-    Licenses when the conditions for such availability set forth in the
-    Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
-    version 2 with the GNU Classpath Exception, which is available at
-    https://www.gnu.org/software/classpath/license.html.
-
-    SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
-
--->
-
-<connector xmlns="http://java.sun.com/xml/ns/j2ee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-           xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/connector_1_5.xsd"
-           version="1.5">
-
-    <!-- There can be any number of "description" elements including 0 -->
-    <!-- This field can be optionally used by the driver vendor to provide a
-         description for the resource adapter.
-    -->
-    <description>Resource adapter wrapping Datasource implementation of driver</description>
-
-    <!-- There can be any number of "display-name" elements including 0 -->
-    <!-- The field can be optionally used by the driver vendor to provide a name that
-         is intended to be displayed by tools.
-    -->
-    <display-name>DataSource Resource Adapter</display-name>
-
-    <!-- There can be any number of "icon" elements including 0 -->
-    <!-- The following is an example.
-        <icon>
-            This "small-icon" element can occur atmost once. This should specify the
-            absolute or the relative path name of a file containing a small (16 x 16)
-            icon - JPEG or GIF image. The following is an example.
-            <small-icon>smallicon.jpg</small-icon>
-
-            This "large-icon" element can occur atmost once. This should specify the
-            absolute or the relative path name of a file containing a small (32 x 32)
-            icon - JPEG or GIF image. The following is an example.
-            <large-icon>largeicon.jpg</large-icon>
-        </icon>
-    -->
-    <icon>
-        <small-icon></small-icon>
-        <large-icon></large-icon>
-    </icon>
-
-    <!-- The "vendor-name" element should occur exactly once. -->
-    <!-- This should specify the name of the driver vendor. The following is an example.
-        <vendor-name>XYZ INC.</vendor-name>
-    -->
-    <vendor-name>Sun Microsystems</vendor-name>
-
-    <!-- The "eis-type" element should occur exactly once. -->
-    <!-- This should specify the database, for example the product name of
-         the database independent of any version information. The following
-         is an example.
-        <eis-type>XYZ</eis-type>
-    -->
-    <eis-type>Database</eis-type>
-
-    <!-- The "resourceadapter-version" element should occur exactly once. -->
-    <!-- This specifies a string based version of the resource adapter from
-         the driver vendor. The default is being set as 1.0. The driver
-         vendor can change it as required.
-    -->
-    <resourceadapter-version>1.0</resourceadapter-version>
-
-    <!-- This "license" element can occur atmost once -->
-    <!-- This specifies licensing requirements for the resource adapter module.
-         The following is an example.
-        <license>
-            There can be any number of "description" elements including 0.
-            <description>
-                This field can be optionally used by the driver vendor to
-                provide a description for the licensing requirements of the
-                resource adapter like duration of license, numberof connection
-                restrictions.
-            </description>
-
-            This specifies whether a license is required to deploy and use the resource adapter.
-            Default is false.
-            <license-required>false</license-required>
-        </license>
-    -->
-    <license>
-        <license-required>false</license-required>
-    </license>
-
-    <resourceadapter>
-
-        <!--
-            The "config-property" elements can have zero or more "description"
-            elements. The "description" elements are not being included
-            in the "config-property" elements below. The driver vendor can
-            add them as required.
-        -->
-
-        <resourceadapter-class>com.sun.jdbcra.spi.ResourceAdapter</resourceadapter-class>
-
-        <outbound-resourceadapter>
-
-            <connection-definition>
-
-                <managedconnectionfactory-class>com.sun.jdbcra.spi.DSManagedConnectionFactory</managedconnectionfactory-class>
-
-                <!-- There can be any number of these elements including 0 -->
-                <config-property>
-                    <config-property-name>ServerName</config-property-name>
-                    <config-property-type>java.lang.String</config-property-type>
-                    <config-property-value>localhost</config-property-value>
-                </config-property>
-                <config-property>
-                    <config-property-name>PortNumber</config-property-name>
-                    <config-property-type>java.lang.String</config-property-type>
-                    <config-property-value>9092</config-property-value>
-                </config-property>
-                <config-property>
-                    <config-property-name>User</config-property-name>
-                    <config-property-type>java.lang.String</config-property-type>
-                    <config-property-value>DBUSER</config-property-value>
-                </config-property>
-                <config-property>
-                    <config-property-name>Password</config-property-name>
-                    <config-property-type>java.lang.String</config-property-type>
-                    <config-property-value>DBPASSWORD</config-property-value>
-                </config-property>
-                <config-property>
-                    <config-property-name>DatabaseName</config-property-name>
-                    <config-property-type>java.lang.String</config-property-type>
-                    <config-property-value>jdbc:pointbase:server://localhost:9092/sqe-samples,new</config-property-value>
-                </config-property>
-                <config-property>
-                    <config-property-name>DataSourceName</config-property-name>
-                    <config-property-type>java.lang.String</config-property-type>
-                    <config-property-value></config-property-value>
-                </config-property>
-                <config-property>
-                    <config-property-name>Description</config-property-name>
-                    <config-property-type>java.lang.String</config-property-type>
-                    <config-property-value>Oracle thin driver Datasource</config-property-value>
-                 </config-property>
-                <config-property>
-                    <config-property-name>NetworkProtocol</config-property-name>
-                    <config-property-type>java.lang.String</config-property-type>
-                    <config-property-value></config-property-value>
-                </config-property>
-                <config-property>
-                    <config-property-name>RoleName</config-property-name>
-                    <config-property-type>java.lang.String</config-property-type>
-                    <config-property-value></config-property-value>
-                </config-property>
-                <config-property>
-                    <config-property-name>LoginTimeOut</config-property-name>
-                    <config-property-type>java.lang.String</config-property-type>
-                    <config-property-value>0</config-property-value>
-                </config-property>
-                <config-property>
-                    <config-property-name>DriverProperties</config-property-name>
-                    <config-property-type>java.lang.String</config-property-type>
-                    <config-property-value></config-property-value>
-                </config-property>
-                <config-property>
-                    <config-property-name>Delimiter</config-property-name>
-                    <config-property-type>java.lang.String</config-property-type>
-                    <config-property-value>#</config-property-value>
-                </config-property>
-                <config-property>
-                    <config-property-name>ClassName</config-property-name>
-                    <config-property-type>java.lang.String</config-property-type>
-                    <config-property-value>com.pointbase.jdbc.jdbcDataSource</config-property-value>
-                </config-property>
-                      <config-property>
-                        <config-property-name>ConnectionValidationRequired</config-property-name>
-                        <config-property-type>java.lang.String</config-property-type>
-                        <config-property-value>false</config-property-value>
-                </config-property>
-                <config-property>
-                        <config-property-name>ValidationMethod</config-property-name>
-                        <config-property-type>java.lang.String</config-property-type>
-                        <config-property-value></config-property-value>
-                </config-property>
-                <config-property>
-                        <config-property-name>ValidationTableName</config-property-name>
-                        <config-property-type>java.lang.String</config-property-type>
-                        <config-property-value></config-property-value>
-                </config-property>
-                <config-property>
-                        <config-property-name>TransactionIsolation</config-property-name>
-                        <config-property-type>java.lang.String</config-property-type>
-                        <config-property-value></config-property-value>
-                </config-property>
-                <config-property>
-                        <config-property-name>GuaranteeIsolationLevel</config-property-name>
-                        <config-property-type>java.lang.String</config-property-type>
-                        <config-property-value></config-property-value>
-                </config-property>
-
-                <connectionfactory-interface>javax.sql.DataSource</connectionfactory-interface>
-
-                <connectionfactory-impl-class>com.sun.jdbcra.spi.DataSource</connectionfactory-impl-class>
-
-                <connection-interface>java.sql.Connection</connection-interface>
-
-                <connection-impl-class>com.sun.jdbcra.spi.ConnectionHolder</connection-impl-class>
-
-            </connection-definition>
-
-            <transaction-support>LocalTransaction</transaction-support>
-
-            <authentication-mechanism>
-                <!-- There can be any number of "description" elements including 0 -->
-                <!-- Not including the "description" element -->
-
-                <authentication-mechanism-type>BasicPassword</authentication-mechanism-type>
-
-                <credential-interface>javax.resource.spi.security.PasswordCredential</credential-interface>
-            </authentication-mechanism>
-
-            <reauthentication-support>false</reauthentication-support>
-
-        </outbound-resourceadapter>
-        <adminobject>
-               <adminobject-interface>com.sun.jdbcra.spi.JdbcSetupAdmin</adminobject-interface>
-               <adminobject-class>com.sun.jdbcra.spi.JdbcSetupAdminImpl</adminobject-class>
-               <config-property>
-                   <config-property-name>TableName</config-property-name>
-                   <config-property-type>java.lang.String</config-property-type>
-                   <config-property-value></config-property-value>
-               </config-property>
-               <config-property>
-                   <config-property-name>SchemaName</config-property-name>
-                   <config-property-type>java.lang.String</config-property-type>
-                   <config-property-value></config-property-value>
-               </config-property>
-               <config-property>
-                   <config-property-name>JndiName</config-property-name>
-                   <config-property-type>java.lang.String</config-property-type>
-                   <config-property-value></config-property-value>
-               </config-property>
-               <config-property>
-                   <config-property-name>NoOfRows</config-property-name>
-                   <config-property-type>java.lang.Integer</config-property-type>
-                   <config-property-value>0</config-property-value>
-               </config-property>
-        </adminobject>
-
-    </resourceadapter>
-
-</connector>
diff --git a/appserver/tests/appserv-tests/devtests/connector/v3/redeployRar/ra/src/com/sun/jdbcra/spi/ConnectionManager.java b/appserver/tests/appserv-tests/devtests/connector/v3/redeployRar/ra/src/com/sun/jdbcra/spi/ConnectionManager.java
deleted file mode 100755
index 2ee36c5..0000000
--- a/appserver/tests/appserv-tests/devtests/connector/v3/redeployRar/ra/src/com/sun/jdbcra/spi/ConnectionManager.java
+++ /dev/null
@@ -1,51 +0,0 @@
-/*
- * Copyright (c) 2003, 2018 Oracle and/or its affiliates. All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v. 2.0, which is available at
- * http://www.eclipse.org/legal/epl-2.0.
- *
- * This Source Code may also be made available under the following Secondary
- * Licenses when the conditions for such availability set forth in the
- * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
- * version 2 with the GNU Classpath Exception, which is available at
- * https://www.gnu.org/software/classpath/license.html.
- *
- * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
- */
-
-package com.sun.jdbcra.spi;
-
-import jakarta.resource.spi.ManagedConnectionFactory;
-import jakarta.resource.spi.ManagedConnection;
-import jakarta.resource.ResourceException;
-import jakarta.resource.spi.ConnectionRequestInfo;
-
-/**
- * ConnectionManager implementation for Generic JDBC Connector.
- *
- * @version        1.0, 02/07/31
- * @author        Binod P.G
- */
-public class ConnectionManager implements jakarta.resource.spi.ConnectionManager{
-
-    /**
-     * Returns a <code>Connection </code> object to the <code>ConnectionFactory</code>
-     *
-     * @param        mcf        <code>ManagedConnectionFactory</code> object.
-     * @param        info        <code>ConnectionRequestInfo</code> object.
-     * @return        A <code>Connection</code> Object.
-     * @throws        ResourceException In case of an error in getting the <code>Connection</code>.
-     */
-    public Object allocateConnection(ManagedConnectionFactory mcf,
-                                         ConnectionRequestInfo info)
-                                         throws ResourceException {
-        ManagedConnection mc = mcf.createManagedConnection(null, info);
-        return mc.getConnection(null, info);
-    }
-
-    /*
-     * This class could effectively implement Connection pooling also.
-     * Could be done for FCS.
-     */
-}
diff --git a/appserver/tests/appserv-tests/devtests/connector/v3/redeployRar/ra/src/com/sun/jdbcra/spi/ConnectionRequestInfo.java b/appserver/tests/appserv-tests/devtests/connector/v3/redeployRar/ra/src/com/sun/jdbcra/spi/ConnectionRequestInfo.java
deleted file mode 100755
index ddd0a28..0000000
--- a/appserver/tests/appserv-tests/devtests/connector/v3/redeployRar/ra/src/com/sun/jdbcra/spi/ConnectionRequestInfo.java
+++ /dev/null
@@ -1,99 +0,0 @@
-/*
- * Copyright (c) 2003, 2018 Oracle and/or its affiliates. All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v. 2.0, which is available at
- * http://www.eclipse.org/legal/epl-2.0.
- *
- * This Source Code may also be made available under the following Secondary
- * Licenses when the conditions for such availability set forth in the
- * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
- * version 2 with the GNU Classpath Exception, which is available at
- * https://www.gnu.org/software/classpath/license.html.
- *
- * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
- */
-
-package com.sun.jdbcra.spi;
-
-/**
- * ConnectionRequestInfo implementation for Generic JDBC Connector.
- *
- * @version        1.0, 02/07/31
- * @author        Binod P.G
- */
-public class ConnectionRequestInfo implements jakarta.resource.spi.ConnectionRequestInfo{
-
-    private String user;
-    private String password;
-
-    /**
-     * Constructs a new <code>ConnectionRequestInfo</code> object
-     *
-     * @param        user        User Name.
-     * @param        password        Password
-     */
-    public ConnectionRequestInfo(String user, String password) {
-        this.user = user;
-        this.password = password;
-    }
-
-    /**
-     * Retrieves the user name of the ConnectionRequestInfo.
-     *
-     * @return        User name of ConnectionRequestInfo.
-     */
-    public String getUser() {
-        return user;
-    }
-
-    /**
-     * Retrieves the password of the ConnectionRequestInfo.
-     *
-     * @return        Password of ConnectionRequestInfo.
-     */
-    public String getPassword() {
-        return password;
-    }
-
-    /**
-     * Verify whether two ConnectionRequestInfos are equal.
-     *
-     * @return        True, if they are equal and false otherwise.
-     */
-    public boolean equals(Object obj) {
-        if (obj == null) return false;
-        if (obj instanceof ConnectionRequestInfo) {
-            ConnectionRequestInfo other = (ConnectionRequestInfo) obj;
-            return (isEqual(this.user, other.user) &&
-                    isEqual(this.password, other.password));
-        } else {
-            return false;
-        }
-    }
-
-    /**
-     * Retrieves the hashcode of the object.
-     *
-     * @return        hashCode.
-     */
-    public int hashCode() {
-        String result = "" + user + password;
-        return result.hashCode();
-    }
-
-    /**
-     * Compares two objects.
-     *
-     * @param        o1        First object.
-     * @param        o2        Second object.
-     */
-    private boolean isEqual(Object o1, Object o2) {
-        if (o1 == null) {
-            return (o2 == null);
-        } else {
-            return o1.equals(o2);
-        }
-    }
-
-}
diff --git a/appserver/tests/appserv-tests/devtests/connector/v3/redeployRar/ra/src/com/sun/jdbcra/spi/DSManagedConnectionFactory.java b/appserver/tests/appserv-tests/devtests/connector/v3/redeployRar/ra/src/com/sun/jdbcra/spi/DSManagedConnectionFactory.java
deleted file mode 100755
index 614ffa9..0000000
--- a/appserver/tests/appserv-tests/devtests/connector/v3/redeployRar/ra/src/com/sun/jdbcra/spi/DSManagedConnectionFactory.java
+++ /dev/null
@@ -1,573 +0,0 @@
-/*
- * Copyright (c) 2003, 2018 Oracle and/or its affiliates. All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v. 2.0, which is available at
- * http://www.eclipse.org/legal/epl-2.0.
- *
- * This Source Code may also be made available under the following Secondary
- * Licenses when the conditions for such availability set forth in the
- * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
- * version 2 with the GNU Classpath Exception, which is available at
- * https://www.gnu.org/software/classpath/license.html.
- *
- * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
- */
-
-package com.sun.jdbcra.spi;
-
-import jakarta.resource.ResourceException;
-import jakarta.resource.spi.ConnectionRequestInfo;
-import com.sun.jdbcra.spi.ConnectionManager;
-import com.sun.jdbcra.common.DataSourceSpec;
-import com.sun.jdbcra.common.DataSourceObjectBuilder;
-import com.sun.jdbcra.util.SecurityUtils;
-import jakarta.resource.spi.security.PasswordCredential;
-import com.sun.jdbcra.spi.ManagedConnectionFactory;
-import com.sun.jdbcra.common.DataSourceSpec;
-import java.util.logging.Logger;
-import java.util.logging.Level;
-
-/**
- * Data Source <code>ManagedConnectionFactory</code> implementation for Generic JDBC Connector.
- *
- * @version        1.0, 02/07/30
- * @author        Evani Sai Surya Kiran
- */
-
-public class DSManagedConnectionFactory extends ManagedConnectionFactory {
-
-    private transient javax.sql.DataSource dataSourceObj;
-
-    private static Logger _logger;
-    static {
-        _logger = Logger.getAnonymousLogger();
-    }
-    private boolean debug = false;
-
-    /**
-     * Creates a new physical connection to the underlying EIS resource
-     * manager.
-     *
-     * @param        subject        <code>Subject</code> instance passed by the application server
-     * @param        cxRequestInfo        <code>ConnectionRequestInfo</code> which may be created
-     *                                    as a result of the invocation <code>getConnection(user, password)</code>
-     *                                    on the <code>DataSource</code> object
-     * @return        <code>ManagedConnection</code> object created
-     * @throws        ResourceException        if there is an error in instantiating the
-     *                                         <code>DataSource</code> object used for the
-     *                                       creation of the <code>ManagedConnection</code> object
-     * @throws        SecurityException        if there ino <code>PasswordCredential</code> object
-     *                                         satisfying this request
-     * @throws        ResourceAllocationException        if there is an error in allocating the
-     *                                                physical connection
-     */
-    public jakarta.resource.spi.ManagedConnection createManagedConnection(javax.security.auth.Subject subject,
-        ConnectionRequestInfo cxRequestInfo) throws ResourceException {
-        if(logWriter != null) {
-                logWriter.println("In createManagedConnection");
-        }
-        PasswordCredential pc = SecurityUtils.getPasswordCredential(this, subject, cxRequestInfo);
-
-        if(dataSourceObj == null) {
-            if(dsObjBuilder == null) {
-                dsObjBuilder = new DataSourceObjectBuilder(spec);
-            }
-
-            try {
-                dataSourceObj = (javax.sql.DataSource) dsObjBuilder.constructDataSourceObject();
-            } catch(ClassCastException cce) {
-                _logger.log(Level.SEVERE, "jdbc.exc_cce", cce);
-                throw new jakarta.resource.ResourceException(cce.getMessage());
-            }
-        }
-
-        java.sql.Connection dsConn = null;
-
-        try {
-            /* For the case where the user/passwd of the connection pool is
-             * equal to the PasswordCredential for the connection request
-             * get a connection from this pool directly.
-             * for all other conditions go create a new connection
-             */
-            if ( isEqual( pc, getUser(), getPassword() ) ) {
-                dsConn = dataSourceObj.getConnection();
-            } else {
-                dsConn = dataSourceObj.getConnection(pc.getUserName(),
-                    new String(pc.getPassword()));
-            }
-        } catch(java.sql.SQLException sqle) {
-            _logger.log(Level.WARNING, "jdbc.exc_create_conn", sqle);
-            throw new jakarta.resource.spi.ResourceAllocationException("The connection could not be allocated: " +
-                sqle.getMessage());
-        }
-
-        com.sun.jdbcra.spi.ManagedConnection mc = new com.sun.jdbcra.spi.ManagedConnection(null, dsConn, pc, this);
-        //GJCINT
-        setIsolation(mc);
-        isValid(mc);
-        return mc;
-    }
-
-    /**
-     * Check if this <code>ManagedConnectionFactory</code> is equal to
-     * another <code>ManagedConnectionFactory</code>.
-     *
-     * @param        other        <code>ManagedConnectionFactory</code> object for checking equality with
-     * @return        true        if the property sets of both the
-     *                        <code>ManagedConnectionFactory</code> objects are the same
-     *                false        otherwise
-     */
-    public boolean equals(Object other) {
-        if(logWriter != null) {
-                logWriter.println("In equals");
-        }
-        /**
-         * The check below means that two ManagedConnectionFactory objects are equal
-         * if and only if their properties are the same.
-         */
-        if(other instanceof com.sun.jdbcra.spi.DSManagedConnectionFactory) {
-            com.sun.jdbcra.spi.DSManagedConnectionFactory otherMCF =
-                (com.sun.jdbcra.spi.DSManagedConnectionFactory) other;
-            return this.spec.equals(otherMCF.spec);
-        }
-        return false;
-    }
-
-    /**
-     * Sets the server name.
-     *
-     * @param        serverName        <code>String</code>
-     * @see        <code>getServerName</code>
-     */
-    public void setserverName(String serverName) {
-        spec.setDetail(DataSourceSpec.SERVERNAME, serverName);
-    }
-
-    /**
-     * Gets the server name.
-     *
-     * @return        serverName
-     * @see        <code>setServerName</code>
-     */
-    public String getserverName() {
-        return spec.getDetail(DataSourceSpec.SERVERNAME);
-    }
-
-    /**
-     * Sets the server name.
-     *
-     * @param        serverName        <code>String</code>
-     * @see        <code>getServerName</code>
-     */
-    public void setServerName(String serverName) {
-        spec.setDetail(DataSourceSpec.SERVERNAME, serverName);
-    }
-
-    /**
-     * Gets the server name.
-     *
-     * @return        serverName
-     * @see        <code>setServerName</code>
-     */
-    public String getServerName() {
-        return spec.getDetail(DataSourceSpec.SERVERNAME);
-    }
-
-    /**
-     * Sets the port number.
-     *
-     * @param        portNumber        <code>String</code>
-     * @see        <code>getPortNumber</code>
-     */
-    public void setportNumber(String portNumber) {
-        spec.setDetail(DataSourceSpec.PORTNUMBER, portNumber);
-    }
-
-    /**
-     * Gets the port number.
-     *
-     * @return        portNumber
-     * @see        <code>setPortNumber</code>
-     */
-    public String getportNumber() {
-        return spec.getDetail(DataSourceSpec.PORTNUMBER);
-    }
-
-    /**
-     * Sets the port number.
-     *
-     * @param        portNumber        <code>String</code>
-     * @see        <code>getPortNumber</code>
-     */
-    public void setPortNumber(String portNumber) {
-        spec.setDetail(DataSourceSpec.PORTNUMBER, portNumber);
-    }
-
-    /**
-     * Gets the port number.
-     *
-     * @return        portNumber
-     * @see        <code>setPortNumber</code>
-     */
-    public String getPortNumber() {
-        return spec.getDetail(DataSourceSpec.PORTNUMBER);
-    }
-
-    /**
-     * Sets the database name.
-     *
-     * @param        databaseName        <code>String</code>
-     * @see        <code>getDatabaseName</code>
-     */
-    public void setdatabaseName(String databaseName) {
-        spec.setDetail(DataSourceSpec.DATABASENAME, databaseName);
-    }
-
-    /**
-     * Gets the database name.
-     *
-     * @return        databaseName
-     * @see        <code>setDatabaseName</code>
-     */
-    public String getdatabaseName() {
-        return spec.getDetail(DataSourceSpec.DATABASENAME);
-    }
-
-    /**
-     * Sets the database name.
-     *
-     * @param        databaseName        <code>String</code>
-     * @see        <code>getDatabaseName</code>
-     */
-    public void setDatabaseName(String databaseName) {
-        spec.setDetail(DataSourceSpec.DATABASENAME, databaseName);
-    }
-
-    /**
-     * Gets the database name.
-     *
-     * @return        databaseName
-     * @see        <code>setDatabaseName</code>
-     */
-    public String getDatabaseName() {
-        return spec.getDetail(DataSourceSpec.DATABASENAME);
-    }
-
-    /**
-     * Sets the data source name.
-     *
-     * @param        dsn <code>String</code>
-     * @see        <code>getDataSourceName</code>
-     */
-    public void setdataSourceName(String dsn) {
-        spec.setDetail(DataSourceSpec.DATASOURCENAME, dsn);
-    }
-
-    /**
-     * Gets the data source name.
-     *
-     * @return        dsn
-     * @see        <code>setDataSourceName</code>
-     */
-    public String getdataSourceName() {
-        return spec.getDetail(DataSourceSpec.DATASOURCENAME);
-    }
-
-    /**
-     * Sets the data source name.
-     *
-     * @param        dsn <code>String</code>
-     * @see        <code>getDataSourceName</code>
-     */
-    public void setDataSourceName(String dsn) {
-        spec.setDetail(DataSourceSpec.DATASOURCENAME, dsn);
-    }
-
-    /**
-     * Gets the data source name.
-     *
-     * @return        dsn
-     * @see        <code>setDataSourceName</code>
-     */
-    public String getDataSourceName() {
-        return spec.getDetail(DataSourceSpec.DATASOURCENAME);
-    }
-
-    /**
-     * Sets the description.
-     *
-     * @param        desc        <code>String</code>
-     * @see        <code>getDescription</code>
-     */
-    public void setdescription(String desc) {
-        spec.setDetail(DataSourceSpec.DESCRIPTION, desc);
-    }
-
-    /**
-     * Gets the description.
-     *
-     * @return        desc
-     * @see        <code>setDescription</code>
-     */
-    public String getdescription() {
-        return spec.getDetail(DataSourceSpec.DESCRIPTION);
-    }
-
-    /**
-     * Sets the description.
-     *
-     * @param        desc        <code>String</code>
-     * @see        <code>getDescription</code>
-     */
-    public void setDescription(String desc) {
-        spec.setDetail(DataSourceSpec.DESCRIPTION, desc);
-    }
-
-    /**
-     * Gets the description.
-     *
-     * @return        desc
-     * @see        <code>setDescription</code>
-     */
-    public String getDescription() {
-        return spec.getDetail(DataSourceSpec.DESCRIPTION);
-    }
-
-    /**
-     * Sets the network protocol.
-     *
-     * @param        nwProtocol        <code>String</code>
-     * @see        <code>getNetworkProtocol</code>
-     */
-    public void setnetworkProtocol(String nwProtocol) {
-        spec.setDetail(DataSourceSpec.NETWORKPROTOCOL, nwProtocol);
-    }
-
-    /**
-     * Gets the network protocol.
-     *
-     * @return        nwProtocol
-     * @see        <code>setNetworkProtocol</code>
-     */
-    public String getnetworkProtocol() {
-        return spec.getDetail(DataSourceSpec.NETWORKPROTOCOL);
-    }
-
-    /**
-     * Sets the network protocol.
-     *
-     * @param        nwProtocol        <code>String</code>
-     * @see        <code>getNetworkProtocol</code>
-     */
-    public void setNetworkProtocol(String nwProtocol) {
-        spec.setDetail(DataSourceSpec.NETWORKPROTOCOL, nwProtocol);
-    }
-
-    /**
-     * Gets the network protocol.
-     *
-     * @return        nwProtocol
-     * @see        <code>setNetworkProtocol</code>
-     */
-    public String getNetworkProtocol() {
-        return spec.getDetail(DataSourceSpec.NETWORKPROTOCOL);
-    }
-
-    /**
-     * Sets the role name.
-     *
-     * @param        roleName        <code>String</code>
-     * @see        <code>getRoleName</code>
-     */
-    public void setroleName(String roleName) {
-        spec.setDetail(DataSourceSpec.ROLENAME, roleName);
-    }
-
-    /**
-     * Gets the role name.
-     *
-     * @return        roleName
-     * @see        <code>setRoleName</code>
-     */
-    public String getroleName() {
-        return spec.getDetail(DataSourceSpec.ROLENAME);
-    }
-
-    /**
-     * Sets the role name.
-     *
-     * @param        roleName        <code>String</code>
-     * @see        <code>getRoleName</code>
-     */
-    public void setRoleName(String roleName) {
-        spec.setDetail(DataSourceSpec.ROLENAME, roleName);
-    }
-
-    /**
-     * Gets the role name.
-     *
-     * @return        roleName
-     * @see        <code>setRoleName</code>
-     */
-    public String getRoleName() {
-        return spec.getDetail(DataSourceSpec.ROLENAME);
-    }
-
-
-    /**
-     * Sets the login timeout.
-     *
-     * @param        loginTimeOut        <code>String</code>
-     * @see        <code>getLoginTimeOut</code>
-     */
-    public void setloginTimeOut(String loginTimeOut) {
-        spec.setDetail(DataSourceSpec.LOGINTIMEOUT, loginTimeOut);
-    }
-
-    /**
-     * Gets the login timeout.
-     *
-     * @return        loginTimeout
-     * @see        <code>setLoginTimeOut</code>
-     */
-    public String getloginTimeOut() {
-        return spec.getDetail(DataSourceSpec.LOGINTIMEOUT);
-    }
-
-    /**
-     * Sets the login timeout.
-     *
-     * @param        loginTimeOut        <code>String</code>
-     * @see        <code>getLoginTimeOut</code>
-     */
-    public void setLoginTimeOut(String loginTimeOut) {
-        spec.setDetail(DataSourceSpec.LOGINTIMEOUT, loginTimeOut);
-    }
-
-    /**
-     * Gets the login timeout.
-     *
-     * @return        loginTimeout
-     * @see        <code>setLoginTimeOut</code>
-     */
-    public String getLoginTimeOut() {
-        return spec.getDetail(DataSourceSpec.LOGINTIMEOUT);
-    }
-
-    /**
-     * Sets the delimiter.
-     *
-     * @param        delim        <code>String</code>
-     * @see        <code>getDelimiter</code>
-     */
-    public void setdelimiter(String delim) {
-        spec.setDetail(DataSourceSpec.DELIMITER, delim);
-    }
-
-    /**
-     * Gets the delimiter.
-     *
-     * @return        delim
-     * @see        <code>setDelimiter</code>
-     */
-    public String getdelimiter() {
-        return spec.getDetail(DataSourceSpec.DELIMITER);
-    }
-
-    /**
-     * Sets the delimiter.
-     *
-     * @param        delim        <code>String</code>
-     * @see        <code>getDelimiter</code>
-     */
-    public void setDelimiter(String delim) {
-        spec.setDetail(DataSourceSpec.DELIMITER, delim);
-    }
-
-    /**
-     * Gets the delimiter.
-     *
-     * @return        delim
-     * @see        <code>setDelimiter</code>
-     */
-    public String getDelimiter() {
-        return spec.getDetail(DataSourceSpec.DELIMITER);
-    }
-
-    /**
-     * Sets the driver specific properties.
-     *
-     * @param        driverProps        <code>String</code>
-     * @see        <code>getDriverProperties</code>
-     */
-    public void setdriverProperties(String driverProps) {
-        spec.setDetail(DataSourceSpec.DRIVERPROPERTIES, driverProps);
-    }
-
-    /**
-     * Gets the driver specific properties.
-     *
-     * @return        driverProps
-     * @see        <code>setDriverProperties</code>
-     */
-    public String getdriverProperties() {
-        return spec.getDetail(DataSourceSpec.DRIVERPROPERTIES);
-    }
-
-    /**
-     * Sets the driver specific properties.
-     *
-     * @param        driverProps        <code>String</code>
-     * @see        <code>getDriverProperties</code>
-     */
-    public void setDriverProperties(String driverProps) {
-        spec.setDetail(DataSourceSpec.DRIVERPROPERTIES, driverProps);
-    }
-
-    /**
-     * Gets the driver specific properties.
-     *
-     * @return        driverProps
-     * @see        <code>setDriverProperties</code>
-     */
-    public String getDriverProperties() {
-        return spec.getDetail(DataSourceSpec.DRIVERPROPERTIES);
-    }
-
-    /*
-     * Check if the PasswordCredential passed for this get connection
-     * request is equal to the user/passwd of this connection pool.
-     */
-    private boolean isEqual( PasswordCredential pc, String user,
-        String password) {
-
-        //if equal get direct connection else
-        //get connection with user and password.
-
-        if (user == null && pc == null) {
-            return true;
-        }
-
-        if ( user == null && pc != null ) {
-            return false;
-        }
-
-        if( pc == null ) {
-            return true;
-        }
-
-        if ( user.equals( pc.getUserName() ) ) {
-            if ( password == null && pc.getPassword() == null ) {
-                return true;
-            }
-        }
-
-        if ( user.equals(pc.getUserName()) && password.equals(pc.getPassword()) ) {
-            return true;
-        }
-
-
-        return false;
-    }
-}
diff --git a/appserver/tests/appserv-tests/devtests/connector/v3/redeployRar/ra/src/com/sun/jdbcra/spi/DataSource.java b/appserver/tests/appserv-tests/devtests/connector/v3/redeployRar/ra/src/com/sun/jdbcra/spi/DataSource.java
deleted file mode 100755
index f8f534e..0000000
--- a/appserver/tests/appserv-tests/devtests/connector/v3/redeployRar/ra/src/com/sun/jdbcra/spi/DataSource.java
+++ /dev/null
@@ -1,211 +0,0 @@
-/*
- * Copyright (c) 2003, 2018 Oracle and/or its affiliates. All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v. 2.0, which is available at
- * http://www.eclipse.org/legal/epl-2.0.
- *
- * This Source Code may also be made available under the following Secondary
- * Licenses when the conditions for such availability set forth in the
- * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
- * version 2 with the GNU Classpath Exception, which is available at
- * https://www.gnu.org/software/classpath/license.html.
- *
- * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
- */
-
-package com.sun.jdbcra.spi;
-
-import java.io.PrintWriter;
-import java.sql.Connection;
-import java.sql.SQLException;
-import java.sql.SQLFeatureNotSupportedException;
-import jakarta.resource.spi.ManagedConnectionFactory;
-import jakarta.resource.spi.ConnectionManager;
-import jakarta.resource.ResourceException;
-import javax.naming.Reference;
-
-import java.util.logging.Logger;
-import java.util.logging.Level;
-/**
- * Holds the <code>java.sql.Connection</code> object, which is to be
- * passed to the application program.
- *
- * @version        1.0, 02/07/31
- * @author        Binod P.G
- */
-public class DataSource implements javax.sql.DataSource, java.io.Serializable,
-                com.sun.appserv.jdbcra.DataSource, jakarta.resource.Referenceable{
-
-    private ManagedConnectionFactory mcf;
-    private ConnectionManager cm;
-    private int loginTimeout;
-    private PrintWriter logWriter;
-    private String description;
-    private Reference reference;
-
-    private static Logger _logger;
-    static {
-        _logger = Logger.getAnonymousLogger();
-    }
-    private boolean debug = false;
-
-    /**
-     * Constructs <code>DataSource</code> object. This is created by the
-     * <code>ManagedConnectionFactory</code> object.
-     *
-     * @param        mcf        <code>ManagedConnectionFactory</code> object
-     *                        creating this object.
-     * @param        cm        <code>ConnectionManager</code> object either associated
-     *                        with Application server or Resource Adapter.
-     */
-    public DataSource (ManagedConnectionFactory mcf, ConnectionManager cm) {
-            this.mcf = mcf;
-            if (cm == null) {
-                this.cm = (ConnectionManager) new com.sun.jdbcra.spi.ConnectionManager();
-            } else {
-                this.cm = cm;
-            }
-    }
-
-    /**
-     * Retrieves the <code> Connection </code> object.
-     *
-     * @return        <code> Connection </code> object.
-     * @throws SQLException In case of an error.
-     */
-    public Connection getConnection() throws SQLException {
-            try {
-                return (Connection) cm.allocateConnection(mcf,null);
-            } catch (ResourceException re) {
-// This is temporary. This needs to be changed to SEVERE after TP
-            _logger.log(Level.WARNING, "jdbc.exc_get_conn", re.getMessage());
-                throw new SQLException (re.getMessage());
-            }
-    }
-
-    /**
-     * Retrieves the <code> Connection </code> object.
-     *
-     * @param        user        User name for the Connection.
-     * @param        pwd        Password for the Connection.
-     * @return        <code> Connection </code> object.
-     * @throws SQLException In case of an error.
-     */
-    public Connection getConnection(String user, String pwd) throws SQLException {
-            try {
-                ConnectionRequestInfo info = new ConnectionRequestInfo (user, pwd);
-                return (Connection) cm.allocateConnection(mcf,info);
-            } catch (ResourceException re) {
-// This is temporary. This needs to be changed to SEVERE after TP
-            _logger.log(Level.WARNING, "jdbc.exc_get_conn", re.getMessage());
-                throw new SQLException (re.getMessage());
-            }
-    }
-
-    /**
-     * Retrieves the actual SQLConnection from the Connection wrapper
-     * implementation of SunONE application server. If an actual connection is
-     * supplied as argument, then it will be just returned.
-     *
-     * @param con Connection obtained from <code>Datasource.getConnection()</code>
-     * @return <code>java.sql.Connection</code> implementation of the driver.
-     * @throws <code>java.sql.SQLException</code> If connection cannot be obtained.
-     */
-    public Connection getConnection(Connection con) throws SQLException {
-
-        Connection driverCon = con;
-        if (con instanceof com.sun.jdbcra.spi.ConnectionHolder) {
-           driverCon = ((com.sun.jdbcra.spi.ConnectionHolder) con).getConnection();
-        }
-
-        return driverCon;
-    }
-
-    /**
-     * Get the login timeout
-     *
-     * @return login timeout.
-     * @throws        SQLException        If a database error occurs.
-     */
-    public int getLoginTimeout() throws SQLException{
-            return        loginTimeout;
-    }
-
-    /**
-     * Set the login timeout
-     *
-     * @param        loginTimeout        Login timeout.
-     * @throws        SQLException        If a database error occurs.
-     */
-    public void setLoginTimeout(int loginTimeout) throws SQLException{
-            this.loginTimeout = loginTimeout;
-    }
-
-    /**
-     * Get the logwriter object.
-     *
-     * @return <code> PrintWriter </code> object.
-     * @throws        SQLException        If a database error occurs.
-     */
-    public PrintWriter getLogWriter() throws SQLException{
-            return        logWriter;
-    }
-
-    /**
-     * Set the logwriter on this object.
-     *
-     * @param <code>PrintWriter</code> object.
-     * @throws        SQLException        If a database error occurs.
-     */
-    public void setLogWriter(PrintWriter logWriter) throws SQLException{
-            this.logWriter = logWriter;
-    }
-
-    public Logger getParentLogger() throws SQLFeatureNotSupportedException{
-      throw new SQLFeatureNotSupportedException("Do not support Java 7 feature.");
-    }
-    /**
-     * Retrieves the description.
-     *
-     * @return        Description about the DataSource.
-     */
-    public String getDescription() {
-            return description;
-    }
-
-    /**
-     * Set the description.
-     *
-     * @param description Description about the DataSource.
-     */
-    public void setDescription(String description) {
-            this.description = description;
-    }
-
-    /**
-     * Get the reference.
-     *
-     * @return <code>Reference</code>object.
-     */
-    public Reference getReference() {
-            return reference;
-    }
-
-    /**
-     * Get the reference.
-     *
-     * @param        reference <code>Reference</code> object.
-     */
-    public void setReference(Reference reference) {
-            this.reference = reference;
-    }
-
-    public <T> T unwrap(Class<T> iface) throws SQLException {
-        return null;  //To change body of implemented methods use File | Settings | File Templates.
-    }
-
-    public boolean isWrapperFor(Class<?> iface) throws SQLException {
-        return false;  //To change body of implemented methods use File | Settings | File Templates.
-    }
-}
diff --git a/appserver/tests/appserv-tests/devtests/connector/v3/redeployRar/ra/src/com/sun/jdbcra/spi/JdbcSetupAdmin.java b/appserver/tests/appserv-tests/devtests/connector/v3/redeployRar/ra/src/com/sun/jdbcra/spi/JdbcSetupAdmin.java
deleted file mode 100755
index 824510d..0000000
--- a/appserver/tests/appserv-tests/devtests/connector/v3/redeployRar/ra/src/com/sun/jdbcra/spi/JdbcSetupAdmin.java
+++ /dev/null
@@ -1,41 +0,0 @@
-/*
- * Copyright (c) 2017, 2018 Oracle and/or its affiliates. All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v. 2.0, which is available at
- * http://www.eclipse.org/legal/epl-2.0.
- *
- * This Source Code may also be made available under the following Secondary
- * Licenses when the conditions for such availability set forth in the
- * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
- * version 2 with the GNU Classpath Exception, which is available at
- * https://www.gnu.org/software/classpath/license.html.
- *
- * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
- */
-
-package com.sun.jdbcra.spi;
-
-public interface JdbcSetupAdmin {
-
-    public void setTableName(String db);
-
-    public String getTableName();
-
-    public void setJndiName(String name);
-
-    public String getJndiName();
-
-    public void setSchemaName(String name);
-
-    public String getSchemaName();
-
-    public void setNoOfRows(Integer i);
-
-    public Integer getNoOfRows();
-
-    public boolean checkSetup();
-
-    public int getVersion();
-
-}
diff --git a/appserver/tests/appserv-tests/devtests/connector/v3/redeployRar/ra/src/com/sun/jdbcra/spi/JdbcSetupAdminImpl.java b/appserver/tests/appserv-tests/devtests/connector/v3/redeployRar/ra/src/com/sun/jdbcra/spi/JdbcSetupAdminImpl.java
deleted file mode 100755
index 44a8e60..0000000
--- a/appserver/tests/appserv-tests/devtests/connector/v3/redeployRar/ra/src/com/sun/jdbcra/spi/JdbcSetupAdminImpl.java
+++ /dev/null
@@ -1,127 +0,0 @@
-/*
- * Copyright (c) 2017, 2018 Oracle and/or its affiliates. All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v. 2.0, which is available at
- * http://www.eclipse.org/legal/epl-2.0.
- *
- * This Source Code may also be made available under the following Secondary
- * Licenses when the conditions for such availability set forth in the
- * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
- * version 2 with the GNU Classpath Exception, which is available at
- * https://www.gnu.org/software/classpath/license.html.
- *
- * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
- */
-
-package com.sun.jdbcra.spi;
-
-import javax.naming.*;
-import javax.sql.*;
-import java.sql.*;
-
-public class JdbcSetupAdminImpl implements JdbcSetupAdmin {
-
-    private String tableName;
-
-    private String jndiName;
-
-    private String schemaName;
-
-    private Integer noOfRows;
-
-    public void setTableName(String db) {
-        tableName = db;
-    }
-
-    public String getTableName(){
-        return tableName;
-    }
-
-    public void setJndiName(String name){
-        jndiName = name;
-    }
-
-    public String getJndiName() {
-        return jndiName;
-    }
-
-    public void setSchemaName(String name){
-        schemaName = name;
-    }
-
-    public String getSchemaName() {
-        return schemaName;
-    }
-
-    public void setNoOfRows(Integer i) {
-        System.out.println("Setting no of rows :" + i);
-        noOfRows = i;
-    }
-
-    public Integer getNoOfRows() {
-        return noOfRows;
-    }
-
-    public boolean checkSetup(){
-
-        if (jndiName== null || jndiName.trim().equals("")) {
-           return false;
-        }
-
-        if (tableName== null || tableName.trim().equals("")) {
-           return false;
-        }
-
-        Connection con = null;
-        Statement s = null;
-        ResultSet rs = null;
-        boolean b = false;
-        try {
-            InitialContext ic = new InitialContext();
-            DataSource ds = (DataSource) ic.lookup(jndiName);
-            con = ds.getConnection();
-            String fullTableName = tableName;
-            if (schemaName != null && (!(schemaName.trim().equals("")))) {
-                fullTableName = schemaName.trim() + "." + fullTableName;
-            }
-            String qry = "select * from " + fullTableName;
-
-            System.out.println("Executing query :" + qry);
-
-            s = con.createStatement();
-            rs = s.executeQuery(qry);
-
-            int i = 0;
-            if (rs.next()) {
-                i++;
-            }
-
-            System.out.println("No of rows found:" + i);
-            System.out.println("No of rows expected:" + noOfRows);
-
-            if (i == noOfRows.intValue()) {
-               b = true;
-            } else {
-               b = false;
-            }
-        } catch(Exception e) {
-            e.printStackTrace();
-            b = false;
-        } finally {
-            try {
-                if (rs != null) rs.close();
-                if (s != null) s.close();
-                if (con != null) con.close();
-            } catch (Exception e) {
-            }
-        }
-        System.out.println("Returning setup :" +b);
-        return b;
-    }
-
-    public int getVersion(){
-            return ResourceAdapter.VERSION;
-    }
-
-}
diff --git a/appserver/tests/appserv-tests/devtests/connector/v3/redeployRar/ra/src/com/sun/jdbcra/spi/LocalTransaction.java b/appserver/tests/appserv-tests/devtests/connector/v3/redeployRar/ra/src/com/sun/jdbcra/spi/LocalTransaction.java
deleted file mode 100755
index ce8635b..0000000
--- a/appserver/tests/appserv-tests/devtests/connector/v3/redeployRar/ra/src/com/sun/jdbcra/spi/LocalTransaction.java
+++ /dev/null
@@ -1,96 +0,0 @@
-/*
- * Copyright (c) 2003, 2018 Oracle and/or its affiliates. All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v. 2.0, which is available at
- * http://www.eclipse.org/legal/epl-2.0.
- *
- * This Source Code may also be made available under the following Secondary
- * Licenses when the conditions for such availability set forth in the
- * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
- * version 2 with the GNU Classpath Exception, which is available at
- * https://www.gnu.org/software/classpath/license.html.
- *
- * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
- */
-
-package com.sun.jdbcra.spi;
-
-import com.sun.jdbcra.spi.ManagedConnection;
-import jakarta.resource.ResourceException;
-import jakarta.resource.spi.LocalTransactionException;
-
-/**
- * <code>LocalTransaction</code> implementation for Generic JDBC Connector.
- *
- * @version        1.0, 02/08/03
- * @author        Evani Sai Surya Kiran
- */
-public class LocalTransaction implements jakarta.resource.spi.LocalTransaction {
-
-    private ManagedConnection mc;
-
-    /**
-     * Constructor for <code>LocalTransaction</code>.
-     * @param        mc        <code>ManagedConnection</code> that returns
-     *                        this <code>LocalTransaction</code> object as
-     *                        a result of <code>getLocalTransaction</code>
-     */
-    public LocalTransaction(ManagedConnection mc) {
-        this.mc = mc;
-    }
-
-    /**
-     * Begin a local transaction.
-     *
-     * @throws        LocalTransactionException        if there is an error in changing
-     *                                                the autocommit mode of the physical
-     *                                                connection
-     */
-    public void begin() throws ResourceException {
-        //GJCINT
-        mc.transactionStarted();
-        try {
-            mc.getActualConnection().setAutoCommit(false);
-        } catch(java.sql.SQLException sqle) {
-            throw new LocalTransactionException(sqle.getMessage());
-        }
-    }
-
-    /**
-     * Commit a local transaction.
-     * @throws        LocalTransactionException        if there is an error in changing
-     *                                                the autocommit mode of the physical
-     *                                                connection or committing the transaction
-     */
-    public void commit() throws ResourceException {
-        Exception e = null;
-        try {
-            mc.getActualConnection().commit();
-            mc.getActualConnection().setAutoCommit(true);
-        } catch(java.sql.SQLException sqle) {
-            throw new LocalTransactionException(sqle.getMessage());
-        }
-        //GJCINT
-        mc.transactionCompleted();
-    }
-
-    /**
-     * Rollback a local transaction.
-     *
-     * @throws        LocalTransactionException        if there is an error in changing
-     *                                                the autocommit mode of the physical
-     *                                                connection or rolling back the transaction
-     */
-    public void rollback() throws ResourceException {
-        try {
-            mc.getActualConnection().rollback();
-            mc.getActualConnection().setAutoCommit(true);
-        } catch(java.sql.SQLException sqle) {
-            throw new LocalTransactionException(sqle.getMessage());
-        }
-        //GJCINT
-        mc.transactionCompleted();
-    }
-
-}
diff --git a/appserver/tests/appserv-tests/devtests/connector/v3/redeployRar/ra/src/com/sun/jdbcra/spi/ManagedConnection.java b/appserver/tests/appserv-tests/devtests/connector/v3/redeployRar/ra/src/com/sun/jdbcra/spi/ManagedConnection.java
deleted file mode 100755
index f0443d0..0000000
--- a/appserver/tests/appserv-tests/devtests/connector/v3/redeployRar/ra/src/com/sun/jdbcra/spi/ManagedConnection.java
+++ /dev/null
@@ -1,664 +0,0 @@
-/*
- * Copyright (c) 2003, 2018 Oracle and/or its affiliates. All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v. 2.0, which is available at
- * http://www.eclipse.org/legal/epl-2.0.
- *
- * This Source Code may also be made available under the following Secondary
- * Licenses when the conditions for such availability set forth in the
- * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
- * version 2 with the GNU Classpath Exception, which is available at
- * https://www.gnu.org/software/classpath/license.html.
- *
- * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
- */
-
-package com.sun.jdbcra.spi;
-
-import jakarta.resource.spi.*;
-import jakarta.resource.*;
-import javax.security.auth.Subject;
-import java.io.PrintWriter;
-import javax.transaction.xa.XAResource;
-import java.util.Set;
-import java.util.Hashtable;
-import java.util.Iterator;
-import javax.sql.PooledConnection;
-import javax.sql.XAConnection;
-import java.sql.Connection;
-import java.sql.SQLException;
-import jakarta.resource.NotSupportedException;
-import jakarta.resource.spi.security.PasswordCredential;
-import com.sun.jdbcra.spi.ConnectionRequestInfo;
-import com.sun.jdbcra.spi.LocalTransaction;
-import com.sun.jdbcra.spi.ManagedConnectionMetaData;
-import com.sun.jdbcra.util.SecurityUtils;
-import com.sun.jdbcra.spi.ConnectionHolder;
-import java.util.logging.Logger;
-import java.util.logging.Level;
-
-/**
- * <code>ManagedConnection</code> implementation for Generic JDBC Connector.
- *
- * @version        1.0, 02/07/22
- * @author        Evani Sai Surya Kiran
- */
-public class ManagedConnection implements jakarta.resource.spi.ManagedConnection {
-
-    public static final int ISNOTAPOOLEDCONNECTION = 0;
-    public static final int ISPOOLEDCONNECTION = 1;
-    public static final int ISXACONNECTION = 2;
-
-    private boolean isDestroyed = false;
-    private boolean isUsable = true;
-
-    private int connectionType = ISNOTAPOOLEDCONNECTION;
-    private PooledConnection pc = null;
-    private java.sql.Connection actualConnection = null;
-    private Hashtable connectionHandles;
-    private PrintWriter logWriter;
-    private PasswordCredential passwdCredential;
-    private jakarta.resource.spi.ManagedConnectionFactory mcf = null;
-    private XAResource xar = null;
-    public ConnectionHolder activeConnectionHandle;
-
-    //GJCINT
-    private int isolationLevelWhenCleaned;
-    private boolean isClean = false;
-
-    private boolean transactionInProgress = false;
-
-    private ConnectionEventListener listener = null;
-
-    private ConnectionEvent ce = null;
-
-    private static Logger _logger;
-    static {
-        _logger = Logger.getAnonymousLogger();
-    }
-
-    /**
-     * Constructor for <code>ManagedConnection</code>. The pooledConn parameter is expected
-     * to be null and sqlConn parameter is the actual connection in case where
-     * the actual connection is got from a non pooled datasource object. The
-     * pooledConn parameter is expected to be non null and sqlConn parameter
-     * is expected to be null in the case where the datasource object is a
-     * connection pool datasource or an xa datasource.
-     *
-     * @param        pooledConn        <code>PooledConnection</code> object in case the
-     *                                physical connection is to be obtained from a pooled
-     *                                <code>DataSource</code>; null otherwise
-     * @param        sqlConn        <code>java.sql.Connection</code> object in case the physical
-     *                        connection is to be obtained from a non pooled <code>DataSource</code>;
-     *                        null otherwise
-     * @param        passwdCred        object conatining the
-     *                                user and password for allocating the connection
-     * @throws        ResourceException        if the <code>ManagedConnectionFactory</code> object
-     *                                        that created this <code>ManagedConnection</code> object
-     *                                        is not the same as returned by <code>PasswordCredential</code>
-     *                                        object passed
-     */
-    public ManagedConnection(PooledConnection pooledConn, java.sql.Connection sqlConn,
-        PasswordCredential passwdCred, jakarta.resource.spi.ManagedConnectionFactory mcf) throws ResourceException {
-        if(pooledConn == null && sqlConn == null) {
-            throw new ResourceException("Connection object cannot be null");
-        }
-
-        if (connectionType == ISNOTAPOOLEDCONNECTION ) {
-            actualConnection = sqlConn;
-        }
-
-        pc = pooledConn;
-        connectionHandles = new Hashtable();
-        passwdCredential = passwdCred;
-        this.mcf = mcf;
-        if(passwdCredential != null &&
-            this.mcf.equals(passwdCredential.getManagedConnectionFactory()) == false) {
-            throw new ResourceException("The ManagedConnectionFactory that has created this " +
-                "ManagedConnection is not the same as the ManagedConnectionFactory returned by" +
-                    " the PasswordCredential for this ManagedConnection");
-        }
-        logWriter = mcf.getLogWriter();
-        activeConnectionHandle = null;
-        ce = new ConnectionEvent(this, ConnectionEvent.CONNECTION_CLOSED);
-    }
-
-    /**
-     * Adds a connection event listener to the ManagedConnection instance.
-     *
-     * @param        listener        <code>ConnectionEventListener</code>
-     * @see <code>removeConnectionEventListener</code>
-     */
-    public void addConnectionEventListener(ConnectionEventListener listener) {
-        this.listener = listener;
-    }
-
-    /**
-     * Used by the container to change the association of an application-level
-     * connection handle with a <code>ManagedConnection</code> instance.
-     *
-     * @param        connection        <code>ConnectionHolder</code> to be associated with
-     *                                this <code>ManagedConnection</code> instance
-     * @throws        ResourceException        if the physical connection is no more
-     *                                        valid or the connection handle passed is null
-     */
-    public void associateConnection(Object connection) throws ResourceException {
-        if(logWriter != null) {
-            logWriter.println("In associateConnection");
-        }
-        checkIfValid();
-        if(connection == null) {
-            throw new ResourceException("Connection handle cannot be null");
-        }
-        ConnectionHolder ch = (ConnectionHolder) connection;
-
-        com.sun.jdbcra.spi.ManagedConnection mc = (com.sun.jdbcra.spi.ManagedConnection)ch.getManagedConnection();
-        mc.activeConnectionHandle = null;
-        isClean = false;
-
-        ch.associateConnection(actualConnection, this);
-        /**
-         * The expectation from the above method is that the connection holder
-         * replaces the actual sql connection it holds with the sql connection
-         * handle being passed in this method call. Also, it replaces the reference
-         * to the ManagedConnection instance with this ManagedConnection instance.
-         * Any previous statements and result sets also need to be removed.
-         */
-
-         if(activeConnectionHandle != null) {
-            activeConnectionHandle.setActive(false);
-        }
-
-        ch.setActive(true);
-        activeConnectionHandle = ch;
-    }
-
-    /**
-     * Application server calls this method to force any cleanup on the
-     * <code>ManagedConnection</code> instance. This method calls the invalidate
-     * method on all ConnectionHandles associated with this <code>ManagedConnection</code>.
-     *
-     * @throws        ResourceException        if the physical connection is no more valid
-     */
-    public void cleanup() throws ResourceException {
-        if(logWriter != null) {
-                logWriter.println("In cleanup");
-        }
-        checkIfValid();
-
-        /**
-         * may need to set the autocommit to true for the non-pooled case.
-         */
-        //GJCINT
-        //if (actualConnection != null) {
-        if (connectionType == ISNOTAPOOLEDCONNECTION ) {
-        try {
-            isolationLevelWhenCleaned = actualConnection.getTransactionIsolation();
-        } catch(SQLException sqle) {
-            throw new ResourceException("The isolation level for the physical connection "
-                + "could not be retrieved");
-        }
-        }
-        isClean = true;
-
-        activeConnectionHandle = null;
-    }
-
-    /**
-     * This method removes all the connection handles from the table
-     * of connection handles and invalidates all of them so that any
-     * operation on those connection handles throws an exception.
-     *
-     * @throws        ResourceException        if there is a problem in retrieving
-     *                                         the connection handles
-     */
-    private void invalidateAllConnectionHandles() throws ResourceException {
-        Set handles = connectionHandles.keySet();
-        Iterator iter = handles.iterator();
-        try {
-            while(iter.hasNext()) {
-                ConnectionHolder ch = (ConnectionHolder)iter.next();
-                ch.invalidate();
-            }
-        } catch(java.util.NoSuchElementException nsee) {
-            throw new ResourceException("Could not find the connection handle: "+ nsee.getMessage());
-        }
-        connectionHandles.clear();
-    }
-
-    /**
-     * Destroys the physical connection to the underlying resource manager.
-     *
-     * @throws        ResourceException        if there is an error in closing the physical connection
-     */
-    public void destroy() throws ResourceException{
-        if(logWriter != null) {
-            logWriter.println("In destroy");
-        }
-        //GJCINT
-        if(isDestroyed == true) {
-            return;
-        }
-
-        activeConnectionHandle = null;
-        try {
-            if(connectionType == ISXACONNECTION || connectionType == ISPOOLEDCONNECTION) {
-                pc.close();
-                pc = null;
-                actualConnection = null;
-            } else {
-                actualConnection.close();
-                actualConnection = null;
-            }
-        } catch(SQLException sqle) {
-            isDestroyed = true;
-            passwdCredential = null;
-            connectionHandles = null;
-            throw new ResourceException("The following exception has occured during destroy: "
-                + sqle.getMessage());
-        }
-        isDestroyed = true;
-        passwdCredential = null;
-        connectionHandles = null;
-    }
-
-    /**
-     * Creates a new connection handle for the underlying physical
-     * connection represented by the <code>ManagedConnection</code> instance.
-     *
-     * @param        subject        <code>Subject</code> parameter needed for authentication
-     * @param        cxReqInfo        <code>ConnectionRequestInfo</code> carries the user
-     *                                and password required for getting this connection.
-     * @return        Connection        the connection handle <code>Object</code>
-     * @throws        ResourceException        if there is an error in allocating the
-     *                                         physical connection from the pooled connection
-     * @throws        SecurityException        if there is a mismatch between the
-     *                                         password credentials or reauthentication is requested
-     */
-    public Object getConnection(Subject sub, jakarta.resource.spi.ConnectionRequestInfo cxReqInfo)
-        throws ResourceException {
-        if(logWriter != null) {
-            logWriter.println("In getConnection");
-        }
-        checkIfValid();
-        com.sun.jdbcra.spi.ConnectionRequestInfo cxRequestInfo = (com.sun.jdbcra.spi.ConnectionRequestInfo) cxReqInfo;
-        PasswordCredential passwdCred = SecurityUtils.getPasswordCredential(this.mcf, sub, cxRequestInfo);
-
-        if(SecurityUtils.isPasswordCredentialEqual(this.passwdCredential, passwdCred) == false) {
-            throw new jakarta.resource.spi.SecurityException("Re-authentication not supported");
-        }
-
-        //GJCINT
-        getActualConnection();
-
-        /**
-         * The following code in the if statement first checks if this ManagedConnection
-         * is clean or not. If it is, it resets the transaction isolation level to what
-         * it was when it was when this ManagedConnection was cleaned up depending on the
-         * ConnectionRequestInfo passed.
-         */
-        if(isClean) {
-            ((com.sun.jdbcra.spi.ManagedConnectionFactory)mcf).resetIsolation(this, isolationLevelWhenCleaned);
-        }
-
-
-        ConnectionHolder connHolderObject = new ConnectionHolder(actualConnection, this);
-        isClean=false;
-
-        if(activeConnectionHandle != null) {
-            activeConnectionHandle.setActive(false);
-        }
-
-        connHolderObject.setActive(true);
-        activeConnectionHandle = connHolderObject;
-
-        return connHolderObject;
-
-    }
-
-    /**
-     * Returns an <code>LocalTransaction</code> instance. The <code>LocalTransaction</code> interface
-     * is used by the container to manage local transactions for a RM instance.
-     *
-     * @return        <code>LocalTransaction</code> instance
-     * @throws        ResourceException        if the physical connection is not valid
-     */
-    public jakarta.resource.spi.LocalTransaction getLocalTransaction() throws ResourceException {
-        if(logWriter != null) {
-            logWriter.println("In getLocalTransaction");
-        }
-        checkIfValid();
-        return new com.sun.jdbcra.spi.LocalTransaction(this);
-    }
-
-    /**
-     * Gets the log writer for this <code>ManagedConnection</code> instance.
-     *
-     * @return        <code>PrintWriter</code> instance associated with this
-     *                <code>ManagedConnection</code> instance
-     * @throws        ResourceException        if the physical connection is not valid
-     * @see <code>setLogWriter</code>
-     */
-    public PrintWriter getLogWriter() throws ResourceException {
-        if(logWriter != null) {
-                logWriter.println("In getLogWriter");
-        }
-        checkIfValid();
-
-        return logWriter;
-    }
-
-    /**
-     * Gets the metadata information for this connection's underlying EIS
-     * resource manager instance.
-     *
-     * @return        <code>ManagedConnectionMetaData</code> instance
-     * @throws        ResourceException        if the physical connection is not valid
-     */
-    public jakarta.resource.spi.ManagedConnectionMetaData getMetaData() throws ResourceException {
-        if(logWriter != null) {
-                logWriter.println("In getMetaData");
-        }
-        checkIfValid();
-
-        return new com.sun.jdbcra.spi.ManagedConnectionMetaData(this);
-    }
-
-    /**
-     * Returns an <code>XAResource</code> instance.
-     *
-     * @return        <code>XAResource</code> instance
-     * @throws        ResourceException        if the physical connection is not valid or
-     *                                        there is an error in allocating the
-     *                                        <code>XAResource</code> instance
-     * @throws        NotSupportedException        if underlying datasource is not an
-     *                                        <code>XADataSource</code>
-     */
-    public XAResource getXAResource() throws ResourceException {
-        if(logWriter != null) {
-                logWriter.println("In getXAResource");
-        }
-        checkIfValid();
-
-        if(connectionType == ISXACONNECTION) {
-            try {
-                if(xar == null) {
-                    /**
-                     * Using the wrapper XAResource.
-                     */
-                    xar = new com.sun.jdbcra.spi.XAResourceImpl(((XAConnection)pc).getXAResource(), this);
-                }
-                return xar;
-            } catch(SQLException sqle) {
-                throw new ResourceException(sqle.getMessage());
-            }
-        } else {
-            throw new NotSupportedException("Cannot get an XAResource from a non XA connection");
-        }
-    }
-
-    /**
-     * Removes an already registered connection event listener from the
-     * <code>ManagedConnection</code> instance.
-     *
-     * @param        listener        <code>ConnectionEventListener</code> to be removed
-     * @see <code>addConnectionEventListener</code>
-     */
-    public void removeConnectionEventListener(ConnectionEventListener listener) {
-        listener = null;
-    }
-
-    /**
-     * This method is called from XAResource wrapper object
-     * when its XAResource.start() has been called or from
-     * LocalTransaction object when its begin() method is called.
-     */
-    void transactionStarted() {
-        transactionInProgress = true;
-    }
-
-    /**
-     * This method is called from XAResource wrapper object
-     * when its XAResource.end() has been called or from
-     * LocalTransaction object when its end() method is called.
-     */
-    void transactionCompleted() {
-        transactionInProgress = false;
-        if(connectionType == ISPOOLEDCONNECTION || connectionType == ISXACONNECTION) {
-            try {
-                isolationLevelWhenCleaned = actualConnection.getTransactionIsolation();
-            } catch(SQLException sqle) {
-                //check what to do in this case!!
-                _logger.log(Level.WARNING, "jdbc.notgot_tx_isolvl");
-            }
-
-            try {
-                actualConnection.close();
-                actualConnection = null;
-            } catch(SQLException sqle) {
-                actualConnection = null;
-            }
-        }
-
-
-        isClean = true;
-
-        activeConnectionHandle = null;
-
-    }
-
-    /**
-     * Checks if a this ManagedConnection is involved in a transaction
-     * or not.
-     */
-    public boolean isTransactionInProgress() {
-        return transactionInProgress;
-    }
-
-    /**
-     * Sets the log writer for this <code>ManagedConnection</code> instance.
-     *
-     * @param        out        <code>PrintWriter</code> to be associated with this
-     *                        <code>ManagedConnection</code> instance
-     * @throws        ResourceException        if the physical connection is not valid
-     * @see <code>getLogWriter</code>
-     */
-    public void setLogWriter(PrintWriter out) throws ResourceException {
-        checkIfValid();
-        logWriter = out;
-    }
-
-    /**
-     * This method determines the type of the connection being held
-     * in this <code>ManagedConnection</code>.
-     *
-     * @param        pooledConn        <code>PooledConnection</code>
-     * @return        connection type
-     */
-    private int getConnectionType(PooledConnection pooledConn) {
-        if(pooledConn == null) {
-            return ISNOTAPOOLEDCONNECTION;
-        } else if(pooledConn instanceof XAConnection) {
-            return ISXACONNECTION;
-        } else {
-            return ISPOOLEDCONNECTION;
-        }
-    }
-
-    /**
-     * Returns the <code>ManagedConnectionFactory</code> instance that
-     * created this <code>ManagedConnection</code> instance.
-     *
-     * @return        <code>ManagedConnectionFactory</code> instance that created this
-     *                <code>ManagedConnection</code> instance
-     */
-    ManagedConnectionFactory getManagedConnectionFactory() {
-        return (com.sun.jdbcra.spi.ManagedConnectionFactory)mcf;
-    }
-
-    /**
-     * Returns the actual sql connection for this <code>ManagedConnection</code>.
-     *
-     * @return        the physical <code>java.sql.Connection</code>
-     */
-    //GJCINT
-    java.sql.Connection getActualConnection() throws ResourceException {
-        //GJCINT
-        if(connectionType == ISXACONNECTION || connectionType == ISPOOLEDCONNECTION) {
-            try {
-                if(actualConnection == null) {
-                    actualConnection = pc.getConnection();
-                }
-
-            } catch(SQLException sqle) {
-                sqle.printStackTrace();
-                throw new ResourceException(sqle.getMessage());
-            }
-        }
-        return actualConnection;
-    }
-
-    /**
-     * Returns the <code>PasswordCredential</code> object associated with this <code>ManagedConnection</code>.
-     *
-     * @return        <code>PasswordCredential</code> associated with this
-     *                <code>ManagedConnection</code> instance
-     */
-    PasswordCredential getPasswordCredential() {
-        return passwdCredential;
-    }
-
-    /**
-     * Checks if this <code>ManagedConnection</code> is valid or not and throws an
-     * exception if it is not valid. A <code>ManagedConnection</code> is not valid if
-     * destroy has not been called and no physical connection error has
-     * occurred rendering the physical connection unusable.
-     *
-     * @throws        ResourceException        if <code>destroy</code> has been called on this
-     *                                        <code>ManagedConnection</code> instance or if a
-     *                                         physical connection error occurred rendering it unusable
-     */
-    //GJCINT
-    void checkIfValid() throws ResourceException {
-        if(isDestroyed == true || isUsable == false) {
-            throw new ResourceException("This ManagedConnection is not valid as the physical " +
-                "connection is not usable.");
-        }
-    }
-
-    /**
-     * This method is called by the <code>ConnectionHolder</code> when its close method is
-     * called. This <code>ManagedConnection</code> instance  invalidates the connection handle
-     * and sends a CONNECTION_CLOSED event to all the registered event listeners.
-     *
-     * @param        e        Exception that may have occured while closing the connection handle
-     * @param        connHolderObject        <code>ConnectionHolder</code> that has been closed
-     * @throws        SQLException        in case closing the sql connection got out of
-     *                                     <code>getConnection</code> on the underlying
-     *                                <code>PooledConnection</code> throws an exception
-     */
-    void connectionClosed(Exception e, ConnectionHolder connHolderObject) throws SQLException {
-        connHolderObject.invalidate();
-
-        activeConnectionHandle = null;
-
-        ce.setConnectionHandle(connHolderObject);
-        listener.connectionClosed(ce);
-
-    }
-
-    /**
-     * This method is called by the <code>ConnectionHolder</code> when it detects a connecion
-     * related error.
-     *
-     * @param        e        Exception that has occurred during an operation on the physical connection
-     * @param        connHolderObject        <code>ConnectionHolder</code> that detected the physical
-     *                                        connection error
-     */
-    void connectionErrorOccurred(Exception e,
-            com.sun.jdbcra.spi.ConnectionHolder connHolderObject) {
-
-         ConnectionEventListener cel = this.listener;
-         ConnectionEvent ce = null;
-         ce = e == null ? new ConnectionEvent(this, ConnectionEvent.CONNECTION_ERROR_OCCURRED)
-                    : new ConnectionEvent(this, ConnectionEvent.CONNECTION_ERROR_OCCURRED, e);
-         if (connHolderObject != null) {
-             ce.setConnectionHandle(connHolderObject);
-         }
-
-         cel.connectionErrorOccurred(ce);
-         isUsable = false;
-    }
-
-
-
-    /**
-     * This method is called by the <code>XAResource</code> object when its start method
-     * has been invoked.
-     *
-     */
-    void XAStartOccurred() {
-        try {
-            actualConnection.setAutoCommit(false);
-        } catch(Exception e) {
-            e.printStackTrace();
-            connectionErrorOccurred(e, null);
-        }
-    }
-
-    /**
-     * This method is called by the <code>XAResource</code> object when its end method
-     * has been invoked.
-     *
-     */
-    void XAEndOccurred() {
-        try {
-            actualConnection.setAutoCommit(true);
-        } catch(Exception e) {
-            e.printStackTrace();
-            connectionErrorOccurred(e, null);
-        }
-    }
-
-    /**
-     * This method is called by a Connection Handle to check if it is
-     * the active Connection Handle. If it is not the active Connection
-     * Handle, this method throws an SQLException. Else, it
-     * returns setting the active Connection Handle to the calling
-     * Connection Handle object to this object if the active Connection
-     * Handle is null.
-     *
-     * @param        ch        <code>ConnectionHolder</code> that requests this
-     *                        <code>ManagedConnection</code> instance whether
-     *                        it can be active or not
-     * @throws        SQLException        in case the physical is not valid or
-     *                                there is already an active connection handle
-     */
-
-    void checkIfActive(ConnectionHolder ch) throws SQLException {
-        if(isDestroyed == true || isUsable == false) {
-            throw new SQLException("The physical connection is not usable");
-        }
-
-        if(activeConnectionHandle == null) {
-            activeConnectionHandle = ch;
-            ch.setActive(true);
-            return;
-        }
-
-        if(activeConnectionHandle != ch) {
-            throw new SQLException("The connection handle cannot be used as another connection is currently active");
-        }
-    }
-
-    /**
-     * sets the connection type of this connection. This method is called
-     * by the MCF while creating this ManagedConnection. Saves us a costly
-     * instanceof operation in the getConnectionType
-     */
-    public void initializeConnectionType( int _connectionType ) {
-        connectionType = _connectionType;
-    }
-
-}
diff --git a/appserver/tests/appserv-tests/devtests/connector/v3/redeployRar/ra/src/com/sun/jdbcra/spi/ManagedConnectionMetaData.java b/appserver/tests/appserv-tests/devtests/connector/v3/redeployRar/ra/src/com/sun/jdbcra/spi/ManagedConnectionMetaData.java
deleted file mode 100755
index 5ec326c..0000000
--- a/appserver/tests/appserv-tests/devtests/connector/v3/redeployRar/ra/src/com/sun/jdbcra/spi/ManagedConnectionMetaData.java
+++ /dev/null
@@ -1,121 +0,0 @@
-/*
- * Copyright (c) 2003, 2018 Oracle and/or its affiliates. All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v. 2.0, which is available at
- * http://www.eclipse.org/legal/epl-2.0.
- *
- * This Source Code may also be made available under the following Secondary
- * Licenses when the conditions for such availability set forth in the
- * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
- * version 2 with the GNU Classpath Exception, which is available at
- * https://www.gnu.org/software/classpath/license.html.
- *
- * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
- */
-
-package com.sun.jdbcra.spi;
-
-import com.sun.jdbcra.spi.ManagedConnection;
-import java.sql.SQLException;
-import jakarta.resource.ResourceException;
-
-import java.util.logging.Logger;
-import java.util.logging.Level;
-/**
- * <code>ManagedConnectionMetaData</code> implementation for Generic JDBC Connector.
- *
- * @version        1.0, 02/08/03
- * @author        Evani Sai Surya Kiran
- */
-public class ManagedConnectionMetaData implements jakarta.resource.spi.ManagedConnectionMetaData {
-
-    private java.sql.DatabaseMetaData dmd = null;
-    private ManagedConnection mc;
-
-    private static Logger _logger;
-    static {
-        _logger = Logger.getAnonymousLogger();
-    }
-    private boolean debug = false;
-    /**
-     * Constructor for <code>ManagedConnectionMetaData</code>
-     *
-     * @param        mc        <code>ManagedConnection</code>
-     * @throws        <code>ResourceException</code>        if getting the DatabaseMetaData object fails
-     */
-    public ManagedConnectionMetaData(ManagedConnection mc) throws ResourceException {
-        try {
-            this.mc = mc;
-            dmd = mc.getActualConnection().getMetaData();
-        } catch(SQLException sqle) {
-            _logger.log(Level.SEVERE, "jdbc.exc_md");
-            throw new ResourceException(sqle.getMessage());
-        }
-    }
-
-    /**
-     * Returns product name of the underlying EIS instance connected
-     * through the ManagedConnection.
-     *
-     * @return        Product name of the EIS instance
-     * @throws        <code>ResourceException</code>
-     */
-    public String getEISProductName() throws ResourceException {
-        try {
-            return dmd.getDatabaseProductName();
-        } catch(SQLException sqle) {
-            _logger.log(Level.SEVERE, "jdbc.exc_eis_prodname", sqle);
-            throw new ResourceException(sqle.getMessage());
-        }
-    }
-
-    /**
-     * Returns product version of the underlying EIS instance connected
-     * through the ManagedConnection.
-     *
-     * @return        Product version of the EIS instance
-     * @throws        <code>ResourceException</code>
-     */
-    public String getEISProductVersion() throws ResourceException {
-        try {
-            return dmd.getDatabaseProductVersion();
-        } catch(SQLException sqle) {
-            _logger.log(Level.SEVERE, "jdbc.exc_eis_prodvers", sqle);
-            throw new ResourceException(sqle.getMessage(), sqle.getMessage());
-        }
-    }
-
-    /**
-     * Returns maximum limit on number of active concurrent connections
-     * that an EIS instance can support across client processes.
-     *
-     * @return        Maximum limit for number of active concurrent connections
-     * @throws        <code>ResourceException</code>
-     */
-    public int getMaxConnections() throws ResourceException {
-        try {
-            return dmd.getMaxConnections();
-        } catch(SQLException sqle) {
-            _logger.log(Level.SEVERE, "jdbc.exc_eis_maxconn");
-            throw new ResourceException(sqle.getMessage());
-        }
-    }
-
-    /**
-     * Returns name of the user associated with the ManagedConnection instance. The name
-     * corresponds to the resource principal under whose whose security context, a connection
-     * to the EIS instance has been established.
-     *
-     * @return        name of the user
-     * @throws        <code>ResourceException</code>
-     */
-    public String getUserName() throws ResourceException {
-        jakarta.resource.spi.security.PasswordCredential pc = mc.getPasswordCredential();
-        if(pc != null) {
-            return pc.getUserName();
-        }
-
-        return mc.getManagedConnectionFactory().getUser();
-    }
-}
diff --git a/appserver/tests/appserv-tests/devtests/connector/v3/redeployRar/ra/src/com/sun/jdbcra/spi/XAResourceImpl.java b/appserver/tests/appserv-tests/devtests/connector/v3/redeployRar/ra/src/com/sun/jdbcra/spi/XAResourceImpl.java
deleted file mode 100755
index f0ba663..0000000
--- a/appserver/tests/appserv-tests/devtests/connector/v3/redeployRar/ra/src/com/sun/jdbcra/spi/XAResourceImpl.java
+++ /dev/null
@@ -1,175 +0,0 @@
-/*
- * Copyright (c) 2003, 2018 Oracle and/or its affiliates. All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v. 2.0, which is available at
- * http://www.eclipse.org/legal/epl-2.0.
- *
- * This Source Code may also be made available under the following Secondary
- * Licenses when the conditions for such availability set forth in the
- * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
- * version 2 with the GNU Classpath Exception, which is available at
- * https://www.gnu.org/software/classpath/license.html.
- *
- * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
- */
-
-package com.sun.jdbcra.spi;
-
-import javax.transaction.xa.Xid;
-import javax.transaction.xa.XAException;
-import javax.transaction.xa.XAResource;
-import com.sun.jdbcra.spi.ManagedConnection;
-
-/**
- * <code>XAResource</code> wrapper for Generic JDBC Connector.
- *
- * @version        1.0, 02/08/23
- * @author        Evani Sai Surya Kiran
- */
-public class XAResourceImpl implements XAResource {
-
-    XAResource xar;
-    ManagedConnection mc;
-
-    /**
-     * Constructor for XAResourceImpl
-     *
-     * @param        xar        <code>XAResource</code>
-     * @param        mc        <code>ManagedConnection</code>
-     */
-    public XAResourceImpl(XAResource xar, ManagedConnection mc) {
-        this.xar = xar;
-        this.mc = mc;
-    }
-
-    /**
-     * Commit the global transaction specified by xid.
-     *
-     * @param        xid        A global transaction identifier
-     * @param        onePhase        If true, the resource manager should use a one-phase commit
-     *                               protocol to commit the work done on behalf of xid.
-     */
-    public void commit(Xid xid, boolean onePhase) throws XAException {
-        //the mc.transactionCompleted call has come here becasue
-        //the transaction *actually* completes after the flow
-        //reaches here. the end() method might not really signal
-        //completion of transaction in case the transaction is
-        //suspended. In case of transaction suspension, the end
-        //method is still called by the transaction manager
-        mc.transactionCompleted();
-        xar.commit(xid, onePhase);
-    }
-
-    /**
-     * Ends the work performed on behalf of a transaction branch.
-     *
-     * @param        xid        A global transaction identifier that is the same as what
-     *                        was used previously in the start method.
-     * @param        flags        One of TMSUCCESS, TMFAIL, or TMSUSPEND
-     */
-    public void end(Xid xid, int flags) throws XAException {
-        xar.end(xid, flags);
-        //GJCINT
-        //mc.transactionCompleted();
-    }
-
-    /**
-     * Tell the resource manager to forget about a heuristically completed transaction branch.
-     *
-     * @param        xid        A global transaction identifier
-     */
-    public void forget(Xid xid) throws XAException {
-        xar.forget(xid);
-    }
-
-    /**
-     * Obtain the current transaction timeout value set for this
-     * <code>XAResource</code> instance.
-     *
-     * @return        the transaction timeout value in seconds
-     */
-    public int getTransactionTimeout() throws XAException {
-        return xar.getTransactionTimeout();
-    }
-
-    /**
-     * This method is called to determine if the resource manager instance
-     * represented by the target object is the same as the resouce manager
-     * instance represented by the parameter xares.
-     *
-     * @param        xares        An <code>XAResource</code> object whose resource manager
-     *                         instance is to be compared with the resource
-     * @return        true if it's the same RM instance; otherwise false.
-     */
-    public boolean isSameRM(XAResource xares) throws XAException {
-        return xar.isSameRM(xares);
-    }
-
-    /**
-     * Ask the resource manager to prepare for a transaction commit
-     * of the transaction specified in xid.
-     *
-     * @param        xid        A global transaction identifier
-     * @return        A value indicating the resource manager's vote on the
-     *                outcome of the transaction. The possible values
-     *                are: XA_RDONLY or XA_OK. If the resource manager wants
-     *                to roll back the transaction, it should do so
-     *                by raising an appropriate <code>XAException</code> in the prepare method.
-     */
-    public int prepare(Xid xid) throws XAException {
-        return xar.prepare(xid);
-    }
-
-    /**
-     * Obtain a list of prepared transaction branches from a resource manager.
-     *
-     * @param        flag        One of TMSTARTRSCAN, TMENDRSCAN, TMNOFLAGS. TMNOFLAGS
-     *                        must be used when no other flags are set in flags.
-     * @return        The resource manager returns zero or more XIDs for the transaction
-     *                branches that are currently in a prepared or heuristically
-     *                completed state. If an error occurs during the operation, the resource
-     *                manager should throw the appropriate <code>XAException</code>.
-     */
-    public Xid[] recover(int flag) throws XAException {
-        return xar.recover(flag);
-    }
-
-    /**
-     * Inform the resource manager to roll back work done on behalf of a transaction branch
-     *
-     * @param        xid        A global transaction identifier
-     */
-    public void rollback(Xid xid) throws XAException {
-        //the mc.transactionCompleted call has come here becasue
-        //the transaction *actually* completes after the flow
-        //reaches here. the end() method might not really signal
-        //completion of transaction in case the transaction is
-        //suspended. In case of transaction suspension, the end
-        //method is still called by the transaction manager
-        mc.transactionCompleted();
-        xar.rollback(xid);
-    }
-
-    /**
-     * Set the current transaction timeout value for this <code>XAResource</code> instance.
-     *
-     * @param        seconds        the transaction timeout value in seconds.
-     * @return        true if transaction timeout value is set successfully; otherwise false.
-     */
-    public boolean setTransactionTimeout(int seconds) throws XAException {
-        return xar.setTransactionTimeout(seconds);
-    }
-
-    /**
-     * Start work on behalf of a transaction branch specified in xid.
-     *
-     * @param        xid        A global transaction identifier to be associated with the resource
-     * @return        flags        One of TMNOFLAGS, TMJOIN, or TMRESUME
-     */
-    public void start(Xid xid, int flags) throws XAException {
-        //GJCINT
-        mc.transactionStarted();
-        xar.start(xid, flags);
-    }
-}
diff --git a/appserver/tests/appserv-tests/devtests/connector/v3/redeployRar/ra/src/com/sun/jdbcra/spi/build.xml b/appserver/tests/appserv-tests/devtests/connector/v3/redeployRar/ra/src/com/sun/jdbcra/spi/build.xml
deleted file mode 100755
index 7ca9cfb..0000000
--- a/appserver/tests/appserv-tests/devtests/connector/v3/redeployRar/ra/src/com/sun/jdbcra/spi/build.xml
+++ /dev/null
@@ -1,41 +0,0 @@
-<?xml version="1.0"?>
-<!--
-
-    Copyright (c) 2017, 2018 Oracle and/or its affiliates. All rights reserved.
-
-    This program and the accompanying materials are made available under the
-    terms of the Eclipse Public License v. 2.0, which is available at
-    http://www.eclipse.org/legal/epl-2.0.
-
-    This Source Code may also be made available under the following Secondary
-    Licenses when the conditions for such availability set forth in the
-    Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
-    version 2 with the GNU Classpath Exception, which is available 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 name="jdbc_connector" basedir="${gjc.home}" default="build">
-  <property name="pkg.dir" value="com/sun/gjc/spi"/>
-
-  <target name="clean">
-    <ant antfile="build.xml" dir="${gjc.home}/bin" target="clean"/>
-  </target>
-
-  <target name="compile13">
-    <ant antfile="build.xml" dir="${gjc.home}/bin" target="compile13"/>
-  </target>
-
-  <target name="build13" depends="compile13">
-  </target>
-
-  <target name="compile14">
-    <ant antfile="build.xml" dir="${gjc.home}/bin" target="compile14"/>
-  </target>
-
-  <target name="build14" depends="compile14"/>
-
-        <target name="build" depends="build13, build14"/>
-</project>
diff --git a/appserver/tests/appserv-tests/devtests/connector/v3/redeployRar/ra/src/com/sun/jdbcra/util/MethodExecutor.java b/appserver/tests/appserv-tests/devtests/connector/v3/redeployRar/ra/src/com/sun/jdbcra/util/MethodExecutor.java
deleted file mode 100755
index de4a961..0000000
--- a/appserver/tests/appserv-tests/devtests/connector/v3/redeployRar/ra/src/com/sun/jdbcra/util/MethodExecutor.java
+++ /dev/null
@@ -1,168 +0,0 @@
-/*
- * Copyright (c) 2003, 2018 Oracle and/or its affiliates. All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v. 2.0, which is available at
- * http://www.eclipse.org/legal/epl-2.0.
- *
- * This Source Code may also be made available under the following Secondary
- * Licenses when the conditions for such availability set forth in the
- * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
- * version 2 with the GNU Classpath Exception, which is available at
- * https://www.gnu.org/software/classpath/license.html.
- *
- * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
- */
-
-package com.sun.jdbcra.util;
-
-import java.lang.reflect.Method;
-import java.lang.reflect.InvocationTargetException;
-import java.util.Vector;
-import jakarta.resource.ResourceException;
-
-import java.util.logging.Logger;
-import java.util.logging.Level;
-/**
- * Execute the methods based on the parameters.
- *
- * @version        1.0, 02/07/23
- * @author        Binod P.G
- */
-public class MethodExecutor implements java.io.Serializable{
-
-    private static Logger _logger;
-    static {
-        _logger = Logger.getAnonymousLogger();
-    }
-    private boolean debug = false;
-    /**
-     * Exceute a simple set Method.
-     *
-     * @param        value        Value to be set.
-     * @param        method        <code>Method</code> object.
-     * @param        obj        Object on which the method to be executed.
-     * @throws  <code>ResourceException</code>, in case of the mismatch of parameter values or
-     *                a security violation.
-     */
-    public void runJavaBeanMethod(String value, Method method, Object obj) throws ResourceException{
-            if (value==null || value.trim().equals("")) {
-                return;
-            }
-            try {
-                Class[] parameters = method.getParameterTypes();
-                if ( parameters.length == 1) {
-                    Object[] values = new Object[1];
-                        values[0] = convertType(parameters[0], value);
-                        method.invoke(obj, values);
-                }
-            } catch (IllegalAccessException iae) {
-            _logger.log(Level.SEVERE, "jdbc.exc_jb_val", iae);
-                throw new ResourceException("Access denied to execute the method :" + method.getName());
-            } catch (IllegalArgumentException ie) {
-            _logger.log(Level.SEVERE, "jdbc.exc_jb_val", ie);
-                throw new ResourceException("Arguments are wrong for the method :" + method.getName());
-            } catch (InvocationTargetException ite) {
-            _logger.log(Level.SEVERE, "jdbc.exc_jb_val", ite);
-                throw new ResourceException("Access denied to execute the method :" + method.getName());
-            }
-    }
-
-    /**
-     * Executes the method.
-     *
-     * @param        method <code>Method</code> object.
-     * @param        obj        Object on which the method to be executed.
-     * @param        values        Parameter values for executing the method.
-     * @throws  <code>ResourceException</code>, in case of the mismatch of parameter values or
-     *                a security violation.
-     */
-    public void runMethod(Method method, Object obj, Vector values) throws ResourceException{
-            try {
-            Class[] parameters = method.getParameterTypes();
-            if (values.size() != parameters.length) {
-                return;
-            }
-                Object[] actualValues = new Object[parameters.length];
-                for (int i =0; i<parameters.length ; i++) {
-                        String val = (String) values.get(i);
-                        if (val.trim().equals("NULL")) {
-                            actualValues[i] = null;
-                        } else {
-                            actualValues[i] = convertType(parameters[i], val);
-                        }
-                }
-                method.invoke(obj, actualValues);
-            }catch (IllegalAccessException iae) {
-            _logger.log(Level.SEVERE, "jdbc.exc_jb_val", iae);
-                throw new ResourceException("Access denied to execute the method :" + method.getName());
-            } catch (IllegalArgumentException ie) {
-            _logger.log(Level.SEVERE, "jdbc.exc_jb_val", ie);
-                throw new ResourceException("Arguments are wrong for the method :" + method.getName());
-            } catch (InvocationTargetException ite) {
-            _logger.log(Level.SEVERE, "jdbc.exc_jb_val", ite);
-                throw new ResourceException("Access denied to execute the method :" + method.getName());
-            }
-    }
-
-    /**
-     * Converts the type from String to the Class type.
-     *
-     * @param        type                Class name to which the conversion is required.
-     * @param        parameter        String value to be converted.
-     * @return        Converted value.
-     * @throws  <code>ResourceException</code>, in case of the mismatch of parameter values or
-     *                a security violation.
-     */
-    private Object convertType(Class type, String parameter) throws ResourceException{
-            try {
-                String typeName = type.getName();
-                if ( typeName.equals("java.lang.String") || typeName.equals("java.lang.Object")) {
-                        return parameter;
-                }
-
-                if (typeName.equals("int") || typeName.equals("java.lang.Integer")) {
-                        return new Integer(parameter);
-                }
-
-                if (typeName.equals("short") || typeName.equals("java.lang.Short")) {
-                        return new Short(parameter);
-                }
-
-                if (typeName.equals("byte") || typeName.equals("java.lang.Byte")) {
-                        return new Byte(parameter);
-                }
-
-                if (typeName.equals("long") || typeName.equals("java.lang.Long")) {
-                        return new Long(parameter);
-                }
-
-                if (typeName.equals("float") || typeName.equals("java.lang.Float")) {
-                        return new Float(parameter);
-                }
-
-                if (typeName.equals("double") || typeName.equals("java.lang.Double")) {
-                        return new Double(parameter);
-                }
-
-                if (typeName.equals("java.math.BigDecimal")) {
-                        return new java.math.BigDecimal(parameter);
-                }
-
-                if (typeName.equals("java.math.BigInteger")) {
-                        return new java.math.BigInteger(parameter);
-                }
-
-                if (typeName.equals("boolean") || typeName.equals("java.lang.Boolean")) {
-                        return new Boolean(parameter);
-            }
-
-                return parameter;
-            } catch (NumberFormatException nfe) {
-            _logger.log(Level.SEVERE, "jdbc.exc_nfe", parameter);
-                throw new ResourceException(parameter+": Not a valid value for this method ");
-            }
-    }
-
-}
-
diff --git a/appserver/tests/appserv-tests/devtests/connector/v3/redeployRar/ra/src/com/sun/jdbcra/util/SecurityUtils.java b/appserver/tests/appserv-tests/devtests/connector/v3/redeployRar/ra/src/com/sun/jdbcra/util/SecurityUtils.java
deleted file mode 100755
index bed9dd7..0000000
--- a/appserver/tests/appserv-tests/devtests/connector/v3/redeployRar/ra/src/com/sun/jdbcra/util/SecurityUtils.java
+++ /dev/null
@@ -1,135 +0,0 @@
-/*
- * Copyright (c) 2003, 2018 Oracle and/or its affiliates. All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v. 2.0, which is available at
- * http://www.eclipse.org/legal/epl-2.0.
- *
- * This Source Code may also be made available under the following Secondary
- * Licenses when the conditions for such availability set forth in the
- * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
- * version 2 with the GNU Classpath Exception, which is available at
- * https://www.gnu.org/software/classpath/license.html.
- *
- * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
- */
-
-package com.sun.jdbcra.util;
-
-import javax.security.auth.Subject;
-import java.security.AccessController;
-import java.security.PrivilegedAction;
-import jakarta.resource.spi.security.PasswordCredential;
-import jakarta.resource.ResourceException;
-import jakarta.resource.spi.*;
-import com.sun.jdbcra.spi.ConnectionRequestInfo;
-import java.util.Set;
-import java.util.Iterator;
-
-/**
- * SecurityUtils for Generic JDBC Connector.
- *
- * @version        1.0, 02/07/22
- * @author        Evani Sai Surya Kiran
- */
-public class SecurityUtils {
-
-    /**
-     * This method returns the <code>PasswordCredential</code> object, given
-     * the <code>ManagedConnectionFactory</code>, subject and the
-     * <code>ConnectionRequestInfo</code>. It first checks if the
-     * <code>ConnectionRequestInfo</code> is null or not. If it is not null,
-     * it constructs a <code>PasswordCredential</code> object with
-     * the user and password fields from the <code>ConnectionRequestInfo</code> and returns this
-     * <code>PasswordCredential</code> object. If the <code>ConnectionRequestInfo</code>
-     * is null, it retrieves the <code>PasswordCredential</code> objects from
-     * the <code>Subject</code> parameter and returns the first
-     * <code>PasswordCredential</code> object which contains a
-     * <code>ManagedConnectionFactory</code>, instance equivalent
-     * to the <code>ManagedConnectionFactory</code>, parameter.
-     *
-     * @param        mcf        <code>ManagedConnectionFactory</code>
-     * @param        subject        <code>Subject</code>
-     * @param        info        <code>ConnectionRequestInfo</code>
-     * @return        <code>PasswordCredential</code>
-     * @throws        <code>ResourceException</code>        generic exception if operation fails
-     * @throws        <code>SecurityException</code>        if access to the <code>Subject</code> instance is denied
-     */
-    public static PasswordCredential getPasswordCredential(final ManagedConnectionFactory mcf,
-         final Subject subject, jakarta.resource.spi.ConnectionRequestInfo info) throws ResourceException {
-
-        if (info == null) {
-            if (subject == null) {
-                return null;
-            } else {
-                PasswordCredential pc = (PasswordCredential) AccessController.doPrivileged
-                    (new PrivilegedAction() {
-                        public Object run() {
-                            Set passwdCredentialSet = subject.getPrivateCredentials(PasswordCredential.class);
-                            Iterator iter = passwdCredentialSet.iterator();
-                            while (iter.hasNext()) {
-                                PasswordCredential temp = (PasswordCredential) iter.next();
-                                if (temp.getManagedConnectionFactory().equals(mcf)) {
-                                    return temp;
-                                }
-                            }
-                            return null;
-                        }
-                    });
-                if (pc == null) {
-                    throw new jakarta.resource.spi.SecurityException("No PasswordCredential found");
-                } else {
-                    return pc;
-                }
-            }
-        } else {
-            com.sun.jdbcra.spi.ConnectionRequestInfo cxReqInfo = (com.sun.jdbcra.spi.ConnectionRequestInfo) info;
-            PasswordCredential pc = new PasswordCredential(cxReqInfo.getUser(), cxReqInfo.getPassword().toCharArray());
-            pc.setManagedConnectionFactory(mcf);
-            return pc;
-        }
-    }
-
-    /**
-     * Returns true if two strings are equal; false otherwise
-     *
-     * @param        str1        <code>String</code>
-     * @param        str2        <code>String</code>
-     * @return        true        if the two strings are equal
-     *                false        otherwise
-     */
-    static private boolean isEqual(String str1, String str2) {
-        if (str1 == null) {
-            return (str2 == null);
-        } else {
-            return str1.equals(str2);
-        }
-    }
-
-    /**
-     * Returns true if two <code>PasswordCredential</code> objects are equal; false otherwise
-     *
-     * @param        pC1        <code>PasswordCredential</code>
-     * @param        pC2        <code>PasswordCredential</code>
-     * @return        true        if the two PasswordCredentials are equal
-     *                false        otherwise
-     */
-    static public boolean isPasswordCredentialEqual(PasswordCredential pC1, PasswordCredential pC2) {
-        if (pC1 == pC2)
-            return true;
-        if(pC1 == null || pC2 == null)
-            return (pC1 == pC2);
-        if (!isEqual(pC1.getUserName(), pC2.getUserName())) {
-            return false;
-        }
-        String p1 = null;
-        String p2 = null;
-        if (pC1.getPassword() != null) {
-            p1 = new String(pC1.getPassword());
-        }
-        if (pC2.getPassword() != null) {
-            p2 = new String(pC2.getPassword());
-        }
-        return (isEqual(p1, p2));
-    }
-}
diff --git a/appserver/tests/appserv-tests/devtests/connector/v3/redeployRar/ra/src/com/sun/jdbcra/util/build.xml b/appserver/tests/appserv-tests/devtests/connector/v3/redeployRar/ra/src/com/sun/jdbcra/util/build.xml
deleted file mode 100755
index f060e7d..0000000
--- a/appserver/tests/appserv-tests/devtests/connector/v3/redeployRar/ra/src/com/sun/jdbcra/util/build.xml
+++ /dev/null
@@ -1,48 +0,0 @@
-<?xml version="1.0"?>
-<!--
-
-    Copyright (c) 2017, 2018 Oracle and/or its affiliates. All rights reserved.
-
-    This program and the accompanying materials are made available under the
-    terms of the Eclipse Public License v. 2.0, which is available at
-    http://www.eclipse.org/legal/epl-2.0.
-
-    This Source Code may also be made available under the following Secondary
-    Licenses when the conditions for such availability set forth in the
-    Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
-    version 2 with the GNU Classpath Exception, which is available 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 name="jdbc_connector" basedir="." default="build">
-  <property name="pkg.dir" value="com/sun/gjc/util"/>
-
-  <target name="clean">
-    <ant antfile="build.xml" dir="${gjc.home}/bin" target="clean"/>
-  </target>
-
-  <target name="compile">
-    <ant antfile="build.xml" dir="${gjc.home}/bin" target="compile"/>
-  </target>
-
-  <target name="package">
-    <mkdir dir="${dist.dir}/${pkg.dir}"/>
-      <jar jarfile="${dist.dir}/${pkg.dir}/util.jar" basedir="${class.dir}"
-        includes="${pkg.dir}/**/*"/>
-  </target>
-
-  <target name="compile13" depends="compile"/>
-  <target name="compile14" depends="compile"/>
-
-  <target name="package13" depends="package"/>
-  <target name="package14" depends="package"/>
-
-  <target name="build13" depends="compile13, package13"/>
-  <target name="build14" depends="compile14, package14"/>
-
-  <target name="build" depends="build13, build14"/>
-
-</project>
diff --git a/appserver/tests/appserv-tests/devtests/connector/v3/redeployRar/servlet/SimpleServlet.java b/appserver/tests/appserv-tests/devtests/connector/v3/redeployRar/servlet/SimpleServlet.java
index c838d9d..cb52a17 100644
--- a/appserver/tests/appserv-tests/devtests/connector/v3/redeployRar/servlet/SimpleServlet.java
+++ b/appserver/tests/appserv-tests/devtests/connector/v3/redeployRar/servlet/SimpleServlet.java
@@ -61,11 +61,11 @@
                 //do not continue if one test failed
                 if (!pass) {
                         res = "SOME TESTS FAILED";
-                        System.out.println("Redeploy Connector 1.5 test - Version : "+ versionToTest + " FAIL");
+                        System.out.println("Redeploy Connector test - Version : "+ versionToTest + " FAIL");
             out.println("TEST:FAIL");
                 } else {
                         res  = "ALL TESTS PASSED";
-                        System.out.println("Redeploy Connector 1.5 test - Version : "+ versionToTest + " PASS");
+                        System.out.println("Redeploy Connector test - Version : "+ versionToTest + " PASS");
             out.println("TEST:PASS");
                 }
         } catch (Exception ex) {
@@ -73,7 +73,7 @@
             ex.printStackTrace();
             res = "TEST FAILED";
         }finally{
-            out.println("Redeploy Connector 1.5");
+            out.println("Redeploy Connector");
             out.println("END_OF_TEST");
         }
 
diff --git a/appserver/tests/appserv-tests/devtests/connector/v3/redeployRar/versions/ver1/testjdbcra.rar b/appserver/tests/appserv-tests/devtests/connector/v3/redeployRar/versions/ver1/testjdbcra.rar
deleted file mode 100644
index fc2e8b0..0000000
--- a/appserver/tests/appserv-tests/devtests/connector/v3/redeployRar/versions/ver1/testjdbcra.rar
+++ /dev/null
Binary files differ
diff --git a/appserver/tests/appserv-tests/devtests/connector/v3/redeployRar/versions/ver2/testjdbcra.rar b/appserver/tests/appserv-tests/devtests/connector/v3/redeployRar/versions/ver2/testjdbcra.rar
deleted file mode 100644
index e85292a..0000000
--- a/appserver/tests/appserv-tests/devtests/connector/v3/redeployRar/versions/ver2/testjdbcra.rar
+++ /dev/null
Binary files differ
diff --git a/appserver/tests/appserv-tests/devtests/connector/v3/securitymapweb/build.xml b/appserver/tests/appserv-tests/devtests/connector/v3/securitymapweb/build.xml
index 93ce3f8..156f70b 100755
--- a/appserver/tests/appserv-tests/devtests/connector/v3/securitymapweb/build.xml
+++ b/appserver/tests/appserv-tests/devtests/connector/v3/securitymapweb/build.xml
@@ -29,7 +29,7 @@
   &commonBuild;
   &testproperties;
 
-  <target name="all" depends="clean,build,deploy,run,undeploy"/>
+  <target name="all" depends="clean,build,deploy,run,undeploy" />
 
   <target name="clean" depends="init-common">
     <antcall target="clean-common" />
@@ -37,145 +37,151 @@
 
   <target name="compile">
     <antcall target="compile-common">
-      <param name="src" value="client"/>
+      <param name="src" value="client" />
     </antcall>
   </target>
 
   <target name="build" depends="init-common,compile">
-    <mkdir dir="${assemble.dir}"/>
+    <mkdir dir="${assemble.dir}" />
     <copy todir="${assemble.dir}">
-      <fileset dir="web"/>
+      <fileset dir="web" />
     </copy>
-    <jar destfile="${build.base.dir}/${appname}.war" basedir="${assemble.dir}"/>
+    <jar destfile="${build.base.dir}/${appname}.war" basedir="${assemble.dir}" />
   </target>
 
   <target name="deploy-war" depends="init-common">
     <exec executable="${ASADMIN}" failonerror="false">
-      <arg line="deploy"/>
-      <arg line="${as.props}"/>
-      <arg line="${build.base.dir}/${appname}.war"/>
+      <arg line="deploy" />
+      <arg line="${as.props}" />
+      <arg line="${build.base.dir}/${appname}.war" />
     </exec>
   </target>
 
   <target name="deploy" depends="init-common">
-    <antcall target="create-ra-config"/>
-    <antcall target="setup-pool"/>
-    <antcall target="create-users"/>
-    <antcall target="create-security-maps"/>
-    <antcall target="deploy-war"/>
+    <antcall target="create-ra-config" />
+    <antcall target="setup-pool" />
+    <antcall target="create-users" />
+    <antcall target="create-security-maps" />
+    <antcall target="deploy-war" />
   </target>
 
-    <target name="create-ra-config" depends="init-common">
-            <antcall target="asadmin-common">
-               <param name="admin.command" value="create-resource-adapter-config  --property RAProperty=VALID"/>
-               <param name="operand.props" value="myds"/>
-            </antcall>
-        </target>
+  <target name="create-ra-config" depends="init-common">
+    <antcall target="asadmin-common">
+      <param name="admin.command"
+             value="create-resource-adapter-config  --property RAProperty=VALID"
+      />
+      <param name="operand.props" value="myds" />
+    </antcall>
+  </target>
 
-        <target name="delete-ra-config" depends="init-common">
-            <antcall target="asadmin-common">
-               <param name="admin.command" value="delete-resource-adapter-config"/>
-               <param name="operand.props" value="myds"/>
-            </antcall>
-   <!--     <antcall target="reconfig-common"/>-->
-        </target>
+  <target name="delete-ra-config" depends="init-common">
+    <antcall target="asadmin-common">
+      <param name="admin.command" value="delete-resource-adapter-config" />
+      <param name="operand.props" value="myds" />
+    </antcall>
+  </target>
 
 
   <target name="setup-pool" depends="init-common">
 
     <exec executable="${ASADMIN}" failonerror="false">
-      <arg line="deploy"/>
-      <arg line="${as.props}"/>
-      <arg line="myds.rar"/>
+      <arg line="deploy" />
+      <arg line="${as.props}" />
+      <arg line="${bundles.dir}/connectors-ra-redeploy-rars.rar" />
     </exec>
 
     <antcall target="create-connector-connpool-common">
-      <param name="ra.name" value="myds"/>
-      <param name="connection.defname" value="javax.sql.DataSource"/>
-      <param name="connector.conpool.name" value="${poolname}"/>
+      <param name="ra.name" value="connectors-ra-redeploy-rars" />
+      <param name="connection.defname" value="javax.sql.DataSource" />
+      <param name="connector.conpool.name" value="${poolname}" />
     </antcall>
 
     <exec executable="${ASADMIN}" failonerror="false">
-      <arg line="set"/>
-      <arg line="${as.props}"/>
-      <arg line="domain.resources.connector-connection-pool.${poolname}.property.ClassName=org.apache.derby.jdbc.ClientXADataSource"/>
+      <arg line="set" />
+      <arg line="${as.props}" />
+      <arg line="domain.resources.connector-connection-pool.${poolname}.property.ClassName=org.apache.derby.jdbc.ClientXADataSource"
+      />
     </exec>
 
     <exec executable="${ASADMIN}" failonerror="false">
-      <arg line="set"/>
-      <arg line="${as.props}"/>
-      <arg line="domain.resources.connector-connection-pool.${poolname}.property.DataBaseName=testdb"/>
+      <arg line="set" />
+      <arg line="${as.props}" />
+      <arg line="domain.resources.connector-connection-pool.${poolname}.property.DataBaseName=testdb"
+      />
     </exec>
 
     <exec executable="${ASADMIN}" failonerror="false">
-      <arg line="set"/>
-      <arg line="${as.props}"/>
-      <arg line="domain.resources.connector-connection-pool.${poolname}.property.ServerName=localhost"/>
+      <arg line="set" />
+      <arg line="${as.props}" />
+      <arg line="domain.resources.connector-connection-pool.${poolname}.property.ServerName=localhost"
+      />
     </exec>
 
     <exec executable="${ASADMIN}" failonerror="false">
-      <arg line="set"/>
-      <arg line="${as.props}"/>
-      <arg line="domain.resources.connector-connection-pool.${poolname}.property.PortNumber=1527"/>
+      <arg line="set" />
+      <arg line="${as.props}" />
+      <arg line="domain.resources.connector-connection-pool.${poolname}.property.PortNumber=1527" />
     </exec>
 
     <exec executable="${ASADMIN}" failonerror="false">
-      <arg line="set"/>
-      <arg line="${as.props}"/>
-      <arg line="domain.resources.connector-connection-pool.${poolname}.property.User=${db.user}"/>
+      <arg line="set" />
+      <arg line="${as.props}" />
+      <arg line="domain.resources.connector-connection-pool.${poolname}.property.User=${db.user}" />
     </exec>
 
     <exec executable="${ASADMIN}" failonerror="false">
-      <arg line="set"/>
-      <arg line="${as.props}"/>
-      <arg line="domain.resources.connector-connection-pool.${poolname}.property.Password=${db.pwd}"/>
+      <arg line="set" />
+      <arg line="${as.props}" />
+      <arg line="domain.resources.connector-connection-pool.${poolname}.property.Password=${db.pwd}"
+      />
     </exec>
 
-     <exec executable="${ASADMIN}" failonerror="false">
-      <arg line="set"/>
-      <arg line="${as.props}"/>
-      <arg line="domain.resources.connector-connection-pool.${poolname}.property.ConnectionAttributes=;create=true"/>
+    <exec executable="${ASADMIN}" failonerror="false">
+      <arg line="set" />
+      <arg line="${as.props}" />
+      <arg line="domain.resources.connector-connection-pool.${poolname}.property.ConnectionAttributes=;create=true"
+      />
     </exec>
 
 
     <antcall target="create-connector-resource-common">
-      <param name="connector.conpool.name" value="${poolname}"/>
-      <param name="connector.jndi.name" value="eis/${poolname}"/>
+      <param name="connector.conpool.name" value="${poolname}" />
+      <param name="connector.jndi.name" value="eis/${poolname}" />
     </antcall>
   </target>
 
   <target name="delete-pool" depends="init-common">
 
     <antcall target="delete-connector-resource-common">
-      <param name="connector.jndi.name" value="eis/${poolname}"/>
+      <param name="connector.jndi.name" value="eis/${poolname}" />
     </antcall>
 
     <antcall target="delete-connector-connpool-common">
-      <param name="connector.conpool.name" value="${poolname}"/>
+      <param name="connector.conpool.name" value="${poolname}" />
     </antcall>
 
     <exec executable="${ASADMIN}" failonerror="false">
-      <arg line="undeploy"/>
-      <arg line="${as.props}"/>
-      <arg line="myds"/>
+      <arg line="undeploy" />
+      <arg line="${as.props}" />
+      <arg line="connectors-ra-redeploy-rars" />
     </exec>
   </target>
 
-  <target name="execute-sql" depends="init-common" >
-    <echo message="***** LD_LIBRARY_PATH=${env.LD_LIBRARY_PATH}  *****"/>
-    <echo message="url jdbc:derby://${db.host}:${db.port}/${db.name};create=true"/>
-    <echo message="userid ${database.user}"/>
-    <echo message="password ${database.password}"/>
-    <sql
-      driver="${db.driver}"
-      url="jdbc:derby://${db.host}:${db.port}/${db.name};create=true"
-      userid="${database.user}"
-      password="${database.password}"
-      onerror="continue"
-      print="yes"
-      classpath="${s1astest.classpath}">
+  <target name="execute-sql" depends="init-common">
+    <echo message="***** LD_LIBRARY_PATH=${env.LD_LIBRARY_PATH}  *****" />
+    <echo message="url jdbc:derby://${db.host}:${db.port}/${db.name};create=true" />
+    <echo message="userid ${database.user}" />
+    <echo message="password ${database.password}" />
+    <sql driver="${db.driver}"
+         url="jdbc:derby://${db.host}:${db.port}/${db.name};create=true"
+         userid="${database.user}"
+         password="${database.password}"
+         onerror="continue"
+         print="yes"
+         classpath="${s1astest.classpath}"
+    >
       <fileset dir=".">
-        <include name="**/*${sql.file.type}*${db.type}*.sql"/>
+        <include name="**/*${sql.file.type}*${db.type}*.sql" />
       </fileset>
     </sql>
   </target>
@@ -183,286 +189,289 @@
 
   <target name="create-table" depends="init-common">
 
-    <property name="sql.file.type" value="create"/>
-    <antcall target="execute-common"/>
+    <property name="sql.file.type" value="create" />
+    <antcall target="execute-common" />
 
   </target>
 
   <target name="drop-table" depends="init-common">
-    <property name="sql.file.type" value="drop"/>
-    <antcall target="execute-common"/>
+    <property name="sql.file.type" value="drop" />
+    <antcall target="execute-common" />
   </target>
 
   <target name="execute-common">
 
     <antcall target="execute-sql">
-      <param name="database.user" value="dbmap1"/>
-      <param name="database.password" value="dbmap1"/>
+      <param name="database.user" value="dbmap1" />
+      <param name="database.password" value="dbmap1" />
     </antcall>
 
     <antcall target="execute-sql">
-      <param name="database.user" value="dbmap2"/>
-      <param name="database.password" value="dbmap2"/>
+      <param name="database.user" value="dbmap2" />
+      <param name="database.password" value="dbmap2" />
     </antcall>
 
     <antcall target="execute-sql">
-      <param name="database.user" value="dbmap3"/>
-      <param name="database.password" value="dbmap3"/>
+      <param name="database.user" value="dbmap3" />
+      <param name="database.password" value="dbmap3" />
     </antcall>
 
     <antcall target="execute-sql">
-      <param name="database.user" value="dbmap4"/>
-      <param name="database.password" value="dbmap4"/>
+      <param name="database.user" value="dbmap4" />
+      <param name="database.password" value="dbmap4" />
     </antcall>
 
     <antcall target="execute-sql">
-      <param name="database.user" value="dbmap5"/>
-      <param name="database.password" value="dbmap5"/>
+      <param name="database.user" value="dbmap5" />
+      <param name="database.password" value="dbmap5" />
     </antcall>
 
     <antcall target="execute-sql">
-      <param name="database.user" value="dbmap6"/>
-      <param name="database.password" value="dbmap6"/>
+      <param name="database.user" value="dbmap6" />
+      <param name="database.password" value="dbmap6" />
     </antcall>
   </target>
 
-<!--
-  foo1/foo1 eng:employee
-  foo2/foo2 eng:contractor
-  bar1/bar1 admin:employee
-  bar2/bar2 wr:contractor
-  foobar/foobar manager:employee
-  barfoo/barfoo hr:employee
-  foofoo/foofoo support:contractor
-  barbar/barbar security
-  -->
   <target name="create-users">
-
     <antcall target="create-users-common">
-      <param name="user.password" value="foo1"/>
-      <param name="create.user.args" value="--groups eng:employee foo1"/>
+      <param name="user.password" value="foo1" />
+      <param name="create.user.args" value="--groups eng:employee foo1" />
     </antcall>
 
     <antcall target="create-users-common">
-      <param name="user.password" value="foo2"/>
-      <param name="create.user.args" value="--groups eng:employee foo2"/>
+      <param name="user.password" value="foo2" />
+      <param name="create.user.args" value="--groups eng:employee foo2" />
     </antcall>
 
     <antcall target="create-users-common">
-      <param name="user.password" value="foo3"/>
-      <param name="create.user.args" value="--groups eng:contractor foo3"/>
+      <param name="user.password" value="foo3" />
+      <param name="create.user.args" value="--groups eng:contractor foo3" />
     </antcall>
 
     <antcall target="create-users-common">
-      <param name="user.password" value="bar1"/>
-      <param name="create.user.args" value="--groups admin:employee bar1"/>
+      <param name="user.password" value="bar1" />
+      <param name="create.user.args" value="--groups admin:employee bar1" />
     </antcall>
 
     <antcall target="create-users-common">
-      <param name="user.password" value="bar2"/>
-      <param name="create.user.args" value="--groups admin:contractor bar2"/>
+      <param name="user.password" value="bar2" />
+      <param name="create.user.args" value="--groups admin:contractor bar2" />
     </antcall>
 
     <antcall target="create-users-common">
-      <param name="user.password" value="foobar"/>
-      <param name="create.user.args" value="--groups manager:employee foobar"/>
+      <param name="user.password" value="foobar" />
+      <param name="create.user.args" value="--groups manager:employee foobar" />
     </antcall>
 
     <antcall target="create-users-common">
-      <param name="user.password" value="barfoo"/>
-      <param name="create.user.args" value="--groups hr:employee barfoo"/>
+      <param name="user.password" value="barfoo" />
+      <param name="create.user.args" value="--groups hr:employee barfoo" />
     </antcall>
 
     <antcall target="create-users-common">
-      <param name="user.password" value="foofoo"/>
-      <param name="create.user.args" value="--groups support:contractor foofoo"/>
+      <param name="user.password" value="foofoo" />
+      <param name="create.user.args" value="--groups support:contractor foofoo" />
     </antcall>
 
     <antcall target="create-users-common">
-      <param name="user.password" value="barbar"/>
-      <param name="create.user.args" value="--groups security barbar"/>
+      <param name="user.password" value="barbar" />
+      <param name="create.user.args" value="--groups security barbar" />
     </antcall>
   </target>
 
   <target name="create-users-common" depends="init-common">
-        <echo message="AS_ADMIN_PASSWORD=${admin.password}${line.separator}" file="${admin.password.file}" append="false"/>
-        <echo message="AS_ADMIN_USERPASSWORD=${user.password}${line.separator}" file="${admin.password.file}" append="true"/>
+    <echo message="AS_ADMIN_PASSWORD=${admin.password}${line.separator}"
+          file="${admin.password.file}"
+          append="false"
+    />
+    <echo message="AS_ADMIN_USERPASSWORD=${user.password}${line.separator}"
+          file="${admin.password.file}"
+          append="true"
+    />
     <exec executable="${ASADMIN}" failonerror="false">
-      <arg line="create-file-user"/>
-      <arg line="${as.props}"/>
-      <arg line="${create.user.args}"/>
+      <arg line="create-file-user" />
+      <arg line="${as.props}" />
+      <arg line="${create.user.args}" />
     </exec>
   </target>
 
   <target name="delete-users">
     <antcall target="delete-users-common">
-      <param name="username" value="foo1"/>
+      <param name="username" value="foo1" />
     </antcall>
 
     <antcall target="delete-users-common">
-      <param name="username" value="foo2"/>
+      <param name="username" value="foo2" />
     </antcall>
 
     <antcall target="delete-users-common">
-      <param name="username" value="foo3"/>
+      <param name="username" value="foo3" />
     </antcall>
 
     <antcall target="delete-users-common">
-      <param name="username" value="bar1"/>
+      <param name="username" value="bar1" />
     </antcall>
 
     <antcall target="delete-users-common">
-      <param name="username" value="bar2"/>
+      <param name="username" value="bar2" />
     </antcall>
 
     <antcall target="delete-users-common">
-      <param name="username" value="foobar"/>
+      <param name="username" value="foobar" />
     </antcall>
 
     <antcall target="delete-users-common">
-      <param name="username" value="barfoo"/>
+      <param name="username" value="barfoo" />
     </antcall>
 
     <antcall target="delete-users-common">
-      <param name="username" value="foofoo"/>
+      <param name="username" value="foofoo" />
     </antcall>
 
     <antcall target="delete-users-common">
-      <param name="username" value="barbar"/>
+      <param name="username" value="barbar" />
     </antcall>
   </target>
 
   <target name="delete-users-common" depends="init-common">
     <exec executable="${ASADMIN}" failonerror="false">
-      <arg line="delete-file-user"/>
-      <arg line="${as.props}"/>
-      <arg line="${username}"/>
+      <arg line="delete-file-user" />
+      <arg line="${as.props}" />
+      <arg line="${username}" />
     </exec>
   </target>
 
   <target name="create-security-maps">
     <antcall target="create-security-maps-common">
-      <param name="principals" value="--principals foo1,foo2"/>
-      <param name="mappeduser" value="dbmap1"/>
-      <param name="mappedpassword" value="dbmap1"/>
-      <param name="map.name" value="map1"/>
+      <param name="principals" value="--principals foo1,foo2" />
+      <param name="mappeduser" value="dbmap1" />
+      <param name="mappedpassword" value="dbmap1" />
+      <param name="map.name" value="map1" />
     </antcall>
 
     <antcall target="create-security-maps-common">
-      <param name="principals" value="--usergroups hr,manager"/>
-      <param name="mappeduser" value="dbmap2"/>
-      <param name="mappedpassword" value="dbmap2"/>
-      <param name="map.name" value="map2"/>
+      <param name="principals" value="--usergroups hr,manager" />
+      <param name="mappeduser" value="dbmap2" />
+      <param name="mappedpassword" value="dbmap2" />
+      <param name="map.name" value="map2" />
     </antcall>
 
     <antcall target="create-security-maps-common">
-      <param name="principals" value="--usergroups employee,admin"/>
-      <param name="mappeduser" value="dbmap3"/>
-      <param name="mappedpassword" value="dbmap3"/>
-      <param name="map.name" value="map3"/>
+      <param name="principals" value="--usergroups employee,admin" />
+      <param name="mappeduser" value="dbmap3" />
+      <param name="mappedpassword" value="dbmap3" />
+      <param name="map.name" value="map3" />
     </antcall>
 
     <antcall target="create-security-maps-common">
-      <param name="principals" value="--usergroups contractor"/>
-      <param name="mappeduser" value="dbmap4"/>
-      <param name="mappedpassword" value="dbmap4"/>
-      <param name="map.name" value="map4"/>
+      <param name="principals" value="--usergroups contractor" />
+      <param name="mappeduser" value="dbmap4" />
+      <param name="mappedpassword" value="dbmap4" />
+      <param name="map.name" value="map4" />
     </antcall>
 
     <antcall target="create-security-maps-common">
-      <param name="principals" value="--principals *"/>
-      <param name="mappeduser" value="dbmap5"/>
-      <param name="mappedpassword" value="dbmap5"/>
-      <param name="map.name" value="map5"/>
+      <param name="principals" value="--principals *" />
+      <param name="mappeduser" value="dbmap5" />
+      <param name="mappedpassword" value="dbmap5" />
+      <param name="map.name" value="map5" />
     </antcall>
 
     <antcall target="create-security-maps-common">
-      <param name="principals" value="--usergroups *"/>
-      <param name="mappeduser" value="dbmap6"/>
-      <param name="mappedpassword" value="dbmap6"/>
-      <param name="map.name" value="map6"/>
+      <param name="principals" value="--usergroups *" />
+      <param name="mappeduser" value="dbmap6" />
+      <param name="mappedpassword" value="dbmap6" />
+      <param name="map.name" value="map6" />
     </antcall>
 
   </target>
 
   <target name="delete-security-maps">
     <antcall target="delete-security-maps-common">
-      <param name="map.name" value="map1"/>
+      <param name="map.name" value="map1" />
     </antcall>
 
     <antcall target="delete-security-maps-common">
-      <param name="map.name" value="map2"/>
+      <param name="map.name" value="map2" />
     </antcall>
 
     <antcall target="delete-security-maps-common">
-      <param name="map.name" value="map3"/>
+      <param name="map.name" value="map3" />
     </antcall>
 
     <antcall target="delete-security-maps-common">
-      <param name="map.name" value="map4"/>
+      <param name="map.name" value="map4" />
     </antcall>
 
     <antcall target="delete-security-maps-common">
-      <param name="map.name" value="map5"/>
+      <param name="map.name" value="map5" />
     </antcall>
 
     <antcall target="delete-security-maps-common">
-      <param name="map.name" value="map6"/>
+      <param name="map.name" value="map6" />
     </antcall>
   </target>
 
   <target name="create-security-maps-common" depends="init-common">
-    <echo message="AS_ADMIN_PASSWORD=${admin.password}${line.separator}" file="${admin.password.file}" append="false"/>
-        <echo message="AS_ADMIN_MAPPEDPASSWORD=${mappedpassword}${line.separator}" file="${admin.password.file}" append="true"/>
+    <echo message="AS_ADMIN_PASSWORD=${admin.password}${line.separator}"
+          file="${admin.password.file}"
+          append="false"
+    />
+    <echo message="AS_ADMIN_MAPPEDPASSWORD=${mappedpassword}${line.separator}"
+          file="${admin.password.file}"
+          append="true"
+    />
     <exec executable="${ASADMIN}" failonerror="false">
-      <arg line="create-connector-security-map"/>
-      <arg line="${principals}"/>
-      <arg line="--poolname ${poolname}"/>
-      <arg line="--passwordfile ${admin.password.file}"/>
-      <arg line="--mappedusername ${mappeduser}"/>
-      <arg line="${map.name}"/>
+      <arg line="create-connector-security-map" />
+      <arg line="${principals}" />
+      <arg line="--poolname ${poolname}" />
+      <arg line="--passwordfile ${admin.password.file}" />
+      <arg line="--mappedusername ${mappeduser}" />
+      <arg line="${map.name}" />
     </exec>
   </target>
 
   <target name="delete-security-maps-common" depends="init-common">
     <exec executable="${ASADMIN}" failonerror="false">
-      <arg line="delete-connector-security-map"/>
-      <arg line="${as.props}"/>
-      <arg line="--poolname ${poolname}"/>
-      <arg line="${map.name}"/>
+      <arg line="delete-connector-security-map" />
+      <arg line="${as.props}" />
+      <arg line="--poolname ${poolname}" />
+      <arg line="${map.name}" />
     </exec>
   </target>
 
   <target name="run" depends="init-common">
-    <antcall target="create-table"/>
+    <antcall target="create-table" />
     <java classname="com.sun.ejte.j2ee.connector.securitymapweb.WebTest"
-      classpath="${s1astest.classpath}" fork="true">
-      <arg line="${db.driver}"/>
+          classpath="${s1astest.classpath}"
+          fork="true"
+    >
+      <arg line="${db.driver}" />
     </java>
-    <antcall target="drop-table"/>
+    <antcall target="drop-table" />
 
     <antcall target="checkReporting-common">
-      <param name="test.name" value="${appname}"/>
-      <param name="test.description" value="connector-security-map web tests"/>
+      <param name="test.name" value="${appname}" />
+      <param name="test.description" value="connector-security-map web tests" />
     </antcall>
   </target>
 
   <target name="undeploy-war" depends="init-common">
     <exec executable="${ASADMIN}" failonerror="false">
-      <arg line="undeploy"/>
-      <arg line="${as.props}"/>
-      <arg line="${appname}"/>
+      <arg line="undeploy" />
+      <arg line="${as.props}" />
+      <arg line="${appname}" />
     </exec>
   </target>
 
   <target name="undeploy" depends="init-common">
-    <antcall target="undeploy-war"/>
-    <antcall target="delete-pool"/>
-    <antcall target="delete-ra-config"/>
-    <antcall target="delete-users"/>
+    <antcall target="undeploy-war" />
+    <antcall target="delete-pool" />
+    <antcall target="delete-ra-config" />
+    <antcall target="delete-users" />
   </target>
 
   <target name="usage">
-    <antcall target="usage-common"/>
+    <antcall target="usage-common" />
   </target>
 </project>
diff --git a/appserver/tests/appserv-tests/devtests/connector/v3/securitymapweb/myds.rar b/appserver/tests/appserv-tests/devtests/connector/v3/securitymapweb/myds.rar
deleted file mode 100644
index ee950b8..0000000
--- a/appserver/tests/appserv-tests/devtests/connector/v3/securitymapweb/myds.rar
+++ /dev/null
Binary files differ
diff --git a/appserver/tests/appserv-tests/devtests/connector/v3/serializabletest/rar/descriptor/blackbox-tx.xml b/appserver/tests/appserv-tests/devtests/connector/v3/serializabletest/rar/descriptor/blackbox-tx.xml
index 97e8403..f89f869 100755
--- a/appserver/tests/appserv-tests/devtests/connector/v3/serializabletest/rar/descriptor/blackbox-tx.xml
+++ b/appserver/tests/appserv-tests/devtests/connector/v3/serializabletest/rar/descriptor/blackbox-tx.xml
@@ -2,6 +2,7 @@
 <!--
 
     Copyright (c) 2017, 2018 Oracle and/or its affiliates. All rights reserved.
+    Copyright (c) 2022 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
@@ -17,13 +18,13 @@
 
 -->
 
-<connector xmlns="http://java.sun.com/xml/ns/j2ee"
-           xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-           xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee
-           http://java.sun.com/xml/ns/j2ee/connector_1_5.xsd"
-           version="1.5">
-
-
+<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/jakartaee_9.xsd
+       https://jakarta.ee/xml/ns/jakartaee/connector_2_0.xsd"
+    version="2.0"
+>
     <display-name>BlackBoxLocalTx</display-name>
     <vendor-name>Java Software</vendor-name>
     <eis-type>JDBC Database</eis-type>
diff --git a/appserver/tests/appserv-tests/devtests/connector/web2connector/build.xml b/appserver/tests/appserv-tests/devtests/connector/web2connector/build.xml
index f1b9f0a..dfe5965 100644
--- a/appserver/tests/appserv-tests/devtests/connector/web2connector/build.xml
+++ b/appserver/tests/appserv-tests/devtests/connector/web2connector/build.xml
@@ -25,196 +25,194 @@
 <!ENTITY database SYSTEM "../config/database.xml">
 ]>
 
-<project name="web2connector" default="usage" basedir=".">
+<project name="web2connector" default="all" basedir=".">
     &database;
     &commonSetup;
     &commonBuild;
     &commonRun;
     &testproperties;
 
-    <target name="all" depends="build, setup, deploy-ear, run-ear,  undeploy-ear, unsetup"/>
+    <target name="all" depends="build, setup, deploy-ear, run-ear,  undeploy-ear, unsetup" />
 
 
-    <target name="clean" depends="init-common">
-      <antcall target="clean-common"/>
-      <ant dir="ra" target="clean"/>
-    </target>
+  <target name="clean" depends="init-common">
+    <antcall target="clean-common" />
+  </target>
 
-    <target name="setup">
-            <antcall target="execute-sql-connector">
-                <param name="sql.file" value="sql/simpleBank.sql"/>
-            </antcall>
+  <target name="setup">
+    <antcall target="execute-sql-connector">
+      <param name="sql.file" value="sql/simpleBank.sql" />
+    </antcall>
 
-            <antcall target="create-ra-config"/>
+    <antcall target="create-ra-config" />
 
-            <antcall target="deploy-rar-common">
-                <param name="rarfile" value="ra/publish/lib/jdbcra.rar"/>
-            </antcall>
-            <antcall target="create-pool"/>
-            <antcall target="create-resource"/>
-            <antcall target="create-admin-object"/>
-    </target>
+    <antcall target="deploy-rar-common">
+      <param name="rarfile"
+             value="${bundles.dir}/connectors-ra-redeploy-rars.rar"
+      />
+    </antcall>
+    <antcall target="create-pool" />
+    <antcall target="create-resource" />
+    <antcall target="create-admin-object" />
+  </target>
 
-    <!-- Standalone jdbcra resource adapter -->
-    <target name="create-pool">
-      <antcall target="create-connector-connpool-common">
-         <param name="ra.name" value="jdbcra"/>
-         <param name="connection.defname" value="javax.sql.DataSource"/>
-         <param name="connector.conpool.name" value="standalone-ra-pool"/>
-         <param name="extra-params" value="--matchconnections=false"/>
-      </antcall>
-      <antcall target="set-oracle-props">
-         <param name="pool.type" value="connector"/>
-         <param name="conpool.name" value="standalone-ra-pool"/>
-      </antcall>
-</target>
+  <!-- Standalone connectors-ra-redeploy-rars resource adapter -->
+  <target name="create-pool">
+    <antcall target="create-connector-connpool-common">
+      <param name="ra.name" value="connectors-ra-redeploy-rars" />
+      <param name="connection.defname" value="javax.sql.DataSource" />
+      <param name="connector.conpool.name" value="standalone-ra-pool" />
+      <param name="extra-params" value="--matchconnections=false" />
+    </antcall>
+    <antcall target="set-oracle-props">
+      <param name="pool.type" value="connector" />
+      <param name="conpool.name" value="standalone-ra-pool" />
+    </antcall>
+  </target>
 
-    <target name="create-resource">
-       <antcall target="create-connector-resource-common">
-          <param name="connector.conpool.name" value="standalone-ra-pool"/>
-          <param name="connector.jndi.name" value="jdbc/ejb-subclassing"/>
-       </antcall>
-     </target>
+  <target name="create-resource">
+    <antcall target="create-connector-resource-common">
+      <param name="connector.conpool.name" value="standalone-ra-pool" />
+      <param name="connector.jndi.name" value="jdbc/ejb-subclassing" />
+    </antcall>
+  </target>
 
 
-     <target name="create-admin-object" depends="init-common">
-         <antcall target="asadmin-common">
-            <param name="admin.command" value="create-admin-object --target ${appserver.instance.name} --restype com.sun.jdbcra.spi.JdbcSetupAdmin --raname jdbcra --property TableName=customer2:JndiName=jdbc/ejb-subclassing:SchemaName=DBUSER:NoOfRows=1"/>
-            <param name="operand.props" value="eis/jdbcAdmin"/>
-         </antcall>
-     </target>
+  <target name="create-admin-object" depends="init-common">
+    <antcall target="asadmin-common">
+      <param name="admin.command"
+             value="create-admin-object --target ${appserver.instance.name} --restype com.sun.jdbcra.spi.JdbcSetupAdmin --raname connectors-ra-redeploy-rars --property TableName=customer2:JndiName=jdbc/ejb-subclassing:SchemaName=DBUSER:NoOfRows=1"
+      />
+      <param name="operand.props" value="eis/jdbcAdmin" />
+    </antcall>
+  </target>
 
-     <target name="delete-admin-object" depends="init-common">
-         <antcall target="asadmin-common">
-            <param name="admin.command" value="delete-admin-object"/>
-            <param name="operand.props" value="--target ${appserver.instance.name} eis/jdbcAdmin"/>
-         </antcall>
-         <!--<antcall target="reconfig-common"/>-->
-     </target>
+  <target name="delete-admin-object" depends="init-common">
+    <antcall target="asadmin-common">
+      <param name="admin.command" value="delete-admin-object" />
+      <param name="operand.props" value="--target ${appserver.instance.name} eis/jdbcAdmin" />
+    </antcall>
+    <!--<antcall target="reconfig-common"/>-->
+  </target>
 
-    <target name="restart">
-    <antcall target="restart-server-instance-common"/>
-    </target>
+  <target name="restart">
+    <antcall target="restart-server-instance-common" />
+  </target>
 
-     <target name="create-ra-config" depends="init-common">
-         <antcall target="asadmin-common">
-            <param name="admin.command" value="create-resource-adapter-config  --property RAProperty=VALID"/>
-            <param name="operand.props" value="jdbcra"/>
-         </antcall>
-     </target>
+  <target name="create-ra-config" depends="init-common">
+    <antcall target="asadmin-common">
+      <param name="admin.command"
+             value="create-resource-adapter-config  --property RAProperty=VALID"
+      />
+      <param name="operand.props" value="connectors-ra-redeploy-rars" />
+    </antcall>
+  </target>
 
-     <target name="delete-ra-config" depends="init-common">
-         <antcall target="asadmin-common">
-            <param name="admin.command" value="delete-resource-adapter-config"/>
-            <param name="operand.props" value="jdbcra"/>
-         </antcall>
-         <!--<antcall target="reconfig-common"/>-->
-     </target>
+  <target name="delete-ra-config" depends="init-common">
+    <antcall target="asadmin-common">
+      <param name="admin.command" value="delete-resource-adapter-config" />
+      <param name="operand.props" value="connectors-ra-redeploy-rars" />
+    </antcall>
+    <!--<antcall target="reconfig-common"/>-->
+  </target>
 
-    <target name="unsetup">
-            <antcall target="execute-sql-connector">
-                <param name="sql.file" value="sql/dropBankTables.sql"/>
-              </antcall>
+  <target name="unsetup">
+    <antcall target="execute-sql-connector">
+      <param name="sql.file" value="sql/dropBankTables.sql" />
+    </antcall>
 
-            <antcall target="delete-resource"/>
-            <antcall target="delete-pool"/>
-            <antcall target="delete-admin-object"/>
-            <antcall target="undeploy-rar-common">
-                    <param name="undeployrar" value="jdbcra"/>
-            </antcall>
-    </target>
+    <antcall target="delete-resource" />
+    <antcall target="delete-pool" />
+    <antcall target="delete-admin-object" />
+    <antcall target="undeploy-rar-common">
+      <param name="undeployrar" value="connectors-ra-redeploy-rars" />
+    </antcall>
+  </target>
 
-    <target name="delete-pool">
-                <antcall target="delete-connector-connpool-common">
-                <param name="connector.conpool.name" value="standalone-ra-pool"/>
-                </antcall>
-     </target>
+  <target name="delete-pool">
+    <antcall target="delete-connector-connpool-common">
+      <param name="connector.conpool.name" value="standalone-ra-pool" />
+    </antcall>
+  </target>
 
-     <target name="delete-resource">
-                <antcall target="delete-connector-resource-common">
-                <param name="connector.jndi.name" value="jdbc/ejb-subclassing"/>
-                </antcall>
-    </target>
+  <target name="delete-resource">
+    <antcall target="delete-connector-resource-common">
+      <param name="connector.jndi.name" value="jdbc/ejb-subclassing" />
+    </antcall>
+  </target>
 
-    <target name="compile" depends="clean">
-        <ant dir="ra" target="compile"/>
-        <antcall target="compile-common">
-            <param name="src" value="ejb"/>
-        </antcall>
-        <antcall target="compile-servlet" />
-    </target>
+  <target name="compile" depends="clean">
+    <antcall target="compile-common">
+      <param name="src" value="ejb" />
+    </antcall>
+    <antcall target="compile-servlet" />
+  </target>
 
-    <target name="compile-servlet" depends="init-common">
-      <mkdir dir="${build.classes.dir}"/>
-      <echo message="common.xml: Compiling test source files" level="verbose"/>
-      <javac srcdir="servlet"
-         destdir="${build.classes.dir}"
-         classpath="${s1astest.classpath}:ra/publish/internal/classes"
-         debug="on"
-         failonerror="true"/>
-     </target>
+  <target name="compile-servlet" depends="init-common">
+    <mkdir dir="${build.classes.dir}" />
+    <echo message="common.xml: Compiling test source files" level="verbose" />
+    <javac srcdir="servlet"
+           destdir="${build.classes.dir}"
+           classpath="${s1astest.classpath}:${bundles.dir}/connectors-ra-redeploy-jars.jar"
+           debug="on"
+           failonerror="true"
+    />
+  </target>
 
-
-    <target name="build-ra">
-       <ant dir="ra" target="build"/>
-    </target>
-
-    <target name="build" depends="compile">
-    <property name="hasWebclient" value="yes"/>
-    <ant dir="ra" target="assemble"/>
+  <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"/>
+      <param name="hasWebclient" value="yes" />
+      <param name="webclient.war.classes" value="**/*.class" />
     </antcall>
 
     <antcall target="ejb-jar-common">
-    <param name="ejbjar.classes" value="**/*.class"/>
+      <param name="ejbjar.classes" value="**/*.class" />
     </antcall>
 
 
-    <delete file="${assemble.dir}/${appname}.ear"/>
-    <mkdir dir="${assemble.dir}"/>
-    <mkdir dir="${build.classes.dir}/META-INF"/>
-    <ear earfile="${assemble.dir}/${appname}App.ear"
-     appxml="${application.xml}">
-            <fileset dir="${assemble.dir}">
-              <include name="*.jar"/>
-              <include name="*.war"/>
-            </fileset>
+    <delete file="${assemble.dir}/${appname}.ear" />
+    <mkdir dir="${assemble.dir}" />
+    <mkdir dir="${build.classes.dir}/META-INF" />
+    <ear earfile="${assemble.dir}/${appname}App.ear" appxml="${application.xml}">
+      <fileset dir="${assemble.dir}">
+        <include name="*.jar" />
+        <include name="*.war" />
+      </fileset>
     </ear>
-    </target>
+  </target>
 
 
-    <target name="deploy-ear" depends="init-common">
-        <antcall target="deploy-common"/>
-    </target>
+  <target name="deploy-ear" depends="init-common">
+    <antcall target="deploy-common" />
+  </target>
 
-    <target name="deploy-war" depends="init-common">
-        <antcall target="deploy-war-common"/>
-    </target>
+  <target name="deploy-war" depends="init-common">
+    <antcall target="deploy-war-common" />
+  </target>
 
-    <target name="run-war" depends="init-common">
-        <antcall target="runwebclient-common">
-        <param name="testsuite.id" value="web-to-connector (stand-alone war and rar based)"/>
-        </antcall>
-    </target>
+  <target name="run-war" depends="init-common">
+    <antcall target="runwebclient-common">
+      <param name="testsuite.id" value="web-to-connector (stand-alone war and rar based)" />
+    </antcall>
+  </target>
 
-    <target name="run-ear" depends="init-common">
-        <antcall target="runwebclient-common">
-        <param name="testsuite.id" value="web-to-connector (ear based)"/>
-        </antcall>
-    </target>
+  <target name="run-ear" depends="init-common">
+    <antcall target="runwebclient-common">
+      <param name="testsuite.id" value="web-to-connector (ear based)" />
+    </antcall>
+  </target>
 
-    <target name="undeploy-ear" depends="init-common">
-<antcall target="delete-ra-config"/>
-        <antcall target="undeploy-common"/>
-    </target>
+  <target name="undeploy-ear" depends="init-common">
+    <antcall target="delete-ra-config" />
+    <antcall target="undeploy-common" />
+  </target>
 
-    <target name="undeploy-war" depends="init-common">
-        <antcall target="undeploy-war-common"/>
-    </target>
+  <target name="undeploy-war" depends="init-common">
+    <antcall target="undeploy-war-common" />
+  </target>
 
-    <target name="usage">
-        <antcall target="usage-common"/>
-    </target>
+  <target name="usage">
+    <antcall target="usage-common" />
+  </target>
 </project>
diff --git a/appserver/tests/appserv-tests/devtests/connector/web2connector/descriptor/application.xml b/appserver/tests/appserv-tests/devtests/connector/web2connector/descriptor/application.xml
index c3f91ac..68fd493 100755
--- a/appserver/tests/appserv-tests/devtests/connector/web2connector/descriptor/application.xml
+++ b/appserver/tests/appserv-tests/devtests/connector/web2connector/descriptor/application.xml
@@ -23,11 +23,6 @@
   <module>
     <ejb>web-subclassing-ejb.jar</ejb>
   </module>
-  <!--
-  <module>
-    <connector>jdbcra.rar</connector>
-  </module>
-  -->
   <module>
     <web>
       <web-uri>web-subclassing-web.war</web-uri>
diff --git a/appserver/tests/appserv-tests/devtests/connector/web2connector/ra/build.properties b/appserver/tests/appserv-tests/devtests/connector/web2connector/ra/build.properties
deleted file mode 100644
index fd21c3d..0000000
--- a/appserver/tests/appserv-tests/devtests/connector/web2connector/ra/build.properties
+++ /dev/null
@@ -1,23 +0,0 @@
-#
-# Copyright (c) 2002, 2018 Oracle and/or its affiliates. All rights reserved.
-#
-# This program and the accompanying materials are made available under the
-# terms of the Eclipse Public License v. 2.0, which is available at
-# http://www.eclipse.org/legal/epl-2.0.
-#
-# This Source Code may also be made available under the following Secondary
-# Licenses when the conditions for such availability set forth in the
-# Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
-# version 2 with the GNU Classpath Exception, which is available at
-# https://www.gnu.org/software/classpath/license.html.
-#
-# SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
-#
-
-
-### Component Properties ###
-src.dir=src
-component.publish.home=.
-component.classes.dir=${component.publish.home}/internal/classes
-component.lib.home=${component.publish.home}/lib
-component.publish.home=publish
diff --git a/appserver/tests/appserv-tests/devtests/connector/web2connector/ra/build.xml b/appserver/tests/appserv-tests/devtests/connector/web2connector/ra/build.xml
deleted file mode 100644
index c50d290..0000000
--- a/appserver/tests/appserv-tests/devtests/connector/web2connector/ra/build.xml
+++ /dev/null
@@ -1,92 +0,0 @@
-<!DOCTYPE project [
-<!--
-
-    Copyright (c) 2017, 2018 Oracle and/or its affiliates. All rights reserved.
-
-    This program and the accompanying materials are made available under the
-    terms of the Eclipse Public License v. 2.0, which is available at
-    http://www.eclipse.org/legal/epl-2.0.
-
-    This Source Code may also be made available under the following Secondary
-    Licenses when the conditions for such availability set forth in the
-    Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
-    version 2 with the GNU Classpath Exception, which is available at
-    https://www.gnu.org/software/classpath/license.html.
-
-    SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
-
--->
-
-  <!ENTITY common SYSTEM "../../../../config/common.xml">
-  <!ENTITY testcommon SYSTEM "../../../../config/properties.xml">
-]>
-
-<project name="JDBCConnector top level" default="build">
-    <property name="pkg.dir" value="com/sun/jdbcra/spi"/>
-
-    &common;
-    &testcommon;
-    <property file="./build.properties"/>
-
-    <target name="build" depends="compile,assemble" />
-
-
-    <!-- init. Initialization involves creating publishing directories and
-         OS specific targets. -->
-    <target name="init" description="${component.name} initialization">
-        <tstamp>
-            <format property="start.time" pattern="MM/dd/yyyy hh:mm aa"/>
-        </tstamp>
-        <echo message="Building component ${component.name}"/>
-        <mkdir dir="${component.classes.dir}"/>
-        <mkdir dir="${component.lib.home}"/>
-    </target>
-    <!-- compile -->
-    <target name="compile" depends="init"
-            description="Compile com/sun/* com/iplanet/* sources">
-        <!--<echo message="Connector api resides in ${connector-api.jar}"/>-->
-        <javac srcdir="${src.dir}"
-               destdir="${component.classes.dir}"
-               failonerror="true">
-            <classpath>
-                <fileset dir="${env.S1AS_HOME}/modules">
-                    <include name="**/*.jar" />
-                </fileset>
-            </classpath>
-            <include name="com/sun/jdbcra/**"/>
-            <include name="com/sun/appserv/**"/>
-        </javac>
-    </target>
-
-    <target name="all" depends="build"/>
-
-   <target name="assemble">
-
-        <jar jarfile="${component.lib.home}/jdbc.jar"
-            basedir="${component.classes.dir}" includes="${pkg.dir}/**/*,
-            com/sun/appserv/**/*, com/sun/jdbcra/util/**/*, com/sun/jdbcra/common/**/*"/>
-
-        <copy file="${src.dir}/com/sun/jdbcra/spi/1.4/ra-ds.xml"
-                tofile="${component.lib.home}/ra.xml" overwrite="yes">
-        </copy>
-           <jar jarfile="${component.lib.home}/jdbcra.rar"
-                basedir="${component.lib.home}" includes="jdbc.jar">
-
-                   <metainf dir="${component.lib.home}">
-                           <include name="ra.xml"/>
-                   </metainf>
-           </jar>
-
-           <delete file="${component.lib.home}/ra.xml"/>
-
-  </target>
-
-    <target name="clean" description="Clean the build">
-        <delete includeEmptyDirs="true" failonerror="false">
-            <fileset dir="${component.classes.dir}"/>
-            <fileset dir="${component.lib.home}"/>
-        </delete>
-    </target>
-
-</project>
-
diff --git a/appserver/tests/appserv-tests/devtests/connector/web2connector/ra/src/com/sun/appserv/jdbcra/DataSource.java b/appserver/tests/appserv-tests/devtests/connector/web2connector/ra/src/com/sun/appserv/jdbcra/DataSource.java
deleted file mode 100644
index b6ef30b..0000000
--- a/appserver/tests/appserv-tests/devtests/connector/web2connector/ra/src/com/sun/appserv/jdbcra/DataSource.java
+++ /dev/null
@@ -1,55 +0,0 @@
-/*
- * Copyright (c) 2003, 2018 Oracle and/or its affiliates. All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v. 2.0, which is available at
- * http://www.eclipse.org/legal/epl-2.0.
- *
- * This Source Code may also be made available under the following Secondary
- * Licenses when the conditions for such availability set forth in the
- * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
- * version 2 with the GNU Classpath Exception, which is available at
- * https://www.gnu.org/software/classpath/license.html.
- *
- * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
- */
-
-package com.sun.appserv.jdbcra;
-
-import java.sql.Connection;
-import java.sql.SQLException;
-
-/**
- * The <code>javax.sql.DataSource</code> implementation of SunONE application
- * server will implement this interface. An application program would be able
- * to use this interface to do the extended functionality exposed by SunONE
- * application server.
- * <p>A sample code for getting driver's connection implementation would like
- * the following.
- * <pre>
-     InitialContext ic = new InitialContext();
-     com.sun.appserv.DataSource ds = (com.sun.appserv.DataSOurce) ic.lookup("jdbc/PointBase");
-     Connection con = ds.getConnection();
-     Connection drivercon = ds.getConnection(con);
-
-     // Do db operations.
-
-     con.close();
-   </pre>
- *
- * @author Binod P.G
- */
-public interface DataSource extends javax.sql.DataSource {
-
-    /**
-     * Retrieves the actual SQLConnection from the Connection wrapper
-     * implementation of SunONE application server. If an actual connection is
-     * supplied as argument, then it will be just returned.
-     *
-     * @param con Connection obtained from <code>Datasource.getConnection()</code>
-     * @return <code>java.sql.Connection</code> implementation of the driver.
-     * @throws <code>java.sql.SQLException</code> If connection cannot be obtained.
-     */
-    public Connection getConnection(Connection con) throws SQLException;
-
-}
diff --git a/appserver/tests/appserv-tests/devtests/connector/web2connector/ra/src/com/sun/jdbcra/common/DataSourceObjectBuilder.java b/appserver/tests/appserv-tests/devtests/connector/web2connector/ra/src/com/sun/jdbcra/common/DataSourceObjectBuilder.java
deleted file mode 100644
index 88a0950..0000000
--- a/appserver/tests/appserv-tests/devtests/connector/web2connector/ra/src/com/sun/jdbcra/common/DataSourceObjectBuilder.java
+++ /dev/null
@@ -1,216 +0,0 @@
-/*
- * Copyright (c) 2003, 2018 Oracle and/or its affiliates. All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v. 2.0, which is available at
- * http://www.eclipse.org/legal/epl-2.0.
- *
- * This Source Code may also be made available under the following Secondary
- * Licenses when the conditions for such availability set forth in the
- * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
- * version 2 with the GNU Classpath Exception, which is available at
- * https://www.gnu.org/software/classpath/license.html.
- *
- * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
- */
-
-package com.sun.jdbcra.common;
-
-import java.lang.reflect.Method;
-import java.util.Hashtable;
-import java.util.Vector;
-import java.util.StringTokenizer;
-import java.util.Enumeration;
-import com.sun.jdbcra.util.MethodExecutor;
-import jakarta.resource.ResourceException;
-
-import java.util.logging.Logger;
-import java.util.logging.Level;
-/**
- * Utility class, which would create necessary Datasource object according to the
- * specification.
- *
- * @version        1.0, 02/07/23
- * @author        Binod P.G
- * @see                com.sun.jdbcra.common.DataSourceSpec
- * @see                com.sun.jdbcra.util.MethodExcecutor
- */
-public class DataSourceObjectBuilder implements java.io.Serializable{
-
-    private DataSourceSpec spec;
-
-    private Hashtable driverProperties = null;
-
-    private MethodExecutor executor = null;
-
-    private static Logger _logger;
-    static {
-        _logger = Logger.getAnonymousLogger();
-    }
-    private boolean debug = false;
-    /**
-     * Construct a DataSource Object from the spec.
-     *
-     * @param        spec        <code> DataSourceSpec </code> object.
-     */
-    public DataSourceObjectBuilder(DataSourceSpec spec) {
-            this.spec = spec;
-            executor = new MethodExecutor();
-    }
-
-    /**
-     * Construct the DataSource Object from the spec.
-     *
-     * @return        Object constructed using the DataSourceSpec.
-     * @throws        <code>ResourceException</code> if the class is not found or some issue in executing
-     *                some method.
-     */
-    public Object constructDataSourceObject() throws ResourceException{
-            driverProperties = parseDriverProperties(spec);
-        Object dataSourceObject = getDataSourceObject();
-        Method[] methods = dataSourceObject.getClass().getMethods();
-        for (int i=0; i < methods.length; i++) {
-            String methodName = methods[i].getName();
-            if (methodName.equalsIgnoreCase("setUser")){
-                    executor.runJavaBeanMethod(spec.getDetail(DataSourceSpec.USERNAME),methods[i],dataSourceObject);
-
-            } else if (methodName.equalsIgnoreCase("setPassword")){
-                    executor.runJavaBeanMethod(spec.getDetail(DataSourceSpec.PASSWORD),methods[i],dataSourceObject);
-
-            } else if (methodName.equalsIgnoreCase("setLoginTimeOut")){
-                    executor.runJavaBeanMethod(spec.getDetail(DataSourceSpec.LOGINTIMEOUT),methods[i],dataSourceObject);
-
-            } else if (methodName.equalsIgnoreCase("setLogWriter")){
-                    executor.runJavaBeanMethod(spec.getDetail(DataSourceSpec.LOGWRITER),methods[i],dataSourceObject);
-
-            } else if (methodName.equalsIgnoreCase("setDatabaseName")){
-                    executor.runJavaBeanMethod(spec.getDetail(DataSourceSpec.DATABASENAME),methods[i],dataSourceObject);
-
-            } else if (methodName.equalsIgnoreCase("setDataSourceName")){
-                    executor.runJavaBeanMethod(spec.getDetail(DataSourceSpec.DATASOURCENAME),methods[i],dataSourceObject);
-
-            } else if (methodName.equalsIgnoreCase("setDescription")){
-                    executor.runJavaBeanMethod(spec.getDetail(DataSourceSpec.DESCRIPTION),methods[i],dataSourceObject);
-
-            } else if (methodName.equalsIgnoreCase("setNetworkProtocol")){
-                    executor.runJavaBeanMethod(spec.getDetail(DataSourceSpec.NETWORKPROTOCOL),methods[i],dataSourceObject);
-
-            } else if (methodName.equalsIgnoreCase("setPortNumber")){
-                    executor.runJavaBeanMethod(spec.getDetail(DataSourceSpec.PORTNUMBER),methods[i],dataSourceObject);
-
-            } else if (methodName.equalsIgnoreCase("setRoleName")){
-                    executor.runJavaBeanMethod(spec.getDetail(DataSourceSpec.ROLENAME),methods[i],dataSourceObject);
-
-            } else if (methodName.equalsIgnoreCase("setServerName")){
-                    executor.runJavaBeanMethod(spec.getDetail(DataSourceSpec.SERVERNAME),methods[i],dataSourceObject);
-
-            } else if (methodName.equalsIgnoreCase("setMaxStatements")){
-                    executor.runJavaBeanMethod(spec.getDetail(DataSourceSpec.MAXSTATEMENTS),methods[i],dataSourceObject);
-
-            } else if (methodName.equalsIgnoreCase("setInitialPoolSize")){
-                    executor.runJavaBeanMethod(spec.getDetail(DataSourceSpec.INITIALPOOLSIZE),methods[i],dataSourceObject);
-
-            } else if (methodName.equalsIgnoreCase("setMinPoolSize")){
-                    executor.runJavaBeanMethod(spec.getDetail(DataSourceSpec.MINPOOLSIZE),methods[i],dataSourceObject);
-
-            } else if (methodName.equalsIgnoreCase("setMaxPoolSize")){
-                    executor.runJavaBeanMethod(spec.getDetail(DataSourceSpec.MAXPOOLSIZE),methods[i],dataSourceObject);
-
-            } else if (methodName.equalsIgnoreCase("setMaxIdleTime")){
-                    executor.runJavaBeanMethod(spec.getDetail(DataSourceSpec.MAXIDLETIME),methods[i],dataSourceObject);
-
-            } else if (methodName.equalsIgnoreCase("setPropertyCycle")){
-                    executor.runJavaBeanMethod(spec.getDetail(DataSourceSpec.PROPERTYCYCLE),methods[i],dataSourceObject);
-
-            } else if (driverProperties.containsKey(methodName.toUpperCase())){
-                    Vector values = (Vector) driverProperties.get(methodName.toUpperCase());
-                executor.runMethod(methods[i],dataSourceObject, values);
-            }
-        }
-        return dataSourceObject;
-    }
-
-    /**
-     * Get the extra driver properties from the DataSourceSpec object and
-     * parse them to a set of methodName and parameters. Prepare a hashtable
-     * containing these details and return.
-     *
-     * @param        spec        <code> DataSourceSpec </code> object.
-     * @return        Hashtable containing method names and parameters,
-     * @throws        ResourceException        If delimiter is not provided and property string
-     *                                        is not null.
-     */
-    private Hashtable parseDriverProperties(DataSourceSpec spec) throws ResourceException{
-            String delim = spec.getDetail(DataSourceSpec.DELIMITER);
-
-        String prop = spec.getDetail(DataSourceSpec.DRIVERPROPERTIES);
-        if ( prop == null || prop.trim().equals("")) {
-            return new Hashtable();
-        } else if (delim == null || delim.equals("")) {
-            throw new ResourceException ("Delimiter is not provided in the configuration");
-        }
-
-        Hashtable properties = new Hashtable();
-        delim = delim.trim();
-        String sep = delim+delim;
-        int sepLen = sep.length();
-        String cache = prop;
-        Vector methods = new Vector();
-
-        while (cache.indexOf(sep) != -1) {
-            int index = cache.indexOf(sep);
-            String name = cache.substring(0,index);
-            if (name.trim() != "") {
-                methods.add(name);
-                    cache = cache.substring(index+sepLen);
-            }
-        }
-
-            Enumeration allMethods = methods.elements();
-            while (allMethods.hasMoreElements()) {
-                String oneMethod = (String) allMethods.nextElement();
-                if (!oneMethod.trim().equals("")) {
-                        String methodName = null;
-                        Vector parms = new Vector();
-                        StringTokenizer methodDetails = new StringTokenizer(oneMethod,delim);
-                for (int i=0; methodDetails.hasMoreTokens();i++ ) {
-                    String token = (String) methodDetails.nextToken();
-                    if (i==0) {
-                            methodName = token.toUpperCase();
-                    } else {
-                            parms.add(token);
-                    }
-                }
-                properties.put(methodName,parms);
-                }
-            }
-            return properties;
-    }
-
-    /**
-     * Creates a Datasource object according to the spec.
-     *
-     * @return        Initial DataSource Object instance.
-     * @throws        <code>ResourceException</code> If class name is wrong or classpath is not set
-     *                properly.
-     */
-    private Object getDataSourceObject() throws ResourceException{
-            String className = spec.getDetail(DataSourceSpec.CLASSNAME);
-        try {
-            Class dataSourceClass = Class.forName(className);
-            Object dataSourceObject = dataSourceClass.newInstance();
-            return dataSourceObject;
-        } catch(ClassNotFoundException cfne){
-            _logger.log(Level.SEVERE, "jdbc.exc_cnfe_ds", cfne);
-
-            throw new ResourceException("Class Name is wrong or Class path is not set for :" + className);
-        } catch(InstantiationException ce) {
-            _logger.log(Level.SEVERE, "jdbc.exc_inst", className);
-            throw new ResourceException("Error in instantiating" + className);
-        } catch(IllegalAccessException ce) {
-            _logger.log(Level.SEVERE, "jdbc.exc_acc_inst", className);
-            throw new ResourceException("Access Error in instantiating" + className);
-        }
-    }
-
-}
diff --git a/appserver/tests/appserv-tests/devtests/connector/web2connector/ra/src/com/sun/jdbcra/common/DataSourceSpec.java b/appserver/tests/appserv-tests/devtests/connector/web2connector/ra/src/com/sun/jdbcra/common/DataSourceSpec.java
deleted file mode 100644
index 1c4b072..0000000
--- a/appserver/tests/appserv-tests/devtests/connector/web2connector/ra/src/com/sun/jdbcra/common/DataSourceSpec.java
+++ /dev/null
@@ -1,110 +0,0 @@
-/*
- * Copyright (c) 2003, 2018 Oracle and/or its affiliates. All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v. 2.0, which is available at
- * http://www.eclipse.org/legal/epl-2.0.
- *
- * This Source Code may also be made available under the following Secondary
- * Licenses when the conditions for such availability set forth in the
- * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
- * version 2 with the GNU Classpath Exception, which is available at
- * https://www.gnu.org/software/classpath/license.html.
- *
- * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
- */
-
-package com.sun.jdbcra.common;
-
-import java.util.Hashtable;
-
-/**
- * Encapsulate the DataSource object details obtained from
- * ManagedConnectionFactory.
- *
- * @version        1.0, 02/07/23
- * @author        Binod P.G
- */
-public class DataSourceSpec implements java.io.Serializable{
-
-    public static final int USERNAME                                = 1;
-    public static final int PASSWORD                                = 2;
-    public static final int URL                                        = 3;
-    public static final int LOGINTIMEOUT                        = 4;
-    public static final int LOGWRITER                                = 5;
-    public static final int DATABASENAME                        = 6;
-    public static final int DATASOURCENAME                        = 7;
-    public static final int DESCRIPTION                                = 8;
-    public static final int NETWORKPROTOCOL                        = 9;
-    public static final int PORTNUMBER                                = 10;
-    public static final int ROLENAME                                = 11;
-    public static final int SERVERNAME                                = 12;
-    public static final int MAXSTATEMENTS                        = 13;
-    public static final int INITIALPOOLSIZE                        = 14;
-    public static final int MINPOOLSIZE                                = 15;
-    public static final int MAXPOOLSIZE                                = 16;
-    public static final int MAXIDLETIME                                = 17;
-    public static final int PROPERTYCYCLE                        = 18;
-    public static final int DRIVERPROPERTIES                        = 19;
-    public static final int CLASSNAME                                = 20;
-    public static final int DELIMITER                                = 21;
-
-    public static final int XADATASOURCE                        = 22;
-    public static final int DATASOURCE                                = 23;
-    public static final int CONNECTIONPOOLDATASOURCE                = 24;
-
-    //GJCINT
-    public static final int CONNECTIONVALIDATIONREQUIRED        = 25;
-    public static final int VALIDATIONMETHOD                        = 26;
-    public static final int VALIDATIONTABLENAME                        = 27;
-
-    public static final int TRANSACTIONISOLATION                = 28;
-    public static final int GUARANTEEISOLATIONLEVEL                = 29;
-
-    private Hashtable details = new Hashtable();
-
-    /**
-     * Set the property.
-     *
-     * @param        property        Property Name to be set.
-     * @param        value                Value of property to be set.
-     */
-    public void setDetail(int property, String value) {
-            details.put(new Integer(property),value);
-    }
-
-    /**
-     * Get the value of property
-     *
-     * @return        Value of the property.
-     */
-    public String getDetail(int property) {
-            if (details.containsKey(new Integer(property))) {
-                return (String) details.get(new Integer(property));
-            } else {
-                return null;
-            }
-    }
-
-    /**
-     * Checks whether two <code>DataSourceSpec</code> objects
-     * are equal or not.
-     *
-     * @param        obj        Instance of <code>DataSourceSpec</code> object.
-     */
-    public boolean equals(Object obj) {
-            if (obj instanceof DataSourceSpec) {
-                return this.details.equals(((DataSourceSpec)obj).details);
-            }
-            return false;
-    }
-
-    /**
-     * Retrieves the hashCode of this <code>DataSourceSpec</code> object.
-     *
-     * @return        hashCode of this object.
-     */
-    public int hashCode() {
-            return this.details.hashCode();
-    }
-}
diff --git a/appserver/tests/appserv-tests/devtests/connector/web2connector/ra/src/com/sun/jdbcra/common/build.xml b/appserver/tests/appserv-tests/devtests/connector/web2connector/ra/src/com/sun/jdbcra/common/build.xml
deleted file mode 100644
index 3b4faeb..0000000
--- a/appserver/tests/appserv-tests/devtests/connector/web2connector/ra/src/com/sun/jdbcra/common/build.xml
+++ /dev/null
@@ -1,48 +0,0 @@
-<?xml version="1.0"?>
-<!--
-
-    Copyright (c) 2017, 2018 Oracle and/or its affiliates. All rights reserved.
-
-    This program and the accompanying materials are made available under the
-    terms of the Eclipse Public License v. 2.0, which is available at
-    http://www.eclipse.org/legal/epl-2.0.
-
-    This Source Code may also be made available under the following Secondary
-    Licenses when the conditions for such availability set forth in the
-    Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
-    version 2 with the GNU Classpath Exception, which is available 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 name="jdbc_connector" basedir="." default="build">
-  <property name="pkg.dir" value="com/sun/gjc/common"/>
-
-  <target name="clean">
-    <ant antfile="build.xml" dir="${gjc.home}/bin" target="clean"/>
-  </target>
-
-  <target name="compile">
-    <ant antfile="build.xml" dir="${gjc.home}/bin" target="compile13"/>
-  </target>
-
-  <target name="package">
-    <mkdir dir="${dist.dir}/${pkg.dir}"/>
-      <jar jarfile="${dist.dir}/${pkg.dir}/common.jar" basedir="${class.dir}"
-        includes="${pkg.dir}/**/*"/>
-  </target>
-
-  <target name="compile13" depends="compile"/>
-  <target name="compile14" depends="compile"/>
-
-  <target name="package13" depends="package"/>
-  <target name="package14" depends="package"/>
-
-  <target name="build13" depends="compile13, package13"/>
-  <target name="build14" depends="compile14, package14"/>
-
-  <target name="build" depends="build13, build14"/>
-
-</project>
diff --git a/appserver/tests/appserv-tests/devtests/connector/web2connector/ra/src/com/sun/jdbcra/spi/1.4/ManagedConnectionFactory.java b/appserver/tests/appserv-tests/devtests/connector/web2connector/ra/src/com/sun/jdbcra/spi/1.4/ManagedConnectionFactory.java
deleted file mode 100644
index fb0fdab..0000000
--- a/appserver/tests/appserv-tests/devtests/connector/web2connector/ra/src/com/sun/jdbcra/spi/1.4/ManagedConnectionFactory.java
+++ /dev/null
@@ -1,754 +0,0 @@
-/*
- * Copyright (c) 2003, 2018 Oracle and/or its affiliates. All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v. 2.0, which is available at
- * http://www.eclipse.org/legal/epl-2.0.
- *
- * This Source Code may also be made available under the following Secondary
- * Licenses when the conditions for such availability set forth in the
- * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
- * version 2 with the GNU Classpath Exception, which is available at
- * https://www.gnu.org/software/classpath/license.html.
- *
- * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
- */
-
-package com.sun.jdbcra.spi;
-
-import jakarta.resource.ResourceException;
-import jakarta.resource.spi.ConnectionRequestInfo;
-import com.sun.jdbcra.spi.ConnectionManager;
-import com.sun.jdbcra.util.SecurityUtils;
-import jakarta.resource.spi.security.PasswordCredential;
-import java.sql.DriverManager;
-import com.sun.jdbcra.common.DataSourceSpec;
-import com.sun.jdbcra.common.DataSourceObjectBuilder;
-import java.sql.SQLException;
-
-import java.util.logging.Logger;
-import java.util.logging.Level;
-/**
- * <code>ManagedConnectionFactory</code> implementation for Generic JDBC Connector.
- * This class is extended by the DataSource specific <code>ManagedConnection</code> factories
- * and the <code>ManagedConnectionFactory</code> for the <code>DriverManager</code>.
- *
- * @version        1.0, 02/08/03
- * @author        Evani Sai Surya Kiran
- */
-
-public abstract class ManagedConnectionFactory implements jakarta.resource.spi.ManagedConnectionFactory,
-    java.io.Serializable {
-
-    protected DataSourceSpec spec = new DataSourceSpec();
-    protected transient DataSourceObjectBuilder dsObjBuilder;
-
-    protected java.io.PrintWriter logWriter = null;
-    protected jakarta.resource.spi.ResourceAdapter ra = null;
-
-    private static Logger _logger;
-    static {
-        _logger = Logger.getAnonymousLogger();
-    }
-    private boolean debug = false;
-    /**
-     * Creates a Connection Factory instance. The <code>ConnectionManager</code> implementation
-     * of the resource adapter is used here.
-     *
-     * @return        Generic JDBC Connector implementation of <code>javax.sql.DataSource</code>
-     */
-    public Object createConnectionFactory() {
-        if(logWriter != null) {
-            logWriter.println("In createConnectionFactory()");
-        }
-        com.sun.jdbcra.spi.DataSource cf = new com.sun.jdbcra.spi.DataSource(
-            (jakarta.resource.spi.ManagedConnectionFactory)this, null);
-
-        return cf;
-    }
-
-    /**
-     * Creates a Connection Factory instance. The <code>ConnectionManager</code> implementation
-     * of the application server is used here.
-     *
-     * @param        cxManager        <code>ConnectionManager</code> passed by the application server
-     * @return        Generic JDBC Connector implementation of <code>javax.sql.DataSource</code>
-     */
-    public Object createConnectionFactory(jakarta.resource.spi.ConnectionManager cxManager) {
-        if(logWriter != null) {
-            logWriter.println("In createConnectionFactory(jakarta.resource.spi.ConnectionManager cxManager)");
-        }
-        com.sun.jdbcra.spi.DataSource cf = new com.sun.jdbcra.spi.DataSource(
-            (jakarta.resource.spi.ManagedConnectionFactory)this, cxManager);
-        return cf;
-    }
-
-    /**
-     * Creates a new physical connection to the underlying EIS resource
-     * manager.
-     *
-     * @param        subject        <code>Subject</code> instance passed by the application server
-     * @param        cxRequestInfo        <code>ConnectionRequestInfo</code> which may be created
-     *                                    as a result of the invocation <code>getConnection(user, password)</code>
-     *                                    on the <code>DataSource</code> object
-     * @return        <code>ManagedConnection</code> object created
-     * @throws        ResourceException        if there is an error in instantiating the
-     *                                         <code>DataSource</code> object used for the
-     *                                       creation of the <code>ManagedConnection</code> object
-     * @throws        SecurityException        if there ino <code>PasswordCredential</code> object
-     *                                         satisfying this request
-     * @throws        ResourceAllocationException        if there is an error in allocating the
-     *                                                physical connection
-     */
-    public abstract jakarta.resource.spi.ManagedConnection createManagedConnection(javax.security.auth.Subject subject,
-        ConnectionRequestInfo cxRequestInfo) throws ResourceException;
-
-    /**
-     * Check if this <code>ManagedConnectionFactory</code> is equal to
-     * another <code>ManagedConnectionFactory</code>.
-     *
-     * @param        other        <code>ManagedConnectionFactory</code> object for checking equality with
-     * @return        true        if the property sets of both the
-     *                        <code>ManagedConnectionFactory</code> objects are the same
-     *                false        otherwise
-     */
-    public abstract boolean equals(Object other);
-
-    /**
-     * Get the log writer for this <code>ManagedConnectionFactory</code> instance.
-     *
-     * @return        <code>PrintWriter</code> associated with this <code>ManagedConnectionFactory</code> instance
-     * @see        <code>setLogWriter</code>
-     */
-    public java.io.PrintWriter getLogWriter() {
-        return logWriter;
-    }
-
-    /**
-     * Get the <code>ResourceAdapter</code> for this <code>ManagedConnectionFactory</code> instance.
-     *
-     * @return        <code>ResourceAdapter</code> associated with this <code>ManagedConnectionFactory</code> instance
-     * @see        <code>setResourceAdapter</code>
-     */
-    public jakarta.resource.spi.ResourceAdapter getResourceAdapter() {
-        if(logWriter != null) {
-            logWriter.println("In getResourceAdapter");
-        }
-        return ra;
-    }
-
-    /**
-     * Returns the hash code for this <code>ManagedConnectionFactory</code>.
-     *
-     * @return        hash code for this <code>ManagedConnectionFactory</code>
-     */
-    public int hashCode(){
-        if(logWriter != null) {
-                logWriter.println("In hashCode");
-        }
-        return spec.hashCode();
-    }
-
-    /**
-     * Returns a matched <code>ManagedConnection</code> from the candidate
-     * set of <code>ManagedConnection</code> objects.
-     *
-     * @param        connectionSet        <code>Set</code> of  <code>ManagedConnection</code>
-     *                                objects passed by the application server
-     * @param        subject         passed by the application server
-     *                        for retrieving information required for matching
-     * @param        cxRequestInfo        <code>ConnectionRequestInfo</code> passed by the application server
-     *                                for retrieving information required for matching
-     * @return        <code>ManagedConnection</code> that is the best match satisfying this request
-     * @throws        ResourceException        if there is an error accessing the <code>Subject</code>
-     *                                        parameter or the <code>Set</code> of <code>ManagedConnection</code>
-     *                                        objects passed by the application server
-     */
-    public jakarta.resource.spi.ManagedConnection matchManagedConnections(java.util.Set connectionSet,
-        javax.security.auth.Subject subject, ConnectionRequestInfo cxRequestInfo) throws ResourceException {
-        if(logWriter != null) {
-            logWriter.println("In matchManagedConnections");
-        }
-
-        if(connectionSet == null) {
-            return null;
-        }
-
-        PasswordCredential pc = SecurityUtils.getPasswordCredential(this, subject, cxRequestInfo);
-
-        java.util.Iterator iter = connectionSet.iterator();
-        com.sun.jdbcra.spi.ManagedConnection mc = null;
-        while(iter.hasNext()) {
-            try {
-                mc = (com.sun.jdbcra.spi.ManagedConnection) iter.next();
-            } catch(java.util.NoSuchElementException nsee) {
-                _logger.log(Level.SEVERE, "jdbc.exc_iter");
-                throw new ResourceException(nsee.getMessage());
-            }
-            if(pc == null && this.equals(mc.getManagedConnectionFactory())) {
-                //GJCINT
-                try {
-                    isValid(mc);
-                    return mc;
-                } catch(ResourceException re) {
-                    _logger.log(Level.SEVERE, "jdbc.exc_re", re);
-                    mc.connectionErrorOccurred(re, null);
-                }
-            } else if(SecurityUtils.isPasswordCredentialEqual(pc, mc.getPasswordCredential()) == true) {
-                //GJCINT
-                try {
-                    isValid(mc);
-                    return mc;
-                } catch(ResourceException re) {
-                    _logger.log(Level.SEVERE, "jdbc.re");
-                    mc.connectionErrorOccurred(re, null);
-                }
-            }
-        }
-        return null;
-    }
-
-    //GJCINT
-    /**
-     * Checks if a <code>ManagedConnection</code> is to be validated or not
-     * and validates it or returns.
-     *
-     * @param        mc        <code>ManagedConnection</code> to be validated
-     * @throws        ResourceException        if the connection is not valid or
-     *                                          if validation method is not proper
-     */
-    void isValid(com.sun.jdbcra.spi.ManagedConnection mc) throws ResourceException {
-
-        if(mc.isTransactionInProgress()) {
-            return;
-        }
-
-        boolean connectionValidationRequired =
-            (new Boolean(spec.getDetail(DataSourceSpec.CONNECTIONVALIDATIONREQUIRED).toLowerCase())).booleanValue();
-        if( connectionValidationRequired == false || mc == null) {
-            return;
-        }
-
-
-        String validationMethod = spec.getDetail(DataSourceSpec.VALIDATIONMETHOD).toLowerCase();
-
-        mc.checkIfValid();
-        /**
-         * The above call checks if the actual physical connection
-         * is usable or not.
-         */
-        java.sql.Connection con = mc.getActualConnection();
-
-        if(validationMethod.equals("auto-commit") == true) {
-            isValidByAutoCommit(con);
-        } else if(validationMethod.equalsIgnoreCase("meta-data") == true) {
-            isValidByMetaData(con);
-        } else if(validationMethod.equalsIgnoreCase("table") == true) {
-            isValidByTableQuery(con, spec.getDetail(DataSourceSpec.VALIDATIONTABLENAME));
-        } else {
-            throw new ResourceException("The validation method is not proper");
-        }
-    }
-
-    /**
-     * Checks if a <code>java.sql.Connection</code> is valid or not
-     * by checking its auto commit property.
-     *
-     * @param        con        <code>java.sql.Connection</code> to be validated
-     * @throws        ResourceException        if the connection is not valid
-     */
-    protected void isValidByAutoCommit(java.sql.Connection con) throws ResourceException {
-        if(con == null) {
-            throw new ResourceException("The connection is not valid as "
-                + "the connection is null");
-        }
-
-        try {
-           // Notice that using something like
-           // dbCon.setAutoCommit(dbCon.getAutoCommit()) will cause problems with
-           // some drivers like sybase
-           // We do not validate connections that are already enlisted
-           //in a transaction
-           // We cycle autocommit to true and false to by-pass drivers that
-           // might cache the call to set autocomitt
-           // Also notice that some XA data sources will throw and exception if
-           // you try to call setAutoCommit, for them this method is not recommended
-
-           boolean ac = con.getAutoCommit();
-           if (ac) {
-                con.setAutoCommit(false);
-           } else {
-                con.rollback(); // prevents uncompleted transaction exceptions
-                con.setAutoCommit(true);
-           }
-
-           con.setAutoCommit(ac);
-
-        } catch(Exception sqle) {
-            _logger.log(Level.SEVERE, "jdbc.exc_autocommit");
-            throw new ResourceException(sqle.getMessage());
-        }
-    }
-
-    /**
-     * Checks if a <code>java.sql.Connection</code> is valid or not
-     * by checking its meta data.
-     *
-     * @param        con        <code>java.sql.Connection</code> to be validated
-     * @throws        ResourceException        if the connection is not valid
-     */
-    protected void isValidByMetaData(java.sql.Connection con) throws ResourceException {
-        if(con == null) {
-            throw new ResourceException("The connection is not valid as "
-                + "the connection is null");
-        }
-
-        try {
-            java.sql.DatabaseMetaData dmd = con.getMetaData();
-        } catch(Exception sqle) {
-            _logger.log(Level.SEVERE, "jdbc.exc_md");
-            throw new ResourceException("The connection is not valid as "
-                + "getting the meta data failed: " + sqle.getMessage());
-        }
-    }
-
-    /**
-     * Checks if a <code>java.sql.Connection</code> is valid or not
-     * by querying a table.
-     *
-     * @param        con        <code>java.sql.Connection</code> to be validated
-     * @param        tableName        table which should be queried
-     * @throws        ResourceException        if the connection is not valid
-     */
-    protected void isValidByTableQuery(java.sql.Connection con,
-        String tableName) throws ResourceException {
-        if(con == null) {
-            throw new ResourceException("The connection is not valid as "
-                + "the connection is null");
-        }
-
-        try {
-            java.sql.Statement stmt = con.createStatement();
-            java.sql.ResultSet rs = stmt.executeQuery("SELECT * FROM " + tableName);
-        } catch(Exception sqle) {
-            _logger.log(Level.SEVERE, "jdbc.exc_execute");
-            throw new ResourceException("The connection is not valid as "
-                + "querying the table " + tableName + " failed: " + sqle.getMessage());
-        }
-    }
-
-    /**
-     * Sets the isolation level specified in the <code>ConnectionRequestInfo</code>
-     * for the <code>ManagedConnection</code> passed.
-     *
-     * @param        mc        <code>ManagedConnection</code>
-     * @throws        ResourceException        if the isolation property is invalid
-     *                                        or if the isolation cannot be set over the connection
-     */
-    protected void setIsolation(com.sun.jdbcra.spi.ManagedConnection mc) throws ResourceException {
-
-            java.sql.Connection con = mc.getActualConnection();
-            if(con == null) {
-                return;
-            }
-
-            String tranIsolation = spec.getDetail(DataSourceSpec.TRANSACTIONISOLATION);
-            if(tranIsolation != null && tranIsolation.equals("") == false) {
-                int tranIsolationInt = getTransactionIsolationInt(tranIsolation);
-                try {
-                    con.setTransactionIsolation(tranIsolationInt);
-                } catch(java.sql.SQLException sqle) {
-                _logger.log(Level.SEVERE, "jdbc.exc_tx_level");
-                    throw new ResourceException("The transaction isolation could "
-                        + "not be set: " + sqle.getMessage());
-                }
-            }
-    }
-
-    /**
-     * Resets the isolation level for the <code>ManagedConnection</code> passed.
-     * If the transaction level is to be guaranteed to be the same as the one
-     * present when this <code>ManagedConnection</code> was created, as specified
-     * by the <code>ConnectionRequestInfo</code> passed, it sets the transaction
-     * isolation level from the <code>ConnectionRequestInfo</code> passed. Else,
-     * it sets it to the transaction isolation passed.
-     *
-     * @param        mc        <code>ManagedConnection</code>
-     * @param        tranIsol        int
-     * @throws        ResourceException        if the isolation property is invalid
-     *                                        or if the isolation cannot be set over the connection
-     */
-    void resetIsolation(com.sun.jdbcra.spi.ManagedConnection mc, int tranIsol) throws ResourceException {
-
-            java.sql.Connection con = mc.getActualConnection();
-            if(con == null) {
-                return;
-            }
-
-            String tranIsolation = spec.getDetail(DataSourceSpec.TRANSACTIONISOLATION);
-            if(tranIsolation != null && tranIsolation.equals("") == false) {
-                String guaranteeIsolationLevel = spec.getDetail(DataSourceSpec.GUARANTEEISOLATIONLEVEL);
-
-                if(guaranteeIsolationLevel != null && guaranteeIsolationLevel.equals("") == false) {
-                    boolean guarantee = (new Boolean(guaranteeIsolationLevel.toLowerCase())).booleanValue();
-
-                    if(guarantee) {
-                        int tranIsolationInt = getTransactionIsolationInt(tranIsolation);
-                        try {
-                            if(tranIsolationInt != con.getTransactionIsolation()) {
-                                con.setTransactionIsolation(tranIsolationInt);
-                            }
-                        } catch(java.sql.SQLException sqle) {
-                        _logger.log(Level.SEVERE, "jdbc.exc_tx_level");
-                            throw new ResourceException("The isolation level could not be set: "
-                                + sqle.getMessage());
-                        }
-                    } else {
-                        try {
-                            if(tranIsol != con.getTransactionIsolation()) {
-                                con.setTransactionIsolation(tranIsol);
-                            }
-                        } catch(java.sql.SQLException sqle) {
-                        _logger.log(Level.SEVERE, "jdbc.exc_tx_level");
-                            throw new ResourceException("The isolation level could not be set: "
-                                + sqle.getMessage());
-                        }
-                    }
-                }
-            }
-    }
-
-    /**
-     * Gets the integer equivalent of the string specifying
-     * the transaction isolation.
-     *
-     * @param        tranIsolation        string specifying the isolation level
-     * @return        tranIsolationInt        the <code>java.sql.Connection</code> constant
-     *                                        for the string specifying the isolation.
-     */
-    private int getTransactionIsolationInt(String tranIsolation) throws ResourceException {
-            if(tranIsolation.equalsIgnoreCase("read-uncommitted")) {
-                return java.sql.Connection.TRANSACTION_READ_UNCOMMITTED;
-            } else if(tranIsolation.equalsIgnoreCase("read-committed")) {
-                return java.sql.Connection.TRANSACTION_READ_COMMITTED;
-            } else if(tranIsolation.equalsIgnoreCase("repeatable-read")) {
-                return java.sql.Connection.TRANSACTION_REPEATABLE_READ;
-            } else if(tranIsolation.equalsIgnoreCase("serializable")) {
-                return java.sql.Connection.TRANSACTION_SERIALIZABLE;
-            } else {
-                throw new ResourceException("Invalid transaction isolation; the transaction "
-                    + "isolation level can be empty or any of the following: "
-                        + "read-uncommitted, read-committed, repeatable-read, serializable");
-            }
-    }
-
-    /**
-     * Set the log writer for this <code>ManagedConnectionFactory</code> instance.
-     *
-     * @param        out        <code>PrintWriter</code> passed by the application server
-     * @see        <code>getLogWriter</code>
-     */
-    public void setLogWriter(java.io.PrintWriter out) {
-        logWriter = out;
-    }
-
-    /**
-     * Set the associated <code>ResourceAdapter</code> JavaBean.
-     *
-     * @param        ra        <code>ResourceAdapter</code> associated with this
-     *                        <code>ManagedConnectionFactory</code> instance
-     * @see        <code>getResourceAdapter</code>
-     */
-    public void setResourceAdapter(jakarta.resource.spi.ResourceAdapter ra) {
-        this.ra = ra;
-    }
-
-    /**
-     * Sets the user name
-     *
-     * @param        user        <code>String</code>
-     */
-    public void setUser(String user) {
-        spec.setDetail(DataSourceSpec.USERNAME, user);
-    }
-
-    /**
-     * Gets the user name
-     *
-     * @return        user
-     */
-    public String getUser() {
-        return spec.getDetail(DataSourceSpec.USERNAME);
-    }
-
-    /**
-     * Sets the user name
-     *
-     * @param        user        <code>String</code>
-     */
-    public void setuser(String user) {
-        spec.setDetail(DataSourceSpec.USERNAME, user);
-    }
-
-    /**
-     * Gets the user name
-     *
-     * @return        user
-     */
-    public String getuser() {
-        return spec.getDetail(DataSourceSpec.USERNAME);
-    }
-
-    /**
-     * Sets the password
-     *
-     * @param        passwd        <code>String</code>
-     */
-    public void setPassword(String passwd) {
-        spec.setDetail(DataSourceSpec.PASSWORD, passwd);
-    }
-
-    /**
-     * Gets the password
-     *
-     * @return        passwd
-     */
-    public String getPassword() {
-        return spec.getDetail(DataSourceSpec.PASSWORD);
-    }
-
-    /**
-     * Sets the password
-     *
-     * @param        passwd        <code>String</code>
-     */
-    public void setpassword(String passwd) {
-        spec.setDetail(DataSourceSpec.PASSWORD, passwd);
-    }
-
-    /**
-     * Gets the password
-     *
-     * @return        passwd
-     */
-    public String getpassword() {
-        return spec.getDetail(DataSourceSpec.PASSWORD);
-    }
-
-    /**
-     * Sets the class name of the data source
-     *
-     * @param        className        <code>String</code>
-     */
-    public void setClassName(String className) {
-        spec.setDetail(DataSourceSpec.CLASSNAME, className);
-    }
-
-    /**
-     * Gets the class name of the data source
-     *
-     * @return        className
-     */
-    public String getClassName() {
-        return spec.getDetail(DataSourceSpec.CLASSNAME);
-    }
-
-    /**
-     * Sets the class name of the data source
-     *
-     * @param        className        <code>String</code>
-     */
-    public void setclassName(String className) {
-        spec.setDetail(DataSourceSpec.CLASSNAME, className);
-    }
-
-    /**
-     * Gets the class name of the data source
-     *
-     * @return        className
-     */
-    public String getclassName() {
-        return spec.getDetail(DataSourceSpec.CLASSNAME);
-    }
-
-    /**
-     * Sets if connection validation is required or not
-     *
-     * @param        conVldReq        <code>String</code>
-     */
-    public void setConnectionValidationRequired(String conVldReq) {
-        spec.setDetail(DataSourceSpec.CONNECTIONVALIDATIONREQUIRED, conVldReq);
-    }
-
-    /**
-     * Returns if connection validation is required or not
-     *
-     * @return        connection validation requirement
-     */
-    public String getConnectionValidationRequired() {
-        return spec.getDetail(DataSourceSpec.CONNECTIONVALIDATIONREQUIRED);
-    }
-
-    /**
-     * Sets if connection validation is required or not
-     *
-     * @param        conVldReq        <code>String</code>
-     */
-    public void setconnectionValidationRequired(String conVldReq) {
-        spec.setDetail(DataSourceSpec.CONNECTIONVALIDATIONREQUIRED, conVldReq);
-    }
-
-    /**
-     * Returns if connection validation is required or not
-     *
-     * @return        connection validation requirement
-     */
-    public String getconnectionValidationRequired() {
-        return spec.getDetail(DataSourceSpec.CONNECTIONVALIDATIONREQUIRED);
-    }
-
-    /**
-     * Sets the validation method required
-     *
-     * @param        validationMethod        <code>String</code>
-     */
-    public void setValidationMethod(String validationMethod) {
-            spec.setDetail(DataSourceSpec.VALIDATIONMETHOD, validationMethod);
-    }
-
-    /**
-     * Returns the connection validation method type
-     *
-     * @return        validation method
-     */
-    public String getValidationMethod() {
-        return spec.getDetail(DataSourceSpec.VALIDATIONMETHOD);
-    }
-
-    /**
-     * Sets the validation method required
-     *
-     * @param        validationMethod        <code>String</code>
-     */
-    public void setvalidationMethod(String validationMethod) {
-            spec.setDetail(DataSourceSpec.VALIDATIONMETHOD, validationMethod);
-    }
-
-    /**
-     * Returns the connection validation method type
-     *
-     * @return        validation method
-     */
-    public String getvalidationMethod() {
-        return spec.getDetail(DataSourceSpec.VALIDATIONMETHOD);
-    }
-
-    /**
-     * Sets the table checked for during validation
-     *
-     * @param        table        <code>String</code>
-     */
-    public void setValidationTableName(String table) {
-        spec.setDetail(DataSourceSpec.VALIDATIONTABLENAME, table);
-    }
-
-    /**
-     * Returns the table checked for during validation
-     *
-     * @return        table
-     */
-    public String getValidationTableName() {
-        return spec.getDetail(DataSourceSpec.VALIDATIONTABLENAME);
-    }
-
-    /**
-     * Sets the table checked for during validation
-     *
-     * @param        table        <code>String</code>
-     */
-    public void setvalidationTableName(String table) {
-        spec.setDetail(DataSourceSpec.VALIDATIONTABLENAME, table);
-    }
-
-    /**
-     * Returns the table checked for during validation
-     *
-     * @return        table
-     */
-    public String getvalidationTableName() {
-        return spec.getDetail(DataSourceSpec.VALIDATIONTABLENAME);
-    }
-
-    /**
-     * Sets the transaction isolation level
-     *
-     * @param        trnIsolation        <code>String</code>
-     */
-    public void setTransactionIsolation(String trnIsolation) {
-        spec.setDetail(DataSourceSpec.TRANSACTIONISOLATION, trnIsolation);
-    }
-
-    /**
-     * Returns the transaction isolation level
-     *
-     * @return        transaction isolation level
-     */
-    public String getTransactionIsolation() {
-        return spec.getDetail(DataSourceSpec.TRANSACTIONISOLATION);
-    }
-
-    /**
-     * Sets the transaction isolation level
-     *
-     * @param        trnIsolation        <code>String</code>
-     */
-    public void settransactionIsolation(String trnIsolation) {
-        spec.setDetail(DataSourceSpec.TRANSACTIONISOLATION, trnIsolation);
-    }
-
-    /**
-     * Returns the transaction isolation level
-     *
-     * @return        transaction isolation level
-     */
-    public String gettransactionIsolation() {
-        return spec.getDetail(DataSourceSpec.TRANSACTIONISOLATION);
-    }
-
-    /**
-     * Sets if the transaction isolation level is to be guaranteed
-     *
-     * @param        guaranteeIsolation        <code>String</code>
-     */
-    public void setGuaranteeIsolationLevel(String guaranteeIsolation) {
-        spec.setDetail(DataSourceSpec.GUARANTEEISOLATIONLEVEL, guaranteeIsolation);
-    }
-
-    /**
-     * Returns the transaction isolation level
-     *
-     * @return        isolation level guarantee
-     */
-    public String getGuaranteeIsolationLevel() {
-        return spec.getDetail(DataSourceSpec.GUARANTEEISOLATIONLEVEL);
-    }
-
-    /**
-     * Sets if the transaction isolation level is to be guaranteed
-     *
-     * @param        guaranteeIsolation        <code>String</code>
-     */
-    public void setguaranteeIsolationLevel(String guaranteeIsolation) {
-        spec.setDetail(DataSourceSpec.GUARANTEEISOLATIONLEVEL, guaranteeIsolation);
-    }
-
-    /**
-     * Returns the transaction isolation level
-     *
-     * @return        isolation level guarantee
-     */
-    public String getguaranteeIsolationLevel() {
-        return spec.getDetail(DataSourceSpec.GUARANTEEISOLATIONLEVEL);
-    }
-
-}
diff --git a/appserver/tests/appserv-tests/devtests/connector/web2connector/ra/src/com/sun/jdbcra/spi/1.4/ResourceAdapter.java b/appserver/tests/appserv-tests/devtests/connector/web2connector/ra/src/com/sun/jdbcra/spi/1.4/ResourceAdapter.java
deleted file mode 100644
index e2840ea..0000000
--- a/appserver/tests/appserv-tests/devtests/connector/web2connector/ra/src/com/sun/jdbcra/spi/1.4/ResourceAdapter.java
+++ /dev/null
@@ -1,96 +0,0 @@
-/*
- * Copyright (c) 2003, 2018 Oracle and/or its affiliates. All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v. 2.0, which is available at
- * http://www.eclipse.org/legal/epl-2.0.
- *
- * This Source Code may also be made available under the following Secondary
- * Licenses when the conditions for such availability set forth in the
- * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
- * version 2 with the GNU Classpath Exception, which is available at
- * https://www.gnu.org/software/classpath/license.html.
- *
- * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
- */
-
-package com.sun.jdbcra.spi;
-
-import jakarta.resource.spi.endpoint.MessageEndpointFactory;
-import jakarta.resource.spi.ActivationSpec;
-import jakarta.resource.NotSupportedException;
-import javax.transaction.xa.XAResource;
-import jakarta.resource.spi.BootstrapContext;
-import jakarta.resource.spi.ResourceAdapterInternalException;
-
-/**
- * <code>ResourceAdapter</code> implementation for Generic JDBC Connector.
- *
- * @version        1.0, 02/08/05
- * @author        Evani Sai Surya Kiran
- */
-public class ResourceAdapter implements jakarta.resource.spi.ResourceAdapter {
-
-    public String raProp = null;
-
-    /**
-     * Empty method implementation for endpointActivation
-     * which just throws <code>NotSupportedException</code>
-     *
-     * @param        mef        <code>MessageEndpointFactory</code>
-     * @param        as        <code>ActivationSpec</code>
-     * @throws        <code>NotSupportedException</code>
-     */
-    public void endpointActivation(MessageEndpointFactory mef, ActivationSpec as) throws NotSupportedException {
-        throw new NotSupportedException("This method is not supported for this JDBC connector");
-    }
-
-    /**
-     * Empty method implementation for endpointDeactivation
-     *
-     * @param        mef        <code>MessageEndpointFactory</code>
-     * @param        as        <code>ActivationSpec</code>
-     */
-    public void endpointDeactivation(MessageEndpointFactory mef, ActivationSpec as) {
-
-    }
-
-    /**
-     * Empty method implementation for getXAResources
-     * which just throws <code>NotSupportedException</code>
-     *
-     * @param        specs        <code>ActivationSpec</code> array
-     * @throws        <code>NotSupportedException</code>
-     */
-    public XAResource[] getXAResources(ActivationSpec[] specs) throws NotSupportedException {
-        throw new NotSupportedException("This method is not supported for this JDBC connector");
-    }
-
-    /**
-     * Empty implementation of start method
-     *
-     * @param        ctx        <code>BootstrapContext</code>
-     */
-    public void start(BootstrapContext ctx) throws ResourceAdapterInternalException {
-        System.out.println("Resource Adapter is starting with configuration :" + raProp);
-        if (raProp == null || !raProp.equals("VALID")) {
-            throw new ResourceAdapterInternalException("Resource adapter cannot start. It is configured as : " + raProp);
-        }
-    }
-
-    /**
-     * Empty implementation of stop method
-     */
-    public void stop() {
-
-    }
-
-    public void setRAProperty(String s) {
-        raProp = s;
-    }
-
-    public String getRAProperty() {
-        return raProp;
-    }
-
-}
diff --git a/appserver/tests/appserv-tests/devtests/connector/web2connector/ra/src/com/sun/jdbcra/spi/1.4/build.xml b/appserver/tests/appserv-tests/devtests/connector/web2connector/ra/src/com/sun/jdbcra/spi/1.4/build.xml
deleted file mode 100644
index e006b1d..0000000
--- a/appserver/tests/appserv-tests/devtests/connector/web2connector/ra/src/com/sun/jdbcra/spi/1.4/build.xml
+++ /dev/null
@@ -1,83 +0,0 @@
-<?xml version="1.0"?>
-<!--
-
-    Copyright (c) 2017, 2018 Oracle and/or its affiliates. All rights reserved.
-
-    This program and the accompanying materials are made available under the
-    terms of the Eclipse Public License v. 2.0, which is available at
-    http://www.eclipse.org/legal/epl-2.0.
-
-    This Source Code may also be made available under the following Secondary
-    Licenses when the conditions for such availability set forth in the
-    Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
-    version 2 with the GNU Classpath Exception, which is available 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 name="jdbc_connector" basedir="${gjc.home}" default="build">
-  <property name="pkg.dir" value="com/sun/gjc/spi"/>
-
-  <target name="clean">
-    <ant antfile="build.xml" dir="${gjc.home}/bin" target="clean"/>
-  </target>
-
-  <target name="compile14">
-    <ant antfile="build.xml" dir="${gjc.home}/bin" target="compile14"/>
-  </target>
-
-  <target name="package14">
-
-            <mkdir dir="${gjc.home}/dist/spi/1.5"/>
-
-        <jar jarfile="${gjc.home}/dist/spi/1.5/jdbc.jar" basedir="${class.dir}"
-        includes="${pkg.dir}/**/*, com/sun/gjc/util/**/*, com/sun/gjc/common/**/*" excludes="com/sun/gjc/cci/**/*,com/sun/gjc/spi/1.4/**/*"/>
-
-        <jar jarfile="${gjc.home}/dist/spi/1.5/__cp.rar" basedir="${gjc.home}/dist/spi/1.5" includes="jdbc.jar"/>
-        <copy file="${gjc.home}/src/com/sun/gjc/spi/1.4/ra-cp.xml" tofile="${gjc.home}/dist/spi/1.5/ra.xml" overwrite="yes">
-        </copy>
-           <jar jarfile="${gjc.home}/dist/spi/1.5/__cp.rar" update="yes">
-                   <metainf dir="${gjc.home}/dist/spi/1.5">
-                           <include name="ra.xml"/>
-                   </metainf>
-           </jar>
-
-           <jar jarfile="${gjc.home}/dist/spi/1.5/__xa.rar" basedir="${gjc.home}/dist/spi/1.5" includes="jdbc.jar"/>
-        <copy file="${gjc.home}/src/com/sun/gjc/spi/1.4/ra-xa.xml" tofile="${gjc.home}/dist/spi/1.5/ra.xml" overwrite="yes">
-        </copy>
-           <jar jarfile="${gjc.home}/dist/spi/1.5/__xa.rar" update="yes">
-                   <metainf dir="${gjc.home}/dist/spi/1.5">
-                           <include name="ra.xml"/>
-                   </metainf>
-           </jar>
-
-           <jar jarfile="${gjc.home}/dist/spi/1.5/__dm.rar" basedir="${gjc.home}/dist/spi/1.5" includes="jdbc.jar"/>
-        <copy file="${gjc.home}/src/com/sun/gjc/spi/1.4/ra-dm.xml" tofile="${gjc.home}/dist/spi/1.5/ra.xml" overwrite="yes">
-        </copy>
-           <jar jarfile="${gjc.home}/dist/spi/1.5/__dm.rar" update="yes">
-                   <metainf dir="${gjc.home}/dist/spi/1.5">
-                           <include name="ra.xml"/>
-                   </metainf>
-           </jar>
-
-           <jar jarfile="${gjc.home}/dist/spi/1.5/__ds.rar" basedir="${gjc.home}/dist/spi/1.5" includes="jdbc.jar"/>
-        <copy file="${gjc.home}/src/com/sun/gjc/spi/1.4/ra-ds.xml" tofile="${gjc.home}/dist/spi/1.5/ra.xml" overwrite="yes">
-        </copy>
-           <jar jarfile="${gjc.home}/dist/spi/1.5/__ds.rar" update="yes">
-                   <metainf dir="${gjc.home}/dist/spi/1.5">
-                           <include name="ra.xml"/>
-                   </metainf>
-           </jar>
-
-           <delete dir="${gjc.home}/dist/com"/>
-           <delete file="${gjc.home}/dist/spi/1.5/jdbc.jar"/>
-           <delete file="${gjc.home}/dist/spi/1.5/ra.xml"/>
-
-  </target>
-
-  <target name="build14" depends="compile14, package14"/>
-    <target name="build13"/>
-        <target name="build" depends="build14, build13"/>
-</project>
diff --git a/appserver/tests/appserv-tests/devtests/connector/web2connector/ra/src/com/sun/jdbcra/spi/1.4/ra-ds.xml b/appserver/tests/appserv-tests/devtests/connector/web2connector/ra/src/com/sun/jdbcra/spi/1.4/ra-ds.xml
deleted file mode 100644
index f404cfe..0000000
--- a/appserver/tests/appserv-tests/devtests/connector/web2connector/ra/src/com/sun/jdbcra/spi/1.4/ra-ds.xml
+++ /dev/null
@@ -1,279 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
-
-    Copyright (c) 2017, 2018 Oracle and/or its affiliates. All rights reserved.
-
-    This program and the accompanying materials are made available under the
-    terms of the Eclipse Public License v. 2.0, which is available at
-    http://www.eclipse.org/legal/epl-2.0.
-
-    This Source Code may also be made available under the following Secondary
-    Licenses when the conditions for such availability set forth in the
-    Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
-    version 2 with the GNU Classpath Exception, which is available at
-    https://www.gnu.org/software/classpath/license.html.
-
-    SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
-
--->
-
-<connector xmlns="http://java.sun.com/xml/ns/j2ee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-           xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/connector_1_5.xsd"
-           version="1.5">
-
-    <!-- There can be any number of "description" elements including 0 -->
-    <!-- This field can be optionally used by the driver vendor to provide a
-         description for the resource adapter.
-    -->
-    <description>Resource adapter wrapping Datasource implementation of driver</description>
-
-    <!-- There can be any number of "display-name" elements including 0 -->
-    <!-- The field can be optionally used by the driver vendor to provide a name that
-         is intended to be displayed by tools.
-    -->
-    <display-name>DataSource Resource Adapter</display-name>
-
-    <!-- There can be any number of "icon" elements including 0 -->
-    <!-- The following is an example.
-        <icon>
-            This "small-icon" element can occur atmost once. This should specify the
-            absolute or the relative path name of a file containing a small (16 x 16)
-            icon - JPEG or GIF image. The following is an example.
-            <small-icon>smallicon.jpg</small-icon>
-
-            This "large-icon" element can occur atmost once. This should specify the
-            absolute or the relative path name of a file containing a small (32 x 32)
-            icon - JPEG or GIF image. The following is an example.
-            <large-icon>largeicon.jpg</large-icon>
-        </icon>
-    -->
-    <icon>
-        <small-icon></small-icon>
-        <large-icon></large-icon>
-    </icon>
-
-    <!-- The "vendor-name" element should occur exactly once. -->
-    <!-- This should specify the name of the driver vendor. The following is an example.
-        <vendor-name>XYZ INC.</vendor-name>
-    -->
-    <vendor-name>Sun Microsystems</vendor-name>
-
-    <!-- The "eis-type" element should occur exactly once. -->
-    <!-- This should specify the database, for example the product name of
-         the database independent of any version information. The following
-         is an example.
-        <eis-type>XYZ</eis-type>
-    -->
-    <eis-type>Database</eis-type>
-
-    <!-- The "resourceadapter-version" element should occur exactly once. -->
-    <!-- This specifies a string based version of the resource adapter from
-         the driver vendor. The default is being set as 1.0. The driver
-         vendor can change it as required.
-    -->
-    <resourceadapter-version>1.0</resourceadapter-version>
-
-    <!-- This "license" element can occur atmost once -->
-    <!-- This specifies licensing requirements for the resource adapter module.
-         The following is an example.
-        <license>
-            There can be any number of "description" elements including 0.
-            <description>
-                This field can be optionally used by the driver vendor to
-                provide a description for the licensing requirements of the
-                resource adapter like duration of license, numberof connection
-                restrictions.
-            </description>
-
-            This specifies whether a license is required to deploy and use the resource adapter.
-            Default is false.
-            <license-required>false</license-required>
-        </license>
-    -->
-    <license>
-        <license-required>false</license-required>
-    </license>
-
-    <resourceadapter>
-
-        <!--
-            The "config-property" elements can have zero or more "description"
-            elements. The "description" elements are not being included
-            in the "config-property" elements below. The driver vendor can
-            add them as required.
-        -->
-
-        <resourceadapter-class>com.sun.jdbcra.spi.ResourceAdapter</resourceadapter-class>
-
-        <outbound-resourceadapter>
-
-            <connection-definition>
-
-                <managedconnectionfactory-class>com.sun.jdbcra.spi.DSManagedConnectionFactory</managedconnectionfactory-class>
-
-                <!-- There can be any number of these elements including 0 -->
-                <config-property>
-                    <config-property-name>ServerName</config-property-name>
-                    <config-property-type>java.lang.String</config-property-type>
-                    <config-property-value>localhost</config-property-value>
-                </config-property>
-                <config-property>
-                    <config-property-name>PortNumber</config-property-name>
-                    <config-property-type>java.lang.String</config-property-type>
-                    <config-property-value>1527</config-property-value>
-                </config-property>
-                <config-property>
-                    <config-property-name>databaseName</config-property-name>
-                    <config-property-type>java.lang.String</config-property-type>
-                    <config-property-value>testdb</config-property-value>
-                </config-property>
-
-                <config-property>
-                    <config-property-name>User</config-property-name>
-                    <config-property-type>java.lang.String</config-property-type>
-                    <config-property-value>dbuser</config-property-value>
-                </config-property>
-                <config-property>
-                    <config-property-name>UserName</config-property-name>
-                    <config-property-type>java.lang.String</config-property-type>
-                    <config-property-value>dbuser</config-property-value>
-                </config-property>
-
-                <config-property>
-                    <config-property-name>Password</config-property-name>
-                    <config-property-type>java.lang.String</config-property-type>
-                    <config-property-value>dbpassword</config-property-value>
-                </config-property>
-                <config-property>
-                    <config-property-name>URL</config-property-name>
-                    <config-property-type>java.lang.String</config-property-type>
-                    <config-property-value>jdbc:derby://localhost:1527/testdb;create=true</config-property-value>
-                </config-property>
-                <!--<config-property>
-                    <config-property-name>DataSourceName</config-property-name>
-                    <config-property-type>java.lang.String</config-property-type>
-                    <config-property-value></config-property-value>
-                </config-property>-->
-                <config-property>
-                    <config-property-name>Description</config-property-name>
-                    <config-property-type>java.lang.String</config-property-type>
-                    <config-property-value>Oracle thin driver Datasource</config-property-value>
-                 </config-property>
-<!--
-                <config-property>
-                    <config-property-name>NetworkProtocol</config-property-name>
-                    <config-property-type>java.lang.String</config-property-type>
-                    <config-property-value></config-property-value>
-                </config-property>
-                <config-property>
-                    <config-property-name>RoleName</config-property-name>
-                    <config-property-type>java.lang.String</config-property-type>
-                    <config-property-value></config-property-value>
-                </config-property>
-                <config-property>
-                    <config-property-name>LoginTimeOut</config-property-name>
-                    <config-property-type>java.lang.String</config-property-type>
-                    <config-property-value>0</config-property-value>
-                </config-property>
-                <config-property>
-                    <config-property-name>DriverProperties</config-property-name>
-                    <config-property-type>java.lang.String</config-property-type>
-                    <config-property-value></config-property-value>
-                </config-property>
--->
-                <config-property>
-                    <config-property-name>Delimiter</config-property-name>
-                    <config-property-type>java.lang.String</config-property-type>
-                    <config-property-value>#</config-property-value>
-                </config-property>
-                <config-property>
-                    <config-property-name>ClassName</config-property-name>
-                    <config-property-type>java.lang.String</config-property-type>
-                    <config-property-value>org.apache.derby.jdbc.ClientDataSource40</config-property-value>
-                </config-property>
-                <config-property>
-                      <config-property-name>ConnectionAttributes</config-property-name>
-                      <config-property-type>java.lang.String</config-property-type>
-                      <config-property-value>;create=true</config-property-value>
-              </config-property>
-
-<!--
-                      <config-property>
-                        <config-property-name>ConnectionValidationRequired</config-property-name>
-                        <config-property-type>java.lang.String</config-property-type>
-                        <config-property-value>false</config-property-value>
-                </config-property>
-                <config-property>
-                        <config-property-name>ValidationMethod</config-property-name>
-                        <config-property-type>java.lang.String</config-property-type>
-                        <config-property-value></config-property-value>
-                </config-property>
-                <config-property>
-                        <config-property-name>ValidationTableName</config-property-name>
-                        <config-property-type>java.lang.String</config-property-type>
-                        <config-property-value></config-property-value>
-                </config-property>
-                <config-property>
-                        <config-property-name>TransactionIsolation</config-property-name>
-                        <config-property-type>java.lang.String</config-property-type>
-                        <config-property-value></config-property-value>
-                </config-property>
-                <config-property>
-                        <config-property-name>GuaranteeIsolationLevel</config-property-name>
-                        <config-property-type>java.lang.String</config-property-type>
-                        <config-property-value></config-property-value>
-                </config-property>
--->
-
-                <connectionfactory-interface>javax.sql.DataSource</connectionfactory-interface>
-
-                <connectionfactory-impl-class>com.sun.jdbcra.spi.DataSource</connectionfactory-impl-class>
-
-                <connection-interface>java.sql.Connection</connection-interface>
-
-                <connection-impl-class>com.sun.jdbcra.spi.ConnectionHolder</connection-impl-class>
-
-            </connection-definition>
-
-            <transaction-support>LocalTransaction</transaction-support>
-
-            <authentication-mechanism>
-                <!-- There can be any number of "description" elements including 0 -->
-                <!-- Not including the "description" element -->
-
-                <authentication-mechanism-type>BasicPassword</authentication-mechanism-type>
-
-                <credential-interface>jakarta.resource.spi.security.PasswordCredential</credential-interface>
-            </authentication-mechanism>
-
-            <reauthentication-support>false</reauthentication-support>
-
-        </outbound-resourceadapter>
-        <adminobject>
-               <adminobject-interface>com.sun.jdbcra.spi.JdbcSetupAdmin</adminobject-interface>
-               <adminobject-class>com.sun.jdbcra.spi.JdbcSetupAdminImpl</adminobject-class>
-               <config-property>
-                   <config-property-name>TableName</config-property-name>
-                   <config-property-type>java.lang.String</config-property-type>
-                   <config-property-value></config-property-value>
-               </config-property>
-               <config-property>
-                   <config-property-name>SchemaName</config-property-name>
-                   <config-property-type>java.lang.String</config-property-type>
-                   <config-property-value></config-property-value>
-               </config-property>
-               <config-property>
-                   <config-property-name>JndiName</config-property-name>
-                   <config-property-type>java.lang.String</config-property-type>
-                   <config-property-value></config-property-value>
-               </config-property>
-               <config-property>
-                   <config-property-name>NoOfRows</config-property-name>
-                   <config-property-type>java.lang.Integer</config-property-type>
-                   <config-property-value>0</config-property-value>
-               </config-property>
-        </adminobject>
-
-    </resourceadapter>
-
-</connector>
diff --git a/appserver/tests/appserv-tests/devtests/connector/web2connector/ra/src/com/sun/jdbcra/spi/ConnectionManager.java b/appserver/tests/appserv-tests/devtests/connector/web2connector/ra/src/com/sun/jdbcra/spi/ConnectionManager.java
deleted file mode 100644
index 2ee36c5..0000000
--- a/appserver/tests/appserv-tests/devtests/connector/web2connector/ra/src/com/sun/jdbcra/spi/ConnectionManager.java
+++ /dev/null
@@ -1,51 +0,0 @@
-/*
- * Copyright (c) 2003, 2018 Oracle and/or its affiliates. All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v. 2.0, which is available at
- * http://www.eclipse.org/legal/epl-2.0.
- *
- * This Source Code may also be made available under the following Secondary
- * Licenses when the conditions for such availability set forth in the
- * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
- * version 2 with the GNU Classpath Exception, which is available at
- * https://www.gnu.org/software/classpath/license.html.
- *
- * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
- */
-
-package com.sun.jdbcra.spi;
-
-import jakarta.resource.spi.ManagedConnectionFactory;
-import jakarta.resource.spi.ManagedConnection;
-import jakarta.resource.ResourceException;
-import jakarta.resource.spi.ConnectionRequestInfo;
-
-/**
- * ConnectionManager implementation for Generic JDBC Connector.
- *
- * @version        1.0, 02/07/31
- * @author        Binod P.G
- */
-public class ConnectionManager implements jakarta.resource.spi.ConnectionManager{
-
-    /**
-     * Returns a <code>Connection </code> object to the <code>ConnectionFactory</code>
-     *
-     * @param        mcf        <code>ManagedConnectionFactory</code> object.
-     * @param        info        <code>ConnectionRequestInfo</code> object.
-     * @return        A <code>Connection</code> Object.
-     * @throws        ResourceException In case of an error in getting the <code>Connection</code>.
-     */
-    public Object allocateConnection(ManagedConnectionFactory mcf,
-                                         ConnectionRequestInfo info)
-                                         throws ResourceException {
-        ManagedConnection mc = mcf.createManagedConnection(null, info);
-        return mc.getConnection(null, info);
-    }
-
-    /*
-     * This class could effectively implement Connection pooling also.
-     * Could be done for FCS.
-     */
-}
diff --git a/appserver/tests/appserv-tests/devtests/connector/web2connector/ra/src/com/sun/jdbcra/spi/ConnectionRequestInfo.java b/appserver/tests/appserv-tests/devtests/connector/web2connector/ra/src/com/sun/jdbcra/spi/ConnectionRequestInfo.java
deleted file mode 100644
index ddd0a28..0000000
--- a/appserver/tests/appserv-tests/devtests/connector/web2connector/ra/src/com/sun/jdbcra/spi/ConnectionRequestInfo.java
+++ /dev/null
@@ -1,99 +0,0 @@
-/*
- * Copyright (c) 2003, 2018 Oracle and/or its affiliates. All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v. 2.0, which is available at
- * http://www.eclipse.org/legal/epl-2.0.
- *
- * This Source Code may also be made available under the following Secondary
- * Licenses when the conditions for such availability set forth in the
- * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
- * version 2 with the GNU Classpath Exception, which is available at
- * https://www.gnu.org/software/classpath/license.html.
- *
- * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
- */
-
-package com.sun.jdbcra.spi;
-
-/**
- * ConnectionRequestInfo implementation for Generic JDBC Connector.
- *
- * @version        1.0, 02/07/31
- * @author        Binod P.G
- */
-public class ConnectionRequestInfo implements jakarta.resource.spi.ConnectionRequestInfo{
-
-    private String user;
-    private String password;
-
-    /**
-     * Constructs a new <code>ConnectionRequestInfo</code> object
-     *
-     * @param        user        User Name.
-     * @param        password        Password
-     */
-    public ConnectionRequestInfo(String user, String password) {
-        this.user = user;
-        this.password = password;
-    }
-
-    /**
-     * Retrieves the user name of the ConnectionRequestInfo.
-     *
-     * @return        User name of ConnectionRequestInfo.
-     */
-    public String getUser() {
-        return user;
-    }
-
-    /**
-     * Retrieves the password of the ConnectionRequestInfo.
-     *
-     * @return        Password of ConnectionRequestInfo.
-     */
-    public String getPassword() {
-        return password;
-    }
-
-    /**
-     * Verify whether two ConnectionRequestInfos are equal.
-     *
-     * @return        True, if they are equal and false otherwise.
-     */
-    public boolean equals(Object obj) {
-        if (obj == null) return false;
-        if (obj instanceof ConnectionRequestInfo) {
-            ConnectionRequestInfo other = (ConnectionRequestInfo) obj;
-            return (isEqual(this.user, other.user) &&
-                    isEqual(this.password, other.password));
-        } else {
-            return false;
-        }
-    }
-
-    /**
-     * Retrieves the hashcode of the object.
-     *
-     * @return        hashCode.
-     */
-    public int hashCode() {
-        String result = "" + user + password;
-        return result.hashCode();
-    }
-
-    /**
-     * Compares two objects.
-     *
-     * @param        o1        First object.
-     * @param        o2        Second object.
-     */
-    private boolean isEqual(Object o1, Object o2) {
-        if (o1 == null) {
-            return (o2 == null);
-        } else {
-            return o1.equals(o2);
-        }
-    }
-
-}
diff --git a/appserver/tests/appserv-tests/devtests/connector/web2connector/ra/src/com/sun/jdbcra/spi/DSManagedConnectionFactory.java b/appserver/tests/appserv-tests/devtests/connector/web2connector/ra/src/com/sun/jdbcra/spi/DSManagedConnectionFactory.java
deleted file mode 100644
index 97e2474..0000000
--- a/appserver/tests/appserv-tests/devtests/connector/web2connector/ra/src/com/sun/jdbcra/spi/DSManagedConnectionFactory.java
+++ /dev/null
@@ -1,576 +0,0 @@
-/*
- * Copyright (c) 2003, 2018 Oracle and/or its affiliates. All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v. 2.0, which is available at
- * http://www.eclipse.org/legal/epl-2.0.
- *
- * This Source Code may also be made available under the following Secondary
- * Licenses when the conditions for such availability set forth in the
- * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
- * version 2 with the GNU Classpath Exception, which is available at
- * https://www.gnu.org/software/classpath/license.html.
- *
- * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
- */
-
-package com.sun.jdbcra.spi;
-
-import jakarta.resource.ResourceException;
-import jakarta.resource.spi.ConnectionRequestInfo;
-import com.sun.jdbcra.spi.ConnectionManager;
-import com.sun.jdbcra.common.DataSourceSpec;
-import com.sun.jdbcra.common.DataSourceObjectBuilder;
-import com.sun.jdbcra.util.SecurityUtils;
-import jakarta.resource.spi.security.PasswordCredential;
-import com.sun.jdbcra.spi.ManagedConnectionFactory;
-import com.sun.jdbcra.common.DataSourceSpec;
-import java.util.logging.Logger;
-import java.util.logging.Level;
-
-/**
- * Data Source <code>ManagedConnectionFactory</code> implementation for Generic JDBC Connector.
- *
- * @version        1.0, 02/07/30
- * @author        Evani Sai Surya Kiran
- */
-
-public class DSManagedConnectionFactory extends ManagedConnectionFactory {
-
-    private transient javax.sql.DataSource dataSourceObj;
-
-    private static Logger _logger;
-    static {
-        _logger = Logger.getAnonymousLogger();
-    }
-    private boolean debug = false;
-
-    /**
-     * Creates a new physical connection to the underlying EIS resource
-     * manager.
-     *
-     * @param        subject        <code>Subject</code> instance passed by the application server
-     * @param        cxRequestInfo        <code>ConnectionRequestInfo</code> which may be created
-     *                                    as a result of the invocation <code>getConnection(user, password)</code>
-     *                                    on the <code>DataSource</code> object
-     * @return        <code>ManagedConnection</code> object created
-     * @throws        ResourceException        if there is an error in instantiating the
-     *                                         <code>DataSource</code> object used for the
-     *                                       creation of the <code>ManagedConnection</code> object
-     * @throws        SecurityException        if there ino <code>PasswordCredential</code> object
-     *                                         satisfying this request
-     * @throws        ResourceAllocationException        if there is an error in allocating the
-     *                                                physical connection
-     */
-    public jakarta.resource.spi.ManagedConnection createManagedConnection(javax.security.auth.Subject subject,
-        ConnectionRequestInfo cxRequestInfo) throws ResourceException {
-        if(logWriter != null) {
-                logWriter.println("In createManagedConnection");
-        }
-        PasswordCredential pc = SecurityUtils.getPasswordCredential(this, subject, cxRequestInfo);
-
-        if(dataSourceObj == null) {
-            if(dsObjBuilder == null) {
-                dsObjBuilder = new DataSourceObjectBuilder(spec);
-            }
-
-            try {
-                dataSourceObj = (javax.sql.DataSource) dsObjBuilder.constructDataSourceObject();
-            } catch(ClassCastException cce) {
-                _logger.log(Level.SEVERE, "jdbc.exc_cce", cce);
-                throw new jakarta.resource.ResourceException(cce.getMessage());
-            }
-        }
-
-        java.sql.Connection dsConn = null;
-
-        try {
-            /* For the case where the user/passwd of the connection pool is
-             * equal to the PasswordCredential for the connection request
-             * get a connection from this pool directly.
-             * for all other conditions go create a new connection
-             */
-            if ( isEqual( pc, getUser(), getPassword() ) ) {
-                dsConn = dataSourceObj.getConnection();
-            } else {
-                dsConn = dataSourceObj.getConnection(pc.getUserName(),
-                    new String(pc.getPassword()));
-            }
-        } catch(java.sql.SQLException sqle) {
-            sqle.printStackTrace();
-            _logger.log(Level.WARNING, "jdbc.exc_create_conn", sqle);
-            throw new jakarta.resource.spi.ResourceAllocationException("The connection could not be allocated: " +
-                sqle.getMessage());
-        } catch(Exception e){
-            e.printStackTrace();
-        }
-
-        com.sun.jdbcra.spi.ManagedConnection mc = new com.sun.jdbcra.spi.ManagedConnection(null, dsConn, pc, this);
-        //GJCINT
-        /*setIsolation(mc);
-        isValid(mc); */
-        return mc;
-    }
-
-    /**
-     * Check if this <code>ManagedConnectionFactory</code> is equal to
-     * another <code>ManagedConnectionFactory</code>.
-     *
-     * @param        other        <code>ManagedConnectionFactory</code> object for checking equality with
-     * @return        true        if the property sets of both the
-     *                        <code>ManagedConnectionFactory</code> objects are the same
-     *                false        otherwise
-     */
-    public boolean equals(Object other) {
-        if(logWriter != null) {
-                logWriter.println("In equals");
-        }
-        /**
-         * The check below means that two ManagedConnectionFactory objects are equal
-         * if and only if their properties are the same.
-         */
-        if(other instanceof com.sun.jdbcra.spi.DSManagedConnectionFactory) {
-            com.sun.jdbcra.spi.DSManagedConnectionFactory otherMCF =
-                (com.sun.jdbcra.spi.DSManagedConnectionFactory) other;
-            return this.spec.equals(otherMCF.spec);
-        }
-        return false;
-    }
-
-    /**
-     * Sets the server name.
-     *
-     * @param        serverName        <code>String</code>
-     * @see        <code>getServerName</code>
-     */
-    public void setserverName(String serverName) {
-        spec.setDetail(DataSourceSpec.SERVERNAME, serverName);
-    }
-
-    /**
-     * Gets the server name.
-     *
-     * @return        serverName
-     * @see        <code>setServerName</code>
-     */
-    public String getserverName() {
-        return spec.getDetail(DataSourceSpec.SERVERNAME);
-    }
-
-    /**
-     * Sets the server name.
-     *
-     * @param        serverName        <code>String</code>
-     * @see        <code>getServerName</code>
-     */
-    public void setServerName(String serverName) {
-        spec.setDetail(DataSourceSpec.SERVERNAME, serverName);
-    }
-
-    /**
-     * Gets the server name.
-     *
-     * @return        serverName
-     * @see        <code>setServerName</code>
-     */
-    public String getServerName() {
-        return spec.getDetail(DataSourceSpec.SERVERNAME);
-    }
-
-    /**
-     * Sets the port number.
-     *
-     * @param        portNumber        <code>String</code>
-     * @see        <code>getPortNumber</code>
-     */
-    public void setportNumber(String portNumber) {
-        spec.setDetail(DataSourceSpec.PORTNUMBER, portNumber);
-    }
-
-    /**
-     * Gets the port number.
-     *
-     * @return        portNumber
-     * @see        <code>setPortNumber</code>
-     */
-    public String getportNumber() {
-        return spec.getDetail(DataSourceSpec.PORTNUMBER);
-    }
-
-    /**
-     * Sets the port number.
-     *
-     * @param        portNumber        <code>String</code>
-     * @see        <code>getPortNumber</code>
-     */
-    public void setPortNumber(String portNumber) {
-        spec.setDetail(DataSourceSpec.PORTNUMBER, portNumber);
-    }
-
-    /**
-     * Gets the port number.
-     *
-     * @return        portNumber
-     * @see        <code>setPortNumber</code>
-     */
-    public String getPortNumber() {
-        return spec.getDetail(DataSourceSpec.PORTNUMBER);
-    }
-
-    /**
-     * Sets the database name.
-     *
-     * @param        databaseName        <code>String</code>
-     * @see        <code>getDatabaseName</code>
-     */
-    public void setdatabaseName(String databaseName) {
-        spec.setDetail(DataSourceSpec.DATABASENAME, databaseName);
-    }
-
-    /**
-     * Gets the database name.
-     *
-     * @return        databaseName
-     * @see        <code>setDatabaseName</code>
-     */
-    public String getdatabaseName() {
-        return spec.getDetail(DataSourceSpec.DATABASENAME);
-    }
-
-    /**
-     * Sets the database name.
-     *
-     * @param        databaseName        <code>String</code>
-     * @see        <code>getDatabaseName</code>
-     */
-    public void setDatabaseName(String databaseName) {
-        spec.setDetail(DataSourceSpec.DATABASENAME, databaseName);
-    }
-
-    /**
-     * Gets the database name.
-     *
-     * @return        databaseName
-     * @see        <code>setDatabaseName</code>
-     */
-    public String getDatabaseName() {
-        return spec.getDetail(DataSourceSpec.DATABASENAME);
-    }
-
-    /**
-     * Sets the data source name.
-     *
-     * @param        dsn <code>String</code>
-     * @see        <code>getDataSourceName</code>
-     */
-    public void setdataSourceName(String dsn) {
-        spec.setDetail(DataSourceSpec.DATASOURCENAME, dsn);
-    }
-
-    /**
-     * Gets the data source name.
-     *
-     * @return        dsn
-     * @see        <code>setDataSourceName</code>
-     */
-    public String getdataSourceName() {
-        return spec.getDetail(DataSourceSpec.DATASOURCENAME);
-    }
-
-    /**
-     * Sets the data source name.
-     *
-     * @param        dsn <code>String</code>
-     * @see        <code>getDataSourceName</code>
-     */
-    public void setDataSourceName(String dsn) {
-        spec.setDetail(DataSourceSpec.DATASOURCENAME, dsn);
-    }
-
-    /**
-     * Gets the data source name.
-     *
-     * @return        dsn
-     * @see        <code>setDataSourceName</code>
-     */
-    public String getDataSourceName() {
-        return spec.getDetail(DataSourceSpec.DATASOURCENAME);
-    }
-
-    /**
-     * Sets the description.
-     *
-     * @param        desc        <code>String</code>
-     * @see        <code>getDescription</code>
-     */
-    public void setdescription(String desc) {
-        spec.setDetail(DataSourceSpec.DESCRIPTION, desc);
-    }
-
-    /**
-     * Gets the description.
-     *
-     * @return        desc
-     * @see        <code>setDescription</code>
-     */
-    public String getdescription() {
-        return spec.getDetail(DataSourceSpec.DESCRIPTION);
-    }
-
-    /**
-     * Sets the description.
-     *
-     * @param        desc        <code>String</code>
-     * @see        <code>getDescription</code>
-     */
-    public void setDescription(String desc) {
-        spec.setDetail(DataSourceSpec.DESCRIPTION, desc);
-    }
-
-    /**
-     * Gets the description.
-     *
-     * @return        desc
-     * @see        <code>setDescription</code>
-     */
-    public String getDescription() {
-        return spec.getDetail(DataSourceSpec.DESCRIPTION);
-    }
-
-    /**
-     * Sets the network protocol.
-     *
-     * @param        nwProtocol        <code>String</code>
-     * @see        <code>getNetworkProtocol</code>
-     */
-    public void setnetworkProtocol(String nwProtocol) {
-        spec.setDetail(DataSourceSpec.NETWORKPROTOCOL, nwProtocol);
-    }
-
-    /**
-     * Gets the network protocol.
-     *
-     * @return        nwProtocol
-     * @see        <code>setNetworkProtocol</code>
-     */
-    public String getnetworkProtocol() {
-        return spec.getDetail(DataSourceSpec.NETWORKPROTOCOL);
-    }
-
-    /**
-     * Sets the network protocol.
-     *
-     * @param        nwProtocol        <code>String</code>
-     * @see        <code>getNetworkProtocol</code>
-     */
-    public void setNetworkProtocol(String nwProtocol) {
-        spec.setDetail(DataSourceSpec.NETWORKPROTOCOL, nwProtocol);
-    }
-
-    /**
-     * Gets the network protocol.
-     *
-     * @return        nwProtocol
-     * @see        <code>setNetworkProtocol</code>
-     */
-    public String getNetworkProtocol() {
-        return spec.getDetail(DataSourceSpec.NETWORKPROTOCOL);
-    }
-
-    /**
-     * Sets the role name.
-     *
-     * @param        roleName        <code>String</code>
-     * @see        <code>getRoleName</code>
-     */
-    public void setroleName(String roleName) {
-        spec.setDetail(DataSourceSpec.ROLENAME, roleName);
-    }
-
-    /**
-     * Gets the role name.
-     *
-     * @return        roleName
-     * @see        <code>setRoleName</code>
-     */
-    public String getroleName() {
-        return spec.getDetail(DataSourceSpec.ROLENAME);
-    }
-
-    /**
-     * Sets the role name.
-     *
-     * @param        roleName        <code>String</code>
-     * @see        <code>getRoleName</code>
-     */
-    public void setRoleName(String roleName) {
-        spec.setDetail(DataSourceSpec.ROLENAME, roleName);
-    }
-
-    /**
-     * Gets the role name.
-     *
-     * @return        roleName
-     * @see        <code>setRoleName</code>
-     */
-    public String getRoleName() {
-        return spec.getDetail(DataSourceSpec.ROLENAME);
-    }
-
-
-    /**
-     * Sets the login timeout.
-     *
-     * @param        loginTimeOut        <code>String</code>
-     * @see        <code>getLoginTimeOut</code>
-     */
-    public void setloginTimeOut(String loginTimeOut) {
-        spec.setDetail(DataSourceSpec.LOGINTIMEOUT, loginTimeOut);
-    }
-
-    /**
-     * Gets the login timeout.
-     *
-     * @return        loginTimeout
-     * @see        <code>setLoginTimeOut</code>
-     */
-    public String getloginTimeOut() {
-        return spec.getDetail(DataSourceSpec.LOGINTIMEOUT);
-    }
-
-    /**
-     * Sets the login timeout.
-     *
-     * @param        loginTimeOut        <code>String</code>
-     * @see        <code>getLoginTimeOut</code>
-     */
-    public void setLoginTimeOut(String loginTimeOut) {
-        spec.setDetail(DataSourceSpec.LOGINTIMEOUT, loginTimeOut);
-    }
-
-    /**
-     * Gets the login timeout.
-     *
-     * @return        loginTimeout
-     * @see        <code>setLoginTimeOut</code>
-     */
-    public String getLoginTimeOut() {
-        return spec.getDetail(DataSourceSpec.LOGINTIMEOUT);
-    }
-
-    /**
-     * Sets the delimiter.
-     *
-     * @param        delim        <code>String</code>
-     * @see        <code>getDelimiter</code>
-     */
-    public void setdelimiter(String delim) {
-        spec.setDetail(DataSourceSpec.DELIMITER, delim);
-    }
-
-    /**
-     * Gets the delimiter.
-     *
-     * @return        delim
-     * @see        <code>setDelimiter</code>
-     */
-    public String getdelimiter() {
-        return spec.getDetail(DataSourceSpec.DELIMITER);
-    }
-
-    /**
-     * Sets the delimiter.
-     *
-     * @param        delim        <code>String</code>
-     * @see        <code>getDelimiter</code>
-     */
-    public void setDelimiter(String delim) {
-        spec.setDetail(DataSourceSpec.DELIMITER, delim);
-    }
-
-    /**
-     * Gets the delimiter.
-     *
-     * @return        delim
-     * @see        <code>setDelimiter</code>
-     */
-    public String getDelimiter() {
-        return spec.getDetail(DataSourceSpec.DELIMITER);
-    }
-
-    /**
-     * Sets the driver specific properties.
-     *
-     * @param        driverProps        <code>String</code>
-     * @see        <code>getDriverProperties</code>
-     */
-    public void setdriverProperties(String driverProps) {
-        spec.setDetail(DataSourceSpec.DRIVERPROPERTIES, driverProps);
-    }
-
-    /**
-     * Gets the driver specific properties.
-     *
-     * @return        driverProps
-     * @see        <code>setDriverProperties</code>
-     */
-    public String getdriverProperties() {
-        return spec.getDetail(DataSourceSpec.DRIVERPROPERTIES);
-    }
-
-    /**
-     * Sets the driver specific properties.
-     *
-     * @param        driverProps        <code>String</code>
-     * @see        <code>getDriverProperties</code>
-     */
-    public void setDriverProperties(String driverProps) {
-        spec.setDetail(DataSourceSpec.DRIVERPROPERTIES, driverProps);
-    }
-
-    /**
-     * Gets the driver specific properties.
-     *
-     * @return        driverProps
-     * @see        <code>setDriverProperties</code>
-     */
-    public String getDriverProperties() {
-        return spec.getDetail(DataSourceSpec.DRIVERPROPERTIES);
-    }
-
-    /*
-     * Check if the PasswordCredential passed for this get connection
-     * request is equal to the user/passwd of this connection pool.
-     */
-    private boolean isEqual( PasswordCredential pc, String user,
-        String password) {
-
-        //if equal get direct connection else
-        //get connection with user and password.
-
-        if (user == null && pc == null) {
-            return true;
-        }
-
-        if ( user == null && pc != null ) {
-            return false;
-        }
-
-        if( pc == null ) {
-            return true;
-        }
-
-        if ( user.equals( pc.getUserName() ) ) {
-            if ( password == null && pc.getPassword() == null ) {
-                return true;
-            }
-        }
-
-        if ( user.equals(pc.getUserName()) && password.equals(pc.getPassword()) ) {
-            return true;
-        }
-
-
-        return false;
-    }
-}
diff --git a/appserver/tests/appserv-tests/devtests/connector/web2connector/ra/src/com/sun/jdbcra/spi/DataSource.java b/appserver/tests/appserv-tests/devtests/connector/web2connector/ra/src/com/sun/jdbcra/spi/DataSource.java
deleted file mode 100644
index 47c1b07..0000000
--- a/appserver/tests/appserv-tests/devtests/connector/web2connector/ra/src/com/sun/jdbcra/spi/DataSource.java
+++ /dev/null
@@ -1,211 +0,0 @@
-/*
- * Copyright (c) 2003, 2018 Oracle and/or its affiliates. All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v. 2.0, which is available at
- * http://www.eclipse.org/legal/epl-2.0.
- *
- * This Source Code may also be made available under the following Secondary
- * Licenses when the conditions for such availability set forth in the
- * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
- * version 2 with the GNU Classpath Exception, which is available at
- * https://www.gnu.org/software/classpath/license.html.
- *
- * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
- */
-
-package com.sun.jdbcra.spi;
-
-import java.io.PrintWriter;
-import java.sql.Connection;
-import java.sql.SQLException;
-import java.sql.SQLFeatureNotSupportedException;
-import jakarta.resource.spi.ManagedConnectionFactory;
-import jakarta.resource.spi.ConnectionManager;
-import jakarta.resource.ResourceException;
-import javax.naming.Reference;
-
-import java.util.logging.Logger;
-import java.util.logging.Level;
-/**
- * Holds the <code>java.sql.Connection</code> object, which is to be
- * passed to the application program.
- *
- * @version        1.0, 02/07/31
- * @author        Binod P.G
- */
-public class DataSource implements javax.sql.DataSource, java.io.Serializable,
-                com.sun.appserv.jdbcra.DataSource, jakarta.resource.Referenceable{
-
-    private ManagedConnectionFactory mcf;
-    private ConnectionManager cm;
-    private int loginTimeout;
-    private PrintWriter logWriter;
-    private String description;
-    private Reference reference;
-
-    private static Logger _logger;
-    static {
-        _logger = Logger.getAnonymousLogger();
-    }
-    private boolean debug = false;
-
-    /**
-     * Constructs <code>DataSource</code> object. This is created by the
-     * <code>ManagedConnectionFactory</code> object.
-     *
-     * @param        mcf        <code>ManagedConnectionFactory</code> object
-     *                        creating this object.
-     * @param        cm        <code>ConnectionManager</code> object either associated
-     *                        with Application server or Resource Adapter.
-     */
-    public DataSource (ManagedConnectionFactory mcf, ConnectionManager cm) {
-            this.mcf = mcf;
-            if (cm == null) {
-                this.cm = (ConnectionManager) new com.sun.jdbcra.spi.ConnectionManager();
-            } else {
-                this.cm = cm;
-            }
-    }
-
-    /**
-     * Retrieves the <code> Connection </code> object.
-     *
-     * @return        <code> Connection </code> object.
-     * @throws SQLException In case of an error.
-     */
-    public Connection getConnection() throws SQLException {
-            try {
-                return (Connection) cm.allocateConnection(mcf,null);
-            } catch (ResourceException re) {
-// This is temporary. This needs to be changed to SEVERE after TP
-            _logger.log(Level.WARNING, "jdbc.exc_get_conn", re.getMessage());
-                throw new SQLException (re);
-            }
-    }
-
-    /**
-     * Retrieves the <code> Connection </code> object.
-     *
-     * @param        user        User name for the Connection.
-     * @param        pwd        Password for the Connection.
-     * @return        <code> Connection </code> object.
-     * @throws SQLException In case of an error.
-     */
-    public Connection getConnection(String user, String pwd) throws SQLException {
-            try {
-                ConnectionRequestInfo info = new ConnectionRequestInfo (user, pwd);
-                return (Connection) cm.allocateConnection(mcf,info);
-            } catch (ResourceException re) {
-// This is temporary. This needs to be changed to SEVERE after TP
-            _logger.log(Level.WARNING, "jdbc.exc_get_conn", re.getMessage());
-                throw new SQLException (re);
-            }
-    }
-
-    /**
-     * Retrieves the actual SQLConnection from the Connection wrapper
-     * implementation of SunONE application server. If an actual connection is
-     * supplied as argument, then it will be just returned.
-     *
-     * @param con Connection obtained from <code>Datasource.getConnection()</code>
-     * @return <code>java.sql.Connection</code> implementation of the driver.
-     * @throws <code>java.sql.SQLException</code> If connection cannot be obtained.
-     */
-    public Connection getConnection(Connection con) throws SQLException {
-
-        Connection driverCon = con;
-        if (con instanceof com.sun.jdbcra.spi.ConnectionHolder) {
-           driverCon = ((com.sun.jdbcra.spi.ConnectionHolder) con).getConnection();
-        }
-
-        return driverCon;
-    }
-
-    /**
-     * Get the login timeout
-     *
-     * @return login timeout.
-     * @throws        SQLException        If a database error occurs.
-     */
-    public int getLoginTimeout() throws SQLException{
-            return        loginTimeout;
-    }
-
-    /**
-     * Set the login timeout
-     *
-     * @param        loginTimeout        Login timeout.
-     * @throws        SQLException        If a database error occurs.
-     */
-    public void setLoginTimeout(int loginTimeout) throws SQLException{
-            this.loginTimeout = loginTimeout;
-    }
-
-    /**
-     * Get the logwriter object.
-     *
-     * @return <code> PrintWriter </code> object.
-     * @throws        SQLException        If a database error occurs.
-     */
-    public PrintWriter getLogWriter() throws SQLException{
-            return        logWriter;
-    }
-
-    /**
-     * Set the logwriter on this object.
-     *
-     * @param <code>PrintWriter</code> object.
-     * @throws        SQLException        If a database error occurs.
-     */
-    public void setLogWriter(PrintWriter logWriter) throws SQLException{
-            this.logWriter = logWriter;
-    }
-
-    public Logger getParentLogger() throws SQLFeatureNotSupportedException{
-      throw new SQLFeatureNotSupportedException("Do not support Java 7 feature.");
-    }
-    /**
-     * Retrieves the description.
-     *
-     * @return        Description about the DataSource.
-     */
-    public String getDescription() {
-            return description;
-    }
-
-    /**
-     * Set the description.
-     *
-     * @param description Description about the DataSource.
-     */
-    public void setDescription(String description) {
-            this.description = description;
-    }
-
-    /**
-     * Get the reference.
-     *
-     * @return <code>Reference</code>object.
-     */
-    public Reference getReference() {
-            return reference;
-    }
-
-    /**
-     * Get the reference.
-     *
-     * @param        reference <code>Reference</code> object.
-     */
-    public void setReference(Reference reference) {
-            this.reference = reference;
-    }
-
-    public <T> T unwrap(Class<T> iface) throws SQLException {
-        return null;
-    }
-
-    public boolean isWrapperFor(Class<?> iface) throws SQLException {
-        return false;
-    }
-}
diff --git a/appserver/tests/appserv-tests/devtests/connector/web2connector/ra/src/com/sun/jdbcra/spi/JdbcSetupAdmin.java b/appserver/tests/appserv-tests/devtests/connector/web2connector/ra/src/com/sun/jdbcra/spi/JdbcSetupAdmin.java
deleted file mode 100644
index bec0d6b..0000000
--- a/appserver/tests/appserv-tests/devtests/connector/web2connector/ra/src/com/sun/jdbcra/spi/JdbcSetupAdmin.java
+++ /dev/null
@@ -1,39 +0,0 @@
-/*
- * Copyright (c) 2017, 2018 Oracle and/or its affiliates. All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v. 2.0, which is available at
- * http://www.eclipse.org/legal/epl-2.0.
- *
- * This Source Code may also be made available under the following Secondary
- * Licenses when the conditions for such availability set forth in the
- * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
- * version 2 with the GNU Classpath Exception, which is available at
- * https://www.gnu.org/software/classpath/license.html.
- *
- * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
- */
-
-package com.sun.jdbcra.spi;
-
-public interface JdbcSetupAdmin {
-
-    public void setTableName(String db);
-
-    public String getTableName();
-
-    public void setJndiName(String name);
-
-    public String getJndiName();
-
-    public void setSchemaName(String name);
-
-    public String getSchemaName();
-
-    public void setNoOfRows(Integer i);
-
-    public Integer getNoOfRows();
-
-    public boolean checkSetup();
-
-}
diff --git a/appserver/tests/appserv-tests/devtests/connector/web2connector/ra/src/com/sun/jdbcra/spi/JdbcSetupAdminImpl.java b/appserver/tests/appserv-tests/devtests/connector/web2connector/ra/src/com/sun/jdbcra/spi/JdbcSetupAdminImpl.java
deleted file mode 100644
index 82c50b5..0000000
--- a/appserver/tests/appserv-tests/devtests/connector/web2connector/ra/src/com/sun/jdbcra/spi/JdbcSetupAdminImpl.java
+++ /dev/null
@@ -1,182 +0,0 @@
-/*
- * Copyright (c) 2017, 2018 Oracle and/or its affiliates. All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v. 2.0, which is available at
- * http://www.eclipse.org/legal/epl-2.0.
- *
- * This Source Code may also be made available under the following Secondary
- * Licenses when the conditions for such availability set forth in the
- * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
- * version 2 with the GNU Classpath Exception, which is available at
- * https://www.gnu.org/software/classpath/license.html.
- *
- * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
- */
-
-package com.sun.jdbcra.spi;
-
-import javax.naming.*;
-import javax.sql.*;
-import java.sql.*;
-// import javax.sql.DataSource;
-public class JdbcSetupAdminImpl implements JdbcSetupAdmin {
-
-    private String tableName;
-
-    private String jndiName;
-
-    private String schemaName;
-
-    private Integer noOfRows;
-
-    public void setTableName(String db) {
-        tableName = db;
-    }
-
-    public String getTableName(){
-        return tableName;
-    }
-
-    public void setJndiName(String name){
-        jndiName = name;
-    }
-
-    public String getJndiName() {
-        return jndiName;
-    }
-
-    public void setSchemaName(String name){
-        schemaName = name;
-    }
-
-    public String getSchemaName() {
-        return schemaName;
-    }
-
-    public void setNoOfRows(Integer i) {
-        System.out.println("Setting no of rows :" + i);
-        noOfRows = i;
-    }
-
-    public Integer getNoOfRows() {
-        return noOfRows;
-    }
-
-private void printHierarchy(ClassLoader cl, int cnt){
-while(cl != null) {
-        for(int i =0; i < cnt; i++)
-                System.out.print(" " );
-        System.out.println("PARENT :" + cl);
-        cl = cl.getParent();
-        cnt += 3;
-}
-}
-
-private void compareHierarchy(ClassLoader cl1, ClassLoader cl2 , int cnt){
-while(cl1 != null || cl2 != null) {
-        for(int i =0; i < cnt; i++)
-                System.out.print(" " );
-        System.out.println("PARENT of ClassLoader 1 :" + cl1);
-        System.out.println("PARENT of ClassLoader 2 :" + cl2);
-        System.out.println("EQUALS : " + (cl1 == cl2));
-        cl1 = cl1.getParent();
-        cl2 = cl2.getParent();
-        cnt += 3;
-}
-}
-
-
-    public boolean checkSetup(){
-
-        if (jndiName== null || jndiName.trim().equals("")) {
-           return false;
-        }
-
-        if (tableName== null || tableName.trim().equals("")) {
-           return false;
-        }
-
-        Connection con = null;
-        Statement s = null;
-        ResultSet rs = null;
-        boolean b = false;
-        try {
-            InitialContext ic = new InitialContext();
-        //debug
-        Class clz = DataSource.class;
-/*
-        if(clz.getClassLoader() != null) {
-                System.out.println("DataSource's clasxs : " +  clz.getName() +  " classloader " + clz.getClassLoader());
-                printHierarchy(clz.getClassLoader().getParent(), 8);
-        }
-        Class cls = ic.lookup(jndiName).getClass();
-        System.out.println("Looked up class's : " + cls.getPackage() + ":" + cls.getName()  + " classloader "  + cls.getClassLoader());
-        printHierarchy(cls.getClassLoader().getParent(), 8);
-
-        System.out.println("Classloaders equal ? " +  (clz.getClassLoader() == cls.getClassLoader()));
-        System.out.println("&*&*&*&* Comparing Hierachy DataSource vs lookedup");
-        if(clz.getClassLoader() != null) {
-                compareHierarchy(clz.getClassLoader(), cls.getClassLoader(), 8);
-        }
-
-        System.out.println("Before lookup");
-*/
-        Object o = ic.lookup(jndiName);
-//        System.out.println("after lookup lookup");
-
-            DataSource ds = (DataSource)o ;
-/*
-        System.out.println("after cast");
-        System.out.println("---------- Trying our Stuff !!!");
-        try {
-                Class o1 = (Class.forName("com.sun.jdbcra.spi.DataSource"));
-                ClassLoader cl1 = o1.getClassLoader();
-                ClassLoader cl2 = DataSource.class.getClassLoader();
-                System.out.println("Cl1 == Cl2" + (cl1 == cl2));
-                System.out.println("Classes equal" + (DataSource.class == o1));
-        } catch (Exception ex) {
-                ex.printStackTrace();
-        }
-*/
-            con = ds.getConnection();
-            String fullTableName = tableName;
-            if (schemaName != null && (!(schemaName.trim().equals("")))) {
-                fullTableName = schemaName.trim() + "." + fullTableName;
-            }
-            String qry = "select * from " + fullTableName;
-
-            System.out.println("Executing query :" + qry);
-
-            s = con.createStatement();
-            rs = s.executeQuery(qry);
-
-            int i = 0;
-            if (rs.next()) {
-                i++;
-            }
-
-            System.out.println("No of rows found:" + i);
-            System.out.println("No of rows expected:" + noOfRows);
-
-            if (i == noOfRows.intValue()) {
-               b = true;
-            } else {
-               b = false;
-            }
-        } catch(Exception e) {
-            e.printStackTrace();
-            b = false;
-        } finally {
-            try {
-                if (rs != null) rs.close();
-                if (s != null) s.close();
-                if (con != null) con.close();
-            } catch (Exception e) {
-            }
-        }
-        System.out.println("Returning setup :" +b);
-        return b;
-    }
-
-}
diff --git a/appserver/tests/appserv-tests/devtests/connector/web2connector/ra/src/com/sun/jdbcra/spi/LocalTransaction.java b/appserver/tests/appserv-tests/devtests/connector/web2connector/ra/src/com/sun/jdbcra/spi/LocalTransaction.java
deleted file mode 100644
index ce8635b..0000000
--- a/appserver/tests/appserv-tests/devtests/connector/web2connector/ra/src/com/sun/jdbcra/spi/LocalTransaction.java
+++ /dev/null
@@ -1,96 +0,0 @@
-/*
- * Copyright (c) 2003, 2018 Oracle and/or its affiliates. All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v. 2.0, which is available at
- * http://www.eclipse.org/legal/epl-2.0.
- *
- * This Source Code may also be made available under the following Secondary
- * Licenses when the conditions for such availability set forth in the
- * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
- * version 2 with the GNU Classpath Exception, which is available at
- * https://www.gnu.org/software/classpath/license.html.
- *
- * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
- */
-
-package com.sun.jdbcra.spi;
-
-import com.sun.jdbcra.spi.ManagedConnection;
-import jakarta.resource.ResourceException;
-import jakarta.resource.spi.LocalTransactionException;
-
-/**
- * <code>LocalTransaction</code> implementation for Generic JDBC Connector.
- *
- * @version        1.0, 02/08/03
- * @author        Evani Sai Surya Kiran
- */
-public class LocalTransaction implements jakarta.resource.spi.LocalTransaction {
-
-    private ManagedConnection mc;
-
-    /**
-     * Constructor for <code>LocalTransaction</code>.
-     * @param        mc        <code>ManagedConnection</code> that returns
-     *                        this <code>LocalTransaction</code> object as
-     *                        a result of <code>getLocalTransaction</code>
-     */
-    public LocalTransaction(ManagedConnection mc) {
-        this.mc = mc;
-    }
-
-    /**
-     * Begin a local transaction.
-     *
-     * @throws        LocalTransactionException        if there is an error in changing
-     *                                                the autocommit mode of the physical
-     *                                                connection
-     */
-    public void begin() throws ResourceException {
-        //GJCINT
-        mc.transactionStarted();
-        try {
-            mc.getActualConnection().setAutoCommit(false);
-        } catch(java.sql.SQLException sqle) {
-            throw new LocalTransactionException(sqle.getMessage());
-        }
-    }
-
-    /**
-     * Commit a local transaction.
-     * @throws        LocalTransactionException        if there is an error in changing
-     *                                                the autocommit mode of the physical
-     *                                                connection or committing the transaction
-     */
-    public void commit() throws ResourceException {
-        Exception e = null;
-        try {
-            mc.getActualConnection().commit();
-            mc.getActualConnection().setAutoCommit(true);
-        } catch(java.sql.SQLException sqle) {
-            throw new LocalTransactionException(sqle.getMessage());
-        }
-        //GJCINT
-        mc.transactionCompleted();
-    }
-
-    /**
-     * Rollback a local transaction.
-     *
-     * @throws        LocalTransactionException        if there is an error in changing
-     *                                                the autocommit mode of the physical
-     *                                                connection or rolling back the transaction
-     */
-    public void rollback() throws ResourceException {
-        try {
-            mc.getActualConnection().rollback();
-            mc.getActualConnection().setAutoCommit(true);
-        } catch(java.sql.SQLException sqle) {
-            throw new LocalTransactionException(sqle.getMessage());
-        }
-        //GJCINT
-        mc.transactionCompleted();
-    }
-
-}
diff --git a/appserver/tests/appserv-tests/devtests/connector/web2connector/ra/src/com/sun/jdbcra/spi/ManagedConnection.java b/appserver/tests/appserv-tests/devtests/connector/web2connector/ra/src/com/sun/jdbcra/spi/ManagedConnection.java
deleted file mode 100644
index f0443d0..0000000
--- a/appserver/tests/appserv-tests/devtests/connector/web2connector/ra/src/com/sun/jdbcra/spi/ManagedConnection.java
+++ /dev/null
@@ -1,664 +0,0 @@
-/*
- * Copyright (c) 2003, 2018 Oracle and/or its affiliates. All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v. 2.0, which is available at
- * http://www.eclipse.org/legal/epl-2.0.
- *
- * This Source Code may also be made available under the following Secondary
- * Licenses when the conditions for such availability set forth in the
- * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
- * version 2 with the GNU Classpath Exception, which is available at
- * https://www.gnu.org/software/classpath/license.html.
- *
- * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
- */
-
-package com.sun.jdbcra.spi;
-
-import jakarta.resource.spi.*;
-import jakarta.resource.*;
-import javax.security.auth.Subject;
-import java.io.PrintWriter;
-import javax.transaction.xa.XAResource;
-import java.util.Set;
-import java.util.Hashtable;
-import java.util.Iterator;
-import javax.sql.PooledConnection;
-import javax.sql.XAConnection;
-import java.sql.Connection;
-import java.sql.SQLException;
-import jakarta.resource.NotSupportedException;
-import jakarta.resource.spi.security.PasswordCredential;
-import com.sun.jdbcra.spi.ConnectionRequestInfo;
-import com.sun.jdbcra.spi.LocalTransaction;
-import com.sun.jdbcra.spi.ManagedConnectionMetaData;
-import com.sun.jdbcra.util.SecurityUtils;
-import com.sun.jdbcra.spi.ConnectionHolder;
-import java.util.logging.Logger;
-import java.util.logging.Level;
-
-/**
- * <code>ManagedConnection</code> implementation for Generic JDBC Connector.
- *
- * @version        1.0, 02/07/22
- * @author        Evani Sai Surya Kiran
- */
-public class ManagedConnection implements jakarta.resource.spi.ManagedConnection {
-
-    public static final int ISNOTAPOOLEDCONNECTION = 0;
-    public static final int ISPOOLEDCONNECTION = 1;
-    public static final int ISXACONNECTION = 2;
-
-    private boolean isDestroyed = false;
-    private boolean isUsable = true;
-
-    private int connectionType = ISNOTAPOOLEDCONNECTION;
-    private PooledConnection pc = null;
-    private java.sql.Connection actualConnection = null;
-    private Hashtable connectionHandles;
-    private PrintWriter logWriter;
-    private PasswordCredential passwdCredential;
-    private jakarta.resource.spi.ManagedConnectionFactory mcf = null;
-    private XAResource xar = null;
-    public ConnectionHolder activeConnectionHandle;
-
-    //GJCINT
-    private int isolationLevelWhenCleaned;
-    private boolean isClean = false;
-
-    private boolean transactionInProgress = false;
-
-    private ConnectionEventListener listener = null;
-
-    private ConnectionEvent ce = null;
-
-    private static Logger _logger;
-    static {
-        _logger = Logger.getAnonymousLogger();
-    }
-
-    /**
-     * Constructor for <code>ManagedConnection</code>. The pooledConn parameter is expected
-     * to be null and sqlConn parameter is the actual connection in case where
-     * the actual connection is got from a non pooled datasource object. The
-     * pooledConn parameter is expected to be non null and sqlConn parameter
-     * is expected to be null in the case where the datasource object is a
-     * connection pool datasource or an xa datasource.
-     *
-     * @param        pooledConn        <code>PooledConnection</code> object in case the
-     *                                physical connection is to be obtained from a pooled
-     *                                <code>DataSource</code>; null otherwise
-     * @param        sqlConn        <code>java.sql.Connection</code> object in case the physical
-     *                        connection is to be obtained from a non pooled <code>DataSource</code>;
-     *                        null otherwise
-     * @param        passwdCred        object conatining the
-     *                                user and password for allocating the connection
-     * @throws        ResourceException        if the <code>ManagedConnectionFactory</code> object
-     *                                        that created this <code>ManagedConnection</code> object
-     *                                        is not the same as returned by <code>PasswordCredential</code>
-     *                                        object passed
-     */
-    public ManagedConnection(PooledConnection pooledConn, java.sql.Connection sqlConn,
-        PasswordCredential passwdCred, jakarta.resource.spi.ManagedConnectionFactory mcf) throws ResourceException {
-        if(pooledConn == null && sqlConn == null) {
-            throw new ResourceException("Connection object cannot be null");
-        }
-
-        if (connectionType == ISNOTAPOOLEDCONNECTION ) {
-            actualConnection = sqlConn;
-        }
-
-        pc = pooledConn;
-        connectionHandles = new Hashtable();
-        passwdCredential = passwdCred;
-        this.mcf = mcf;
-        if(passwdCredential != null &&
-            this.mcf.equals(passwdCredential.getManagedConnectionFactory()) == false) {
-            throw new ResourceException("The ManagedConnectionFactory that has created this " +
-                "ManagedConnection is not the same as the ManagedConnectionFactory returned by" +
-                    " the PasswordCredential for this ManagedConnection");
-        }
-        logWriter = mcf.getLogWriter();
-        activeConnectionHandle = null;
-        ce = new ConnectionEvent(this, ConnectionEvent.CONNECTION_CLOSED);
-    }
-
-    /**
-     * Adds a connection event listener to the ManagedConnection instance.
-     *
-     * @param        listener        <code>ConnectionEventListener</code>
-     * @see <code>removeConnectionEventListener</code>
-     */
-    public void addConnectionEventListener(ConnectionEventListener listener) {
-        this.listener = listener;
-    }
-
-    /**
-     * Used by the container to change the association of an application-level
-     * connection handle with a <code>ManagedConnection</code> instance.
-     *
-     * @param        connection        <code>ConnectionHolder</code> to be associated with
-     *                                this <code>ManagedConnection</code> instance
-     * @throws        ResourceException        if the physical connection is no more
-     *                                        valid or the connection handle passed is null
-     */
-    public void associateConnection(Object connection) throws ResourceException {
-        if(logWriter != null) {
-            logWriter.println("In associateConnection");
-        }
-        checkIfValid();
-        if(connection == null) {
-            throw new ResourceException("Connection handle cannot be null");
-        }
-        ConnectionHolder ch = (ConnectionHolder) connection;
-
-        com.sun.jdbcra.spi.ManagedConnection mc = (com.sun.jdbcra.spi.ManagedConnection)ch.getManagedConnection();
-        mc.activeConnectionHandle = null;
-        isClean = false;
-
-        ch.associateConnection(actualConnection, this);
-        /**
-         * The expectation from the above method is that the connection holder
-         * replaces the actual sql connection it holds with the sql connection
-         * handle being passed in this method call. Also, it replaces the reference
-         * to the ManagedConnection instance with this ManagedConnection instance.
-         * Any previous statements and result sets also need to be removed.
-         */
-
-         if(activeConnectionHandle != null) {
-            activeConnectionHandle.setActive(false);
-        }
-
-        ch.setActive(true);
-        activeConnectionHandle = ch;
-    }
-
-    /**
-     * Application server calls this method to force any cleanup on the
-     * <code>ManagedConnection</code> instance. This method calls the invalidate
-     * method on all ConnectionHandles associated with this <code>ManagedConnection</code>.
-     *
-     * @throws        ResourceException        if the physical connection is no more valid
-     */
-    public void cleanup() throws ResourceException {
-        if(logWriter != null) {
-                logWriter.println("In cleanup");
-        }
-        checkIfValid();
-
-        /**
-         * may need to set the autocommit to true for the non-pooled case.
-         */
-        //GJCINT
-        //if (actualConnection != null) {
-        if (connectionType == ISNOTAPOOLEDCONNECTION ) {
-        try {
-            isolationLevelWhenCleaned = actualConnection.getTransactionIsolation();
-        } catch(SQLException sqle) {
-            throw new ResourceException("The isolation level for the physical connection "
-                + "could not be retrieved");
-        }
-        }
-        isClean = true;
-
-        activeConnectionHandle = null;
-    }
-
-    /**
-     * This method removes all the connection handles from the table
-     * of connection handles and invalidates all of them so that any
-     * operation on those connection handles throws an exception.
-     *
-     * @throws        ResourceException        if there is a problem in retrieving
-     *                                         the connection handles
-     */
-    private void invalidateAllConnectionHandles() throws ResourceException {
-        Set handles = connectionHandles.keySet();
-        Iterator iter = handles.iterator();
-        try {
-            while(iter.hasNext()) {
-                ConnectionHolder ch = (ConnectionHolder)iter.next();
-                ch.invalidate();
-            }
-        } catch(java.util.NoSuchElementException nsee) {
-            throw new ResourceException("Could not find the connection handle: "+ nsee.getMessage());
-        }
-        connectionHandles.clear();
-    }
-
-    /**
-     * Destroys the physical connection to the underlying resource manager.
-     *
-     * @throws        ResourceException        if there is an error in closing the physical connection
-     */
-    public void destroy() throws ResourceException{
-        if(logWriter != null) {
-            logWriter.println("In destroy");
-        }
-        //GJCINT
-        if(isDestroyed == true) {
-            return;
-        }
-
-        activeConnectionHandle = null;
-        try {
-            if(connectionType == ISXACONNECTION || connectionType == ISPOOLEDCONNECTION) {
-                pc.close();
-                pc = null;
-                actualConnection = null;
-            } else {
-                actualConnection.close();
-                actualConnection = null;
-            }
-        } catch(SQLException sqle) {
-            isDestroyed = true;
-            passwdCredential = null;
-            connectionHandles = null;
-            throw new ResourceException("The following exception has occured during destroy: "
-                + sqle.getMessage());
-        }
-        isDestroyed = true;
-        passwdCredential = null;
-        connectionHandles = null;
-    }
-
-    /**
-     * Creates a new connection handle for the underlying physical
-     * connection represented by the <code>ManagedConnection</code> instance.
-     *
-     * @param        subject        <code>Subject</code> parameter needed for authentication
-     * @param        cxReqInfo        <code>ConnectionRequestInfo</code> carries the user
-     *                                and password required for getting this connection.
-     * @return        Connection        the connection handle <code>Object</code>
-     * @throws        ResourceException        if there is an error in allocating the
-     *                                         physical connection from the pooled connection
-     * @throws        SecurityException        if there is a mismatch between the
-     *                                         password credentials or reauthentication is requested
-     */
-    public Object getConnection(Subject sub, jakarta.resource.spi.ConnectionRequestInfo cxReqInfo)
-        throws ResourceException {
-        if(logWriter != null) {
-            logWriter.println("In getConnection");
-        }
-        checkIfValid();
-        com.sun.jdbcra.spi.ConnectionRequestInfo cxRequestInfo = (com.sun.jdbcra.spi.ConnectionRequestInfo) cxReqInfo;
-        PasswordCredential passwdCred = SecurityUtils.getPasswordCredential(this.mcf, sub, cxRequestInfo);
-
-        if(SecurityUtils.isPasswordCredentialEqual(this.passwdCredential, passwdCred) == false) {
-            throw new jakarta.resource.spi.SecurityException("Re-authentication not supported");
-        }
-
-        //GJCINT
-        getActualConnection();
-
-        /**
-         * The following code in the if statement first checks if this ManagedConnection
-         * is clean or not. If it is, it resets the transaction isolation level to what
-         * it was when it was when this ManagedConnection was cleaned up depending on the
-         * ConnectionRequestInfo passed.
-         */
-        if(isClean) {
-            ((com.sun.jdbcra.spi.ManagedConnectionFactory)mcf).resetIsolation(this, isolationLevelWhenCleaned);
-        }
-
-
-        ConnectionHolder connHolderObject = new ConnectionHolder(actualConnection, this);
-        isClean=false;
-
-        if(activeConnectionHandle != null) {
-            activeConnectionHandle.setActive(false);
-        }
-
-        connHolderObject.setActive(true);
-        activeConnectionHandle = connHolderObject;
-
-        return connHolderObject;
-
-    }
-
-    /**
-     * Returns an <code>LocalTransaction</code> instance. The <code>LocalTransaction</code> interface
-     * is used by the container to manage local transactions for a RM instance.
-     *
-     * @return        <code>LocalTransaction</code> instance
-     * @throws        ResourceException        if the physical connection is not valid
-     */
-    public jakarta.resource.spi.LocalTransaction getLocalTransaction() throws ResourceException {
-        if(logWriter != null) {
-            logWriter.println("In getLocalTransaction");
-        }
-        checkIfValid();
-        return new com.sun.jdbcra.spi.LocalTransaction(this);
-    }
-
-    /**
-     * Gets the log writer for this <code>ManagedConnection</code> instance.
-     *
-     * @return        <code>PrintWriter</code> instance associated with this
-     *                <code>ManagedConnection</code> instance
-     * @throws        ResourceException        if the physical connection is not valid
-     * @see <code>setLogWriter</code>
-     */
-    public PrintWriter getLogWriter() throws ResourceException {
-        if(logWriter != null) {
-                logWriter.println("In getLogWriter");
-        }
-        checkIfValid();
-
-        return logWriter;
-    }
-
-    /**
-     * Gets the metadata information for this connection's underlying EIS
-     * resource manager instance.
-     *
-     * @return        <code>ManagedConnectionMetaData</code> instance
-     * @throws        ResourceException        if the physical connection is not valid
-     */
-    public jakarta.resource.spi.ManagedConnectionMetaData getMetaData() throws ResourceException {
-        if(logWriter != null) {
-                logWriter.println("In getMetaData");
-        }
-        checkIfValid();
-
-        return new com.sun.jdbcra.spi.ManagedConnectionMetaData(this);
-    }
-
-    /**
-     * Returns an <code>XAResource</code> instance.
-     *
-     * @return        <code>XAResource</code> instance
-     * @throws        ResourceException        if the physical connection is not valid or
-     *                                        there is an error in allocating the
-     *                                        <code>XAResource</code> instance
-     * @throws        NotSupportedException        if underlying datasource is not an
-     *                                        <code>XADataSource</code>
-     */
-    public XAResource getXAResource() throws ResourceException {
-        if(logWriter != null) {
-                logWriter.println("In getXAResource");
-        }
-        checkIfValid();
-
-        if(connectionType == ISXACONNECTION) {
-            try {
-                if(xar == null) {
-                    /**
-                     * Using the wrapper XAResource.
-                     */
-                    xar = new com.sun.jdbcra.spi.XAResourceImpl(((XAConnection)pc).getXAResource(), this);
-                }
-                return xar;
-            } catch(SQLException sqle) {
-                throw new ResourceException(sqle.getMessage());
-            }
-        } else {
-            throw new NotSupportedException("Cannot get an XAResource from a non XA connection");
-        }
-    }
-
-    /**
-     * Removes an already registered connection event listener from the
-     * <code>ManagedConnection</code> instance.
-     *
-     * @param        listener        <code>ConnectionEventListener</code> to be removed
-     * @see <code>addConnectionEventListener</code>
-     */
-    public void removeConnectionEventListener(ConnectionEventListener listener) {
-        listener = null;
-    }
-
-    /**
-     * This method is called from XAResource wrapper object
-     * when its XAResource.start() has been called or from
-     * LocalTransaction object when its begin() method is called.
-     */
-    void transactionStarted() {
-        transactionInProgress = true;
-    }
-
-    /**
-     * This method is called from XAResource wrapper object
-     * when its XAResource.end() has been called or from
-     * LocalTransaction object when its end() method is called.
-     */
-    void transactionCompleted() {
-        transactionInProgress = false;
-        if(connectionType == ISPOOLEDCONNECTION || connectionType == ISXACONNECTION) {
-            try {
-                isolationLevelWhenCleaned = actualConnection.getTransactionIsolation();
-            } catch(SQLException sqle) {
-                //check what to do in this case!!
-                _logger.log(Level.WARNING, "jdbc.notgot_tx_isolvl");
-            }
-
-            try {
-                actualConnection.close();
-                actualConnection = null;
-            } catch(SQLException sqle) {
-                actualConnection = null;
-            }
-        }
-
-
-        isClean = true;
-
-        activeConnectionHandle = null;
-
-    }
-
-    /**
-     * Checks if a this ManagedConnection is involved in a transaction
-     * or not.
-     */
-    public boolean isTransactionInProgress() {
-        return transactionInProgress;
-    }
-
-    /**
-     * Sets the log writer for this <code>ManagedConnection</code> instance.
-     *
-     * @param        out        <code>PrintWriter</code> to be associated with this
-     *                        <code>ManagedConnection</code> instance
-     * @throws        ResourceException        if the physical connection is not valid
-     * @see <code>getLogWriter</code>
-     */
-    public void setLogWriter(PrintWriter out) throws ResourceException {
-        checkIfValid();
-        logWriter = out;
-    }
-
-    /**
-     * This method determines the type of the connection being held
-     * in this <code>ManagedConnection</code>.
-     *
-     * @param        pooledConn        <code>PooledConnection</code>
-     * @return        connection type
-     */
-    private int getConnectionType(PooledConnection pooledConn) {
-        if(pooledConn == null) {
-            return ISNOTAPOOLEDCONNECTION;
-        } else if(pooledConn instanceof XAConnection) {
-            return ISXACONNECTION;
-        } else {
-            return ISPOOLEDCONNECTION;
-        }
-    }
-
-    /**
-     * Returns the <code>ManagedConnectionFactory</code> instance that
-     * created this <code>ManagedConnection</code> instance.
-     *
-     * @return        <code>ManagedConnectionFactory</code> instance that created this
-     *                <code>ManagedConnection</code> instance
-     */
-    ManagedConnectionFactory getManagedConnectionFactory() {
-        return (com.sun.jdbcra.spi.ManagedConnectionFactory)mcf;
-    }
-
-    /**
-     * Returns the actual sql connection for this <code>ManagedConnection</code>.
-     *
-     * @return        the physical <code>java.sql.Connection</code>
-     */
-    //GJCINT
-    java.sql.Connection getActualConnection() throws ResourceException {
-        //GJCINT
-        if(connectionType == ISXACONNECTION || connectionType == ISPOOLEDCONNECTION) {
-            try {
-                if(actualConnection == null) {
-                    actualConnection = pc.getConnection();
-                }
-
-            } catch(SQLException sqle) {
-                sqle.printStackTrace();
-                throw new ResourceException(sqle.getMessage());
-            }
-        }
-        return actualConnection;
-    }
-
-    /**
-     * Returns the <code>PasswordCredential</code> object associated with this <code>ManagedConnection</code>.
-     *
-     * @return        <code>PasswordCredential</code> associated with this
-     *                <code>ManagedConnection</code> instance
-     */
-    PasswordCredential getPasswordCredential() {
-        return passwdCredential;
-    }
-
-    /**
-     * Checks if this <code>ManagedConnection</code> is valid or not and throws an
-     * exception if it is not valid. A <code>ManagedConnection</code> is not valid if
-     * destroy has not been called and no physical connection error has
-     * occurred rendering the physical connection unusable.
-     *
-     * @throws        ResourceException        if <code>destroy</code> has been called on this
-     *                                        <code>ManagedConnection</code> instance or if a
-     *                                         physical connection error occurred rendering it unusable
-     */
-    //GJCINT
-    void checkIfValid() throws ResourceException {
-        if(isDestroyed == true || isUsable == false) {
-            throw new ResourceException("This ManagedConnection is not valid as the physical " +
-                "connection is not usable.");
-        }
-    }
-
-    /**
-     * This method is called by the <code>ConnectionHolder</code> when its close method is
-     * called. This <code>ManagedConnection</code> instance  invalidates the connection handle
-     * and sends a CONNECTION_CLOSED event to all the registered event listeners.
-     *
-     * @param        e        Exception that may have occured while closing the connection handle
-     * @param        connHolderObject        <code>ConnectionHolder</code> that has been closed
-     * @throws        SQLException        in case closing the sql connection got out of
-     *                                     <code>getConnection</code> on the underlying
-     *                                <code>PooledConnection</code> throws an exception
-     */
-    void connectionClosed(Exception e, ConnectionHolder connHolderObject) throws SQLException {
-        connHolderObject.invalidate();
-
-        activeConnectionHandle = null;
-
-        ce.setConnectionHandle(connHolderObject);
-        listener.connectionClosed(ce);
-
-    }
-
-    /**
-     * This method is called by the <code>ConnectionHolder</code> when it detects a connecion
-     * related error.
-     *
-     * @param        e        Exception that has occurred during an operation on the physical connection
-     * @param        connHolderObject        <code>ConnectionHolder</code> that detected the physical
-     *                                        connection error
-     */
-    void connectionErrorOccurred(Exception e,
-            com.sun.jdbcra.spi.ConnectionHolder connHolderObject) {
-
-         ConnectionEventListener cel = this.listener;
-         ConnectionEvent ce = null;
-         ce = e == null ? new ConnectionEvent(this, ConnectionEvent.CONNECTION_ERROR_OCCURRED)
-                    : new ConnectionEvent(this, ConnectionEvent.CONNECTION_ERROR_OCCURRED, e);
-         if (connHolderObject != null) {
-             ce.setConnectionHandle(connHolderObject);
-         }
-
-         cel.connectionErrorOccurred(ce);
-         isUsable = false;
-    }
-
-
-
-    /**
-     * This method is called by the <code>XAResource</code> object when its start method
-     * has been invoked.
-     *
-     */
-    void XAStartOccurred() {
-        try {
-            actualConnection.setAutoCommit(false);
-        } catch(Exception e) {
-            e.printStackTrace();
-            connectionErrorOccurred(e, null);
-        }
-    }
-
-    /**
-     * This method is called by the <code>XAResource</code> object when its end method
-     * has been invoked.
-     *
-     */
-    void XAEndOccurred() {
-        try {
-            actualConnection.setAutoCommit(true);
-        } catch(Exception e) {
-            e.printStackTrace();
-            connectionErrorOccurred(e, null);
-        }
-    }
-
-    /**
-     * This method is called by a Connection Handle to check if it is
-     * the active Connection Handle. If it is not the active Connection
-     * Handle, this method throws an SQLException. Else, it
-     * returns setting the active Connection Handle to the calling
-     * Connection Handle object to this object if the active Connection
-     * Handle is null.
-     *
-     * @param        ch        <code>ConnectionHolder</code> that requests this
-     *                        <code>ManagedConnection</code> instance whether
-     *                        it can be active or not
-     * @throws        SQLException        in case the physical is not valid or
-     *                                there is already an active connection handle
-     */
-
-    void checkIfActive(ConnectionHolder ch) throws SQLException {
-        if(isDestroyed == true || isUsable == false) {
-            throw new SQLException("The physical connection is not usable");
-        }
-
-        if(activeConnectionHandle == null) {
-            activeConnectionHandle = ch;
-            ch.setActive(true);
-            return;
-        }
-
-        if(activeConnectionHandle != ch) {
-            throw new SQLException("The connection handle cannot be used as another connection is currently active");
-        }
-    }
-
-    /**
-     * sets the connection type of this connection. This method is called
-     * by the MCF while creating this ManagedConnection. Saves us a costly
-     * instanceof operation in the getConnectionType
-     */
-    public void initializeConnectionType( int _connectionType ) {
-        connectionType = _connectionType;
-    }
-
-}
diff --git a/appserver/tests/appserv-tests/devtests/connector/web2connector/ra/src/com/sun/jdbcra/spi/ManagedConnectionMetaData.java b/appserver/tests/appserv-tests/devtests/connector/web2connector/ra/src/com/sun/jdbcra/spi/ManagedConnectionMetaData.java
deleted file mode 100644
index 5ec326c..0000000
--- a/appserver/tests/appserv-tests/devtests/connector/web2connector/ra/src/com/sun/jdbcra/spi/ManagedConnectionMetaData.java
+++ /dev/null
@@ -1,121 +0,0 @@
-/*
- * Copyright (c) 2003, 2018 Oracle and/or its affiliates. All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v. 2.0, which is available at
- * http://www.eclipse.org/legal/epl-2.0.
- *
- * This Source Code may also be made available under the following Secondary
- * Licenses when the conditions for such availability set forth in the
- * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
- * version 2 with the GNU Classpath Exception, which is available at
- * https://www.gnu.org/software/classpath/license.html.
- *
- * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
- */
-
-package com.sun.jdbcra.spi;
-
-import com.sun.jdbcra.spi.ManagedConnection;
-import java.sql.SQLException;
-import jakarta.resource.ResourceException;
-
-import java.util.logging.Logger;
-import java.util.logging.Level;
-/**
- * <code>ManagedConnectionMetaData</code> implementation for Generic JDBC Connector.
- *
- * @version        1.0, 02/08/03
- * @author        Evani Sai Surya Kiran
- */
-public class ManagedConnectionMetaData implements jakarta.resource.spi.ManagedConnectionMetaData {
-
-    private java.sql.DatabaseMetaData dmd = null;
-    private ManagedConnection mc;
-
-    private static Logger _logger;
-    static {
-        _logger = Logger.getAnonymousLogger();
-    }
-    private boolean debug = false;
-    /**
-     * Constructor for <code>ManagedConnectionMetaData</code>
-     *
-     * @param        mc        <code>ManagedConnection</code>
-     * @throws        <code>ResourceException</code>        if getting the DatabaseMetaData object fails
-     */
-    public ManagedConnectionMetaData(ManagedConnection mc) throws ResourceException {
-        try {
-            this.mc = mc;
-            dmd = mc.getActualConnection().getMetaData();
-        } catch(SQLException sqle) {
-            _logger.log(Level.SEVERE, "jdbc.exc_md");
-            throw new ResourceException(sqle.getMessage());
-        }
-    }
-
-    /**
-     * Returns product name of the underlying EIS instance connected
-     * through the ManagedConnection.
-     *
-     * @return        Product name of the EIS instance
-     * @throws        <code>ResourceException</code>
-     */
-    public String getEISProductName() throws ResourceException {
-        try {
-            return dmd.getDatabaseProductName();
-        } catch(SQLException sqle) {
-            _logger.log(Level.SEVERE, "jdbc.exc_eis_prodname", sqle);
-            throw new ResourceException(sqle.getMessage());
-        }
-    }
-
-    /**
-     * Returns product version of the underlying EIS instance connected
-     * through the ManagedConnection.
-     *
-     * @return        Product version of the EIS instance
-     * @throws        <code>ResourceException</code>
-     */
-    public String getEISProductVersion() throws ResourceException {
-        try {
-            return dmd.getDatabaseProductVersion();
-        } catch(SQLException sqle) {
-            _logger.log(Level.SEVERE, "jdbc.exc_eis_prodvers", sqle);
-            throw new ResourceException(sqle.getMessage(), sqle.getMessage());
-        }
-    }
-
-    /**
-     * Returns maximum limit on number of active concurrent connections
-     * that an EIS instance can support across client processes.
-     *
-     * @return        Maximum limit for number of active concurrent connections
-     * @throws        <code>ResourceException</code>
-     */
-    public int getMaxConnections() throws ResourceException {
-        try {
-            return dmd.getMaxConnections();
-        } catch(SQLException sqle) {
-            _logger.log(Level.SEVERE, "jdbc.exc_eis_maxconn");
-            throw new ResourceException(sqle.getMessage());
-        }
-    }
-
-    /**
-     * Returns name of the user associated with the ManagedConnection instance. The name
-     * corresponds to the resource principal under whose whose security context, a connection
-     * to the EIS instance has been established.
-     *
-     * @return        name of the user
-     * @throws        <code>ResourceException</code>
-     */
-    public String getUserName() throws ResourceException {
-        jakarta.resource.spi.security.PasswordCredential pc = mc.getPasswordCredential();
-        if(pc != null) {
-            return pc.getUserName();
-        }
-
-        return mc.getManagedConnectionFactory().getUser();
-    }
-}
diff --git a/appserver/tests/appserv-tests/devtests/connector/web2connector/ra/src/com/sun/jdbcra/spi/XAResourceImpl.java b/appserver/tests/appserv-tests/devtests/connector/web2connector/ra/src/com/sun/jdbcra/spi/XAResourceImpl.java
deleted file mode 100644
index f0ba663..0000000
--- a/appserver/tests/appserv-tests/devtests/connector/web2connector/ra/src/com/sun/jdbcra/spi/XAResourceImpl.java
+++ /dev/null
@@ -1,175 +0,0 @@
-/*
- * Copyright (c) 2003, 2018 Oracle and/or its affiliates. All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v. 2.0, which is available at
- * http://www.eclipse.org/legal/epl-2.0.
- *
- * This Source Code may also be made available under the following Secondary
- * Licenses when the conditions for such availability set forth in the
- * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
- * version 2 with the GNU Classpath Exception, which is available at
- * https://www.gnu.org/software/classpath/license.html.
- *
- * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
- */
-
-package com.sun.jdbcra.spi;
-
-import javax.transaction.xa.Xid;
-import javax.transaction.xa.XAException;
-import javax.transaction.xa.XAResource;
-import com.sun.jdbcra.spi.ManagedConnection;
-
-/**
- * <code>XAResource</code> wrapper for Generic JDBC Connector.
- *
- * @version        1.0, 02/08/23
- * @author        Evani Sai Surya Kiran
- */
-public class XAResourceImpl implements XAResource {
-
-    XAResource xar;
-    ManagedConnection mc;
-
-    /**
-     * Constructor for XAResourceImpl
-     *
-     * @param        xar        <code>XAResource</code>
-     * @param        mc        <code>ManagedConnection</code>
-     */
-    public XAResourceImpl(XAResource xar, ManagedConnection mc) {
-        this.xar = xar;
-        this.mc = mc;
-    }
-
-    /**
-     * Commit the global transaction specified by xid.
-     *
-     * @param        xid        A global transaction identifier
-     * @param        onePhase        If true, the resource manager should use a one-phase commit
-     *                               protocol to commit the work done on behalf of xid.
-     */
-    public void commit(Xid xid, boolean onePhase) throws XAException {
-        //the mc.transactionCompleted call has come here becasue
-        //the transaction *actually* completes after the flow
-        //reaches here. the end() method might not really signal
-        //completion of transaction in case the transaction is
-        //suspended. In case of transaction suspension, the end
-        //method is still called by the transaction manager
-        mc.transactionCompleted();
-        xar.commit(xid, onePhase);
-    }
-
-    /**
-     * Ends the work performed on behalf of a transaction branch.
-     *
-     * @param        xid        A global transaction identifier that is the same as what
-     *                        was used previously in the start method.
-     * @param        flags        One of TMSUCCESS, TMFAIL, or TMSUSPEND
-     */
-    public void end(Xid xid, int flags) throws XAException {
-        xar.end(xid, flags);
-        //GJCINT
-        //mc.transactionCompleted();
-    }
-
-    /**
-     * Tell the resource manager to forget about a heuristically completed transaction branch.
-     *
-     * @param        xid        A global transaction identifier
-     */
-    public void forget(Xid xid) throws XAException {
-        xar.forget(xid);
-    }
-
-    /**
-     * Obtain the current transaction timeout value set for this
-     * <code>XAResource</code> instance.
-     *
-     * @return        the transaction timeout value in seconds
-     */
-    public int getTransactionTimeout() throws XAException {
-        return xar.getTransactionTimeout();
-    }
-
-    /**
-     * This method is called to determine if the resource manager instance
-     * represented by the target object is the same as the resouce manager
-     * instance represented by the parameter xares.
-     *
-     * @param        xares        An <code>XAResource</code> object whose resource manager
-     *                         instance is to be compared with the resource
-     * @return        true if it's the same RM instance; otherwise false.
-     */
-    public boolean isSameRM(XAResource xares) throws XAException {
-        return xar.isSameRM(xares);
-    }
-
-    /**
-     * Ask the resource manager to prepare for a transaction commit
-     * of the transaction specified in xid.
-     *
-     * @param        xid        A global transaction identifier
-     * @return        A value indicating the resource manager's vote on the
-     *                outcome of the transaction. The possible values
-     *                are: XA_RDONLY or XA_OK. If the resource manager wants
-     *                to roll back the transaction, it should do so
-     *                by raising an appropriate <code>XAException</code> in the prepare method.
-     */
-    public int prepare(Xid xid) throws XAException {
-        return xar.prepare(xid);
-    }
-
-    /**
-     * Obtain a list of prepared transaction branches from a resource manager.
-     *
-     * @param        flag        One of TMSTARTRSCAN, TMENDRSCAN, TMNOFLAGS. TMNOFLAGS
-     *                        must be used when no other flags are set in flags.
-     * @return        The resource manager returns zero or more XIDs for the transaction
-     *                branches that are currently in a prepared or heuristically
-     *                completed state. If an error occurs during the operation, the resource
-     *                manager should throw the appropriate <code>XAException</code>.
-     */
-    public Xid[] recover(int flag) throws XAException {
-        return xar.recover(flag);
-    }
-
-    /**
-     * Inform the resource manager to roll back work done on behalf of a transaction branch
-     *
-     * @param        xid        A global transaction identifier
-     */
-    public void rollback(Xid xid) throws XAException {
-        //the mc.transactionCompleted call has come here becasue
-        //the transaction *actually* completes after the flow
-        //reaches here. the end() method might not really signal
-        //completion of transaction in case the transaction is
-        //suspended. In case of transaction suspension, the end
-        //method is still called by the transaction manager
-        mc.transactionCompleted();
-        xar.rollback(xid);
-    }
-
-    /**
-     * Set the current transaction timeout value for this <code>XAResource</code> instance.
-     *
-     * @param        seconds        the transaction timeout value in seconds.
-     * @return        true if transaction timeout value is set successfully; otherwise false.
-     */
-    public boolean setTransactionTimeout(int seconds) throws XAException {
-        return xar.setTransactionTimeout(seconds);
-    }
-
-    /**
-     * Start work on behalf of a transaction branch specified in xid.
-     *
-     * @param        xid        A global transaction identifier to be associated with the resource
-     * @return        flags        One of TMNOFLAGS, TMJOIN, or TMRESUME
-     */
-    public void start(Xid xid, int flags) throws XAException {
-        //GJCINT
-        mc.transactionStarted();
-        xar.start(xid, flags);
-    }
-}
diff --git a/appserver/tests/appserv-tests/devtests/connector/web2connector/ra/src/com/sun/jdbcra/util/MethodExecutor.java b/appserver/tests/appserv-tests/devtests/connector/web2connector/ra/src/com/sun/jdbcra/util/MethodExecutor.java
deleted file mode 100644
index de4a961..0000000
--- a/appserver/tests/appserv-tests/devtests/connector/web2connector/ra/src/com/sun/jdbcra/util/MethodExecutor.java
+++ /dev/null
@@ -1,168 +0,0 @@
-/*
- * Copyright (c) 2003, 2018 Oracle and/or its affiliates. All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v. 2.0, which is available at
- * http://www.eclipse.org/legal/epl-2.0.
- *
- * This Source Code may also be made available under the following Secondary
- * Licenses when the conditions for such availability set forth in the
- * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
- * version 2 with the GNU Classpath Exception, which is available at
- * https://www.gnu.org/software/classpath/license.html.
- *
- * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
- */
-
-package com.sun.jdbcra.util;
-
-import java.lang.reflect.Method;
-import java.lang.reflect.InvocationTargetException;
-import java.util.Vector;
-import jakarta.resource.ResourceException;
-
-import java.util.logging.Logger;
-import java.util.logging.Level;
-/**
- * Execute the methods based on the parameters.
- *
- * @version        1.0, 02/07/23
- * @author        Binod P.G
- */
-public class MethodExecutor implements java.io.Serializable{
-
-    private static Logger _logger;
-    static {
-        _logger = Logger.getAnonymousLogger();
-    }
-    private boolean debug = false;
-    /**
-     * Exceute a simple set Method.
-     *
-     * @param        value        Value to be set.
-     * @param        method        <code>Method</code> object.
-     * @param        obj        Object on which the method to be executed.
-     * @throws  <code>ResourceException</code>, in case of the mismatch of parameter values or
-     *                a security violation.
-     */
-    public void runJavaBeanMethod(String value, Method method, Object obj) throws ResourceException{
-            if (value==null || value.trim().equals("")) {
-                return;
-            }
-            try {
-                Class[] parameters = method.getParameterTypes();
-                if ( parameters.length == 1) {
-                    Object[] values = new Object[1];
-                        values[0] = convertType(parameters[0], value);
-                        method.invoke(obj, values);
-                }
-            } catch (IllegalAccessException iae) {
-            _logger.log(Level.SEVERE, "jdbc.exc_jb_val", iae);
-                throw new ResourceException("Access denied to execute the method :" + method.getName());
-            } catch (IllegalArgumentException ie) {
-            _logger.log(Level.SEVERE, "jdbc.exc_jb_val", ie);
-                throw new ResourceException("Arguments are wrong for the method :" + method.getName());
-            } catch (InvocationTargetException ite) {
-            _logger.log(Level.SEVERE, "jdbc.exc_jb_val", ite);
-                throw new ResourceException("Access denied to execute the method :" + method.getName());
-            }
-    }
-
-    /**
-     * Executes the method.
-     *
-     * @param        method <code>Method</code> object.
-     * @param        obj        Object on which the method to be executed.
-     * @param        values        Parameter values for executing the method.
-     * @throws  <code>ResourceException</code>, in case of the mismatch of parameter values or
-     *                a security violation.
-     */
-    public void runMethod(Method method, Object obj, Vector values) throws ResourceException{
-            try {
-            Class[] parameters = method.getParameterTypes();
-            if (values.size() != parameters.length) {
-                return;
-            }
-                Object[] actualValues = new Object[parameters.length];
-                for (int i =0; i<parameters.length ; i++) {
-                        String val = (String) values.get(i);
-                        if (val.trim().equals("NULL")) {
-                            actualValues[i] = null;
-                        } else {
-                            actualValues[i] = convertType(parameters[i], val);
-                        }
-                }
-                method.invoke(obj, actualValues);
-            }catch (IllegalAccessException iae) {
-            _logger.log(Level.SEVERE, "jdbc.exc_jb_val", iae);
-                throw new ResourceException("Access denied to execute the method :" + method.getName());
-            } catch (IllegalArgumentException ie) {
-            _logger.log(Level.SEVERE, "jdbc.exc_jb_val", ie);
-                throw new ResourceException("Arguments are wrong for the method :" + method.getName());
-            } catch (InvocationTargetException ite) {
-            _logger.log(Level.SEVERE, "jdbc.exc_jb_val", ite);
-                throw new ResourceException("Access denied to execute the method :" + method.getName());
-            }
-    }
-
-    /**
-     * Converts the type from String to the Class type.
-     *
-     * @param        type                Class name to which the conversion is required.
-     * @param        parameter        String value to be converted.
-     * @return        Converted value.
-     * @throws  <code>ResourceException</code>, in case of the mismatch of parameter values or
-     *                a security violation.
-     */
-    private Object convertType(Class type, String parameter) throws ResourceException{
-            try {
-                String typeName = type.getName();
-                if ( typeName.equals("java.lang.String") || typeName.equals("java.lang.Object")) {
-                        return parameter;
-                }
-
-                if (typeName.equals("int") || typeName.equals("java.lang.Integer")) {
-                        return new Integer(parameter);
-                }
-
-                if (typeName.equals("short") || typeName.equals("java.lang.Short")) {
-                        return new Short(parameter);
-                }
-
-                if (typeName.equals("byte") || typeName.equals("java.lang.Byte")) {
-                        return new Byte(parameter);
-                }
-
-                if (typeName.equals("long") || typeName.equals("java.lang.Long")) {
-                        return new Long(parameter);
-                }
-
-                if (typeName.equals("float") || typeName.equals("java.lang.Float")) {
-                        return new Float(parameter);
-                }
-
-                if (typeName.equals("double") || typeName.equals("java.lang.Double")) {
-                        return new Double(parameter);
-                }
-
-                if (typeName.equals("java.math.BigDecimal")) {
-                        return new java.math.BigDecimal(parameter);
-                }
-
-                if (typeName.equals("java.math.BigInteger")) {
-                        return new java.math.BigInteger(parameter);
-                }
-
-                if (typeName.equals("boolean") || typeName.equals("java.lang.Boolean")) {
-                        return new Boolean(parameter);
-            }
-
-                return parameter;
-            } catch (NumberFormatException nfe) {
-            _logger.log(Level.SEVERE, "jdbc.exc_nfe", parameter);
-                throw new ResourceException(parameter+": Not a valid value for this method ");
-            }
-    }
-
-}
-
diff --git a/appserver/tests/appserv-tests/devtests/connector/web2connector/ra/src/com/sun/jdbcra/util/SecurityUtils.java b/appserver/tests/appserv-tests/devtests/connector/web2connector/ra/src/com/sun/jdbcra/util/SecurityUtils.java
deleted file mode 100644
index bed9dd7..0000000
--- a/appserver/tests/appserv-tests/devtests/connector/web2connector/ra/src/com/sun/jdbcra/util/SecurityUtils.java
+++ /dev/null
@@ -1,135 +0,0 @@
-/*
- * Copyright (c) 2003, 2018 Oracle and/or its affiliates. All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v. 2.0, which is available at
- * http://www.eclipse.org/legal/epl-2.0.
- *
- * This Source Code may also be made available under the following Secondary
- * Licenses when the conditions for such availability set forth in the
- * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
- * version 2 with the GNU Classpath Exception, which is available at
- * https://www.gnu.org/software/classpath/license.html.
- *
- * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
- */
-
-package com.sun.jdbcra.util;
-
-import javax.security.auth.Subject;
-import java.security.AccessController;
-import java.security.PrivilegedAction;
-import jakarta.resource.spi.security.PasswordCredential;
-import jakarta.resource.ResourceException;
-import jakarta.resource.spi.*;
-import com.sun.jdbcra.spi.ConnectionRequestInfo;
-import java.util.Set;
-import java.util.Iterator;
-
-/**
- * SecurityUtils for Generic JDBC Connector.
- *
- * @version        1.0, 02/07/22
- * @author        Evani Sai Surya Kiran
- */
-public class SecurityUtils {
-
-    /**
-     * This method returns the <code>PasswordCredential</code> object, given
-     * the <code>ManagedConnectionFactory</code>, subject and the
-     * <code>ConnectionRequestInfo</code>. It first checks if the
-     * <code>ConnectionRequestInfo</code> is null or not. If it is not null,
-     * it constructs a <code>PasswordCredential</code> object with
-     * the user and password fields from the <code>ConnectionRequestInfo</code> and returns this
-     * <code>PasswordCredential</code> object. If the <code>ConnectionRequestInfo</code>
-     * is null, it retrieves the <code>PasswordCredential</code> objects from
-     * the <code>Subject</code> parameter and returns the first
-     * <code>PasswordCredential</code> object which contains a
-     * <code>ManagedConnectionFactory</code>, instance equivalent
-     * to the <code>ManagedConnectionFactory</code>, parameter.
-     *
-     * @param        mcf        <code>ManagedConnectionFactory</code>
-     * @param        subject        <code>Subject</code>
-     * @param        info        <code>ConnectionRequestInfo</code>
-     * @return        <code>PasswordCredential</code>
-     * @throws        <code>ResourceException</code>        generic exception if operation fails
-     * @throws        <code>SecurityException</code>        if access to the <code>Subject</code> instance is denied
-     */
-    public static PasswordCredential getPasswordCredential(final ManagedConnectionFactory mcf,
-         final Subject subject, jakarta.resource.spi.ConnectionRequestInfo info) throws ResourceException {
-
-        if (info == null) {
-            if (subject == null) {
-                return null;
-            } else {
-                PasswordCredential pc = (PasswordCredential) AccessController.doPrivileged
-                    (new PrivilegedAction() {
-                        public Object run() {
-                            Set passwdCredentialSet = subject.getPrivateCredentials(PasswordCredential.class);
-                            Iterator iter = passwdCredentialSet.iterator();
-                            while (iter.hasNext()) {
-                                PasswordCredential temp = (PasswordCredential) iter.next();
-                                if (temp.getManagedConnectionFactory().equals(mcf)) {
-                                    return temp;
-                                }
-                            }
-                            return null;
-                        }
-                    });
-                if (pc == null) {
-                    throw new jakarta.resource.spi.SecurityException("No PasswordCredential found");
-                } else {
-                    return pc;
-                }
-            }
-        } else {
-            com.sun.jdbcra.spi.ConnectionRequestInfo cxReqInfo = (com.sun.jdbcra.spi.ConnectionRequestInfo) info;
-            PasswordCredential pc = new PasswordCredential(cxReqInfo.getUser(), cxReqInfo.getPassword().toCharArray());
-            pc.setManagedConnectionFactory(mcf);
-            return pc;
-        }
-    }
-
-    /**
-     * Returns true if two strings are equal; false otherwise
-     *
-     * @param        str1        <code>String</code>
-     * @param        str2        <code>String</code>
-     * @return        true        if the two strings are equal
-     *                false        otherwise
-     */
-    static private boolean isEqual(String str1, String str2) {
-        if (str1 == null) {
-            return (str2 == null);
-        } else {
-            return str1.equals(str2);
-        }
-    }
-
-    /**
-     * Returns true if two <code>PasswordCredential</code> objects are equal; false otherwise
-     *
-     * @param        pC1        <code>PasswordCredential</code>
-     * @param        pC2        <code>PasswordCredential</code>
-     * @return        true        if the two PasswordCredentials are equal
-     *                false        otherwise
-     */
-    static public boolean isPasswordCredentialEqual(PasswordCredential pC1, PasswordCredential pC2) {
-        if (pC1 == pC2)
-            return true;
-        if(pC1 == null || pC2 == null)
-            return (pC1 == pC2);
-        if (!isEqual(pC1.getUserName(), pC2.getUserName())) {
-            return false;
-        }
-        String p1 = null;
-        String p2 = null;
-        if (pC1.getPassword() != null) {
-            p1 = new String(pC1.getPassword());
-        }
-        if (pC2.getPassword() != null) {
-            p2 = new String(pC2.getPassword());
-        }
-        return (isEqual(p1, p2));
-    }
-}
diff --git a/appserver/tests/appserv-tests/devtests/connector/web2connector/ra/src/com/sun/jdbcra/util/build.xml b/appserver/tests/appserv-tests/devtests/connector/web2connector/ra/src/com/sun/jdbcra/util/build.xml
deleted file mode 100644
index f060e7d..0000000
--- a/appserver/tests/appserv-tests/devtests/connector/web2connector/ra/src/com/sun/jdbcra/util/build.xml
+++ /dev/null
@@ -1,48 +0,0 @@
-<?xml version="1.0"?>
-<!--
-
-    Copyright (c) 2017, 2018 Oracle and/or its affiliates. All rights reserved.
-
-    This program and the accompanying materials are made available under the
-    terms of the Eclipse Public License v. 2.0, which is available at
-    http://www.eclipse.org/legal/epl-2.0.
-
-    This Source Code may also be made available under the following Secondary
-    Licenses when the conditions for such availability set forth in the
-    Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
-    version 2 with the GNU Classpath Exception, which is available 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 name="jdbc_connector" basedir="." default="build">
-  <property name="pkg.dir" value="com/sun/gjc/util"/>
-
-  <target name="clean">
-    <ant antfile="build.xml" dir="${gjc.home}/bin" target="clean"/>
-  </target>
-
-  <target name="compile">
-    <ant antfile="build.xml" dir="${gjc.home}/bin" target="compile"/>
-  </target>
-
-  <target name="package">
-    <mkdir dir="${dist.dir}/${pkg.dir}"/>
-      <jar jarfile="${dist.dir}/${pkg.dir}/util.jar" basedir="${class.dir}"
-        includes="${pkg.dir}/**/*"/>
-  </target>
-
-  <target name="compile13" depends="compile"/>
-  <target name="compile14" depends="compile"/>
-
-  <target name="package13" depends="package"/>
-  <target name="package14" depends="package"/>
-
-  <target name="build13" depends="compile13, package13"/>
-  <target name="build14" depends="compile14, package14"/>
-
-  <target name="build" depends="build13, build14"/>
-
-</project>
diff --git a/appserver/tests/appserv-tests/devtests/deployment/dol/validation/ear/rar/META-INF/ra.xml b/appserver/tests/appserv-tests/devtests/deployment/dol/validation/ear/rar/META-INF/ra.xml
index 5959ba7..f0ab81a 100644
--- a/appserver/tests/appserv-tests/devtests/deployment/dol/validation/ear/rar/META-INF/ra.xml
+++ b/appserver/tests/appserv-tests/devtests/deployment/dol/validation/ear/rar/META-INF/ra.xml
@@ -2,6 +2,7 @@
 <!--
 
     Copyright (c) 2017, 2018 Oracle and/or its affiliates. All rights reserved.
+    Copyright (c) 2022 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
@@ -17,11 +18,13 @@
 
 -->
 
-<connector xmlns="http://java.sun.com/xml/ns/j2ee"
-           xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-           xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee
-           http://java.sun.com/xml/ns/j2ee/connector_1_5.xsd"
-           version="1.5">
+<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/jakartaee_9.xsd
+       https://jakarta.ee/xml/ns/jakartaee/connector_2_0.xsd"
+    version="2.0"
+>
     <description>1.5 validation test</description>
     <display-name>Simple Resource Adapter</display-name>
     <icon>
diff --git a/appserver/tests/appserv-tests/devtests/ejb/build.xml b/appserver/tests/appserv-tests/devtests/ejb/build.xml
index f172749..88d4e36 100644
--- a/appserver/tests/appserv-tests/devtests/ejb/build.xml
+++ b/appserver/tests/appserv-tests/devtests/ejb/build.xml
@@ -89,7 +89,6 @@
     </target>
 
     <target name="clean-result">
-
         <delete>
            <fileset dir="${env.APS_HOME}" includes="test_results*"/>
         </delete>
@@ -97,7 +96,6 @@
            <fileset dir="." includes="*.output"/>
         </delete>
         <record name="ejb.output" action="start" />
-
     </target>
 
     <target name="test-lite">
@@ -158,7 +156,6 @@
         <ant target="stopDomain"/>
         <antcall target="stop-database"/>
         <record name="ejb.output" action="stop" />
-
     </target>
 
     <target name="orb_integration">
@@ -168,9 +165,6 @@
         <ant dir="txprop" target="all"/>
         <ant dir="stubs" target="all"/>
         <ant dir="bmp" target="txtests"/>
-<!-- gradually reenable the existing tests as features come on line
-        <ant dir="bmp" target="handle"/>
--->
     </target>
 
     <target name="start-database" depends="init-common">
diff --git a/appserver/tests/appserv-tests/devtests/ejb/ejb31/timer31/schedule_exp/client/Client.java b/appserver/tests/appserv-tests/devtests/ejb/ejb31/timer31/schedule_exp/client/Client.java
index fc26249..7f0fdd3 100644
--- a/appserver/tests/appserv-tests/devtests/ejb/ejb31/timer31/schedule_exp/client/Client.java
+++ b/appserver/tests/appserv-tests/devtests/ejb/ejb31/timer31/schedule_exp/client/Client.java
@@ -42,7 +42,7 @@
             System.out.println("Creating timers for schedule_exp timer test");
             bean.createTimers();
             System.out.println("Waiting timers to expire for schedule_exp timer test");
-            Thread.sleep(12000);
+            Thread.sleep(15000);
             System.out.println("Verifying timers for schedule_exp timer test");
             bean.verifyTimers();
             stat.addStatus("schedule_exp: ", stat.PASS );
diff --git a/appserver/tests/appserv-tests/devtests/ejb/ejb31/timer31/schedule_exp/ejb/StlesEJB.java b/appserver/tests/appserv-tests/devtests/ejb/ejb31/timer31/schedule_exp/ejb/StlesEJB.java
index f5f90b0..1b584a4 100644
--- a/appserver/tests/appserv-tests/devtests/ejb/ejb31/timer31/schedule_exp/ejb/StlesEJB.java
+++ b/appserver/tests/appserv-tests/devtests/ejb/ejb31/timer31/schedule_exp/ejb/StlesEJB.java
@@ -204,7 +204,7 @@
         }
 
         if (timerSvc.getTimers().size() != 0) {
-            throw new EJBException("After cencel, timerSvc.getTimers().size() = "
+            throw new EJBException("After cancel, timerSvc.getTimers().size() = "
                     + timerSvc.getTimers().size());
         }
     }
diff --git a/appserver/tests/appserv-tests/devtests/ejb/ejb32/mdb/ra/META-INF/ra.xml b/appserver/tests/appserv-tests/devtests/ejb/ejb32/mdb/ra/META-INF/ra.xml
index f32f21d..e6f1bb1 100644
--- a/appserver/tests/appserv-tests/devtests/ejb/ejb32/mdb/ra/META-INF/ra.xml
+++ b/appserver/tests/appserv-tests/devtests/ejb/ejb32/mdb/ra/META-INF/ra.xml
@@ -1,6 +1,7 @@
 <!--
 
     Copyright (c) 2017, 2018 Oracle and/or its affiliates. All rights reserved.
+    Copyright (c) 2022 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
@@ -16,12 +17,13 @@
 
 -->
 
-<connector xmlns="http://java.sun.com/xml/ns/j2ee"
-           xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-           xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee
-           http://java.sun.com/xml/ns/j2ee/connector_1_5.xsd"
-           version="1.5">
-
+<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/jakartaee_9.xsd
+       https://jakarta.ee/xml/ns/jakartaee/connector_2_0.xsd"
+    version="2.0"
+>
   <description>Generic ResourceAdapter</description>
   <display-name>Generic ResourceAdapter</display-name>
 
diff --git a/appserver/tests/appserv-tests/devtests/ejb/run_test.sh b/appserver/tests/appserv-tests/devtests/ejb/run_test.sh
index 1487e39..af86eeb 100755
--- a/appserver/tests/appserv-tests/devtests/ejb/run_test.sh
+++ b/appserver/tests/appserv-tests/devtests/ejb/run_test.sh
@@ -44,7 +44,10 @@
                         domain1
 
         # Create
-        echo "admin.domain=domain1
+        echo "
+        gf.version=\${env.GF_VERSION}
+        bundles.dir=\${env.WORKSPACE}/bundles
+        admin.domain=domain1
         admin.domain.dir=\${env.S1AS_HOME}/domains
         admin.port=${ADMIN_PORT}
         admin.user=anonymous
@@ -124,7 +127,10 @@
                         domain1
 
         # Create
-        echo "admin.domain=domain1
+        echo "
+        gf.version=\${env.GF_VERSION}
+        bundles.dir=\${env.WORKSPACE}/bundles
+        admin.domain=domain1
         admin.domain.dir=\${env.S1AS_HOME}/domains
         admin.port=${ADMIN_PORT}
         admin.user=anonymous
@@ -206,7 +212,10 @@
                         domain1
 
         # Create
-        echo "admin.domain=domain1
+        echo "
+        gf.version=\${env.GF_VERSION}
+        bundles.dir=\${env.WORKSPACE}/bundles
+        admin.domain=domain1
         admin.domain.dir=\${env.S1AS_HOME}/domains
         admin.port=${ADMIN_PORT}
         admin.user=anonymous
diff --git a/appserver/tests/appserv-tests/devtests/jdbc/JdbcCommon.xml b/appserver/tests/appserv-tests/devtests/jdbc/JdbcCommon.xml
index 1a258d7..664be84 100644
--- a/appserver/tests/appserv-tests/devtests/jdbc/JdbcCommon.xml
+++ b/appserver/tests/appserv-tests/devtests/jdbc/JdbcCommon.xml
@@ -369,7 +369,7 @@
       <parallel>
           <java classname="org.apache.derby.drda.NetworkServerControl"
                 classpath="${db.classpath}" fork="true" spawn="true">
-              <arg line="-h localhost -p 1527 start"/>
+              <arg line="-h localhost -p 1527 -noSecurityManager start"/>
               <jvmarg value="-Dderby.system.home=${env.S1AS_HOME}/databases"/>
           </java>
       </parallel>
@@ -381,7 +381,7 @@
       <parallel>
           <java classname="org.apache.derby.drda.NetworkServerControl"
                 classpath="${db.classpath}" fork="true" spawn="true">
-              <arg line="-h 0.0.0.0 -p 1527 start"/>
+              <arg line="-h 0.0.0.0 -p 1527 -noSecurityManager start"/>
               <jvmarg value="-Dderby.system.home=${env.S1AS_HOME}/databases"/>
           </java>
       </parallel>
diff --git a/appserver/tests/appserv-tests/devtests/jdbc/jpa-dsd/RepRunConf.txt b/appserver/tests/appserv-tests/devtests/jdbc/jpa-dsd/RepRunConf.txt
deleted file mode 100644
index c604c61..0000000
--- a/appserver/tests/appserv-tests/devtests/jdbc/jpa-dsd/RepRunConf.txt
+++ /dev/null
@@ -1 +0,0 @@
-Test has been reported
\ No newline at end of file
diff --git a/appserver/tests/appserv-tests/devtests/jdbc/jpa-dsd/client/Client.java b/appserver/tests/appserv-tests/devtests/jdbc/jpa-dsd/client/Client.java
deleted file mode 100644
index b2c8c2a..0000000
--- a/appserver/tests/appserv-tests/devtests/jdbc/jpa-dsd/client/Client.java
+++ /dev/null
@@ -1,134 +0,0 @@
-/*
- * Copyright (c) 2017, 2018 Oracle and/or its affiliates. All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v. 2.0, which is available at
- * http://www.eclipse.org/legal/epl-2.0.
- *
- * This Source Code may also be made available under the following Secondary
- * Licenses when the conditions for such availability set forth in the
- * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
- * version 2 with the GNU Classpath Exception, which is available at
- * https://www.gnu.org/software/classpath/license.html.
- *
- * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
- */
-
-package com.sun.s1asdev.ejb.ejb30.persistence.tx_propagation.client;
-
-import java.io.*;
-import java.util.*;
-import java.sql.*;
-import jakarta.ejb.EJB;
-import jakarta.transaction.UserTransaction;
-import jakarta.annotation.*;
-import jakarta.annotation.sql.*;
-import javax.sql.DataSource;
-import com.sun.s1asdev.ejb.ejb30.persistence.tx_propagation.*;
-
-import com.sun.ejte.ccl.reporter.SimpleReporterAdapter;
-
-public class Client {
-
-    private static SimpleReporterAdapter stat =
-        new SimpleReporterAdapter("appserv-tests");
-
-    private String personName;
-
-    private /** static @Resource(mappedName="jdbc/xa") **/ DataSource ds;
-
-    public static void main (String[] args) {
-
-        stat.addDescription("ejb-ejb30-persistence-tx_propagation");
-        Client client = new Client(args);
-        client.doTest(false);
-        client.doTest(true);
-        stat.printSummary("ejb-ejb30-persistence-tx_propagationID");
-    }
-
-    public Client (String[] args) {
-
-        personName = "duke";
-
-        if( args.length > 0 ) {
-            personName = args[0];
-        }
-
-    }
-
-    private static @EJB Sful sful;
-
-    public void doTest(boolean commit) {
-
-        ResultSet rs = null;
-        Connection connection = null;
-        PreparedStatement s = null;
-        try {
-            System.err.println("I am in client");
-
-            UserTransaction utx = (UserTransaction)(new javax.naming.InitialContext()).lookup("java:comp/UserTransaction");
-            ds = (DataSource)(new javax.naming.InitialContext()).lookup("java:app/jdbc/xa");
-
-            System.err.println("calling createPerson(" + personName + ")");
-            if (sful == null) {
-                // Java SE client
-                sful = (Sful)(new javax.naming.InitialContext()).lookup("com.sun.s1asdev.ejb.ejb30.persistence.tx_propagation.Sful");
-            }
-            sful.setName(personName);
-            System.err.println("created ");
-
-            utx.begin();
-            System.err.println("utx.begin called ");
-
-            connection = ds.getConnection();
-            s = connection.prepareStatement("insert into EJB30_PERSISTENCE_EEM_INJECTION_PERSON values('1', '1')");
-            s.execute();
-            System.err.println("inserted 1,1 into table ");
-
-            Map<String, Boolean> map = sful.doTests();
-            if (commit) {
-                System.err.println("calling utx.commit ");
-                utx.commit();
-                System.err.println("utx.commit called ");
-            } else {
-                System.err.println("calling utx.rollback ");
-                utx.rollback();
-                System.err.println("utx.rollback called ");
-            }
-
-            Iterator<String> iter = map.keySet().iterator();
-            while (iter.hasNext()) {
-                String testName = iter.next();
-                boolean result = map.get(testName);
-                stat.addStatus("local " + testName,
-                        (result) ? stat.PASS : stat.FAIL);
-            }
-
-        } catch(Exception e) {
-            e.printStackTrace();
-            stat.addStatus("local main" , stat.FAIL);
-        } finally {
-
-            try {
-                if (rs != null)
-                    rs.close();
-            } catch (Exception e) { }
-
-            try {
-                if (s != null)
-                    s.close();
-            } catch (Exception e) { }
-
-            try {
-                if (connection != null)
-                    connection.close();
-            } catch (Exception e) { }
-
-        }
-
-            return;
-    }
-
-
-}
-
diff --git a/appserver/tests/appserv-tests/devtests/jdbc/jpa-dsd/ejb/SfulBean.java b/appserver/tests/appserv-tests/devtests/jdbc/jpa-dsd/ejb/SfulBean.java
deleted file mode 100644
index b415c3f..0000000
--- a/appserver/tests/appserv-tests/devtests/jdbc/jpa-dsd/ejb/SfulBean.java
+++ /dev/null
@@ -1,115 +0,0 @@
-/*
- * Copyright (c) 2017, 2018 Oracle and/or its affiliates. All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v. 2.0, which is available at
- * http://www.eclipse.org/legal/epl-2.0.
- *
- * This Source Code may also be made available under the following Secondary
- * Licenses when the conditions for such availability set forth in the
- * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
- * version 2 with the GNU Classpath Exception, which is available at
- * https://www.gnu.org/software/classpath/license.html.
- *
- * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
- */
-
-package com.sun.s1asdev.ejb.ejb30.persistence.tx_propagation;
-
-import java.util.Map;
-import java.util.HashMap;
-
-import javax.naming.InitialContext;
-
-import jakarta.ejb.Stateful;
-import jakarta.ejb.EJB;
-import jakarta.persistence.PersistenceContextType;
-import jakarta.persistence.PersistenceContext;
-import jakarta.persistence.EntityNotFoundException;
-import jakarta.annotation.sql.*;
-
-import jakarta.persistence.EntityManager;
-
-import jakarta.ejb.TransactionAttribute;
-import jakarta.ejb.TransactionAttributeType;
-import jakarta.ejb.EJBException;
-
-@DataSourceDefinition(name = "java:app/jdbc/xa",
-                        className = "org.apache.derby.jdbc.ClientXADataSource",
-                        minPoolSize = 0,
-                        initialPoolSize = 0,
-                        user = "dbuser",
-                        password = "dbpassword",
-                        databaseName = "testdb",
-                        properties = {"connectionAttributes=;create=true"}
-
-                )
-@Stateful
-@EJB(name="ejb/SfulBean",
-        beanInterface=com.sun.s1asdev.ejb.ejb30.persistence.tx_propagation.SfulDelegate.class)
-
-public class SfulBean
-    implements Sful {
-
-    private String name;
-
-    private @EJB SfulDelegate delegate;
-
-    private @PersistenceContext(unitName="lib/ejb-ejb30-persistence-tx_propagation-par1.jar#em",
-                type=PersistenceContextType.EXTENDED)
-            EntityManager extendedEM;
-
-    public void setName(String name) {
-        this.name = name;
-        try {
-            String lookupName = "java:comp/env/ejb/SfulBean";
-
-            InitialContext initCtx = new InitialContext();
-            delegate = (SfulDelegate) initCtx.lookup(lookupName);
-        } catch (Exception ex) {
-            throw new EJBException(ex);
-        }
-    }
-
-    public Map<String, Boolean> doTests() {
-        Person person = new Person(name);
-
-        String delegateName = "delgname_" + name;
-        String delegateData= "delgdata: " + name;
-        delegate.create(delegateName, delegateData);
-
-        Person dPerson = extendedEM.find(Person.class, delegateName);
-
-        extendedEM.persist(person);
-        Person foundPerson = delegate.find(name);
-
-
-        Map<String, Boolean> map = new HashMap<String, Boolean>();
-        map.put("findDelegateCreatedPerson", (dPerson != null));
-        map.put("delegateFoundMe", (foundPerson != null));
-
-        // See https://glassfish.dev.java.net/issues/show_bug.cgi?id=3867
-        extendedEM.flush();
-
-        return map;
-    }
-
-    Person findPerson() {
-
-        Person p = extendedEM.find(Person.class, name);
-        System.out.println("Found " + p);
-        return p;
-    }
-
-    boolean removePerson(String personName) {
-
-        Person p = extendedEM.find(Person.class, personName);
-        boolean removed = false;
-        if (p != null) {
-            extendedEM.remove(p);
-            removed = true;
-        }
-        return removed;
-    }
-
-}
diff --git a/appserver/tests/appserv-tests/devtests/jdbc/switchoffACCconnpooling/build.xml b/appserver/tests/appserv-tests/devtests/jdbc/switchoffACCconnpooling/build.xml
index e5e3cc9..37abd31 100644
--- a/appserver/tests/appserv-tests/devtests/jdbc/switchoffACCconnpooling/build.xml
+++ b/appserver/tests/appserv-tests/devtests/jdbc/switchoffACCconnpooling/build.xml
@@ -31,107 +31,103 @@
     &run;
     &testproperties;
 
-    <target name="all" depends="build,setup,run,unsetup"/>
+  <target name="all" depends="build,setup,run,unsetup" />
 
-    <target name="clean" depends="init-common">
-      <antcall  target="clean-common"/>
-    </target>
+  <target name="clean" depends="init-common">
+    <antcall target="clean-common" />
+  </target>
 
-    <target name="compile" depends="clean">
-      <antcall target="compile-common">
-        <param name="src" value="client"/>
-      </antcall>
-    </target>
-
-    <target name="build" depends="compile">
-        <mkdir dir="${assemble.dir}"/>
-      <antcall target="package-appclientjar-common">
-        <param name="appclientjar.classes"
-          value="**/*.class" />
-        <param name="appclientjar.files"
-          value="${build.classes.dir}" />
-        <param name="appclient.jar"
-        value="${assemble.dir}/${appname}AppClient.jar"/>
-      </antcall>
-    </target>
-
-<!-- run appclient in AppServ  -->
-<target name="myrunclient" depends="init-common">
-  <echo message="appclient -client ${assemble.dir}/${appname}AppClient.jar -name ${appname}Client -textauth -user j2ee -password j2ee -xml ${env.S1AS_HOME}/domains/${admin.domain}/config/glassfish-acc.xml ${appclient.application.args}"/>
-  <exec executable="${APPCLIENT}" failonerror="false">
-    <arg line="-client ${assemble.dir}/${appname}AppClient.jar"/>
-    <arg line="-name ${appname}Client"/>
-    <arg line="-textauth"/>
-    <arg line="-user j2ee"/>
-    <arg line="-password j2ee"/>
-    <arg line="-xml ${env.S1AS_HOME}/domains/${admin.domain}/config/glassfish-acc.xml"/>
-    <arg line="${appclient.application.args}"/>
-    <env key="APPCPATH" value="${env.APS_HOME}/lib/reporter.jar"/>
-    <env key="VMARGS" value="-Dcom.sun.enterprise.connectors.SwitchoffACCConnectionPooling=true"/>
-  </exec>
-
-<!-- confirming report generation... -->
-    <antcall target="checkReporting-common">
-        <param name="test.name" value="${appname}"/>
-        <param name="test.description" value="${test.description}"/>
-        <param name="test.count" value="${test.count}"/>
+  <target name="compile" depends="clean">
+    <antcall target="compile-common">
+      <param name="src" value="client" />
     </antcall>
-</target>
+  </target>
 
-    <target name="run" depends="init-common">
-      <antcall target="myrunclient"/>
-    </target>
+  <target name="build" depends="compile">
+    <mkdir dir="${assemble.dir}" />
+    <antcall target="package-appclientjar-common">
+      <param name="appclientjar.classes" value="**/*.class" />
+      <param name="appclientjar.files" value="${build.classes.dir}" />
+      <param name="appclient.jar" value="${assemble.dir}/${appname}AppClient.jar" />
+    </antcall>
+  </target>
 
-    <target name="unsetup" depends="init-common">
-         <antcall target="delete-jdbc-resource-common">
-            <param name="jdbc.resource.name" value="jdbc/nonxaresource"/>
-        </antcall>
+  <!-- run appclient in AppServ  -->
+  <target name="myrunclient" depends="init-common">
+    <echo message="appclient -client ${assemble.dir}/${appname}AppClient.jar -name ${appname}Client -textauth -user j2ee -password j2ee -xml ${env.S1AS_HOME}/domains/${admin.domain}/config/glassfish-acc.xml ${appclient.application.args}" />
+    <exec executable="${APPCLIENT}">
+      <arg line="-client ${assemble.dir}/${appname}AppClient.jar" />
+      <arg line="-name ${appname}Client" />
+      <arg line="-textauth" />
+      <arg line="-user j2ee" />
+      <arg line="-password j2ee" />
+      <arg line="-xml ${env.S1AS_HOME}/domains/${admin.domain}/config/glassfish-acc.xml" />
+      <arg line="${appclient.application.args}" />
+      <env key="APPCPATH" value="${env.APS_HOME}/lib/reporter.jar" />
+      <env key="VMARGS"
+           value="-Dcom.sun.enterprise.connectors.SwitchoffACCConnectionPooling=true"
+      />
+    </exec>
 
-        <antcall target="delete-jdbc-connpool-common">
-            <param name="jdbc.conpool.name" value="jdbc-derby-pool"/>
-        </antcall>
+    <!-- confirming report generation... -->
+    <antcall target="checkReporting-common">
+      <param name="test.name" value="${appname}" />
+      <param name="test.description" value="${test.description}" />
+      <param name="test.count" value="${test.count}" />
+    </antcall>
+  </target>
 
-         <antcall target="delete-jdbc-resource-common">
-            <param name="jdbc.resource.name" value="jdbc/xaresource"/>
-        </antcall>
+  <target name="run" depends="init-common">
+    <antcall target="myrunclient" />
+  </target>
 
-        <antcall target="delete-jdbc-connpool-common">
-            <param name="jdbc.conpool.name" value="jdbc-derby-xa-pool"/>
-        </antcall>
+  <target name="unsetup" depends="init-common">
+    <antcall target="delete-jdbc-resource-common">
+      <param name="jdbc.resource.name" value="jdbc/nonxaresource" />
+    </antcall>
 
-    </target>
+    <antcall target="delete-jdbc-connpool-common">
+      <param name="jdbc.conpool.name" value="jdbc-derby-pool" />
+    </antcall>
 
-    <target name="usage">
-        <antcall target="usage-common"/>
-    </target>
+    <antcall target="delete-jdbc-resource-common">
+      <param name="jdbc.resource.name" value="jdbc/xaresource" />
+    </antcall>
+
+    <antcall target="delete-jdbc-connpool-common">
+      <param name="jdbc.conpool.name" value="jdbc-derby-xa-pool" />
+    </antcall>
+  </target>
+
+  <target name="usage">
+    <antcall target="usage-common" />
+  </target>
 
   <target name="setup" depends="init-common">
+    <echo message="Setting up derby .... " />
+    <antcall target="deploy-jdbc-common">
+      <param name="jdbc.conpool.name" value="jdbc-derby-pool" />
+      <param name="jdbc.resource.name" value="jdbc/nonxaresource" />
+    </antcall>
+    <antcall target="deploy-jdbc-common">
+      <param name="jdbc.conpool.name" value="jdbc-derby-xa-pool" />
+      <param name="jdbc.resource.name" value="jdbc/xaresource" />
+      <param name="db.class" value="org.apache.derby.jdbc.ClientXADataSource" />
+      <param name="jdbc.resource.type" value="javax.sql.XADataSource" />
+    </antcall>
 
-  <echo message="Setting up derby .... "/>
-        <antcall target="deploy-jdbc-common">
-            <param name="jdbc.conpool.name" value="jdbc-derby-pool"/>
-            <param name="jdbc.resource.name" value="jdbc/nonxaresource"/>
-        </antcall>
-        <antcall target="deploy-jdbc-common">
-            <param name="jdbc.conpool.name" value="jdbc-derby-xa-pool"/>
-            <param name="jdbc.resource.name" value="jdbc/xaresource"/>
-            <param name="db.class" value="org.apache.derby.jdbc.ClientXADataSource"/>
-            <param name="jdbc.resource.type" value="javax.sql.XADataSource"/>
-        </antcall>
+    <antcall target="asadmin-common">
+      <param name="admin.command" value="set" />
+      <param name="operand.props"
+             value="${resources.dottedname.prefix}.jdbc-connection-pool.jdbc-derby-pool.property.connectionAttributes=create=true;"
+      />
+    </antcall>
 
-      <antcall target="asadmin-common">
-            <param name="admin.command" value="set"/>
-            <param name="operand.props"
-                   value="${resources.dottedname.prefix}.jdbc-connection-pool.jdbc-derby-pool.property.connectionAttributes=create=true;"/>
-       </antcall>
-
-       <antcall target="asadmin-common">
-            <param name="admin.command" value="set"/>
-            <param name="operand.props"
-                   value="${resources.dottedname.prefix}.jdbc-connection-pool.jdbc-derby-xa-pool.property.connectionAttributes=create=true;"/>
-       </antcall>
-
-
-    </target>
-
+    <antcall target="asadmin-common">
+      <param name="admin.command" value="set" />
+      <param name="operand.props"
+             value="${resources.dottedname.prefix}.jdbc-connection-pool.jdbc-derby-xa-pool.property.connectionAttributes=create=true;"
+      />
+    </antcall>
+  </target>
 </project>
diff --git a/appserver/tests/appserv-tests/devtests/jdbc/switchoffACCconnpooling/client/Client.java b/appserver/tests/appserv-tests/devtests/jdbc/switchoffACCconnpooling/client/Client.java
index da1f3c6..a805371 100644
--- a/appserver/tests/appserv-tests/devtests/jdbc/switchoffACCconnpooling/client/Client.java
+++ b/appserver/tests/appserv-tests/devtests/jdbc/switchoffACCconnpooling/client/Client.java
@@ -14,15 +14,6 @@
  * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
  */
 
-/*
- * UnpooledTest.java
- *
- * Created on October 31, 2006, 11:44 AM
- *
- * To change this template, choose Tools | Template Manager
- * and open the template in the editor.
- */
-
 package com.sun.s1asdev.jdbc.switchoffACCConnPooling.client;
 
 import java.sql.ResultSet;
@@ -44,21 +35,14 @@
  */
 public class Client {
 
+    private static final String testSuite = "switchoffACCconnpooling";
     private static int count = 10;
+    private static SimpleReporterAdapter stat = new SimpleReporterAdapter();
+
     private static boolean rollback;
     private static String tableName = "COFFEE";
-
-    //static SimpleReporterAdapter stat = new SimpleReporterAdapter("appserv-tests");
-    private static SimpleReporterAdapter stat = new SimpleReporterAdapter();
-    private static final String testSuite = "switchoffACCconnpooling";
-    private static int testCount = 0;
-
-    private static boolean isXA=false;
-
-    /** Creates a new instance of UnpooledTest */
-    public Client() {
-    }
-
+    private static int testCount;
+    private static boolean isXA;
 
     /**
      * @param args the command line arguments
diff --git a/appserver/tests/appserv-tests/devtests/transaction/ee/run_test.sh b/appserver/tests/appserv-tests/devtests/transaction/ee/run_test.sh
index 2a007c8..f245d4c 100755
--- a/appserver/tests/appserv-tests/devtests/transaction/ee/run_test.sh
+++ b/appserver/tests/appserv-tests/devtests/transaction/ee/run_test.sh
@@ -48,7 +48,10 @@
       domain1
 
   # Create
-  echo "admin.domain=domain1
+  echo "
+  gf.version=\${env.GF_VERSION}
+  bundles.dir=\${env.WORKSPACE}/bundles
+  admin.domain=domain1
   admin.domain.dir=\${env.S1AS_HOME}/domains
   admin.port=${ADMIN_PORT}
   admin.user=anonymous
diff --git a/appserver/tests/appserv-tests/devtests/web/run_test.sh b/appserver/tests/appserv-tests/devtests/web/run_test.sh
index b2ba2ee..06757e1 100755
--- a/appserver/tests/appserv-tests/devtests/web/run_test.sh
+++ b/appserver/tests/appserv-tests/devtests/web/run_test.sh
@@ -94,7 +94,10 @@
   HOST="localhost"
 
   # Create
-  echo "admin.domain=domain1
+  echo "
+  gf.version=\${env.GF_VERSION}
+  bundles.dir=\${env.WORKSPACE}/bundles
+  admin.domain=domain1
   admin.domain.dir=\${env.S1AS_HOME}/domains
   admin.port=${WEBTIER_ADMIN_PORT}
   admin.user=admin
diff --git a/appserver/tests/appserv-tests/lib/README b/appserver/tests/appserv-tests/lib/README
index 0396a35..8973672 100644
--- a/appserver/tests/appserv-tests/lib/README
+++ b/appserver/tests/appserv-tests/lib/README
@@ -1 +1,4 @@
-SampleExternalMethods.class file is the class containig the code for stored procedures for Pointbase. It is generated by Connector:cci test. Due to harness constraints, we copied the class file into the lib directory and included it in the db.classpath variable, defined in config/properties.xml
+SampleExternalMethods.class file is the class containig the code for stored procedures for Pointbase.
+It is generated by Connector:cci test.
+Due to harness constraints, we copied the class file into the lib directory and included it
+in the db.classpath variable, defined in config/properties.xml
diff --git a/appserver/tests/appserv-tests/pom.xml b/appserver/tests/appserv-tests/pom.xml
new file mode 100644
index 0000000..2c52528
--- /dev/null
+++ b/appserver/tests/appserv-tests/pom.xml
@@ -0,0 +1,39 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+
+    Copyright (c) 2022 Contributors to the Eclipse Foundation. All rights reserved.
+
+    This program and the accompanying materials are made available under the
+    terms of the Eclipse Public License v. 2.0, which is available at
+    http://www.eclipse.org/legal/epl-2.0.
+
+    This Source Code may also be made available under the following Secondary
+    Licenses when the conditions for such availability set forth in the
+    Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
+    version 2 with the GNU Classpath Exception, which is available 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 https://maven.apache.org/xsd/maven-4.0.0.xsd"
+>
+    <modelVersion>4.0.0</modelVersion>
+
+    <parent>
+        <groupId>org.glassfish.main.tests</groupId>
+        <artifactId>tests</artifactId>
+        <version>7.0.0-SNAPSHOT</version>
+    </parent>
+
+    <artifactId>ant-tests</artifactId>
+    <packaging>pom</packaging>
+    <name>GlassFish Ant Tests</name>
+
+    <modules>
+        <module>cciblackbox-tx</module>
+        <module>connectors-ra-redeploy</module>
+    </modules>
+</project>
diff --git a/appserver/tests/appserv-tests/sqetests/connector/lib/cciblackbox-tx.jar b/appserver/tests/appserv-tests/sqetests/connector/lib/cciblackbox-tx.jar
deleted file mode 100644
index 730b04d..0000000
--- a/appserver/tests/appserv-tests/sqetests/connector/lib/cciblackbox-tx.jar
+++ /dev/null
Binary files differ
diff --git a/appserver/tests/appserv-tests/sqetests/connector/lib/cciblackbox-tx/com/sun/connector/cciblackbox/CciConnection.java b/appserver/tests/appserv-tests/sqetests/connector/lib/cciblackbox-tx/com/sun/connector/cciblackbox/CciConnection.java
deleted file mode 100644
index 230f184..0000000
--- a/appserver/tests/appserv-tests/sqetests/connector/lib/cciblackbox-tx/com/sun/connector/cciblackbox/CciConnection.java
+++ /dev/null
@@ -1,202 +0,0 @@
-/*
- * Copyright (c) 2018 Oracle and/or its affiliates. All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v. 2.0, which is available at
- * http://www.eclipse.org/legal/epl-2.0.
- *
- * This Source Code may also be made available under the following Secondary
- * Licenses when the conditions for such availability set forth in the
- * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
- * version 2 with the GNU Classpath Exception, which is available at
- * https://www.gnu.org/software/classpath/license.html.
- *
- * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
- */
-
-package com.sun.connector.cciblackbox;
-
-import java.sql.SQLException;
-
-import javax.naming.Context;
-import jakarta.resource.NotSupportedException;
-import jakarta.resource.ResourceException;
-import jakarta.resource.cci.ConnectionMetaData;
-import jakarta.resource.cci.Interaction;
-import jakarta.resource.cci.ResultSetInfo;
-import jakarta.resource.spi.ConnectionEvent;
-import jakarta.resource.spi.IllegalStateException;
-import javax.rmi.PortableRemoteObject;
-
-import wlstest.functional.connector.common.apps.ejb.test_proxy.ConnectorTest;
-import weblogic.jndi.Environment;
-
-/**
- * This implementation class represents an application level connection
- *handle that is used by a component to access an EIS instance.
- *
- * @author Sheetal Vartak
- */
-public class CciConnection implements jakarta.resource.cci.Connection {
-
-  private boolean destroyed;
-
-  private CciManagedConnection mc;
-
-  // if mc is null, means connection is invalid
-
-  CciConnection(CciManagedConnection mc) {
-    this.mc = mc;
-  }
-
-  CciManagedConnection getManagedConnection() {
-    return mc;
-  }
-
-  public Interaction createInteraction() throws ResourceException {
-    return new CciSQLInteraction(this);
-  }
-
-  public jakarta.resource.cci.LocalTransaction getLocalTransaction() throws ResourceException {
-    try {
-      java.sql.Connection con = getJdbcConnection();
-      if (con.getTransactionIsolation() == con.TRANSACTION_NONE) {
-        throw new ResourceException("Local Transaction not supported!!");
-      }
-    }
-    catch (Exception e) {
-      throw new ResourceException(e.getMessage());
-    }
-    return new CciLocalTransactionImpl(mc);
-  }
-
-  public void setAutoCommit(boolean autoCommit) throws ResourceException {
-
-    try {
-      java.sql.Connection con = getJdbcConnection();
-      if (con.getTransactionIsolation() == con.TRANSACTION_NONE) {
-        throw new ResourceException("Local Transaction not " + "supported!!");
-      }
-      con.setAutoCommit(autoCommit);
-    }
-    catch (Exception e) {
-      throw new ResourceException(e.getMessage());
-    }
-  }
-
-  public boolean getAutoCommit() throws ResourceException {
-
-    boolean val = false;
-    try {
-      java.sql.Connection con = getJdbcConnection();
-      if (con.getTransactionIsolation() == con.TRANSACTION_NONE) {
-        throw new ResourceException("Local Transaction not " + "supported!!");
-      }
-      val = con.getAutoCommit();
-    }
-    catch (SQLException e) {
-      throw new ResourceException(e.getMessage());
-    }
-    return val;
-  }
-
-  public ResultSetInfo getResultSetInfo() throws ResourceException {
-    throw new NotSupportedException("ResultSet is not supported.");
-  }
-
-  public void close() throws ResourceException {
-    if (mc == null) return; // already be closed
-    mc.removeCciConnection(this);
-    mc.sendEvent(ConnectionEvent.CONNECTION_CLOSED, null, this);
-    mc = null;
-  }
-
-  public ConnectionMetaData getMetaData() throws ResourceException {
-    return new CciConnectionMetaDataImpl(mc);
-  }
-
-  void associateConnection(CciManagedConnection newMc) throws ResourceException {
-
-    try {
-      checkIfValid();
-    }
-    catch (ResourceException ex) {
-      throw new IllegalStateException("Connection is invalid");
-    }
-    // dissociate handle with current managed connection
-    mc.removeCciConnection(this);
-    // associate handle with new managed connection
-    newMc.addCciConnection(this);
-    mc = newMc;
-  }
-
-  void checkIfValid() throws ResourceException {
-    if (mc == null) {
-      throw new ResourceException("Connection is invalid");
-    }
-  }
-
-  java.sql.Connection getJdbcConnection() throws SQLException {
-
-    java.sql.Connection con = null;
-    try {
-      checkIfValid();
-      //  mc.getJdbcConnection() returns a SQL connection object
-      con = mc.getJdbcConnection();
-    }
-    catch (ResourceException ex) {
-      throw new SQLException("Connection is invalid.");
-    }
-    return con;
-  }
-
-  void invalidate() {
-    mc = null;
-  }
-
-  private void checkIfDestroyed() throws ResourceException {
-    if (destroyed) {
-      throw new IllegalStateException("Managed connection is closed");
-    }
-  }
-
-  class Internal {
-    public Object narrow(Object ref, Class c) {
-      return PortableRemoteObject.narrow(ref, c);
-    }
-  }
-
-  public boolean calcMultiply(String serverUrl, String testUser, String testPassword,
-      String testJndiName, int num1, int num2) {
-
-    Context ctx = null;
-    ConnectorTest connectorTest = null;
-    Environment env = null;
-    boolean result;
-    try {
-      System.out.println("###  calcMultiply");
-      env = new Environment();
-      env.setProviderUrl(serverUrl);
-      env.setSecurityPrincipal(testUser);
-      env.setSecurityCredentials(testPassword);
-      ctx = env.getInitialContext();
-      System.out.println("Lookup for " + testJndiName);
-      connectorTest = (ConnectorTest) ctx.lookup(testJndiName);
-      //Internal intenalRef = new Internal();
-      System.out.println("ConnectorTest is " + connectorTest);
-      //ConnectorTest connectorTestRemote = (ConnectorTest) intenalRef.narrow(connectorTestHome.create(), ConnectorTest.class);
-      if (connectorTest.calcMultiply(num1, num2) == (num1 * num2)) {
-        result = true;
-      } else {
-        result = false;
-      }
-    }
-    catch (Exception e) {
-
-      result = false;
-      System.out.println("Exception in calcMultiply ");
-      e.printStackTrace();
-    }
-    return result;
-  }
-}
diff --git a/appserver/tests/appserv-tests/sqetests/connector/lib/cciblackbox-tx/com/sun/connector/cciblackbox/CciManagedConnectionFactory.java b/appserver/tests/appserv-tests/sqetests/connector/lib/cciblackbox-tx/com/sun/connector/cciblackbox/CciManagedConnectionFactory.java
deleted file mode 100644
index eafb320..0000000
--- a/appserver/tests/appserv-tests/sqetests/connector/lib/cciblackbox-tx/com/sun/connector/cciblackbox/CciManagedConnectionFactory.java
+++ /dev/null
@@ -1,255 +0,0 @@
-/*
- * Copyright (c) 2018 Oracle and/or its affiliates. All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v. 2.0, which is available at
- * http://www.eclipse.org/legal/epl-2.0.
- *
- * This Source Code may also be made available under the following Secondary
- * Licenses when the conditions for such availability set forth in the
- * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
- * version 2 with the GNU Classpath Exception, which is available at
- * https://www.gnu.org/software/classpath/license.html.
- *
- * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
- */
-
-package com.sun.connector.cciblackbox;
-
-//import weblogic.jdbc.common.internal.XAConnectionEnvFactory;
-import java.io.ByteArrayOutputStream;
-import java.io.PrintStream;
-import java.io.PrintWriter;
-import java.io.Serializable;
-import java.lang.reflect.Method;
-import java.sql.Connection;
-import java.sql.SQLException;
-import java.util.Iterator;
-import java.util.Set;
-import javax.naming.Context;
-import jakarta.resource.NotSupportedException;
-import jakarta.resource.ResourceException;
-import jakarta.resource.spi.*;
-import jakarta.resource.spi.security.PasswordCredential;
-import javax.security.auth.Subject;
-import javax.sql.XAConnection;
-import javax.sql.XADataSource;
-import wlstest.functional.connector.common.utils.server.Logger;
-
-
-/**
- * An object of this class is a factory of both ManagedConnection and
- * connection factory instances.
- * This class supports connection pooling by defining methods for
- * matching and creating connections.
- * @author Sheetal Vartak
- */
-public class CciManagedConnectionFactory implements ManagedConnectionFactory, Serializable {
-
-  private String XADataSourceName;
-  private String url;
-
-  transient private Context ic;
-
-  public CciManagedConnectionFactory() {
-  }
-
-  public Object createConnectionFactory(ConnectionManager cxManager) throws ResourceException {
-    return new CciConnectionFactory(this, cxManager);
-  }
-
-  public Object createConnectionFactory() throws ResourceException {
-    return new CciConnectionFactory(this, null);
-  }
-
-  public ManagedConnection createManagedConnection(Subject subject, ConnectionRequestInfo info)
-      throws ResourceException {
-
-    try {
-      XAConnection xacon = null;
-      String userName = null;
-      PasswordCredential pc = Util.getPasswordCredential(this, subject, info);
-      if (pc == null) {
-        xacon = getXADataSource().getXAConnection();
-      } else {
-        userName = pc.getUserName();
-        xacon = getXADataSource().getXAConnection(userName, new String(pc.getPassword()));
-      }
-      Connection con = xacon.getConnection();
-      return new CciManagedConnection(this, pc, xacon, con, true, true);
-    }
-    catch (SQLException ex) {
-      ResourceException re = new EISSystemException("SQLException: " + ex.getMessage());
-      re.setLinkedException(ex);
-      throw re;
-    }
-
-  }
-
-  public ManagedConnection matchManagedConnections(Set connectionSet, Subject subject,
-      ConnectionRequestInfo info) throws ResourceException {
-
-    PasswordCredential pc = Util.getPasswordCredential(this, subject, info);
-    Iterator it = connectionSet.iterator();
-    while (it.hasNext()) {
-      Object obj = it.next();
-      if (obj instanceof CciManagedConnection) {
-        CciManagedConnection mc = (CciManagedConnection) obj;
-        ManagedConnectionFactory mcf = mc.getManagedConnectionFactory();
-        if (Util.isPasswordCredentialEqual(mc.getPasswordCredential(), pc) && mcf.equals(this)) {
-          return mc;
-        }
-      }
-    }
-    return null;
-  }
-
-  public void setLogWriter(PrintWriter out) throws ResourceException {
-
-    try {
-      getXADataSource().setLogWriter(out);
-    }
-    catch (SQLException ex) {
-
-      ResourceException rex = new ResourceException("SQLException");
-      rex.setLinkedException(ex);
-      throw rex;
-    }
-  }
-
-  public PrintWriter getLogWriter() throws ResourceException {
-    try {
-      return getXADataSource().getLogWriter();
-    }
-    catch (SQLException ex) {
-
-      ResourceException rex = new ResourceException("SQLException");
-      rex.setLinkedException(ex);
-      throw rex;
-    }
-  }
-
-  public String getXADataSourceName() {
-    return XADataSourceName;
-  }
-
-  public void setXADataSourceName(String XADataSourceName) {
-    this.XADataSourceName = XADataSourceName;
-  }
-
-  public String getConnectionURL(){
-      return url;
-  }
-
-  public void setConnectionURL(String connectionURL){
-      this.url = connectionURL;
-  }
-
- public XADataSource getXADataSource() throws ResourceException {
-        try {
-            String jdbcType = url.trim().substring(0, url.indexOf("//")).toLowerCase() ;
-            if(jdbcType.contains("derby"))
-              return getDerbyXADataSource();
-            else if(jdbcType.contains("oracle"))
-                return getOraXADataSource();
-            else
-                throw new NotSupportedException("Current flex mcf only support oracle & derby EIS simulation.");
-        } catch (SQLException ex) {
-            Logger.info("catch sql exception while exe getXADataSource()", ex);
-            throw new ResourceException("catch sql exception while exe getXADataSource()", ex);
-        }
-  }
-
-   private XADataSource getDerbyXADataSource() throws SQLException{
-      String urltrim = url.trim().substring(url.indexOf("//") + 2);
-      String host = urltrim.substring(0, urltrim.indexOf(":"));
-      String port = urltrim.substring(urltrim.indexOf(":") + 1, urltrim.indexOf("/"));
- //     String dbname = urltrim.substring(urltrim.indexOf("/")+1);
-      String dbname = XADataSourceName + ";create=true;autocommit=false";
-      Logger.info("getDerbyXADataSource() for host:" + host + ";port:" + port + ";dbname:" + dbname);
-
-      Object ds = loadAndInstantiateClass("org.apache.derby.jdbc.ClientXADataSource");
-      invokeMethod(ds, "setServerName", new Object[]{host});
-      invokeMethod(ds, "setPortNumber", new Object[]{new Integer(port)});
-      invokeMethod(ds, "setDatabaseName", new Object[]{dbname});
-
-      return (XADataSource) ds;
-  }
-
-   private XADataSource getOraXADataSource() throws SQLException{
-        Object ds = loadAndInstantiateClass("oracle.jdbc.xa.client.OracleXADataSource");
-        invokeMethod(ds, "setURL", new Object[]{url});
-        return (XADataSource)ds;
-  }
-
-   private Object loadAndInstantiateClass(String className){
-        try {
-            Class cls = Class.forName(className);
-           Object obj = cls.newInstance();
-           Logger.info("JDBC Driver Loaded and instantiated " + className + ".");
-           return obj;
-
-        } catch (InstantiationException | IllegalAccessException ex) {
-            Logger.info("catch exception while instantiate class with non-param constructor: "+className, ex);
-        }
-        catch (ClassNotFoundException ex) {
-            Logger.info("could not find class: "+className, ex);
-        }
-
-        return null;
-   }
-
-   private Object invokeMethod(Object obj, String methodName, Object[] args){
-       Method methodToInvoke = null;
-       Object ret = null;
-       Method methods[] = obj.getClass().getMethods();
-       for (int i = 0; i < methods.length; i++) {
-           if (methodName != null && methodName.equals(methods[i].getName())) {
-               methodToInvoke = methods[i];
-               break;
-           }
-       }
-
-       if (methodToInvoke != null) {
-           try {
-               Logger.info("Found method " + methodName + ".");
-
-               ret = methodToInvoke.invoke(obj, args);
-               Logger.info("Invoked method " + methodName + ".");
-               return ret;
-           } catch (Exception ex) {
-               Logger.info("catch exception while invoking method: " + methodName + " of obj: " + obj, ex);
-           }
-       } else {
-           Logger.info("Unable to find method \"" + methodName + "\" in class \"" + obj + "\". Check to see if the method exists and that it is defined as public.");
-       }
-       return ret;
-   }
-
-  public static String throwable2StackTrace(Throwable throwable) {
-    if (throwable == null) throwable = new Throwable(
-        "[Null exception passed, creating stack trace for offending caller]");
-    ByteArrayOutputStream bytearrayoutputstream = new ByteArrayOutputStream();
-    throwable.printStackTrace(new PrintStream(bytearrayoutputstream));
-    return bytearrayoutputstream.toString();
-  }
-
-  public boolean equals(Object obj) {
-    if (obj == null) return false;
-    if (obj instanceof CciManagedConnectionFactory) {
-      String v1 = ((CciManagedConnectionFactory) obj).XADataSourceName;
-      String v2 = this.XADataSourceName;
-      return (v1 == null) ? (v2 == null) : (v1.equals(v2));
-    } else {
-      return false;
-    }
-  }
-
-  public int hashCode() {
-    if (XADataSourceName == null) {
-      return (new String("")).hashCode();
-    } else {
-      return XADataSourceName.hashCode();
-    }
-  }
-}
diff --git a/appserver/tests/gftest.sh b/appserver/tests/gftest.sh
index 0256cc9..b364a84 100755
--- a/appserver/tests/gftest.sh
+++ b/appserver/tests/gftest.sh
@@ -52,7 +52,8 @@
   tar -xzf ${WORKSPACE}/bundles/maven-repo.tar.gz --overwrite -m -p -C ${HOME}/.m2/repository
   echo "Removing old glassfish directory: ${S1AS_HOME}";
   rm -rf "${S1AS_HOME}";
+  export GF_VERSION="$(mvn help:evaluate -f ${APS_HOME}/pom.xml -Dexpression=project.version -q -DforceStdout)";
+  export MVN_REPOSITORY="${HOME}/.m2/repository";
 fi
 
 "$@"
-
diff --git a/appserver/tests/pom.xml b/appserver/tests/pom.xml
index 082c3b1..ebcd02d 100755
--- a/appserver/tests/pom.xml
+++ b/appserver/tests/pom.xml
@@ -119,6 +119,7 @@
             </activation>
             <modules>
                 <module>tck</module>
+                <module>appserv-tests</module>
             </modules>
         </profile>
         <profile>
@@ -127,11 +128,16 @@
         </profile>
         <profile>
             <id>fastest</id>
-            <modules />
+            <modules>
+                <!-- Compile dependencies -->
+                <module>appserv-tests</module>
+            </modules>
         </profile>
         <profile>
             <id>fast</id>
-            <modules />
+            <modules>
+                <module>appserv-tests</module>
+            </modules>
         </profile>
     </profiles>
 </project>
diff --git a/appserver/tests/v2-tests/appserv-tests/sqetests/connector/cci-embedded/build.xml b/appserver/tests/v2-tests/appserv-tests/sqetests/connector/cci-embedded/build.xml
index 482be85..d3ef170 100755
--- a/appserver/tests/v2-tests/appserv-tests/sqetests/connector/cci-embedded/build.xml
+++ b/appserver/tests/v2-tests/appserv-tests/sqetests/connector/cci-embedded/build.xml
@@ -202,7 +202,7 @@
 
 <target name="create-rar">
     <copy file="descriptor/ra.xml" tofile="${assemble.dir}/rar/META-INF/ra.xml"/>
-    <copy file="${env.APS_HOME}/sqetests/connector/lib/cciblackbox-tx.jar" tofile="${assemble.dir}/rar/cciblackbox-tx.jar"/>
+    <copy file="${env.APS_HOME}/cciblackbox-tx/target/cciblackbox-tx.jar" tofile="${assemble.dir}/rar/cciblackbox-tx.jar"/>
     <replace file="${assemble.dir}/rar/META-INF/ra.xml" token="DBURL" value="${db.url}"/>
 </target>
 
diff --git a/appserver/tests/v2-tests/appserv-tests/sqetests/connector/cci/build.xml b/appserver/tests/v2-tests/appserv-tests/sqetests/connector/cci/build.xml
index 433ef43..b979aa0 100755
--- a/appserver/tests/v2-tests/appserv-tests/sqetests/connector/cci/build.xml
+++ b/appserver/tests/v2-tests/appserv-tests/sqetests/connector/cci/build.xml
@@ -213,7 +213,7 @@
 <target name="create-rar">
     <copy file="descriptor/ra.xml"
         tofile="${assemble.dir}/rar/META-INF/ra.xml"/>
-    <copy file="${env.APS_HOME}/sqetests/connector/lib/cciblackbox-tx.jar"
+    <copy file="${env.APS_HOME}/cciblackbox-tx/target/cciblackbox-tx.jar"
         tofile="${assemble.dir}/rar/cciblackbox-tx.jar"/>
     <replace file="${assemble.dir}/rar/META-INF/ra.xml"
         token="DBURL" value="${db.url}"/>
diff --git a/appserver/tests/v2-tests/appserv-tests/sqetests/connector/lib/cciblackbox-tx.jar b/appserver/tests/v2-tests/appserv-tests/sqetests/connector/lib/cciblackbox-tx.jar
deleted file mode 100644
index 730b04d..0000000
--- a/appserver/tests/v2-tests/appserv-tests/sqetests/connector/lib/cciblackbox-tx.jar
+++ /dev/null
Binary files differ
diff --git a/gfbuild.sh b/gfbuild.sh
index 30762b8..25c7f3b 100755
--- a/gfbuild.sh
+++ b/gfbuild.sh
@@ -83,5 +83,5 @@
 "$@"
 
 if [ ! -z "${JENKINS_HOME}" ] ; then
-  tar -c --exclude='*.zip' --exclude='*/main/tests/*' --exclude='*/main/distributions/*' --exclude='*/main/extras/*' --exclude='*/main/admingui/*' --newer-mtime '1 day ago' -C ${HOME}/.m2/repository org/glassfish/main | gzip --fast > ${WORKSPACE}/bundles/maven-repo.tar.gz
+  tar -c --exclude='*.zip' --exclude='*/main/tests/tck/*' --exclude='*/main/distributions/*' --exclude='*/main/extras/*' --exclude='*/main/admingui/*' --newer-mtime '1 day ago' -C ${HOME}/.m2/repository org/glassfish/main | gzip --fast > ${WORKSPACE}/bundles/maven-repo.tar.gz
 fi
diff --git a/nucleus/parent/pom.xml b/nucleus/parent/pom.xml
index dea9fab..2b58231 100644
--- a/nucleus/parent/pom.xml
+++ b/nucleus/parent/pom.xml
@@ -91,7 +91,7 @@
 
         <!-- Jakarta Validation -->
         <jakarta.validation-api.version>3.0.1</jakarta.validation-api.version>
-        <hibernate-validator.version>7.0.1.Final</hibernate-validator.version>
+        <hibernate-validator.version>7.0.2.Final</hibernate-validator.version>
 
         <!-- Jakarta Web Services -->
         <webservices.version>4.0.0-M2</webservices.version>
@@ -139,7 +139,7 @@
         <!-- 3rd party dependencies -->
         <stax-api.version>1.0-2</stax-api.version>
         <jboss.logging.annotation.version>2.2.1.Final</jboss.logging.annotation.version>
-        <jboss.logging.version>3.4.2.Final</jboss.logging.version>
+        <jboss.logging.version>3.4.3.Final</jboss.logging.version>
         <javassist.version>3.28.0-GA</javassist.version>
         <fasterxml.classmate.version>1.5.1</fasterxml.classmate.version>
         <jsch.version>0.1.56</jsch.version>
@@ -162,7 +162,7 @@
         <easymock.version>4.3</easymock.version>
         <jmockit.version>1.49</jmockit.version>
         <junit.version>5.8.2</junit.version>
-        <jmh.version>1.33</jmh.version>
+        <jmh.version>1.34</jmh.version>
         <osgi-resource-locator.version>1.0.3</osgi-resource-locator.version>
 
         <maven.test.jvmoptions.add-opens>--add-opens java.base/java.lang=ALL-UNNAMED --add-opens=java.naming/javax.naming.spi=ALL-UNNAMED</maven.test.jvmoptions.add-opens>
@@ -687,7 +687,7 @@
                 <plugin>
                     <groupId>org.apache.felix</groupId>
                     <artifactId>maven-bundle-plugin</artifactId>
-                    <version>5.1.3</version>
+                    <version>5.1.4</version>
                 </plugin>
                 <plugin>
                     <artifactId>maven-compiler-plugin</artifactId>
@@ -1332,6 +1332,24 @@
             </properties>
         </profile>
         <profile>
+            <id>source</id>
+            <build>
+                <plugins>
+                    <plugin>
+                        <artifactId>maven-source-plugin</artifactId>
+                        <executions>
+                            <execution>
+                                <id>attach-sources</id>
+                                <goals>
+                                    <goal>jar-no-fork</goal>
+                                </goals>
+                            </execution>
+                        </executions>
+                    </plugin>
+                </plugins>
+            </build>
+        </profile>
+        <profile>
             <id>findbugs</id>
             <activation>
                 <activeByDefault>false</activeByDefault>
diff --git a/runtests.sh b/runtests.sh
index f3d3ad0..4fe8e3f 100755
--- a/runtests.sh
+++ b/runtests.sh
@@ -64,6 +64,7 @@
   exit 2;
 fi
 
+export MVN_REPOSITORY="${HOME}/.m2/repository"
 export WORKSPACE="$(pwd)/target"
 export TEST_RUN_LOG="${WORKSPACE}/tests-run.log"
 export CLASSPATH="${WORKSPACE}/glassfish7/javadb"
@@ -75,5 +76,7 @@
 install_glassfish;
 install_jacoco;
 
+rm -f ./appserver/tests/appserv-tests/test_resultsValid.xml
+rm -f ./appserver/tests/appserv-tests/test_results.xml
 ./appserver/tests/gftest.sh run_test "${test}"