[jboss-cvs] JBossAS SVN: r111689 - in projects/jboss-jca/tags: IRONJACAMAR_1_0_0_CR3 and 10 other directories.

jboss-cvs-commits at lists.jboss.org jboss-cvs-commits at lists.jboss.org
Wed Jun 29 10:01:34 EDT 2011


Author: jesper.pedersen
Date: 2011-06-29 10:01:33 -0400 (Wed, 29 Jun 2011)
New Revision: 111689

Added:
   projects/jboss-jca/tags/IRONJACAMAR_1_0_0_CR3/
   projects/jboss-jca/tags/IRONJACAMAR_1_0_0_CR3/as/
   projects/jboss-jca/tags/IRONJACAMAR_1_0_0_CR3/build.xml
   projects/jboss-jca/tags/IRONJACAMAR_1_0_0_CR3/core/src/main/java/org/jboss/jca/core/CoreBundle.java
   projects/jboss-jca/tags/IRONJACAMAR_1_0_0_CR3/core/src/main/java/org/jboss/jca/core/api/workmanager/WorkManager.java
   projects/jboss-jca/tags/IRONJACAMAR_1_0_0_CR3/core/src/main/java/org/jboss/jca/core/spi/graceful/
   projects/jboss-jca/tags/IRONJACAMAR_1_0_0_CR3/core/src/main/java/org/jboss/jca/core/workmanager/WorkManagerImpl.java
   projects/jboss-jca/tags/IRONJACAMAR_1_0_0_CR3/core/src/main/java/org/jboss/jca/core/workmanager/WorkWrapper.java
   projects/jboss-jca/tags/IRONJACAMAR_1_0_0_CR3/core/src/test/java/org/jboss/jca/core/workmanager/unit/WorkManagerGracefulShutdownTestCase.java
   projects/jboss-jca/tags/IRONJACAMAR_1_0_0_CR3/core/src/test/resources/rejecting-workmanager.xml
   projects/jboss-jca/tags/IRONJACAMAR_1_0_0_CR3/core/src/test/resources/workmanager.xml
   projects/jboss-jca/tags/IRONJACAMAR_1_0_0_CR3/doc/userguide/en-US/modules/download.xml
   projects/jboss-jca/tags/IRONJACAMAR_1_0_0_CR3/doc/userguide/en-US/modules/installation.xml
   projects/jboss-jca/tags/IRONJACAMAR_1_0_0_CR3/embedded/src/main/resources/jca.xml
   projects/jboss-jca/tags/IRONJACAMAR_1_0_0_CR3/ivy.xml
   projects/jboss-jca/tags/IRONJACAMAR_1_0_0_CR3/sjc/build.xml
   projects/jboss-jca/tags/IRONJACAMAR_1_0_0_CR3/sjc/src/main/resources/bootstrap/jca.xml
Removed:
   projects/jboss-jca/tags/IRONJACAMAR_1_0_0_CR3/build.xml
   projects/jboss-jca/tags/IRONJACAMAR_1_0_0_CR3/core/src/main/java/org/jboss/jca/core/CoreBundle.java
   projects/jboss-jca/tags/IRONJACAMAR_1_0_0_CR3/core/src/main/java/org/jboss/jca/core/api/workmanager/WorkManager.java
   projects/jboss-jca/tags/IRONJACAMAR_1_0_0_CR3/core/src/main/java/org/jboss/jca/core/workmanager/WorkManagerImpl.java
   projects/jboss-jca/tags/IRONJACAMAR_1_0_0_CR3/core/src/main/java/org/jboss/jca/core/workmanager/WorkWrapper.java
   projects/jboss-jca/tags/IRONJACAMAR_1_0_0_CR3/core/src/test/resources/rejecting-workmanager.xml
   projects/jboss-jca/tags/IRONJACAMAR_1_0_0_CR3/core/src/test/resources/workmanager.xml
   projects/jboss-jca/tags/IRONJACAMAR_1_0_0_CR3/doc/userguide/en-US/modules/download.xml
   projects/jboss-jca/tags/IRONJACAMAR_1_0_0_CR3/doc/userguide/en-US/modules/installation.xml
   projects/jboss-jca/tags/IRONJACAMAR_1_0_0_CR3/embedded/src/main/resources/jca.xml
   projects/jboss-jca/tags/IRONJACAMAR_1_0_0_CR3/ivy.xml
   projects/jboss-jca/tags/IRONJACAMAR_1_0_0_CR3/sjc/build.xml
   projects/jboss-jca/tags/IRONJACAMAR_1_0_0_CR3/sjc/src/main/resources/bootstrap/jca.xml
Log:
IronJacamar 1.0.0.CR3

Deleted: projects/jboss-jca/tags/IRONJACAMAR_1_0_0_CR3/build.xml
===================================================================
--- projects/jboss-jca/branches/Branch_1_0/build.xml	2011-06-28 12:27:24 UTC (rev 111682)
+++ projects/jboss-jca/tags/IRONJACAMAR_1_0_0_CR3/build.xml	2011-06-29 14:01:33 UTC (rev 111689)
@@ -1,1524 +0,0 @@
-<!--
- * JBoss, Home of Professional Open Source.
- * Copyright 2008, Red Hat Middleware LLC, and individual contributors
- * as indicated by the @author tags. See the copyright.txt file in the
- * distribution for a full listing of individual contributors.
- *
- * This is free software; you can redistribute it and/or modify it
- * under the terms of the GNU Lesser General Public License as
- * published by the Free Software Foundation; either version 2.1 of
- * the License, or (at your option) any later version.
- *
- * This software is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public
- * License along with this software; if not, write to the Free
- * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
- * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
--->
-<project name="ironjacamar" 
-         default="jars" 
-         basedir="." 
-         xmlns:ivy="antlib:org.apache.ivy.ant">
-
-  <available classname="java.lang.Enum" property="HAVE_JDK_1.5"/>
-  <available classname="java.lang.management.LockInfo" property="HAVE_JDK_1.6"/>
-  <available classname="java.util.concurrent.ForkJoinPool" property="HAVE_JDK_1.7"/>
-
-  <!-- ================================= 
-       Project              
-       ================================= -->
-  <property name="name" value="ironjacamar"/>
-  <property name="major" value="1"/>
-  <property name="minor" value="0"/>
-  <property name="patch" value="0"/>
-  <property name="type" value="CR2"/>
-
-  <condition property="version" value="${major}.${minor}.${patch}-SNAPSHOT">
-    <isset property="snapshot"/>
-  </condition>
-  <property name="version" value="${major}.${minor}.${patch}.${type}"/>
-
-  <!-- ================================= 
-       Maven repository settings
-       ================================= -->
-  <condition property="mavensettings" value="/private/ironjacamar/settings.xml">
-    <isset property="cloudbees"/>
-  </condition>
-  <property name="mavensettings" value="$HOME/.m2/settings.xml"/>
-
-  <condition property="repositoryurl" value="https://repository.jboss.org/nexus/content/repositories/snapshots/">
-    <isset property="snapshot"/>
-  </condition>
-  <property name="repositoryurl" value="https://repository.jboss.org/nexus/service/local/staging/deploy/maven2/"/>
-
-  <condition property="repositoryid" value="jboss-snapshots">
-    <isset property="snapshot"/>
-  </condition>
-  <property name="repositoryid" value="jboss-releases"/>
-
-  <!-- ================================= 
-       Ivy              
-       ================================= -->
-  <property name="ivy.version" value="2.2.0"/>
-  <property name="ivy.dir" value="${user.home}/.ivy2/cache/org.apache.ivy/jars"/>
-  <property name="ivy.jar.name" value="ivy-${ivy.version}.jar"/>
-
-  <!-- ================================= 
-       Repositories              
-       ================================= -->
-  <property name="central.repo" value="http://repo1.maven.org/maven2"/>
-  <property name="jboss.repo" value="http://repository.jboss.org/nexus/content/groups/public/"/>
-  <property name="snapshots.repo" value="http://repository.jboss.org/nexus/content/repositories/snapshots/"/>
-  <property name="fungal.repo" value="http://jesperpedersen.github.com/fungal/maven2"/>
-  
-  <!-- ================================= 
-       Properties              
-       ================================= -->
-  <property name="lib.dir" value="${basedir}/lib" />
-  <property name="build.dir" value="${basedir}/build" />
-  <property name="api.dir" value="${basedir}/api" />
-  <property name="doc.dir" value="${basedir}/doc" />
-  <property name="target.dir" value="${basedir}/target" />
-  <property name="tools.dir" value="${basedir}/tools" />
-  <property name="reports.dir" value="${basedir}/reports" />
-  <property name="test.dir" value="${reports.dir}" />
-
-  <property name="javac.debug" value="on" />
-  <property name="javac.deprecation" value="on" />
-  <property name="javac.optimize" value="off" />
-
-  <property name="junit.printsummary" value="yes" />
-  <property name="junit.haltonerror" value="no" />
-  <property name="junit.haltonfailure" value="no" />
-  <property name="junit.fork" value="yes" />
-  <property name="junit.timeout" value="60000" />
-  <property name="junit.jvm" value="" />
-  <property name="junit.jvm.options" value="-Xms128m -Xmx512m -XX:MaxPermSize=256m" />
-  <property name="junit.batchtest.haltonerror" value="no" />
-  <property name="junit.batchtest.haltonfailure" value="no" />
-  <property name="junit.batchtest.fork" value="yes" />
-
-  <!-- ================================= 
-       Versions              
-       ================================= -->
-  <property name="version.ant" value="1.8.1"/>
-  <property name="version.activation" value="1.1"/>
-  <property name="version.apache-log4j" value="1.2.16"/>
-  <property name="version.apache-logging" value="1.1.0.jboss"/>
-  <property name="version.apiviz" value="1.3.1.GA"/>
-  <property name="version.arquillian" value="1.0.0.CR1"/>
-  <property name="version.dom4j" value="1.6.1"/>
-  <property name="version.mockito" value="1.8.5"/>
-  <property name="version.eclipse.ecj" value="3.5.1"/>
-  <property name="version.fungal" value="0.10.0.Beta1"/>
-  <property name="version.h2" value="1.3.154"/>
-  <property name="version.hibernate-annotations" value="3.5.1-Final"/>
-  <property name="version.hibernate-validator" value="4.1.0.Final"/>
-  <property name="version.hornetq" value="2.2.2.Final"/>
-  <property name="version.javassist" value="3.14.0-GA"/>
-  <property name="version.jboss.common" value="2.2.17.GA"/>
-  <property name="version.jboss.jaspi.api" value="1.0.0.Final"/>
-  <property name="version.jboss.jms.api" value="1.0.0.Beta1"/>
-  <property name="version.jboss.logging" value="3.0.0.CR1"/>
-  <property name="version.jboss.logging-generator" value="1.0.0.Beta7"/>
-  <property name="version.jboss.logging-processor" value="1.0.0.Beta7"/>
-  <property name="version.jboss.logmanager" value="1.2.0.CR9"/>
-  <property name="version.jboss.naming" value="5.0.3.GA"/>
-  <property name="version.jboss.netty" value="3.2.1.Final"/>
-  <property name="version.jboss.papaki" value="1.0.0.Beta3"/>
-  <property name="version.jboss.picketbox" value="4.0.0.Beta4"/>
-  <property name="version.jboss.security" value="2.1.0.20090318"/>
-  <property name="version.jboss.shrinkwrap" value="1.0.0-beta-3"/>
-  <property name="version.jboss.shrinkwrap.descriptors" value="1.0.0-beta-1"/>
-  <property name="version.jboss.slf4j" value="1.0.2.GA"/>
-  <property name="version.jboss.slf4j.logmanager" value="1.0.0.CR3"/>
-  <property name="version.jboss.stdio" value="1.0.0.CR3"/>
-  <property name="version.jboss.threads" value="2.0.0.CR7"/>
-  <property name="version.jboss.ts" value="4.15.1.Final"/>
-  <property name="version.jboss.ts.spi" value="7.0.0.CR1"/>
-  <property name="version.jdepend" value="2.9.1"/>
-  <property name="version.jetty" value="7.4.0.v20110414"/>
-  <property name="version.jetty.servlet" value="6.1.14"/>
-  <property name="version.jetty.glassfish" value="2.1.v20100127"/>
-  <property name="version.jasper" value="glassfish_2.1.0.v201004190952"/>
-  <property name="version.jpa" value="1.0"/>
-  <property name="version.junit" value="4.8.2"/>
-  <property name="version.jaxb.api" value="2.0"/>
-  <property name="version.jaxb.impl" value="2.1"/>
-  <property name="version.mail-api" value="1.4.4"/>
-  <property name="version.maven" value="2.2.1"/>
-  <property name="version.rhq" value="4.0.0.Beta1"/>
-  <property name="version.slf4j" value="1.5.8"/>
-  <property name="version.transaction.api" value="1.0.0.Final"/>
-  <property name="version.validation-api" value="1.0.0.GA"/>
-
-  <!-- ================================= 
-       Paths              
-       ================================= -->
-  <path id="sjc.lib.path.id">
-    <fileset dir="${lib.dir}/common">
-      <include name="**/*.jar"/>
-    </fileset>
-    <fileset dir="${lib.dir}/embedded">
-      <include name="**/*.jar"/>
-    </fileset>
-    <fileset dir="${lib.dir}/arquillian">
-      <include name="**/*.jar"/>
-    </fileset>
-    <fileset dir="${lib.dir}/jetty">
-      <include name="**/*.jar"/>
-    </fileset>
-    <fileset dir="${lib.dir}/hornetq">
-      <include name="**/*.jar"/>
-    </fileset>
-    <fileset dir="${lib.dir}/sjc">
-      <include name="**/*.jar"/>
-    </fileset>
-    <fileset dir="${lib.dir}/mail">
-      <include name="**/*.jar"/>
-    </fileset>
-    <fileset dir="${lib.dir}/tools">
-      <include name="**/*.jar"/>
-    </fileset>
-    <fileset dir="${target.dir}">
-      <include name="**/*.jar"/>
-    </fileset>
-  </path>
-
-  <path id="rhq.lib.path.id">
-    <path refid="sjc.lib.path.id"/>
-    <fileset dir="${lib.dir}/rhq">
-      <include name="**/*.jar"/>
-    </fileset>
-  </path>
-
-  <path id="test.lib.path.id">
-    <fileset dir="${lib.dir}/common">
-      <include name="**/*.jar"/>
-    </fileset>
-    <fileset dir="${lib.dir}/sjc">
-      <include name="**/*.jar"/>
-    </fileset>
-    <fileset dir="${lib.dir}/embedded">
-      <include name="**/*.jar"/>
-    </fileset>
-    <fileset dir="${lib.dir}/arquillian">
-      <include name="**/*.jar"/>
-    </fileset>
-    <fileset dir="${lib.dir}/mail">
-      <include name="**/*.jar"/>
-    </fileset>
-    <fileset dir="${lib.dir}/hornetq">
-      <include name="**/*.jar"/>
-    </fileset>
-    <fileset dir="${lib.dir}/test">
-      <include name="**/*.jar"/>
-    </fileset>
-    <fileset dir="${lib.dir}/tools">
-      <include name="**/*.jar"/>
-    </fileset>
-    <fileset dir="${lib.dir}/rhq">
-      <include name="**/*.jar"/>
-    </fileset>
-    <fileset dir="${target.dir}">
-       <include name="**/*.jar"/>
-    </fileset>
-  </path>
-
-  <path id="checkstyle.lib.path.id">
-    <fileset dir="${tools.dir}/checkstyle/lib"/>
-    <fileset dir="${lib.dir}/common">
-      <include name="**/*.jar"/>
-    </fileset>
-    <fileset dir="${lib.dir}/embedded">
-      <include name="**/*.jar"/>
-    </fileset>
-    <fileset dir="${lib.dir}/arquillian">
-      <include name="**/*.jar"/>
-    </fileset>
-    <fileset dir="${lib.dir}/jetty">
-      <include name="**/*.jar"/>
-    </fileset>
-    <fileset dir="${lib.dir}/hornetq">
-      <include name="**/*.jar"/>
-    </fileset>
-    <fileset dir="${lib.dir}/sjc">
-      <include name="**/*.jar"/>
-    </fileset>
-    <fileset dir="${lib.dir}/mail">
-      <include name="**/*.jar"/>
-    </fileset>
-    <fileset dir="${lib.dir}/test">
-      <include name="**/*.jar"/>
-    </fileset>
-    <fileset dir="${lib.dir}/tools">
-      <include name="**/*.jar"/>
-    </fileset>
-    <fileset dir="${lib.dir}/rhq">
-      <include name="**/*.jar"/>
-    </fileset>
-    <fileset dir="${target.dir}">
-      <include name="**/*.jar"/>
-    </fileset>
-  </path>
-
-  <path id="findbugs.lib.path.id">
-    <fileset dir="${tools.dir}/findbugs/lib"/>
-  </path>
-
-  <path id="cobertura.lib.path.id">
-    <fileset dir="${tools.dir}/cobertura/lib"/>
-  </path>
-
-  <path id="tattletale.lib.path.id">
-    <fileset dir="${tools.dir}/tattletale/lib"/>
-  </path>
-
-  <!-- ================================= 
-       Bootstrap Ivy
-       ================================= -->
-  <mkdir dir="${ivy.dir}"/>
-  <get usetimestamp="true" src="https://repository.apache.org/content/repositories/releases/org/apache/ivy/ivy/${ivy.version}/${ivy.jar.name}" 
-       skipexisting="true"
-       dest="${ivy.dir}/${ivy.jar.name}"/>
-  <taskdef resource="org/apache/ivy/ant/antlib.xml" uri="antlib:org.apache.ivy.ant" classpath="${ivy.dir}/${ivy.jar.name}"/>
-
-  <!-- ================================= 
-       Target: init              
-       ================================= -->
-  <target name="init">
-    <fail message="IronJacamar requires JDK6+" unless="HAVE_JDK_1.6"/>
-  
-    <ivy:settings file="${basedir}/ivy.settings.xml"/>
-
-    <mkdir dir="${build.dir}" />
-    <mkdir dir="${target.dir}" />
-  </target>
-
-  <!-- ================================= 
-       Target: resolve              
-       ================================= -->
-  <target name="resolve" depends="init">
-    <ivy:retrieve pattern="${lib.dir}/[conf]/[artifact].[ext]" 
-                  conf="common,sjc,embedded,arquillian,jetty,hornetq,mail,rhq,test,tools"
-                  sync="true"/>
-  </target>
-  
-  <!-- ================================= 
-       Target: report              
-       ================================= -->
-  <target name="report" depends="resolve">
-    <ivy:report todir="${target.dir}"/>
-  </target>
-  
-  <!-- ================================= 
-       Target: jars
-       ================================= -->
-  <target name="jars" depends="resolve">
-    <ant dir="api" inheritRefs="true" target="jars"/>
-    <ant dir="common" inheritRefs="true" target="jars"/>
-    <ant dir="core" inheritRefs="true" target="jars"/>
-    <ant dir="validator" inheritRefs="true" target="jars"/>
-    <ant dir="deployers" inheritRefs="true" target="jars"/>
-    <ant dir="embedded" inheritRefs="true" target="jars"/>
-    <ant dir="web" inheritRefs="true" target="jars"/>
-    <ant dir="sjc" inheritRefs="true" target="jars"/>
-    <ant dir="codegenerator" inheritRefs="true" target="jars"/>
-    <ant dir="adapters" inheritRefs="true" target="jars"/>
-    <ant dir="rhq" inheritRefs="true" target="jars"/>
-  </target>
-  
-  <!-- ================================= 
-       Target: docs
-       ================================= -->
-  <target name="docs" depends="jars">
-    <ant dir="api" inheritRefs="true" target="docs"/>
-    <ant dir="common" inheritRefs="true" target="docs"/>
-    <ant dir="core" inheritRefs="true" target="docs"/>
-    <ant dir="validator" inheritRefs="true" target="docs"/>
-    <ant dir="deployers" inheritRefs="true" target="docs"/>
-    <ant dir="embedded" inheritRefs="true" target="docs"/>
-    <ant dir="web" inheritRefs="true" target="docs"/>
-    <ant dir="sjc" inheritRefs="true" target="docs"/>
-    <ant dir="codegenerator" inheritRefs="true" target="docs"/>
-    <ant dir="adapters" inheritRefs="true" target="docs"/>
-    <ant dir="rhq" inheritRefs="true" target="docs"/>
-  </target>
-  
-  <!-- ================================= 
-       Target: manual
-       ================================= -->
-  <target name="manual">
-    <ant dir="${doc.dir}/developerguide" inheritRefs="false" inheritAll="false"/>
-    <ant dir="${doc.dir}/userguide" inheritRefs="false" inheritAll="false"/>
-  </target>
-
-  <!-- ================================= 
-       Target: prepare test
-       ================================= -->
-  <target name="prepare-test" depends="jars">
-    <ant dir="common" inheritRefs="true" target="prepare-test"/>
-    <ant dir="core" inheritRefs="true" target="prepare-test"/>
-    <ant dir="embedded" inheritRefs="true" target="prepare-test"/>
-    <ant dir="deployers" inheritRefs="true" target="prepare-test"/>
-    <ant dir="validator" inheritRefs="true" target="prepare-test"/>
-    <ant dir="codegenerator" inheritRefs="true" target="prepare-test"/>
-    <ant dir="adapters" inheritRefs="true" target="prepare-test"/>
-    <ant dir="rhq" inheritRefs="true" target="prepare-test"/>
-  </target>
-  
-  <!-- ================================= 
-       Target: test
-       ================================= -->
-  <target name="test" depends="prepare-test">
-    <ant dir="common" inheritRefs="true" target="test"/>
-    <ant dir="core" inheritRefs="true" target="test"/>
-    <ant dir="embedded" inheritRefs="true" target="test"/>
-    <ant dir="deployers" inheritRefs="true" target="test"/>
-    <ant dir="validator" inheritRefs="true" target="test"/>
-    <ant dir="adapters" inheritRefs="true" target="test"/>
-    <ant dir="rhq" inheritRefs="true" target="test"/>
-  </target>
-  
-  <!-- ================================= 
-       Target: one-test
-       ================================= -->
-  <target name="one-test" depends="jars">
-    <condition property="module" else="core">
-      <equals arg1="${module}" arg2="" trim="true"/> 
-    </condition>
-
-    <ant dir="${module}" inheritRefs="true" target="one-test"/>
-  </target>
-
-  <!-- ================================= 
-       Target: module-test
-       ================================= -->
-  <target name="module-test" depends="jars">
-    <condition property="module" else="core">
-      <equals arg1="${module}" arg2="" trim="true"/> 
-    </condition>
-  	
-    <ant dir="${module}" inheritRefs="true" target="test"/>
-  </target>
-
-  <!-- ================================= 
-       Target: artifacts
-       ================================= -->
-  <target name="artifacts" depends="resolve">
-    <ant dir="api" inheritRefs="true" target="artifacts"/>
-    <ant dir="common" inheritRefs="true" target="artifacts"/>
-    <ant dir="core" inheritRefs="true" target="artifacts"/>
-    <ant dir="validator" inheritRefs="true" target="artifacts"/>
-    <ant dir="deployers" inheritRefs="true" target="artifacts"/>
-    <ant dir="embedded" inheritRefs="true" target="artifacts"/>
-    <ant dir="codegenerator" inheritRefs="true" target="artifacts"/>
-    <ant dir="adapters" inheritRefs="true" target="artifacts"/>
-  </target>
-  
-  <!-- ================================= 
-       Target: sjc
-       ================================= -->
-  <target name="sjc" depends="jars">
-    <ant dir="sjc" inheritRefs="true" target="sjc"/>
-  </target>
-
-  <!-- ================================= 
-       Target: release
-       ================================= -->
-  <target name="release" depends="clean,sjc">
-    <delete dir="${build.dir}"/>
-
-    <mkdir dir="${build.dir}" />
-    <mkdir dir="${build.dir}/${name}-${major}.${minor}.${patch}.${type}" />
-    <mkdir dir="${build.dir}/${name}-${major}.${minor}.${patch}.${type}/doc" />
-    <mkdir dir="${build.dir}/${name}-${major}.${minor}.${patch}.${type}/doc/spec" />
-
-    <ant dir="${doc.dir}/samples/helloworld" target="dist-clean" inheritRefs="false" inheritAll="false"/>
-
-    <ant dir="${doc.dir}/developerguide" target="pdf" inheritRefs="false" inheritAll="false"/>
-    <ant dir="${doc.dir}/userguide" target="pdf" inheritRefs="false" inheritAll="false"/>
-
-    <copy flatten="true" todir="${build.dir}/${name}-${major}.${minor}.${patch}.${type}/doc">
-      <fileset dir="${target.dir}/docs">
-        <include name="**/*.pdf"/>
-      </fileset>
-    </copy>
-
-    <ant dir="sjc" inheritRefs="true" target="war"/>
-    <delete dir="${build.dir}/sjc"/>
-
-    <ant dir="api" inheritRefs="true" target="docs"/>
-    <move todir="${build.dir}/${name}-${major}.${minor}.${patch}.${type}/doc/spec">
-      <fileset dir="${target.dir}/docs/spec">
-        <include name="**/*"/>
-      </fileset>
-    </move>
-    <delete dir="${build.dir}/api"/>
-
-    <copy todir="${build.dir}/${name}-${major}.${minor}.${patch}.${type}">
-      <fileset dir="${target.dir}/sjc"/>
-    </copy>
-    <chmod perm="755" type="file">
-      <fileset dir="${build.dir}/${name}-${major}.${minor}.${patch}.${type}">
-        <include name="**/*.sh"/>
-      </fileset>
-    </chmod>
-
-    <delete dir="${build.dir}/docbook"/>
-
-    <zip destfile="${name}-${major}.${minor}.${patch}.${type}.zip"
-         basedir="${build.dir}"/>
-    
-    <tar destfile="${name}-${major}.${minor}.${patch}.${type}.tar"
-         basedir="${build.dir}"/>
-    
-    <gzip zipfile="${name}-${major}.${minor}.${patch}.${type}.tar.gz" 
-          src="${name}-${major}.${minor}.${patch}.${type}.tar"/>
-    
-    <delete file="${name}-${major}.${minor}.${patch}.${type}.tar"/>
-    
-  </target>
-
-  <!-- ================================= 
-       Target: checkstyle
-       ================================= -->
-  <target name="checkstyle" depends="jars">
-    <taskdef name="checkstyle"
-             classname="com.puppycrawl.tools.checkstyle.CheckStyleTask"
-             classpathref="checkstyle.lib.path.id"/>
-
-    <mkdir dir="${reports.dir}/checkstyle" />
-
-    <checkstyle config="${tools.dir}/checkstyle/checkstyle.xml"
-                failOnViolation="false"
-                classpathref="checkstyle.lib.path.id">
-      <fileset dir="${basedir}">
-        <include name="**/*.java"/>
-        <exclude name="build/**/*.java"/>
-      </fileset>
-      <formatter type="plain"/>
-      <formatter type="xml" toFile="${reports.dir}/checkstyle/checkstyle-result.xml"/>
-    </checkstyle>
-  </target>
-
-  <!-- ================================= 
-       Target: findbugs
-       ================================= -->
-  <target name="findbugs" depends="jars">
-    <taskdef name="findbugs"
-             classname="edu.umd.cs.findbugs.anttask.FindBugsTask"
-             classpathref="findbugs.lib.path.id"/>
-
-    <mkdir dir="${reports.dir}/findbugs" />
-
-    <findbugs home="${basedir}/tools/findbugs/lib/"
-              output="html"
-              outputFile="${reports.dir}/findbugs/findbugs.html" 
-              excludeFilter="${basedir}/tools/findbugs/filter.xml"
-              reportLevel="low">
-      <auxClasspath>
-        <fileset dir="${lib.dir}/common">
-          <include name="*.jar"/>
-        </fileset>
-        <fileset dir="${lib.dir}/embedded">
-          <include name="*.jar"/>
-        </fileset>
-        <fileset dir="${lib.dir}/arquillian">
-          <include name="*.jar"/>
-        </fileset>
-        <fileset dir="${lib.dir}/jetty">
-          <include name="*.jar"/>
-        </fileset>
-        <fileset dir="${lib.dir}/hornetq">
-          <include name="*.jar"/>
-        </fileset>
-        <fileset dir="${lib.dir}/sjc">
-          <include name="*.jar"/>
-        </fileset>
-        <fileset dir="${lib.dir}/mail">
-          <include name="*.jar"/>
-        </fileset>
-        <fileset dir="${lib.dir}/rhq">
-          <include name="*.jar"/>
-        </fileset>
-        <fileset dir="${lib.dir}/test">
-          <include name="*.jar"/>
-        </fileset>
-        <fileset dir="${lib.dir}/tools">
-          <include name="*.jar"/>
-        </fileset>
-      </auxClasspath>
-      <class location="${target.dir}/${name}-codegenerator.jar" />
-      <class location="${target.dir}/${name}-common-api.jar" />
-      <class location="${target.dir}/${name}-common-impl.jar" />
-      <class location="${target.dir}/${name}-common-impl-papaki.jar" />
-      <class location="${target.dir}/${name}-common-spi.jar" />
-      <class location="${target.dir}/${name}-core-api.jar" />
-      <class location="${target.dir}/${name}-core-impl.jar" />
-      <class location="${target.dir}/${name}-deployers-common.jar" />
-      <class location="${target.dir}/${name}-deployers-fungal.jar" />
-      <class location="${target.dir}/${name}-embedded.jar" />
-      <class location="${target.dir}/${name}-embedded-arquillian.jar" />
-      <class location="${target.dir}/${name}-rhq.jar" />
-      <class location="${target.dir}/${name}-sjc.jar" />
-      <class location="${target.dir}/${name}-spec-api.jar" />
-      <class location="${target.dir}/${name}-validator.jar" />
-      <class location="${target.dir}/${name}-validator-ant.jar" />
-      <class location="${target.dir}/${name}-validator-cli.jar" />
-      <class location="${target.dir}/${name}-validator-maven.jar" />
-      <class location="${target.dir}/${name}-web.jar" />
-      <class location="${target.dir}/${name}-web-console.jar" />
-    </findbugs>
-
-    <findbugs home="${basedir}/tools/findbugs/lib/"
-              output="xml:withMessages"
-              outputFile="${reports.dir}/findbugs/findbugs.xml" 
-              excludeFilter="${basedir}/tools/findbugs/filter.xml"
-              reportLevel="low">
-      <auxClasspath>
-        <fileset dir="${lib.dir}/common">
-          <include name="*.jar"/>
-        </fileset>
-        <fileset dir="${lib.dir}/embedded">
-          <include name="*.jar"/>
-        </fileset>
-        <fileset dir="${lib.dir}/arquillian">
-          <include name="*.jar"/>
-        </fileset>
-        <fileset dir="${lib.dir}/jetty">
-          <include name="*.jar"/>
-        </fileset>
-        <fileset dir="${lib.dir}/hornetq">
-          <include name="*.jar"/>
-        </fileset>
-        <fileset dir="${lib.dir}/sjc">
-          <include name="*.jar"/>
-        </fileset>
-        <fileset dir="${lib.dir}/mail">
-          <include name="*.jar"/>
-        </fileset>
-        <fileset dir="${lib.dir}/rhq">
-          <include name="*.jar"/>
-        </fileset>
-        <fileset dir="${lib.dir}/test">
-          <include name="*.jar"/>
-        </fileset>
-        <fileset dir="${lib.dir}/tools">
-          <include name="*.jar"/>
-        </fileset>
-      </auxClasspath>
-      <class location="${target.dir}/${name}-codegenerator.jar" />
-      <class location="${target.dir}/${name}-common-api.jar" />
-      <class location="${target.dir}/${name}-common-impl.jar" />
-      <class location="${target.dir}/${name}-common-impl-papaki.jar" />
-      <class location="${target.dir}/${name}-common-spi.jar" />
-      <class location="${target.dir}/${name}-core-api.jar" />
-      <class location="${target.dir}/${name}-core-impl.jar" />
-      <class location="${target.dir}/${name}-deployers-common.jar" />
-      <class location="${target.dir}/${name}-deployers-fungal.jar" />
-      <class location="${target.dir}/${name}-embedded.jar" />
-      <class location="${target.dir}/${name}-embedded-arquillian.jar" />
-      <class location="${target.dir}/${name}-rhq.jar" />
-      <class location="${target.dir}/${name}-sjc.jar" />
-      <class location="${target.dir}/${name}-spec-api.jar" />
-      <class location="${target.dir}/${name}-validator.jar" />
-      <class location="${target.dir}/${name}-validator-ant.jar" />
-      <class location="${target.dir}/${name}-validator-cli.jar" />
-      <class location="${target.dir}/${name}-validator-maven.jar" />
-      <class location="${target.dir}/${name}-web.jar" />
-      <class location="${target.dir}/${name}-web-console.jar" />
-    </findbugs>
-  </target>
-
-  <!-- ================================= 
-       Target: cobertura
-       ================================= -->
-  <target name="cobertura" depends="prepare-test">
-    <taskdef resource="tasks.properties"
-             classpathref="cobertura.lib.path.id"/>
-
-    <mkdir dir="${reports.dir}/cobertura" />
-    <mkdir dir="${reports.dir}/cobertura/tests" />
-
-    <delete file="${reports.dir}/cobertura/cobertura.ser"/>
-    <delete dir="${build.dir}/instrumented"/>
-    
-    <mkdir dir="${build.dir}/instrumented" />
-    <copy todir="${build.dir}/instrumented">
-      <fileset dir="${target.dir}">
-        <include name="*.jar"/>
-      </fileset>
-    </copy>
-
-    <copy todir="${build.dir}/instrumented">
-      <fileset dir="${build.dir}/adapters">
-        <include name="*.jar"/>
-      </fileset>
-    </copy>
-
-    <cobertura-instrument todir="${build.dir}/instrumented"
-                          datafile="${reports.dir}/cobertura/cobertura.ser">
-      <fileset dir="${target.dir}">
-        <include name="ironjacamar*.jar" />
-      </fileset>
-    </cobertura-instrument>
-
-    <copy todir="${build.dir}/instrumented">
-      <fileset dir="${target.dir}">
-        <include name="${name}-core-api.jar"/>
-      </fileset>
-    </copy>
-
-    <junit dir="common/src/test"
-           printsummary="${junit.printsummary}"
-           haltonerror="${junit.haltonerror}"
-           haltonfailure="${junit.haltonfailure}"
-           fork="yes"
-           timeout="${junit.timeout}">
-      
-      <jvmarg line="${junit.jvm.options}"/>
-      <sysproperty key="test.dir" value="${test.dir}"/>
-      <sysproperty key="net.sourceforge.cobertura.datafile" file="${reports.dir}/cobertura/cobertura.ser" />
-      <sysproperty key="xb.builder.useUnorderedSequence" value="true"/>
-      <sysproperty key="javax.xml.stream.XMLInputFactory" value="com.sun.xml.internal.stream.XMLInputFactoryImpl"/>
-      <sysproperty key="java.util.logging.manager" value="org.jboss.logmanager.LogManager"/>
-      <sysproperty key="org.jboss.logging.Logger.pluginClass" value="org.jboss.logging.logmanager.LoggerPluginImpl"/>
-      <sysproperty key="log4j.defaultInitOverride" value="true"/>
-
-      <classpath>
-        <fileset dir="${build.dir}/instrumented" includes="*.jar" />
-        <pathelement location="${build.dir}/common/test"/>
-        <fileset dir="${lib.dir}/common" includes="*.jar" />
-        <fileset dir="${lib.dir}/embedded" includes="*.jar" />
-        <fileset dir="${lib.dir}/arquillian" includes="*.jar" />
-        <fileset dir="${lib.dir}/jetty" includes="*.jar" />
-        <fileset dir="${lib.dir}/hornetq" includes="*.jar" />
-        <fileset dir="${lib.dir}/sjc" includes="*.jar" />
-        <fileset dir="${lib.dir}/mail" includes="*.jar" />
-        <fileset dir="${lib.dir}/test" includes="*.jar" />
-        <fileset dir="${lib.dir}/tools" includes="*.jar" />
-        <fileset dir="${lib.dir}/rhq" includes="*.jar" />
-      </classpath>
-      <classpath refid="cobertura.lib.path.id" />
-      
-      <formatter type="xml"/>
-      
-      <batchtest todir="${reports.dir}/cobertura/tests">
-        <fileset dir="${build.dir}/common/test">
-          <include name="**/*TestCase.class"/>
-        </fileset>
-      </batchtest>
-    </junit>
-
-    <junit dir="core/src/test"
-           printsummary="${junit.printsummary}"
-           haltonerror="${junit.haltonerror}"
-           haltonfailure="${junit.haltonfailure}"
-           fork="yes"
-           timeout="${junit.timeout}">
-      
-      <jvmarg line="${junit.jvm.options}"/>
-      <sysproperty key="test.dir" value="${test.dir}"/>
-      <sysproperty key="net.sourceforge.cobertura.datafile" file="${reports.dir}/cobertura/cobertura.ser" />
-      <sysproperty key="xb.builder.useUnorderedSequence" value="true"/>
-      <sysproperty key="javax.xml.stream.XMLInputFactory" value="com.sun.xml.internal.stream.XMLInputFactoryImpl"/>
-      <sysproperty key="java.util.logging.manager" value="org.jboss.logmanager.LogManager"/>
-      <sysproperty key="org.jboss.logging.Logger.pluginClass" value="org.jboss.logging.logmanager.LoggerPluginImpl"/>
-      <sysproperty key="log4j.defaultInitOverride" value="true"/>
-
-      <classpath>
-        <fileset dir="${build.dir}/instrumented" includes="*.jar" />
-        <pathelement location="${build.dir}/core/test"/>
-        <fileset dir="${lib.dir}/common" includes="*.jar" />
-        <fileset dir="${lib.dir}/embedded" includes="*.jar" />
-        <fileset dir="${lib.dir}/arquillian" includes="*.jar" />
-        <fileset dir="${lib.dir}/jetty" includes="*.jar" />
-        <fileset dir="${lib.dir}/hornetq" includes="*.jar" />
-        <fileset dir="${lib.dir}/sjc" includes="*.jar" />
-        <fileset dir="${lib.dir}/mail" includes="*.jar" />
-        <fileset dir="${lib.dir}/test" includes="*.jar" />
-        <fileset dir="${lib.dir}/tools" includes="*.jar" />
-        <fileset dir="${lib.dir}/rhq" includes="*.jar" />
-      </classpath>
-      <classpath refid="cobertura.lib.path.id" />
-      
-      <formatter type="xml"/>
-      
-      <batchtest todir="${reports.dir}/cobertura/tests">
-        <fileset dir="${build.dir}/core/test">
-          <include name="**/*TestCase.class"/>
-        </fileset>
-      </batchtest>
-    </junit>
-
-    <junit dir="deployers/src/test"
-           printsummary="${junit.printsummary}"
-           haltonerror="${junit.haltonerror}"
-           haltonfailure="${junit.haltonfailure}"
-           fork="yes"
-           timeout="${junit.timeout}">
-      
-      <jvmarg line="${junit.jvm.options}"/>
-      <sysproperty key="archives.dir" value="${build.dir}/deployers"/>
-      <sysproperty key="test.dir" value="${test.dir}"/>
-      <sysproperty key="net.sourceforge.cobertura.datafile" file="${reports.dir}/cobertura/cobertura.ser" />
-      <sysproperty key="javax.xml.stream.XMLInputFactory" value="com.sun.xml.internal.stream.XMLInputFactoryImpl"/>
-      <sysproperty key="java.util.logging.manager" value="org.jboss.logmanager.LogManager"/>
-      <sysproperty key="org.jboss.logging.Logger.pluginClass" value="org.jboss.logging.logmanager.LoggerPluginImpl"/>
-      <sysproperty key="log4j.defaultInitOverride" value="true"/>
-
-      <classpath>
-        <fileset dir="${build.dir}/instrumented" includes="*.jar" />
-        <pathelement location="${build.dir}/deployers/test"/>
-        <fileset dir="${lib.dir}/common" includes="*.jar" />
-        <fileset dir="${lib.dir}/embedded" includes="*.jar" />
-        <fileset dir="${lib.dir}/arquillian" includes="*.jar" />
-        <fileset dir="${lib.dir}/jetty" includes="*.jar" />
-        <fileset dir="${lib.dir}/hornetq" includes="*.jar" />
-        <fileset dir="${lib.dir}/sjc" includes="*.jar" />
-        <fileset dir="${lib.dir}/mail" includes="*.jar" />
-        <fileset dir="${lib.dir}/test" includes="*.jar" />
-        <fileset dir="${lib.dir}/tools" includes="*.jar" />
-        <fileset dir="${lib.dir}/rhq" includes="*.jar" />
-      </classpath>
-      <classpath refid="cobertura.lib.path.id" />
-      
-      <formatter type="xml"/>
-      
-      <batchtest todir="${reports.dir}/cobertura/tests">
-        <fileset dir="${build.dir}/deployers/test">
-          <include name="**/*TestCase.class"/>
-        </fileset>
-      </batchtest>
-    </junit>
-
-    <junit dir="embedded/src/test"
-           printsummary="${junit.printsummary}"
-           haltonerror="${junit.haltonerror}"
-           haltonfailure="${junit.haltonfailure}"
-           fork="yes"
-           timeout="${junit.timeout}">
-      
-      <jvmarg line="${junit.jvm.options}"/>
-      <sysproperty key="test.dir" value="${test.dir}"/>
-      <sysproperty key="net.sourceforge.cobertura.datafile" file="${reports.dir}/cobertura/cobertura.ser" />
-      <sysproperty key="xb.builder.useUnorderedSequence" value="true"/>
-      <sysproperty key="javax.xml.stream.XMLInputFactory" value="com.sun.xml.internal.stream.XMLInputFactoryImpl"/>
-      <sysproperty key="java.util.logging.manager" value="org.jboss.logmanager.LogManager"/>
-      <sysproperty key="org.jboss.logging.Logger.pluginClass" value="org.jboss.logging.logmanager.LoggerPluginImpl"/>
-      <sysproperty key="log4j.defaultInitOverride" value="true"/>
-
-      <classpath>
-        <fileset dir="${build.dir}/instrumented" includes="*.jar" />
-        <pathelement location="${build.dir}/embedded/test"/>
-        <fileset dir="${lib.dir}/common" includes="*.jar" />
-        <fileset dir="${lib.dir}/embedded" includes="*.jar" />
-        <fileset dir="${lib.dir}/arquillian" includes="*.jar" />
-        <fileset dir="${lib.dir}/jetty" includes="*.jar" />
-        <fileset dir="${lib.dir}/hornetq" includes="*.jar" />
-        <fileset dir="${lib.dir}/sjc" includes="*.jar" />
-        <fileset dir="${lib.dir}/mail" includes="*.jar" />
-        <fileset dir="${lib.dir}/test" includes="*.jar" />
-        <fileset dir="${lib.dir}/tools" includes="*.jar" />
-        <fileset dir="${lib.dir}/rhq" includes="*.jar" />
-      </classpath>
-      <classpath refid="cobertura.lib.path.id" />
-      
-      <formatter type="xml"/>
-      
-      <batchtest todir="${reports.dir}/cobertura/tests">
-        <fileset dir="${build.dir}/embedded/test">
-          <include name="**/*TestCase.class"/>
-        </fileset>
-      </batchtest>
-    </junit>
-
-    <junit dir="validator/src/test"
-           printsummary="${junit.printsummary}"
-           haltonerror="${junit.haltonerror}"
-           haltonfailure="${junit.haltonfailure}"
-           fork="yes"
-           timeout="${junit.timeout}">
-      
-      <jvmarg line="${junit.jvm.options}"/>
-      <sysproperty key="test.dir" value="${test.dir}"/>
-      <sysproperty key="net.sourceforge.cobertura.datafile" file="${reports.dir}/cobertura/cobertura.ser" />
-      <sysproperty key="xb.builder.useUnorderedSequence" value="true"/>
-      <sysproperty key="javax.xml.stream.XMLInputFactory" value="com.sun.xml.internal.stream.XMLInputFactoryImpl"/>
-      <sysproperty key="java.util.logging.manager" value="org.jboss.logmanager.LogManager"/>
-      <sysproperty key="org.jboss.logging.Logger.pluginClass" value="org.jboss.logging.logmanager.LoggerPluginImpl"/>
-      <sysproperty key="log4j.defaultInitOverride" value="true"/>
-
-      <classpath>
-        <fileset dir="${build.dir}/instrumented" includes="*.jar" />
-        <pathelement location="${build.dir}/validator/test"/>
-        <fileset dir="${lib.dir}/common" includes="*.jar" />
-        <fileset dir="${lib.dir}/embedded" includes="*.jar" />
-        <fileset dir="${lib.dir}/arquillian" includes="*.jar" />
-        <fileset dir="${lib.dir}/jetty" includes="*.jar" />
-        <fileset dir="${lib.dir}/hornetq" includes="*.jar" />
-        <fileset dir="${lib.dir}/sjc" includes="*.jar" />
-        <fileset dir="${lib.dir}/mail" includes="*.jar" />
-        <fileset dir="${lib.dir}/test" includes="*.jar" />
-        <fileset dir="${lib.dir}/tools" includes="*.jar" />
-        <fileset dir="${lib.dir}/rhq" includes="*.jar" />
-      </classpath>
-      <classpath refid="cobertura.lib.path.id" />
-      
-      <formatter type="xml"/>
-      
-      <batchtest todir="${reports.dir}/cobertura/tests">
-        <fileset dir="${build.dir}/validator/test">
-          <include name="**/*TestCase.class"/>
-        </fileset>
-      </batchtest>
-    </junit>
-
-    <junit dir="codegenerator/src/test"
-           printsummary="${junit.printsummary}"
-           haltonerror="${junit.haltonerror}"
-           haltonfailure="${junit.haltonfailure}"
-           fork="yes"
-           timeout="${junit.timeout}">
-      
-      <jvmarg line="${junit.jvm.options}"/>
-      <sysproperty key="test.dir" value="${test.dir}"/>
-      <sysproperty key="net.sourceforge.cobertura.datafile" file="${reports.dir}/cobertura/cobertura.ser" />
-      <sysproperty key="xb.builder.useUnorderedSequence" value="true"/>
-      <sysproperty key="javax.xml.stream.XMLInputFactory" value="com.sun.xml.internal.stream.XMLInputFactoryImpl"/>
-      <sysproperty key="java.util.logging.manager" value="org.jboss.logmanager.LogManager"/>
-      <sysproperty key="org.jboss.logging.Logger.pluginClass" value="org.jboss.logging.logmanager.LoggerPluginImpl"/>
-      <sysproperty key="log4j.defaultInitOverride" value="true"/>
-
-      <classpath>
-        <fileset dir="${build.dir}/instrumented" includes="*.jar" />
-        <pathelement location="${build.dir}/codegenerator/test"/>
-        <fileset dir="${lib.dir}/common" includes="*.jar" />
-        <fileset dir="${lib.dir}/embedded" includes="*.jar" />
-        <fileset dir="${lib.dir}/arquillian" includes="*.jar" />
-        <fileset dir="${lib.dir}/jetty" includes="*.jar" />
-        <fileset dir="${lib.dir}/hornetq" includes="*.jar" />
-        <fileset dir="${lib.dir}/sjc" includes="*.jar" />
-        <fileset dir="${lib.dir}/mail" includes="*.jar" />
-        <fileset dir="${lib.dir}/test" includes="*.jar" />
-        <fileset dir="${lib.dir}/tools" includes="*.jar" />
-        <fileset dir="${lib.dir}/rhq" includes="*.jar" />
-      </classpath>
-      <classpath refid="cobertura.lib.path.id" />
-      
-      <formatter type="xml"/>
-      
-      <batchtest todir="${reports.dir}/cobertura/tests">
-        <fileset dir="${build.dir}/codegenerator/test">
-          <include name="**/*TestCase.class"/>
-        </fileset>
-      </batchtest>
-    </junit>
-
-    <junit dir="adapters/src/test"
-           printsummary="${junit.printsummary}"
-           haltonerror="${junit.haltonerror}"
-           haltonfailure="${junit.haltonfailure}"
-           fork="yes"
-           timeout="${junit.timeout}">
-      
-      <jvmarg line="${junit.jvm.options}"/>
-      <sysproperty key="test.dir" value="${test.dir}"/>
-      <sysproperty key="archives.dir" value="${build.dir}/adapters"/>
-      <sysproperty key="net.sourceforge.cobertura.datafile" file="${reports.dir}/cobertura/cobertura.ser" />
-      <sysproperty key="xb.builder.useUnorderedSequence" value="true"/>
-      <sysproperty key="javax.xml.stream.XMLInputFactory" value="com.sun.xml.internal.stream.XMLInputFactoryImpl"/>
-      <sysproperty key="java.util.logging.manager" value="org.jboss.logmanager.LogManager"/>
-      <sysproperty key="org.jboss.logging.Logger.pluginClass" value="org.jboss.logging.logmanager.LoggerPluginImpl"/>
-      <sysproperty key="log4j.defaultInitOverride" value="true"/>
-
-      <classpath>
-        <fileset dir="${build.dir}/instrumented" includes="*.jar" />
-        <pathelement location="${build.dir}/adapters/"/>
-        <pathelement location="${build.dir}/adapters/test"/>
-        <fileset dir="${lib.dir}/common" includes="*.jar" />
-        <fileset dir="${lib.dir}/embedded" includes="*.jar" />
-        <fileset dir="${lib.dir}/arquillian" includes="*.jar" />
-        <fileset dir="${lib.dir}/jetty" includes="*.jar" />
-        <fileset dir="${lib.dir}/hornetq" includes="*.jar" />
-        <fileset dir="${lib.dir}/sjc" includes="*.jar" />
-        <fileset dir="${lib.dir}/mail" includes="*.jar" />
-        <fileset dir="${lib.dir}/test" includes="*.jar" />
-        <fileset dir="${lib.dir}/tools" includes="*.jar" />
-        <fileset dir="${lib.dir}/rhq" includes="*.jar" />
-      </classpath>
-      <classpath refid="cobertura.lib.path.id" />
-      
-      <formatter type="xml"/>
-      
-      <batchtest todir="${reports.dir}/cobertura/tests">
-        <fileset dir="${build.dir}/adapters/test">
-          <include name="**/*TestCase.class"/>
-        </fileset>
-      </batchtest>
-    </junit>
-
-    <junit dir="rhq/src/test"
-           printsummary="${junit.printsummary}"
-           haltonerror="${junit.haltonerror}"
-           haltonfailure="${junit.haltonfailure}"
-           fork="yes"
-           timeout="${junit.timeout}">
-      
-      <jvmarg line="${junit.jvm.options}"/>
-      <sysproperty key="test.dir" value="${test.dir}"/>
-      <sysproperty key="archives.dir" value="${build.dir}/rhq"/>
-      <sysproperty key="net.sourceforge.cobertura.datafile" file="${reports.dir}/cobertura/cobertura.ser" />
-      <sysproperty key="xb.builder.useUnorderedSequence" value="true"/>
-      <sysproperty key="javax.xml.stream.XMLInputFactory" value="com.sun.xml.internal.stream.XMLInputFactoryImpl"/>
-      <sysproperty key="java.util.logging.manager" value="org.jboss.logmanager.LogManager"/>
-      <sysproperty key="org.jboss.logging.Logger.pluginClass" value="org.jboss.logging.logmanager.LoggerPluginImpl"/>
-      <sysproperty key="log4j.defaultInitOverride" value="true"/>
-
-      <classpath>
-        <fileset dir="${build.dir}/instrumented" includes="*.jar" />
-        <pathelement location="${build.dir}/rhq/"/>
-        <pathelement location="${build.dir}/rhq/test"/>
-        <fileset dir="${lib.dir}/common" includes="*.jar" />
-        <fileset dir="${lib.dir}/embedded" includes="*.jar" />
-        <fileset dir="${lib.dir}/arquillian" includes="*.jar" />
-        <fileset dir="${lib.dir}/jetty" includes="*.jar" />
-        <fileset dir="${lib.dir}/hornetq" includes="*.jar" />
-        <fileset dir="${lib.dir}/sjc" includes="*.jar" />
-        <fileset dir="${lib.dir}/mail" includes="*.jar" />
-        <fileset dir="${lib.dir}/test" includes="*.jar" />
-        <fileset dir="${lib.dir}/tools" includes="*.jar" />
-        <fileset dir="${lib.dir}/rhq" includes="*.jar" />
-      </classpath>
-      <classpath refid="cobertura.lib.path.id" />
-      
-      <formatter type="xml"/>
-      
-      <batchtest todir="${reports.dir}/cobertura/tests">
-        <fileset dir="${build.dir}/rhq/test">
-          <include name="**/*TestCase.class"/>
-        </fileset>
-      </batchtest>
-    </junit>
-
-    <cobertura-report format="html" 
-                      destdir="${reports.dir}/cobertura/html" 
-                      datafile="${reports.dir}/cobertura/cobertura.ser">
-      <fileset dir="api/src/main/java">
-        <include name="**/*.java" />
-      </fileset>
-      <fileset dir="adapters/src/main/java">
-        <include name="**/*.java" />
-      </fileset>
-      <fileset dir="codegenerator/src/main/java">
-        <include name="**/*.java" />
-      </fileset>
-      <fileset dir="common/src/main/java">
-        <include name="**/*.java" />
-      </fileset>
-      <fileset dir="core/src/main/java">
-        <include name="**/*.java" />
-      </fileset>
-      <fileset dir="deployers/src/main/java">
-        <include name="**/*.java" />
-      </fileset>
-      <fileset dir="embedded/src/main/java">
-        <include name="**/*.java" />
-      </fileset>
-      <fileset dir="sjc/src/main/java">
-        <include name="**/*.java" />
-      </fileset>
-      <fileset dir="validator/src/main/java">
-        <include name="**/*.java" />
-      </fileset>
-      <fileset dir="web/src/main/java">
-        <include name="**/*.java" />
-      </fileset>
-      <fileset dir="rhq/src/main/java">
-        <include name="**/*.java" />
-      </fileset>
-    </cobertura-report>
-
-    <cobertura-report format="xml" 
-                      destdir="${reports.dir}/cobertura/xml" 
-                      datafile="${reports.dir}/cobertura/cobertura.ser">
-      <fileset dir="api/src/main/java">
-        <include name="**/*.java" />
-      </fileset>
-      <fileset dir="adapters/src/main/java">
-        <include name="**/*.java" />
-      </fileset>
-      <fileset dir="codegenerator/src/main/java">
-        <include name="**/*.java" />
-      </fileset>
-      <fileset dir="common/src/main/java">
-        <include name="**/*.java" />
-      </fileset>
-      <fileset dir="core/src/main/java">
-        <include name="**/*.java" />
-      </fileset>
-      <fileset dir="deployers/src/main/java">
-        <include name="**/*.java" />
-      </fileset>
-      <fileset dir="embedded/src/main/java">
-        <include name="**/*.java" />
-      </fileset>
-      <fileset dir="sjc/src/main/java">
-        <include name="**/*.java" />
-      </fileset>
-      <fileset dir="validator/src/main/java">
-        <include name="**/*.java" />
-      </fileset>
-      <fileset dir="web/src/main/java">
-        <include name="**/*.java" />
-      </fileset>
-      <fileset dir="rhq/src/main/java">
-        <include name="**/*.java" />
-      </fileset>
-    </cobertura-report>
-  </target>
-
-  <!-- ================================= 
-       Target: tattletale
-       ================================= -->
-  <target name="tattletale" depends="sjc">
-    <taskdef name="report"
-             classname="org.jboss.tattletale.ant.ReportTask"
-             classpathref="tattletale.lib.path.id"/>
-
-    <mkdir dir="${reports.dir}/tattletale"/>
-
-    <report source="${target.dir}/sjc"
-            destination="${reports.dir}/tattletale"
-            configuration="${tools.dir}/tattletale/configuration.properties"
-            filter="${tools.dir}/tattletale/filter.properties"
-            profiles="java6"/>
-  </target>
-
-  <!-- ================================= 
-       Target: clean              
-       ================================= -->
-  <target name="clean">
-    <delete>
-      <fileset dir="${basedir}" defaultexcludes="no">
-        <include name="**/*~"/>
-        <include name="**/*.bak"/>
-      </fileset>
-    </delete>
-    <delete>
-      <fileset dir="${lib.dir}" includes="**/*.jar"/>
-    </delete>
-    <delete dir="${build.dir}"/>
-    <delete dir="${target.dir}"/>
-    <delete dir="${reports.dir}"/>
-    <delete file="${name}-${major}.${minor}.${patch}.${type}.zip" />
-    <delete file="${name}-${major}.${minor}.${patch}.${type}.tar.gz" />
-
-    <ant antfile="tools/docant/build.xml" target="clean" inheritrefs="false" inheritAll="false"/>
-    <delete dir="${doc.dir}/target"/>
-  </target>
-  
-  <!-- ================================= 
-       Target: clean-cache              
-       ================================= -->
-  <target name="clean-cache">
-    <ivy:cleancache />
-  </target>
-
-  <!-- ================================= 
-       Target: nexus
-       ================================= -->
-  <macrodef name="deploy-file">
-    <attribute name="file"/>
-    <attribute name="artifact"/>
-    <attribute name="extension"/>
-    <sequential>
-      <concat destfile="${target.dir}/@{file}" append="true" force="true" eol="unix">
-mvn -s ${mavensettings} org.apache.maven.plugins:maven-deploy-plugin:2.6:deploy-file -Dfile=$PWD/@{artifact}.@{extension} -DpomFile=@{artifact}.xml -Dsources=$PWD/@{artifact}-sources.jar -Djavadoc=$PWD/@{artifact}-javadoc.jar $REPOSITORY
-</concat>
-    </sequential>
-  </macrodef>
-
-  <macrodef name="install-file">
-    <attribute name="file"/>
-    <attribute name="artifact"/>
-    <attribute name="extension"/>
-    <sequential>
-      <concat destfile="${target.dir}/@{file}" append="true" force="true" eol="unix">
-mvn install:install-file -Dfile=$PWD/@{artifact}.@{extension} -DpomFile=@{artifact}.xml -Dsources=$PWD/@{artifact}-sources.jar -Djavadoc=$PWD/@{artifact}-javadoc.jar
-</concat>
-    </sequential>
-  </macrodef>
-
-  <target name="nexus" depends="clean,artifacts">
-    <fail message="IronJacamar doesn't support JDK 7+ artifacts" if="HAVE_JDK_1.7"/>
-  
-    <ivy:retrieve pattern="${lib.dir}/[conf]/[artifact].[ext]" 
-                  conf="${name}-codegenerator,${name}-common-api,${name}-common-impl,${name}-common-impl-papaki,${name}-common-spi,${name}-core-api,${name}-core-impl,${name}-deployers-common,${name}-deployers-fungal,${name}-embedded,${name}-embedded-arquillian,${name}-spec-api,${name}-validator,${name}-validator-ant,${name}-validator-cli,jdbc-local,jdbc-xa,mail"
-                  sync="true"/>
-
-    <delete file="${target.dir}/deploy.sh"/>
-    <delete file="${target.dir}/install.sh"/>
-
-    <concat destfile="${target.dir}/deploy.sh" append="true" force="true" eol="unix">#!/bin/sh
-PWD=`pwd`
-VERSION=${version}
-REPOSITORY='-Durl=${repositoryurl} -DrepositoryId=${repositoryid}'
-</concat>
-
-    <concat destfile="${target.dir}/install.sh" append="true" force="true" eol="unix">#!/bin/sh
-PWD=`pwd`
-VERSION=${version}
-</concat>
-
-    <!-- ironjacamar-codegenerator -->
-    <delete file="${target.dir}/${name}-codegenerator.xml"/>
-    <ivy:makepom artifactName="${name}-codegenerator" 
-                 conf="${name}-codegenerator"
-                 ivyfile="${basedir}/ivy.xml" 
-                 pomfile="${target.dir}/${name}-codegenerator.xml"
-                 headerFile="${tools.dir}/mvn/HEADER"
-                 templatefile="${tools.dir}/mvn/pom.template"
-                 printIvyInfo="false">
-      <mapping conf="${name}-codegenerator" scope="runtime"/>
-    </ivy:makepom>
-
-    <deploy-file file="deploy.sh" artifact="${name}-codegenerator" extension="jar"/>
-    <install-file file="install.sh" artifact="${name}-codegenerator" extension="jar"/>
-
-    <!-- ironjacamar-common-api -->
-    <delete file="${target.dir}/${name}-common-api.xml"/>
-    <ivy:makepom artifactName="${name}-common-api" 
-                 conf="${name}-common-api"
-                 ivyfile="${basedir}/ivy.xml" 
-                 pomfile="${target.dir}/${name}-common-api.xml"
-                 headerFile="${tools.dir}/mvn/HEADER"
-                 templatefile="${tools.dir}/mvn/pom.template"
-                 printIvyInfo="false">
-      <mapping conf="${name}-common-api" scope="runtime"/>
-    </ivy:makepom>
-
-    <deploy-file file="deploy.sh" artifact="${name}-common-api" extension="jar"/>
-    <install-file file="install.sh" artifact="${name}-common-api" extension="jar"/>
-
-    <!-- ironjacamar-common-impl -->
-    <delete file="${target.dir}/${name}-common-impl.xml"/>
-    <ivy:makepom artifactName="${name}-common-impl" 
-                 conf="${name}-common-impl"
-                 ivyfile="${basedir}/ivy.xml" 
-                 pomfile="${target.dir}/${name}-common-impl.xml"
-                 headerFile="${tools.dir}/mvn/HEADER"
-                 templatefile="${tools.dir}/mvn/pom.template"
-                 printIvyInfo="false">
-      <mapping conf="${name}-common-impl" scope="runtime"/>
-      <dependency artifact="${name}-common-api" scope="runtime"/>
-      <dependency artifact="${name}-common-spi" scope="runtime"/>
-      <dependency artifact="${name}-spec-api" scope="runtime"/>
-    </ivy:makepom>
-
-    <deploy-file file="deploy.sh" artifact="${name}-common-impl" extension="jar"/>
-    <install-file file="install.sh" artifact="${name}-common-impl" extension="jar"/>
-
-    <!-- ironjacamar-common-impl-papaki -->
-    <delete file="${target.dir}/${name}-common-impl-papaki.xml"/>
-    <ivy:makepom artifactName="${name}-common-impl-papaki" 
-                 conf="${name}-common-impl-papaki"
-                 ivyfile="${basedir}/ivy.xml" 
-                 pomfile="${target.dir}/${name}-common-impl-papaki.xml"
-                 headerFile="${tools.dir}/mvn/HEADER"
-                 templatefile="${tools.dir}/mvn/pom.template"
-                 printIvyInfo="false">
-      <mapping conf="${name}-common-impl-papaki" scope="runtime"/>
-      <dependency artifact="${name}-common-spi" scope="runtime"/>
-    </ivy:makepom>
-
-    <deploy-file file="deploy.sh" artifact="${name}-common-impl-papaki" extension="jar"/>
-    <install-file file="install.sh" artifact="${name}-common-impl-papaki" extension="jar"/>
-
-    <!-- ironjacamar-common-spi -->
-    <delete file="${target.dir}/${name}-common-spi.xml"/>
-    <ivy:makepom artifactName="${name}-common-spi" 
-                 conf="${name}-common-spi"
-                 ivyfile="${basedir}/ivy.xml" 
-                 pomfile="${target.dir}/${name}-common-spi.xml"
-                 headerFile="${tools.dir}/mvn/HEADER"
-                 templatefile="${tools.dir}/mvn/pom.template"
-                 printIvyInfo="false">
-      <mapping conf="${name}-common-spi" scope="runtime"/>
-    </ivy:makepom>
-
-    <deploy-file file="deploy.sh" artifact="${name}-common-spi" extension="jar"/>
-    <install-file file="install.sh" artifact="${name}-common-spi" extension="jar"/>
-
-    <!-- ironjacamar-core-api -->
-    <delete file="${target.dir}/${name}-core-api.xml"/>
-    <ivy:makepom artifactName="${name}-core-api" 
-                 conf="${name}-core-api"
-                 ivyfile="${basedir}/ivy.xml" 
-                 pomfile="${target.dir}/${name}-core-api.xml"
-                 headerFile="${tools.dir}/mvn/HEADER"
-                 templatefile="${tools.dir}/mvn/pom.template"
-                 printIvyInfo="false">
-      <mapping conf="${name}-core-api" scope="runtime"/>
-      <dependency artifact="${name}-spec-api" scope="runtime"/>
-    </ivy:makepom>
-
-    <deploy-file file="deploy.sh" artifact="${name}-core-api" extension="jar"/>
-    <install-file file="install.sh" artifact="${name}-core-api" extension="jar"/>
-
-    <!-- ironjacamar-core-impl -->
-    <delete file="${target.dir}/${name}-core-impl.xml"/>
-    <ivy:makepom artifactName="${name}-core-impl" 
-                 conf="${name}-core-impl"
-                 ivyfile="${basedir}/ivy.xml" 
-                 pomfile="${target.dir}/${name}-core-impl.xml"
-                 headerFile="${tools.dir}/mvn/HEADER"
-                 templatefile="${tools.dir}/mvn/pom.template"
-                 printIvyInfo="false">
-      <mapping conf="${name}-core-impl" scope="runtime"/>
-      <dependency artifact="${name}-common-impl" scope="runtime"/>
-      <dependency artifact="${name}-core-api" scope="runtime"/>
-      <dependency artifact="${name}-spec-api" scope="runtime"/>
-    </ivy:makepom>
-
-    <deploy-file file="deploy.sh" artifact="${name}-core-impl" extension="jar"/>
-    <install-file file="install.sh" artifact="${name}-core-impl" extension="jar"/>
-
-    <!-- ironjacamar-depchain -->
-    <delete file="${target.dir}/${name}-depchain.xml"/>
-    <ivy:makepom artifactName="${name}-depchain" 
-                 conf="${name}-depchain"
-                 ivyfile="${basedir}/ivy.xml" 
-                 pomfile="${target.dir}/${name}-depchain.xml"
-                 headerFile="${tools.dir}/mvn/HEADER"
-                 templatefile="${tools.dir}/mvn/pom.template"
-                 printIvyInfo="false">
-      <mapping conf="${name}-depchain" scope="runtime"/>
-    </ivy:makepom>
-
-    <concat destfile="${target.dir}/deploy.sh" append="true" force="true" eol="unix">
-mvn -s ${mavensettings} org.apache.maven.plugins:maven-deploy-plugin:2.6:deploy-file -Dfile=$PWD/${name}-depchain.xml -DpomFile=${name}-depchain.xml $REPOSITORY
-</concat>
-<concat destfile="${target.dir}/install.sh" append="true" force="true" eol="unix">
-mvn install:install-file -Dfile=$PWD/${name}-depchain.xml -DpomFile=${name}-depchain.xml -DuniqueVersion=false $REPOSITORY
-</concat>
-
-    <!-- ironjacamar-deployers-common -->
-    <delete file="${target.dir}/${name}-deployers-common.xml"/>
-    <ivy:makepom artifactName="${name}-deployers-common" 
-                 conf="${name}-deployers-common"
-                 ivyfile="${basedir}/ivy.xml" 
-                 pomfile="${target.dir}/${name}-deployers-common.xml"
-                 headerFile="${tools.dir}/mvn/HEADER"
-                 templatefile="${tools.dir}/mvn/pom.template"
-                 printIvyInfo="false">
-      <mapping conf="${name}-deployers-common" scope="runtime"/>
-    </ivy:makepom>
-
-    <deploy-file file="deploy.sh" artifact="${name}-deployers-common" extension="jar"/>
-    <install-file file="install.sh" artifact="${name}-deployers-common" extension="jar"/>
-
-    <!-- ironjacamar-deployers-fungal -->
-    <delete file="${target.dir}/${name}-deployers-fungal.xml"/>
-    <ivy:makepom artifactName="${name}-deployers-fungal" 
-                 conf="${name}-deployers-fungal"
-                 ivyfile="${basedir}/ivy.xml" 
-                 pomfile="${target.dir}/${name}-deployers-fungal.xml"
-                 headerFile="${tools.dir}/mvn/HEADER"
-                 templatefile="${tools.dir}/mvn/pom.template"
-                 printIvyInfo="false">
-      <mapping conf="${name}-deployers-fungal" scope="runtime"/>
-      <dependency artifact="${name}-common-impl" scope="runtime"/>
-      <dependency artifact="${name}-core-api" scope="runtime"/>
-      <dependency artifact="${name}-core-impl" scope="runtime"/>
-      <dependency artifact="${name}-spec-api" scope="runtime"/>
-      <dependency artifact="${name}-validator" scope="runtime"/>
-    </ivy:makepom>
-
-    <deploy-file file="deploy.sh" artifact="${name}-deployers-fungal" extension="jar"/>
-    <install-file file="install.sh" artifact="${name}-deployers-fungal" extension="jar"/>
-
-    <!-- ironjacamar-embedded -->
-    <delete file="${target.dir}/${name}-embedded.xml"/>
-    <ivy:makepom artifactName="${name}-embedded" 
-                 conf="${name}-embedded"
-                 ivyfile="${basedir}/ivy.xml" 
-                 pomfile="${target.dir}/${name}-embedded.xml"
-                 headerFile="${tools.dir}/mvn/HEADER"
-                 templatefile="${tools.dir}/mvn/pom.template"
-                 printIvyInfo="false">
-      <mapping conf="${name}-embedded" scope="runtime"/>
-    </ivy:makepom>
-
-    <deploy-file file="deploy.sh" artifact="${name}-embedded" extension="jar"/>
-    <install-file file="install.sh" artifact="${name}-embedded" extension="jar"/>
-
-    <!-- ironjacamar-embedded-arquillian -->
-    <delete file="${target.dir}/${name}-embedded-arquillian.xml"/>
-    <ivy:makepom artifactName="${name}-embedded-arquillian" 
-                 conf="${name}-embedded-arquillian"
-                 ivyfile="${basedir}/ivy.xml" 
-                 pomfile="${target.dir}/${name}-embedded-arquillian.xml"
-                 headerFile="${tools.dir}/mvn/HEADER"
-                 templatefile="${tools.dir}/mvn/pom.template"
-                 printIvyInfo="false">
-      <mapping conf="${name}-embedded-arquillian" scope="runtime"/>
-      <dependency artifact="${name}-embedded" scope="runtime"/>
-    </ivy:makepom>
-
-    <deploy-file file="deploy.sh" artifact="${name}-embedded-arquillian" extension="jar"/>
-    <install-file file="install.sh" artifact="${name}-embedded-arquillian" extension="jar"/>
-
-    <!-- ironjacamar-spec-api -->
-    <delete file="${target.dir}/${name}-spec-api.xml"/>
-    <ivy:makepom artifactName="${name}-spec-api" 
-                 conf="${name}-spec-api"
-                 ivyfile="${basedir}/ivy.xml" 
-                 pomfile="${target.dir}/${name}-spec-api.xml"
-                 headerFile="${tools.dir}/mvn/HEADER"
-                 templatefile="${tools.dir}/mvn/pom.template"
-                 printIvyInfo="false">
-      <mapping conf="${name}-spec-api" scope="runtime"/>
-    </ivy:makepom>
-
-    <deploy-file file="deploy.sh" artifact="${name}-spec-api" extension="jar"/>
-    <install-file file="install.sh" artifact="${name}-spec-api" extension="jar"/>
-
-    <!-- ironjacamar-validator -->
-    <delete file="${target.dir}/${name}-validator.xml"/>
-    <ivy:makepom artifactName="${name}-validator" 
-                 conf="${name}-validator"
-                 ivyfile="${basedir}/ivy.xml" 
-                 pomfile="${target.dir}/${name}-validator.xml"
-                 headerFile="${tools.dir}/mvn/HEADER"
-                 templatefile="${tools.dir}/mvn/pom.template"
-                 printIvyInfo="false">
-      <mapping conf="${name}-validator" scope="runtime"/>
-      <dependency artifact="${name}-common-api" scope="runtime"/>
-      <dependency artifact="${name}-common-impl" scope="runtime"/>
-      <dependency artifact="${name}-common-spi" scope="runtime"/>
-      <dependency artifact="${name}-spec-api" scope="runtime"/>
-    </ivy:makepom>
-
-    <deploy-file file="deploy.sh" artifact="${name}-validator" extension="jar"/>
-    <install-file file="install.sh" artifact="${name}-validator" extension="jar"/>
-
-    <!-- ironjacamar-validator-ant -->
-    <delete file="${target.dir}/${name}-validator-ant.xml"/>
-    <ivy:makepom artifactName="${name}-validator-ant" 
-                 conf="${name}-validator-ant"
-                 ivyfile="${basedir}/ivy.xml" 
-                 pomfile="${target.dir}/${name}-validator-ant.xml"
-                 headerFile="${tools.dir}/mvn/HEADER"
-                 templatefile="${tools.dir}/mvn/pom.template"
-                 printIvyInfo="false">
-      <mapping conf="${name}-validator-ant" scope="runtime"/>
-      <dependency artifact="${name}-validator" scope="runtime"/>
-    </ivy:makepom>
-
-    <deploy-file file="deploy.sh" artifact="${name}-validator-ant" extension="jar"/>
-    <install-file file="install.sh" artifact="${name}-validator" extension="jar"/>
-
-    <!-- ironjacamar-validator-cli -->
-    <delete file="${target.dir}/${name}-validator-cli.xml"/>
-    <ivy:makepom artifactName="${name}-validator-cli" 
-                 conf="${name}-validator-cli"
-                 ivyfile="${basedir}/ivy.xml" 
-                 pomfile="${target.dir}/${name}-validator-cli.xml"
-                 headerFile="${tools.dir}/mvn/HEADER"
-                 templatefile="${tools.dir}/mvn/pom.template"
-                 printIvyInfo="false">
-      <mapping conf="${name}-validator-cli" scope="runtime"/>
-      <dependency artifact="${name}-validator" scope="runtime"/>
-    </ivy:makepom>
-
-    <deploy-file file="deploy.sh" artifact="${name}-validator-cli" extension="jar"/>
-    <install-file file="install.sh" artifact="${name}-validator-cli" extension="jar"/>
-
-    <!-- ironjacamar-validator-maven -->
-    <delete file="${target.dir}/${name}-validator-maven.xml"/>
-    <ivy:makepom artifactName="${name}-validator-maven" 
-                 conf="${name}-validator-maven"
-                 ivyfile="${basedir}/ivy.xml" 
-                 pomfile="${target.dir}/${name}-validator-maven.xml"
-                 headerFile="${tools.dir}/mvn/HEADER"
-                 templatefile="${tools.dir}/mvn/pom.template"
-                 printIvyInfo="false">
-      <mapping conf="${name}-validator-maven" scope="runtime"/>
-      <dependency artifact="${name}-validator" scope="runtime"/>
-    </ivy:makepom>
-
-    <deploy-file file="deploy.sh" artifact="${name}-validator-maven" extension="jar"/>
-    <install-file file="install.sh" artifact="${name}-validator-maven" extension="jar"/>
-
-    <!-- ironjacamar-jdbc -->
-    <delete file="${target.dir}/${name}-jdbc.xml"/>
-    <ivy:makepom artifactName="${name}-jdbc" 
-                conf="${name}-jdbc"
-                ivyfile="${basedir}/ivy.xml" 
-                pomfile="${target.dir}/${name}-jdbc.xml"
-                headerFile="${tools.dir}/mvn/HEADER"
-                templatefile="${tools.dir}/mvn/pom.template"
-                printIvyInfo="false">
-      <mapping conf="${name}-jdbc" scope="runtime"/>
-    </ivy:makepom>
-
-    <deploy-file file="deploy.sh" artifact="${name}-jdbc" extension="jar"/>
-    <install-file file="install.sh" artifact="${name}-jdbc" extension="jar"/>
-  	
-    <!-- jdbc-local -->
-    <delete file="${target.dir}/jdbc-local.xml"/>
-    <ivy:makepom artifactName="jdbc-local" 
-                 conf="jdbc-local"
-                 ivyfile="${basedir}/ivy.xml" 
-                 pomfile="${target.dir}/jdbc-local.xml"
-                 headerFile="${tools.dir}/mvn/HEADER"
-                 templatefile="${tools.dir}/mvn/pom.template"
-                 printIvyInfo="false">
-      <mapping conf="jdbc-local" scope="runtime"/>
-    </ivy:makepom>
-
-    <deploy-file file="deploy.sh" artifact="jdbc-local" extension="rar"/>
-    <install-file file="install.sh" artifact="jdbc-local" extension="rar"/>
-
-    <!-- jdbc-xa -->
-    <delete file="${target.dir}/jdbc-xa.xml"/>
-    <ivy:makepom artifactName="jdbc-xa" 
-                 conf="jdbc-xa"
-                 ivyfile="${basedir}/ivy.xml" 
-                 pomfile="${target.dir}/jdbc-xa.xml"
-                 headerFile="${tools.dir}/mvn/HEADER"
-                 templatefile="${tools.dir}/mvn/pom.template"
-                 printIvyInfo="false">
-      <mapping conf="jdbc-xa" scope="runtime"/>
-    </ivy:makepom>
-
-    <deploy-file file="deploy.sh" artifact="jdbc-xa" extension="rar"/>
-    <install-file file="install.sh" artifact="jdbc-xa" extension="rar"/>
-
-    <!-- mail -->
-    <delete file="${target.dir}/mail.xml"/>
-    <ivy:makepom artifactName="mail" 
-                 conf="mail"
-                 ivyfile="${basedir}/ivy.xml" 
-                 pomfile="${target.dir}/mail.xml"
-                 headerFile="${tools.dir}/mvn/HEADER"
-                 templatefile="${tools.dir}/mvn/pom.template"
-                 printIvyInfo="false">
-      <mapping conf="mail" scope="runtime"/>
-    </ivy:makepom>
-
-    <deploy-file file="deploy.sh" artifact="mail" extension="rar"/>
-    <install-file file="install.sh" artifact="mail" extension="rar"/>
-
-    <chmod file="${target.dir}/deploy.sh" perm="755"/>
-    <chmod file="${target.dir}/install.sh" perm="755"/>
-
-  </target>
-
-</project>

Copied: projects/jboss-jca/tags/IRONJACAMAR_1_0_0_CR3/build.xml (from rev 111683, projects/jboss-jca/branches/Branch_1_0/build.xml)
===================================================================
--- projects/jboss-jca/tags/IRONJACAMAR_1_0_0_CR3/build.xml	                        (rev 0)
+++ projects/jboss-jca/tags/IRONJACAMAR_1_0_0_CR3/build.xml	2011-06-29 14:01:33 UTC (rev 111689)
@@ -0,0 +1,1544 @@
+<!--
+ * JBoss, Home of Professional Open Source.
+ * Copyright 2008, Red Hat Middleware LLC, and individual contributors
+ * as indicated by the @author tags. See the copyright.txt file in the
+ * distribution for a full listing of individual contributors.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+-->
+<project name="ironjacamar" 
+         default="jars" 
+         basedir="." 
+         xmlns:ivy="antlib:org.apache.ivy.ant">
+
+  <available classname="java.lang.Enum" property="HAVE_JDK_1.5"/>
+  <available classname="java.lang.management.LockInfo" property="HAVE_JDK_1.6"/>
+  <available classname="java.util.concurrent.ForkJoinPool" property="HAVE_JDK_1.7"/>
+
+  <!-- ================================= 
+       Project              
+       ================================= -->
+  <property name="name" value="ironjacamar"/>
+  <property name="major" value="1"/>
+  <property name="minor" value="0"/>
+  <property name="patch" value="0"/>
+  <property name="type" value="CR2"/>
+
+  <condition property="version" value="${major}.${minor}.${patch}-SNAPSHOT">
+    <isset property="snapshot"/>
+  </condition>
+  <property name="version" value="${major}.${minor}.${patch}.${type}"/>
+
+  <!-- ================================= 
+       Maven repository settings
+       ================================= -->
+  <condition property="mavensettings" value="/private/ironjacamar/settings.xml">
+    <isset property="cloudbees"/>
+  </condition>
+  <property name="mavensettings" value="$HOME/.m2/settings.xml"/>
+
+  <condition property="repositoryurl" value="https://repository.jboss.org/nexus/content/repositories/snapshots/">
+    <isset property="snapshot"/>
+  </condition>
+  <property name="repositoryurl" value="https://repository.jboss.org/nexus/service/local/staging/deploy/maven2/"/>
+
+  <condition property="repositoryid" value="jboss-snapshots">
+    <isset property="snapshot"/>
+  </condition>
+  <property name="repositoryid" value="jboss-releases"/>
+
+  <!-- ================================= 
+       Ivy              
+       ================================= -->
+  <property name="ivy.version" value="2.2.0"/>
+  <property name="ivy.dir" value="${user.home}/.ivy2/cache/org.apache.ivy/jars"/>
+  <property name="ivy.jar.name" value="ivy-${ivy.version}.jar"/>
+
+  <!-- ================================= 
+       Repositories              
+       ================================= -->
+  <property name="central.repo" value="http://repo1.maven.org/maven2"/>
+  <property name="jboss.repo" value="http://repository.jboss.org/nexus/content/groups/public/"/>
+  <property name="snapshots.repo" value="http://repository.jboss.org/nexus/content/repositories/snapshots/"/>
+  <property name="fungal.repo" value="http://jesperpedersen.github.com/fungal/maven2"/>
+  
+  <!-- ================================= 
+       Properties              
+       ================================= -->
+  <property name="lib.dir" value="${basedir}/lib" />
+  <property name="build.dir" value="${basedir}/build" />
+  <property name="api.dir" value="${basedir}/api" />
+  <property name="doc.dir" value="${basedir}/doc" />
+  <property name="target.dir" value="${basedir}/target" />
+  <property name="tools.dir" value="${basedir}/tools" />
+  <property name="reports.dir" value="${basedir}/reports" />
+  <property name="test.dir" value="${reports.dir}" />
+
+  <property name="javac.debug" value="on" />
+  <property name="javac.deprecation" value="on" />
+  <property name="javac.optimize" value="off" />
+
+  <property name="junit.printsummary" value="yes" />
+  <property name="junit.haltonerror" value="no" />
+  <property name="junit.haltonfailure" value="no" />
+  <property name="junit.fork" value="yes" />
+  <property name="junit.timeout" value="60000" />
+  <property name="junit.jvm" value="" />
+  <property name="junit.jvm.options" value="-Xms128m -Xmx512m -XX:MaxPermSize=256m" />
+  <property name="junit.batchtest.haltonerror" value="no" />
+  <property name="junit.batchtest.haltonfailure" value="no" />
+  <property name="junit.batchtest.fork" value="yes" />
+
+  <!-- ================================= 
+       Versions              
+       ================================= -->
+  <property name="version.ant" value="1.8.1"/>
+  <property name="version.activation" value="1.1"/>
+  <property name="version.apache-log4j" value="1.2.16"/>
+  <property name="version.apache-logging" value="1.1.0.jboss"/>
+  <property name="version.apiviz" value="1.3.1.GA"/>
+  <property name="version.arquillian" value="1.0.0.CR1"/>
+  <property name="version.dom4j" value="1.6.1"/>
+  <property name="version.mockito" value="1.8.5"/>
+  <property name="version.eclipse.ecj" value="3.5.1"/>
+  <property name="version.fungal" value="0.10.0.Beta1"/>
+  <property name="version.h2" value="1.3.154"/>
+  <property name="version.hibernate-annotations" value="3.5.1-Final"/>
+  <property name="version.hibernate-validator" value="4.1.0.Final"/>
+  <property name="version.hornetq" value="2.2.2.Final"/>
+  <property name="version.javassist" value="3.14.0-GA"/>
+  <property name="version.jboss.common" value="2.2.17.GA"/>
+  <property name="version.jboss.jaspi.api" value="1.0.0.Final"/>
+  <property name="version.jboss.jms.api" value="1.0.0.Beta1"/>
+  <property name="version.jboss.logging" value="3.0.0.CR1"/>
+  <property name="version.jboss.logging-generator" value="1.0.0.Beta7"/>
+  <property name="version.jboss.logging-processor" value="1.0.0.Beta7"/>
+  <property name="version.jboss.logmanager" value="1.2.0.CR9"/>
+  <property name="version.jboss.naming" value="5.0.3.GA"/>
+  <property name="version.jboss.netty" value="3.2.1.Final"/>
+  <property name="version.jboss.papaki" value="1.0.0.Beta3"/>
+  <property name="version.jboss.picketbox" value="4.0.0.Beta4"/>
+  <property name="version.jboss.security" value="2.1.0.20090318"/>
+  <property name="version.jboss.shrinkwrap" value="1.0.0-beta-3"/>
+  <property name="version.jboss.shrinkwrap.descriptors" value="1.0.0-beta-1"/>
+  <property name="version.jboss.slf4j" value="1.0.2.GA"/>
+  <property name="version.jboss.slf4j.logmanager" value="1.0.0.CR3"/>
+  <property name="version.jboss.stdio" value="1.0.0.CR3"/>
+  <property name="version.jboss.threads" value="2.0.0.CR7"/>
+  <property name="version.jboss.ts" value="4.15.1.Final"/>
+  <property name="version.jboss.ts.spi" value="7.0.0.CR1"/>
+  <property name="version.jdepend" value="2.9.1"/>
+  <property name="version.jetty" value="7.4.0.v20110414"/>
+  <property name="version.jetty.servlet" value="6.1.14"/>
+  <property name="version.jetty.glassfish" value="2.1.v20100127"/>
+  <property name="version.jasper" value="glassfish_2.1.0.v201004190952"/>
+  <property name="version.jpa" value="1.0"/>
+  <property name="version.junit" value="4.8.2"/>
+  <property name="version.jaxb.api" value="2.0"/>
+  <property name="version.jaxb.impl" value="2.1"/>
+  <property name="version.mail-api" value="1.4.4"/>
+  <property name="version.maven" value="2.2.1"/>
+  <property name="version.rhq" value="4.0.0.Beta1"/>
+  <property name="version.slf4j" value="1.5.8"/>
+  <property name="version.transaction.api" value="1.0.0.Final"/>
+  <property name="version.validation-api" value="1.0.0.GA"/>
+
+  <!-- ================================= 
+       Paths              
+       ================================= -->
+  <path id="sjc.lib.path.id">
+    <fileset dir="${lib.dir}/common">
+      <include name="**/*.jar"/>
+    </fileset>
+    <fileset dir="${lib.dir}/embedded">
+      <include name="**/*.jar"/>
+    </fileset>
+    <fileset dir="${lib.dir}/arquillian">
+      <include name="**/*.jar"/>
+    </fileset>
+    <fileset dir="${lib.dir}/jetty">
+      <include name="**/*.jar"/>
+    </fileset>
+    <fileset dir="${lib.dir}/hornetq">
+      <include name="**/*.jar"/>
+    </fileset>
+    <fileset dir="${lib.dir}/sjc">
+      <include name="**/*.jar"/>
+    </fileset>
+    <fileset dir="${lib.dir}/mail">
+      <include name="**/*.jar"/>
+    </fileset>
+    <fileset dir="${lib.dir}/tools">
+      <include name="**/*.jar"/>
+    </fileset>
+    <fileset dir="${target.dir}">
+      <include name="**/*.jar"/>
+    </fileset>
+  </path>
+
+  <path id="rhq.lib.path.id">
+    <path refid="sjc.lib.path.id"/>
+    <fileset dir="${lib.dir}/rhq">
+      <include name="**/*.jar"/>
+    </fileset>
+  </path>
+
+  <path id="test.lib.path.id">
+    <fileset dir="${lib.dir}/common">
+      <include name="**/*.jar"/>
+    </fileset>
+    <fileset dir="${lib.dir}/sjc">
+      <include name="**/*.jar"/>
+    </fileset>
+    <fileset dir="${lib.dir}/embedded">
+      <include name="**/*.jar"/>
+    </fileset>
+    <fileset dir="${lib.dir}/arquillian">
+      <include name="**/*.jar"/>
+    </fileset>
+    <fileset dir="${lib.dir}/mail">
+      <include name="**/*.jar"/>
+    </fileset>
+    <fileset dir="${lib.dir}/hornetq">
+      <include name="**/*.jar"/>
+    </fileset>
+    <fileset dir="${lib.dir}/test">
+      <include name="**/*.jar"/>
+    </fileset>
+    <fileset dir="${lib.dir}/tools">
+      <include name="**/*.jar"/>
+    </fileset>
+    <fileset dir="${lib.dir}/rhq">
+      <include name="**/*.jar"/>
+    </fileset>
+    <fileset dir="${target.dir}">
+       <include name="**/*.jar"/>
+    </fileset>
+  </path>
+
+  <path id="checkstyle.lib.path.id">
+    <fileset dir="${tools.dir}/checkstyle/lib"/>
+    <fileset dir="${lib.dir}/common">
+      <include name="**/*.jar"/>
+    </fileset>
+    <fileset dir="${lib.dir}/embedded">
+      <include name="**/*.jar"/>
+    </fileset>
+    <fileset dir="${lib.dir}/arquillian">
+      <include name="**/*.jar"/>
+    </fileset>
+    <fileset dir="${lib.dir}/jetty">
+      <include name="**/*.jar"/>
+    </fileset>
+    <fileset dir="${lib.dir}/hornetq">
+      <include name="**/*.jar"/>
+    </fileset>
+    <fileset dir="${lib.dir}/sjc">
+      <include name="**/*.jar"/>
+    </fileset>
+    <fileset dir="${lib.dir}/mail">
+      <include name="**/*.jar"/>
+    </fileset>
+    <fileset dir="${lib.dir}/test">
+      <include name="**/*.jar"/>
+    </fileset>
+    <fileset dir="${lib.dir}/tools">
+      <include name="**/*.jar"/>
+    </fileset>
+    <fileset dir="${lib.dir}/rhq">
+      <include name="**/*.jar"/>
+    </fileset>
+    <fileset dir="${target.dir}">
+      <include name="**/*.jar"/>
+    </fileset>
+  </path>
+
+  <path id="findbugs.lib.path.id">
+    <fileset dir="${tools.dir}/findbugs/lib"/>
+  </path>
+
+  <path id="cobertura.lib.path.id">
+    <fileset dir="${tools.dir}/cobertura/lib"/>
+  </path>
+
+  <path id="tattletale.lib.path.id">
+    <fileset dir="${tools.dir}/tattletale/lib"/>
+  </path>
+
+  <!-- ================================= 
+       Bootstrap Ivy
+       ================================= -->
+  <mkdir dir="${ivy.dir}"/>
+  <get usetimestamp="true" src="https://repository.apache.org/content/repositories/releases/org/apache/ivy/ivy/${ivy.version}/${ivy.jar.name}" 
+       skipexisting="true"
+       dest="${ivy.dir}/${ivy.jar.name}"/>
+  <taskdef resource="org/apache/ivy/ant/antlib.xml" uri="antlib:org.apache.ivy.ant" classpath="${ivy.dir}/${ivy.jar.name}"/>
+
+  <!-- ================================= 
+       Target: init              
+       ================================= -->
+  <target name="init">
+    <fail message="IronJacamar requires JDK6+" unless="HAVE_JDK_1.6"/>
+  
+    <ivy:settings file="${basedir}/ivy.settings.xml"/>
+
+    <mkdir dir="${build.dir}" />
+    <mkdir dir="${target.dir}" />
+  </target>
+
+  <!-- ================================= 
+       Target: resolve              
+       ================================= -->
+  <target name="resolve" depends="init">
+    <ivy:retrieve pattern="${lib.dir}/[conf]/[artifact].[ext]" 
+                  conf="common,sjc,embedded,arquillian,jetty,hornetq,mail,rhq,test,tools"
+                  sync="true"/>
+  </target>
+  
+  <!-- ================================= 
+       Target: report              
+       ================================= -->
+  <target name="report" depends="resolve">
+    <ivy:report todir="${target.dir}"/>
+  </target>
+  
+  <!-- ================================= 
+       Target: jars
+       ================================= -->
+  <target name="jars" depends="resolve">
+    <ant dir="api" inheritRefs="true" target="jars"/>
+    <ant dir="common" inheritRefs="true" target="jars"/>
+    <ant dir="core" inheritRefs="true" target="jars"/>
+    <ant dir="validator" inheritRefs="true" target="jars"/>
+    <ant dir="deployers" inheritRefs="true" target="jars"/>
+    <ant dir="embedded" inheritRefs="true" target="jars"/>
+    <ant dir="web" inheritRefs="true" target="jars"/>
+    <ant dir="sjc" inheritRefs="true" target="jars"/>
+    <ant dir="codegenerator" inheritRefs="true" target="jars"/>
+    <ant dir="adapters" inheritRefs="true" target="jars"/>
+    <ant dir="rhq" inheritRefs="true" target="jars"/>
+    <ant dir="as" inheritRefs="true" target="jars"/>
+  </target>
+  
+  <!-- ================================= 
+       Target: docs
+       ================================= -->
+  <target name="docs" depends="jars">
+    <ant dir="api" inheritRefs="true" target="docs"/>
+    <ant dir="common" inheritRefs="true" target="docs"/>
+    <ant dir="core" inheritRefs="true" target="docs"/>
+    <ant dir="validator" inheritRefs="true" target="docs"/>
+    <ant dir="deployers" inheritRefs="true" target="docs"/>
+    <ant dir="embedded" inheritRefs="true" target="docs"/>
+    <ant dir="web" inheritRefs="true" target="docs"/>
+    <ant dir="sjc" inheritRefs="true" target="docs"/>
+    <ant dir="codegenerator" inheritRefs="true" target="docs"/>
+    <ant dir="adapters" inheritRefs="true" target="docs"/>
+    <ant dir="rhq" inheritRefs="true" target="docs"/>
+    <ant dir="as" inheritRefs="true" target="docs"/>
+  </target>
+  
+  <!-- ================================= 
+       Target: manual
+       ================================= -->
+  <target name="manual">
+    <ant dir="${doc.dir}/developerguide" inheritRefs="false" inheritAll="false"/>
+    <ant dir="${doc.dir}/userguide" inheritRefs="false" inheritAll="false"/>
+  </target>
+
+  <!-- ================================= 
+       Target: prepare test
+       ================================= -->
+  <target name="prepare-test" depends="jars">
+    <ant dir="common" inheritRefs="true" target="prepare-test"/>
+    <ant dir="core" inheritRefs="true" target="prepare-test"/>
+    <ant dir="embedded" inheritRefs="true" target="prepare-test"/>
+    <ant dir="deployers" inheritRefs="true" target="prepare-test"/>
+    <ant dir="validator" inheritRefs="true" target="prepare-test"/>
+    <ant dir="codegenerator" inheritRefs="true" target="prepare-test"/>
+    <ant dir="adapters" inheritRefs="true" target="prepare-test"/>
+    <ant dir="rhq" inheritRefs="true" target="prepare-test"/>
+  </target>
+  
+  <!-- ================================= 
+       Target: test
+       ================================= -->
+  <target name="test" depends="prepare-test">
+    <ant dir="common" inheritRefs="true" target="test"/>
+    <ant dir="core" inheritRefs="true" target="test"/>
+    <ant dir="embedded" inheritRefs="true" target="test"/>
+    <ant dir="deployers" inheritRefs="true" target="test"/>
+    <ant dir="validator" inheritRefs="true" target="test"/>
+    <ant dir="adapters" inheritRefs="true" target="test"/>
+    <ant dir="rhq" inheritRefs="true" target="test"/>
+  </target>
+  
+  <!-- ================================= 
+       Target: one-test
+       ================================= -->
+  <target name="one-test" depends="jars">
+    <condition property="module" else="core">
+      <equals arg1="${module}" arg2="" trim="true"/> 
+    </condition>
+
+    <ant dir="${module}" inheritRefs="true" target="one-test"/>
+  </target>
+
+  <!-- ================================= 
+       Target: module-test
+       ================================= -->
+  <target name="module-test" depends="jars">
+    <condition property="module" else="core">
+      <equals arg1="${module}" arg2="" trim="true"/> 
+    </condition>
+  	
+    <ant dir="${module}" inheritRefs="true" target="test"/>
+  </target>
+
+  <!-- ================================= 
+       Target: artifacts
+       ================================= -->
+  <target name="artifacts" depends="resolve">
+    <ant dir="api" inheritRefs="true" target="artifacts"/>
+    <ant dir="common" inheritRefs="true" target="artifacts"/>
+    <ant dir="core" inheritRefs="true" target="artifacts"/>
+    <ant dir="validator" inheritRefs="true" target="artifacts"/>
+    <ant dir="deployers" inheritRefs="true" target="artifacts"/>
+    <ant dir="embedded" inheritRefs="true" target="artifacts"/>
+    <ant dir="codegenerator" inheritRefs="true" target="artifacts"/>
+    <ant dir="adapters" inheritRefs="true" target="artifacts"/>
+    <ant dir="as" inheritRefs="true" target="artifacts"/>
+  </target>
+  
+  <!-- ================================= 
+       Target: sjc
+       ================================= -->
+  <target name="sjc" depends="jars">
+    <ant dir="sjc" inheritRefs="true" target="sjc"/>
+  </target>
+
+  <!-- ================================= 
+       Target: release
+       ================================= -->
+  <target name="release" depends="clean,sjc">
+    <delete dir="${build.dir}"/>
+
+    <mkdir dir="${build.dir}" />
+    <mkdir dir="${build.dir}/${name}-${major}.${minor}.${patch}.${type}" />
+    <mkdir dir="${build.dir}/${name}-${major}.${minor}.${patch}.${type}/doc" />
+    <mkdir dir="${build.dir}/${name}-${major}.${minor}.${patch}.${type}/doc/spec" />
+
+    <ant dir="${doc.dir}/samples/helloworld" target="dist-clean" inheritRefs="false" inheritAll="false"/>
+
+    <ant dir="${doc.dir}/developerguide" target="pdf" inheritRefs="false" inheritAll="false"/>
+    <ant dir="${doc.dir}/userguide" target="pdf" inheritRefs="false" inheritAll="false"/>
+
+    <copy flatten="true" todir="${build.dir}/${name}-${major}.${minor}.${patch}.${type}/doc">
+      <fileset dir="${target.dir}/docs">
+        <include name="**/*.pdf"/>
+      </fileset>
+    </copy>
+
+    <ant dir="sjc" inheritRefs="true" target="war"/>
+    <delete dir="${build.dir}/sjc"/>
+
+    <ant dir="api" inheritRefs="true" target="docs"/>
+    <move todir="${build.dir}/${name}-${major}.${minor}.${patch}.${type}/doc/spec">
+      <fileset dir="${target.dir}/docs/spec">
+        <include name="**/*"/>
+      </fileset>
+    </move>
+    <delete dir="${build.dir}/api"/>
+
+    <copy todir="${build.dir}/${name}-${major}.${minor}.${patch}.${type}">
+      <fileset dir="${target.dir}/sjc"/>
+    </copy>
+    <chmod perm="755" type="file">
+      <fileset dir="${build.dir}/${name}-${major}.${minor}.${patch}.${type}">
+        <include name="**/*.sh"/>
+      </fileset>
+    </chmod>
+
+    <delete dir="${build.dir}/docbook"/>
+
+    <zip destfile="${name}-${major}.${minor}.${patch}.${type}.zip"
+         basedir="${build.dir}"/>
+    
+    <tar destfile="${name}-${major}.${minor}.${patch}.${type}.tar"
+         basedir="${build.dir}"/>
+    
+    <gzip zipfile="${name}-${major}.${minor}.${patch}.${type}.tar.gz" 
+          src="${name}-${major}.${minor}.${patch}.${type}.tar"/>
+    
+    <delete file="${name}-${major}.${minor}.${patch}.${type}.tar"/>
+    
+  </target>
+
+  <!-- ================================= 
+       Target: checkstyle
+       ================================= -->
+  <target name="checkstyle" depends="jars">
+    <taskdef name="checkstyle"
+             classname="com.puppycrawl.tools.checkstyle.CheckStyleTask"
+             classpathref="checkstyle.lib.path.id"/>
+
+    <mkdir dir="${reports.dir}/checkstyle" />
+
+    <checkstyle config="${tools.dir}/checkstyle/checkstyle.xml"
+                failOnViolation="false"
+                classpathref="checkstyle.lib.path.id">
+      <fileset dir="${basedir}">
+        <include name="**/*.java"/>
+        <exclude name="build/**/*.java"/>
+      </fileset>
+      <formatter type="plain"/>
+      <formatter type="xml" toFile="${reports.dir}/checkstyle/checkstyle-result.xml"/>
+    </checkstyle>
+  </target>
+
+  <!-- ================================= 
+       Target: findbugs
+       ================================= -->
+  <target name="findbugs" depends="jars">
+    <taskdef name="findbugs"
+             classname="edu.umd.cs.findbugs.anttask.FindBugsTask"
+             classpathref="findbugs.lib.path.id"/>
+
+    <mkdir dir="${reports.dir}/findbugs" />
+
+    <findbugs home="${basedir}/tools/findbugs/lib/"
+              output="html"
+              outputFile="${reports.dir}/findbugs/findbugs.html" 
+              excludeFilter="${basedir}/tools/findbugs/filter.xml"
+              reportLevel="low">
+      <auxClasspath>
+        <fileset dir="${lib.dir}/common">
+          <include name="*.jar"/>
+        </fileset>
+        <fileset dir="${lib.dir}/embedded">
+          <include name="*.jar"/>
+        </fileset>
+        <fileset dir="${lib.dir}/arquillian">
+          <include name="*.jar"/>
+        </fileset>
+        <fileset dir="${lib.dir}/jetty">
+          <include name="*.jar"/>
+        </fileset>
+        <fileset dir="${lib.dir}/hornetq">
+          <include name="*.jar"/>
+        </fileset>
+        <fileset dir="${lib.dir}/sjc">
+          <include name="*.jar"/>
+        </fileset>
+        <fileset dir="${lib.dir}/mail">
+          <include name="*.jar"/>
+        </fileset>
+        <fileset dir="${lib.dir}/rhq">
+          <include name="*.jar"/>
+        </fileset>
+        <fileset dir="${lib.dir}/test">
+          <include name="*.jar"/>
+        </fileset>
+        <fileset dir="${lib.dir}/tools">
+          <include name="*.jar"/>
+        </fileset>
+      </auxClasspath>
+      <class location="${target.dir}/${name}-as.jar" />
+      <class location="${target.dir}/${name}-codegenerator.jar" />
+      <class location="${target.dir}/${name}-common-api.jar" />
+      <class location="${target.dir}/${name}-common-impl.jar" />
+      <class location="${target.dir}/${name}-common-impl-papaki.jar" />
+      <class location="${target.dir}/${name}-common-spi.jar" />
+      <class location="${target.dir}/${name}-core-api.jar" />
+      <class location="${target.dir}/${name}-core-impl.jar" />
+      <class location="${target.dir}/${name}-deployers-common.jar" />
+      <class location="${target.dir}/${name}-deployers-fungal.jar" />
+      <class location="${target.dir}/${name}-embedded.jar" />
+      <class location="${target.dir}/${name}-embedded-arquillian.jar" />
+      <class location="${target.dir}/${name}-rhq.jar" />
+      <class location="${target.dir}/${name}-sjc.jar" />
+      <class location="${target.dir}/${name}-spec-api.jar" />
+      <class location="${target.dir}/${name}-validator.jar" />
+      <class location="${target.dir}/${name}-validator-ant.jar" />
+      <class location="${target.dir}/${name}-validator-cli.jar" />
+      <class location="${target.dir}/${name}-validator-maven.jar" />
+      <class location="${target.dir}/${name}-web.jar" />
+      <class location="${target.dir}/${name}-web-console.jar" />
+    </findbugs>
+
+    <findbugs home="${basedir}/tools/findbugs/lib/"
+              output="xml:withMessages"
+              outputFile="${reports.dir}/findbugs/findbugs.xml" 
+              excludeFilter="${basedir}/tools/findbugs/filter.xml"
+              reportLevel="low">
+      <auxClasspath>
+        <fileset dir="${lib.dir}/common">
+          <include name="*.jar"/>
+        </fileset>
+        <fileset dir="${lib.dir}/embedded">
+          <include name="*.jar"/>
+        </fileset>
+        <fileset dir="${lib.dir}/arquillian">
+          <include name="*.jar"/>
+        </fileset>
+        <fileset dir="${lib.dir}/jetty">
+          <include name="*.jar"/>
+        </fileset>
+        <fileset dir="${lib.dir}/hornetq">
+          <include name="*.jar"/>
+        </fileset>
+        <fileset dir="${lib.dir}/sjc">
+          <include name="*.jar"/>
+        </fileset>
+        <fileset dir="${lib.dir}/mail">
+          <include name="*.jar"/>
+        </fileset>
+        <fileset dir="${lib.dir}/rhq">
+          <include name="*.jar"/>
+        </fileset>
+        <fileset dir="${lib.dir}/test">
+          <include name="*.jar"/>
+        </fileset>
+        <fileset dir="${lib.dir}/tools">
+          <include name="*.jar"/>
+        </fileset>
+      </auxClasspath>
+      <class location="${target.dir}/${name}-as.jar" />
+      <class location="${target.dir}/${name}-codegenerator.jar" />
+      <class location="${target.dir}/${name}-common-api.jar" />
+      <class location="${target.dir}/${name}-common-impl.jar" />
+      <class location="${target.dir}/${name}-common-impl-papaki.jar" />
+      <class location="${target.dir}/${name}-common-spi.jar" />
+      <class location="${target.dir}/${name}-core-api.jar" />
+      <class location="${target.dir}/${name}-core-impl.jar" />
+      <class location="${target.dir}/${name}-deployers-common.jar" />
+      <class location="${target.dir}/${name}-deployers-fungal.jar" />
+      <class location="${target.dir}/${name}-embedded.jar" />
+      <class location="${target.dir}/${name}-embedded-arquillian.jar" />
+      <class location="${target.dir}/${name}-rhq.jar" />
+      <class location="${target.dir}/${name}-sjc.jar" />
+      <class location="${target.dir}/${name}-spec-api.jar" />
+      <class location="${target.dir}/${name}-validator.jar" />
+      <class location="${target.dir}/${name}-validator-ant.jar" />
+      <class location="${target.dir}/${name}-validator-cli.jar" />
+      <class location="${target.dir}/${name}-validator-maven.jar" />
+      <class location="${target.dir}/${name}-web.jar" />
+      <class location="${target.dir}/${name}-web-console.jar" />
+    </findbugs>
+  </target>
+
+  <!-- ================================= 
+       Target: cobertura
+       ================================= -->
+  <target name="cobertura" depends="prepare-test">
+    <taskdef resource="tasks.properties"
+             classpathref="cobertura.lib.path.id"/>
+
+    <mkdir dir="${reports.dir}/cobertura" />
+    <mkdir dir="${reports.dir}/cobertura/tests" />
+
+    <delete file="${reports.dir}/cobertura/cobertura.ser"/>
+    <delete dir="${build.dir}/instrumented"/>
+    
+    <mkdir dir="${build.dir}/instrumented" />
+    <copy todir="${build.dir}/instrumented">
+      <fileset dir="${target.dir}">
+        <include name="*.jar"/>
+      </fileset>
+    </copy>
+
+    <copy todir="${build.dir}/instrumented">
+      <fileset dir="${build.dir}/adapters">
+        <include name="*.jar"/>
+      </fileset>
+    </copy>
+
+    <cobertura-instrument todir="${build.dir}/instrumented"
+                          datafile="${reports.dir}/cobertura/cobertura.ser">
+      <fileset dir="${target.dir}">
+        <include name="ironjacamar*.jar" />
+      </fileset>
+    </cobertura-instrument>
+
+    <copy todir="${build.dir}/instrumented">
+      <fileset dir="${target.dir}">
+        <include name="${name}-core-api.jar"/>
+      </fileset>
+    </copy>
+
+    <junit dir="common/src/test"
+           printsummary="${junit.printsummary}"
+           haltonerror="${junit.haltonerror}"
+           haltonfailure="${junit.haltonfailure}"
+           fork="yes"
+           timeout="${junit.timeout}">
+      
+      <jvmarg line="${junit.jvm.options}"/>
+      <sysproperty key="test.dir" value="${test.dir}"/>
+      <sysproperty key="net.sourceforge.cobertura.datafile" file="${reports.dir}/cobertura/cobertura.ser" />
+      <sysproperty key="xb.builder.useUnorderedSequence" value="true"/>
+      <sysproperty key="javax.xml.stream.XMLInputFactory" value="com.sun.xml.internal.stream.XMLInputFactoryImpl"/>
+      <sysproperty key="java.util.logging.manager" value="org.jboss.logmanager.LogManager"/>
+      <sysproperty key="org.jboss.logging.Logger.pluginClass" value="org.jboss.logging.logmanager.LoggerPluginImpl"/>
+      <sysproperty key="log4j.defaultInitOverride" value="true"/>
+
+      <classpath>
+        <fileset dir="${build.dir}/instrumented" includes="*.jar" />
+        <pathelement location="${build.dir}/common/test"/>
+        <fileset dir="${lib.dir}/common" includes="*.jar" />
+        <fileset dir="${lib.dir}/embedded" includes="*.jar" />
+        <fileset dir="${lib.dir}/arquillian" includes="*.jar" />
+        <fileset dir="${lib.dir}/jetty" includes="*.jar" />
+        <fileset dir="${lib.dir}/hornetq" includes="*.jar" />
+        <fileset dir="${lib.dir}/sjc" includes="*.jar" />
+        <fileset dir="${lib.dir}/mail" includes="*.jar" />
+        <fileset dir="${lib.dir}/test" includes="*.jar" />
+        <fileset dir="${lib.dir}/tools" includes="*.jar" />
+        <fileset dir="${lib.dir}/rhq" includes="*.jar" />
+      </classpath>
+      <classpath refid="cobertura.lib.path.id" />
+      
+      <formatter type="xml"/>
+      
+      <batchtest todir="${reports.dir}/cobertura/tests">
+        <fileset dir="${build.dir}/common/test">
+          <include name="**/*TestCase.class"/>
+        </fileset>
+      </batchtest>
+    </junit>
+
+    <junit dir="core/src/test"
+           printsummary="${junit.printsummary}"
+           haltonerror="${junit.haltonerror}"
+           haltonfailure="${junit.haltonfailure}"
+           fork="yes"
+           timeout="${junit.timeout}">
+      
+      <jvmarg line="${junit.jvm.options}"/>
+      <sysproperty key="test.dir" value="${test.dir}"/>
+      <sysproperty key="net.sourceforge.cobertura.datafile" file="${reports.dir}/cobertura/cobertura.ser" />
+      <sysproperty key="xb.builder.useUnorderedSequence" value="true"/>
+      <sysproperty key="javax.xml.stream.XMLInputFactory" value="com.sun.xml.internal.stream.XMLInputFactoryImpl"/>
+      <sysproperty key="java.util.logging.manager" value="org.jboss.logmanager.LogManager"/>
+      <sysproperty key="org.jboss.logging.Logger.pluginClass" value="org.jboss.logging.logmanager.LoggerPluginImpl"/>
+      <sysproperty key="log4j.defaultInitOverride" value="true"/>
+
+      <classpath>
+        <fileset dir="${build.dir}/instrumented" includes="*.jar" />
+        <pathelement location="${build.dir}/core/test"/>
+        <fileset dir="${lib.dir}/common" includes="*.jar" />
+        <fileset dir="${lib.dir}/embedded" includes="*.jar" />
+        <fileset dir="${lib.dir}/arquillian" includes="*.jar" />
+        <fileset dir="${lib.dir}/jetty" includes="*.jar" />
+        <fileset dir="${lib.dir}/hornetq" includes="*.jar" />
+        <fileset dir="${lib.dir}/sjc" includes="*.jar" />
+        <fileset dir="${lib.dir}/mail" includes="*.jar" />
+        <fileset dir="${lib.dir}/test" includes="*.jar" />
+        <fileset dir="${lib.dir}/tools" includes="*.jar" />
+        <fileset dir="${lib.dir}/rhq" includes="*.jar" />
+      </classpath>
+      <classpath refid="cobertura.lib.path.id" />
+      
+      <formatter type="xml"/>
+      
+      <batchtest todir="${reports.dir}/cobertura/tests">
+        <fileset dir="${build.dir}/core/test">
+          <include name="**/*TestCase.class"/>
+        </fileset>
+      </batchtest>
+    </junit>
+
+    <junit dir="deployers/src/test"
+           printsummary="${junit.printsummary}"
+           haltonerror="${junit.haltonerror}"
+           haltonfailure="${junit.haltonfailure}"
+           fork="yes"
+           timeout="${junit.timeout}">
+      
+      <jvmarg line="${junit.jvm.options}"/>
+      <sysproperty key="archives.dir" value="${build.dir}/deployers"/>
+      <sysproperty key="test.dir" value="${test.dir}"/>
+      <sysproperty key="net.sourceforge.cobertura.datafile" file="${reports.dir}/cobertura/cobertura.ser" />
+      <sysproperty key="javax.xml.stream.XMLInputFactory" value="com.sun.xml.internal.stream.XMLInputFactoryImpl"/>
+      <sysproperty key="java.util.logging.manager" value="org.jboss.logmanager.LogManager"/>
+      <sysproperty key="org.jboss.logging.Logger.pluginClass" value="org.jboss.logging.logmanager.LoggerPluginImpl"/>
+      <sysproperty key="log4j.defaultInitOverride" value="true"/>
+
+      <classpath>
+        <fileset dir="${build.dir}/instrumented" includes="*.jar" />
+        <pathelement location="${build.dir}/deployers/test"/>
+        <fileset dir="${lib.dir}/common" includes="*.jar" />
+        <fileset dir="${lib.dir}/embedded" includes="*.jar" />
+        <fileset dir="${lib.dir}/arquillian" includes="*.jar" />
+        <fileset dir="${lib.dir}/jetty" includes="*.jar" />
+        <fileset dir="${lib.dir}/hornetq" includes="*.jar" />
+        <fileset dir="${lib.dir}/sjc" includes="*.jar" />
+        <fileset dir="${lib.dir}/mail" includes="*.jar" />
+        <fileset dir="${lib.dir}/test" includes="*.jar" />
+        <fileset dir="${lib.dir}/tools" includes="*.jar" />
+        <fileset dir="${lib.dir}/rhq" includes="*.jar" />
+      </classpath>
+      <classpath refid="cobertura.lib.path.id" />
+      
+      <formatter type="xml"/>
+      
+      <batchtest todir="${reports.dir}/cobertura/tests">
+        <fileset dir="${build.dir}/deployers/test">
+          <include name="**/*TestCase.class"/>
+        </fileset>
+      </batchtest>
+    </junit>
+
+    <junit dir="embedded/src/test"
+           printsummary="${junit.printsummary}"
+           haltonerror="${junit.haltonerror}"
+           haltonfailure="${junit.haltonfailure}"
+           fork="yes"
+           timeout="${junit.timeout}">
+      
+      <jvmarg line="${junit.jvm.options}"/>
+      <sysproperty key="test.dir" value="${test.dir}"/>
+      <sysproperty key="net.sourceforge.cobertura.datafile" file="${reports.dir}/cobertura/cobertura.ser" />
+      <sysproperty key="xb.builder.useUnorderedSequence" value="true"/>
+      <sysproperty key="javax.xml.stream.XMLInputFactory" value="com.sun.xml.internal.stream.XMLInputFactoryImpl"/>
+      <sysproperty key="java.util.logging.manager" value="org.jboss.logmanager.LogManager"/>
+      <sysproperty key="org.jboss.logging.Logger.pluginClass" value="org.jboss.logging.logmanager.LoggerPluginImpl"/>
+      <sysproperty key="log4j.defaultInitOverride" value="true"/>
+
+      <classpath>
+        <fileset dir="${build.dir}/instrumented" includes="*.jar" />
+        <pathelement location="${build.dir}/embedded/test"/>
+        <fileset dir="${lib.dir}/common" includes="*.jar" />
+        <fileset dir="${lib.dir}/embedded" includes="*.jar" />
+        <fileset dir="${lib.dir}/arquillian" includes="*.jar" />
+        <fileset dir="${lib.dir}/jetty" includes="*.jar" />
+        <fileset dir="${lib.dir}/hornetq" includes="*.jar" />
+        <fileset dir="${lib.dir}/sjc" includes="*.jar" />
+        <fileset dir="${lib.dir}/mail" includes="*.jar" />
+        <fileset dir="${lib.dir}/test" includes="*.jar" />
+        <fileset dir="${lib.dir}/tools" includes="*.jar" />
+        <fileset dir="${lib.dir}/rhq" includes="*.jar" />
+      </classpath>
+      <classpath refid="cobertura.lib.path.id" />
+      
+      <formatter type="xml"/>
+      
+      <batchtest todir="${reports.dir}/cobertura/tests">
+        <fileset dir="${build.dir}/embedded/test">
+          <include name="**/*TestCase.class"/>
+        </fileset>
+      </batchtest>
+    </junit>
+
+    <junit dir="validator/src/test"
+           printsummary="${junit.printsummary}"
+           haltonerror="${junit.haltonerror}"
+           haltonfailure="${junit.haltonfailure}"
+           fork="yes"
+           timeout="${junit.timeout}">
+      
+      <jvmarg line="${junit.jvm.options}"/>
+      <sysproperty key="test.dir" value="${test.dir}"/>
+      <sysproperty key="net.sourceforge.cobertura.datafile" file="${reports.dir}/cobertura/cobertura.ser" />
+      <sysproperty key="xb.builder.useUnorderedSequence" value="true"/>
+      <sysproperty key="javax.xml.stream.XMLInputFactory" value="com.sun.xml.internal.stream.XMLInputFactoryImpl"/>
+      <sysproperty key="java.util.logging.manager" value="org.jboss.logmanager.LogManager"/>
+      <sysproperty key="org.jboss.logging.Logger.pluginClass" value="org.jboss.logging.logmanager.LoggerPluginImpl"/>
+      <sysproperty key="log4j.defaultInitOverride" value="true"/>
+
+      <classpath>
+        <fileset dir="${build.dir}/instrumented" includes="*.jar" />
+        <pathelement location="${build.dir}/validator/test"/>
+        <fileset dir="${lib.dir}/common" includes="*.jar" />
+        <fileset dir="${lib.dir}/embedded" includes="*.jar" />
+        <fileset dir="${lib.dir}/arquillian" includes="*.jar" />
+        <fileset dir="${lib.dir}/jetty" includes="*.jar" />
+        <fileset dir="${lib.dir}/hornetq" includes="*.jar" />
+        <fileset dir="${lib.dir}/sjc" includes="*.jar" />
+        <fileset dir="${lib.dir}/mail" includes="*.jar" />
+        <fileset dir="${lib.dir}/test" includes="*.jar" />
+        <fileset dir="${lib.dir}/tools" includes="*.jar" />
+        <fileset dir="${lib.dir}/rhq" includes="*.jar" />
+      </classpath>
+      <classpath refid="cobertura.lib.path.id" />
+      
+      <formatter type="xml"/>
+      
+      <batchtest todir="${reports.dir}/cobertura/tests">
+        <fileset dir="${build.dir}/validator/test">
+          <include name="**/*TestCase.class"/>
+        </fileset>
+      </batchtest>
+    </junit>
+
+    <junit dir="codegenerator/src/test"
+           printsummary="${junit.printsummary}"
+           haltonerror="${junit.haltonerror}"
+           haltonfailure="${junit.haltonfailure}"
+           fork="yes"
+           timeout="${junit.timeout}">
+      
+      <jvmarg line="${junit.jvm.options}"/>
+      <sysproperty key="test.dir" value="${test.dir}"/>
+      <sysproperty key="net.sourceforge.cobertura.datafile" file="${reports.dir}/cobertura/cobertura.ser" />
+      <sysproperty key="xb.builder.useUnorderedSequence" value="true"/>
+      <sysproperty key="javax.xml.stream.XMLInputFactory" value="com.sun.xml.internal.stream.XMLInputFactoryImpl"/>
+      <sysproperty key="java.util.logging.manager" value="org.jboss.logmanager.LogManager"/>
+      <sysproperty key="org.jboss.logging.Logger.pluginClass" value="org.jboss.logging.logmanager.LoggerPluginImpl"/>
+      <sysproperty key="log4j.defaultInitOverride" value="true"/>
+
+      <classpath>
+        <fileset dir="${build.dir}/instrumented" includes="*.jar" />
+        <pathelement location="${build.dir}/codegenerator/test"/>
+        <fileset dir="${lib.dir}/common" includes="*.jar" />
+        <fileset dir="${lib.dir}/embedded" includes="*.jar" />
+        <fileset dir="${lib.dir}/arquillian" includes="*.jar" />
+        <fileset dir="${lib.dir}/jetty" includes="*.jar" />
+        <fileset dir="${lib.dir}/hornetq" includes="*.jar" />
+        <fileset dir="${lib.dir}/sjc" includes="*.jar" />
+        <fileset dir="${lib.dir}/mail" includes="*.jar" />
+        <fileset dir="${lib.dir}/test" includes="*.jar" />
+        <fileset dir="${lib.dir}/tools" includes="*.jar" />
+        <fileset dir="${lib.dir}/rhq" includes="*.jar" />
+      </classpath>
+      <classpath refid="cobertura.lib.path.id" />
+      
+      <formatter type="xml"/>
+      
+      <batchtest todir="${reports.dir}/cobertura/tests">
+        <fileset dir="${build.dir}/codegenerator/test">
+          <include name="**/*TestCase.class"/>
+        </fileset>
+      </batchtest>
+    </junit>
+
+    <junit dir="adapters/src/test"
+           printsummary="${junit.printsummary}"
+           haltonerror="${junit.haltonerror}"
+           haltonfailure="${junit.haltonfailure}"
+           fork="yes"
+           timeout="${junit.timeout}">
+      
+      <jvmarg line="${junit.jvm.options}"/>
+      <sysproperty key="test.dir" value="${test.dir}"/>
+      <sysproperty key="archives.dir" value="${build.dir}/adapters"/>
+      <sysproperty key="net.sourceforge.cobertura.datafile" file="${reports.dir}/cobertura/cobertura.ser" />
+      <sysproperty key="xb.builder.useUnorderedSequence" value="true"/>
+      <sysproperty key="javax.xml.stream.XMLInputFactory" value="com.sun.xml.internal.stream.XMLInputFactoryImpl"/>
+      <sysproperty key="java.util.logging.manager" value="org.jboss.logmanager.LogManager"/>
+      <sysproperty key="org.jboss.logging.Logger.pluginClass" value="org.jboss.logging.logmanager.LoggerPluginImpl"/>
+      <sysproperty key="log4j.defaultInitOverride" value="true"/>
+
+      <classpath>
+        <fileset dir="${build.dir}/instrumented" includes="*.jar" />
+        <pathelement location="${build.dir}/adapters/"/>
+        <pathelement location="${build.dir}/adapters/test"/>
+        <fileset dir="${lib.dir}/common" includes="*.jar" />
+        <fileset dir="${lib.dir}/embedded" includes="*.jar" />
+        <fileset dir="${lib.dir}/arquillian" includes="*.jar" />
+        <fileset dir="${lib.dir}/jetty" includes="*.jar" />
+        <fileset dir="${lib.dir}/hornetq" includes="*.jar" />
+        <fileset dir="${lib.dir}/sjc" includes="*.jar" />
+        <fileset dir="${lib.dir}/mail" includes="*.jar" />
+        <fileset dir="${lib.dir}/test" includes="*.jar" />
+        <fileset dir="${lib.dir}/tools" includes="*.jar" />
+        <fileset dir="${lib.dir}/rhq" includes="*.jar" />
+      </classpath>
+      <classpath refid="cobertura.lib.path.id" />
+      
+      <formatter type="xml"/>
+      
+      <batchtest todir="${reports.dir}/cobertura/tests">
+        <fileset dir="${build.dir}/adapters/test">
+          <include name="**/*TestCase.class"/>
+        </fileset>
+      </batchtest>
+    </junit>
+
+    <junit dir="rhq/src/test"
+           printsummary="${junit.printsummary}"
+           haltonerror="${junit.haltonerror}"
+           haltonfailure="${junit.haltonfailure}"
+           fork="yes"
+           timeout="${junit.timeout}">
+      
+      <jvmarg line="${junit.jvm.options}"/>
+      <sysproperty key="test.dir" value="${test.dir}"/>
+      <sysproperty key="archives.dir" value="${build.dir}/rhq"/>
+      <sysproperty key="net.sourceforge.cobertura.datafile" file="${reports.dir}/cobertura/cobertura.ser" />
+      <sysproperty key="xb.builder.useUnorderedSequence" value="true"/>
+      <sysproperty key="javax.xml.stream.XMLInputFactory" value="com.sun.xml.internal.stream.XMLInputFactoryImpl"/>
+      <sysproperty key="java.util.logging.manager" value="org.jboss.logmanager.LogManager"/>
+      <sysproperty key="org.jboss.logging.Logger.pluginClass" value="org.jboss.logging.logmanager.LoggerPluginImpl"/>
+      <sysproperty key="log4j.defaultInitOverride" value="true"/>
+
+      <classpath>
+        <fileset dir="${build.dir}/instrumented" includes="*.jar" />
+        <pathelement location="${build.dir}/rhq/"/>
+        <pathelement location="${build.dir}/rhq/test"/>
+        <fileset dir="${lib.dir}/common" includes="*.jar" />
+        <fileset dir="${lib.dir}/embedded" includes="*.jar" />
+        <fileset dir="${lib.dir}/arquillian" includes="*.jar" />
+        <fileset dir="${lib.dir}/jetty" includes="*.jar" />
+        <fileset dir="${lib.dir}/hornetq" includes="*.jar" />
+        <fileset dir="${lib.dir}/sjc" includes="*.jar" />
+        <fileset dir="${lib.dir}/mail" includes="*.jar" />
+        <fileset dir="${lib.dir}/test" includes="*.jar" />
+        <fileset dir="${lib.dir}/tools" includes="*.jar" />
+        <fileset dir="${lib.dir}/rhq" includes="*.jar" />
+      </classpath>
+      <classpath refid="cobertura.lib.path.id" />
+      
+      <formatter type="xml"/>
+      
+      <batchtest todir="${reports.dir}/cobertura/tests">
+        <fileset dir="${build.dir}/rhq/test">
+          <include name="**/*TestCase.class"/>
+        </fileset>
+      </batchtest>
+    </junit>
+
+    <cobertura-report format="html" 
+                      destdir="${reports.dir}/cobertura/html" 
+                      datafile="${reports.dir}/cobertura/cobertura.ser">
+      <fileset dir="api/src/main/java">
+        <include name="**/*.java" />
+      </fileset>
+      <fileset dir="adapters/src/main/java">
+        <include name="**/*.java" />
+      </fileset>
+      <fileset dir="codegenerator/src/main/java">
+        <include name="**/*.java" />
+      </fileset>
+      <fileset dir="common/src/main/java">
+        <include name="**/*.java" />
+      </fileset>
+      <fileset dir="core/src/main/java">
+        <include name="**/*.java" />
+      </fileset>
+      <fileset dir="deployers/src/main/java">
+        <include name="**/*.java" />
+      </fileset>
+      <fileset dir="embedded/src/main/java">
+        <include name="**/*.java" />
+      </fileset>
+      <fileset dir="sjc/src/main/java">
+        <include name="**/*.java" />
+      </fileset>
+      <fileset dir="validator/src/main/java">
+        <include name="**/*.java" />
+      </fileset>
+      <fileset dir="web/src/main/java">
+        <include name="**/*.java" />
+      </fileset>
+      <fileset dir="rhq/src/main/java">
+        <include name="**/*.java" />
+      </fileset>
+    </cobertura-report>
+
+    <cobertura-report format="xml" 
+                      destdir="${reports.dir}/cobertura/xml" 
+                      datafile="${reports.dir}/cobertura/cobertura.ser">
+      <fileset dir="api/src/main/java">
+        <include name="**/*.java" />
+      </fileset>
+      <fileset dir="adapters/src/main/java">
+        <include name="**/*.java" />
+      </fileset>
+      <fileset dir="codegenerator/src/main/java">
+        <include name="**/*.java" />
+      </fileset>
+      <fileset dir="common/src/main/java">
+        <include name="**/*.java" />
+      </fileset>
+      <fileset dir="core/src/main/java">
+        <include name="**/*.java" />
+      </fileset>
+      <fileset dir="deployers/src/main/java">
+        <include name="**/*.java" />
+      </fileset>
+      <fileset dir="embedded/src/main/java">
+        <include name="**/*.java" />
+      </fileset>
+      <fileset dir="sjc/src/main/java">
+        <include name="**/*.java" />
+      </fileset>
+      <fileset dir="validator/src/main/java">
+        <include name="**/*.java" />
+      </fileset>
+      <fileset dir="web/src/main/java">
+        <include name="**/*.java" />
+      </fileset>
+      <fileset dir="rhq/src/main/java">
+        <include name="**/*.java" />
+      </fileset>
+    </cobertura-report>
+  </target>
+
+  <!-- ================================= 
+       Target: tattletale
+       ================================= -->
+  <target name="tattletale" depends="sjc">
+    <taskdef name="report"
+             classname="org.jboss.tattletale.ant.ReportTask"
+             classpathref="tattletale.lib.path.id"/>
+
+    <mkdir dir="${reports.dir}/tattletale"/>
+
+    <report source="${target.dir}/sjc"
+            destination="${reports.dir}/tattletale"
+            configuration="${tools.dir}/tattletale/configuration.properties"
+            filter="${tools.dir}/tattletale/filter.properties"
+            profiles="java6"/>
+  </target>
+
+  <!-- ================================= 
+       Target: clean              
+       ================================= -->
+  <target name="clean">
+    <delete>
+      <fileset dir="${basedir}" defaultexcludes="no">
+        <include name="**/*~"/>
+        <include name="**/*.bak"/>
+      </fileset>
+    </delete>
+    <delete>
+      <fileset dir="${lib.dir}" includes="**/*.jar"/>
+    </delete>
+    <delete dir="${build.dir}"/>
+    <delete dir="${target.dir}"/>
+    <delete dir="${reports.dir}"/>
+    <delete file="${name}-${major}.${minor}.${patch}.${type}.zip" />
+    <delete file="${name}-${major}.${minor}.${patch}.${type}.tar.gz" />
+
+    <ant antfile="tools/docant/build.xml" target="clean" inheritrefs="false" inheritAll="false"/>
+    <delete dir="${doc.dir}/target"/>
+  </target>
+  
+  <!-- ================================= 
+       Target: clean-cache              
+       ================================= -->
+  <target name="clean-cache">
+    <ivy:cleancache />
+  </target>
+
+  <!-- ================================= 
+       Target: nexus
+       ================================= -->
+  <macrodef name="deploy-file">
+    <attribute name="file"/>
+    <attribute name="artifact"/>
+    <attribute name="extension"/>
+    <sequential>
+      <concat destfile="${target.dir}/@{file}" append="true" force="true" eol="unix">
+mvn -s ${mavensettings} org.apache.maven.plugins:maven-deploy-plugin:2.6:deploy-file -Dfile=$PWD/@{artifact}.@{extension} -DpomFile=@{artifact}.xml -Dsources=$PWD/@{artifact}-sources.jar -Djavadoc=$PWD/@{artifact}-javadoc.jar $REPOSITORY
+</concat>
+    </sequential>
+  </macrodef>
+
+  <macrodef name="install-file">
+    <attribute name="file"/>
+    <attribute name="artifact"/>
+    <attribute name="extension"/>
+    <sequential>
+      <concat destfile="${target.dir}/@{file}" append="true" force="true" eol="unix">
+mvn install:install-file -Dfile=$PWD/@{artifact}.@{extension} -DpomFile=@{artifact}.xml -Dsources=$PWD/@{artifact}-sources.jar -Djavadoc=$PWD/@{artifact}-javadoc.jar
+</concat>
+    </sequential>
+  </macrodef>
+
+  <target name="nexus" depends="clean,artifacts">
+    <fail message="IronJacamar doesn't support JDK 7+ artifacts" if="HAVE_JDK_1.7"/>
+  
+    <ivy:retrieve pattern="${lib.dir}/[conf]/[artifact].[ext]" 
+                  conf="${name}-as,${name}-codegenerator,${name}-common-api,${name}-common-impl,${name}-common-impl-papaki,${name}-common-spi,${name}-core-api,${name}-core-impl,${name}-deployers-common,${name}-deployers-fungal,${name}-embedded,${name}-embedded-arquillian,${name}-spec-api,${name}-validator,${name}-validator-ant,${name}-validator-cli,jdbc-local,jdbc-xa,mail"
+                  sync="true"/>
+
+    <delete file="${target.dir}/deploy.sh"/>
+    <delete file="${target.dir}/install.sh"/>
+
+    <concat destfile="${target.dir}/deploy.sh" append="true" force="true" eol="unix">#!/bin/sh
+PWD=`pwd`
+VERSION=${version}
+REPOSITORY='-Durl=${repositoryurl} -DrepositoryId=${repositoryid}'
+</concat>
+
+    <concat destfile="${target.dir}/install.sh" append="true" force="true" eol="unix">#!/bin/sh
+PWD=`pwd`
+VERSION=${version}
+</concat>
+
+    <!-- ironjacamar-as -->
+    <delete file="${target.dir}/${name}-as.xml"/>
+    <ivy:makepom artifactName="${name}-as" 
+                 conf="${name}-as"
+                 ivyfile="${basedir}/ivy.xml" 
+                 pomfile="${target.dir}/${name}-as.xml"
+                 headerFile="${tools.dir}/mvn/HEADER"
+                 templatefile="${tools.dir}/mvn/pom.template"
+                 printIvyInfo="false">
+      <mapping conf="${name}-as" scope="runtime"/>
+    </ivy:makepom>
+
+    <deploy-file file="deploy.sh" artifact="${name}-as" extension="jar"/>
+    <install-file file="install.sh" artifact="${name}-as" extension="jar"/>
+
+    <!-- ironjacamar-codegenerator -->
+    <delete file="${target.dir}/${name}-codegenerator.xml"/>
+    <ivy:makepom artifactName="${name}-codegenerator" 
+                 conf="${name}-codegenerator"
+                 ivyfile="${basedir}/ivy.xml" 
+                 pomfile="${target.dir}/${name}-codegenerator.xml"
+                 headerFile="${tools.dir}/mvn/HEADER"
+                 templatefile="${tools.dir}/mvn/pom.template"
+                 printIvyInfo="false">
+      <mapping conf="${name}-codegenerator" scope="runtime"/>
+    </ivy:makepom>
+
+    <deploy-file file="deploy.sh" artifact="${name}-codegenerator" extension="jar"/>
+    <install-file file="install.sh" artifact="${name}-codegenerator" extension="jar"/>
+
+    <!-- ironjacamar-common-api -->
+    <delete file="${target.dir}/${name}-common-api.xml"/>
+    <ivy:makepom artifactName="${name}-common-api" 
+                 conf="${name}-common-api"
+                 ivyfile="${basedir}/ivy.xml" 
+                 pomfile="${target.dir}/${name}-common-api.xml"
+                 headerFile="${tools.dir}/mvn/HEADER"
+                 templatefile="${tools.dir}/mvn/pom.template"
+                 printIvyInfo="false">
+      <mapping conf="${name}-common-api" scope="runtime"/>
+    </ivy:makepom>
+
+    <deploy-file file="deploy.sh" artifact="${name}-common-api" extension="jar"/>
+    <install-file file="install.sh" artifact="${name}-common-api" extension="jar"/>
+
+    <!-- ironjacamar-common-impl -->
+    <delete file="${target.dir}/${name}-common-impl.xml"/>
+    <ivy:makepom artifactName="${name}-common-impl" 
+                 conf="${name}-common-impl"
+                 ivyfile="${basedir}/ivy.xml" 
+                 pomfile="${target.dir}/${name}-common-impl.xml"
+                 headerFile="${tools.dir}/mvn/HEADER"
+                 templatefile="${tools.dir}/mvn/pom.template"
+                 printIvyInfo="false">
+      <mapping conf="${name}-common-impl" scope="runtime"/>
+      <dependency artifact="${name}-common-api" scope="runtime"/>
+      <dependency artifact="${name}-common-spi" scope="runtime"/>
+      <dependency artifact="${name}-spec-api" scope="runtime"/>
+    </ivy:makepom>
+
+    <deploy-file file="deploy.sh" artifact="${name}-common-impl" extension="jar"/>
+    <install-file file="install.sh" artifact="${name}-common-impl" extension="jar"/>
+
+    <!-- ironjacamar-common-impl-papaki -->
+    <delete file="${target.dir}/${name}-common-impl-papaki.xml"/>
+    <ivy:makepom artifactName="${name}-common-impl-papaki" 
+                 conf="${name}-common-impl-papaki"
+                 ivyfile="${basedir}/ivy.xml" 
+                 pomfile="${target.dir}/${name}-common-impl-papaki.xml"
+                 headerFile="${tools.dir}/mvn/HEADER"
+                 templatefile="${tools.dir}/mvn/pom.template"
+                 printIvyInfo="false">
+      <mapping conf="${name}-common-impl-papaki" scope="runtime"/>
+      <dependency artifact="${name}-common-spi" scope="runtime"/>
+    </ivy:makepom>
+
+    <deploy-file file="deploy.sh" artifact="${name}-common-impl-papaki" extension="jar"/>
+    <install-file file="install.sh" artifact="${name}-common-impl-papaki" extension="jar"/>
+
+    <!-- ironjacamar-common-spi -->
+    <delete file="${target.dir}/${name}-common-spi.xml"/>
+    <ivy:makepom artifactName="${name}-common-spi" 
+                 conf="${name}-common-spi"
+                 ivyfile="${basedir}/ivy.xml" 
+                 pomfile="${target.dir}/${name}-common-spi.xml"
+                 headerFile="${tools.dir}/mvn/HEADER"
+                 templatefile="${tools.dir}/mvn/pom.template"
+                 printIvyInfo="false">
+      <mapping conf="${name}-common-spi" scope="runtime"/>
+    </ivy:makepom>
+
+    <deploy-file file="deploy.sh" artifact="${name}-common-spi" extension="jar"/>
+    <install-file file="install.sh" artifact="${name}-common-spi" extension="jar"/>
+
+    <!-- ironjacamar-core-api -->
+    <delete file="${target.dir}/${name}-core-api.xml"/>
+    <ivy:makepom artifactName="${name}-core-api" 
+                 conf="${name}-core-api"
+                 ivyfile="${basedir}/ivy.xml" 
+                 pomfile="${target.dir}/${name}-core-api.xml"
+                 headerFile="${tools.dir}/mvn/HEADER"
+                 templatefile="${tools.dir}/mvn/pom.template"
+                 printIvyInfo="false">
+      <mapping conf="${name}-core-api" scope="runtime"/>
+      <dependency artifact="${name}-spec-api" scope="runtime"/>
+    </ivy:makepom>
+
+    <deploy-file file="deploy.sh" artifact="${name}-core-api" extension="jar"/>
+    <install-file file="install.sh" artifact="${name}-core-api" extension="jar"/>
+
+    <!-- ironjacamar-core-impl -->
+    <delete file="${target.dir}/${name}-core-impl.xml"/>
+    <ivy:makepom artifactName="${name}-core-impl" 
+                 conf="${name}-core-impl"
+                 ivyfile="${basedir}/ivy.xml" 
+                 pomfile="${target.dir}/${name}-core-impl.xml"
+                 headerFile="${tools.dir}/mvn/HEADER"
+                 templatefile="${tools.dir}/mvn/pom.template"
+                 printIvyInfo="false">
+      <mapping conf="${name}-core-impl" scope="runtime"/>
+      <dependency artifact="${name}-common-impl" scope="runtime"/>
+      <dependency artifact="${name}-core-api" scope="runtime"/>
+      <dependency artifact="${name}-spec-api" scope="runtime"/>
+    </ivy:makepom>
+
+    <deploy-file file="deploy.sh" artifact="${name}-core-impl" extension="jar"/>
+    <install-file file="install.sh" artifact="${name}-core-impl" extension="jar"/>
+
+    <!-- ironjacamar-depchain -->
+    <delete file="${target.dir}/${name}-depchain.xml"/>
+    <ivy:makepom artifactName="${name}-depchain" 
+                 conf="${name}-depchain"
+                 ivyfile="${basedir}/ivy.xml" 
+                 pomfile="${target.dir}/${name}-depchain.xml"
+                 headerFile="${tools.dir}/mvn/HEADER"
+                 templatefile="${tools.dir}/mvn/pom.template"
+                 printIvyInfo="false">
+      <mapping conf="${name}-depchain" scope="runtime"/>
+    </ivy:makepom>
+
+    <concat destfile="${target.dir}/deploy.sh" append="true" force="true" eol="unix">
+mvn -s ${mavensettings} org.apache.maven.plugins:maven-deploy-plugin:2.6:deploy-file -Dfile=$PWD/${name}-depchain.xml -DpomFile=${name}-depchain.xml $REPOSITORY
+</concat>
+<concat destfile="${target.dir}/install.sh" append="true" force="true" eol="unix">
+mvn install:install-file -Dfile=$PWD/${name}-depchain.xml -DpomFile=${name}-depchain.xml -DuniqueVersion=false $REPOSITORY
+</concat>
+
+    <!-- ironjacamar-deployers-common -->
+    <delete file="${target.dir}/${name}-deployers-common.xml"/>
+    <ivy:makepom artifactName="${name}-deployers-common" 
+                 conf="${name}-deployers-common"
+                 ivyfile="${basedir}/ivy.xml" 
+                 pomfile="${target.dir}/${name}-deployers-common.xml"
+                 headerFile="${tools.dir}/mvn/HEADER"
+                 templatefile="${tools.dir}/mvn/pom.template"
+                 printIvyInfo="false">
+      <mapping conf="${name}-deployers-common" scope="runtime"/>
+    </ivy:makepom>
+
+    <deploy-file file="deploy.sh" artifact="${name}-deployers-common" extension="jar"/>
+    <install-file file="install.sh" artifact="${name}-deployers-common" extension="jar"/>
+
+    <!-- ironjacamar-deployers-fungal -->
+    <delete file="${target.dir}/${name}-deployers-fungal.xml"/>
+    <ivy:makepom artifactName="${name}-deployers-fungal" 
+                 conf="${name}-deployers-fungal"
+                 ivyfile="${basedir}/ivy.xml" 
+                 pomfile="${target.dir}/${name}-deployers-fungal.xml"
+                 headerFile="${tools.dir}/mvn/HEADER"
+                 templatefile="${tools.dir}/mvn/pom.template"
+                 printIvyInfo="false">
+      <mapping conf="${name}-deployers-fungal" scope="runtime"/>
+      <dependency artifact="${name}-common-impl" scope="runtime"/>
+      <dependency artifact="${name}-core-api" scope="runtime"/>
+      <dependency artifact="${name}-core-impl" scope="runtime"/>
+      <dependency artifact="${name}-spec-api" scope="runtime"/>
+      <dependency artifact="${name}-validator" scope="runtime"/>
+    </ivy:makepom>
+
+    <deploy-file file="deploy.sh" artifact="${name}-deployers-fungal" extension="jar"/>
+    <install-file file="install.sh" artifact="${name}-deployers-fungal" extension="jar"/>
+
+    <!-- ironjacamar-embedded -->
+    <delete file="${target.dir}/${name}-embedded.xml"/>
+    <ivy:makepom artifactName="${name}-embedded" 
+                 conf="${name}-embedded"
+                 ivyfile="${basedir}/ivy.xml" 
+                 pomfile="${target.dir}/${name}-embedded.xml"
+                 headerFile="${tools.dir}/mvn/HEADER"
+                 templatefile="${tools.dir}/mvn/pom.template"
+                 printIvyInfo="false">
+      <mapping conf="${name}-embedded" scope="runtime"/>
+    </ivy:makepom>
+
+    <deploy-file file="deploy.sh" artifact="${name}-embedded" extension="jar"/>
+    <install-file file="install.sh" artifact="${name}-embedded" extension="jar"/>
+
+    <!-- ironjacamar-embedded-arquillian -->
+    <delete file="${target.dir}/${name}-embedded-arquillian.xml"/>
+    <ivy:makepom artifactName="${name}-embedded-arquillian" 
+                 conf="${name}-embedded-arquillian"
+                 ivyfile="${basedir}/ivy.xml" 
+                 pomfile="${target.dir}/${name}-embedded-arquillian.xml"
+                 headerFile="${tools.dir}/mvn/HEADER"
+                 templatefile="${tools.dir}/mvn/pom.template"
+                 printIvyInfo="false">
+      <mapping conf="${name}-embedded-arquillian" scope="runtime"/>
+      <dependency artifact="${name}-embedded" scope="runtime"/>
+    </ivy:makepom>
+
+    <deploy-file file="deploy.sh" artifact="${name}-embedded-arquillian" extension="jar"/>
+    <install-file file="install.sh" artifact="${name}-embedded-arquillian" extension="jar"/>
+
+    <!-- ironjacamar-spec-api -->
+    <delete file="${target.dir}/${name}-spec-api.xml"/>
+    <ivy:makepom artifactName="${name}-spec-api" 
+                 conf="${name}-spec-api"
+                 ivyfile="${basedir}/ivy.xml" 
+                 pomfile="${target.dir}/${name}-spec-api.xml"
+                 headerFile="${tools.dir}/mvn/HEADER"
+                 templatefile="${tools.dir}/mvn/pom.template"
+                 printIvyInfo="false">
+      <mapping conf="${name}-spec-api" scope="runtime"/>
+    </ivy:makepom>
+
+    <deploy-file file="deploy.sh" artifact="${name}-spec-api" extension="jar"/>
+    <install-file file="install.sh" artifact="${name}-spec-api" extension="jar"/>
+
+    <!-- ironjacamar-validator -->
+    <delete file="${target.dir}/${name}-validator.xml"/>
+    <ivy:makepom artifactName="${name}-validator" 
+                 conf="${name}-validator"
+                 ivyfile="${basedir}/ivy.xml" 
+                 pomfile="${target.dir}/${name}-validator.xml"
+                 headerFile="${tools.dir}/mvn/HEADER"
+                 templatefile="${tools.dir}/mvn/pom.template"
+                 printIvyInfo="false">
+      <mapping conf="${name}-validator" scope="runtime"/>
+      <dependency artifact="${name}-common-api" scope="runtime"/>
+      <dependency artifact="${name}-common-impl" scope="runtime"/>
+      <dependency artifact="${name}-common-spi" scope="runtime"/>
+      <dependency artifact="${name}-spec-api" scope="runtime"/>
+    </ivy:makepom>
+
+    <deploy-file file="deploy.sh" artifact="${name}-validator" extension="jar"/>
+    <install-file file="install.sh" artifact="${name}-validator" extension="jar"/>
+
+    <!-- ironjacamar-validator-ant -->
+    <delete file="${target.dir}/${name}-validator-ant.xml"/>
+    <ivy:makepom artifactName="${name}-validator-ant" 
+                 conf="${name}-validator-ant"
+                 ivyfile="${basedir}/ivy.xml" 
+                 pomfile="${target.dir}/${name}-validator-ant.xml"
+                 headerFile="${tools.dir}/mvn/HEADER"
+                 templatefile="${tools.dir}/mvn/pom.template"
+                 printIvyInfo="false">
+      <mapping conf="${name}-validator-ant" scope="runtime"/>
+      <dependency artifact="${name}-validator" scope="runtime"/>
+    </ivy:makepom>
+
+    <deploy-file file="deploy.sh" artifact="${name}-validator-ant" extension="jar"/>
+    <install-file file="install.sh" artifact="${name}-validator" extension="jar"/>
+
+    <!-- ironjacamar-validator-cli -->
+    <delete file="${target.dir}/${name}-validator-cli.xml"/>
+    <ivy:makepom artifactName="${name}-validator-cli" 
+                 conf="${name}-validator-cli"
+                 ivyfile="${basedir}/ivy.xml" 
+                 pomfile="${target.dir}/${name}-validator-cli.xml"
+                 headerFile="${tools.dir}/mvn/HEADER"
+                 templatefile="${tools.dir}/mvn/pom.template"
+                 printIvyInfo="false">
+      <mapping conf="${name}-validator-cli" scope="runtime"/>
+      <dependency artifact="${name}-validator" scope="runtime"/>
+    </ivy:makepom>
+
+    <deploy-file file="deploy.sh" artifact="${name}-validator-cli" extension="jar"/>
+    <install-file file="install.sh" artifact="${name}-validator-cli" extension="jar"/>
+
+    <!-- ironjacamar-validator-maven -->
+    <delete file="${target.dir}/${name}-validator-maven.xml"/>
+    <ivy:makepom artifactName="${name}-validator-maven" 
+                 conf="${name}-validator-maven"
+                 ivyfile="${basedir}/ivy.xml" 
+                 pomfile="${target.dir}/${name}-validator-maven.xml"
+                 headerFile="${tools.dir}/mvn/HEADER"
+                 templatefile="${tools.dir}/mvn/pom.template"
+                 printIvyInfo="false">
+      <mapping conf="${name}-validator-maven" scope="runtime"/>
+      <dependency artifact="${name}-validator" scope="runtime"/>
+    </ivy:makepom>
+
+    <deploy-file file="deploy.sh" artifact="${name}-validator-maven" extension="jar"/>
+    <install-file file="install.sh" artifact="${name}-validator-maven" extension="jar"/>
+
+    <!-- ironjacamar-jdbc -->
+    <delete file="${target.dir}/${name}-jdbc.xml"/>
+    <ivy:makepom artifactName="${name}-jdbc" 
+                conf="${name}-jdbc"
+                ivyfile="${basedir}/ivy.xml" 
+                pomfile="${target.dir}/${name}-jdbc.xml"
+                headerFile="${tools.dir}/mvn/HEADER"
+                templatefile="${tools.dir}/mvn/pom.template"
+                printIvyInfo="false">
+      <mapping conf="${name}-jdbc" scope="runtime"/>
+    </ivy:makepom>
+
+    <deploy-file file="deploy.sh" artifact="${name}-jdbc" extension="jar"/>
+    <install-file file="install.sh" artifact="${name}-jdbc" extension="jar"/>
+  	
+    <!-- jdbc-local -->
+    <delete file="${target.dir}/jdbc-local.xml"/>
+    <ivy:makepom artifactName="jdbc-local" 
+                 conf="jdbc-local"
+                 ivyfile="${basedir}/ivy.xml" 
+                 pomfile="${target.dir}/jdbc-local.xml"
+                 headerFile="${tools.dir}/mvn/HEADER"
+                 templatefile="${tools.dir}/mvn/pom.template"
+                 printIvyInfo="false">
+      <mapping conf="jdbc-local" scope="runtime"/>
+    </ivy:makepom>
+
+    <deploy-file file="deploy.sh" artifact="jdbc-local" extension="rar"/>
+    <install-file file="install.sh" artifact="jdbc-local" extension="rar"/>
+
+    <!-- jdbc-xa -->
+    <delete file="${target.dir}/jdbc-xa.xml"/>
+    <ivy:makepom artifactName="jdbc-xa" 
+                 conf="jdbc-xa"
+                 ivyfile="${basedir}/ivy.xml" 
+                 pomfile="${target.dir}/jdbc-xa.xml"
+                 headerFile="${tools.dir}/mvn/HEADER"
+                 templatefile="${tools.dir}/mvn/pom.template"
+                 printIvyInfo="false">
+      <mapping conf="jdbc-xa" scope="runtime"/>
+    </ivy:makepom>
+
+    <deploy-file file="deploy.sh" artifact="jdbc-xa" extension="rar"/>
+    <install-file file="install.sh" artifact="jdbc-xa" extension="rar"/>
+
+    <!-- mail -->
+    <delete file="${target.dir}/mail.xml"/>
+    <ivy:makepom artifactName="mail" 
+                 conf="mail"
+                 ivyfile="${basedir}/ivy.xml" 
+                 pomfile="${target.dir}/mail.xml"
+                 headerFile="${tools.dir}/mvn/HEADER"
+                 templatefile="${tools.dir}/mvn/pom.template"
+                 printIvyInfo="false">
+      <mapping conf="mail" scope="runtime"/>
+    </ivy:makepom>
+
+    <deploy-file file="deploy.sh" artifact="mail" extension="rar"/>
+    <install-file file="install.sh" artifact="mail" extension="rar"/>
+
+    <chmod file="${target.dir}/deploy.sh" perm="755"/>
+    <chmod file="${target.dir}/install.sh" perm="755"/>
+
+  </target>
+
+</project>

Deleted: projects/jboss-jca/tags/IRONJACAMAR_1_0_0_CR3/core/src/main/java/org/jboss/jca/core/CoreBundle.java
===================================================================
--- projects/jboss-jca/branches/Branch_1_0/core/src/main/java/org/jboss/jca/core/CoreBundle.java	2011-06-28 12:27:24 UTC (rev 111682)
+++ projects/jboss-jca/tags/IRONJACAMAR_1_0_0_CR3/core/src/main/java/org/jboss/jca/core/CoreBundle.java	2011-06-29 14:01:33 UTC (rev 111689)
@@ -1,511 +0,0 @@
-/*
- * JBoss, Home of Professional Open Source.
- * Copyright 2011, Red Hat Middleware LLC, and individual contributors
- * as indicated by the @author tags. See the copyright.txt file in the
- * distribution for a full listing of individual contributors.
- *
- * This is free software; you can redistribute it and/or modify it
- * under the terms of the GNU Lesser General Public License as
- * published by the Free Software Foundation; either version 2.1 of
- * the License, or (at your option) any later version.
- *
- * This software is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public
- * License along with this software; if not, write to the Free
- * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
- * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
- */
-
-package org.jboss.jca.core;
-
-import org.jboss.logging.Message;
-import org.jboss.logging.MessageBundle;
-
-/**
- * The core bundle.
- *
- * Message ids ranging from 000000 to 009999 inclusively.
- */
- at MessageBundle(projectCode = "IJ")
-public interface CoreBundle
-{
-
-   // CACHED CONNECTION MANAGER (100)
-
-   /**
-    * Some connections were not closed
-    * @return The value
-    */
-   @Message(id = 151, value = "Some connections were not closed, see the log for the allocation stacktraces")
-   public String someConnectionsWereNotClosed();
-   
-   // WORK MANAGER (200)
-   
-   /**
-    * SecurityContext setup failed
-    * @param message The throwable description
-    * @return The value
-    */
-   @Message(id = 251, value = "SecurityContext setup failed: %s")
-   public String securityContextSetupFailed(String message);
-   
-   /**
-    * SecurityContext setup failed since CallbackSecurity was null
-    * @return The value
-    */
-   @Message(id = 252, value = "SecurityContext setup failed since CallbackSecurity was null")
-   public String securityContextSetupFailedSinceCallbackSecurityWasNull();
-   
-   /**
-    * Work is null
-    * @return The value
-    */
-   @Message(id = 253, value = "Work is null")
-   public String workIsNull();
-   
-   /**
-    * StartTimeout is negative
-    * @param startTimeout timeout of start
-    * @return The value
-    */
-   @Message(id = 254, value = "StartTimeout is negative: %s")
-   public String startTimeoutIsNegative(long startTimeout);
-   
-   /**
-    * Interrupted while requesting permit
-    * @return The value
-    */
-   @Message(id = 255, value = "Interrupted while requesting permit")
-   public String interruptedWhileRequestingPermit();
-   
-   /**
-    * Work execution context must be null because work instance implements WorkContextProvider
-    * @return The value
-    */
-   @Message(id = 256, value = "Work execution context must be null because " +
-         "work instance implements WorkContextProvider!")
-   public String workExecutionContextMustNullImplementsWorkContextProvider();
-
-   /**
-    * Run method is synchronized
-    * @param classname class name of work
-    * @return The value
-    */
-   @Message(id = 257, value = "%s: Run method is synchronized")
-   public String runMethodIsSynchronized(String classname);
-
-   /**
-    * Release method is synchronized
-    * @param classname class name of work
-    * @return The value
-    */
-   @Message(id = 258, value = "%s: Release method is synchronized")
-   public String releaseMethodIsSynchronized(String classname);
-
-   /**
-    * Unsupported WorkContext class
-    * @param classname class name of work
-    * @return The value
-    */
-   @Message(id = 259, value = "Unsupported WorkContext class: %s")
-   public String unsupportedWorkContextClass(String classname);
-
-   /**
-    * Duplicate TransactionWorkContext class
-    * @param classname class name of work
-    * @return The value
-    */
-   @Message(id = 260, value = "Duplicate TransactionWorkContext class: %s")
-   public String duplicateTransactionWorkContextClass(String classname);
-
-   /**
-    * Duplicate SecurityWorkContext class
-    * @param classname class name of work
-    * @return The value
-    */
-   @Message(id = 261, value = "Duplicate SecurityWorkContext class: %s")
-   public String duplicateSecurityWorkContextClass(String classname);
-
-   /**
-    * Duplicate HintWorkContext class
-    * @param classname class name of work
-    * @return The value
-    */
-   @Message(id = 262, value = "Duplicate HintWorkContext class: %s")
-   public String duplicateHintWorkContextClass(String classname);
-   
-   
-   // CONNECTION MANAGER LISTENER (300)
-
-   /**
-    * Not correct type in class cast
-    * @param classname class name of work
-    * @return The value
-    */
-   @Message(id = 351, value = "Not correct type: %s")
-   public String notCorrectTypeWhenClassCast(String classname);
-
-   /**
-    * Failure to delist resource
-    * @param obj listener instance
-    * @return The value
-    */
-   @Message(id = 352, value = "Failure to delist resource: %s")
-   public String failureDelistResource(Object obj);
-   
-   /**
-    * Error in delist
-    * @return The value
-    */
-   @Message(id = 353, value = "Error in delist!")
-   public String errorInDelist();
-   
-   /**
-    * Unfinished local transaction - error getting local transaction from
-    * @param obj listener instance
-    * @return The value
-    */
-   @Message(id = 354, value = "Unfinished local transaction - error getting local transaction from %s")
-   public String unfinishedLocalTransaction(Object obj);
-   
-   /**
-    * Unfinished local transaction but managed connection does not provide a local transaction
-    * @param obj listener instance
-    * @return The value
-    */
-   @Message(id = 355, value = "Unfinished local transaction but managed connection does not " +
-                  "provide a local transaction: %s")
-   public String unfinishedLocalTransactionNotProvideLocalTransaction(Object obj);
-
-   /**
-    * System exception when failedToEnlist equals currentTx
-    * @param throwable throwable instance
-    * @param currentTx current transaction instance
-    * @return The value
-    */
-   @Message(id = 356, value = "%s tx=%s")
-   public String systemExceptionWhenFailedToEnlistEqualsCurrentTx(Object throwable, Object currentTx);
-   
-   
-   // CONNECTION MANAGER (400)
-
-   /**
-    * The connection manager is shutdown 
-    * @param jndiName jndi name
-    * @return The value
-    */
-   @Message(id = 451, value = "The connection manager is shutdown: %s")
-   public String connectionManagerIsShutdown(String jndiName);
-
-   /**
-    * Method getManagedConnection retry wait was interrupted
-    * @param jndiName jndi name
-    * @return The value
-    */
-   @Message(id = 452, value = "Method getManagedConnection retry wait was interrupted: %s")
-   public String getManagedConnectionRetryWaitInterrupted(String jndiName);
-   
-   /**
-    * Unable to get managed connection for 
-    * @param jndiName jndi name
-    * @return The value
-    */
-   @Message(id = 453, value = "Unable to get managed connection for %s")
-   public String unableGetManagedConnection(String jndiName);
-   
-   /**
-    * You are trying to use a connection factory that has been shut down ManagedConnectionFactory is null
-    * @return The value
-    */
-   @Message(id = 454, value = "You are trying to use a connection factory that has been shut down: " +
-         "ManagedConnectionFactory is null.")
-   public String tryingUseConnectionFactoryShutDown();
-   
-   /**
-    * Wrong ManagedConnectionFactory sent to allocateConnection
-    * @return The value
-    */
-   @Message(id = 455, value = "Wrong ManagedConnectionFactory sent to allocateConnection!")
-   public String wrongManagedConnectionFactorySentToAllocateConnection();
-
-   /**
-    * Unchecked throwable in ManagedConnection.getConnection()
-    * @param obj ConnectionListener instance
-    * @return The value
-    */
-   @Message(id = 456, value = "Unchecked throwable in ManagedConnection.getConnection() cl=%s")
-   public String uncheckedThrowableInManagedConnectionGetConnection(Object obj);
-
-   /**
-    * Unchecked throwable in managedConnectionReconnected()
-    * @param obj ConnectionListener instance
-    * @return The value
-    */
-   @Message(id = 457, value = "Unchecked throwable in managedConnectionReconnected() cl=%s")
-   public String uncheckedThrowableInManagedConnectionReconnected(Object obj);
-   
-   /**
-    * This method is not supported
-    * @return The value
-    */
-   @Message(id = 458, value = "This method is not supported")
-   public String thisMethodNotSupported();
-   
-   /**
-    * Transaction is not active
-    * @param obj transaction instance
-    * @return The value
-    */
-   @Message(id = 459, value = "Transaction is not active: tx=%s")
-   public String transactionNotActive(Object obj);
-   
-   /**
-    * Error checking for a transaction.
-    * @return The value
-    */
-   @Message(id = 460, value = "Error checking for a transaction.")
-   public String errorCheckingForTransaction();
-   
-   /**
-    * Could not enlist in transaction on entering meta-aware object
-    * @return The value
-    */
-   @Message(id = 461, value = "Could not enlist in transaction on entering meta-aware object!")
-   public String notEnlistInTransactionOnEnteringMetaAwareObject();
-   
-   /**
-    * Could not delist resource, probably a transaction rollback
-    * @return The value
-    */
-   @Message(id = 462, value = "Could not delist resource, probably a transaction rollback?")
-   public String couldNotDelistResourceThenTransactionRollback();
-   
-   /**
-    * Unable to set XAResource transaction timeout
-    * @param jndiName jndi name
-    * @return The value
-    */
-   @Message(id = 463, value = "Unable to set XAResource transaction timeout: %s")
-   public String unableSetXAResourceTransactionTimeout(String jndiName);
-      
-   // TRANSACTION SYNCHRONIZER (500)
-   
-   // POOL MANAGER (600)
-   
-   /**
-    * Unable to get managed connection pool
-    * @return The value
-    */
-   @Message(id = 651, value = "Unable to get managed connection pool")
-   public String unableGetManagedConnectionPool();
-   
-   /**
-    * Unable to obtain lock
-    * @return The value
-    */
-   @Message(id = 652, value = "Unable to obtain lock")
-   public String unableObtainLock();
-   
-   /**
-    * The pool has been shutdown
-    * @return The value
-    */
-   @Message(id = 653, value = "The pool has been shutdown")
-   public String thePoolHasBeenShutdown();
-
-   /**
-    * Interrupted while requesting connection
-    * @param end time of end
-    * @return The value
-    */
-   @Message(id = 654, value = "Interrupted while requesting connection! Waited %s ms")
-   public String interruptedWhileRequestingConnection(long end);
-
-   /**
-    * No ManagedConnections available within configured blocking timeout
-    * @param blockingTimeout timeout of blocking
-    * @return The value
-    */
-   @Message(id = 655, value = "No ManagedConnections available within configured blocking timeout (  %s [ms] )")
-   public String noMManagedConnectionsAvailableWithinConfiguredBlockingTimeout(long blockingTimeout);
-
-   /**
-    * This should never happen
-    * @return The value
-    */
-   @Message(id = 656, value = "This should never happen")
-   public String shouldNeverHappen();
-
-   /**
-    * Interrupted while requesting permit
-    * @param end time of end
-    * @return The value
-    */
-   @Message(id = 657, value = "Interrupted while requesting permit! Waited %s ms")
-   public String interruptedWhileRequestingPermit(long end);
-   
-   /**
-    * Unexpected throwable while trying to create a connection:
-    * @param obj connection listener instance
-    * @return The value
-    */
-   @Message(id = 658, value = "Unexpected throwable while trying to create a connection: %s")
-   public String unexpectedThrowableWhileTryingCreateConnection(Object obj);
-   
-   // NAMING (700)
-
-   /**
-    * Deployment failed since jndi name is already deployed
-    * @param className class name
-    * @param jndiName jndi name
-    * @return The value
-    */
-   @Message(id = 751, value = "Deployment %s failed, %s is already deployed")
-   public String deploymentFailedSinceJndiNameHasDeployed(String className, String jndiName);
-   
-   // RESOURCE ADPATER REPOSITORY (800)
-   
-   /**
-    * ResourceAdapter instance not active
-    * @return The value
-    */
-   @Message(id = 851, value = "ResourceAdapter instance not active")
-   public String resourceAdapterInstanceNotActive();
-   
-   /**
-    * Validation exception
-    * @return The value
-    */
-   @Message(id = 852, value = "Validation exception")
-   public String validationException();
-   
-   /**
-    * The activation spec class is no longer available
-    * @return The value
-    */
-   @Message(id = 853, value = "The activation spec class is no longer available")
-   public String activationSpecClassNotAvailable();
-   
-   /**
-    * The resource adapter is no longer available
-    * @return The value
-    */
-   @Message(id = 854, value = "The resource adapter is no longer available")
-   public String resourceAdapterNotAvailable();
-   
-   /**
-    * Key isn't registered
-    * @param key key name
-    * @return The value
-    */
-   @Message(id = 855, value = "%s isn't registered")
-   public String keyNotRegistered(String key);
-   
-   /**
-    * Unable to lookup resource adapter in MDR
-    * @param uniqueId key name
-    * @return The value
-    */
-   @Message(id = 856, value = "Unable to lookup resource adapter in MDR: %s")
-   public String unableLookupResourceAdapterInMDR(String uniqueId);
-   
-   // RECOVERY (900)
-   
-   /**
-    * Error during connection close
-    * @return The value
-    */
-   @Message(id = 951, value = "Error during connection close")
-   public String errorDuringConnectionClose();
-   
-   // SECURITY (1000)
-
-   
-   // TRANSCATION (1100)
-
-   /**
-    * Trying to start a new tx when old is not complete
-    * @param oldXid old xid
-    * @param newXid new xid
-    * @param flags flags
-    * @return The value
-    */
-   @Message(id = 1151, value = "Trying to start a new tx when old is not complete! old: %s, new %s, flags %s")
-   public String tryingStartNewTxWhenOldNotComplete(Object oldXid, Object newXid, int flags);
-
-   /**
-    * Trying to start a new tx with wrong flags
-    * @param xid xid
-    * @param flags flags
-    * @return The value
-    */
-   @Message(id = 1152, value = "Trying to start a new tx with wrong flags! new %s, flags %s")
-   public String tryingStartNewTxWithWrongFlags(Object xid, int flags);
-   
-   /**
-    * Error trying to start local tx
-    * @return The value
-    */
-   @Message(id = 1153, value = "Error trying to start local tx")
-   public String errorTryingStartLocalTx();
-   
-   /**
-    * Throwable trying to start local transaction
-    * @return The value
-    */
-   @Message(id = 1154, value = "Throwable trying to start local transaction!")
-   public String throwableTryingStartLocalTx();
-
-   /**
-    * Wrong xid in commit
-    * @param currentXid current xid
-    * @param xid xid
-    * @return The value
-    */
-   @Message(id = 1155, value = "Wrong xid in commit: expected: %s, got: %s")
-   public String wrongXidInCommit(Object currentXid, Object xid);
-   
-   /**
-    * Could not commit local tx
-    * @return The value
-    */
-   @Message(id = 1156, value = "Could not commit local tx")
-   public String couldNotCommitLocalTx();
-   
-   /**
-    * Forget not supported in local tx
-    * @return The value
-    */
-   @Message(id = 1157, value = "Forget not supported in local tx")
-   public String forgetNotSupportedInLocalTx();
-   
-   /**
-    * No recover with local-tx only resource managers
-    * @return The value
-    */
-   @Message(id = 1158, value = "No recover with local-tx only resource managers")
-   public String noRecoverWithLocalTxResourceManagers();
-   
-   /**
-    * Wrong xid in rollback
-    * @param currentXid current xid
-    * @param xid xid
-    * @return The value
-    */
-   @Message(id = 1159, value = "Wrong xid in rollback: expected: %s, got: %s")
-   public String wrongXidInRollback(Object currentXid, Object xid);
-
-   
-   /**
-    * Could not rollback local tx
-    * @return The value
-    */
-   @Message(id = 1160, value = "Could not rollback local tx")
-   public String couldNotRollbackLocalTx();
-   
-   // METADATA REPOSITORY (1200)
-}

Copied: projects/jboss-jca/tags/IRONJACAMAR_1_0_0_CR3/core/src/main/java/org/jboss/jca/core/CoreBundle.java (from rev 111685, projects/jboss-jca/branches/Branch_1_0/core/src/main/java/org/jboss/jca/core/CoreBundle.java)
===================================================================
--- projects/jboss-jca/tags/IRONJACAMAR_1_0_0_CR3/core/src/main/java/org/jboss/jca/core/CoreBundle.java	                        (rev 0)
+++ projects/jboss-jca/tags/IRONJACAMAR_1_0_0_CR3/core/src/main/java/org/jboss/jca/core/CoreBundle.java	2011-06-29 14:01:33 UTC (rev 111689)
@@ -0,0 +1,517 @@
+/*
+ * JBoss, Home of Professional Open Source.
+ * Copyright 2011, Red Hat Middleware LLC, and individual contributors
+ * as indicated by the @author tags. See the copyright.txt file in the
+ * distribution for a full listing of individual contributors.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ */
+
+package org.jboss.jca.core;
+
+import org.jboss.logging.Message;
+import org.jboss.logging.MessageBundle;
+
+/**
+ * The core bundle.
+ *
+ * Message ids ranging from 000000 to 009999 inclusively.
+ */
+ at MessageBundle(projectCode = "IJ")
+public interface CoreBundle
+{
+
+   // CACHED CONNECTION MANAGER (100)
+
+   /**
+    * Some connections were not closed
+    * @return The value
+    */
+   @Message(id = 151, value = "Some connections were not closed, see the log for the allocation stacktraces")
+   public String someConnectionsWereNotClosed();
+   
+   // WORK MANAGER (200)
+   
+   /**
+    * SecurityContext setup failed
+    * @param message The throwable description
+    * @return The value
+    */
+   @Message(id = 251, value = "SecurityContext setup failed: %s")
+   public String securityContextSetupFailed(String message);
+   
+   /**
+    * SecurityContext setup failed since CallbackSecurity was null
+    * @return The value
+    */
+   @Message(id = 252, value = "SecurityContext setup failed since CallbackSecurity was null")
+   public String securityContextSetupFailedSinceCallbackSecurityWasNull();
+   
+   /**
+    * Work is null
+    * @return The value
+    */
+   @Message(id = 253, value = "Work is null")
+   public String workIsNull();
+   
+   /**
+    * StartTimeout is negative
+    * @param startTimeout timeout of start
+    * @return The value
+    */
+   @Message(id = 254, value = "StartTimeout is negative: %s")
+   public String startTimeoutIsNegative(long startTimeout);
+   
+   /**
+    * Interrupted while requesting permit
+    * @return The value
+    */
+   @Message(id = 255, value = "Interrupted while requesting permit")
+   public String interruptedWhileRequestingPermit();
+   
+   /**
+    * Work execution context must be null because work instance implements WorkContextProvider
+    * @return The value
+    */
+   @Message(id = 256, value = "Work execution context must be null because " +
+         "work instance implements WorkContextProvider!")
+   public String workExecutionContextMustNullImplementsWorkContextProvider();
+
+   /**
+    * Run method is synchronized
+    * @param classname class name of work
+    * @return The value
+    */
+   @Message(id = 257, value = "%s: Run method is synchronized")
+   public String runMethodIsSynchronized(String classname);
+
+   /**
+    * Release method is synchronized
+    * @param classname class name of work
+    * @return The value
+    */
+   @Message(id = 258, value = "%s: Release method is synchronized")
+   public String releaseMethodIsSynchronized(String classname);
+
+   /**
+    * Unsupported WorkContext class
+    * @param classname class name of work
+    * @return The value
+    */
+   @Message(id = 259, value = "Unsupported WorkContext class: %s")
+   public String unsupportedWorkContextClass(String classname);
+
+   /**
+    * Duplicate TransactionWorkContext class
+    * @param classname class name of work
+    * @return The value
+    */
+   @Message(id = 260, value = "Duplicate TransactionWorkContext class: %s")
+   public String duplicateTransactionWorkContextClass(String classname);
+
+   /**
+    * Duplicate SecurityWorkContext class
+    * @param classname class name of work
+    * @return The value
+    */
+   @Message(id = 261, value = "Duplicate SecurityWorkContext class: %s")
+   public String duplicateSecurityWorkContextClass(String classname);
+
+   /**
+    * Duplicate HintWorkContext class
+    * @param classname class name of work
+    * @return The value
+    */
+   @Message(id = 262, value = "Duplicate HintWorkContext class: %s")
+   public String duplicateHintWorkContextClass(String classname);
+   
+   /**
+    * WorkManager shutdown
+    * @return The value
+    */
+   @Message(id = 263, value = "WorkManager is shutting down")
+   public String workmanagerShutdown();
+   
+   // CONNECTION MANAGER LISTENER (300)
+
+   /**
+    * Not correct type in class cast
+    * @param classname class name of work
+    * @return The value
+    */
+   @Message(id = 351, value = "Not correct type: %s")
+   public String notCorrectTypeWhenClassCast(String classname);
+
+   /**
+    * Failure to delist resource
+    * @param obj listener instance
+    * @return The value
+    */
+   @Message(id = 352, value = "Failure to delist resource: %s")
+   public String failureDelistResource(Object obj);
+   
+   /**
+    * Error in delist
+    * @return The value
+    */
+   @Message(id = 353, value = "Error in delist!")
+   public String errorInDelist();
+   
+   /**
+    * Unfinished local transaction - error getting local transaction from
+    * @param obj listener instance
+    * @return The value
+    */
+   @Message(id = 354, value = "Unfinished local transaction - error getting local transaction from %s")
+   public String unfinishedLocalTransaction(Object obj);
+   
+   /**
+    * Unfinished local transaction but managed connection does not provide a local transaction
+    * @param obj listener instance
+    * @return The value
+    */
+   @Message(id = 355, value = "Unfinished local transaction but managed connection does not " +
+                  "provide a local transaction: %s")
+   public String unfinishedLocalTransactionNotProvideLocalTransaction(Object obj);
+
+   /**
+    * System exception when failedToEnlist equals currentTx
+    * @param throwable throwable instance
+    * @param currentTx current transaction instance
+    * @return The value
+    */
+   @Message(id = 356, value = "%s tx=%s")
+   public String systemExceptionWhenFailedToEnlistEqualsCurrentTx(Object throwable, Object currentTx);
+   
+   
+   // CONNECTION MANAGER (400)
+
+   /**
+    * The connection manager is shutdown 
+    * @param jndiName jndi name
+    * @return The value
+    */
+   @Message(id = 451, value = "The connection manager is shutdown: %s")
+   public String connectionManagerIsShutdown(String jndiName);
+
+   /**
+    * Method getManagedConnection retry wait was interrupted
+    * @param jndiName jndi name
+    * @return The value
+    */
+   @Message(id = 452, value = "Method getManagedConnection retry wait was interrupted: %s")
+   public String getManagedConnectionRetryWaitInterrupted(String jndiName);
+   
+   /**
+    * Unable to get managed connection for 
+    * @param jndiName jndi name
+    * @return The value
+    */
+   @Message(id = 453, value = "Unable to get managed connection for %s")
+   public String unableGetManagedConnection(String jndiName);
+   
+   /**
+    * You are trying to use a connection factory that has been shut down ManagedConnectionFactory is null
+    * @return The value
+    */
+   @Message(id = 454, value = "You are trying to use a connection factory that has been shut down: " +
+         "ManagedConnectionFactory is null.")
+   public String tryingUseConnectionFactoryShutDown();
+   
+   /**
+    * Wrong ManagedConnectionFactory sent to allocateConnection
+    * @return The value
+    */
+   @Message(id = 455, value = "Wrong ManagedConnectionFactory sent to allocateConnection!")
+   public String wrongManagedConnectionFactorySentToAllocateConnection();
+
+   /**
+    * Unchecked throwable in ManagedConnection.getConnection()
+    * @param obj ConnectionListener instance
+    * @return The value
+    */
+   @Message(id = 456, value = "Unchecked throwable in ManagedConnection.getConnection() cl=%s")
+   public String uncheckedThrowableInManagedConnectionGetConnection(Object obj);
+
+   /**
+    * Unchecked throwable in managedConnectionReconnected()
+    * @param obj ConnectionListener instance
+    * @return The value
+    */
+   @Message(id = 457, value = "Unchecked throwable in managedConnectionReconnected() cl=%s")
+   public String uncheckedThrowableInManagedConnectionReconnected(Object obj);
+   
+   /**
+    * This method is not supported
+    * @return The value
+    */
+   @Message(id = 458, value = "This method is not supported")
+   public String thisMethodNotSupported();
+   
+   /**
+    * Transaction is not active
+    * @param obj transaction instance
+    * @return The value
+    */
+   @Message(id = 459, value = "Transaction is not active: tx=%s")
+   public String transactionNotActive(Object obj);
+   
+   /**
+    * Error checking for a transaction.
+    * @return The value
+    */
+   @Message(id = 460, value = "Error checking for a transaction.")
+   public String errorCheckingForTransaction();
+   
+   /**
+    * Could not enlist in transaction on entering meta-aware object
+    * @return The value
+    */
+   @Message(id = 461, value = "Could not enlist in transaction on entering meta-aware object!")
+   public String notEnlistInTransactionOnEnteringMetaAwareObject();
+   
+   /**
+    * Could not delist resource, probably a transaction rollback
+    * @return The value
+    */
+   @Message(id = 462, value = "Could not delist resource, probably a transaction rollback?")
+   public String couldNotDelistResourceThenTransactionRollback();
+   
+   /**
+    * Unable to set XAResource transaction timeout
+    * @param jndiName jndi name
+    * @return The value
+    */
+   @Message(id = 463, value = "Unable to set XAResource transaction timeout: %s")
+   public String unableSetXAResourceTransactionTimeout(String jndiName);
+      
+   // TRANSACTION SYNCHRONIZER (500)
+   
+   // POOL MANAGER (600)
+   
+   /**
+    * Unable to get managed connection pool
+    * @return The value
+    */
+   @Message(id = 651, value = "Unable to get managed connection pool")
+   public String unableGetManagedConnectionPool();
+   
+   /**
+    * Unable to obtain lock
+    * @return The value
+    */
+   @Message(id = 652, value = "Unable to obtain lock")
+   public String unableObtainLock();
+   
+   /**
+    * The pool has been shutdown
+    * @return The value
+    */
+   @Message(id = 653, value = "The pool has been shutdown")
+   public String thePoolHasBeenShutdown();
+
+   /**
+    * Interrupted while requesting connection
+    * @param end time of end
+    * @return The value
+    */
+   @Message(id = 654, value = "Interrupted while requesting connection! Waited %s ms")
+   public String interruptedWhileRequestingConnection(long end);
+
+   /**
+    * No ManagedConnections available within configured blocking timeout
+    * @param blockingTimeout timeout of blocking
+    * @return The value
+    */
+   @Message(id = 655, value = "No ManagedConnections available within configured blocking timeout (  %s [ms] )")
+   public String noMManagedConnectionsAvailableWithinConfiguredBlockingTimeout(long blockingTimeout);
+
+   /**
+    * This should never happen
+    * @return The value
+    */
+   @Message(id = 656, value = "This should never happen")
+   public String shouldNeverHappen();
+
+   /**
+    * Interrupted while requesting permit
+    * @param end time of end
+    * @return The value
+    */
+   @Message(id = 657, value = "Interrupted while requesting permit! Waited %s ms")
+   public String interruptedWhileRequestingPermit(long end);
+   
+   /**
+    * Unexpected throwable while trying to create a connection:
+    * @param obj connection listener instance
+    * @return The value
+    */
+   @Message(id = 658, value = "Unexpected throwable while trying to create a connection: %s")
+   public String unexpectedThrowableWhileTryingCreateConnection(Object obj);
+   
+   // NAMING (700)
+
+   /**
+    * Deployment failed since jndi name is already deployed
+    * @param className class name
+    * @param jndiName jndi name
+    * @return The value
+    */
+   @Message(id = 751, value = "Deployment %s failed, %s is already deployed")
+   public String deploymentFailedSinceJndiNameHasDeployed(String className, String jndiName);
+   
+   // RESOURCE ADPATER REPOSITORY (800)
+   
+   /**
+    * ResourceAdapter instance not active
+    * @return The value
+    */
+   @Message(id = 851, value = "ResourceAdapter instance not active")
+   public String resourceAdapterInstanceNotActive();
+   
+   /**
+    * Validation exception
+    * @return The value
+    */
+   @Message(id = 852, value = "Validation exception")
+   public String validationException();
+   
+   /**
+    * The activation spec class is no longer available
+    * @return The value
+    */
+   @Message(id = 853, value = "The activation spec class is no longer available")
+   public String activationSpecClassNotAvailable();
+   
+   /**
+    * The resource adapter is no longer available
+    * @return The value
+    */
+   @Message(id = 854, value = "The resource adapter is no longer available")
+   public String resourceAdapterNotAvailable();
+   
+   /**
+    * Key isn't registered
+    * @param key key name
+    * @return The value
+    */
+   @Message(id = 855, value = "%s isn't registered")
+   public String keyNotRegistered(String key);
+   
+   /**
+    * Unable to lookup resource adapter in MDR
+    * @param uniqueId key name
+    * @return The value
+    */
+   @Message(id = 856, value = "Unable to lookup resource adapter in MDR: %s")
+   public String unableLookupResourceAdapterInMDR(String uniqueId);
+   
+   // RECOVERY (900)
+   
+   /**
+    * Error during connection close
+    * @return The value
+    */
+   @Message(id = 951, value = "Error during connection close")
+   public String errorDuringConnectionClose();
+   
+   // SECURITY (1000)
+
+   
+   // TRANSCATION (1100)
+
+   /**
+    * Trying to start a new tx when old is not complete
+    * @param oldXid old xid
+    * @param newXid new xid
+    * @param flags flags
+    * @return The value
+    */
+   @Message(id = 1151, value = "Trying to start a new tx when old is not complete! old: %s, new %s, flags %s")
+   public String tryingStartNewTxWhenOldNotComplete(Object oldXid, Object newXid, int flags);
+
+   /**
+    * Trying to start a new tx with wrong flags
+    * @param xid xid
+    * @param flags flags
+    * @return The value
+    */
+   @Message(id = 1152, value = "Trying to start a new tx with wrong flags! new %s, flags %s")
+   public String tryingStartNewTxWithWrongFlags(Object xid, int flags);
+   
+   /**
+    * Error trying to start local tx
+    * @return The value
+    */
+   @Message(id = 1153, value = "Error trying to start local tx")
+   public String errorTryingStartLocalTx();
+   
+   /**
+    * Throwable trying to start local transaction
+    * @return The value
+    */
+   @Message(id = 1154, value = "Throwable trying to start local transaction!")
+   public String throwableTryingStartLocalTx();
+
+   /**
+    * Wrong xid in commit
+    * @param currentXid current xid
+    * @param xid xid
+    * @return The value
+    */
+   @Message(id = 1155, value = "Wrong xid in commit: expected: %s, got: %s")
+   public String wrongXidInCommit(Object currentXid, Object xid);
+   
+   /**
+    * Could not commit local tx
+    * @return The value
+    */
+   @Message(id = 1156, value = "Could not commit local tx")
+   public String couldNotCommitLocalTx();
+   
+   /**
+    * Forget not supported in local tx
+    * @return The value
+    */
+   @Message(id = 1157, value = "Forget not supported in local tx")
+   public String forgetNotSupportedInLocalTx();
+   
+   /**
+    * No recover with local-tx only resource managers
+    * @return The value
+    */
+   @Message(id = 1158, value = "No recover with local-tx only resource managers")
+   public String noRecoverWithLocalTxResourceManagers();
+   
+   /**
+    * Wrong xid in rollback
+    * @param currentXid current xid
+    * @param xid xid
+    * @return The value
+    */
+   @Message(id = 1159, value = "Wrong xid in rollback: expected: %s, got: %s")
+   public String wrongXidInRollback(Object currentXid, Object xid);
+
+   
+   /**
+    * Could not rollback local tx
+    * @return The value
+    */
+   @Message(id = 1160, value = "Could not rollback local tx")
+   public String couldNotRollbackLocalTx();
+   
+   // METADATA REPOSITORY (1200)
+}

Deleted: projects/jboss-jca/tags/IRONJACAMAR_1_0_0_CR3/core/src/main/java/org/jboss/jca/core/api/workmanager/WorkManager.java
===================================================================
--- projects/jboss-jca/branches/Branch_1_0/core/src/main/java/org/jboss/jca/core/api/workmanager/WorkManager.java	2011-06-28 12:27:24 UTC (rev 111682)
+++ projects/jboss-jca/tags/IRONJACAMAR_1_0_0_CR3/core/src/main/java/org/jboss/jca/core/api/workmanager/WorkManager.java	2011-06-29 14:01:33 UTC (rev 111689)
@@ -1,102 +0,0 @@
-/*
- * JBoss, Home of Professional Open Source.
- * Copyright 2008-2009, Red Hat Middleware LLC, and individual contributors
- * as indicated by the @author tags. See the copyright.txt file in the
- * distribution for a full listing of individual contributors.
- *
- * This is free software; you can redistribute it and/or modify it
- * under the terms of the GNU Lesser General Public License as
- * published by the Free Software Foundation; either version 2.1 of
- * the License, or (at your option) any later version.
- *
- * This software is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public
- * License along with this software; if not, write to the Free
- * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
- * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
- */
-
-package org.jboss.jca.core.api.workmanager;
-
-import org.jboss.jca.core.spi.security.Callback;
-import org.jboss.jca.core.spi.transaction.xa.XATerminator;
-
-import org.jboss.threads.BlockingExecutor;
-
-/**
- * The JBoss specific work manager interface
- */
-public interface WorkManager extends javax.resource.spi.work.WorkManager, Cloneable
-{
-   /**
-    * Retrieve the executor for short running tasks
-    * @return The executor
-    */
-   public BlockingExecutor getShortRunningThreadPool();
-
-   /**
-    * Set the executor for short running tasks
-    * @param executor The executor
-    */
-   public void setShortRunningThreadPool(BlockingExecutor executor);
-
-   /**
-    * Retrieve the executor for long running tasks
-    * @return The executor
-    */
-   public BlockingExecutor getLongRunningThreadPool();
-
-   /**
-    * Set the executor for long running tasks
-    * @param executor The executor
-    */
-   public void setLongRunningThreadPool(BlockingExecutor executor);
-
-   /**
-    * Get the XATerminator
-    * @return The XA terminator
-    */
-   public XATerminator getXATerminator();
-
-   /**
-    * Set the XATerminator
-    * @param xaTerminator The XA terminator
-    */
-   public void setXATerminator(XATerminator xaTerminator);
-
-   /**
-    * Is spec compliant
-    * @return True if spec compliant; otherwise false
-    */
-   public boolean isSpecCompliant();
-
-   /**
-    * Set spec compliant flag
-    * @param v The value
-    */
-   public void setSpecCompliant(boolean v);
-
-   /**
-    * Get the callback security module
-    * @return The value
-    */
-   public Callback getCallbackSecurity();
-
-   /**
-    * Set callback security module
-    * @param v The value
-    */
-   public void setCallbackSecurity(Callback v);
-
-   /**
-    * Clone the WorkManager implementation
-    * @return A copy of the implementation
-    * @exception CloneNotSupportedException Thrown if the copy operation isn't supported
-    *  
-    */
-   public WorkManager clone() throws CloneNotSupportedException;
-}

Copied: projects/jboss-jca/tags/IRONJACAMAR_1_0_0_CR3/core/src/main/java/org/jboss/jca/core/api/workmanager/WorkManager.java (from rev 111685, projects/jboss-jca/branches/Branch_1_0/core/src/main/java/org/jboss/jca/core/api/workmanager/WorkManager.java)
===================================================================
--- projects/jboss-jca/tags/IRONJACAMAR_1_0_0_CR3/core/src/main/java/org/jboss/jca/core/api/workmanager/WorkManager.java	                        (rev 0)
+++ projects/jboss-jca/tags/IRONJACAMAR_1_0_0_CR3/core/src/main/java/org/jboss/jca/core/api/workmanager/WorkManager.java	2011-06-29 14:01:33 UTC (rev 111689)
@@ -0,0 +1,103 @@
+/*
+ * JBoss, Home of Professional Open Source.
+ * Copyright 2008-2009, Red Hat Middleware LLC, and individual contributors
+ * as indicated by the @author tags. See the copyright.txt file in the
+ * distribution for a full listing of individual contributors.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ */
+
+package org.jboss.jca.core.api.workmanager;
+
+import org.jboss.jca.core.spi.graceful.GracefulShutdown;
+import org.jboss.jca.core.spi.security.Callback;
+import org.jboss.jca.core.spi.transaction.xa.XATerminator;
+
+import org.jboss.threads.BlockingExecutor;
+
+/**
+ * The JBoss specific work manager interface
+ */
+public interface WorkManager extends javax.resource.spi.work.WorkManager, GracefulShutdown, Cloneable
+{
+   /**
+    * Retrieve the executor for short running tasks
+    * @return The executor
+    */
+   public BlockingExecutor getShortRunningThreadPool();
+
+   /**
+    * Set the executor for short running tasks
+    * @param executor The executor
+    */
+   public void setShortRunningThreadPool(BlockingExecutor executor);
+
+   /**
+    * Retrieve the executor for long running tasks
+    * @return The executor
+    */
+   public BlockingExecutor getLongRunningThreadPool();
+
+   /**
+    * Set the executor for long running tasks
+    * @param executor The executor
+    */
+   public void setLongRunningThreadPool(BlockingExecutor executor);
+
+   /**
+    * Get the XATerminator
+    * @return The XA terminator
+    */
+   public XATerminator getXATerminator();
+
+   /**
+    * Set the XATerminator
+    * @param xaTerminator The XA terminator
+    */
+   public void setXATerminator(XATerminator xaTerminator);
+
+   /**
+    * Is spec compliant
+    * @return True if spec compliant; otherwise false
+    */
+   public boolean isSpecCompliant();
+
+   /**
+    * Set spec compliant flag
+    * @param v The value
+    */
+   public void setSpecCompliant(boolean v);
+
+   /**
+    * Get the callback security module
+    * @return The value
+    */
+   public Callback getCallbackSecurity();
+
+   /**
+    * Set callback security module
+    * @param v The value
+    */
+   public void setCallbackSecurity(Callback v);
+
+   /**
+    * Clone the WorkManager implementation
+    * @return A copy of the implementation
+    * @exception CloneNotSupportedException Thrown if the copy operation isn't supported
+    *  
+    */
+   public WorkManager clone() throws CloneNotSupportedException;
+}

Deleted: projects/jboss-jca/tags/IRONJACAMAR_1_0_0_CR3/core/src/main/java/org/jboss/jca/core/workmanager/WorkManagerImpl.java
===================================================================
--- projects/jboss-jca/branches/Branch_1_0/core/src/main/java/org/jboss/jca/core/workmanager/WorkManagerImpl.java	2011-06-28 12:27:24 UTC (rev 111682)
+++ projects/jboss-jca/tags/IRONJACAMAR_1_0_0_CR3/core/src/main/java/org/jboss/jca/core/workmanager/WorkManagerImpl.java	2011-06-29 14:01:33 UTC (rev 111689)
@@ -1,890 +0,0 @@
-/*
- * JBoss, Home of Professional Open Source.
- * Copyright 2010, Red Hat Middleware LLC, and individual contributors
- * as indicated by the @author tags. See the copyright.txt file in the
- * distribution for a full listing of individual contributors.
- *
- * This is free software; you can redistribute it and/or modify it
- * under the terms of the GNU Lesser General Public License as
- * published by the Free Software Foundation; either version 2.1 of
- * the License, or (at your option) any later version.
- *
- * This software is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public
- * License along with this software; if not, write to the Free
- * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
- * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
- */
-
-package org.jboss.jca.core.workmanager;
-
-import org.jboss.jca.core.CoreBundle;
-import org.jboss.jca.core.CoreLogger;
-import org.jboss.jca.core.api.workmanager.WorkManager;
-import org.jboss.jca.core.spi.security.Callback;
-import org.jboss.jca.core.spi.transaction.xa.XATerminator;
-
-import java.lang.reflect.Method;
-import java.util.HashSet;
-import java.util.Iterator;
-import java.util.List;
-import java.util.Set;
-import java.util.concurrent.CountDownLatch;
-import java.util.concurrent.RejectedExecutionException;
-import java.util.concurrent.TimeUnit;
-
-import javax.resource.spi.work.ExecutionContext;
-import javax.resource.spi.work.HintsContext;
-import javax.resource.spi.work.SecurityContext;
-import javax.resource.spi.work.TransactionContext;
-import javax.resource.spi.work.Work;
-import javax.resource.spi.work.WorkCompletedException;
-import javax.resource.spi.work.WorkContext;
-import javax.resource.spi.work.WorkContextErrorCodes;
-import javax.resource.spi.work.WorkContextLifecycleListener;
-import javax.resource.spi.work.WorkContextProvider;
-import javax.resource.spi.work.WorkEvent;
-import javax.resource.spi.work.WorkException;
-import javax.resource.spi.work.WorkListener;
-import javax.resource.spi.work.WorkRejectedException;
-
-import org.jboss.logging.Logger;
-import org.jboss.logging.Messages;
-import org.jboss.threads.BlockingExecutor;
-import org.jboss.threads.ExecutionTimedOutException;
-
-/**
- * The work manager implementation.
- * 
- * @author <a href="mailto:jesper.pedersen at jboss.org">Jesper Pedersen</a>
- */
-public class WorkManagerImpl implements WorkManager
-{
-   /** The logger */
-   private static CoreLogger log = Logger.getMessageLogger(CoreLogger.class, WorkManagerImpl.class.getName());
-   
-   /** Whether trace is enabled */
-   private static boolean trace = log.isTraceEnabled();
-   
-   /** The bundle */
-   private static CoreBundle bundle = Messages.getBundle(CoreBundle.class);
-   
-   /**Work run method name*/
-   private static final String RUN_METHOD_NAME = "run";
-   
-   /**Work release method name*/
-   private static final String RELEASE_METHOD_NAME = "release";
-
-   /**Supported work context set*/
-   private static final Set<Class<? extends WorkContext>> SUPPORTED_WORK_CONTEXT_CLASSES = 
-       new HashSet<Class<? extends WorkContext>>(3); 
-
-   /** Running in spec compliant mode */
-   private boolean specCompliant;
-
-   /** The short running executor */
-   private BlockingExecutor shortRunningExecutor;
-
-   /** The long running executor */
-   private BlockingExecutor longRunningExecutor;
-
-   /** The XA terminator */
-   private XATerminator xaTerminator;
-
-   /** Validated work instances */
-   private Set<String> validatedWork;
-
-   /** Security module for callback */
-   private Callback callbackSecurity;
-
-   /**Default supported workcontext types*/
-   static
-   {
-      SUPPORTED_WORK_CONTEXT_CLASSES.add(TransactionContext.class);
-      SUPPORTED_WORK_CONTEXT_CLASSES.add(SecurityContext.class);
-      SUPPORTED_WORK_CONTEXT_CLASSES.add(HintsContext.class);
-   }
-   
-   /**
-    * Constructor - by default the WorkManager is running in spec-compliant mode
-    */
-   public WorkManagerImpl()
-   {
-      specCompliant = true;
-      validatedWork = new HashSet<String>();
-   }
-   
-   /**
-    * Retrieve the executor for short running tasks
-    * @return The executor
-    */
-   public BlockingExecutor getShortRunningThreadPool()
-   {
-      return shortRunningExecutor;
-   }
-
-   /**
-    * Set the executor for short running tasks
-    * @param executor The executor
-    */
-   public void setShortRunningThreadPool(BlockingExecutor executor)
-   {
-      this.shortRunningExecutor = executor;
-   }
-
-   /**
-    * Retrieve the executor for long running tasks
-    * @return The executor
-    */
-   public BlockingExecutor getLongRunningThreadPool()
-   {
-      return longRunningExecutor;
-   }
-
-   /**
-    * Set the executor for long running tasks
-    * @param executor The executor
-    */
-   public void setLongRunningThreadPool(BlockingExecutor executor)
-   {
-      this.longRunningExecutor = executor;
-   }
-
-   /**
-    * Get the XATerminator
-    * @return The XA terminator
-    */
-   public XATerminator getXATerminator()
-   {
-      return xaTerminator;
-   }
-
-   /**
-    * Set the XATerminator
-    * @param xaTerminator The XA terminator
-    */
-   public void setXATerminator(XATerminator xaTerminator)
-   {
-      this.xaTerminator = xaTerminator;
-   }
-
-   /**
-    * Is spec compliant
-    * @return True if spec compliant; otherwise false
-    */
-   public boolean isSpecCompliant()
-   {
-      return specCompliant;
-   }
-
-   /**
-    * Set spec compliant flag
-    * @param v The value
-    */
-   public void setSpecCompliant(boolean v)
-   {
-      specCompliant = v;
-   }
-
-   /**
-    * Get the callback security module
-    * @return The value
-    */
-   public Callback getCallbackSecurity()
-   {
-      return callbackSecurity;
-   }
-
-   /**
-    * Set callback security module
-    * @param v The value
-    */
-   public void setCallbackSecurity(Callback v)
-   {
-      callbackSecurity = v;
-   }
-
-   /**
-    * Clone the WorkManager implementation
-    * @return A copy of the implementation
-    * @exception CloneNotSupportedException Thrown if the copy operation isn't supported
-    *  
-    */
-   public WorkManager clone() throws CloneNotSupportedException
-   {
-      WorkManager wm = (WorkManager)super.clone();
-      wm.setShortRunningThreadPool(getShortRunningThreadPool());
-      wm.setLongRunningThreadPool(getLongRunningThreadPool());
-      wm.setXATerminator(getXATerminator());
-      wm.setSpecCompliant(isSpecCompliant());
-      wm.setCallbackSecurity(getCallbackSecurity());
-      
-      return wm;
-   }
-
-   /**
-    * {@inheritDoc}
-    */
-   public void doWork(Work work) throws WorkException
-   {
-      doWork(work, WorkManager.INDEFINITE, null, null);
-   }
-   
-   /**
-    * {@inheritDoc}
-    */
-   public void doWork(Work work,
-                      long startTimeout, 
-                      ExecutionContext execContext, 
-                      WorkListener workListener) 
-      throws WorkException
-   {
-      if (trace)
-         log.tracef("doWork(%s, %s, %s, %s)", work, startTimeout, execContext, workListener);
-
-      WorkException exception = null;
-      WorkWrapper wrapper = null;
-      try
-      {
-         if (work == null)
-            throw new WorkRejectedException(bundle.workIsNull());
-
-         if (startTimeout < 0)
-            throw new WorkRejectedException(bundle.startTimeoutIsNegative(startTimeout));
-
-         checkAndVerifyWork(work, execContext);
-      
-         if (execContext == null)
-         {
-            execContext = new ExecutionContext();  
-         }
-
-         final CountDownLatch completedLatch = new CountDownLatch(1);
-
-         wrapper = new WorkWrapper(this, work, execContext, workListener, null, completedLatch);
-
-         setup(wrapper);
-
-         if (workListener != null)
-         {
-            WorkEvent event = new WorkEvent(this, WorkEvent.WORK_ACCEPTED, work, null);
-            workListener.workAccepted(event);
-         }
-
-         BlockingExecutor executor = getExecutor(work);
-
-         if (startTimeout == WorkManager.INDEFINITE)
-         {
-            executor.executeBlocking(wrapper);
-         }
-         else
-         {
-            executor.executeBlocking(wrapper, startTimeout, TimeUnit.MILLISECONDS);
-         }
-
-         completedLatch.await();
-      }
-      catch (ExecutionTimedOutException etoe)
-      {
-         exception = new WorkRejectedException(etoe);
-         exception.setErrorCode(WorkRejectedException.START_TIMED_OUT);  
-      }
-      catch (RejectedExecutionException ree)
-      {
-         exception = new WorkRejectedException(ree);
-      }
-      catch (WorkException we)
-      {
-         exception = we;
-      }
-      catch (InterruptedException ie)
-      {
-         Thread.currentThread().interrupt();
-         exception = new WorkRejectedException(bundle.interruptedWhileRequestingPermit());
-      }
-      finally
-      {
-         if (exception != null)
-         {
-            if (workListener != null)
-            {
-               WorkEvent event = new WorkEvent(this, WorkEvent.WORK_REJECTED, work, exception);
-               workListener.workRejected(event);
-            }
-
-            if (trace)
-               log.tracef("Exception %s for %s", exception, this);
-
-            throw exception;
-         }
-
-         if (wrapper != null)
-            checkWorkCompletionException(wrapper);
-      }
-   }
-   
-   /**
-    * {@inheritDoc}
-    */
-   public long startWork(Work work) throws WorkException
-   {
-      return startWork(work, WorkManager.INDEFINITE, null, null);
-   }
-   
-   /**
-    * {@inheritDoc}
-    */
-   public long startWork(Work work, 
-                         long startTimeout, 
-                         ExecutionContext execContext, 
-                         WorkListener workListener) 
-      throws WorkException
-   {
-      log.tracef("startWork(%s, %s, %s, %s)", work, startTimeout, execContext, workListener);
-
-      WorkException exception = null;
-      WorkWrapper wrapper = null;
-      try
-      {
-         if (work == null)
-            throw new WorkRejectedException(bundle.workIsNull());
-
-         if (startTimeout < 0)
-            throw new WorkRejectedException(bundle.startTimeoutIsNegative(startTimeout));
-
-         long started = System.currentTimeMillis();
-
-         checkAndVerifyWork(work, execContext);
-      
-         if (execContext == null)
-         {
-            execContext = new ExecutionContext();  
-         }
-
-         final CountDownLatch startedLatch = new CountDownLatch(1);
-
-         wrapper = new WorkWrapper(this, work, execContext, workListener, startedLatch, null);
-
-         setup(wrapper);
-
-         if (workListener != null)
-         {
-            WorkEvent event = new WorkEvent(this, WorkEvent.WORK_ACCEPTED, work, null);
-            workListener.workAccepted(event);
-         }
-
-         BlockingExecutor executor = getExecutor(work);
-
-         if (startTimeout == WorkManager.INDEFINITE)
-         {
-            executor.executeBlocking(wrapper);
-         }
-         else
-         {
-            executor.executeBlocking(wrapper, startTimeout, TimeUnit.MILLISECONDS);
-         }
-
-         startedLatch.await();
-
-         return System.currentTimeMillis() - started;
-      }
-      catch (ExecutionTimedOutException etoe)
-      {
-         exception = new WorkRejectedException(etoe);
-         exception.setErrorCode(WorkRejectedException.START_TIMED_OUT);  
-      }
-      catch (RejectedExecutionException ree)
-      {
-         exception = new WorkRejectedException(ree);
-      }
-      catch (WorkException we)
-      {
-         exception = we;
-      }
-      catch (InterruptedException ie)
-      {
-         Thread.currentThread().interrupt();
-         exception = new WorkRejectedException(bundle.interruptedWhileRequestingPermit());
-      }
-      finally
-      {
-         if (exception != null)
-         {
-            if (workListener != null)
-            {
-               WorkEvent event = new WorkEvent(this, WorkEvent.WORK_REJECTED, work, exception);
-               workListener.workRejected(event);
-            }
-
-            if (trace)
-               log.tracef("Exception %s for %s", exception, this);
-
-            throw exception;
-         }
-
-         if (wrapper != null)
-            checkWorkCompletionException(wrapper);
-      }
-
-      return WorkManager.UNKNOWN;
-   }
-   
-   /**
-    * {@inheritDoc}
-    */
-   public void scheduleWork(Work work) throws WorkException
-   {
-      scheduleWork(work, WorkManager.INDEFINITE, null, null);
-   }
-   
-   /**
-    * {@inheritDoc}
-    */
-   public void scheduleWork(Work work,
-                            long startTimeout, 
-                            ExecutionContext execContext, 
-                            WorkListener workListener) 
-      throws WorkException
-   {
-      log.tracef("scheduleWork(%s, %s, %s, %s)", work, startTimeout, execContext, workListener);
-
-      WorkException exception = null;
-      WorkWrapper wrapper = null;
-      try
-      {
-         if (work == null)
-            throw new WorkRejectedException(bundle.workIsNull());
-
-         if (startTimeout < 0)
-            throw new WorkRejectedException(bundle.startTimeoutIsNegative(startTimeout));
-
-         checkAndVerifyWork(work, execContext);
-      
-         if (execContext == null)
-         {
-            execContext = new ExecutionContext();  
-         }
-
-         wrapper = new WorkWrapper(this, work, execContext, workListener, null, null);
-
-         setup(wrapper);
-
-         if (workListener != null)
-         {
-            WorkEvent event = new WorkEvent(this, WorkEvent.WORK_ACCEPTED, work, null);
-            workListener.workAccepted(event);
-         }
-
-         BlockingExecutor executor = getExecutor(work);
-
-         if (startTimeout == WorkManager.INDEFINITE)
-         {
-            executor.executeBlocking(wrapper);
-         }
-         else
-         {
-            executor.executeBlocking(wrapper, startTimeout, TimeUnit.MILLISECONDS);
-         }
-      }
-      catch (ExecutionTimedOutException etoe)
-      {
-         exception = new WorkRejectedException(etoe);
-         exception.setErrorCode(WorkRejectedException.START_TIMED_OUT);  
-      }
-      catch (RejectedExecutionException ree)
-      {
-         exception = new WorkRejectedException(ree);
-      }
-      catch (WorkException we)
-      {
-         exception = we;
-      }
-      catch (InterruptedException ie)
-      {
-         Thread.currentThread().interrupt();
-         exception = new WorkRejectedException(bundle.interruptedWhileRequestingPermit());
-      }
-      finally
-      {
-         if (exception != null)
-         {
-            if (workListener != null)
-            {
-               WorkEvent event = new WorkEvent(this, WorkEvent.WORK_REJECTED, work, exception);
-               workListener.workRejected(event);
-            }
-
-            if (trace)
-               log.tracef("Exception %s for %s", exception, this);
-
-            throw exception;
-         }
-
-         if (wrapper != null)
-            checkWorkCompletionException(wrapper);
-      }
-   }
-
-   /**
-    * Get the executor
-    * @param work The work instance
-    * @return The executor
-    */
-   private BlockingExecutor getExecutor(Work work)
-   {
-      BlockingExecutor executor = shortRunningExecutor;
-      if (work instanceof WorkContextProvider)
-      {
-         WorkContextProvider wcProvider = (WorkContextProvider)work;
-         List<WorkContext> contexts = wcProvider.getWorkContexts();
-
-         if (contexts != null && contexts.size() > 0)
-         {
-            boolean found = false;
-            Iterator<WorkContext> it = contexts.iterator();
-            while (!found && it.hasNext())
-            {
-               WorkContext wc = it.next();
-               if (wc instanceof HintsContext)
-               {
-                  HintsContext hc = (HintsContext)wc;
-                  if (hc.getHints().containsKey(HintsContext.LONGRUNNING_HINT))
-                  {
-                     executor = longRunningExecutor;
-                     found = true;
-                  }
-               }
-            }
-         }
-      }
-
-      return executor;
-   }
-
-
-
-   /**
-    * Check and verify work before submitting.
-    * @param work the work instance
-    * @param executionContext any execution context that is passed by apadater
-    * @throws WorkException if any exception occurs
-    */
-   private void checkAndVerifyWork(Work work, ExecutionContext executionContext) throws WorkException
-   {
-      if (specCompliant)
-      {
-         verifyWork(work);  
-      }   
-      
-      if (work instanceof WorkContextProvider)
-      {
-          //Implements WorkContextProvider and not-null ExecutionContext
-         if (executionContext != null)
-         {
-            throw new WorkRejectedException(bundle.workExecutionContextMustNullImplementsWorkContextProvider());
-         }          
-      }      
-   }
-   
-   /**
-    * Verify the given work instance.
-    * @param work The work
-    * @throws WorkException Thrown if a spec compliant issue is found
-    */
-   private void verifyWork(Work work) throws WorkException
-   {     
-      if (!validatedWork.contains(work.getClass().getName()))
-      {
-         Class<?> workClass = work.getClass();
-         boolean result = false;
-      
-         result = verifyWorkMethods(workClass, RUN_METHOD_NAME, null, workClass.getName() + 
-                                    ": Run method is not defined");
-     
-         if (!result)
-         {
-            throw new WorkException(bundle.runMethodIsSynchronized(workClass.getName()));
-         }
-      
-         result = verifyWorkMethods(workClass, RELEASE_METHOD_NAME, null, workClass.getName() + 
-                                    ": Release method is not defined");
-      
-         if (!result)
-         {
-            throw new WorkException(bundle.releaseMethodIsSynchronized(workClass.getName()));
-         }
-
-         validatedWork.add(work.getClass().getName());
-      }
-   }
-   
-   private boolean verifyWorkMethods(Class<?> workClass, String methodName, 
-                                     Class<?>[] parameterTypes, String errorMessage) throws WorkException
-   {
-      Method method = null;
-      try
-      {
-         method = ClassUtil.getClassMethod(workClass, methodName, null);
-         
-         if (ClassUtil.modifiersHasSynchronizedKeyword(method.getModifiers()))
-         {
-            return false;  
-         }
-      }
-      catch (NoSuchMethodException nsme)
-      {
-         throw new WorkException(errorMessage);
-      }
-      
-      return true;
-   }
-
-   /**
-    * Checks work completed status. 
-    * @param wrapper work wrapper instance
-    * @throws {@link WorkException} if work is completed with an exception
-    */
-   private void checkWorkCompletionException(WorkWrapper wrapper) throws WorkException
-   {
-      if (wrapper.getWorkException() != null)
-      {
-         if (trace)
-            log.tracef("Exception %s for %s", wrapper.getWorkException(), this);
-
-         throw wrapper.getWorkException();  
-      }
-   }
-
-   /**
-    * Setup work context's of the given work instance.
-    * 
-    * @param wrapper The work wrapper instance
-    * @throws WorkException if any exception occurs
-    */
-   private void setup(WorkWrapper wrapper) throws WorkException
-   {
-      if (trace)
-      {
-         log.trace("Setting up work contexts " + wrapper);  
-      }
-
-      Work work = wrapper.getWork();
-      
-      //If work is an instanceof WorkContextProvider
-      if (work instanceof WorkContextProvider)
-      {
-         WorkContextProvider wcProvider = (WorkContextProvider)work;
-         List<WorkContext> contexts = wcProvider.getWorkContexts();
-
-         if (contexts != null && contexts.size() > 0)
-         {
-            boolean isTransactionContext = false;
-            boolean isSecurityContext = false;
-            boolean isHintcontext = false;
-
-            for (WorkContext context : contexts)
-            {
-               Class<? extends WorkContext> contextType = null;
-
-               // Get supported work context class
-               contextType = getSupportedWorkContextClass(context.getClass());
-
-               // Not supported
-               if (contextType == null)
-               {
-                  if (trace)
-                  {
-                     log.trace("Not supported work context class : " + context.getClass().getName());
-                  }
-                  
-                  fireWorkContextSetupFailed(context, WorkContextErrorCodes.UNSUPPORTED_CONTEXT_TYPE);
-                  
-                  throw new WorkCompletedException(bundle.unsupportedWorkContextClass(context.getClass().getName()), 
-                      WorkContextErrorCodes.UNSUPPORTED_CONTEXT_TYPE);
-               }
-               // Duplicate checks
-               else
-               {
-                  // TransactionContext duplicate
-                  if (isTransactionContext(contextType))
-                  {
-                     if (isTransactionContext)
-                     {
-                        if (trace)
-                        {
-                           log.trace("Duplicate transaction work context : " + context.getClass().getName());
-                        }
-
-                        fireWorkContextSetupFailed(context, WorkContextErrorCodes.DUPLICATE_CONTEXTS);
-                        
-                        throw new WorkCompletedException(bundle.duplicateTransactionWorkContextClass(
-                              context.getClass().getName()), WorkContextErrorCodes.DUPLICATE_CONTEXTS);
-                     }
-                     else
-                     {
-                        isTransactionContext = true;
-                     }
-                  }
-                  // SecurityContext duplicate
-                  else if (isSecurityContext(contextType))
-                  {
-                     if (isSecurityContext)
-                     {
-                        if (trace)
-                        {
-                           log.trace("Duplicate security work context : " + context.getClass().getName());
-                        }
-                        
-                        fireWorkContextSetupFailed(context, WorkContextErrorCodes.DUPLICATE_CONTEXTS);
-
-                        throw new WorkCompletedException(bundle.duplicateSecurityWorkContextClass(
-                              context.getClass().getName()), WorkContextErrorCodes.DUPLICATE_CONTEXTS);
-                     }
-                     else
-                     {
-                        isSecurityContext = true;
-                     }
-                  }
-                  // HintContext duplicate
-                  else if (isHintContext(contextType))
-                  {
-                     if (isHintcontext)
-                     {
-                        if (trace)
-                        {
-                           log.trace("Duplicate hint work context : " + context.getClass().getName());
-                        }
-
-                        fireWorkContextSetupFailed(context, WorkContextErrorCodes.DUPLICATE_CONTEXTS);
-                        
-                        throw new WorkCompletedException(bundle.duplicateHintWorkContextClass(
-                              context.getClass().getName()), WorkContextErrorCodes.DUPLICATE_CONTEXTS);
-                     }
-                     else
-                     {
-                        isHintcontext = true;
-                     }
-                  }
-                  // Normally, this must not be happened!i just safe check!
-                  else
-                  {
-                     fireWorkContextSetupFailed(context, WorkContextErrorCodes.UNSUPPORTED_CONTEXT_TYPE);
-                     
-                     throw new WorkCompletedException(bundle.unsupportedWorkContextClass(context.getClass().getName()), 
-                                                      WorkContextErrorCodes.UNSUPPORTED_CONTEXT_TYPE);
-                  }
-               }
-
-               // Add workcontext instance to the work
-               wrapper.addWorkContext(contextType, context);
-            }
-         }         
-      }      
-
-      if (trace)
-      {
-         log.trace("Setted up work contexts " + wrapper);  
-      }      
-   }
-
-   /**
-    * Calls listener with given error code.
-    * @param listener work context listener
-    * @param errorCode error code
-    */
-   private void fireWorkContextSetupFailed(Object workContext, String errorCode)
-   {
-      if (workContext instanceof WorkContextLifecycleListener)
-      {
-         WorkContextLifecycleListener listener = (WorkContextLifecycleListener)workContext;
-         listener.contextSetupFailed(errorCode);   
-      }
-      
-   }
-
-   /**
-    * Returns true if contexts is a transaction context.
-    * 
-    * @param workContextType context type
-    * @return true if contexts is a transaction context
-    */
-   private boolean isTransactionContext(Class<? extends WorkContext> workContextType)
-   {
-      if (workContextType.isAssignableFrom(TransactionContext.class))
-      {
-         return true;
-      }
-
-      return false;
-   }
-
-   /**
-    * Returns true if contexts is a security context.
-    * 
-    * @param workContextType context type
-    * @return true if contexts is a security context
-    */
-   private boolean isSecurityContext(Class<? extends WorkContext> workContextType)
-   {
-      if (workContextType.isAssignableFrom(SecurityContext.class))
-      {
-         return true;
-      }
-
-      return false;
-   }
-
-   /**
-    * Returns true if contexts is a hint context.
-    * 
-    * @param workContextType context type
-    * @return true if contexts is a hint context
-    */
-   private boolean isHintContext(Class<? extends WorkContext> workContextType)
-   {
-      if (workContextType.isAssignableFrom(HintsContext.class))
-      {
-         return true;
-      }
-
-      return false;
-   }
-
-   /**
-    * Returns work context class if given work context is supported by server,
-    * returns null instance otherwise.
-    * 
-    * @param <T> work context class
-    * @param adaptorWorkContext adaptor supplied work context class
-    * @return work context class
-    */
-   @SuppressWarnings("unchecked")
-   private <T extends WorkContext> Class<T> getSupportedWorkContextClass(Class<T> adaptorWorkContext)
-   {
-      for (Class<? extends WorkContext> supportedWorkContext : SUPPORTED_WORK_CONTEXT_CLASSES)
-      {
-         // Assignable or not
-         if (supportedWorkContext.isAssignableFrom(adaptorWorkContext))
-         {
-            Class clz = adaptorWorkContext;
-
-            while (clz != null)
-            {
-               // Supported by the server
-               if (clz.equals(supportedWorkContext))
-               {
-                  return clz;
-               }
-
-               clz = clz.getSuperclass();
-            }
-         }
-      }
-
-      return null;
-   }
-}

Copied: projects/jboss-jca/tags/IRONJACAMAR_1_0_0_CR3/core/src/main/java/org/jboss/jca/core/workmanager/WorkManagerImpl.java (from rev 111685, projects/jboss-jca/branches/Branch_1_0/core/src/main/java/org/jboss/jca/core/workmanager/WorkManagerImpl.java)
===================================================================
--- projects/jboss-jca/tags/IRONJACAMAR_1_0_0_CR3/core/src/main/java/org/jboss/jca/core/workmanager/WorkManagerImpl.java	                        (rev 0)
+++ projects/jboss-jca/tags/IRONJACAMAR_1_0_0_CR3/core/src/main/java/org/jboss/jca/core/workmanager/WorkManagerImpl.java	2011-06-29 14:01:33 UTC (rev 111689)
@@ -0,0 +1,966 @@
+/*
+ * JBoss, Home of Professional Open Source.
+ * Copyright 2010, Red Hat Middleware LLC, and individual contributors
+ * as indicated by the @author tags. See the copyright.txt file in the
+ * distribution for a full listing of individual contributors.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ */
+
+package org.jboss.jca.core.workmanager;
+
+import org.jboss.jca.core.CoreBundle;
+import org.jboss.jca.core.CoreLogger;
+import org.jboss.jca.core.api.workmanager.WorkManager;
+import org.jboss.jca.core.spi.security.Callback;
+import org.jboss.jca.core.spi.transaction.xa.XATerminator;
+
+import java.lang.reflect.Method;
+import java.util.HashSet;
+import java.util.Iterator;
+import java.util.List;
+import java.util.Set;
+import java.util.concurrent.CountDownLatch;
+import java.util.concurrent.RejectedExecutionException;
+import java.util.concurrent.TimeUnit;
+import java.util.concurrent.atomic.AtomicBoolean;
+
+import javax.resource.spi.work.ExecutionContext;
+import javax.resource.spi.work.HintsContext;
+import javax.resource.spi.work.SecurityContext;
+import javax.resource.spi.work.TransactionContext;
+import javax.resource.spi.work.Work;
+import javax.resource.spi.work.WorkCompletedException;
+import javax.resource.spi.work.WorkContext;
+import javax.resource.spi.work.WorkContextErrorCodes;
+import javax.resource.spi.work.WorkContextLifecycleListener;
+import javax.resource.spi.work.WorkContextProvider;
+import javax.resource.spi.work.WorkEvent;
+import javax.resource.spi.work.WorkException;
+import javax.resource.spi.work.WorkListener;
+import javax.resource.spi.work.WorkRejectedException;
+
+import org.jboss.logging.Logger;
+import org.jboss.logging.Messages;
+import org.jboss.threads.BlockingExecutor;
+import org.jboss.threads.ExecutionTimedOutException;
+
+/**
+ * The work manager implementation.
+ * 
+ * @author <a href="mailto:jesper.pedersen at jboss.org">Jesper Pedersen</a>
+ */
+public class WorkManagerImpl implements WorkManager
+{
+   /** The logger */
+   private static CoreLogger log = Logger.getMessageLogger(CoreLogger.class, WorkManagerImpl.class.getName());
+   
+   /** Whether trace is enabled */
+   private static boolean trace = log.isTraceEnabled();
+   
+   /** The bundle */
+   private static CoreBundle bundle = Messages.getBundle(CoreBundle.class);
+   
+   /**Work run method name*/
+   private static final String RUN_METHOD_NAME = "run";
+   
+   /**Work release method name*/
+   private static final String RELEASE_METHOD_NAME = "release";
+
+   /**Supported work context set*/
+   private static final Set<Class<? extends WorkContext>> SUPPORTED_WORK_CONTEXT_CLASSES = 
+       new HashSet<Class<? extends WorkContext>>(3); 
+
+   /** Running in spec compliant mode */
+   private boolean specCompliant;
+
+   /** The short running executor */
+   private BlockingExecutor shortRunningExecutor;
+
+   /** The long running executor */
+   private BlockingExecutor longRunningExecutor;
+
+   /** The XA terminator */
+   private XATerminator xaTerminator;
+
+   /** Validated work instances */
+   private Set<String> validatedWork;
+
+   /** Security module for callback */
+   private Callback callbackSecurity;
+
+   /** Shutdown */
+   private AtomicBoolean shutdown;
+
+   /** Active work wrappers */
+   private Set<WorkWrapper> activeWorkWrappers;
+
+   /**Default supported workcontext types*/
+   static
+   {
+      SUPPORTED_WORK_CONTEXT_CLASSES.add(TransactionContext.class);
+      SUPPORTED_WORK_CONTEXT_CLASSES.add(SecurityContext.class);
+      SUPPORTED_WORK_CONTEXT_CLASSES.add(HintsContext.class);
+   }
+   
+   /**
+    * Constructor - by default the WorkManager is running in spec-compliant mode
+    */
+   public WorkManagerImpl()
+   {
+      specCompliant = true;
+      validatedWork = new HashSet<String>();
+      shutdown = new AtomicBoolean(false);
+      activeWorkWrappers = new HashSet<WorkWrapper>();
+   }
+   
+   /**
+    * Retrieve the executor for short running tasks
+    * @return The executor
+    */
+   public BlockingExecutor getShortRunningThreadPool()
+   {
+      return shortRunningExecutor;
+   }
+
+   /**
+    * Set the executor for short running tasks
+    * @param executor The executor
+    */
+   public void setShortRunningThreadPool(BlockingExecutor executor)
+   {
+      this.shortRunningExecutor = executor;
+   }
+
+   /**
+    * Retrieve the executor for long running tasks
+    * @return The executor
+    */
+   public BlockingExecutor getLongRunningThreadPool()
+   {
+      return longRunningExecutor;
+   }
+
+   /**
+    * Set the executor for long running tasks
+    * @param executor The executor
+    */
+   public void setLongRunningThreadPool(BlockingExecutor executor)
+   {
+      this.longRunningExecutor = executor;
+   }
+
+   /**
+    * Get the XATerminator
+    * @return The XA terminator
+    */
+   public XATerminator getXATerminator()
+   {
+      return xaTerminator;
+   }
+
+   /**
+    * Set the XATerminator
+    * @param xaTerminator The XA terminator
+    */
+   public void setXATerminator(XATerminator xaTerminator)
+   {
+      this.xaTerminator = xaTerminator;
+   }
+
+   /**
+    * Is spec compliant
+    * @return True if spec compliant; otherwise false
+    */
+   public boolean isSpecCompliant()
+   {
+      return specCompliant;
+   }
+
+   /**
+    * Set spec compliant flag
+    * @param v The value
+    */
+   public void setSpecCompliant(boolean v)
+   {
+      specCompliant = v;
+   }
+
+   /**
+    * Get the callback security module
+    * @return The value
+    */
+   public Callback getCallbackSecurity()
+   {
+      return callbackSecurity;
+   }
+
+   /**
+    * Set callback security module
+    * @param v The value
+    */
+   public void setCallbackSecurity(Callback v)
+   {
+      callbackSecurity = v;
+   }
+
+   /**
+    * Clone the WorkManager implementation
+    * @return A copy of the implementation
+    * @exception CloneNotSupportedException Thrown if the copy operation isn't supported
+    *  
+    */
+   public WorkManager clone() throws CloneNotSupportedException
+   {
+      WorkManager wm = (WorkManager)super.clone();
+      wm.setShortRunningThreadPool(getShortRunningThreadPool());
+      wm.setLongRunningThreadPool(getLongRunningThreadPool());
+      wm.setXATerminator(getXATerminator());
+      wm.setSpecCompliant(isSpecCompliant());
+      wm.setCallbackSecurity(getCallbackSecurity());
+      
+      return wm;
+   }
+
+   /**
+    * {@inheritDoc}
+    */
+   public void doWork(Work work) throws WorkException
+   {
+      doWork(work, WorkManager.INDEFINITE, null, null);
+   }
+   
+   /**
+    * {@inheritDoc}
+    */
+   public void doWork(Work work,
+                      long startTimeout, 
+                      ExecutionContext execContext, 
+                      WorkListener workListener) 
+      throws WorkException
+   {
+      if (trace)
+         log.tracef("doWork(%s, %s, %s, %s)", work, startTimeout, execContext, workListener);
+
+      if (shutdown.get())
+         throw new WorkRejectedException(bundle.workmanagerShutdown());
+
+      WorkException exception = null;
+      WorkWrapper wrapper = null;
+      try
+      {
+         if (work == null)
+            throw new WorkRejectedException(bundle.workIsNull());
+
+         if (startTimeout < 0)
+            throw new WorkRejectedException(bundle.startTimeoutIsNegative(startTimeout));
+
+         checkAndVerifyWork(work, execContext);
+      
+         if (execContext == null)
+         {
+            execContext = new ExecutionContext();  
+         }
+
+         final CountDownLatch completedLatch = new CountDownLatch(1);
+
+         wrapper = new WorkWrapper(this, work, execContext, workListener, null, completedLatch);
+
+         setup(wrapper);
+
+         if (workListener != null)
+         {
+            WorkEvent event = new WorkEvent(this, WorkEvent.WORK_ACCEPTED, work, null);
+            workListener.workAccepted(event);
+         }
+
+         BlockingExecutor executor = getExecutor(work);
+
+         if (startTimeout == WorkManager.INDEFINITE)
+         {
+            executor.executeBlocking(wrapper);
+         }
+         else
+         {
+            executor.executeBlocking(wrapper, startTimeout, TimeUnit.MILLISECONDS);
+         }
+
+         completedLatch.await();
+      }
+      catch (ExecutionTimedOutException etoe)
+      {
+         exception = new WorkRejectedException(etoe);
+         exception.setErrorCode(WorkRejectedException.START_TIMED_OUT);  
+      }
+      catch (RejectedExecutionException ree)
+      {
+         exception = new WorkRejectedException(ree);
+      }
+      catch (WorkException we)
+      {
+         exception = we;
+      }
+      catch (InterruptedException ie)
+      {
+         Thread.currentThread().interrupt();
+         exception = new WorkRejectedException(bundle.interruptedWhileRequestingPermit());
+      }
+      finally
+      {
+         if (exception != null)
+         {
+            if (workListener != null)
+            {
+               WorkEvent event = new WorkEvent(this, WorkEvent.WORK_REJECTED, work, exception);
+               workListener.workRejected(event);
+            }
+
+            if (trace)
+               log.tracef("Exception %s for %s", exception, this);
+
+            throw exception;
+         }
+
+         if (wrapper != null)
+         {
+            checkWorkCompletionException(wrapper);
+         }
+      }
+   }
+   
+   /**
+    * {@inheritDoc}
+    */
+   public long startWork(Work work) throws WorkException
+   {
+      return startWork(work, WorkManager.INDEFINITE, null, null);
+   }
+   
+   /**
+    * {@inheritDoc}
+    */
+   public long startWork(Work work, 
+                         long startTimeout, 
+                         ExecutionContext execContext, 
+                         WorkListener workListener) 
+      throws WorkException
+   {
+      log.tracef("startWork(%s, %s, %s, %s)", work, startTimeout, execContext, workListener);
+
+      if (shutdown.get())
+         throw new WorkRejectedException(bundle.workmanagerShutdown());
+
+      WorkException exception = null;
+      WorkWrapper wrapper = null;
+      try
+      {
+         if (work == null)
+            throw new WorkRejectedException(bundle.workIsNull());
+
+         if (startTimeout < 0)
+            throw new WorkRejectedException(bundle.startTimeoutIsNegative(startTimeout));
+
+         long started = System.currentTimeMillis();
+
+         checkAndVerifyWork(work, execContext);
+      
+         if (execContext == null)
+         {
+            execContext = new ExecutionContext();  
+         }
+
+         final CountDownLatch startedLatch = new CountDownLatch(1);
+
+         wrapper = new WorkWrapper(this, work, execContext, workListener, startedLatch, null);
+
+         setup(wrapper);
+
+         if (workListener != null)
+         {
+            WorkEvent event = new WorkEvent(this, WorkEvent.WORK_ACCEPTED, work, null);
+            workListener.workAccepted(event);
+         }
+
+         BlockingExecutor executor = getExecutor(work);
+
+         if (startTimeout == WorkManager.INDEFINITE)
+         {
+            executor.executeBlocking(wrapper);
+         }
+         else
+         {
+            executor.executeBlocking(wrapper, startTimeout, TimeUnit.MILLISECONDS);
+         }
+
+         startedLatch.await();
+
+         return System.currentTimeMillis() - started;
+      }
+      catch (ExecutionTimedOutException etoe)
+      {
+         exception = new WorkRejectedException(etoe);
+         exception.setErrorCode(WorkRejectedException.START_TIMED_OUT);  
+      }
+      catch (RejectedExecutionException ree)
+      {
+         exception = new WorkRejectedException(ree);
+      }
+      catch (WorkException we)
+      {
+         exception = we;
+      }
+      catch (InterruptedException ie)
+      {
+         Thread.currentThread().interrupt();
+         exception = new WorkRejectedException(bundle.interruptedWhileRequestingPermit());
+      }
+      finally
+      {
+         if (exception != null)
+         {
+            if (workListener != null)
+            {
+               WorkEvent event = new WorkEvent(this, WorkEvent.WORK_REJECTED, work, exception);
+               workListener.workRejected(event);
+            }
+
+            if (trace)
+               log.tracef("Exception %s for %s", exception, this);
+
+            throw exception;
+         }
+
+         if (wrapper != null)
+            checkWorkCompletionException(wrapper);
+      }
+
+      return WorkManager.UNKNOWN;
+   }
+   
+   /**
+    * {@inheritDoc}
+    */
+   public void scheduleWork(Work work) throws WorkException
+   {
+      scheduleWork(work, WorkManager.INDEFINITE, null, null);
+   }
+   
+   /**
+    * {@inheritDoc}
+    */
+   public void scheduleWork(Work work,
+                            long startTimeout, 
+                            ExecutionContext execContext, 
+                            WorkListener workListener) 
+      throws WorkException
+   {
+      log.tracef("scheduleWork(%s, %s, %s, %s)", work, startTimeout, execContext, workListener);
+
+      if (shutdown.get())
+         throw new WorkRejectedException(bundle.workmanagerShutdown());
+
+      WorkException exception = null;
+      WorkWrapper wrapper = null;
+      try
+      {
+         if (work == null)
+            throw new WorkRejectedException(bundle.workIsNull());
+
+         if (startTimeout < 0)
+            throw new WorkRejectedException(bundle.startTimeoutIsNegative(startTimeout));
+
+         checkAndVerifyWork(work, execContext);
+      
+         if (execContext == null)
+         {
+            execContext = new ExecutionContext();  
+         }
+
+         wrapper = new WorkWrapper(this, work, execContext, workListener, null, null);
+
+         setup(wrapper);
+
+         if (workListener != null)
+         {
+            WorkEvent event = new WorkEvent(this, WorkEvent.WORK_ACCEPTED, work, null);
+            workListener.workAccepted(event);
+         }
+
+         BlockingExecutor executor = getExecutor(work);
+
+         if (startTimeout == WorkManager.INDEFINITE)
+         {
+            executor.executeBlocking(wrapper);
+         }
+         else
+         {
+            executor.executeBlocking(wrapper, startTimeout, TimeUnit.MILLISECONDS);
+         }
+      }
+      catch (ExecutionTimedOutException etoe)
+      {
+         exception = new WorkRejectedException(etoe);
+         exception.setErrorCode(WorkRejectedException.START_TIMED_OUT);  
+      }
+      catch (RejectedExecutionException ree)
+      {
+         exception = new WorkRejectedException(ree);
+      }
+      catch (WorkException we)
+      {
+         exception = we;
+      }
+      catch (InterruptedException ie)
+      {
+         Thread.currentThread().interrupt();
+         exception = new WorkRejectedException(bundle.interruptedWhileRequestingPermit());
+      }
+      finally
+      {
+         if (exception != null)
+         {
+            if (workListener != null)
+            {
+               WorkEvent event = new WorkEvent(this, WorkEvent.WORK_REJECTED, work, exception);
+               workListener.workRejected(event);
+            }
+
+            if (trace)
+               log.tracef("Exception %s for %s", exception, this);
+
+            throw exception;
+         }
+
+         if (wrapper != null)
+            checkWorkCompletionException(wrapper);
+      }
+   }
+
+   /**
+    * {@inheritDoc}
+    */
+   public void prepareShutdown()
+   {
+      shutdown.set(true);
+   }
+
+   /**
+    * {@inheritDoc}
+    */
+   public void shutdown()
+   {
+      prepareShutdown();
+
+      synchronized (activeWorkWrappers)
+      {
+         for (WorkWrapper ww : activeWorkWrappers)
+         {
+            ww.getWork().release();
+         }
+      }
+   }
+
+   /**
+    * {@inheritDoc}
+    */
+   public boolean isShutdown()
+   {
+      return shutdown.get();
+   }
+
+   /**
+    * Add work wrapper to active set
+    * @param ww The work wrapper
+    */
+   void addWorkWrapper(WorkWrapper ww)
+   {
+      synchronized (activeWorkWrappers)
+      {
+         activeWorkWrappers.add(ww);
+      }
+   }
+
+   /**
+    * Remove work wrapper from active set
+    * @param ww The work wrapper
+    */
+   void removeWorkWrapper(WorkWrapper ww)
+   {
+      synchronized (activeWorkWrappers)
+      {
+         activeWorkWrappers.remove(ww);
+      }
+   }
+
+   /**
+    * Get the executor
+    * @param work The work instance
+    * @return The executor
+    */
+   private BlockingExecutor getExecutor(Work work)
+   {
+      BlockingExecutor executor = shortRunningExecutor;
+      if (work instanceof WorkContextProvider)
+      {
+         WorkContextProvider wcProvider = (WorkContextProvider)work;
+         List<WorkContext> contexts = wcProvider.getWorkContexts();
+
+         if (contexts != null && contexts.size() > 0)
+         {
+            boolean found = false;
+            Iterator<WorkContext> it = contexts.iterator();
+            while (!found && it.hasNext())
+            {
+               WorkContext wc = it.next();
+               if (wc instanceof HintsContext)
+               {
+                  HintsContext hc = (HintsContext)wc;
+                  if (hc.getHints().containsKey(HintsContext.LONGRUNNING_HINT))
+                  {
+                     executor = longRunningExecutor;
+                     found = true;
+                  }
+               }
+            }
+         }
+      }
+
+      return executor;
+   }
+
+
+
+   /**
+    * Check and verify work before submitting.
+    * @param work the work instance
+    * @param executionContext any execution context that is passed by apadater
+    * @throws WorkException if any exception occurs
+    */
+   private void checkAndVerifyWork(Work work, ExecutionContext executionContext) throws WorkException
+   {
+      if (specCompliant)
+      {
+         verifyWork(work);  
+      }   
+      
+      if (work instanceof WorkContextProvider)
+      {
+          //Implements WorkContextProvider and not-null ExecutionContext
+         if (executionContext != null)
+         {
+            throw new WorkRejectedException(bundle.workExecutionContextMustNullImplementsWorkContextProvider());
+         }          
+      }      
+   }
+   
+   /**
+    * Verify the given work instance.
+    * @param work The work
+    * @throws WorkException Thrown if a spec compliant issue is found
+    */
+   private void verifyWork(Work work) throws WorkException
+   {     
+      if (!validatedWork.contains(work.getClass().getName()))
+      {
+         Class<?> workClass = work.getClass();
+         boolean result = false;
+      
+         result = verifyWorkMethods(workClass, RUN_METHOD_NAME, null, workClass.getName() + 
+                                    ": Run method is not defined");
+     
+         if (!result)
+         {
+            throw new WorkException(bundle.runMethodIsSynchronized(workClass.getName()));
+         }
+      
+         result = verifyWorkMethods(workClass, RELEASE_METHOD_NAME, null, workClass.getName() + 
+                                    ": Release method is not defined");
+      
+         if (!result)
+         {
+            throw new WorkException(bundle.releaseMethodIsSynchronized(workClass.getName()));
+         }
+
+         validatedWork.add(work.getClass().getName());
+      }
+   }
+   
+   private boolean verifyWorkMethods(Class<?> workClass, String methodName, 
+                                     Class<?>[] parameterTypes, String errorMessage) throws WorkException
+   {
+      Method method = null;
+      try
+      {
+         method = ClassUtil.getClassMethod(workClass, methodName, null);
+         
+         if (ClassUtil.modifiersHasSynchronizedKeyword(method.getModifiers()))
+         {
+            return false;  
+         }
+      }
+      catch (NoSuchMethodException nsme)
+      {
+         throw new WorkException(errorMessage);
+      }
+      
+      return true;
+   }
+
+   /**
+    * Checks work completed status. 
+    * @param wrapper work wrapper instance
+    * @throws {@link WorkException} if work is completed with an exception
+    */
+   private void checkWorkCompletionException(WorkWrapper wrapper) throws WorkException
+   {
+      if (wrapper.getWorkException() != null)
+      {
+         if (trace)
+            log.tracef("Exception %s for %s", wrapper.getWorkException(), this);
+
+         throw wrapper.getWorkException();  
+      }
+   }
+
+   /**
+    * Setup work context's of the given work instance.
+    * 
+    * @param wrapper The work wrapper instance
+    * @throws WorkException if any exception occurs
+    */
+   private void setup(WorkWrapper wrapper) throws WorkException
+   {
+      if (trace)
+      {
+         log.trace("Setting up work contexts " + wrapper);  
+      }
+
+      Work work = wrapper.getWork();
+      
+      //If work is an instanceof WorkContextProvider
+      if (work instanceof WorkContextProvider)
+      {
+         WorkContextProvider wcProvider = (WorkContextProvider)work;
+         List<WorkContext> contexts = wcProvider.getWorkContexts();
+
+         if (contexts != null && contexts.size() > 0)
+         {
+            boolean isTransactionContext = false;
+            boolean isSecurityContext = false;
+            boolean isHintcontext = false;
+
+            for (WorkContext context : contexts)
+            {
+               Class<? extends WorkContext> contextType = null;
+
+               // Get supported work context class
+               contextType = getSupportedWorkContextClass(context.getClass());
+
+               // Not supported
+               if (contextType == null)
+               {
+                  if (trace)
+                  {
+                     log.trace("Not supported work context class : " + context.getClass().getName());
+                  }
+                  
+                  fireWorkContextSetupFailed(context, WorkContextErrorCodes.UNSUPPORTED_CONTEXT_TYPE);
+                  
+                  throw new WorkCompletedException(bundle.unsupportedWorkContextClass(context.getClass().getName()), 
+                      WorkContextErrorCodes.UNSUPPORTED_CONTEXT_TYPE);
+               }
+               // Duplicate checks
+               else
+               {
+                  // TransactionContext duplicate
+                  if (isTransactionContext(contextType))
+                  {
+                     if (isTransactionContext)
+                     {
+                        if (trace)
+                        {
+                           log.trace("Duplicate transaction work context : " + context.getClass().getName());
+                        }
+
+                        fireWorkContextSetupFailed(context, WorkContextErrorCodes.DUPLICATE_CONTEXTS);
+                        
+                        throw new WorkCompletedException(bundle.duplicateTransactionWorkContextClass(
+                              context.getClass().getName()), WorkContextErrorCodes.DUPLICATE_CONTEXTS);
+                     }
+                     else
+                     {
+                        isTransactionContext = true;
+                     }
+                  }
+                  // SecurityContext duplicate
+                  else if (isSecurityContext(contextType))
+                  {
+                     if (isSecurityContext)
+                     {
+                        if (trace)
+                        {
+                           log.trace("Duplicate security work context : " + context.getClass().getName());
+                        }
+                        
+                        fireWorkContextSetupFailed(context, WorkContextErrorCodes.DUPLICATE_CONTEXTS);
+
+                        throw new WorkCompletedException(bundle.duplicateSecurityWorkContextClass(
+                              context.getClass().getName()), WorkContextErrorCodes.DUPLICATE_CONTEXTS);
+                     }
+                     else
+                     {
+                        isSecurityContext = true;
+                     }
+                  }
+                  // HintContext duplicate
+                  else if (isHintContext(contextType))
+                  {
+                     if (isHintcontext)
+                     {
+                        if (trace)
+                        {
+                           log.trace("Duplicate hint work context : " + context.getClass().getName());
+                        }
+
+                        fireWorkContextSetupFailed(context, WorkContextErrorCodes.DUPLICATE_CONTEXTS);
+                        
+                        throw new WorkCompletedException(bundle.duplicateHintWorkContextClass(
+                              context.getClass().getName()), WorkContextErrorCodes.DUPLICATE_CONTEXTS);
+                     }
+                     else
+                     {
+                        isHintcontext = true;
+                     }
+                  }
+                  // Normally, this must not be happened!i just safe check!
+                  else
+                  {
+                     fireWorkContextSetupFailed(context, WorkContextErrorCodes.UNSUPPORTED_CONTEXT_TYPE);
+                     
+                     throw new WorkCompletedException(bundle.unsupportedWorkContextClass(context.getClass().getName()), 
+                                                      WorkContextErrorCodes.UNSUPPORTED_CONTEXT_TYPE);
+                  }
+               }
+
+               // Add workcontext instance to the work
+               wrapper.addWorkContext(contextType, context);
+            }
+         }         
+      }      
+
+      if (trace)
+      {
+         log.trace("Setted up work contexts " + wrapper);  
+      }      
+   }
+
+   /**
+    * Calls listener with given error code.
+    * @param listener work context listener
+    * @param errorCode error code
+    */
+   private void fireWorkContextSetupFailed(Object workContext, String errorCode)
+   {
+      if (workContext instanceof WorkContextLifecycleListener)
+      {
+         WorkContextLifecycleListener listener = (WorkContextLifecycleListener)workContext;
+         listener.contextSetupFailed(errorCode);   
+      }
+      
+   }
+
+   /**
+    * Returns true if contexts is a transaction context.
+    * 
+    * @param workContextType context type
+    * @return true if contexts is a transaction context
+    */
+   private boolean isTransactionContext(Class<? extends WorkContext> workContextType)
+   {
+      if (workContextType.isAssignableFrom(TransactionContext.class))
+      {
+         return true;
+      }
+
+      return false;
+   }
+
+   /**
+    * Returns true if contexts is a security context.
+    * 
+    * @param workContextType context type
+    * @return true if contexts is a security context
+    */
+   private boolean isSecurityContext(Class<? extends WorkContext> workContextType)
+   {
+      if (workContextType.isAssignableFrom(SecurityContext.class))
+      {
+         return true;
+      }
+
+      return false;
+   }
+
+   /**
+    * Returns true if contexts is a hint context.
+    * 
+    * @param workContextType context type
+    * @return true if contexts is a hint context
+    */
+   private boolean isHintContext(Class<? extends WorkContext> workContextType)
+   {
+      if (workContextType.isAssignableFrom(HintsContext.class))
+      {
+         return true;
+      }
+
+      return false;
+   }
+
+   /**
+    * Returns work context class if given work context is supported by server,
+    * returns null instance otherwise.
+    * 
+    * @param <T> work context class
+    * @param adaptorWorkContext adaptor supplied work context class
+    * @return work context class
+    */
+   @SuppressWarnings("unchecked")
+   private <T extends WorkContext> Class<T> getSupportedWorkContextClass(Class<T> adaptorWorkContext)
+   {
+      for (Class<? extends WorkContext> supportedWorkContext : SUPPORTED_WORK_CONTEXT_CLASSES)
+      {
+         // Assignable or not
+         if (supportedWorkContext.isAssignableFrom(adaptorWorkContext))
+         {
+            Class clz = adaptorWorkContext;
+
+            while (clz != null)
+            {
+               // Supported by the server
+               if (clz.equals(supportedWorkContext))
+               {
+                  return clz;
+               }
+
+               clz = clz.getSuperclass();
+            }
+         }
+      }
+
+      return null;
+   }
+}

Deleted: projects/jboss-jca/tags/IRONJACAMAR_1_0_0_CR3/core/src/main/java/org/jboss/jca/core/workmanager/WorkWrapper.java
===================================================================
--- projects/jboss-jca/branches/Branch_1_0/core/src/main/java/org/jboss/jca/core/workmanager/WorkWrapper.java	2011-06-28 12:27:24 UTC (rev 111682)
+++ projects/jboss-jca/tags/IRONJACAMAR_1_0_0_CR3/core/src/main/java/org/jboss/jca/core/workmanager/WorkWrapper.java	2011-06-29 14:01:33 UTC (rev 111689)
@@ -1,534 +0,0 @@
-/*
- * JBoss, Home of Professional Open Source.
- * Copyright 2010, Red Hat Middleware LLC, and individual contributors
- * as indicated by the @author tags. See the copyright.txt file in the
- * distribution for a full listing of individual contributors.
- *
- * This is free software; you can redistribute it and/or modify it
- * under the terms of the GNU Lesser General Public License as
- * published by the Free Software Foundation; either version 2.1 of
- * the License, or (at your option) any later version.
- *
- * This software is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public
- * License along with this software; if not, write to the Free
- * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
- * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
- */
-
-package org.jboss.jca.core.workmanager;
-
-import org.jboss.jca.core.CoreBundle;
-import org.jboss.jca.core.CoreLogger;
-
-import java.security.Principal;
-import java.util.ArrayList;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
-import java.util.Set;
-import java.util.concurrent.CountDownLatch;
-
-import javax.resource.spi.work.ExecutionContext;
-import javax.resource.spi.work.TransactionContext;
-import javax.resource.spi.work.Work;
-import javax.resource.spi.work.WorkCompletedException;
-import javax.resource.spi.work.WorkContext;
-import javax.resource.spi.work.WorkContextErrorCodes;
-import javax.resource.spi.work.WorkContextLifecycleListener;
-import javax.resource.spi.work.WorkEvent;
-import javax.resource.spi.work.WorkException;
-import javax.resource.spi.work.WorkListener;
-import javax.security.auth.Subject;
-import javax.security.auth.callback.Callback;
-import javax.security.auth.callback.CallbackHandler;
-import javax.security.auth.message.callback.CallerPrincipalCallback;
-import javax.security.auth.message.callback.GroupPrincipalCallback;
-import javax.security.auth.message.callback.PasswordValidationCallback;
-import javax.transaction.xa.Xid;
-
-import org.jboss.logging.Logger;
-import org.jboss.logging.Messages;
-
-import org.jboss.security.SecurityContextAssociation;
-import org.jboss.security.SecurityContextFactory;
-import org.jboss.security.SimplePrincipal;
-import org.jboss.security.auth.callback.JASPICallbackHandler;
-
-/**
- * Wraps the resource adapter's work.
- *
- * @author <a href="mailto:jesper.pedersen at jboss.org">Jesper Pedersen</a>
- * @version $Revision: 71538 $
- */
-public class WorkWrapper implements Runnable
-{
-   /** The log */
-   private static CoreLogger log = Logger.getMessageLogger(CoreLogger.class, 
-      WorkWrapper.class.getName());
-
-   /** Whether we are tracing */
-   private static boolean trace = log.isTraceEnabled();
-   
-   /** The bundle */
-   private static CoreBundle bundle = Messages.getBundle(CoreBundle.class);
-   
-   /** The work */
-   private Work work;
-
-   /** The execution context */
-   private ExecutionContext executionContext;
-   
-   /**If work is an instance of WorkContextProvider, it may contain WorkContext instances */
-   private Map<Class<? extends WorkContext>, WorkContext> workContexts;
-
-   /** the work listener */
-   private WorkListener workListener;   
-
-   /** The work manager */
-   private org.jboss.jca.core.api.workmanager.WorkManager workManager;
-
-   /** The blocked time */
-   private long blockedTime;
-
-   /** Any exception */
-   private WorkException exception;
-
-   /** Started latch */
-   private CountDownLatch startedLatch;
-
-   /** Completed latch */
-   private CountDownLatch completedLatch;
-
-   /**
-    * Create a new WorkWrapper
-    *
-    * @param workManager the work manager
-    * @param work the work
-    * @param executionContext the execution context
-    * @param workListener the WorkListener
-    * @param startedLatch The latch for when work has started
-    * @param completedLatch The latch for when work has completed
-    * @throws IllegalArgumentException for null work, execution context or a negative start timeout
-    */
-   public WorkWrapper(org.jboss.jca.core.api.workmanager.WorkManager workManager, 
-                      Work work, 
-                      ExecutionContext executionContext, 
-                      WorkListener workListener,
-                      CountDownLatch startedLatch,
-                      CountDownLatch completedLatch)
-   {
-      super();
-
-      if (work == null)
-         throw new IllegalArgumentException("Null work");
-      if (executionContext == null)
-         throw new IllegalArgumentException("Null execution context");
-
-      this.workManager = workManager;
-      this.work = work;
-      this.executionContext = executionContext;
-      this.workListener = workListener;
-      this.startedLatch = startedLatch;
-      this.completedLatch = completedLatch;
-      this.workContexts = null;
-   }
-   
-   /**
-    * Get the work manager
-    *
-    * @return the work manager
-    */
-   public org.jboss.jca.core.api.workmanager.WorkManager getWorkManager()
-   {
-      return workManager;
-   }
-
-   /**
-    * Retrieve the work
-    *
-    * @return the work
-    */
-   public Work getWork()
-   {
-      return work;
-   }
-
-   /**
-    * Retrieve the exection context
-    *
-    * @return the execution context
-    */
-   public ExecutionContext getExecutionContext()
-   {
-      return executionContext;
-   }
-
-   /**
-    * Retrieve the work listener
-    *
-    * @return the WorkListener
-    */
-   public WorkListener getWorkListener()
-   {
-      return workListener;
-   }
-   
-   /**
-    * Get any exception
-    * 
-    * @return the exception or null if there is none
-    */
-   public WorkException getWorkException()
-   {
-      return exception;
-   }
-
-   /**
-    * Run
-    */
-   public void run()
-   {
-      if (trace)
-         log.trace("Starting work " + this);  
-
-      ClassLoader oldCL = SecurityActions.getThreadContextClassLoader();
-      SecurityActions.setThreadContextClassLoader(work.getClass().getClassLoader());
-
-      org.jboss.security.SecurityContext oldSC = SecurityContextAssociation.getSecurityContext();
-
-      try
-      {
-         start();
-
-         if (startedLatch != null)
-            startedLatch.countDown();
-
-         work.run();
-
-         end();
-      }
-      catch (Exception e)
-      {
-         exception = new WorkCompletedException(e);
-
-         cancel();
-      } 
-      finally
-      {
-         work.release();
-
-         if (workListener != null)
-         {
-            WorkEvent event = new WorkEvent(workManager, WorkEvent.WORK_COMPLETED, work, exception);
-            workListener.workCompleted(event);
-         }
-
-         SecurityContextAssociation.setSecurityContext(oldSC);
-         SecurityActions.setThreadContextClassLoader(oldCL);
-
-         if (startedLatch != null)
-         {
-            while (startedLatch.getCount() != 0)
-               startedLatch.countDown();
-         }
-
-         if (completedLatch != null)
-            completedLatch.countDown();
-
-         if (trace)
-            log.trace("Executed work " + this);
-      }
-   }
-
-   /**
-    * Start
-    * @throws WorkException for any error 
-    */
-   protected void start() throws WorkException
-   {
-      if (trace)
-      {
-         log.trace("Starting work " + this);  
-      }
-
-      // Transaction setup
-      ExecutionContext ctx = getWorkContext(TransactionContext.class);
-      if (ctx == null)
-      {
-         ctx = getExecutionContext();
-      }
-      
-      if (ctx != null)
-      {
-         Xid xid = ctx.getXid();
-         if (xid != null)
-         {
-            //JBAS-4002 base value is in seconds as per the API, here we convert to millis
-            long timeout = (ctx.getTransactionTimeout() * 1000);
-            workManager.getXATerminator().registerWork(work, xid, timeout);
-         }
-      }
-
-      // Security setup
-      javax.resource.spi.work.SecurityContext securityContext = 
-         getWorkContext(javax.resource.spi.work.SecurityContext.class);
-      if (securityContext != null && workManager.getCallbackSecurity() != null)
-      {
-         try
-         {
-            org.jboss.security.SecurityContext sc = 
-               SecurityContextFactory.createSecurityContext(workManager.getCallbackSecurity().getDomain());
-            SecurityContextAssociation.setSecurityContext(sc);
-
-            // Setup callbacks
-            CallbackHandler cbh = new JASPICallbackHandler();
-            List<Callback> callbacks = new ArrayList<Callback>();
-
-            Set<String> users = workManager.getCallbackSecurity().getUsers();
-
-            if (users != null && users.size() > 0)
-            {
-               for (String user : users)
-               {
-                  Subject subject = new Subject();
-                  Principal principal = new SimplePrincipal(user);
-                  char[] cred = workManager.getCallbackSecurity().getCredential(user);
-                  String[] roles = workManager.getCallbackSecurity().getRoles(user);
-
-                  GroupPrincipalCallback gpc = new GroupPrincipalCallback(subject, roles);
-                  CallerPrincipalCallback cpc = new CallerPrincipalCallback(subject, principal);
-                  PasswordValidationCallback pvc = new PasswordValidationCallback(subject, principal.getName(), cred);
-
-                  callbacks.add(gpc);
-                  callbacks.add(cpc);
-                  callbacks.add(pvc);
-               }
-            }
-            else
-            {
-               if (log.isDebugEnabled())
-                  log.debug("No users defined");
-            }
-
-            Callback[] cb = new Callback[callbacks.size()];
-            cbh.handle(callbacks.toArray(cb));
-
-            // Subjects for execution environment
-            Subject executionSubject = new Subject();
-            Subject serviceSubject = null;
-         
-            // Resource adapter callback
-            securityContext.setupSecurityContext(cbh, executionSubject, serviceSubject);
-
-            // Set the authenticated subject
-            sc.getSubjectInfo().setAuthenticatedSubject(executionSubject);
-         }
-         catch (Throwable t)
-         {
-            log.securityContextSetupFailed(t.getMessage(), t);
-            fireWorkContextSetupFailed(ctx);
-            throw new WorkException(bundle.securityContextSetupFailed(t.getMessage()), t);
-         }
-      }
-      else if (securityContext != null && workManager.getCallbackSecurity() == null)
-      {
-         log.securityContextSetupFailedCallbackSecurityNull();
-         fireWorkContextSetupFailed(ctx);
-         throw new WorkException(bundle.securityContextSetupFailedSinceCallbackSecurityWasNull());
-      }
-      
-      //Fires Context setup complete
-      fireWorkContextSetupComplete(ctx);
-      
-      if (ctx != null)
-      {
-         Xid xid = ctx.getXid();
-         if (xid != null)
-         {
-            workManager.getXATerminator().startWork(work, xid);
-         }
-      }
-
-      if (workListener != null)
-      {
-         WorkEvent event = new WorkEvent(workManager, WorkEvent.WORK_STARTED, work, null);
-         workListener.workStarted(event);
-      }
-
-      if (trace)
-      {
-         log.trace("Started work " + this);  
-      }
-   }
-
-   /**
-    * End
-    */
-   protected void end()
-   {
-      if (trace)
-      {
-         log.trace("Ending work " + this);  
-      }
-
-      ExecutionContext ctx = getWorkContext(TransactionContext.class);
-      if (ctx == null)
-      {
-         ctx = getExecutionContext();
-      }
-
-      if (ctx != null)
-      {
-         Xid xid = ctx.getXid();
-         if (xid != null)
-         {
-            workManager.getXATerminator().endWork(work, xid);
-         }
-      }
-
-      if (trace)
-      {
-         log.trace("Ended work " + this);  
-      }
-   }
-
-   /**
-    * Cancel
-    */
-   protected void cancel()
-   {
-      if (trace)
-         log.trace("Cancel work " + this);  
-
-      ExecutionContext ctx = getWorkContext(TransactionContext.class);
-      if (ctx == null)
-      {
-         ctx = getExecutionContext();
-      }
-
-      if (ctx != null)
-      {
-         Xid xid = ctx.getXid();
-         if (xid != null)
-         {
-            workManager.getXATerminator().cancelWork(work, xid);
-         }
-      }
-
-      if (trace)
-         log.trace("Canceled work " + this);  
-   }
-
-   /**
-    * Returns work context instance.
-    * 
-    * @param <T> class type info
-    * @param workContextClass work context type
-    * @return work context instance
-    */
-   public <T> T getWorkContext(Class<T> workContextClass)
-   {
-      T instance = null;
-
-      if (workContexts != null && workContexts.containsKey(workContextClass))
-      {
-         instance = workContextClass.cast(workContexts.get(workContextClass));
-      }
-
-      return instance;
-   }
-
-   /**
-    * Adds new work context.
-    * 
-    * @param workContext new work context
-    * @param workContextClass work context class
-    */
-   public void addWorkContext(Class<? extends WorkContext> workContextClass, WorkContext workContext)
-   {
-      if (workContextClass == null)
-      {
-         throw new IllegalArgumentException("Work context class is null");
-      }
-
-      if (workContext == null)
-      {
-         throw new IllegalArgumentException("Work context is null");
-      }
-
-      if (workContexts == null)
-      {
-         workContexts = new HashMap<Class<? extends WorkContext>, WorkContext>(1);
-      }
-
-      if (trace)
-         log.tracef("Adding work context %s for %s", workContextClass, this);  
-
-      workContexts.put(workContextClass, workContext);
-   }
-   
-   /**
-    * Calls listener after work context is setted up.
-    * @param listener work context listener
-    */
-   private void fireWorkContextSetupComplete(Object workContext)
-   {
-      if (workContext != null && workContext instanceof WorkContextLifecycleListener)
-      {
-         if (trace)
-            log.tracef("WorkContextSetupComplete(%s) for %s", workContext, this);  
-
-         WorkContextLifecycleListener listener = (WorkContextLifecycleListener)workContext;
-         listener.contextSetupComplete();   
-      }
-   }
-   
-   /**
-    * Calls listener if setup failed
-    * @param listener work context listener
-    */
-   private void fireWorkContextSetupFailed(Object workContext)
-   {
-      if (workContext != null && workContext instanceof WorkContextLifecycleListener)
-      {
-         if (trace)
-            log.tracef("WorkContextSetupFailed(%s) for %s", workContext, this);  
-
-         WorkContextLifecycleListener listener = (WorkContextLifecycleListener)workContext;
-         listener.contextSetupFailed(WorkContextErrorCodes.CONTEXT_SETUP_FAILED);   
-      }
-   }
-   
-   /**
-    * String representation
-    * @return The string
-    */
-   public String toString()
-   {
-      StringBuilder buffer = new StringBuilder(100);
-      buffer.append("WorkWrapper@").append(Integer.toHexString(System.identityHashCode(this)));
-      buffer.append("[workManger=").append(workManager);
-      buffer.append(" work=").append(work);
-
-      if (executionContext != null && executionContext.getXid() != null)
-      {
-         buffer.append(" xid=").append(executionContext.getXid());
-         buffer.append(" txTimeout=").append(executionContext.getTransactionTimeout());
-      }
-
-      buffer.append(" workListener=").append(workListener);
-
-      buffer.append(" workContexts=").append(workContexts);
-
-      buffer.append(" exception=").append(exception);
-
-      buffer.append("]");
-
-      return buffer.toString();
-   }
-}

Copied: projects/jboss-jca/tags/IRONJACAMAR_1_0_0_CR3/core/src/main/java/org/jboss/jca/core/workmanager/WorkWrapper.java (from rev 111685, projects/jboss-jca/branches/Branch_1_0/core/src/main/java/org/jboss/jca/core/workmanager/WorkWrapper.java)
===================================================================
--- projects/jboss-jca/tags/IRONJACAMAR_1_0_0_CR3/core/src/main/java/org/jboss/jca/core/workmanager/WorkWrapper.java	                        (rev 0)
+++ projects/jboss-jca/tags/IRONJACAMAR_1_0_0_CR3/core/src/main/java/org/jboss/jca/core/workmanager/WorkWrapper.java	2011-06-29 14:01:33 UTC (rev 111689)
@@ -0,0 +1,536 @@
+/*
+ * JBoss, Home of Professional Open Source.
+ * Copyright 2010, Red Hat Middleware LLC, and individual contributors
+ * as indicated by the @author tags. See the copyright.txt file in the
+ * distribution for a full listing of individual contributors.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ */
+
+package org.jboss.jca.core.workmanager;
+
+import org.jboss.jca.core.CoreBundle;
+import org.jboss.jca.core.CoreLogger;
+
+import java.security.Principal;
+import java.util.ArrayList;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+import java.util.Set;
+import java.util.concurrent.CountDownLatch;
+
+import javax.resource.spi.work.ExecutionContext;
+import javax.resource.spi.work.TransactionContext;
+import javax.resource.spi.work.Work;
+import javax.resource.spi.work.WorkCompletedException;
+import javax.resource.spi.work.WorkContext;
+import javax.resource.spi.work.WorkContextErrorCodes;
+import javax.resource.spi.work.WorkContextLifecycleListener;
+import javax.resource.spi.work.WorkEvent;
+import javax.resource.spi.work.WorkException;
+import javax.resource.spi.work.WorkListener;
+import javax.security.auth.Subject;
+import javax.security.auth.callback.Callback;
+import javax.security.auth.callback.CallbackHandler;
+import javax.security.auth.message.callback.CallerPrincipalCallback;
+import javax.security.auth.message.callback.GroupPrincipalCallback;
+import javax.security.auth.message.callback.PasswordValidationCallback;
+import javax.transaction.xa.Xid;
+
+import org.jboss.logging.Logger;
+import org.jboss.logging.Messages;
+
+import org.jboss.security.SecurityContextAssociation;
+import org.jboss.security.SecurityContextFactory;
+import org.jboss.security.SimplePrincipal;
+import org.jboss.security.auth.callback.JASPICallbackHandler;
+
+/**
+ * Wraps the resource adapter's work.
+ *
+ * @author <a href="mailto:jesper.pedersen at jboss.org">Jesper Pedersen</a>
+ * @version $Revision: 71538 $
+ */
+public class WorkWrapper implements Runnable
+{
+   /** The log */
+   private static CoreLogger log = Logger.getMessageLogger(CoreLogger.class, 
+      WorkWrapper.class.getName());
+
+   /** Whether we are tracing */
+   private static boolean trace = log.isTraceEnabled();
+   
+   /** The bundle */
+   private static CoreBundle bundle = Messages.getBundle(CoreBundle.class);
+   
+   /** The work */
+   private Work work;
+
+   /** The execution context */
+   private ExecutionContext executionContext;
+   
+   /**If work is an instance of WorkContextProvider, it may contain WorkContext instances */
+   private Map<Class<? extends WorkContext>, WorkContext> workContexts;
+
+   /** the work listener */
+   private WorkListener workListener;   
+
+   /** The work manager */
+   private WorkManagerImpl workManager;
+
+   /** The blocked time */
+   private long blockedTime;
+
+   /** Any exception */
+   private WorkException exception;
+
+   /** Started latch */
+   private CountDownLatch startedLatch;
+
+   /** Completed latch */
+   private CountDownLatch completedLatch;
+
+   /**
+    * Create a new WorkWrapper
+    *
+    * @param workManager the work manager
+    * @param work the work
+    * @param executionContext the execution context
+    * @param workListener the WorkListener
+    * @param startedLatch The latch for when work has started
+    * @param completedLatch The latch for when work has completed
+    * @throws IllegalArgumentException for null work, execution context or a negative start timeout
+    */
+   public WorkWrapper(WorkManagerImpl workManager, 
+                      Work work, 
+                      ExecutionContext executionContext, 
+                      WorkListener workListener,
+                      CountDownLatch startedLatch,
+                      CountDownLatch completedLatch)
+   {
+      super();
+
+      if (work == null)
+         throw new IllegalArgumentException("Null work");
+      if (executionContext == null)
+         throw new IllegalArgumentException("Null execution context");
+
+      this.workManager = workManager;
+      this.work = work;
+      this.executionContext = executionContext;
+      this.workListener = workListener;
+      this.startedLatch = startedLatch;
+      this.completedLatch = completedLatch;
+      this.workContexts = null;
+   }
+   
+   /**
+    * Get the work manager
+    *
+    * @return the work manager
+    */
+   public org.jboss.jca.core.api.workmanager.WorkManager getWorkManager()
+   {
+      return workManager;
+   }
+
+   /**
+    * Retrieve the work
+    *
+    * @return the work
+    */
+   public Work getWork()
+   {
+      return work;
+   }
+
+   /**
+    * Retrieve the exection context
+    *
+    * @return the execution context
+    */
+   public ExecutionContext getExecutionContext()
+   {
+      return executionContext;
+   }
+
+   /**
+    * Retrieve the work listener
+    *
+    * @return the WorkListener
+    */
+   public WorkListener getWorkListener()
+   {
+      return workListener;
+   }
+   
+   /**
+    * Get any exception
+    * 
+    * @return the exception or null if there is none
+    */
+   public WorkException getWorkException()
+   {
+      return exception;
+   }
+
+   /**
+    * Run
+    */
+   public void run()
+   {
+      if (trace)
+         log.trace("Starting work " + this);  
+
+      ClassLoader oldCL = SecurityActions.getThreadContextClassLoader();
+      SecurityActions.setThreadContextClassLoader(work.getClass().getClassLoader());
+
+      org.jboss.security.SecurityContext oldSC = SecurityContextAssociation.getSecurityContext();
+
+      try
+      {
+         start();
+         workManager.addWorkWrapper(this);
+
+         if (startedLatch != null)
+            startedLatch.countDown();
+
+         work.run();
+
+         end();
+      }
+      catch (Exception e)
+      {
+         exception = new WorkCompletedException(e);
+
+         cancel();
+      } 
+      finally
+      {
+         workManager.removeWorkWrapper(this);
+         work.release();
+
+         if (workListener != null)
+         {
+            WorkEvent event = new WorkEvent(workManager, WorkEvent.WORK_COMPLETED, work, exception);
+            workListener.workCompleted(event);
+         }
+
+         SecurityContextAssociation.setSecurityContext(oldSC);
+         SecurityActions.setThreadContextClassLoader(oldCL);
+
+         if (startedLatch != null)
+         {
+            while (startedLatch.getCount() != 0)
+               startedLatch.countDown();
+         }
+
+         if (completedLatch != null)
+            completedLatch.countDown();
+
+         if (trace)
+            log.trace("Executed work " + this);
+      }
+   }
+
+   /**
+    * Start
+    * @throws WorkException for any error 
+    */
+   protected void start() throws WorkException
+   {
+      if (trace)
+      {
+         log.trace("Starting work " + this);  
+      }
+
+      // Transaction setup
+      ExecutionContext ctx = getWorkContext(TransactionContext.class);
+      if (ctx == null)
+      {
+         ctx = getExecutionContext();
+      }
+      
+      if (ctx != null)
+      {
+         Xid xid = ctx.getXid();
+         if (xid != null)
+         {
+            //JBAS-4002 base value is in seconds as per the API, here we convert to millis
+            long timeout = (ctx.getTransactionTimeout() * 1000);
+            workManager.getXATerminator().registerWork(work, xid, timeout);
+         }
+      }
+
+      // Security setup
+      javax.resource.spi.work.SecurityContext securityContext = 
+         getWorkContext(javax.resource.spi.work.SecurityContext.class);
+      if (securityContext != null && workManager.getCallbackSecurity() != null)
+      {
+         try
+         {
+            org.jboss.security.SecurityContext sc = 
+               SecurityContextFactory.createSecurityContext(workManager.getCallbackSecurity().getDomain());
+            SecurityContextAssociation.setSecurityContext(sc);
+
+            // Setup callbacks
+            CallbackHandler cbh = new JASPICallbackHandler();
+            List<Callback> callbacks = new ArrayList<Callback>();
+
+            Set<String> users = workManager.getCallbackSecurity().getUsers();
+
+            if (users != null && users.size() > 0)
+            {
+               for (String user : users)
+               {
+                  Subject subject = new Subject();
+                  Principal principal = new SimplePrincipal(user);
+                  char[] cred = workManager.getCallbackSecurity().getCredential(user);
+                  String[] roles = workManager.getCallbackSecurity().getRoles(user);
+
+                  GroupPrincipalCallback gpc = new GroupPrincipalCallback(subject, roles);
+                  CallerPrincipalCallback cpc = new CallerPrincipalCallback(subject, principal);
+                  PasswordValidationCallback pvc = new PasswordValidationCallback(subject, principal.getName(), cred);
+
+                  callbacks.add(gpc);
+                  callbacks.add(cpc);
+                  callbacks.add(pvc);
+               }
+            }
+            else
+            {
+               if (log.isDebugEnabled())
+                  log.debug("No users defined");
+            }
+
+            Callback[] cb = new Callback[callbacks.size()];
+            cbh.handle(callbacks.toArray(cb));
+
+            // Subjects for execution environment
+            Subject executionSubject = new Subject();
+            Subject serviceSubject = null;
+         
+            // Resource adapter callback
+            securityContext.setupSecurityContext(cbh, executionSubject, serviceSubject);
+
+            // Set the authenticated subject
+            sc.getSubjectInfo().setAuthenticatedSubject(executionSubject);
+         }
+         catch (Throwable t)
+         {
+            log.securityContextSetupFailed(t.getMessage(), t);
+            fireWorkContextSetupFailed(ctx);
+            throw new WorkException(bundle.securityContextSetupFailed(t.getMessage()), t);
+         }
+      }
+      else if (securityContext != null && workManager.getCallbackSecurity() == null)
+      {
+         log.securityContextSetupFailedCallbackSecurityNull();
+         fireWorkContextSetupFailed(ctx);
+         throw new WorkException(bundle.securityContextSetupFailedSinceCallbackSecurityWasNull());
+      }
+      
+      //Fires Context setup complete
+      fireWorkContextSetupComplete(ctx);
+      
+      if (ctx != null)
+      {
+         Xid xid = ctx.getXid();
+         if (xid != null)
+         {
+            workManager.getXATerminator().startWork(work, xid);
+         }
+      }
+
+      if (workListener != null)
+      {
+         WorkEvent event = new WorkEvent(workManager, WorkEvent.WORK_STARTED, work, null);
+         workListener.workStarted(event);
+      }
+
+      if (trace)
+      {
+         log.trace("Started work " + this);  
+      }
+   }
+
+   /**
+    * End
+    */
+   protected void end()
+   {
+      if (trace)
+      {
+         log.trace("Ending work " + this);  
+      }
+
+      ExecutionContext ctx = getWorkContext(TransactionContext.class);
+      if (ctx == null)
+      {
+         ctx = getExecutionContext();
+      }
+
+      if (ctx != null)
+      {
+         Xid xid = ctx.getXid();
+         if (xid != null)
+         {
+            workManager.getXATerminator().endWork(work, xid);
+         }
+      }
+
+      if (trace)
+      {
+         log.trace("Ended work " + this);  
+      }
+   }
+
+   /**
+    * Cancel
+    */
+   protected void cancel()
+   {
+      if (trace)
+         log.trace("Cancel work " + this);  
+
+      ExecutionContext ctx = getWorkContext(TransactionContext.class);
+      if (ctx == null)
+      {
+         ctx = getExecutionContext();
+      }
+
+      if (ctx != null)
+      {
+         Xid xid = ctx.getXid();
+         if (xid != null)
+         {
+            workManager.getXATerminator().cancelWork(work, xid);
+         }
+      }
+
+      if (trace)
+         log.trace("Canceled work " + this);  
+   }
+
+   /**
+    * Returns work context instance.
+    * 
+    * @param <T> class type info
+    * @param workContextClass work context type
+    * @return work context instance
+    */
+   public <T> T getWorkContext(Class<T> workContextClass)
+   {
+      T instance = null;
+
+      if (workContexts != null && workContexts.containsKey(workContextClass))
+      {
+         instance = workContextClass.cast(workContexts.get(workContextClass));
+      }
+
+      return instance;
+   }
+
+   /**
+    * Adds new work context.
+    * 
+    * @param workContext new work context
+    * @param workContextClass work context class
+    */
+   public void addWorkContext(Class<? extends WorkContext> workContextClass, WorkContext workContext)
+   {
+      if (workContextClass == null)
+      {
+         throw new IllegalArgumentException("Work context class is null");
+      }
+
+      if (workContext == null)
+      {
+         throw new IllegalArgumentException("Work context is null");
+      }
+
+      if (workContexts == null)
+      {
+         workContexts = new HashMap<Class<? extends WorkContext>, WorkContext>(1);
+      }
+
+      if (trace)
+         log.tracef("Adding work context %s for %s", workContextClass, this);  
+
+      workContexts.put(workContextClass, workContext);
+   }
+   
+   /**
+    * Calls listener after work context is setted up.
+    * @param listener work context listener
+    */
+   private void fireWorkContextSetupComplete(Object workContext)
+   {
+      if (workContext != null && workContext instanceof WorkContextLifecycleListener)
+      {
+         if (trace)
+            log.tracef("WorkContextSetupComplete(%s) for %s", workContext, this);  
+
+         WorkContextLifecycleListener listener = (WorkContextLifecycleListener)workContext;
+         listener.contextSetupComplete();   
+      }
+   }
+   
+   /**
+    * Calls listener if setup failed
+    * @param listener work context listener
+    */
+   private void fireWorkContextSetupFailed(Object workContext)
+   {
+      if (workContext != null && workContext instanceof WorkContextLifecycleListener)
+      {
+         if (trace)
+            log.tracef("WorkContextSetupFailed(%s) for %s", workContext, this);  
+
+         WorkContextLifecycleListener listener = (WorkContextLifecycleListener)workContext;
+         listener.contextSetupFailed(WorkContextErrorCodes.CONTEXT_SETUP_FAILED);   
+      }
+   }
+   
+   /**
+    * String representation
+    * @return The string
+    */
+   public String toString()
+   {
+      StringBuilder buffer = new StringBuilder(100);
+      buffer.append("WorkWrapper@").append(Integer.toHexString(System.identityHashCode(this)));
+      buffer.append("[workManger=").append(workManager);
+      buffer.append(" work=").append(work);
+
+      if (executionContext != null && executionContext.getXid() != null)
+      {
+         buffer.append(" xid=").append(executionContext.getXid());
+         buffer.append(" txTimeout=").append(executionContext.getTransactionTimeout());
+      }
+
+      buffer.append(" workListener=").append(workListener);
+
+      buffer.append(" workContexts=").append(workContexts);
+
+      buffer.append(" exception=").append(exception);
+
+      buffer.append("]");
+
+      return buffer.toString();
+   }
+}

Copied: projects/jboss-jca/tags/IRONJACAMAR_1_0_0_CR3/core/src/test/java/org/jboss/jca/core/workmanager/unit/WorkManagerGracefulShutdownTestCase.java (from rev 111685, projects/jboss-jca/branches/Branch_1_0/core/src/test/java/org/jboss/jca/core/workmanager/unit/WorkManagerGracefulShutdownTestCase.java)
===================================================================
--- projects/jboss-jca/tags/IRONJACAMAR_1_0_0_CR3/core/src/test/java/org/jboss/jca/core/workmanager/unit/WorkManagerGracefulShutdownTestCase.java	                        (rev 0)
+++ projects/jboss-jca/tags/IRONJACAMAR_1_0_0_CR3/core/src/test/java/org/jboss/jca/core/workmanager/unit/WorkManagerGracefulShutdownTestCase.java	2011-06-29 14:01:33 UTC (rev 111689)
@@ -0,0 +1,196 @@
+/*
+ * JBoss, Home of Professional Open Source.
+ * Copyright 2011, Red Hat Middleware LLC, and individual contributors
+ * as indicated by the @author tags. See the copyright.txt file in the
+ * distribution for a full listing of individual contributors.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ */
+
+package org.jboss.jca.core.workmanager.unit;
+
+import org.jboss.jca.core.api.workmanager.WorkManager;
+import org.jboss.jca.embedded.Embedded;
+import org.jboss.jca.embedded.EmbeddedFactory;
+
+import javax.resource.spi.work.Work;
+import javax.resource.spi.work.WorkRejectedException;
+
+import org.jboss.logging.Logger;
+
+import org.junit.After;
+import org.junit.Before;
+import org.junit.Test;
+import static org.junit.Assert.*;
+
+/**
+ * Work manager test cases for graceful shutdown
+ * 
+ * @author <a href="mailto:jesper.pedersen at jboss.org">Jesper Pedersen</a>
+ */
+public class WorkManagerGracefulShutdownTestCase
+{
+
+   // --------------------------------------------------------------------------------||
+   // Class Members ------------------------------------------------------------------||
+   // --------------------------------------------------------------------------------||
+
+   private static final Logger LOG = Logger.getLogger(WorkManagerGracefulShutdownTestCase.class);
+
+   /*
+    * Embedded
+    */
+   private Embedded embedded;
+
+   /**
+    * Work manager
+    */
+   private WorkManager workManager;
+
+   // --------------------------------------------------------------------------------||
+   // Tests --------------------------------------------------------------------------||
+   // --------------------------------------------------------------------------------||
+
+   /**
+    * Test graceful shutdown
+    * @throws Throwable throwable exception 
+    */
+   @Test
+   public void testShutdown() throws Throwable
+   {
+      assertFalse(workManager.isShutdown());
+
+      workManager.prepareShutdown();
+
+      assertTrue(workManager.isShutdown());
+   }
+
+   /**
+    * Test doWork
+    * @throws Throwable throwable exception 
+    */
+   @Test(expected = WorkRejectedException.class)
+   public void testDoWork() throws Throwable
+   {
+      workManager.prepareShutdown();
+
+      workManager.doWork(new Work()
+         {
+            /**
+             * Run
+             */
+            public void run()
+            {
+            }
+
+            /**
+             * Release
+             */
+            public void release()
+            {
+            }
+         });
+   }
+
+   /**
+    * Test startWork
+    * @throws Throwable throwable exception 
+    */
+   @Test(expected = WorkRejectedException.class)
+   public void testStartWork() throws Throwable
+   {
+      workManager.prepareShutdown();
+
+      workManager.startWork(new Work()
+         {
+            /**
+             * Run
+             */
+            public void run()
+            {
+            }
+
+            /**
+             * Release
+             */
+            public void release()
+            {
+            }
+         });
+   }
+
+   /**
+    * Test scheduleWork
+    * @throws Throwable throwable exception 
+    */
+   @Test(expected = WorkRejectedException.class)
+   public void testScheduleWork() throws Throwable
+   {
+      workManager.prepareShutdown();
+
+      workManager.scheduleWork(new Work()
+         {
+            /**
+             * Run
+             */
+            public void run()
+            {
+            }
+
+            /**
+             * Release
+             */
+            public void release()
+            {
+            }
+         });
+   }
+
+   // --------------------------------------------------------------------------------||
+   // Lifecycle Methods --------------------------------------------------------------||
+   // --------------------------------------------------------------------------------||
+
+   /**
+    * Lifecycle start, before the suite is executed
+    * @throws Throwable throwable exception 
+    */
+   @Before
+   public void before() throws Throwable
+   {
+      // Create and set an embedded JCA instance
+      embedded = EmbeddedFactory.create();
+
+      // Startup
+      embedded.startup();
+
+      workManager = embedded.lookup("WorkManager", WorkManager.class);
+      assertNotNull(workManager);
+   }
+
+   /**
+    * Lifecycle stop, after the suite is executed
+    * @throws Throwable throwable exception 
+    */
+   @After
+   public void after() throws Throwable
+   {
+      // Shutdown embedded
+      embedded.shutdown();
+
+      // Set embedded to null
+      embedded = null;
+   }
+}

Deleted: projects/jboss-jca/tags/IRONJACAMAR_1_0_0_CR3/core/src/test/resources/rejecting-workmanager.xml
===================================================================
--- projects/jboss-jca/branches/Branch_1_0/core/src/test/resources/rejecting-workmanager.xml	2011-06-28 12:27:24 UTC (rev 111682)
+++ projects/jboss-jca/tags/IRONJACAMAR_1_0_0_CR3/core/src/test/resources/rejecting-workmanager.xml	2011-06-29 14:01:33 UTC (rev 111689)
@@ -1,32 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-
-<deployment>
-
-  <!-- Short running thread pool -->
-  <bean name="ShortRunningThreadPool">
-    <constructor factoryMethod="blockingRejectingExecutor" 
-                 factoryClass="org.jboss.threads.JBossExecutors"/>
-  </bean>
-
-  <!-- Long running thread pool -->
-  <bean name="LongRunningThreadPool">
-    <constructor factoryMethod="blockingRejectingExecutor" 
-                 factoryClass="org.jboss.threads.JBossExecutors"/>
-  </bean>
-
-  <!-- Work Manager -->
-  <bean name="WorkManager" 
-        interface="org.jboss.jca.core.api.WorkManager" 
-        class="org.jboss.jca.core.workmanager.WorkManagerImpl">
-
-    <!-- The short running thread pool -->
-    <property name="ShortRunningThreadPool"><inject bean="ShortRunningThreadPool"/></property>
-
-    <!-- The long running thread pool -->
-    <property name="LongRunningThreadPool"><inject bean="LongRunningThreadPool"/></property>
-
-    <!-- The XA terminator -->
-    <property name="XATerminator"><inject bean="TransactionIntegration" property="XATerminator"/></property>
-  </bean>
-
-</deployment>

Copied: projects/jboss-jca/tags/IRONJACAMAR_1_0_0_CR3/core/src/test/resources/rejecting-workmanager.xml (from rev 111685, projects/jboss-jca/branches/Branch_1_0/core/src/test/resources/rejecting-workmanager.xml)
===================================================================
--- projects/jboss-jca/tags/IRONJACAMAR_1_0_0_CR3/core/src/test/resources/rejecting-workmanager.xml	                        (rev 0)
+++ projects/jboss-jca/tags/IRONJACAMAR_1_0_0_CR3/core/src/test/resources/rejecting-workmanager.xml	2011-06-29 14:01:33 UTC (rev 111689)
@@ -0,0 +1,34 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<deployment>
+
+  <!-- Short running thread pool -->
+  <bean name="ShortRunningThreadPool">
+    <constructor factoryMethod="blockingRejectingExecutor" 
+                 factoryClass="org.jboss.threads.JBossExecutors"/>
+  </bean>
+
+  <!-- Long running thread pool -->
+  <bean name="LongRunningThreadPool">
+    <constructor factoryMethod="blockingRejectingExecutor" 
+                 factoryClass="org.jboss.threads.JBossExecutors"/>
+  </bean>
+
+  <!-- Work Manager -->
+  <bean name="WorkManager" 
+        interface="org.jboss.jca.core.api.WorkManager" 
+        class="org.jboss.jca.core.workmanager.WorkManagerImpl">
+
+    <!-- The short running thread pool -->
+    <property name="ShortRunningThreadPool"><inject bean="ShortRunningThreadPool"/></property>
+
+    <!-- The long running thread pool -->
+    <property name="LongRunningThreadPool"><inject bean="LongRunningThreadPool"/></property>
+
+    <!-- The XA terminator -->
+    <property name="XATerminator"><inject bean="TransactionIntegration" property="XATerminator"/></property>
+
+    <destroy method="shutdown"/>
+  </bean>
+
+</deployment>

Deleted: projects/jboss-jca/tags/IRONJACAMAR_1_0_0_CR3/core/src/test/resources/workmanager.xml
===================================================================
--- projects/jboss-jca/branches/Branch_1_0/core/src/test/resources/workmanager.xml	2011-06-28 12:27:24 UTC (rev 111682)
+++ projects/jboss-jca/tags/IRONJACAMAR_1_0_0_CR3/core/src/test/resources/workmanager.xml	2011-06-29 14:01:33 UTC (rev 111689)
@@ -1,60 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-
-<deployment>
-
-  <!-- Thread group -->
-  <bean name="ThreadGroup"
-        class="java.lang.ThreadGroup">
-    <constructor>
-      <parameter>workmanager</parameter>
-    </constructor>
-    <ignoreStop/>
-    <ignoreDestroy/>
-  </bean>
-
-  <!-- Thread factory -->
-  <bean name="ThreadFactory"
-        interface="java.util.concurrent.ThreadFactory"
-        class="org.jboss.threads.JBossThreadFactory">
-    <constructor>
-      <parameter><inject bean="ThreadGroup"/></parameter>
-      <parameter>false</parameter>
-      <parameter>5</parameter>
-      <parameter>work</parameter>
-      <parameter><null/></parameter>
-      <parameter><null/></parameter>
-    </constructor>
-  </bean>
-
-  <!-- Short running thread pool -->
-  <bean name="ShortRunningThreadPool">
-    <constructor factoryMethod="threadFactoryExecutor" 
-                 factoryClass="org.jboss.threads.JBossExecutors">
-      <parameter><inject bean="ThreadFactory"/></parameter>
-    </constructor>
-  </bean>
-
-  <!-- Long running thread pool -->
-  <bean name="LongRunningThreadPool">
-    <constructor factoryMethod="threadFactoryExecutor" 
-                 factoryClass="org.jboss.threads.JBossExecutors">
-      <parameter><inject bean="ThreadFactory"/></parameter>
-    </constructor>
-  </bean>
-
-  <!-- Work Manager -->
-  <bean name="WorkManager" 
-        interface="org.jboss.jca.core.api.WorkManager" 
-        class="org.jboss.jca.core.workmanager.WorkManagerImpl">
-
-    <!-- The short running thread pool -->
-    <property name="ShortRunningThreadPool"><inject bean="ShortRunningThreadPool"/></property>
-
-    <!-- The long running thread pool -->
-    <property name="LongRunningThreadPool"><inject bean="LongRunningThreadPool"/></property>
-
-    <!-- The XA terminator -->
-    <property name="XATerminator"><inject bean="TransactionIntegration" property="XATerminator"/></property>
-  </bean>
-
-</deployment>

Copied: projects/jboss-jca/tags/IRONJACAMAR_1_0_0_CR3/core/src/test/resources/workmanager.xml (from rev 111685, projects/jboss-jca/branches/Branch_1_0/core/src/test/resources/workmanager.xml)
===================================================================
--- projects/jboss-jca/tags/IRONJACAMAR_1_0_0_CR3/core/src/test/resources/workmanager.xml	                        (rev 0)
+++ projects/jboss-jca/tags/IRONJACAMAR_1_0_0_CR3/core/src/test/resources/workmanager.xml	2011-06-29 14:01:33 UTC (rev 111689)
@@ -0,0 +1,62 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<deployment>
+
+  <!-- Thread group -->
+  <bean name="ThreadGroup"
+        class="java.lang.ThreadGroup">
+    <constructor>
+      <parameter>workmanager</parameter>
+    </constructor>
+    <ignoreStop/>
+    <ignoreDestroy/>
+  </bean>
+
+  <!-- Thread factory -->
+  <bean name="ThreadFactory"
+        interface="java.util.concurrent.ThreadFactory"
+        class="org.jboss.threads.JBossThreadFactory">
+    <constructor>
+      <parameter><inject bean="ThreadGroup"/></parameter>
+      <parameter>false</parameter>
+      <parameter>5</parameter>
+      <parameter>work</parameter>
+      <parameter><null/></parameter>
+      <parameter><null/></parameter>
+    </constructor>
+  </bean>
+
+  <!-- Short running thread pool -->
+  <bean name="ShortRunningThreadPool">
+    <constructor factoryMethod="threadFactoryExecutor" 
+                 factoryClass="org.jboss.threads.JBossExecutors">
+      <parameter><inject bean="ThreadFactory"/></parameter>
+    </constructor>
+  </bean>
+
+  <!-- Long running thread pool -->
+  <bean name="LongRunningThreadPool">
+    <constructor factoryMethod="threadFactoryExecutor" 
+                 factoryClass="org.jboss.threads.JBossExecutors">
+      <parameter><inject bean="ThreadFactory"/></parameter>
+    </constructor>
+  </bean>
+
+  <!-- Work Manager -->
+  <bean name="WorkManager" 
+        interface="org.jboss.jca.core.api.WorkManager" 
+        class="org.jboss.jca.core.workmanager.WorkManagerImpl">
+
+    <!-- The short running thread pool -->
+    <property name="ShortRunningThreadPool"><inject bean="ShortRunningThreadPool"/></property>
+
+    <!-- The long running thread pool -->
+    <property name="LongRunningThreadPool"><inject bean="LongRunningThreadPool"/></property>
+
+    <!-- The XA terminator -->
+    <property name="XATerminator"><inject bean="TransactionIntegration" property="XATerminator"/></property>
+
+    <destroy method="shutdown"/>
+  </bean>
+
+</deployment>

Deleted: projects/jboss-jca/tags/IRONJACAMAR_1_0_0_CR3/doc/userguide/en-US/modules/download.xml
===================================================================
--- projects/jboss-jca/branches/Branch_1_0/doc/userguide/en-US/modules/download.xml	2011-06-28 12:27:24 UTC (rev 111682)
+++ projects/jboss-jca/tags/IRONJACAMAR_1_0_0_CR3/doc/userguide/en-US/modules/download.xml	2011-06-29 14:01:33 UTC (rev 111689)
@@ -1,209 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<chapter id="gettingstarted">
-   <title>Download</title>
-   <para>The official IronJacamar project page is <ulink
-   url="http://www.jboss.org/ironjacamar/">http://www.jboss.org/ironjacamar/</ulink> where you can download the software.</para>
-
-   <section id="download">
-      <title>Download</title>
-
-      <para>The download location is: <ulink url="http://www.jboss.org/ironjacamar/downloads/">http://www.jboss.org/ironjacamar/downloads/</ulink></para>
-
-      <para>Each release is labelled with a version number and an identifier.</para>
-
-      <programlisting>
-ironjacamar-&lt;major&gt;.&lt;minor&gt;.&lt;patch&gt;[.&lt;identifier&gt;]
-      </programlisting>
-
-      <para>where</para>
-
-      <itemizedlist spacing="compact">
-         <listitem>
-           Major: The major version number. Signifies major changes in the implementation.
-         </listitem>
-         <listitem>
-           Minor: The minor version number. Signifies functional changes to a major version.
-         </listitem>
-         <listitem>
-           Patch: The patch version number. Signifies a binary compatible change to a minor version.
-         </listitem>
-         <listitem>
-           Identifier: The identifier. Identifies the level of the quality of the release.
-           <itemizedlist spacing="compact">
-             <listitem>
-               None / Final: Stable release
-             </listitem>
-             <listitem>
-               CR: Candidate for Release quality. The implementation is functional complete.
-             </listitem>
-             <listitem>
-               Beta: Beta quality. The implementation is almost functional complete.
-             </listitem>
-             <listitem>
-               Alpha: Alpha quality. The implementation is a snapshot of the development.
-             </listitem>
-           </itemizedlist>
-         </listitem>
-      </itemizedlist>
-
-      <para>An example</para>
-
-      <programlisting>
-ironjacamar-1.0.0.tar.gz
-      </programlisting>
-
-      <para>which is the first stable release of the project.</para>
-
-   </section>
-
-   <section id="download_maven">
-      <title>Maven repository</title>
-      <para>The IronJacamar distribution is deployed to the JBoss Nexus repository.</para>
-
-      <para>Repository: <code>http://repository.jboss.org/nexus/content/groups/public/</code></para>
-
-      <para>Group id: <code>org.jboss.ironjacamar</code></para>
-      
-      <table frame="all">
-        <title>Maven artifacts</title>
-        <tgroup cols="2" align="left" colsep="1" rowsep="1">
-          <colspec colname="c1" colwidth="2*"/>
-          <colspec colname="c2" colwidth="3*"/>
-          <thead>
-            <row>
-              <entry align="left">Artifact</entry>
-              <entry align="left">Description</entry>
-            </row>
-          </thead>
-          <tbody>
-            <row>
-              <entry><code>ironjacamar-codegenerator</code></entry>
-              <entry>
-                The code generator
-              </entry>
-            </row>
-            <row>
-              <entry><code>ironjacamar-common-api</code></entry>
-              <entry>
-                The API for the common module
-              </entry>
-            </row>
-            <row>
-              <entry><code>ironjacamar-common-impl</code></entry>
-              <entry>
-                The implementation for the common module
-              </entry>
-            </row>
-            <row>
-              <entry><code>ironjacamar-common-impl-papaki</code></entry>
-              <entry>
-                The Papaki extension for the common module
-              </entry>
-            </row>
-            <row>
-              <entry><code>ironjacamar-common-spi</code></entry>
-              <entry>
-                The SPI for the common module
-              </entry>
-            </row>
-            <row>
-              <entry><code>ironjacamar-core-api</code></entry>
-              <entry>
-                The API / SPI for the core module
-              </entry>
-            </row>
-            <row>
-              <entry><code>ironjacamar-core-impl</code></entry>
-              <entry>
-                The implementation for the core module
-              </entry>
-            </row>
-            <row>
-              <entry><code>ironjacamar-deployers-common</code></entry>
-              <entry>
-                The common classes for the deployer chains
-              </entry>
-            </row>
-            <row>
-              <entry><code>ironjacamar-deployers-fungal</code></entry>
-              <entry>
-                The deployers for the Fungal kernel based setup
-              </entry>
-            </row>
-            <row>
-              <entry><code>ironjacamar-embedded</code></entry>
-              <entry>
-                The embedded module
-              </entry>
-            </row>
-            <row>
-              <entry><code>ironjacamar-embedded-arquillian</code></entry>
-              <entry>
-                The Arquillian extension for the embedded module
-              </entry>
-            </row>
-            <row>
-              <entry><code>ironjacamar-spec-api</code></entry>
-              <entry>
-                The Java EE Connector Architecture 1.6 API
-              </entry>
-            </row>
-            <row>
-              <entry><code>ironjacamar-validator</code></entry>
-              <entry>
-                The validator module
-              </entry>
-            </row>
-            <row>
-              <entry><code>ironjacamar-validator-ant</code></entry>
-              <entry>
-                The Apache Ant tasks for the validator module
-              </entry>
-            </row>
-            <row>
-              <entry><code>ironjacamar-validator-cli</code></entry>
-              <entry>
-                The command line interface for the validator module
-              </entry>
-            </row>
-            <row>
-              <entry><code>jdbc-local</code></entry>
-              <entry>
-                A JDBC resource adapter backing standard datasources
-              </entry>
-            </row>
-            <row>
-              <entry><code>jdbc-xa</code></entry>
-              <entry>
-                A JDBC resource adapter backing XA datasources
-              </entry>
-            </row>
-            <row>
-              <entry><code>mail</code></entry>
-              <entry>
-                An inflow mail resource adapter
-              </entry>
-            </row>
-          </tbody>
-        </tgroup>
-      </table>
-      
-   </section>
-
-
-   <section id="SVN">
-      <title>SVN Access</title>
-      <para>If you want to experiment with the latest developments you may
-        checkout the latest code from SVN trunk. Be aware that the
-        information provided in this manual might then not be accurate.</para>
-
-      <para>The anonymous SVN repository is located under:</para>
-
-      <programlisting>
-svn co http://anonsvn.jboss.org/repos/jbossas/projects/jboss-jca/trunk/ ironjacamar-trunk
-      </programlisting>
-
-      <para>You can find additional information about this in the developer guide.</para>
-
-   </section>
-</chapter>

Copied: projects/jboss-jca/tags/IRONJACAMAR_1_0_0_CR3/doc/userguide/en-US/modules/download.xml (from rev 111683, projects/jboss-jca/branches/Branch_1_0/doc/userguide/en-US/modules/download.xml)
===================================================================
--- projects/jboss-jca/tags/IRONJACAMAR_1_0_0_CR3/doc/userguide/en-US/modules/download.xml	                        (rev 0)
+++ projects/jboss-jca/tags/IRONJACAMAR_1_0_0_CR3/doc/userguide/en-US/modules/download.xml	2011-06-29 14:01:33 UTC (rev 111689)
@@ -0,0 +1,227 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<chapter id="gettingstarted">
+   <title>Download</title>
+   <para>The official IronJacamar project page is <ulink
+   url="http://www.jboss.org/ironjacamar/">http://www.jboss.org/ironjacamar/</ulink> where you can download the software.</para>
+
+   <section id="download">
+      <title>Download</title>
+
+      <para>The download location is: <ulink url="http://www.jboss.org/ironjacamar/downloads/">http://www.jboss.org/ironjacamar/downloads/</ulink></para>
+
+      <para>Each release is labelled with a version number and an identifier.</para>
+
+      <programlisting>
+ironjacamar-&lt;major&gt;.&lt;minor&gt;.&lt;patch&gt;.&lt;identifier&gt;
+      </programlisting>
+
+      <para>where</para>
+
+      <itemizedlist spacing="compact">
+         <listitem>
+           Major: The major version number. Signifies major changes in the implementation.
+         </listitem>
+         <listitem>
+           Minor: The minor version number. Signifies functional changes to a major version.
+         </listitem>
+         <listitem>
+           Patch: The patch version number. Signifies a binary compatible change to a minor version.
+         </listitem>
+         <listitem>
+           Identifier: The identifier. Identifies the level of the quality of the release.
+           <itemizedlist spacing="compact">
+             <listitem>
+               Final: Stable release
+             </listitem>
+             <listitem>
+               CR: Candidate for Release quality. The implementation is functional complete.
+             </listitem>
+             <listitem>
+               Beta: Beta quality. The implementation is almost functional complete.
+             </listitem>
+             <listitem>
+               Alpha: Alpha quality. The implementation is a snapshot of the development.
+             </listitem>
+           </itemizedlist>
+         </listitem>
+      </itemizedlist>
+
+      <para>An example</para>
+
+      <programlisting>
+ironjacamar-1.0.0.Final.tar.gz
+      </programlisting>
+
+      <para>which is the first stable release of the project.</para>
+
+   </section>
+
+   <section id="download_maven">
+      <title>Maven repository</title>
+      <para>The IronJacamar distribution is deployed to the JBoss Nexus repository.</para>
+
+      <para>Repository: <code>http://repository.jboss.org/nexus/content/groups/public/</code></para>
+
+      <para>Group id: <code>org.jboss.ironjacamar</code></para>
+      
+      <table frame="all">
+        <title>Maven artifacts</title>
+        <tgroup cols="2" align="left" colsep="1" rowsep="1">
+          <colspec colname="c1" colwidth="2*"/>
+          <colspec colname="c2" colwidth="3*"/>
+          <thead>
+            <row>
+              <entry align="left">Artifact</entry>
+              <entry align="left">Description</entry>
+            </row>
+          </thead>
+          <tbody>
+            <row>
+              <entry><code>ironjacamar-as</code></entry>
+              <entry>
+                JBoss Application Server integration tools
+              </entry>
+            </row>
+            <row>
+              <entry><code>ironjacamar-codegenerator</code></entry>
+              <entry>
+                The code generator
+              </entry>
+            </row>
+            <row>
+              <entry><code>ironjacamar-common-api</code></entry>
+              <entry>
+                The API for the common module
+              </entry>
+            </row>
+            <row>
+              <entry><code>ironjacamar-common-impl</code></entry>
+              <entry>
+                The implementation for the common module
+              </entry>
+            </row>
+            <row>
+              <entry><code>ironjacamar-common-impl-papaki</code></entry>
+              <entry>
+                The Papaki extension for the common module
+              </entry>
+            </row>
+            <row>
+              <entry><code>ironjacamar-common-spi</code></entry>
+              <entry>
+                The SPI for the common module
+              </entry>
+            </row>
+            <row>
+              <entry><code>ironjacamar-core-api</code></entry>
+              <entry>
+                The API / SPI for the core module
+              </entry>
+            </row>
+            <row>
+              <entry><code>ironjacamar-core-impl</code></entry>
+              <entry>
+                The implementation for the core module
+              </entry>
+            </row>
+            <row>
+              <entry><code>ironjacamar-depchain</code></entry>
+              <entry>
+                The dependency chain for the IronJacamar container
+              </entry>
+            </row>
+            <row>
+              <entry><code>ironjacamar-deployers-common</code></entry>
+              <entry>
+                The common classes for the deployer chains
+              </entry>
+            </row>
+            <row>
+              <entry><code>ironjacamar-deployers-fungal</code></entry>
+              <entry>
+                The deployers for the Fungal kernel based setup
+              </entry>
+            </row>
+            <row>
+              <entry><code>ironjacamar-embedded</code></entry>
+              <entry>
+                The embedded module
+              </entry>
+            </row>
+            <row>
+              <entry><code>ironjacamar-embedded-arquillian</code></entry>
+              <entry>
+                The Arquillian extension for the embedded module
+              </entry>
+            </row>
+            <row>
+              <entry><code>ironjacamar-jdbc</code></entry>
+              <entry>
+                The core library for the JDBC resource adapters
+              </entry>
+            </row>
+            <row>
+              <entry><code>ironjacamar-spec-api</code></entry>
+              <entry>
+                The Java EE Connector Architecture 1.6 API
+              </entry>
+            </row>
+            <row>
+              <entry><code>ironjacamar-validator</code></entry>
+              <entry>
+                The validator module
+              </entry>
+            </row>
+            <row>
+              <entry><code>ironjacamar-validator-ant</code></entry>
+              <entry>
+                The Apache Ant tasks for the validator module
+              </entry>
+            </row>
+            <row>
+              <entry><code>ironjacamar-validator-cli</code></entry>
+              <entry>
+                The command line interface for the validator module
+              </entry>
+            </row>
+            <row>
+              <entry><code>jdbc-local</code></entry>
+              <entry>
+                A JDBC resource adapter backing standard datasources
+              </entry>
+            </row>
+            <row>
+              <entry><code>jdbc-xa</code></entry>
+              <entry>
+                A JDBC resource adapter backing XA datasources
+              </entry>
+            </row>
+            <row>
+              <entry><code>mail</code></entry>
+              <entry>
+                An inflow mail resource adapter
+              </entry>
+            </row>
+          </tbody>
+        </tgroup>
+      </table>
+      
+   </section>
+
+
+   <section id="SVN">
+      <title>SVN Access</title>
+      <para>If you want to experiment with the latest developments you may
+        checkout the latest code from SVN trunk. Be aware that the
+        information provided in this manual might then not be accurate.</para>
+
+      <para>The anonymous SVN repository is located under:</para>
+
+      <programlisting>
+svn co http://anonsvn.jboss.org/repos/jbossas/projects/jboss-jca/trunk/ ironjacamar-trunk
+      </programlisting>
+
+      <para>You can find additional information about this in the developer guide.</para>
+
+   </section>
+</chapter>

Deleted: projects/jboss-jca/tags/IRONJACAMAR_1_0_0_CR3/doc/userguide/en-US/modules/installation.xml
===================================================================
--- projects/jboss-jca/branches/Branch_1_0/doc/userguide/en-US/modules/installation.xml	2011-06-28 12:27:24 UTC (rev 111682)
+++ projects/jboss-jca/tags/IRONJACAMAR_1_0_0_CR3/doc/userguide/en-US/modules/installation.xml	2011-06-29 14:01:33 UTC (rev 111689)
@@ -1,77 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<chapter id="installation">
-   <title>Installation</title>
-
-   <para>Once you have downloaded the distribution you need to install it in a location of your choice.</para>
-
-   <section id="installtargz">
-     <title>Compressed Tape Archive (.tar.gz)</title>
-
-     <para>Extract the distribution using</para>
-
-     <programlisting>
-tar xzf ironjacamar-1.0.0.tar.gz
-     </programlisting>
-
-     <para>The distribution will be located in a directory named</para>
-
-     <programlisting>
-ironjacamar-1.0.0
-     </programlisting>
-
-   </section>
-
-   <section id="installzip">
-     <title>Zip Archive (.zip)</title>
-
-     <para>Extract the distribution using</para>
-
-     <programlisting>
-unzip ironjacamar-1.0.0.tar.gz
-     </programlisting>
-
-     <para>or any program capable of handling Zip archives such as WinZip and WinRar.</para>
-
-     <para>The distribution will be located in a directory named</para>
-
-     <programlisting>
-ironjacamar-1.0.0
-     </programlisting>
-
-   </section>
-
-   <section id="directorystructure">
-     <title>Directory structure</title>
-
-     <para>The IronJacamar container has the following directory structure:</para>
-
-    <itemizedlist spacing="compact">
-      <listitem>
-        bin: Contains the scripts that starts the container.
-      </listitem>
-      <listitem>
-        config: Contains the configuration of the container.
-      </listitem>
-      <listitem>
-        deploy: Contains user deployments.
-      </listitem>
-      <listitem>
-        doc: Contains the documentation.
-      </listitem>
-      <listitem>
-        lib: Contains all the libraries needed by the container.
-      </listitem>
-      <listitem>
-        log: Contains the log files for the container.
-      </listitem>
-      <listitem>
-        system: Contains system deployments.
-      </listitem>
-      <listitem>
-        tmp: Contains temporary files.
-      </listitem>
-    </itemizedlist>
-
-   </section>
-
-</chapter>

Copied: projects/jboss-jca/tags/IRONJACAMAR_1_0_0_CR3/doc/userguide/en-US/modules/installation.xml (from rev 111683, projects/jboss-jca/branches/Branch_1_0/doc/userguide/en-US/modules/installation.xml)
===================================================================
--- projects/jboss-jca/tags/IRONJACAMAR_1_0_0_CR3/doc/userguide/en-US/modules/installation.xml	                        (rev 0)
+++ projects/jboss-jca/tags/IRONJACAMAR_1_0_0_CR3/doc/userguide/en-US/modules/installation.xml	2011-06-29 14:01:33 UTC (rev 111689)
@@ -0,0 +1,116 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<chapter id="installation">
+   <title>Installation</title>
+
+   <para>Once you have downloaded the distribution you need to install it in a location of your choice.</para>
+
+   <section id="installtargz">
+     <title>Compressed Tape Archive (.tar.gz)</title>
+
+     <para>Extract the distribution using</para>
+
+     <programlisting>
+tar xzf ironjacamar-1.0.0.tar.gz
+     </programlisting>
+
+     <para>The distribution will be located in a directory named</para>
+
+     <programlisting>
+ironjacamar-1.0.0
+     </programlisting>
+
+   </section>
+
+   <section id="installzip">
+     <title>Zip Archive (.zip)</title>
+
+     <para>Extract the distribution using</para>
+
+     <programlisting>
+unzip ironjacamar-1.0.0.tar.gz
+     </programlisting>
+
+     <para>or any program capable of handling Zip archives such as WinZip and WinRar.</para>
+
+     <para>The distribution will be located in a directory named</para>
+
+     <programlisting>
+ironjacamar-1.0.0
+     </programlisting>
+
+   </section>
+
+   <section id="directorystructure">
+     <title>Directory structure</title>
+
+     <para>The IronJacamar container has the following directory structure:</para>
+
+    <itemizedlist spacing="compact">
+      <listitem>
+        bin: Contains the scripts that starts the container.
+      </listitem>
+      <listitem>
+        config: Contains the configuration of the container.
+      </listitem>
+      <listitem>
+        deploy: Contains user deployments.
+      </listitem>
+      <listitem>
+        doc: Contains the documentation.
+      </listitem>
+      <listitem>
+        lib: Contains all the libraries needed by the container.
+      </listitem>
+      <listitem>
+        log: Contains the log files for the container.
+      </listitem>
+      <listitem>
+        system: Contains system deployments.
+      </listitem>
+      <listitem>
+        tmp: Contains temporary files.
+      </listitem>
+    </itemizedlist>
+
+   </section>
+
+   <section id="installas">
+     <title>JBoss Application Server</title>
+
+     <para>
+       The IronJacamar provides the Java EE Connector Architecture (JCA) container
+       for JBoss Application Server 7 and future versions.
+     </para>
+
+     <para>
+       The container can be updated in the JBoss Application Server by using the 
+       <code>as-upgrader.sh</code> script in the <code>doc/as</code> directory.
+       This will allow an easy installation of IronJacamar patch releases to fix bugs
+       in the application server environment.
+     </para>
+
+     <para>
+       The script can be used, like:
+     </para>
+
+     <programlisting>
+./as-upgrader.sh 1.0.0.Final /path/to/as7/installation
+     </programlisting>
+
+     <para>
+       where <code>1.0.0.Final</code> is the version identifier of the IronJacamar container
+       and the path points to the top-level directory of the JBoss Application Server installation.
+     </para>
+
+     <para>
+       You can get an overview of all IronJacamar releases by browsing our
+       <ulink url="http://repository.jboss.org/nexus/content/groups/public/org/jboss/ironjacamar/">Nexus</ulink> repository.
+     </para>
+
+     <warning>
+       Make sure that you understand the version policies specified in the developer guide before upgrading
+     </warning>
+
+   </section>
+
+</chapter>

Deleted: projects/jboss-jca/tags/IRONJACAMAR_1_0_0_CR3/embedded/src/main/resources/jca.xml
===================================================================
--- projects/jboss-jca/branches/Branch_1_0/embedded/src/main/resources/jca.xml	2011-06-28 12:27:24 UTC (rev 111682)
+++ projects/jboss-jca/tags/IRONJACAMAR_1_0_0_CR3/embedded/src/main/resources/jca.xml	2011-06-29 14:01:33 UTC (rev 111689)
@@ -1,246 +0,0 @@
-<deployment>
-
-  <!-- Bean Validation -->
-  <bean name="BeanValidation" class="org.jboss.jca.core.bv.BeanValidation">
-    <depends>NamingServer</depends>
-  </bean>
-
-  <!-- Thread group -->
-  <bean name="ThreadGroup"
-        class="java.lang.ThreadGroup">
-    <constructor>
-      <parameter>workmanager</parameter>
-    </constructor>
-    <ignoreStop/>
-    <ignoreDestroy/>
-  </bean>
-
-  <!-- Thread factory -->
-  <bean name="ThreadFactory"
-        interface="java.util.concurrent.ThreadFactory"
-        class="org.jboss.threads.JBossThreadFactory">
-    <constructor>
-      <parameter><inject bean="ThreadGroup"/></parameter>
-      <parameter>false</parameter>
-      <parameter>5</parameter>
-      <parameter>work</parameter>
-      <parameter><null/></parameter>
-      <parameter><null/></parameter>
-    </constructor>
-  </bean>
-
-  <!-- Rejecting executor -->
-  <bean name="RejectingExecutor">
-    <constructor factoryMethod="rejectingExecutor" 
-                 factoryClass="org.jboss.threads.JBossExecutors">
-    </constructor>
-  </bean>
-
-  <!-- TimeUnit -->
-  <bean name="KeepAliveTimeUnit">
-    <constructor factoryMethod="valueOf" 
-                 factoryClass="java.util.concurrent.TimeUnit">
-      <parameter>SECONDS</parameter>
-    </constructor>
-  </bean>
-
-  <!-- Short running thread pool -->
-  <bean name="ShortRunningThreadPool" class="org.jboss.threads.QueueExecutor">
-    <constructor>
-      <!-- Core threads -->
-      <parameter>20</parameter>
-      <!-- Max threads -->
-      <parameter>100</parameter>
-      <!-- 60 seconds keepalive -->
-      <parameter>60</parameter>
-      <parameter><inject bean="KeepAliveTimeUnit"/></parameter>
-      <!-- Queue size -->
-      <parameter>1024</parameter>
-      <!-- Thread factory -->
-      <parameter><inject bean="ThreadFactory"/></parameter>
-      <!-- Blocking -->
-      <parameter>true</parameter>
-      <!-- Handoff executor -->
-      <parameter><inject bean="RejectingExecutor"/></parameter>
-    </constructor>
-    <destroy method="shutdown"/>
-  </bean>
-
-  <!-- Long running thread pool -->
-  <bean name="LongRunningThreadPool" class="org.jboss.threads.QueueExecutor">
-    <constructor>
-      <!-- Core threads -->
-      <parameter>20</parameter>
-      <!-- Max threads -->
-      <parameter>100</parameter>
-      <!-- 60 seconds keepalive -->
-      <parameter>60</parameter>
-      <parameter><inject bean="KeepAliveTimeUnit"/></parameter>
-      <!-- Queue size -->
-      <parameter>1024</parameter>
-      <!-- Thread factory -->
-      <parameter><inject bean="ThreadFactory"/></parameter>
-      <!-- Blocking -->
-      <parameter>true</parameter>
-      <!-- Handoff executor -->
-      <parameter><inject bean="RejectingExecutor"/></parameter>
-    </constructor>
-    <destroy method="shutdown"/>
-  </bean>
-
-  <!-- Users / roles -->
-  <bean name="UsersRoles"
-        interface="org.jboss.jca.core.spi.security.Callback"
-        class="org.jboss.jca.core.security.UsersRoles"/>
-
-  <!-- Work Manager -->
-  <bean name="WorkManager" 
-        interface="org.jboss.jca.core.api.workmanager.WorkManager"
-        class="org.jboss.jca.core.workmanager.WorkManagerImpl">
-
-    <!-- The short running thread pool -->
-    <property name="ShortRunningThreadPool"><inject bean="ShortRunningThreadPool"/></property>
-
-    <!-- The long running thread pool -->
-    <property name="LongRunningThreadPool"><inject bean="LongRunningThreadPool"/></property>
-
-    <!-- The XA terminator -->
-    <property name="XATerminator"><inject bean="TransactionIntegration" property="XATerminator"/></property>
-
-    <!-- The callback security module -->
-    <property name="CallbackSecurity"><inject bean="UsersRoles"/></property>
-  </bean>
-  
-  <!-- Default Bootstrap context -->
-  <bean name="DefaultBootstrapContext" 
-        interface="org.jboss.jca.core.api.bootstrap.CloneableBootstrapContext"
-        class="org.jboss.jca.core.bootstrapcontext.BaseCloneableBootstrapContext">
-
-    <!-- The Transaction Synchronization Registry -->
-    <property name="TransactionSynchronizationRegistry"><inject bean="TransactionSynchronizationRegistry"/></property>
-
-    <!-- The Work Manager -->
-    <property name="WorkManager"><inject bean="WorkManager"/></property>
-
-    <!-- The XA terminator -->
-    <property name="XATerminator"><inject bean="TransactionIntegration" property="XATerminator"/></property>
-  </bean>
-
-  <!-- Explicit JNDI strategy -->
-  <bean name="ExplicitJndiStrategy"
-        interface="org.jboss.jca.core.spi.naming.JndiStrategy"
-        class="org.jboss.jca.core.naming.ExplicitJndiStrategy"/>
-
-  <!-- Simple JNDI strategy -->
-  <bean name="SimpleJndiStrategy"
-        interface="org.jboss.jca.core.spi.naming.JndiStrategy"
-        class="org.jboss.jca.core.naming.SimpleJndiStrategy"/>
-
-  <!-- MDR -->
-  <bean name="MDR"
-        interface="org.jboss.jca.core.spi.mdr.MetadataRepository"
-        class="org.jboss.jca.core.mdr.SimpleMetadataRepository"/>
-
-  <!-- CCM -->
-  <bean name="CCM"
-        interface="org.jboss.jca.core.api.connectionmanager.ccm.CachedConnectionManager"
-        class="org.jboss.jca.core.connectionmanager.ccm.CachedConnectionManagerImpl">
-    <constructor>
-      <parameter><inject bean="TransactionIntegration" property="TransactionManager"/></parameter>
-      <parameter><inject bean="TransactionIntegration" property="TransactionSynchronizationRegistry"/></parameter>
-    </constructor>
-    <property name="Debug">false</property>
-    <property name="Error">false</property>
-  </bean>
-
-  <!-- Resource adapter repository -->
-  <bean name="ResourceAdapterRepository"
-        interface="org.jboss.jca.core.spi.rar.ResourceAdapterRepository"
-        class="org.jboss.jca.core.rar.SimpleResourceAdapterRepository">
-    <property name="MetadataRepository"><inject bean="MDR"/></property>
-  </bean>
-
-  <!-- Management repository -->
-  <bean name="ManagementRepository"
-        class="org.jboss.jca.core.api.management.ManagementRepository"/>
-
-  <!-- SubjectFactory -->
-  <bean name="DefaultSecurityDomain"
-        interface="org.jboss.security.SubjectFactory"
-        class="org.jboss.jca.core.security.DefaultSubjectFactory">
-    <property name="SecurityDomain">DefaultSecurityDomain</property>
-    <property name="UserName">user</property>
-    <property name="Password">password</property>
-  </bean>
-
-  <!-- Deployer configuration -->
-  <bean name="DeployerConfiguration"
-        class="org.jboss.jca.deployers.fungal.RAConfiguration">
-    <property name="ArchiveValidation">true</property>
-    <property name="ArchiveValidationFailOnWarn">false</property>
-    <property name="ArchiveValidationFailOnError">true</property>
-    <property name="BeanValidation">true</property>
-    <property name="PrintStream"><inject bean="JBossStdioContext" property="Out"/></property>
-    <property name="DefaultBootstrapContext"><inject bean="DefaultBootstrapContext"/></property>
-    <property name="JndiStrategy"><inject bean="ExplicitJndiStrategy"/></property>
-    <property name="TransactionIntegration"><inject bean="TransactionIntegration"/></property>
-    <property name="MetadataRepository"><inject bean="MDR"/></property>
-    <property name="ManagementRepository"><inject bean="ManagementRepository"/></property>
-    <property name="ResourceAdapterRepository"><inject bean="ResourceAdapterRepository"/></property>
-    <property name="CachedConnectionManager"><inject bean="CCM"/></property>
-  </bean>
-
-  <!-- Activator configuration -->
-  <bean name="ActivatorConfiguration"
-        class="org.jboss.jca.deployers.fungal.RAConfiguration">
-    <property name="ArchiveValidation">true</property>
-    <property name="ArchiveValidationFailOnWarn">false</property>
-    <property name="ArchiveValidationFailOnError">true</property>
-    <property name="BeanValidation">true</property>
-    <property name="PrintStream"><inject bean="JBossStdioContext" property="Out"/></property>
-    <property name="DefaultBootstrapContext"><inject bean="DefaultBootstrapContext"/></property>
-    <property name="JndiStrategy"><inject bean="SimpleJndiStrategy"/></property>
-    <property name="TransactionIntegration"><inject bean="TransactionIntegration"/></property>
-    <property name="MetadataRepository"><inject bean="MDR"/></property>
-    <property name="ManagementRepository"><inject bean="ManagementRepository"/></property>
-    <property name="ResourceAdapterRepository"><inject bean="ResourceAdapterRepository"/></property>
-    <property name="CachedConnectionManager"><inject bean="CCM"/></property>
-  </bean>
-
-  <!-- RA deployer -->
-  <bean name="RADeployer"
-        interface="com.github.fungal.spi.deployers.Deployer"
-        class="org.jboss.jca.deployers.fungal.RADeployer">
-    <property name="Configuration"><inject bean="DeployerConfiguration"/></property>
-    <property name="Kernel"><inject bean="Kernel"/></property>
-    <depends>BeanValidation</depends>
-    <depends>JBossStdioContextSelector</depends>
-  </bean>
-
-  <!-- -ra.xml deployer -->
-  <bean name="RaXmlDeployer"
-        interface="com.github.fungal.spi.deployers.Deployer" 
-        class="org.jboss.jca.deployers.fungal.RaXmlDeployer">
-    <property name="Configuration"><inject bean="DeployerConfiguration"/></property>
-    <property name="Kernel"><inject bean="Kernel"/></property>
-    <depends>BeanValidation</depends>
-    <depends>JBossStdioContextSelector</depends>
-  </bean>
-
-  <!-- RA activator -->
-  <bean name="RAActivator" 
-        class="org.jboss.jca.deployers.fungal.RAActivator">
-    <property name="Configuration"><inject bean="ActivatorConfiguration"/></property>
-    <property name="Enabled">true</property>
-    <property name="Kernel"><inject bean="Kernel"/></property>
-    <property name="ExcludeArchives">
-      <set elementClass="java.lang.String">
-        <value>jdbc-local.rar</value>
-        <value>jdbc-xa.rar</value>
-      </set>
-    </property>
-    <depends>BeanValidation</depends>
-    <depends>JBossStdioContextSelector</depends>
-  </bean>
-  
-</deployment>

Copied: projects/jboss-jca/tags/IRONJACAMAR_1_0_0_CR3/embedded/src/main/resources/jca.xml (from rev 111685, projects/jboss-jca/branches/Branch_1_0/embedded/src/main/resources/jca.xml)
===================================================================
--- projects/jboss-jca/tags/IRONJACAMAR_1_0_0_CR3/embedded/src/main/resources/jca.xml	                        (rev 0)
+++ projects/jboss-jca/tags/IRONJACAMAR_1_0_0_CR3/embedded/src/main/resources/jca.xml	2011-06-29 14:01:33 UTC (rev 111689)
@@ -0,0 +1,248 @@
+<deployment>
+
+  <!-- Bean Validation -->
+  <bean name="BeanValidation" class="org.jboss.jca.core.bv.BeanValidation">
+    <depends>NamingServer</depends>
+  </bean>
+
+  <!-- Thread group -->
+  <bean name="ThreadGroup"
+        class="java.lang.ThreadGroup">
+    <constructor>
+      <parameter>workmanager</parameter>
+    </constructor>
+    <ignoreStop/>
+    <ignoreDestroy/>
+  </bean>
+
+  <!-- Thread factory -->
+  <bean name="ThreadFactory"
+        interface="java.util.concurrent.ThreadFactory"
+        class="org.jboss.threads.JBossThreadFactory">
+    <constructor>
+      <parameter><inject bean="ThreadGroup"/></parameter>
+      <parameter>false</parameter>
+      <parameter>5</parameter>
+      <parameter>work</parameter>
+      <parameter><null/></parameter>
+      <parameter><null/></parameter>
+    </constructor>
+  </bean>
+
+  <!-- Rejecting executor -->
+  <bean name="RejectingExecutor">
+    <constructor factoryMethod="rejectingExecutor" 
+                 factoryClass="org.jboss.threads.JBossExecutors">
+    </constructor>
+  </bean>
+
+  <!-- TimeUnit -->
+  <bean name="KeepAliveTimeUnit">
+    <constructor factoryMethod="valueOf" 
+                 factoryClass="java.util.concurrent.TimeUnit">
+      <parameter>SECONDS</parameter>
+    </constructor>
+  </bean>
+
+  <!-- Short running thread pool -->
+  <bean name="ShortRunningThreadPool" class="org.jboss.threads.QueueExecutor">
+    <constructor>
+      <!-- Core threads -->
+      <parameter>20</parameter>
+      <!-- Max threads -->
+      <parameter>100</parameter>
+      <!-- 60 seconds keepalive -->
+      <parameter>60</parameter>
+      <parameter><inject bean="KeepAliveTimeUnit"/></parameter>
+      <!-- Queue size -->
+      <parameter>1024</parameter>
+      <!-- Thread factory -->
+      <parameter><inject bean="ThreadFactory"/></parameter>
+      <!-- Blocking -->
+      <parameter>true</parameter>
+      <!-- Handoff executor -->
+      <parameter><inject bean="RejectingExecutor"/></parameter>
+    </constructor>
+    <destroy method="shutdown"/>
+  </bean>
+
+  <!-- Long running thread pool -->
+  <bean name="LongRunningThreadPool" class="org.jboss.threads.QueueExecutor">
+    <constructor>
+      <!-- Core threads -->
+      <parameter>20</parameter>
+      <!-- Max threads -->
+      <parameter>100</parameter>
+      <!-- 60 seconds keepalive -->
+      <parameter>60</parameter>
+      <parameter><inject bean="KeepAliveTimeUnit"/></parameter>
+      <!-- Queue size -->
+      <parameter>1024</parameter>
+      <!-- Thread factory -->
+      <parameter><inject bean="ThreadFactory"/></parameter>
+      <!-- Blocking -->
+      <parameter>true</parameter>
+      <!-- Handoff executor -->
+      <parameter><inject bean="RejectingExecutor"/></parameter>
+    </constructor>
+    <destroy method="shutdown"/>
+  </bean>
+
+  <!-- Users / roles -->
+  <bean name="UsersRoles"
+        interface="org.jboss.jca.core.spi.security.Callback"
+        class="org.jboss.jca.core.security.UsersRoles"/>
+
+  <!-- Work Manager -->
+  <bean name="WorkManager" 
+        interface="org.jboss.jca.core.api.workmanager.WorkManager"
+        class="org.jboss.jca.core.workmanager.WorkManagerImpl">
+
+    <!-- The short running thread pool -->
+    <property name="ShortRunningThreadPool"><inject bean="ShortRunningThreadPool"/></property>
+
+    <!-- The long running thread pool -->
+    <property name="LongRunningThreadPool"><inject bean="LongRunningThreadPool"/></property>
+
+    <!-- The XA terminator -->
+    <property name="XATerminator"><inject bean="TransactionIntegration" property="XATerminator"/></property>
+
+    <!-- The callback security module -->
+    <property name="CallbackSecurity"><inject bean="UsersRoles"/></property>
+
+    <destroy method="shutdown"/>
+  </bean>
+  
+  <!-- Default Bootstrap context -->
+  <bean name="DefaultBootstrapContext" 
+        interface="org.jboss.jca.core.api.bootstrap.CloneableBootstrapContext"
+        class="org.jboss.jca.core.bootstrapcontext.BaseCloneableBootstrapContext">
+
+    <!-- The Transaction Synchronization Registry -->
+    <property name="TransactionSynchronizationRegistry"><inject bean="TransactionSynchronizationRegistry"/></property>
+
+    <!-- The Work Manager -->
+    <property name="WorkManager"><inject bean="WorkManager"/></property>
+
+    <!-- The XA terminator -->
+    <property name="XATerminator"><inject bean="TransactionIntegration" property="XATerminator"/></property>
+  </bean>
+
+  <!-- Explicit JNDI strategy -->
+  <bean name="ExplicitJndiStrategy"
+        interface="org.jboss.jca.core.spi.naming.JndiStrategy"
+        class="org.jboss.jca.core.naming.ExplicitJndiStrategy"/>
+
+  <!-- Simple JNDI strategy -->
+  <bean name="SimpleJndiStrategy"
+        interface="org.jboss.jca.core.spi.naming.JndiStrategy"
+        class="org.jboss.jca.core.naming.SimpleJndiStrategy"/>
+
+  <!-- MDR -->
+  <bean name="MDR"
+        interface="org.jboss.jca.core.spi.mdr.MetadataRepository"
+        class="org.jboss.jca.core.mdr.SimpleMetadataRepository"/>
+
+  <!-- CCM -->
+  <bean name="CCM"
+        interface="org.jboss.jca.core.api.connectionmanager.ccm.CachedConnectionManager"
+        class="org.jboss.jca.core.connectionmanager.ccm.CachedConnectionManagerImpl">
+    <constructor>
+      <parameter><inject bean="TransactionIntegration" property="TransactionManager"/></parameter>
+      <parameter><inject bean="TransactionIntegration" property="TransactionSynchronizationRegistry"/></parameter>
+    </constructor>
+    <property name="Debug">false</property>
+    <property name="Error">false</property>
+  </bean>
+
+  <!-- Resource adapter repository -->
+  <bean name="ResourceAdapterRepository"
+        interface="org.jboss.jca.core.spi.rar.ResourceAdapterRepository"
+        class="org.jboss.jca.core.rar.SimpleResourceAdapterRepository">
+    <property name="MetadataRepository"><inject bean="MDR"/></property>
+  </bean>
+
+  <!-- Management repository -->
+  <bean name="ManagementRepository"
+        class="org.jboss.jca.core.api.management.ManagementRepository"/>
+
+  <!-- SubjectFactory -->
+  <bean name="DefaultSecurityDomain"
+        interface="org.jboss.security.SubjectFactory"
+        class="org.jboss.jca.core.security.DefaultSubjectFactory">
+    <property name="SecurityDomain">DefaultSecurityDomain</property>
+    <property name="UserName">user</property>
+    <property name="Password">password</property>
+  </bean>
+
+  <!-- Deployer configuration -->
+  <bean name="DeployerConfiguration"
+        class="org.jboss.jca.deployers.fungal.RAConfiguration">
+    <property name="ArchiveValidation">true</property>
+    <property name="ArchiveValidationFailOnWarn">false</property>
+    <property name="ArchiveValidationFailOnError">true</property>
+    <property name="BeanValidation">true</property>
+    <property name="PrintStream"><inject bean="JBossStdioContext" property="Out"/></property>
+    <property name="DefaultBootstrapContext"><inject bean="DefaultBootstrapContext"/></property>
+    <property name="JndiStrategy"><inject bean="ExplicitJndiStrategy"/></property>
+    <property name="TransactionIntegration"><inject bean="TransactionIntegration"/></property>
+    <property name="MetadataRepository"><inject bean="MDR"/></property>
+    <property name="ManagementRepository"><inject bean="ManagementRepository"/></property>
+    <property name="ResourceAdapterRepository"><inject bean="ResourceAdapterRepository"/></property>
+    <property name="CachedConnectionManager"><inject bean="CCM"/></property>
+  </bean>
+
+  <!-- Activator configuration -->
+  <bean name="ActivatorConfiguration"
+        class="org.jboss.jca.deployers.fungal.RAConfiguration">
+    <property name="ArchiveValidation">true</property>
+    <property name="ArchiveValidationFailOnWarn">false</property>
+    <property name="ArchiveValidationFailOnError">true</property>
+    <property name="BeanValidation">true</property>
+    <property name="PrintStream"><inject bean="JBossStdioContext" property="Out"/></property>
+    <property name="DefaultBootstrapContext"><inject bean="DefaultBootstrapContext"/></property>
+    <property name="JndiStrategy"><inject bean="SimpleJndiStrategy"/></property>
+    <property name="TransactionIntegration"><inject bean="TransactionIntegration"/></property>
+    <property name="MetadataRepository"><inject bean="MDR"/></property>
+    <property name="ManagementRepository"><inject bean="ManagementRepository"/></property>
+    <property name="ResourceAdapterRepository"><inject bean="ResourceAdapterRepository"/></property>
+    <property name="CachedConnectionManager"><inject bean="CCM"/></property>
+  </bean>
+
+  <!-- RA deployer -->
+  <bean name="RADeployer"
+        interface="com.github.fungal.spi.deployers.Deployer"
+        class="org.jboss.jca.deployers.fungal.RADeployer">
+    <property name="Configuration"><inject bean="DeployerConfiguration"/></property>
+    <property name="Kernel"><inject bean="Kernel"/></property>
+    <depends>BeanValidation</depends>
+    <depends>JBossStdioContextSelector</depends>
+  </bean>
+
+  <!-- -ra.xml deployer -->
+  <bean name="RaXmlDeployer"
+        interface="com.github.fungal.spi.deployers.Deployer" 
+        class="org.jboss.jca.deployers.fungal.RaXmlDeployer">
+    <property name="Configuration"><inject bean="DeployerConfiguration"/></property>
+    <property name="Kernel"><inject bean="Kernel"/></property>
+    <depends>BeanValidation</depends>
+    <depends>JBossStdioContextSelector</depends>
+  </bean>
+
+  <!-- RA activator -->
+  <bean name="RAActivator" 
+        class="org.jboss.jca.deployers.fungal.RAActivator">
+    <property name="Configuration"><inject bean="ActivatorConfiguration"/></property>
+    <property name="Enabled">true</property>
+    <property name="Kernel"><inject bean="Kernel"/></property>
+    <property name="ExcludeArchives">
+      <set elementClass="java.lang.String">
+        <value>jdbc-local.rar</value>
+        <value>jdbc-xa.rar</value>
+      </set>
+    </property>
+    <depends>BeanValidation</depends>
+    <depends>JBossStdioContextSelector</depends>
+  </bean>
+  
+</deployment>

Deleted: projects/jboss-jca/tags/IRONJACAMAR_1_0_0_CR3/ivy.xml
===================================================================
--- projects/jboss-jca/branches/Branch_1_0/ivy.xml	2011-06-28 12:27:24 UTC (rev 111682)
+++ projects/jboss-jca/tags/IRONJACAMAR_1_0_0_CR3/ivy.xml	2011-06-29 14:01:33 UTC (rev 111689)
@@ -1,194 +0,0 @@
-<!--
- * JBoss, Home of Professional Open Source.
- * Copyright 2008, Red Hat Middleware LLC, and individual contributors
- * as indicated by the @author tags. See the copyright.txt file in the
- * distribution for a full listing of individual contributors.
- *
- * This is free software; you can redistribute it and/or modify it
- * under the terms of the GNU Lesser General Public License as
- * published by the Free Software Foundation; either version 2.1 of
- * the License, or (at your option) any later version.
- *
- * This software is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public
- * License along with this software; if not, write to the Free
- * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
- * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
--->
-<ivy-module version="2.2" 
-            xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-            xsi:noNamespaceSchemaLocation="http://ant.apache.org/ivy/schemas/ivy.xsd">
-
-  <info organisation="org.jboss.ironjacamar" 
-        module="ironjacamar"
-        revision="${version}">
-    <license name="lgpl" url="http://repository.jboss.org/licenses/lgpl.txt"/>
-    <repository name="jboss" url="http://repository.jboss.org"/>
-    <description homepage="http://www.jboss.org/ironjacamar">
-      The IronJacamar project implements the Java EE Connector Architecture 1.6 specification
-    </description>
-  </info>
-
-  <configurations defaultconfmapping="common->default;sjc->default;embedded->default;arquillian->default;jetty->default;test->default;mail->default;;tools->default;ironjacamar-codegenerator->default;ironjacamar-common-api->default;ironjacamar-common-impl->default;ironjacamar-common-impl-papaki->default;ironjacamar-common-spi->default;ironjacamar-core-api->default;ironjacamar-core-impl->default;ironjacamar-depchain->default;ironjacamar-deployers-common->default;ironjacamar-deployers-fungal->default;ironjacamar-embedded->default;ironjacamar-embedded-arquillian->default;ironjacamar.jdbc->default;ironjacamar-spec-api->default;ironjacamar-validator->default;ironjacamar-validator-ant->default;ironjacamar-validator-cli->default;ironjacamar-validator-maven->default;jdbc-local->default;jdbc-xa->default;rhq->default;hornetq->default">
-    <conf name="arquillian" transitive="false"/>
-    <conf name="common" transitive="false"/>
-    <conf name="embedded" transitive="false"/>
-    <conf name="hornetq" transitive="false"/>
-    <conf name="jetty" transitive="false"/>
-    <conf name="mail" transitive="false"/>
-    <conf name="sjc" transitive="false"/>
-    <conf name="test" transitive="false"/>
-    <conf name="tools" transitive="false"/>
-    <conf name="rhq" transitive="false"/>
-
-    <conf name="ironjacamar-codegenerator" transitive="false"/>
-    <conf name="ironjacamar-common-api" transitive="false"/>
-    <conf name="ironjacamar-common-impl" transitive="false"/>
-    <conf name="ironjacamar-common-impl-papaki" transitive="false"/>
-    <conf name="ironjacamar-common-spi" transitive="false"/>
-    <conf name="ironjacamar-core-api" transitive="false"/>
-    <conf name="ironjacamar-core-impl" transitive="false"/>
-    <conf name="ironjacamar-depchain" transitive="false"/>
-    <conf name="ironjacamar-deployers-common" transitive="false"/>
-    <conf name="ironjacamar-deployers-fungal" transitive="false"/>
-    <conf name="ironjacamar-embedded" transitive="false"/>
-    <conf name="ironjacamar-embedded-arquillian" transitive="false"/>
-    <conf name="ironjacamar-jdbc" transitive="false"/>
-    <conf name="ironjacamar-spec-api" transitive="false"/>
-    <conf name="ironjacamar-validator" transitive="false"/>
-    <conf name="ironjacamar-validator-ant" transitive="false"/>
-    <conf name="ironjacamar-validator-cli" transitive="false"/>
-    <conf name="ironjacamar-validator-maven" transitive="false"/>
-    <conf name="jdbc-local" transitive="false"/>
-    <conf name="jdbc-xa" transitive="false"/>
-    <conf name="mail" transitive="false"/>
-  </configurations>
-
-  <publications>
-    <artifact name="ironjacamar-codegenerator" type="jar"/>
-    <artifact name="ironjacamar-common-api" type="jar"/>
-    <artifact name="ironjacamar-common-impl" type="jar"/>
-    <artifact name="ironjacamar-common-impl-papaki" type="jar"/>
-    <artifact name="ironjacamar-common-spi" type="jar"/>
-    <artifact name="ironjacamar-core-api" type="jar"/>
-    <artifact name="ironjacamar-core-impl" type="jar"/>
-    <artifact name="ironjacamar-depchain" type="pom"/>
-    <artifact name="ironjacamar-deployers-common" type="jar"/>
-    <artifact name="ironjacamar-deployers-fungal" type="jar"/>
-    <artifact name="ironjacamar-embedded-arquillian" type="jar"/>
-    <artifact name="ironjacamar-embedded" type="jar"/>
-    <artifact name="ironjacamar-jdbc" type="jar"/>
-    <artifact name="ironjacamar-spec-api" type="jar"/>
-    <artifact name="ironjacamar-validator" type="jar"/>
-    <artifact name="ironjacamar-validator-cli" type="jar"/>
-    <artifact name="ironjacamar-validator-ant" type="jar"/>
-    <artifact name="ironjacamar-validator-maven" type="jar"/>
-    <artifact name="jdbc-local" type="rar"/>
-    <artifact name="jdbc-xa" type="rar"/>
-    <artifact name="mail" type="rar"/>
-  </publications>
-
-  <dependencies>
-    <!-- Maven doesn't handle dependencies well, so logging has to be first -->
-    <dependency org="org.jboss.logging" name="jboss-logging" rev="${version.jboss.logging}" conf="common,ironjacamar-common-impl,ironjacamar-common-impl-papaki,ironjacamar-core-impl,ironjacamar-depchain,ironjacamar-deployers-common,ironjacamar-deployers-fungal"/>
-    <dependency org="org.jboss.logging" name="jboss-logging-generator" rev="${version.jboss.logging-generator}" conf="common"/>
-    <dependency org="org.jboss.logging" name="jboss-logging-processor" rev="${version.jboss.logging-processor}" conf="common"/>
-    <dependency org="org.jboss.logmanager" name="jboss-logmanager" rev="${version.jboss.logmanager}" conf="common,ironjacamar-depchain"/>
-
-    <!-- Keep these sorted -->
-    <dependency org="apache-logging" name="commons-logging" rev="${version.apache-logging}" conf="common,ironjacamar-depchain"/>
-    <dependency org="com.github.fungal" name="fungal" rev="${version.fungal}" conf="sjc,ironjacamar-depchain,ironjacamar-deployers-fungal,ironjacamar-embedded"/>
-    <dependency org="com.github.fungal" name="fungal-cli" rev="${version.fungal}" conf="sjc,ironjacamar-depchain"/>
-    <dependency org="com.h2database" name="h2" rev="${version.h2}" conf="test"/>
-    <dependency org="dom4j" name="dom4j" rev="${version.dom4j}" conf="jetty,tools"/>
-    <dependency org="javax.activation" name="activation" rev="${version.activation}" conf="rhq"/>
-    <dependency org="javax.mail" name="mail" rev="${version.mail-api}" conf="mail"/>
-    <dependency org="javax.persistence" name="persistence-api" rev="${version.jpa}" conf="rhq"/>
-    <dependency org="javax.validation" name="validation-api" rev="${version.validation-api}" conf="common,ironjacamar-core-impl,ironjacamar-depchain,ironjacamar-deployers-fungal"/>
-    <dependency org="javax.xml" name="jaxb-api" rev="${version.jaxb.api}" conf="rhq"/>
-    <dependency org="javax.xml" name="jaxb-impl" rev="${version.jaxb.impl}" conf="rhq"/>
-    <dependency org="jdepend" name="jdepend" rev="${version.jdepend}" conf="tools"/>
-    <dependency org="junit" name="junit" rev="${version.junit}" conf="test"/>
-    <dependency org="log4j" name="log4j" rev="${version.apache-log4j}" conf="common,ironjacamar-depchain"/>
-    <dependency org="org.apache" name="jasper" rev="${version.jasper}" conf="jetty"/>
-    <dependency org="org.apache.ant" name="ant" rev="${version.ant}" conf="tools,ironjacamar-validator-ant"/>
-    <dependency org="org.apache.maven" name="maven-plugin-api" rev="${version.maven}" conf="tools,ironjacamar-validator-maven"/>
-    <dependency org="org.eclipse.jdt.core.compiler" name="ecj" rev="${version.eclipse.ecj}" conf="jetty"/>
-    <dependency org="org.eclipse.jetty" name="jetty-continuation" rev="${version.jetty}" conf="jetty"/>
-    <dependency org="org.eclipse.jetty" name="jetty-http" rev="${version.jetty}" conf="jetty"/>
-    <dependency org="org.eclipse.jetty" name="jetty-io" rev="${version.jetty}" conf="jetty"/>
-    <dependency org="org.eclipse.jetty" name="jetty-jsp-2.1" rev="${version.jetty}" conf="jetty"/>
-    <dependency org="org.eclipse.jetty" name="jetty-nested" rev="${version.jetty}" conf="jetty"/>
-    <dependency org="org.eclipse.jetty" name="jetty-security" rev="${version.jetty}" conf="jetty"/>
-    <dependency org="org.eclipse.jetty" name="jetty-server" rev="${version.jetty}" conf="jetty"/>
-    <dependency org="org.eclipse.jetty" name="jetty-servlet" rev="${version.jetty}" conf="jetty"/>
-    <dependency org="org.eclipse.jetty" name="jetty-util" rev="${version.jetty}" conf="jetty"/>
-    <dependency org="org.eclipse.jetty" name="jetty-webapp" rev="${version.jetty}" conf="jetty"/>
-    <dependency org="org.eclipse.jetty" name="jetty-xml" rev="${version.jetty}" conf="jetty"/>
-    <dependency org="org.hibernate" name="hibernate-annotations" rev="${version.hibernate-annotations}" conf="rhq"/>
-    <dependency org="org.hibernate" name="hibernate-validator" rev="${version.hibernate-validator}" conf="common,ironjacamar-depchain"/>
-    <dependency org="org.hornetq" name="hornetq-core" rev="${version.hornetq}" conf="hornetq,ironjacamar-depchain"/>
-    <dependency org="org.hornetq" name="hornetq-core-client" rev="${version.hornetq}" conf="hornetq,ironjacamar-depchain"/>
-    <dependency org="org.hornetq" name="hornetq-jms" rev="${version.hornetq}" conf="hornetq,ironjacamar-depchain"/>
-    <dependency org="org.hornetq" name="hornetq-jms-client" rev="${version.hornetq}" conf="hornetq,ironjacamar-depchain"/>
-    <dependency org="org.hornetq" name="hornetq-ra" rev="${version.hornetq}" conf="hornetq">
-      <artifact name="hornetq-ra" type="jar" conf="hornetq"/>
-      <artifact name="hornetq-ra" type="rar" conf="hornetq"/>
-    </dependency>
-    <dependency org="org.javassist" name="javassist" rev="${version.javassist}" conf="common,ironjacamar-depchain"/>
-    <dependency org="org.jboss" name="jboss-common-core" rev="${version.jboss.common}" conf="common,ironjacamar-depchain"/>
-    <dependency org="org.jboss" name="jboss-transaction-spi" rev="${version.jboss.ts.spi}" conf="common,ironjacamar-core-api,ironjacamar-core-impl,ironjacamar-depchain"/>
-    <dependency org="org.jboss.apiviz" name="apiviz" rev="${version.apiviz}" conf="tools"/>
-    <dependency org="org.jboss.arquillian.config" name="arquillian-config-api" rev="${version.arquillian}" conf="arquillian,ironjacamar-depchain,ironjacamar-embedded-arquillian"/>
-    <dependency org="org.jboss.arquillian.config" name="arquillian-config-impl-base" rev="${version.arquillian}" conf="arquillian,ironjacamar-depchain,ironjacamar-embedded-arquillian"/>
-    <dependency org="org.jboss.arquillian.config" name="arquillian-config-spi" rev="${version.arquillian}" conf="arquillian,ironjacamar-depchain,ironjacamar-embedded-arquillian"/>
-    <dependency org="org.jboss.arquillian.container" name="arquillian-container-impl-base" rev="${version.arquillian}" conf="arquillian,ironjacamar-depchain,ironjacamar-embedded-arquillian"/>
-    <dependency org="org.jboss.arquillian.container" name="arquillian-container-spi" rev="${version.arquillian}" conf="arquillian,ironjacamar-depchain,ironjacamar-embedded-arquillian"/>
-    <dependency org="org.jboss.arquillian.container" name="arquillian-container-test-api" rev="${version.arquillian}" conf="arquillian,ironjacamar-depchain,ironjacamar-embedded-arquillian"/>
-    <dependency org="org.jboss.arquillian.container" name="arquillian-container-test-impl-base" rev="${version.arquillian}" conf="arquillian,ironjacamar-depchain,ironjacamar-embedded-arquillian"/>
-    <dependency org="org.jboss.arquillian.container" name="arquillian-container-test-spi" rev="${version.arquillian}" conf="arquillian,ironjacamar-depchain,ironjacamar-embedded-arquillian"/>
-    <dependency org="org.jboss.arquillian.core" name="arquillian-core-api" rev="${version.arquillian}" conf="arquillian,ironjacamar-depchain,ironjacamar-embedded-arquillian"/>
-    <dependency org="org.jboss.arquillian.core" name="arquillian-core-impl-base" rev="${version.arquillian}" conf="arquillian,ironjacamar-depchain,ironjacamar-embedded-arquillian"/>
-    <dependency org="org.jboss.arquillian.core" name="arquillian-core-spi" rev="${version.arquillian}" conf="arquillian,ironjacamar-depchain,ironjacamar-embedded-arquillian"/>
-    <dependency org="org.jboss.arquillian.junit" name="arquillian-junit-container" rev="${version.arquillian}" conf="arquillian,ironjacamar-depchain,ironjacamar-embedded-arquillian"/>
-    <dependency org="org.jboss.arquillian.junit" name="arquillian-junit-core" rev="${version.arquillian}" conf="arquillian,ironjacamar-depchain,ironjacamar-embedded-arquillian"/>
-    <dependency org="org.jboss.arquillian.test" name="arquillian-test-api" rev="${version.arquillian}" conf="arquillian,ironjacamar-depchain,ironjacamar-embedded-arquillian"/>
-    <dependency org="org.jboss.arquillian.test" name="arquillian-test-impl-base" rev="${version.arquillian}" conf="arquillian,ironjacamar-depchain,ironjacamar-embedded-arquillian"/>
-    <dependency org="org.jboss.arquillian.test" name="arquillian-test-spi" rev="${version.arquillian}" conf="arquillian,ironjacamar-depchain,ironjacamar-embedded-arquillian"/>
-    <dependency org="org.jboss.arquillian.testenricher" name="arquillian-testenricher-resource" rev="${version.arquillian}" conf="arquillian,ironjacamar-depchain,ironjacamar-embedded-arquillian"/>
-    <dependency org="org.jboss.jbossts" name="jbossjta" rev="${version.jboss.ts}" conf="common,ironjacamar-depchain"/>
-    <dependency org="org.jboss.jbossts" name="jbossjta-integration" rev="${version.jboss.ts}" conf="common,ironjacamar-depchain"/>
-    <dependency org="org.jboss.naming" name="jnpserver" rev="${version.jboss.naming}" conf="common,ironjacamar-depchain"/>
-    <dependency org="org.jboss.netty" name="netty" rev="${version.jboss.netty}" conf="hornetq,ironjacamar-depchain"/>
-    <dependency org="org.jboss.papaki" name="papaki-core" rev="${version.jboss.papaki}" conf="common,ironjacamar-common-impl-papaki,ironjacamar-depchain"/>
-    <dependency org="org.jboss.shrinkwrap" name="shrinkwrap-api" rev="${version.jboss.shrinkwrap}" conf="embedded,ironjacamar-depchain,ironjacamar-embedded,ironjacamar-embedded-arquillian"/>
-    <dependency org="org.jboss.shrinkwrap.descriptors" name="shrinkwrap-descriptors-api" rev="${version.jboss.shrinkwrap.descriptors}" conf="embedded,ironjacamar-depchain"/>
-    <dependency org="org.jboss.shrinkwrap.descriptors" name="shrinkwrap-descriptors-impl" rev="${version.jboss.shrinkwrap.descriptors}" conf="embedded,ironjacamar-depchain"/>
-    <dependency org="org.jboss.shrinkwrap" name="shrinkwrap-impl-base" rev="${version.jboss.shrinkwrap}" conf="embedded,ironjacamar-depchain"/>
-    <dependency org="org.jboss.shrinkwrap" name="shrinkwrap-spi" rev="${version.jboss.shrinkwrap}" conf="embedded,ironjacamar-depchain"/>
-    <dependency org="org.jboss.slf4j" name="slf4j-jboss-logmanager" rev="${version.jboss.slf4j.logmanager}" conf="common,ironjacamar-depchain"/>
-    <dependency org="org.jboss.spec.javax.jms" name="jboss-jms-api_1.1_spec" rev="${version.jboss.jms.api}" conf="hornetq,ironjacamar-depchain"/>
-    <dependency org="org.jboss.spec.javax.security.auth.message" name="jboss-jaspi-api_1.0_spec" rev="${version.jboss.jaspi.api}" conf="common,ironjacamar-core-impl,ironjacamar-depchain"/>
-    <dependency org="org.jboss.spec.javax.transaction" name="jboss-transaction-api_1.1_spec" rev="${version.transaction.api}" conf="common,ironjacamar-core-api,ironjacamar-core-impl,ironjacamar-depchain,ironjacamar-deployers-fungal,ironjacamar-spec-api"/>
-    <dependency org="org.jboss.stdio" name="jboss-stdio" rev="${version.jboss.stdio}" conf="common,ironjacamar-depchain"/>
-    <dependency org="org.jboss.threads" name="jboss-threads" rev="${version.jboss.threads}" conf="common,ironjacamar-core-api,ironjacamar-core-impl,ironjacamar-depchain"/>
-    <dependency org="org.mockito" name="mockito-all" rev="${version.mockito}" conf="test"/>
-    <dependency org="org.mortbay.jetty" name="jsp-api-2.1-glassfish"  rev="${version.jetty.glassfish}" conf="jetty"/>
-    <dependency org="org.mortbay.jetty" name="servlet-api-2.5" rev="${version.jetty.servlet}" conf="jetty"/>
-    <dependency org="org.picketbox" name="picketbox" rev="${version.jboss.picketbox}" conf="common,ironjacamar-depchain"/>
-    <dependency org="org.rhq" name="rhq-core-client-api" rev="${version.rhq}" conf="rhq"/>
-    <dependency org="org.rhq" name="rhq-core-comm-api" rev="${version.rhq}" conf="rhq"/>
-    <dependency org="org.rhq" name="rhq-core-domain" rev="${version.rhq}" conf="rhq"/>
-    <dependency org="org.rhq" name="rhq-core-native-system" rev="${version.rhq}" conf="rhq"/>
-    <dependency org="org.rhq" name="rhq-core-plugin-api" rev="${version.rhq}" conf="rhq"/>
-    <dependency org="org.rhq" name="rhq-core-plugin-container" rev="${version.rhq}" conf="rhq"/>
-    <dependency org="org.rhq" name="rhq-core-util" rev="${version.rhq}" conf="rhq"/>
-    <dependency org="org.slf4j" name="jcl-over-slf4j" rev="${version.slf4j}" conf="common,ironjacamar-depchain"/>
-    <dependency org="org.slf4j" name="slf4j-api" rev="${version.slf4j}" conf="common,ironjacamar-depchain"/>
-  </dependencies>
-
-</ivy-module>

Copied: projects/jboss-jca/tags/IRONJACAMAR_1_0_0_CR3/ivy.xml (from rev 111683, projects/jboss-jca/branches/Branch_1_0/ivy.xml)
===================================================================
--- projects/jboss-jca/tags/IRONJACAMAR_1_0_0_CR3/ivy.xml	                        (rev 0)
+++ projects/jboss-jca/tags/IRONJACAMAR_1_0_0_CR3/ivy.xml	2011-06-29 14:01:33 UTC (rev 111689)
@@ -0,0 +1,196 @@
+<!--
+ * JBoss, Home of Professional Open Source.
+ * Copyright 2008, Red Hat Middleware LLC, and individual contributors
+ * as indicated by the @author tags. See the copyright.txt file in the
+ * distribution for a full listing of individual contributors.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+-->
+<ivy-module version="2.2" 
+            xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+            xsi:noNamespaceSchemaLocation="http://ant.apache.org/ivy/schemas/ivy.xsd">
+
+  <info organisation="org.jboss.ironjacamar" 
+        module="ironjacamar"
+        revision="${version}">
+    <license name="lgpl" url="http://repository.jboss.org/licenses/lgpl.txt"/>
+    <repository name="jboss" url="http://repository.jboss.org"/>
+    <description homepage="http://www.jboss.org/ironjacamar">
+      The IronJacamar project implements the Java EE Connector Architecture 1.6 specification
+    </description>
+  </info>
+
+  <configurations defaultconfmapping="common->default;sjc->default;embedded->default;arquillian->default;jetty->default;test->default;mail->default;;tools->default;ironjacamar-as->default;ironjacamar-codegenerator->default;ironjacamar-common-api->default;ironjacamar-common-impl->default;ironjacamar-common-impl-papaki->default;ironjacamar-common-spi->default;ironjacamar-core-api->default;ironjacamar-core-impl->default;ironjacamar-depchain->default;ironjacamar-deployers-common->default;ironjacamar-deployers-fungal->default;ironjacamar-embedded->default;ironjacamar-embedded-arquillian->default;ironjacamar.jdbc->default;ironjacamar-spec-api->default;ironjacamar-validator->default;ironjacamar-validator-ant->default;ironjacamar-validator-cli->default;ironjacamar-validator-maven->default;jdbc-local->default;jdbc-xa->default;rhq->default;hornetq->default">
+    <conf name="arquillian" transitive="false"/>
+    <conf name="common" transitive="false"/>
+    <conf name="embedded" transitive="false"/>
+    <conf name="hornetq" transitive="false"/>
+    <conf name="jetty" transitive="false"/>
+    <conf name="mail" transitive="false"/>
+    <conf name="sjc" transitive="false"/>
+    <conf name="test" transitive="false"/>
+    <conf name="tools" transitive="false"/>
+    <conf name="rhq" transitive="false"/>
+
+    <conf name="ironjacamar-as" transitive="false"/>
+    <conf name="ironjacamar-codegenerator" transitive="false"/>
+    <conf name="ironjacamar-common-api" transitive="false"/>
+    <conf name="ironjacamar-common-impl" transitive="false"/>
+    <conf name="ironjacamar-common-impl-papaki" transitive="false"/>
+    <conf name="ironjacamar-common-spi" transitive="false"/>
+    <conf name="ironjacamar-core-api" transitive="false"/>
+    <conf name="ironjacamar-core-impl" transitive="false"/>
+    <conf name="ironjacamar-depchain" transitive="false"/>
+    <conf name="ironjacamar-deployers-common" transitive="false"/>
+    <conf name="ironjacamar-deployers-fungal" transitive="false"/>
+    <conf name="ironjacamar-embedded" transitive="false"/>
+    <conf name="ironjacamar-embedded-arquillian" transitive="false"/>
+    <conf name="ironjacamar-jdbc" transitive="false"/>
+    <conf name="ironjacamar-spec-api" transitive="false"/>
+    <conf name="ironjacamar-validator" transitive="false"/>
+    <conf name="ironjacamar-validator-ant" transitive="false"/>
+    <conf name="ironjacamar-validator-cli" transitive="false"/>
+    <conf name="ironjacamar-validator-maven" transitive="false"/>
+    <conf name="jdbc-local" transitive="false"/>
+    <conf name="jdbc-xa" transitive="false"/>
+    <conf name="mail" transitive="false"/>
+  </configurations>
+
+  <publications>
+    <artifact name="ironjacamar-as" type="jar"/>
+    <artifact name="ironjacamar-codegenerator" type="jar"/>
+    <artifact name="ironjacamar-common-api" type="jar"/>
+    <artifact name="ironjacamar-common-impl" type="jar"/>
+    <artifact name="ironjacamar-common-impl-papaki" type="jar"/>
+    <artifact name="ironjacamar-common-spi" type="jar"/>
+    <artifact name="ironjacamar-core-api" type="jar"/>
+    <artifact name="ironjacamar-core-impl" type="jar"/>
+    <artifact name="ironjacamar-depchain" type="pom"/>
+    <artifact name="ironjacamar-deployers-common" type="jar"/>
+    <artifact name="ironjacamar-deployers-fungal" type="jar"/>
+    <artifact name="ironjacamar-embedded-arquillian" type="jar"/>
+    <artifact name="ironjacamar-embedded" type="jar"/>
+    <artifact name="ironjacamar-jdbc" type="jar"/>
+    <artifact name="ironjacamar-spec-api" type="jar"/>
+    <artifact name="ironjacamar-validator" type="jar"/>
+    <artifact name="ironjacamar-validator-cli" type="jar"/>
+    <artifact name="ironjacamar-validator-ant" type="jar"/>
+    <artifact name="ironjacamar-validator-maven" type="jar"/>
+    <artifact name="jdbc-local" type="rar"/>
+    <artifact name="jdbc-xa" type="rar"/>
+    <artifact name="mail" type="rar"/>
+  </publications>
+
+  <dependencies>
+    <!-- Maven doesn't handle dependencies well, so logging has to be first -->
+    <dependency org="org.jboss.logging" name="jboss-logging" rev="${version.jboss.logging}" conf="common,ironjacamar-common-impl,ironjacamar-common-impl-papaki,ironjacamar-core-impl,ironjacamar-depchain,ironjacamar-deployers-common,ironjacamar-deployers-fungal"/>
+    <dependency org="org.jboss.logging" name="jboss-logging-generator" rev="${version.jboss.logging-generator}" conf="common"/>
+    <dependency org="org.jboss.logging" name="jboss-logging-processor" rev="${version.jboss.logging-processor}" conf="common"/>
+    <dependency org="org.jboss.logmanager" name="jboss-logmanager" rev="${version.jboss.logmanager}" conf="common,ironjacamar-depchain"/>
+
+    <!-- Keep these sorted -->
+    <dependency org="apache-logging" name="commons-logging" rev="${version.apache-logging}" conf="common,ironjacamar-depchain"/>
+    <dependency org="com.github.fungal" name="fungal" rev="${version.fungal}" conf="sjc,ironjacamar-depchain,ironjacamar-deployers-fungal,ironjacamar-embedded"/>
+    <dependency org="com.github.fungal" name="fungal-cli" rev="${version.fungal}" conf="sjc,ironjacamar-depchain"/>
+    <dependency org="com.h2database" name="h2" rev="${version.h2}" conf="test"/>
+    <dependency org="dom4j" name="dom4j" rev="${version.dom4j}" conf="jetty,tools"/>
+    <dependency org="javax.activation" name="activation" rev="${version.activation}" conf="rhq"/>
+    <dependency org="javax.mail" name="mail" rev="${version.mail-api}" conf="mail"/>
+    <dependency org="javax.persistence" name="persistence-api" rev="${version.jpa}" conf="rhq"/>
+    <dependency org="javax.validation" name="validation-api" rev="${version.validation-api}" conf="common,ironjacamar-core-impl,ironjacamar-depchain,ironjacamar-deployers-fungal"/>
+    <dependency org="javax.xml" name="jaxb-api" rev="${version.jaxb.api}" conf="rhq"/>
+    <dependency org="javax.xml" name="jaxb-impl" rev="${version.jaxb.impl}" conf="rhq"/>
+    <dependency org="jdepend" name="jdepend" rev="${version.jdepend}" conf="tools"/>
+    <dependency org="junit" name="junit" rev="${version.junit}" conf="test"/>
+    <dependency org="log4j" name="log4j" rev="${version.apache-log4j}" conf="common,ironjacamar-depchain"/>
+    <dependency org="org.apache" name="jasper" rev="${version.jasper}" conf="jetty"/>
+    <dependency org="org.apache.ant" name="ant" rev="${version.ant}" conf="tools,ironjacamar-validator-ant"/>
+    <dependency org="org.apache.maven" name="maven-plugin-api" rev="${version.maven}" conf="tools,ironjacamar-validator-maven"/>
+    <dependency org="org.eclipse.jdt.core.compiler" name="ecj" rev="${version.eclipse.ecj}" conf="jetty"/>
+    <dependency org="org.eclipse.jetty" name="jetty-continuation" rev="${version.jetty}" conf="jetty"/>
+    <dependency org="org.eclipse.jetty" name="jetty-http" rev="${version.jetty}" conf="jetty"/>
+    <dependency org="org.eclipse.jetty" name="jetty-io" rev="${version.jetty}" conf="jetty"/>
+    <dependency org="org.eclipse.jetty" name="jetty-jsp-2.1" rev="${version.jetty}" conf="jetty"/>
+    <dependency org="org.eclipse.jetty" name="jetty-nested" rev="${version.jetty}" conf="jetty"/>
+    <dependency org="org.eclipse.jetty" name="jetty-security" rev="${version.jetty}" conf="jetty"/>
+    <dependency org="org.eclipse.jetty" name="jetty-server" rev="${version.jetty}" conf="jetty"/>
+    <dependency org="org.eclipse.jetty" name="jetty-servlet" rev="${version.jetty}" conf="jetty"/>
+    <dependency org="org.eclipse.jetty" name="jetty-util" rev="${version.jetty}" conf="jetty"/>
+    <dependency org="org.eclipse.jetty" name="jetty-webapp" rev="${version.jetty}" conf="jetty"/>
+    <dependency org="org.eclipse.jetty" name="jetty-xml" rev="${version.jetty}" conf="jetty"/>
+    <dependency org="org.hibernate" name="hibernate-annotations" rev="${version.hibernate-annotations}" conf="rhq"/>
+    <dependency org="org.hibernate" name="hibernate-validator" rev="${version.hibernate-validator}" conf="common,ironjacamar-depchain"/>
+    <dependency org="org.hornetq" name="hornetq-core" rev="${version.hornetq}" conf="hornetq,ironjacamar-depchain"/>
+    <dependency org="org.hornetq" name="hornetq-core-client" rev="${version.hornetq}" conf="hornetq,ironjacamar-depchain"/>
+    <dependency org="org.hornetq" name="hornetq-jms" rev="${version.hornetq}" conf="hornetq,ironjacamar-depchain"/>
+    <dependency org="org.hornetq" name="hornetq-jms-client" rev="${version.hornetq}" conf="hornetq,ironjacamar-depchain"/>
+    <dependency org="org.hornetq" name="hornetq-ra" rev="${version.hornetq}" conf="hornetq">
+      <artifact name="hornetq-ra" type="jar" conf="hornetq"/>
+      <artifact name="hornetq-ra" type="rar" conf="hornetq"/>
+    </dependency>
+    <dependency org="org.javassist" name="javassist" rev="${version.javassist}" conf="common,ironjacamar-depchain"/>
+    <dependency org="org.jboss" name="jboss-common-core" rev="${version.jboss.common}" conf="common,ironjacamar-depchain"/>
+    <dependency org="org.jboss" name="jboss-transaction-spi" rev="${version.jboss.ts.spi}" conf="common,ironjacamar-core-api,ironjacamar-core-impl,ironjacamar-depchain"/>
+    <dependency org="org.jboss.apiviz" name="apiviz" rev="${version.apiviz}" conf="tools"/>
+    <dependency org="org.jboss.arquillian.config" name="arquillian-config-api" rev="${version.arquillian}" conf="arquillian,ironjacamar-depchain,ironjacamar-embedded-arquillian"/>
+    <dependency org="org.jboss.arquillian.config" name="arquillian-config-impl-base" rev="${version.arquillian}" conf="arquillian,ironjacamar-depchain,ironjacamar-embedded-arquillian"/>
+    <dependency org="org.jboss.arquillian.config" name="arquillian-config-spi" rev="${version.arquillian}" conf="arquillian,ironjacamar-depchain,ironjacamar-embedded-arquillian"/>
+    <dependency org="org.jboss.arquillian.container" name="arquillian-container-impl-base" rev="${version.arquillian}" conf="arquillian,ironjacamar-depchain,ironjacamar-embedded-arquillian"/>
+    <dependency org="org.jboss.arquillian.container" name="arquillian-container-spi" rev="${version.arquillian}" conf="arquillian,ironjacamar-depchain,ironjacamar-embedded-arquillian"/>
+    <dependency org="org.jboss.arquillian.container" name="arquillian-container-test-api" rev="${version.arquillian}" conf="arquillian,ironjacamar-depchain,ironjacamar-embedded-arquillian"/>
+    <dependency org="org.jboss.arquillian.container" name="arquillian-container-test-impl-base" rev="${version.arquillian}" conf="arquillian,ironjacamar-depchain,ironjacamar-embedded-arquillian"/>
+    <dependency org="org.jboss.arquillian.container" name="arquillian-container-test-spi" rev="${version.arquillian}" conf="arquillian,ironjacamar-depchain,ironjacamar-embedded-arquillian"/>
+    <dependency org="org.jboss.arquillian.core" name="arquillian-core-api" rev="${version.arquillian}" conf="arquillian,ironjacamar-depchain,ironjacamar-embedded-arquillian"/>
+    <dependency org="org.jboss.arquillian.core" name="arquillian-core-impl-base" rev="${version.arquillian}" conf="arquillian,ironjacamar-depchain,ironjacamar-embedded-arquillian"/>
+    <dependency org="org.jboss.arquillian.core" name="arquillian-core-spi" rev="${version.arquillian}" conf="arquillian,ironjacamar-depchain,ironjacamar-embedded-arquillian"/>
+    <dependency org="org.jboss.arquillian.junit" name="arquillian-junit-container" rev="${version.arquillian}" conf="arquillian,ironjacamar-depchain,ironjacamar-embedded-arquillian"/>
+    <dependency org="org.jboss.arquillian.junit" name="arquillian-junit-core" rev="${version.arquillian}" conf="arquillian,ironjacamar-depchain,ironjacamar-embedded-arquillian"/>
+    <dependency org="org.jboss.arquillian.test" name="arquillian-test-api" rev="${version.arquillian}" conf="arquillian,ironjacamar-depchain,ironjacamar-embedded-arquillian"/>
+    <dependency org="org.jboss.arquillian.test" name="arquillian-test-impl-base" rev="${version.arquillian}" conf="arquillian,ironjacamar-depchain,ironjacamar-embedded-arquillian"/>
+    <dependency org="org.jboss.arquillian.test" name="arquillian-test-spi" rev="${version.arquillian}" conf="arquillian,ironjacamar-depchain,ironjacamar-embedded-arquillian"/>
+    <dependency org="org.jboss.arquillian.testenricher" name="arquillian-testenricher-resource" rev="${version.arquillian}" conf="arquillian,ironjacamar-depchain,ironjacamar-embedded-arquillian"/>
+    <dependency org="org.jboss.jbossts" name="jbossjta" rev="${version.jboss.ts}" conf="common,ironjacamar-depchain"/>
+    <dependency org="org.jboss.jbossts" name="jbossjta-integration" rev="${version.jboss.ts}" conf="common,ironjacamar-depchain"/>
+    <dependency org="org.jboss.naming" name="jnpserver" rev="${version.jboss.naming}" conf="common,ironjacamar-depchain"/>
+    <dependency org="org.jboss.netty" name="netty" rev="${version.jboss.netty}" conf="hornetq,ironjacamar-depchain"/>
+    <dependency org="org.jboss.papaki" name="papaki-core" rev="${version.jboss.papaki}" conf="common,ironjacamar-common-impl-papaki,ironjacamar-depchain"/>
+    <dependency org="org.jboss.shrinkwrap" name="shrinkwrap-api" rev="${version.jboss.shrinkwrap}" conf="embedded,ironjacamar-depchain,ironjacamar-embedded,ironjacamar-embedded-arquillian"/>
+    <dependency org="org.jboss.shrinkwrap.descriptors" name="shrinkwrap-descriptors-api" rev="${version.jboss.shrinkwrap.descriptors}" conf="embedded,ironjacamar-depchain"/>
+    <dependency org="org.jboss.shrinkwrap.descriptors" name="shrinkwrap-descriptors-impl" rev="${version.jboss.shrinkwrap.descriptors}" conf="embedded,ironjacamar-depchain"/>
+    <dependency org="org.jboss.shrinkwrap" name="shrinkwrap-impl-base" rev="${version.jboss.shrinkwrap}" conf="embedded,ironjacamar-depchain"/>
+    <dependency org="org.jboss.shrinkwrap" name="shrinkwrap-spi" rev="${version.jboss.shrinkwrap}" conf="embedded,ironjacamar-depchain"/>
+    <dependency org="org.jboss.slf4j" name="slf4j-jboss-logmanager" rev="${version.jboss.slf4j.logmanager}" conf="common,ironjacamar-depchain"/>
+    <dependency org="org.jboss.spec.javax.jms" name="jboss-jms-api_1.1_spec" rev="${version.jboss.jms.api}" conf="hornetq,ironjacamar-depchain"/>
+    <dependency org="org.jboss.spec.javax.security.auth.message" name="jboss-jaspi-api_1.0_spec" rev="${version.jboss.jaspi.api}" conf="common,ironjacamar-core-impl,ironjacamar-depchain"/>
+    <dependency org="org.jboss.spec.javax.transaction" name="jboss-transaction-api_1.1_spec" rev="${version.transaction.api}" conf="common,ironjacamar-core-api,ironjacamar-core-impl,ironjacamar-depchain,ironjacamar-deployers-fungal,ironjacamar-spec-api"/>
+    <dependency org="org.jboss.stdio" name="jboss-stdio" rev="${version.jboss.stdio}" conf="common,ironjacamar-depchain"/>
+    <dependency org="org.jboss.threads" name="jboss-threads" rev="${version.jboss.threads}" conf="common,ironjacamar-core-api,ironjacamar-core-impl,ironjacamar-depchain"/>
+    <dependency org="org.mockito" name="mockito-all" rev="${version.mockito}" conf="test"/>
+    <dependency org="org.mortbay.jetty" name="jsp-api-2.1-glassfish"  rev="${version.jetty.glassfish}" conf="jetty"/>
+    <dependency org="org.mortbay.jetty" name="servlet-api-2.5" rev="${version.jetty.servlet}" conf="jetty"/>
+    <dependency org="org.picketbox" name="picketbox" rev="${version.jboss.picketbox}" conf="common,ironjacamar-depchain"/>
+    <dependency org="org.rhq" name="rhq-core-client-api" rev="${version.rhq}" conf="rhq"/>
+    <dependency org="org.rhq" name="rhq-core-comm-api" rev="${version.rhq}" conf="rhq"/>
+    <dependency org="org.rhq" name="rhq-core-domain" rev="${version.rhq}" conf="rhq"/>
+    <dependency org="org.rhq" name="rhq-core-native-system" rev="${version.rhq}" conf="rhq"/>
+    <dependency org="org.rhq" name="rhq-core-plugin-api" rev="${version.rhq}" conf="rhq"/>
+    <dependency org="org.rhq" name="rhq-core-plugin-container" rev="${version.rhq}" conf="rhq"/>
+    <dependency org="org.rhq" name="rhq-core-util" rev="${version.rhq}" conf="rhq"/>
+    <dependency org="org.slf4j" name="jcl-over-slf4j" rev="${version.slf4j}" conf="common,ironjacamar-depchain"/>
+    <dependency org="org.slf4j" name="slf4j-api" rev="${version.slf4j}" conf="common,ironjacamar-depchain"/>
+  </dependencies>
+
+</ivy-module>

Deleted: projects/jboss-jca/tags/IRONJACAMAR_1_0_0_CR3/sjc/build.xml
===================================================================
--- projects/jboss-jca/branches/Branch_1_0/sjc/build.xml	2011-06-28 12:27:24 UTC (rev 111682)
+++ projects/jboss-jca/tags/IRONJACAMAR_1_0_0_CR3/sjc/build.xml	2011-06-29 14:01:33 UTC (rev 111689)
@@ -1,345 +0,0 @@
-<!--
- * JBoss, Home of Professional Open Source.
- * Copyright 2008, Red Hat Middleware LLC, and individual contributors
- * as indicated by the @author tags. See the copyright.txt file in the
- * distribution for a full listing of individual contributors.
- *
- * This is free software; you can redistribute it and/or modify it
- * under the terms of the GNU Lesser General Public License as
- * published by the Free Software Foundation; either version 2.1 of
- * the License, or (at your option) any later version.
- *
- * This software is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public
- * License along with this software; if not, write to the Free
- * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
- * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
--->
-<project name="ironjacamar-sjc" 
-         default="compile" 
-         xmlns:ivy="antlib:org.apache.ivy.ant">
-
-  <!-- ================================= 
-       Properties              
-       ================================= -->
-  <property name="build.sjc.dir" value="${build.dir}/sjc" />
-
-  <!-- ================================= 
-       Target: init
-       ================================= -->
-  <target name="init">
-    <mkdir dir="${build.sjc.dir}" />
-    <mkdir dir="${build.sjc.dir}/impl" />
-  </target>
-
-  <!-- ================================= 
-       Target: compile
-       ================================= -->
-  <target name="compile" depends="init">
-    <javac srcdir="src/main"
-           destdir="${build.sjc.dir}/impl"
-           classpathref="sjc.lib.path.id"
-           debug="${javac.debug}"
-           deprecation="${javac.deprecation}"
-           optimize="${javac.optimize}"
-           includeAntRuntime="false">
-      <compilerarg value="-Xlint"/>
-    </javac> 
-  </target>
-
-  <!-- ================================= 
-       Target: jars 
-       ================================= -->
-  <target name="jars" depends="compile">
-    <jar destfile="${target.dir}/${name}-sjc.jar"
-         basedir="${build.sjc.dir}/impl"
-         index="true"
-         indexMetaInf="true"
-         update="true"
-         level="9">
-      <manifest>
-        <attribute name="Implementation-Title" value="IronJacamar SJC"/>
-        <attribute name="Implementation-Version" value="${major}.${minor}.${patch}.${type}"/>
-        <attribute name="Implementation-Vendor" value="The IronJacamar project (http://www.jboss.org/ironjacamar)"/>
-        <attribute name="Implementation-Vendor-Id" value="org.jboss"/>
-        <attribute name="Main-Class" value="org.jboss.jca.sjc.Main"/>
-      </manifest>
-    </jar>
-  </target>
-
-  <!-- ================================= 
-       Target: docs
-       ================================= -->
-  <target name="docs" depends="compile">
-    <mkdir dir="${target.dir}/docs/sjc"/>
-    <javadoc packagenames="org.*"
-             sourcepath="src/main/java"
-             destdir="${target.dir}/docs/sjc"
-             doclet="org.jboss.apiviz.APIviz"
-             docletpathref="sjc.lib.path.id"
-             author="true"
-             version="true"
-             windowtitle="IronJacamar SJC"
-             doctitle="IronJacamar SJC"
-             use="true"
-             additionalparam="-author -version"
-             classpath="${build.sjc.dir}/impl"
-             classpathref="sjc.lib.path.id"
-             bottom="Copyright &#169; 2008-2009 Red Hat Middleware LLC (http://www.jboss.com/)">
-      <link offline="true" href="http://java.sun.com/j2se/5/docs/api/" packagelistLoc="${java.home}/../docs/api"/>
-    </javadoc>
-    <copy todir="${target.dir}/docs/sjc" overwrite="true">
-      <fileset dir="${tools.dir}/api"/>
-    </copy>
-  </target>
-
-  <!-- ================================= 
-       Target: sjc
-       ================================= -->
-  <target name="sjc" depends="compile">
-    <mkdir dir="${target.dir}/sjc"/>
-    <mkdir dir="${target.dir}/sjc/bin"/>
-    <mkdir dir="${target.dir}/sjc/config"/>
-    <mkdir dir="${target.dir}/sjc/config/bootstrap"/>
-    <mkdir dir="${target.dir}/sjc/doc"/>
-    <mkdir dir="${target.dir}/sjc/doc/codegenerator"/>
-    <mkdir dir="${target.dir}/sjc/doc/datasources"/>
-    <mkdir dir="${target.dir}/sjc/doc/validator"/>
-    <mkdir dir="${target.dir}/sjc/lib"/>
-    <mkdir dir="${target.dir}/sjc/lib/embedded"/>
-    <mkdir dir="${target.dir}/sjc/lib/embedded/arquillian"/>
-    <mkdir dir="${target.dir}/sjc/lib/endorsed"/>
-    <mkdir dir="${target.dir}/sjc/lib/jetty"/>
-    <mkdir dir="${target.dir}/sjc/log"/>
-    <mkdir dir="${target.dir}/sjc/deploy"/>
-    <mkdir dir="${target.dir}/sjc/system"/>
-
-    <copy todir="${target.dir}/sjc/bin">
-      <fileset dir="src/main/resources/">
-        <include name="**/*.sh"/>
-        <include name="**/*.bat"/>
-      </fileset>
-    </copy>
-
-    <!-- Build a ${name}-sjc.jar containing all dependencies -->
-    <mkdir dir="${build.sjc.dir}/tmp"/>
-    <unjar src="${lib.dir}/sjc/fungal.jar" dest="${build.sjc.dir}/tmp"/>
-    <unjar src="${target.dir}/${name}-sjc.jar" dest="${build.sjc.dir}/tmp"/>
-    <jar destfile="${target.dir}/sjc/bin/${name}-sjc.jar"
-         manifest="${build.sjc.dir}/tmp/META-INF/MANIFEST.MF"
-         basedir="${build.sjc.dir}/tmp"
-         index="true"
-         indexMetaInf="true"
-         update="true"
-         level="9"/>
-    <delete dir="${build.sjc.dir}/tmp"/>
-
-    <copy todir="${target.dir}/sjc/config">
-      <fileset dir="src/main/resources">
-        <include name="*.xml"/>
-        <include name="*.xsd"/>
-      </fileset>
-    </copy>
-
-    <copy todir="${target.dir}/sjc/config">
-      <fileset dir="src/main/resources/">
-        <include name="*.properties"/>
-      </fileset>
-    </copy>
-
-    <copy todir="${target.dir}/sjc/config/bootstrap">
-      <fileset dir="src/main/resources/bootstrap">
-        <include name="*.xml"/>
-      </fileset>
-    </copy>
-
-    <copy todir="${target.dir}/sjc/system">
-      <fileset dir="src/main/resources/system">
-        <include name="*.xml"/>
-      </fileset>
-    </copy>
-
-    <copy todir="${target.dir}/sjc/system">
-      <fileset dir="${target.dir}">
-        <include name="jdbc-local.rar"/>
-        <include name="jdbc-xa.rar"/>
-      </fileset>
-    </copy>
-
-    <copy todir="${target.dir}/sjc/lib">
-      <fileset dir="${target.dir}">
-        <include name="*.jar"/>
-        <exclude name="${name}-codegenerator.jar"/>
-        <exclude name="${name}-deployers-main.jar"/>
-        <exclude name="${name}-deployers-rar.jar"/>
-        <exclude name="${name}-embedded-arquillian.jar"/>
-        <exclude name="${name}-embedded.jar"/>
-        <exclude name="${name}-sjc.jar"/>
-        <exclude name="${name}-standalone.jar"/>
-        <exclude name="${name}-web-console.jar"/>
-      </fileset>
-    </copy>
-
-    <copy todir="${target.dir}/sjc/lib/embedded">
-      <fileset dir="${target.dir}">
-        <include name="${name}-embedded.jar"/>
-      </fileset>
-    </copy>
-
-    <copy todir="${target.dir}/sjc/lib/embedded/arquillian">
-      <fileset dir="${target.dir}">
-        <include name="${name}-embedded-arquillian.jar"/>
-      </fileset>
-    </copy>
-
-    <copy todir="${target.dir}/sjc/lib">
-      <fileset dir="${lib.dir}/common">
-        <include name="*.jar"/>
-        <exclude name="jboss-logging-generator.jar"/>
-        <exclude name="jboss-logging-processor.jar"/>
-      </fileset>
-    </copy>
-
-    <copy todir="${target.dir}/sjc/lib">
-      <fileset dir="${lib.dir}/sjc">
-        <include name="fungal-cli.jar"/>
-      </fileset>
-    </copy>
-
-    <copy todir="${target.dir}/sjc/lib/embedded">
-      <fileset dir="${lib.dir}/embedded">
-        <include name="*.jar"/>
-      </fileset>
-    </copy>
-
-    <copy todir="${target.dir}/sjc/lib/embedded/arquillian">
-      <fileset dir="${lib.dir}/arquillian">
-        <include name="arquillian*.jar"/>
-      </fileset>
-    </copy>
-
-    <copy todir="${target.dir}/sjc/lib/embedded/arquillian">
-      <fileset dir="${lib.dir}/test">
-        <include name="junit.jar"/>
-      </fileset>
-    </copy>
-
-    <copy todir="${target.dir}/sjc/lib/jetty">
-      <fileset dir="${lib.dir}/jetty">
-        <include name="*.jar"/>
-      </fileset>
-    </copy>
-
-    <copy todir="${target.dir}/sjc/system">
-      <fileset dir="${target.dir}">
-        <include name="*.war"/>
-      </fileset>
-    </copy>
-
-    <copy todir="${target.dir}/sjc/doc/" flatten="true">
-      <fileset dir="../common/src/main/resources/">
-        <include name="dtd/connector_1_0.dtd"/>
-        <include name="schema/connector_1_5.xsd"/>
-        <include name="schema/connector_1_6.xsd"/>
-        <include name="schema/datasources_1_0.xsd"/>
-        <include name="schema/resource-adapters_1_0.xsd"/>
-        <include name="schema/ironjacamar_1_0.xsd"/>
-      </fileset>
-    </copy>
-
-    <copy todir="${target.dir}/sjc/doc/datasources" flatten="true">
-      <fileset dir="../common/src/test/resources/ds/example">
-        <include name="*.xml"/>
-      </fileset>
-    </copy>
-
-    <copy todir="${target.dir}/sjc/doc/codegenerator">
-      <fileset dir="../codegenerator/src/main/resources/">
-        <include name="**/*.sh"/>
-        <include name="**/*.bat"/>
-      </fileset>
-    </copy>
-
-    <copy todir="${target.dir}/sjc/doc/validator">
-      <fileset dir="../validator/src/main/resources/">
-        <include name="**/*.sh"/>
-        <include name="**/*.bat"/>
-        <include name="**/pom.xml"/>
-      </fileset>
-      <filterset>
-        <filter token="VERSION.IRONJACAMAR" value="${version}"/>
-      </filterset>
-    </copy>
-
-    <copy todir="${target.dir}/sjc/doc/codegenerator">
-      <fileset dir="${target.dir}">
-        <include name="${name}-codegenerator.jar"/>
-      </fileset>
-    </copy>
-
-    <copy todir="${target.dir}/sjc/doc/samples">
-      <fileset dir="../doc/samples"/>
-
-    </copy>
-
-    <chmod dir="${target.dir}/sjc/bin" perm="ugo+rx" includes="**/*.sh"/>
-    <chmod dir="${target.dir}/sjc/doc/codegenerator" perm="ugo+rx" includes="**/*.sh"/>
-    <chmod dir="${target.dir}/sjc/doc/validator" perm="ugo+rx" includes="**/*.sh"/>
-
-  </target>
-
-  <!-- ================================= 
-       Target: war
-       ================================= -->
-  <target name="war" depends="compile">
-    <mkdir dir="${build.dir}/sjc/war"/>
-    <mkdir dir="${build.dir}/sjc/war/api"/>
-    <mkdir dir="${build.dir}/sjc/war/userguide"/>
-    <mkdir dir="${build.dir}/sjc/war/developerguide"/>
-
-    <ant dir="${api.dir}" inheritRefs="true" target="docs"/>
-    <move todir="${build.dir}/sjc/war/api">
-      <fileset dir="${target.dir}/docs/spec">
-        <include name="**/*"/>
-      </fileset>
-    </move>
-
-    <ant dir="${doc.dir}/developerguide" target="html" inheritRefs="false" inheritAll="false"/>
-    <ant dir="${doc.dir}/userguide" target="html" inheritRefs="false" inheritAll="false"/>
-    <copy todir="${build.dir}/sjc/war/userguide">
-      <fileset dir="${target.dir}/docs/userguide/en-US/html">
-        <include name="**/*"/>
-      </fileset>
-    </copy>
-    <copy todir="${build.dir}/sjc/war/developerguide">
-      <fileset dir="${target.dir}/docs/developerguide/en-US/html">
-        <include name="**/*"/>
-      </fileset>
-    </copy>
-
-    <copy todir="${build.dir}/sjc/war">
-      <fileset dir="src/main/resources/root/">
-        <include name="**/*"/>
-      </fileset>
-    </copy>
-
-    <war destfile="${target.dir}/root.war"
-         needxmlfile="false">
-      <fileset dir="${build.dir}/sjc/war"/>
-    </war>
-
-    <delete dir="${build.dir}/en-US"/>
-
-    <copy todir="${target.dir}/sjc/system">
-      <fileset dir="${target.dir}">
-        <include name="*.war"/>
-      </fileset>
-    </copy>
-
-  </target>
-
-</project>

Copied: projects/jboss-jca/tags/IRONJACAMAR_1_0_0_CR3/sjc/build.xml (from rev 111683, projects/jboss-jca/branches/Branch_1_0/sjc/build.xml)
===================================================================
--- projects/jboss-jca/tags/IRONJACAMAR_1_0_0_CR3/sjc/build.xml	                        (rev 0)
+++ projects/jboss-jca/tags/IRONJACAMAR_1_0_0_CR3/sjc/build.xml	2011-06-29 14:01:33 UTC (rev 111689)
@@ -0,0 +1,356 @@
+<!--
+ * JBoss, Home of Professional Open Source.
+ * Copyright 2008, Red Hat Middleware LLC, and individual contributors
+ * as indicated by the @author tags. See the copyright.txt file in the
+ * distribution for a full listing of individual contributors.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+-->
+<project name="ironjacamar-sjc" 
+         default="compile" 
+         xmlns:ivy="antlib:org.apache.ivy.ant">
+
+  <!-- ================================= 
+       Properties              
+       ================================= -->
+  <property name="build.sjc.dir" value="${build.dir}/sjc" />
+
+  <!-- ================================= 
+       Target: init
+       ================================= -->
+  <target name="init">
+    <mkdir dir="${build.sjc.dir}" />
+    <mkdir dir="${build.sjc.dir}/impl" />
+  </target>
+
+  <!-- ================================= 
+       Target: compile
+       ================================= -->
+  <target name="compile" depends="init">
+    <javac srcdir="src/main"
+           destdir="${build.sjc.dir}/impl"
+           classpathref="sjc.lib.path.id"
+           debug="${javac.debug}"
+           deprecation="${javac.deprecation}"
+           optimize="${javac.optimize}"
+           includeAntRuntime="false">
+      <compilerarg value="-Xlint"/>
+    </javac> 
+  </target>
+
+  <!-- ================================= 
+       Target: jars 
+       ================================= -->
+  <target name="jars" depends="compile">
+    <jar destfile="${target.dir}/${name}-sjc.jar"
+         basedir="${build.sjc.dir}/impl"
+         index="true"
+         indexMetaInf="true"
+         update="true"
+         level="9">
+      <manifest>
+        <attribute name="Implementation-Title" value="IronJacamar SJC"/>
+        <attribute name="Implementation-Version" value="${major}.${minor}.${patch}.${type}"/>
+        <attribute name="Implementation-Vendor" value="The IronJacamar project (http://www.jboss.org/ironjacamar)"/>
+        <attribute name="Implementation-Vendor-Id" value="org.jboss"/>
+        <attribute name="Main-Class" value="org.jboss.jca.sjc.Main"/>
+      </manifest>
+    </jar>
+  </target>
+
+  <!-- ================================= 
+       Target: docs
+       ================================= -->
+  <target name="docs" depends="compile">
+    <mkdir dir="${target.dir}/docs/sjc"/>
+    <javadoc packagenames="org.*"
+             sourcepath="src/main/java"
+             destdir="${target.dir}/docs/sjc"
+             doclet="org.jboss.apiviz.APIviz"
+             docletpathref="sjc.lib.path.id"
+             author="true"
+             version="true"
+             windowtitle="IronJacamar SJC"
+             doctitle="IronJacamar SJC"
+             use="true"
+             additionalparam="-author -version"
+             classpath="${build.sjc.dir}/impl"
+             classpathref="sjc.lib.path.id"
+             bottom="Copyright &#169; 2008-2009 Red Hat Middleware LLC (http://www.jboss.com/)">
+      <link offline="true" href="http://java.sun.com/j2se/5/docs/api/" packagelistLoc="${java.home}/../docs/api"/>
+    </javadoc>
+    <copy todir="${target.dir}/docs/sjc" overwrite="true">
+      <fileset dir="${tools.dir}/api"/>
+    </copy>
+  </target>
+
+  <!-- ================================= 
+       Target: sjc
+       ================================= -->
+  <target name="sjc" depends="compile">
+    <mkdir dir="${target.dir}/sjc"/>
+    <mkdir dir="${target.dir}/sjc/bin"/>
+    <mkdir dir="${target.dir}/sjc/config"/>
+    <mkdir dir="${target.dir}/sjc/config/bootstrap"/>
+    <mkdir dir="${target.dir}/sjc/doc"/>
+    <mkdir dir="${target.dir}/sjc/doc/as"/>
+    <mkdir dir="${target.dir}/sjc/doc/codegenerator"/>
+    <mkdir dir="${target.dir}/sjc/doc/datasources"/>
+    <mkdir dir="${target.dir}/sjc/doc/validator"/>
+    <mkdir dir="${target.dir}/sjc/lib"/>
+    <mkdir dir="${target.dir}/sjc/lib/embedded"/>
+    <mkdir dir="${target.dir}/sjc/lib/embedded/arquillian"/>
+    <mkdir dir="${target.dir}/sjc/lib/endorsed"/>
+    <mkdir dir="${target.dir}/sjc/lib/jetty"/>
+    <mkdir dir="${target.dir}/sjc/log"/>
+    <mkdir dir="${target.dir}/sjc/deploy"/>
+    <mkdir dir="${target.dir}/sjc/system"/>
+
+    <copy todir="${target.dir}/sjc/bin">
+      <fileset dir="src/main/resources/">
+        <include name="**/*.sh"/>
+        <include name="**/*.bat"/>
+      </fileset>
+    </copy>
+
+    <!-- Build a ${name}-sjc.jar containing all dependencies -->
+    <mkdir dir="${build.sjc.dir}/tmp"/>
+    <unjar src="${lib.dir}/sjc/fungal.jar" dest="${build.sjc.dir}/tmp"/>
+    <unjar src="${target.dir}/${name}-sjc.jar" dest="${build.sjc.dir}/tmp"/>
+    <jar destfile="${target.dir}/sjc/bin/${name}-sjc.jar"
+         manifest="${build.sjc.dir}/tmp/META-INF/MANIFEST.MF"
+         basedir="${build.sjc.dir}/tmp"
+         index="true"
+         indexMetaInf="true"
+         update="true"
+         level="9"/>
+    <delete dir="${build.sjc.dir}/tmp"/>
+
+    <copy todir="${target.dir}/sjc/config">
+      <fileset dir="src/main/resources">
+        <include name="*.xml"/>
+        <include name="*.xsd"/>
+      </fileset>
+    </copy>
+
+    <copy todir="${target.dir}/sjc/config">
+      <fileset dir="src/main/resources/">
+        <include name="*.properties"/>
+      </fileset>
+    </copy>
+
+    <copy todir="${target.dir}/sjc/config/bootstrap">
+      <fileset dir="src/main/resources/bootstrap">
+        <include name="*.xml"/>
+      </fileset>
+    </copy>
+
+    <copy todir="${target.dir}/sjc/system">
+      <fileset dir="src/main/resources/system">
+        <include name="*.xml"/>
+      </fileset>
+    </copy>
+
+    <copy todir="${target.dir}/sjc/system">
+      <fileset dir="${target.dir}">
+        <include name="jdbc-local.rar"/>
+        <include name="jdbc-xa.rar"/>
+      </fileset>
+    </copy>
+
+    <copy todir="${target.dir}/sjc/lib">
+      <fileset dir="${target.dir}">
+        <include name="*.jar"/>
+        <exclude name="${name}-as.jar"/>
+        <exclude name="${name}-codegenerator.jar"/>
+        <exclude name="${name}-embedded-arquillian.jar"/>
+        <exclude name="${name}-embedded.jar"/>
+        <exclude name="${name}-sjc.jar"/>
+        <exclude name="${name}-web-console.jar"/>
+      </fileset>
+    </copy>
+
+    <copy todir="${target.dir}/sjc/lib/embedded">
+      <fileset dir="${target.dir}">
+        <include name="${name}-embedded.jar"/>
+      </fileset>
+    </copy>
+
+    <copy todir="${target.dir}/sjc/lib/embedded/arquillian">
+      <fileset dir="${target.dir}">
+        <include name="${name}-embedded-arquillian.jar"/>
+      </fileset>
+    </copy>
+
+    <copy todir="${target.dir}/sjc/lib">
+      <fileset dir="${lib.dir}/common">
+        <include name="*.jar"/>
+        <exclude name="jboss-logging-generator.jar"/>
+        <exclude name="jboss-logging-processor.jar"/>
+      </fileset>
+    </copy>
+
+    <copy todir="${target.dir}/sjc/lib">
+      <fileset dir="${lib.dir}/sjc">
+        <include name="fungal-cli.jar"/>
+      </fileset>
+    </copy>
+
+    <copy todir="${target.dir}/sjc/lib/embedded">
+      <fileset dir="${lib.dir}/embedded">
+        <include name="*.jar"/>
+      </fileset>
+    </copy>
+
+    <copy todir="${target.dir}/sjc/lib/embedded/arquillian">
+      <fileset dir="${lib.dir}/arquillian">
+        <include name="arquillian*.jar"/>
+      </fileset>
+    </copy>
+
+    <copy todir="${target.dir}/sjc/lib/embedded/arquillian">
+      <fileset dir="${lib.dir}/test">
+        <include name="junit.jar"/>
+      </fileset>
+    </copy>
+
+    <copy todir="${target.dir}/sjc/lib/jetty">
+      <fileset dir="${lib.dir}/jetty">
+        <include name="*.jar"/>
+      </fileset>
+    </copy>
+
+    <copy todir="${target.dir}/sjc/system">
+      <fileset dir="${target.dir}">
+        <include name="*.war"/>
+      </fileset>
+    </copy>
+
+    <copy todir="${target.dir}/sjc/doc/" flatten="true">
+      <fileset dir="../common/src/main/resources/">
+        <include name="dtd/connector_1_0.dtd"/>
+        <include name="schema/connector_1_5.xsd"/>
+        <include name="schema/connector_1_6.xsd"/>
+        <include name="schema/datasources_1_0.xsd"/>
+        <include name="schema/resource-adapters_1_0.xsd"/>
+        <include name="schema/ironjacamar_1_0.xsd"/>
+      </fileset>
+    </copy>
+
+    <copy todir="${target.dir}/sjc/doc/as">
+      <fileset dir="${target.dir}">
+        <include name="${name}-as.jar"/>
+      </fileset>
+    </copy>
+    <copy todir="${target.dir}/sjc/doc/as">
+      <fileset dir="../as/src/main/resources/">
+        <include name="**/*.sh"/>
+        <include name="**/*.bat"/>
+      </fileset>
+    </copy>
+
+    <copy todir="${target.dir}/sjc/doc/datasources" flatten="true">
+      <fileset dir="../common/src/test/resources/ds/example">
+        <include name="*.xml"/>
+      </fileset>
+    </copy>
+
+    <copy todir="${target.dir}/sjc/doc/codegenerator">
+      <fileset dir="../codegenerator/src/main/resources/">
+        <include name="**/*.sh"/>
+        <include name="**/*.bat"/>
+      </fileset>
+    </copy>
+
+    <copy todir="${target.dir}/sjc/doc/validator">
+      <fileset dir="../validator/src/main/resources/">
+        <include name="**/*.sh"/>
+        <include name="**/*.bat"/>
+        <include name="**/pom.xml"/>
+      </fileset>
+      <filterset>
+        <filter token="VERSION.IRONJACAMAR" value="${version}"/>
+      </filterset>
+    </copy>
+
+    <copy todir="${target.dir}/sjc/doc/codegenerator">
+      <fileset dir="${target.dir}">
+        <include name="${name}-codegenerator.jar"/>
+      </fileset>
+    </copy>
+
+    <copy todir="${target.dir}/sjc/doc/samples">
+      <fileset dir="../doc/samples"/>
+    </copy>
+
+    <chmod dir="${target.dir}/sjc/bin" perm="ugo+rx" includes="**/*.sh"/>
+    <chmod dir="${target.dir}/sjc/doc/as" perm="ugo+rx" includes="**/*.sh"/>
+    <chmod dir="${target.dir}/sjc/doc/codegenerator" perm="ugo+rx" includes="**/*.sh"/>
+    <chmod dir="${target.dir}/sjc/doc/validator" perm="ugo+rx" includes="**/*.sh"/>
+
+  </target>
+
+  <!-- ================================= 
+       Target: war
+       ================================= -->
+  <target name="war" depends="compile">
+    <mkdir dir="${build.dir}/sjc/war"/>
+    <mkdir dir="${build.dir}/sjc/war/api"/>
+    <mkdir dir="${build.dir}/sjc/war/userguide"/>
+    <mkdir dir="${build.dir}/sjc/war/developerguide"/>
+
+    <ant dir="${api.dir}" inheritRefs="true" target="docs"/>
+    <move todir="${build.dir}/sjc/war/api">
+      <fileset dir="${target.dir}/docs/spec">
+        <include name="**/*"/>
+      </fileset>
+    </move>
+
+    <ant dir="${doc.dir}/developerguide" target="html" inheritRefs="false" inheritAll="false"/>
+    <ant dir="${doc.dir}/userguide" target="html" inheritRefs="false" inheritAll="false"/>
+    <copy todir="${build.dir}/sjc/war/userguide">
+      <fileset dir="${target.dir}/docs/userguide/en-US/html">
+        <include name="**/*"/>
+      </fileset>
+    </copy>
+    <copy todir="${build.dir}/sjc/war/developerguide">
+      <fileset dir="${target.dir}/docs/developerguide/en-US/html">
+        <include name="**/*"/>
+      </fileset>
+    </copy>
+
+    <copy todir="${build.dir}/sjc/war">
+      <fileset dir="src/main/resources/root/">
+        <include name="**/*"/>
+      </fileset>
+    </copy>
+
+    <war destfile="${target.dir}/root.war"
+         needxmlfile="false">
+      <fileset dir="${build.dir}/sjc/war"/>
+    </war>
+
+    <delete dir="${build.dir}/en-US"/>
+
+    <copy todir="${target.dir}/sjc/system">
+      <fileset dir="${target.dir}">
+        <include name="*.war"/>
+      </fileset>
+    </copy>
+
+  </target>
+
+</project>

Deleted: projects/jboss-jca/tags/IRONJACAMAR_1_0_0_CR3/sjc/src/main/resources/bootstrap/jca.xml
===================================================================
--- projects/jboss-jca/branches/Branch_1_0/sjc/src/main/resources/bootstrap/jca.xml	2011-06-28 12:27:24 UTC (rev 111682)
+++ projects/jboss-jca/tags/IRONJACAMAR_1_0_0_CR3/sjc/src/main/resources/bootstrap/jca.xml	2011-06-29 14:01:33 UTC (rev 111689)
@@ -1,240 +0,0 @@
-<deployment>
-
-  <!-- Bean Validation -->
-  <bean name="BeanValidation" class="org.jboss.jca.core.bv.BeanValidation">
-    <depends>NamingServer</depends>
-  </bean>
-
-  <!-- Thread group -->
-  <bean name="ThreadGroup"
-        class="java.lang.ThreadGroup">
-    <constructor>
-      <parameter>workmanager</parameter>
-    </constructor>
-    <ignoreStop/>
-    <ignoreDestroy/>
-  </bean>
-
-  <!-- Thread factory -->
-  <bean name="ThreadFactory"
-        interface="java.util.concurrent.ThreadFactory"
-        class="org.jboss.threads.JBossThreadFactory">
-    <constructor>
-      <parameter><inject bean="ThreadGroup"/></parameter>
-      <parameter>false</parameter>
-      <parameter>5</parameter>
-      <parameter>work</parameter>
-      <parameter><null/></parameter>
-      <parameter><null/></parameter>
-    </constructor>
-  </bean>
-
-  <!-- Rejecting executor -->
-  <bean name="RejectingExecutor">
-    <constructor factoryMethod="rejectingExecutor" 
-                 factoryClass="org.jboss.threads.JBossExecutors">
-    </constructor>
-  </bean>
-
-  <!-- TimeUnit -->
-  <bean name="KeepAliveTimeUnit">
-    <constructor factoryMethod="valueOf" 
-                 factoryClass="java.util.concurrent.TimeUnit">
-      <parameter>SECONDS</parameter>
-    </constructor>
-  </bean>
-
-  <!-- Short running thread pool -->
-  <bean name="ShortRunningThreadPool" class="org.jboss.threads.QueueExecutor">
-    <constructor>
-      <!-- Core threads -->
-      <parameter>20</parameter>
-      <!-- Max threads -->
-      <parameter>100</parameter>
-      <!-- 60 seconds keepalive -->
-      <parameter>60</parameter>
-      <parameter><inject bean="KeepAliveTimeUnit"/></parameter>
-      <!-- Queue size -->
-      <parameter>1024</parameter>
-      <!-- Thread factory -->
-      <parameter><inject bean="ThreadFactory"/></parameter>
-      <!-- Blocking -->
-      <parameter>true</parameter>
-      <!-- Handoff executor -->
-      <parameter><inject bean="RejectingExecutor"/></parameter>
-    </constructor>
-    <destroy method="shutdown"/>
-  </bean>
-
-  <!-- Long running thread pool -->
-  <bean name="LongRunningThreadPool" class="org.jboss.threads.QueueExecutor">
-    <constructor>
-      <!-- Core threads -->
-      <parameter>20</parameter>
-      <!-- Max threads -->
-      <parameter>100</parameter>
-      <!-- 60 seconds keepalive -->
-      <parameter>60</parameter>
-      <parameter><inject bean="KeepAliveTimeUnit"/></parameter>
-      <!-- Queue size -->
-      <parameter>1024</parameter>
-      <!-- Thread factory -->
-      <parameter><inject bean="ThreadFactory"/></parameter>
-      <!-- Blocking -->
-      <parameter>true</parameter>
-      <!-- Handoff executor -->
-      <parameter><inject bean="RejectingExecutor"/></parameter>
-    </constructor>
-    <destroy method="shutdown"/>
-  </bean>
-
-  <!-- Users / roles -->
-  <bean name="UsersRoles"
-        interface="org.jboss.jca.core.spi.security.Callback"
-        class="org.jboss.jca.core.security.UsersRoles">
-    <property name="UsersProperties">${iron.jacamar.home}/config/users.properties</property>
-    <property name="RolesProperties">${iron.jacamar.home}/config/roles.properties</property>
-  </bean>
-
-  <!-- Work Manager -->
-  <bean name="WorkManager"
-        interface="org.jboss.jca.core.api.workmanager.WorkManager" 
-        class="org.jboss.jca.core.workmanager.WorkManagerImpl">
-
-    <!-- The short running thread pool -->
-    <property name="ShortRunningThreadPool"><inject bean="ShortRunningThreadPool"/></property>
-
-    <!-- The long running thread pool -->
-    <property name="LongRunningThreadPool"><inject bean="LongRunningThreadPool"/></property>
-
-    <!-- The XA terminator -->
-    <property name="XATerminator"><inject bean="TransactionIntegration" property="XATerminator"/></property>
-
-    <!-- The callback security module -->
-    <property name="CallbackSecurity"><inject bean="UsersRoles"/></property>
-  </bean>
-  
-  <!-- Default Bootstrap context -->
-  <bean name="DefaultBootstrapContext" 
-        interface="org.jboss.jca.core.api.bootstrap.CloneableBootstrapContext"
-        class="org.jboss.jca.core.bootstrapcontext.BaseCloneableBootstrapContext">
-
-    <!-- The Transaction Synchronization Registry -->
-    <property name="TransactionSynchronizationRegistry"><inject bean="TransactionSynchronizationRegistry"/></property>
-
-    <!-- The Work Manager -->
-    <property name="WorkManager"><inject bean="WorkManager"/></property>
-
-    <!-- The XA terminator -->
-    <property name="XATerminator"><inject bean="TransactionIntegration" property="XATerminator"/></property>
-  </bean>
-
-  <!-- Explicit JNDI strategy -->
-  <bean name="ExplicitJndiStrategy"
-        interface="org.jboss.jca.core.spi.naming.JndiStrategy"
-        class="org.jboss.jca.core.naming.ExplicitJndiStrategy"/>
-
-  <!-- Simple JNDI strategy -->
-  <bean name="SimpleJndiStrategy"
-        interface="org.jboss.jca.core.spi.naming.JndiStrategy"
-        class="org.jboss.jca.core.naming.SimpleJndiStrategy"/>
-
-  <!-- MDR -->
-  <bean name="MDR"
-        interface="org.jboss.jca.core.spi.mdr.MetadataRepository"
-        class="org.jboss.jca.core.mdr.SimpleMetadataRepository"/>
-
-  <!-- CCM -->
-  <bean name="CCM"
-        interface="org.jboss.jca.core.api.connectionmanager.ccm.CachedConnectionManager"
-        class="org.jboss.jca.core.connectionmanager.ccm.CachedConnectionManagerImpl">
-    <constructor>
-      <parameter><inject bean="TransactionIntegration" property="TransactionManager"/></parameter>
-      <parameter><inject bean="TransactionIntegration" property="TransactionSynchronizationRegistry"/></parameter>
-    </constructor>
-    <property name="Debug">false</property>
-    <property name="Error">false</property>
-  </bean>
-
-  <!-- Resource adapter repository -->
-  <bean name="ResourceAdapterRepository"
-        interface="org.jboss.jca.core.spi.rar.ResourceAdapterRepository"
-        class="org.jboss.jca.core.rar.SimpleResourceAdapterRepository">
-    <property name="MetadataRepository"><inject bean="MDR"/></property>
-  </bean>
-
-  <!-- Management repository -->
-  <bean name="ManagementRepository"
-        class="org.jboss.jca.core.api.management.ManagementRepository"/>
-
-  <!-- Deployer configuration -->
-  <bean name="DeployerConfiguration"
-        class="org.jboss.jca.deployers.fungal.RAConfiguration">
-    <property name="ArchiveValidation">true</property>
-    <property name="ArchiveValidationFailOnWarn">false</property>
-    <property name="ArchiveValidationFailOnError">true</property>
-    <property name="BeanValidation">true</property>
-    <property name="PrintStream"><inject bean="JBossStdioContext" property="Out"/></property>
-    <property name="DefaultBootstrapContext"><inject bean="DefaultBootstrapContext"/></property>
-    <property name="JndiStrategy"><inject bean="ExplicitJndiStrategy"/></property>
-    <property name="TransactionIntegration"><inject bean="TransactionIntegration"/></property>
-    <property name="MetadataRepository"><inject bean="MDR"/></property>
-    <property name="ManagementRepository"><inject bean="ManagementRepository"/></property>
-    <property name="ResourceAdapterRepository"><inject bean="ResourceAdapterRepository"/></property>
-    <property name="CachedConnectionManager"><inject bean="CCM"/></property>
-  </bean>
-
-  <!-- Activator configuration -->
-  <bean name="ActivatorConfiguration"
-        class="org.jboss.jca.deployers.fungal.RAConfiguration">
-    <property name="ArchiveValidation">true</property>
-    <property name="ArchiveValidationFailOnWarn">false</property>
-    <property name="ArchiveValidationFailOnError">true</property>
-    <property name="BeanValidation">true</property>
-    <property name="PrintStream"><inject bean="JBossStdioContext" property="Out"/></property>
-    <property name="DefaultBootstrapContext"><inject bean="DefaultBootstrapContext"/></property>
-    <property name="JndiStrategy"><inject bean="SimpleJndiStrategy"/></property>
-    <property name="TransactionIntegration"><inject bean="TransactionIntegration"/></property>
-    <property name="MetadataRepository"><inject bean="MDR"/></property>
-    <property name="ManagementRepository"><inject bean="ManagementRepository"/></property>
-    <property name="ResourceAdapterRepository"><inject bean="ResourceAdapterRepository"/></property>
-    <property name="CachedConnectionManager"><inject bean="CCM"/></property>
-  </bean>
-
-  <!-- RA deployer -->
-  <bean name="RADeployer"
-        interface="com.github.fungal.spi.deployers.Deployer" 
-        class="org.jboss.jca.deployers.fungal.RADeployer">
-    <property name="Configuration"><inject bean="DeployerConfiguration"/></property>
-    <property name="Kernel"><inject bean="Kernel"/></property>
-    <depends>BeanValidation</depends>
-    <depends>JBossStdioContextSelector</depends>
-  </bean>
-
-  <!-- -ra.xml deployer -->
-  <bean name="RaXmlDeployer"
-        interface="com.github.fungal.spi.deployers.Deployer" 
-        class="org.jboss.jca.deployers.fungal.RaXmlDeployer">
-    <property name="Configuration"><inject bean="DeployerConfiguration"/></property>
-    <property name="Kernel"><inject bean="Kernel"/></property>
-    <depends>BeanValidation</depends>
-    <depends>JBossStdioContextSelector</depends>
-  </bean>
-
-  <!-- RA activator -->
-  <bean name="RAActivator" 
-        class="org.jboss.jca.deployers.fungal.RAActivator">
-    <property name="Configuration"><inject bean="ActivatorConfiguration"/></property>
-    <property name="Enabled">true</property>
-    <property name="Kernel"><inject bean="Kernel"/></property>
-    <property name="ExcludeArchives">
-      <set elementClass="java.lang.String">
-        <value>jdbc-local.rar</value>
-        <value>jdbc-xa.rar</value>
-      </set>
-    </property>
-    <depends>BeanValidation</depends>
-    <depends>JBossStdioContextSelector</depends>
-  </bean>
-
-</deployment>

Copied: projects/jboss-jca/tags/IRONJACAMAR_1_0_0_CR3/sjc/src/main/resources/bootstrap/jca.xml (from rev 111685, projects/jboss-jca/branches/Branch_1_0/sjc/src/main/resources/bootstrap/jca.xml)
===================================================================
--- projects/jboss-jca/tags/IRONJACAMAR_1_0_0_CR3/sjc/src/main/resources/bootstrap/jca.xml	                        (rev 0)
+++ projects/jboss-jca/tags/IRONJACAMAR_1_0_0_CR3/sjc/src/main/resources/bootstrap/jca.xml	2011-06-29 14:01:33 UTC (rev 111689)
@@ -0,0 +1,242 @@
+<deployment>
+
+  <!-- Bean Validation -->
+  <bean name="BeanValidation" class="org.jboss.jca.core.bv.BeanValidation">
+    <depends>NamingServer</depends>
+  </bean>
+
+  <!-- Thread group -->
+  <bean name="ThreadGroup"
+        class="java.lang.ThreadGroup">
+    <constructor>
+      <parameter>workmanager</parameter>
+    </constructor>
+    <ignoreStop/>
+    <ignoreDestroy/>
+  </bean>
+
+  <!-- Thread factory -->
+  <bean name="ThreadFactory"
+        interface="java.util.concurrent.ThreadFactory"
+        class="org.jboss.threads.JBossThreadFactory">
+    <constructor>
+      <parameter><inject bean="ThreadGroup"/></parameter>
+      <parameter>false</parameter>
+      <parameter>5</parameter>
+      <parameter>work</parameter>
+      <parameter><null/></parameter>
+      <parameter><null/></parameter>
+    </constructor>
+  </bean>
+
+  <!-- Rejecting executor -->
+  <bean name="RejectingExecutor">
+    <constructor factoryMethod="rejectingExecutor" 
+                 factoryClass="org.jboss.threads.JBossExecutors">
+    </constructor>
+  </bean>
+
+  <!-- TimeUnit -->
+  <bean name="KeepAliveTimeUnit">
+    <constructor factoryMethod="valueOf" 
+                 factoryClass="java.util.concurrent.TimeUnit">
+      <parameter>SECONDS</parameter>
+    </constructor>
+  </bean>
+
+  <!-- Short running thread pool -->
+  <bean name="ShortRunningThreadPool" class="org.jboss.threads.QueueExecutor">
+    <constructor>
+      <!-- Core threads -->
+      <parameter>20</parameter>
+      <!-- Max threads -->
+      <parameter>100</parameter>
+      <!-- 60 seconds keepalive -->
+      <parameter>60</parameter>
+      <parameter><inject bean="KeepAliveTimeUnit"/></parameter>
+      <!-- Queue size -->
+      <parameter>1024</parameter>
+      <!-- Thread factory -->
+      <parameter><inject bean="ThreadFactory"/></parameter>
+      <!-- Blocking -->
+      <parameter>true</parameter>
+      <!-- Handoff executor -->
+      <parameter><inject bean="RejectingExecutor"/></parameter>
+    </constructor>
+    <destroy method="shutdown"/>
+  </bean>
+
+  <!-- Long running thread pool -->
+  <bean name="LongRunningThreadPool" class="org.jboss.threads.QueueExecutor">
+    <constructor>
+      <!-- Core threads -->
+      <parameter>20</parameter>
+      <!-- Max threads -->
+      <parameter>100</parameter>
+      <!-- 60 seconds keepalive -->
+      <parameter>60</parameter>
+      <parameter><inject bean="KeepAliveTimeUnit"/></parameter>
+      <!-- Queue size -->
+      <parameter>1024</parameter>
+      <!-- Thread factory -->
+      <parameter><inject bean="ThreadFactory"/></parameter>
+      <!-- Blocking -->
+      <parameter>true</parameter>
+      <!-- Handoff executor -->
+      <parameter><inject bean="RejectingExecutor"/></parameter>
+    </constructor>
+    <destroy method="shutdown"/>
+  </bean>
+
+  <!-- Users / roles -->
+  <bean name="UsersRoles"
+        interface="org.jboss.jca.core.spi.security.Callback"
+        class="org.jboss.jca.core.security.UsersRoles">
+    <property name="UsersProperties">${iron.jacamar.home}/config/users.properties</property>
+    <property name="RolesProperties">${iron.jacamar.home}/config/roles.properties</property>
+  </bean>
+
+  <!-- Work Manager -->
+  <bean name="WorkManager"
+        interface="org.jboss.jca.core.api.workmanager.WorkManager" 
+        class="org.jboss.jca.core.workmanager.WorkManagerImpl">
+
+    <!-- The short running thread pool -->
+    <property name="ShortRunningThreadPool"><inject bean="ShortRunningThreadPool"/></property>
+
+    <!-- The long running thread pool -->
+    <property name="LongRunningThreadPool"><inject bean="LongRunningThreadPool"/></property>
+
+    <!-- The XA terminator -->
+    <property name="XATerminator"><inject bean="TransactionIntegration" property="XATerminator"/></property>
+
+    <!-- The callback security module -->
+    <property name="CallbackSecurity"><inject bean="UsersRoles"/></property>
+
+    <destroy method="shutdown"/>
+  </bean>
+  
+  <!-- Default Bootstrap context -->
+  <bean name="DefaultBootstrapContext" 
+        interface="org.jboss.jca.core.api.bootstrap.CloneableBootstrapContext"
+        class="org.jboss.jca.core.bootstrapcontext.BaseCloneableBootstrapContext">
+
+    <!-- The Transaction Synchronization Registry -->
+    <property name="TransactionSynchronizationRegistry"><inject bean="TransactionSynchronizationRegistry"/></property>
+
+    <!-- The Work Manager -->
+    <property name="WorkManager"><inject bean="WorkManager"/></property>
+
+    <!-- The XA terminator -->
+    <property name="XATerminator"><inject bean="TransactionIntegration" property="XATerminator"/></property>
+  </bean>
+
+  <!-- Explicit JNDI strategy -->
+  <bean name="ExplicitJndiStrategy"
+        interface="org.jboss.jca.core.spi.naming.JndiStrategy"
+        class="org.jboss.jca.core.naming.ExplicitJndiStrategy"/>
+
+  <!-- Simple JNDI strategy -->
+  <bean name="SimpleJndiStrategy"
+        interface="org.jboss.jca.core.spi.naming.JndiStrategy"
+        class="org.jboss.jca.core.naming.SimpleJndiStrategy"/>
+
+  <!-- MDR -->
+  <bean name="MDR"
+        interface="org.jboss.jca.core.spi.mdr.MetadataRepository"
+        class="org.jboss.jca.core.mdr.SimpleMetadataRepository"/>
+
+  <!-- CCM -->
+  <bean name="CCM"
+        interface="org.jboss.jca.core.api.connectionmanager.ccm.CachedConnectionManager"
+        class="org.jboss.jca.core.connectionmanager.ccm.CachedConnectionManagerImpl">
+    <constructor>
+      <parameter><inject bean="TransactionIntegration" property="TransactionManager"/></parameter>
+      <parameter><inject bean="TransactionIntegration" property="TransactionSynchronizationRegistry"/></parameter>
+    </constructor>
+    <property name="Debug">false</property>
+    <property name="Error">false</property>
+  </bean>
+
+  <!-- Resource adapter repository -->
+  <bean name="ResourceAdapterRepository"
+        interface="org.jboss.jca.core.spi.rar.ResourceAdapterRepository"
+        class="org.jboss.jca.core.rar.SimpleResourceAdapterRepository">
+    <property name="MetadataRepository"><inject bean="MDR"/></property>
+  </bean>
+
+  <!-- Management repository -->
+  <bean name="ManagementRepository"
+        class="org.jboss.jca.core.api.management.ManagementRepository"/>
+
+  <!-- Deployer configuration -->
+  <bean name="DeployerConfiguration"
+        class="org.jboss.jca.deployers.fungal.RAConfiguration">
+    <property name="ArchiveValidation">true</property>
+    <property name="ArchiveValidationFailOnWarn">false</property>
+    <property name="ArchiveValidationFailOnError">true</property>
+    <property name="BeanValidation">true</property>
+    <property name="PrintStream"><inject bean="JBossStdioContext" property="Out"/></property>
+    <property name="DefaultBootstrapContext"><inject bean="DefaultBootstrapContext"/></property>
+    <property name="JndiStrategy"><inject bean="ExplicitJndiStrategy"/></property>
+    <property name="TransactionIntegration"><inject bean="TransactionIntegration"/></property>
+    <property name="MetadataRepository"><inject bean="MDR"/></property>
+    <property name="ManagementRepository"><inject bean="ManagementRepository"/></property>
+    <property name="ResourceAdapterRepository"><inject bean="ResourceAdapterRepository"/></property>
+    <property name="CachedConnectionManager"><inject bean="CCM"/></property>
+  </bean>
+
+  <!-- Activator configuration -->
+  <bean name="ActivatorConfiguration"
+        class="org.jboss.jca.deployers.fungal.RAConfiguration">
+    <property name="ArchiveValidation">true</property>
+    <property name="ArchiveValidationFailOnWarn">false</property>
+    <property name="ArchiveValidationFailOnError">true</property>
+    <property name="BeanValidation">true</property>
+    <property name="PrintStream"><inject bean="JBossStdioContext" property="Out"/></property>
+    <property name="DefaultBootstrapContext"><inject bean="DefaultBootstrapContext"/></property>
+    <property name="JndiStrategy"><inject bean="SimpleJndiStrategy"/></property>
+    <property name="TransactionIntegration"><inject bean="TransactionIntegration"/></property>
+    <property name="MetadataRepository"><inject bean="MDR"/></property>
+    <property name="ManagementRepository"><inject bean="ManagementRepository"/></property>
+    <property name="ResourceAdapterRepository"><inject bean="ResourceAdapterRepository"/></property>
+    <property name="CachedConnectionManager"><inject bean="CCM"/></property>
+  </bean>
+
+  <!-- RA deployer -->
+  <bean name="RADeployer"
+        interface="com.github.fungal.spi.deployers.Deployer" 
+        class="org.jboss.jca.deployers.fungal.RADeployer">
+    <property name="Configuration"><inject bean="DeployerConfiguration"/></property>
+    <property name="Kernel"><inject bean="Kernel"/></property>
+    <depends>BeanValidation</depends>
+    <depends>JBossStdioContextSelector</depends>
+  </bean>
+
+  <!-- -ra.xml deployer -->
+  <bean name="RaXmlDeployer"
+        interface="com.github.fungal.spi.deployers.Deployer" 
+        class="org.jboss.jca.deployers.fungal.RaXmlDeployer">
+    <property name="Configuration"><inject bean="DeployerConfiguration"/></property>
+    <property name="Kernel"><inject bean="Kernel"/></property>
+    <depends>BeanValidation</depends>
+    <depends>JBossStdioContextSelector</depends>
+  </bean>
+
+  <!-- RA activator -->
+  <bean name="RAActivator" 
+        class="org.jboss.jca.deployers.fungal.RAActivator">
+    <property name="Configuration"><inject bean="ActivatorConfiguration"/></property>
+    <property name="Enabled">true</property>
+    <property name="Kernel"><inject bean="Kernel"/></property>
+    <property name="ExcludeArchives">
+      <set elementClass="java.lang.String">
+        <value>jdbc-local.rar</value>
+        <value>jdbc-xa.rar</value>
+      </set>
+    </property>
+    <depends>BeanValidation</depends>
+    <depends>JBossStdioContextSelector</depends>
+  </bean>
+
+</deployment>



More information about the jboss-cvs-commits mailing list