[jboss-cvs] JBossAS SVN: r72451 - in projects/ejb3/dev/ejbthree1269: core and 90 other directories.

jboss-cvs-commits at lists.jboss.org jboss-cvs-commits at lists.jboss.org
Fri Apr 18 13:47:18 EDT 2008


Author: ALRubinger
Date: 2008-04-18 13:47:17 -0400 (Fri, 18 Apr 2008)
New Revision: 72451

Added:
   projects/ejb3/dev/ejbthree1269/interceptors/src/test/java/org/jboss/ejb3/test/interceptors/badbinding/
   projects/ejb3/dev/ejbthree1269/interceptors/src/test/java/org/jboss/ejb3/test/interceptors/badbinding/InterceptorOrderBean.java
   projects/ejb3/dev/ejbthree1269/interceptors/src/test/java/org/jboss/ejb3/test/interceptors/badbinding/MetadataBean.java
   projects/ejb3/dev/ejbthree1269/interceptors/src/test/java/org/jboss/ejb3/test/interceptors/badbinding/unit/
   projects/ejb3/dev/ejbthree1269/interceptors/src/test/java/org/jboss/ejb3/test/interceptors/badbinding/unit/BadBindingTestCase.java
   projects/ejb3/dev/ejbthree1269/interceptors/src/test/resources/badbinding/
   projects/ejb3/dev/ejbthree1269/interceptors/src/test/resources/badbinding/badbean-interceptor-binding-with-method/
   projects/ejb3/dev/ejbthree1269/interceptors/src/test/resources/badbinding/badbean-interceptor-binding-with-method/META-INF/
   projects/ejb3/dev/ejbthree1269/interceptors/src/test/resources/badbinding/badbean-interceptor-binding-with-method/META-INF/ejb-jar.xml
   projects/ejb3/dev/ejbthree1269/interceptors/src/test/resources/badbinding/badbean-interceptor-binding/
   projects/ejb3/dev/ejbthree1269/interceptors/src/test/resources/badbinding/badbean-interceptor-binding/META-INF/
   projects/ejb3/dev/ejbthree1269/interceptors/src/test/resources/badbinding/badbean-interceptor-binding/META-INF/ejb-jar.xml
   projects/ejb3/dev/ejbthree1269/interceptors/src/test/resources/badbinding/badbean-interceptor-order-binding-with-method/
   projects/ejb3/dev/ejbthree1269/interceptors/src/test/resources/badbinding/badbean-interceptor-order-binding-with-method/META-INF/
   projects/ejb3/dev/ejbthree1269/interceptors/src/test/resources/badbinding/badbean-interceptor-order-binding-with-method/META-INF/ejb-jar.xml
   projects/ejb3/dev/ejbthree1269/interceptors/src/test/resources/badbinding/badbean-interceptor-order-binding/
   projects/ejb3/dev/ejbthree1269/interceptors/src/test/resources/badbinding/badbean-interceptor-order-binding/META-INF/
   projects/ejb3/dev/ejbthree1269/interceptors/src/test/resources/badbinding/badbean-interceptor-order-binding/META-INF/ejb-jar.xml
   projects/ejb3/dev/ejbthree1269/interceptors/src/test/resources/badbinding/default-interceptor-binding-with-method/
   projects/ejb3/dev/ejbthree1269/interceptors/src/test/resources/badbinding/default-interceptor-binding-with-method/META-INF/
   projects/ejb3/dev/ejbthree1269/interceptors/src/test/resources/badbinding/default-interceptor-binding-with-method/META-INF/ejb-jar.xml
   projects/ejb3/dev/ejbthree1269/interceptors/src/test/resources/badbinding/default-interceptor-binding/
   projects/ejb3/dev/ejbthree1269/interceptors/src/test/resources/badbinding/default-interceptor-binding/META-INF/
   projects/ejb3/dev/ejbthree1269/interceptors/src/test/resources/badbinding/default-interceptor-binding/META-INF/ejb-jar.xml
   projects/ejb3/dev/ejbthree1269/interceptors/src/test/resources/badbinding/default-interceptor-order-binding-with-method/
   projects/ejb3/dev/ejbthree1269/interceptors/src/test/resources/badbinding/default-interceptor-order-binding-with-method/META-INF/
   projects/ejb3/dev/ejbthree1269/interceptors/src/test/resources/badbinding/default-interceptor-order-binding-with-method/META-INF/ejb-jar.xml
   projects/ejb3/dev/ejbthree1269/interceptors/src/test/resources/badbinding/default-interceptor-order-binding/
   projects/ejb3/dev/ejbthree1269/interceptors/src/test/resources/badbinding/default-interceptor-order-binding/META-INF/
   projects/ejb3/dev/ejbthree1269/interceptors/src/test/resources/badbinding/default-interceptor-order-binding/META-INF/ejb-jar.xml
   projects/ejb3/dev/ejbthree1269/interceptors/src/test/resources/badbinding/goodbean-interceptor-binding-with-method/
   projects/ejb3/dev/ejbthree1269/interceptors/src/test/resources/badbinding/goodbean-interceptor-binding-with-method/META-INF/
   projects/ejb3/dev/ejbthree1269/interceptors/src/test/resources/badbinding/goodbean-interceptor-binding-with-method/META-INF/ejb-jar.xml
   projects/ejb3/dev/ejbthree1269/interceptors/src/test/resources/badbinding/goodbean-interceptor-binding/
   projects/ejb3/dev/ejbthree1269/interceptors/src/test/resources/badbinding/goodbean-interceptor-binding/META-INF/
   projects/ejb3/dev/ejbthree1269/interceptors/src/test/resources/badbinding/goodbean-interceptor-binding/META-INF/ejb-jar.xml
   projects/ejb3/dev/ejbthree1269/interceptors/src/test/resources/badbinding/goodbean-interceptor-order-binding-with-method/
   projects/ejb3/dev/ejbthree1269/interceptors/src/test/resources/badbinding/goodbean-interceptor-order-binding-with-method/META-INF/
   projects/ejb3/dev/ejbthree1269/interceptors/src/test/resources/badbinding/goodbean-interceptor-order-binding-with-method/META-INF/ejb-jar.xml
   projects/ejb3/dev/ejbthree1269/interceptors/src/test/resources/badbinding/goodbean-interceptor-order-binding/
   projects/ejb3/dev/ejbthree1269/interceptors/src/test/resources/badbinding/goodbean-interceptor-order-binding/META-INF/
   projects/ejb3/dev/ejbthree1269/interceptors/src/test/resources/badbinding/goodbean-interceptor-order-binding/META-INF/ejb-jar.xml
   projects/ejb3/dev/ejbthree1269/security/
   projects/ejb3/dev/ejbthree1269/security/.classpath
   projects/ejb3/dev/ejbthree1269/security/.project
   projects/ejb3/dev/ejbthree1269/security/.settings/
   projects/ejb3/dev/ejbthree1269/security/.settings/org.eclipse.jdt.core.prefs
   projects/ejb3/dev/ejbthree1269/security/eclipse-target/
   projects/ejb3/dev/ejbthree1269/security/eclipse-target/classes/
   projects/ejb3/dev/ejbthree1269/security/eclipse-target/tests-classes/
   projects/ejb3/dev/ejbthree1269/security/pom.xml
   projects/ejb3/dev/ejbthree1269/security/src/
   projects/ejb3/dev/ejbthree1269/security/src/main/
   projects/ejb3/dev/ejbthree1269/security/src/main/java/
   projects/ejb3/dev/ejbthree1269/security/src/main/java/org/
   projects/ejb3/dev/ejbthree1269/security/src/main/java/org/jboss/
   projects/ejb3/dev/ejbthree1269/security/src/main/java/org/jboss/ejb3/
   projects/ejb3/dev/ejbthree1269/security/src/main/java/org/jboss/ejb3/security/
   projects/ejb3/dev/ejbthree1269/security/src/main/java/org/jboss/ejb3/security/SecurityDomainManager.java
   projects/ejb3/dev/ejbthree1269/security/src/main/java/org/jboss/ejb3/security/bridge/
   projects/ejb3/dev/ejbthree1269/security/src/main/java/org/jboss/ejb3/security/bridge/SecurityDomainMetaDataBridge.java
   projects/ejb3/dev/ejbthree1269/security/src/main/java/org/jboss/ejb3/security/client/
   projects/ejb3/dev/ejbthree1269/security/src/main/java/org/jboss/ejb3/security/client/SecurityActions.java
   projects/ejb3/dev/ejbthree1269/security/src/main/java/org/jboss/ejb3/security/client/SecurityClientInterceptor.java
   projects/ejb3/dev/ejbthree1269/security/src/main/java/org/jboss/ejb3/security/embedded/
   projects/ejb3/dev/ejbthree1269/security/src/main/java/org/jboss/ejb3/security/embedded/plugins/
   projects/ejb3/dev/ejbthree1269/security/src/main/java/org/jboss/ejb3/security/embedded/plugins/SecurityDomainContext.java
   projects/ejb3/dev/ejbthree1269/security/src/main/java/org/jboss/ejb3/security/helpers/
   projects/ejb3/dev/ejbthree1269/security/src/main/java/org/jboss/ejb3/security/helpers/AuthenticationHelper.java
   projects/ejb3/dev/ejbthree1269/security/src/main/java/org/jboss/ejb3/security/helpers/AuthorizationHelper.java
   projects/ejb3/dev/ejbthree1269/security/src/main/java/org/jboss/ejb3/security/helpers/SecurityActions.java
   projects/ejb3/dev/ejbthree1269/security/src/main/java/org/jboss/ejb3/security/helpers/SecurityHelper.java
   projects/ejb3/dev/ejbthree1269/security/src/main/resources/
   projects/ejb3/dev/ejbthree1269/security/src/test/
   projects/ejb3/dev/ejbthree1269/security/src/test/java/
   projects/ejb3/dev/ejbthree1269/security/src/test/resources/
   projects/ejb3/dev/ejbthree1269/transactions/
   projects/ejb3/dev/ejbthree1269/transactions/.classpath
   projects/ejb3/dev/ejbthree1269/transactions/.project
   projects/ejb3/dev/ejbthree1269/transactions/.settings/
   projects/ejb3/dev/ejbthree1269/transactions/.settings/org.eclipse.jdt.core.prefs
   projects/ejb3/dev/ejbthree1269/transactions/pom.xml
   projects/ejb3/dev/ejbthree1269/transactions/src/
   projects/ejb3/dev/ejbthree1269/transactions/src/main/
   projects/ejb3/dev/ejbthree1269/transactions/src/main/java/
   projects/ejb3/dev/ejbthree1269/transactions/src/main/java/org/
   projects/ejb3/dev/ejbthree1269/transactions/src/main/java/org/jboss/
   projects/ejb3/dev/ejbthree1269/transactions/src/main/java/org/jboss/ejb3/
   projects/ejb3/dev/ejbthree1269/transactions/src/main/java/org/jboss/ejb3/tx/
   projects/ejb3/dev/ejbthree1269/transactions/src/main/java/org/jboss/ejb3/tx/AbstractInterceptor.java
   projects/ejb3/dev/ejbthree1269/transactions/src/main/java/org/jboss/ejb3/tx/BMTInterceptor.java
   projects/ejb3/dev/ejbthree1269/transactions/src/main/java/org/jboss/ejb3/tx/Ejb3TxPolicy.java
   projects/ejb3/dev/ejbthree1269/transactions/src/main/java/org/jboss/ejb3/tx/NullInterceptor.java
   projects/ejb3/dev/ejbthree1269/transactions/src/main/java/org/jboss/ejb3/tx/TxInterceptor.java
   projects/ejb3/dev/ejbthree1269/transactions/src/main/java/org/jboss/ejb3/tx/TxInterceptorFactory.java
   projects/ejb3/dev/ejbthree1269/transactions/src/main/java/org/jboss/ejb3/tx/TxUtil.java
   projects/ejb3/dev/ejbthree1269/transactions/src/main/java/org/jboss/ejb3/tx/UserTransactionImpl.java
   projects/ejb3/dev/ejbthree1269/transactions/src/main/java/org/jboss/ejb3/tx/container/
   projects/ejb3/dev/ejbthree1269/transactions/src/main/java/org/jboss/ejb3/tx/container/StatefulBeanContext.java
   projects/ejb3/dev/ejbthree1269/transactions/src/test/
   projects/ejb3/dev/ejbthree1269/transactions/src/test/java/
   projects/ejb3/dev/ejbthree1269/transactions/src/test/java/org/
   projects/ejb3/dev/ejbthree1269/transactions/src/test/java/org/jboss/
   projects/ejb3/dev/ejbthree1269/transactions/src/test/java/org/jboss/ejb3/
   projects/ejb3/dev/ejbthree1269/transactions/src/test/java/org/jboss/ejb3/test/
   projects/ejb3/dev/ejbthree1269/transactions/src/test/java/org/jboss/ejb3/test/tx/
   projects/ejb3/dev/ejbthree1269/transactions/src/test/java/org/jboss/ejb3/test/tx/bmt/
   projects/ejb3/dev/ejbthree1269/transactions/src/test/java/org/jboss/ejb3/test/tx/bmt/StatefulBMTBean.java
   projects/ejb3/dev/ejbthree1269/transactions/src/test/java/org/jboss/ejb3/test/tx/bmt/unit/
   projects/ejb3/dev/ejbthree1269/transactions/src/test/java/org/jboss/ejb3/test/tx/bmt/unit/BMTUnitTestCase.java
   projects/ejb3/dev/ejbthree1269/transactions/src/test/java/org/jboss/ejb3/test/tx/common/
   projects/ejb3/dev/ejbthree1269/transactions/src/test/java/org/jboss/ejb3/test/tx/common/AspectDeployment.java
   projects/ejb3/dev/ejbthree1269/transactions/src/test/java/org/jboss/ejb3/test/tx/common/SimpleClassLoaderDeployer.java
   projects/ejb3/dev/ejbthree1269/transactions/src/test/java/org/jboss/ejb3/test/tx/common/SimpleContainer.java
   projects/ejb3/dev/ejbthree1269/transactions/src/test/java/org/jboss/ejb3/test/tx/common/SimpleTransactionService.java
   projects/ejb3/dev/ejbthree1269/transactions/src/test/java/org/jboss/ejb3/test/tx/common/StatefulBeanContext.java
   projects/ejb3/dev/ejbthree1269/transactions/src/test/java/org/jboss/ejb3/test/tx/common/StatefulContainer.java
   projects/ejb3/dev/ejbthree1269/transactions/src/test/java/org/jboss/ejb3/test/tx/common/StatefulContainerMethodInvocation.java
   projects/ejb3/dev/ejbthree1269/transactions/src/test/java/org/jboss/ejb3/test/tx/common/StatefulInstanceInterceptor.java
   projects/ejb3/dev/ejbthree1269/transactions/src/test/java/org/jboss/ejb3/test/tx/instance/
   projects/ejb3/dev/ejbthree1269/transactions/src/test/java/org/jboss/ejb3/test/tx/instance/InstanceTest.java
   projects/ejb3/dev/ejbthree1269/transactions/src/test/java/org/jboss/ejb3/test/tx/instance/InstanceTestBean.java
   projects/ejb3/dev/ejbthree1269/transactions/src/test/java/org/jboss/ejb3/test/tx/instance/unit/
   projects/ejb3/dev/ejbthree1269/transactions/src/test/java/org/jboss/ejb3/test/tx/instance/unit/InstanceTestCase.java
   projects/ejb3/dev/ejbthree1269/transactions/src/test/java/org/jboss/ejb3/test/tx/mc/
   projects/ejb3/dev/ejbthree1269/transactions/src/test/java/org/jboss/ejb3/test/tx/mc/UnitTestBootstrap.java
   projects/ejb3/dev/ejbthree1269/transactions/src/test/resources/
   projects/ejb3/dev/ejbthree1269/transactions/src/test/resources/instance/
   projects/ejb3/dev/ejbthree1269/transactions/src/test/resources/instance/beans.xml
   projects/ejb3/dev/ejbthree1269/transactions/src/test/resources/instance/jboss-aop.xml
   projects/ejb3/dev/ejbthree1269/transactions/src/test/resources/jndi.properties
   projects/ejb3/dev/ejbthree1269/transactions/src/test/resources/log4j.xml
Removed:
   projects/ejb3/dev/ejbthree1269/core/src/main/java/org/jboss/ejb3/security/SecurityDomainManager.java
   projects/ejb3/dev/ejbthree1269/core/src/main/java/org/jboss/ejb3/security/bridge/
   projects/ejb3/dev/ejbthree1269/core/src/main/java/org/jboss/ejb3/security/client/
   projects/ejb3/dev/ejbthree1269/interceptors/src/test/java/org/jboss/ejb3/test/interceptors/badbinding/InterceptorOrderBean.java
   projects/ejb3/dev/ejbthree1269/interceptors/src/test/java/org/jboss/ejb3/test/interceptors/badbinding/MetadataBean.java
   projects/ejb3/dev/ejbthree1269/interceptors/src/test/java/org/jboss/ejb3/test/interceptors/badbinding/unit/
   projects/ejb3/dev/ejbthree1269/interceptors/src/test/java/org/jboss/ejb3/test/interceptors/badbinding/unit/BadBindingTestCase.java
   projects/ejb3/dev/ejbthree1269/interceptors/src/test/resources/badbinding/badbean-interceptor-binding-with-method/
   projects/ejb3/dev/ejbthree1269/interceptors/src/test/resources/badbinding/badbean-interceptor-binding-with-method/META-INF/
   projects/ejb3/dev/ejbthree1269/interceptors/src/test/resources/badbinding/badbean-interceptor-binding-with-method/META-INF/ejb-jar.xml
   projects/ejb3/dev/ejbthree1269/interceptors/src/test/resources/badbinding/badbean-interceptor-binding/
   projects/ejb3/dev/ejbthree1269/interceptors/src/test/resources/badbinding/badbean-interceptor-binding/META-INF/
   projects/ejb3/dev/ejbthree1269/interceptors/src/test/resources/badbinding/badbean-interceptor-binding/META-INF/ejb-jar.xml
   projects/ejb3/dev/ejbthree1269/interceptors/src/test/resources/badbinding/badbean-interceptor-order-binding-with-method/
   projects/ejb3/dev/ejbthree1269/interceptors/src/test/resources/badbinding/badbean-interceptor-order-binding-with-method/META-INF/
   projects/ejb3/dev/ejbthree1269/interceptors/src/test/resources/badbinding/badbean-interceptor-order-binding-with-method/META-INF/ejb-jar.xml
   projects/ejb3/dev/ejbthree1269/interceptors/src/test/resources/badbinding/badbean-interceptor-order-binding/
   projects/ejb3/dev/ejbthree1269/interceptors/src/test/resources/badbinding/badbean-interceptor-order-binding/META-INF/
   projects/ejb3/dev/ejbthree1269/interceptors/src/test/resources/badbinding/badbean-interceptor-order-binding/META-INF/ejb-jar.xml
   projects/ejb3/dev/ejbthree1269/interceptors/src/test/resources/badbinding/default-interceptor-binding-with-method/
   projects/ejb3/dev/ejbthree1269/interceptors/src/test/resources/badbinding/default-interceptor-binding-with-method/META-INF/
   projects/ejb3/dev/ejbthree1269/interceptors/src/test/resources/badbinding/default-interceptor-binding-with-method/META-INF/ejb-jar.xml
   projects/ejb3/dev/ejbthree1269/interceptors/src/test/resources/badbinding/default-interceptor-binding/
   projects/ejb3/dev/ejbthree1269/interceptors/src/test/resources/badbinding/default-interceptor-binding/META-INF/
   projects/ejb3/dev/ejbthree1269/interceptors/src/test/resources/badbinding/default-interceptor-binding/META-INF/ejb-jar.xml
   projects/ejb3/dev/ejbthree1269/interceptors/src/test/resources/badbinding/default-interceptor-order-binding-with-method/
   projects/ejb3/dev/ejbthree1269/interceptors/src/test/resources/badbinding/default-interceptor-order-binding-with-method/META-INF/
   projects/ejb3/dev/ejbthree1269/interceptors/src/test/resources/badbinding/default-interceptor-order-binding-with-method/META-INF/ejb-jar.xml
   projects/ejb3/dev/ejbthree1269/interceptors/src/test/resources/badbinding/default-interceptor-order-binding/
   projects/ejb3/dev/ejbthree1269/interceptors/src/test/resources/badbinding/default-interceptor-order-binding/META-INF/
   projects/ejb3/dev/ejbthree1269/interceptors/src/test/resources/badbinding/default-interceptor-order-binding/META-INF/ejb-jar.xml
   projects/ejb3/dev/ejbthree1269/interceptors/src/test/resources/badbinding/goodbean-interceptor-binding-with-method/
   projects/ejb3/dev/ejbthree1269/interceptors/src/test/resources/badbinding/goodbean-interceptor-binding-with-method/META-INF/
   projects/ejb3/dev/ejbthree1269/interceptors/src/test/resources/badbinding/goodbean-interceptor-binding-with-method/META-INF/ejb-jar.xml
   projects/ejb3/dev/ejbthree1269/interceptors/src/test/resources/badbinding/goodbean-interceptor-binding/
   projects/ejb3/dev/ejbthree1269/interceptors/src/test/resources/badbinding/goodbean-interceptor-binding/META-INF/
   projects/ejb3/dev/ejbthree1269/interceptors/src/test/resources/badbinding/goodbean-interceptor-binding/META-INF/ejb-jar.xml
   projects/ejb3/dev/ejbthree1269/interceptors/src/test/resources/badbinding/goodbean-interceptor-order-binding-with-method/
   projects/ejb3/dev/ejbthree1269/interceptors/src/test/resources/badbinding/goodbean-interceptor-order-binding-with-method/META-INF/
   projects/ejb3/dev/ejbthree1269/interceptors/src/test/resources/badbinding/goodbean-interceptor-order-binding-with-method/META-INF/ejb-jar.xml
   projects/ejb3/dev/ejbthree1269/interceptors/src/test/resources/badbinding/goodbean-interceptor-order-binding/
   projects/ejb3/dev/ejbthree1269/interceptors/src/test/resources/badbinding/goodbean-interceptor-order-binding/META-INF/
   projects/ejb3/dev/ejbthree1269/interceptors/src/test/resources/badbinding/goodbean-interceptor-order-binding/META-INF/ejb-jar.xml
   projects/ejb3/dev/ejbthree1269/security/.classpath
   projects/ejb3/dev/ejbthree1269/security/.project
   projects/ejb3/dev/ejbthree1269/security/.settings/
   projects/ejb3/dev/ejbthree1269/security/.settings/org.eclipse.jdt.core.prefs
   projects/ejb3/dev/ejbthree1269/security/eclipse-target/
   projects/ejb3/dev/ejbthree1269/security/eclipse-target/classes/
   projects/ejb3/dev/ejbthree1269/security/eclipse-target/tests-classes/
   projects/ejb3/dev/ejbthree1269/security/pom.xml
   projects/ejb3/dev/ejbthree1269/security/src/
   projects/ejb3/dev/ejbthree1269/security/src/main/
   projects/ejb3/dev/ejbthree1269/security/src/main/java/
   projects/ejb3/dev/ejbthree1269/security/src/main/java/org/
   projects/ejb3/dev/ejbthree1269/security/src/main/java/org/jboss/
   projects/ejb3/dev/ejbthree1269/security/src/main/java/org/jboss/ejb3/
   projects/ejb3/dev/ejbthree1269/security/src/main/java/org/jboss/ejb3/security/
   projects/ejb3/dev/ejbthree1269/security/src/main/java/org/jboss/ejb3/security/SecurityDomainManager.java
   projects/ejb3/dev/ejbthree1269/security/src/main/java/org/jboss/ejb3/security/bridge/
   projects/ejb3/dev/ejbthree1269/security/src/main/java/org/jboss/ejb3/security/bridge/SecurityDomainMetaDataBridge.java
   projects/ejb3/dev/ejbthree1269/security/src/main/java/org/jboss/ejb3/security/client/
   projects/ejb3/dev/ejbthree1269/security/src/main/java/org/jboss/ejb3/security/client/SecurityActions.java
   projects/ejb3/dev/ejbthree1269/security/src/main/java/org/jboss/ejb3/security/client/SecurityClientInterceptor.java
   projects/ejb3/dev/ejbthree1269/security/src/main/java/org/jboss/ejb3/security/embedded/
   projects/ejb3/dev/ejbthree1269/security/src/main/java/org/jboss/ejb3/security/embedded/plugins/
   projects/ejb3/dev/ejbthree1269/security/src/main/java/org/jboss/ejb3/security/embedded/plugins/SecurityDomainContext.java
   projects/ejb3/dev/ejbthree1269/security/src/main/java/org/jboss/ejb3/security/helpers/
   projects/ejb3/dev/ejbthree1269/security/src/main/java/org/jboss/ejb3/security/helpers/AuthenticationHelper.java
   projects/ejb3/dev/ejbthree1269/security/src/main/java/org/jboss/ejb3/security/helpers/AuthorizationHelper.java
   projects/ejb3/dev/ejbthree1269/security/src/main/java/org/jboss/ejb3/security/helpers/SecurityActions.java
   projects/ejb3/dev/ejbthree1269/security/src/main/java/org/jboss/ejb3/security/helpers/SecurityHelper.java
   projects/ejb3/dev/ejbthree1269/security/src/main/resources/
   projects/ejb3/dev/ejbthree1269/security/src/test/
   projects/ejb3/dev/ejbthree1269/security/src/test/java/
   projects/ejb3/dev/ejbthree1269/security/src/test/resources/
   projects/ejb3/dev/ejbthree1269/transactions/.classpath
   projects/ejb3/dev/ejbthree1269/transactions/.project
   projects/ejb3/dev/ejbthree1269/transactions/.settings/
   projects/ejb3/dev/ejbthree1269/transactions/.settings/org.eclipse.jdt.core.prefs
   projects/ejb3/dev/ejbthree1269/transactions/pom.xml
   projects/ejb3/dev/ejbthree1269/transactions/src/
   projects/ejb3/dev/ejbthree1269/transactions/src/main/
   projects/ejb3/dev/ejbthree1269/transactions/src/main/java/
   projects/ejb3/dev/ejbthree1269/transactions/src/main/java/org/
   projects/ejb3/dev/ejbthree1269/transactions/src/main/java/org/jboss/
   projects/ejb3/dev/ejbthree1269/transactions/src/main/java/org/jboss/ejb3/
   projects/ejb3/dev/ejbthree1269/transactions/src/main/java/org/jboss/ejb3/tx/
   projects/ejb3/dev/ejbthree1269/transactions/src/main/java/org/jboss/ejb3/tx/AbstractInterceptor.java
   projects/ejb3/dev/ejbthree1269/transactions/src/main/java/org/jboss/ejb3/tx/BMTInterceptor.java
   projects/ejb3/dev/ejbthree1269/transactions/src/main/java/org/jboss/ejb3/tx/Ejb3TxPolicy.java
   projects/ejb3/dev/ejbthree1269/transactions/src/main/java/org/jboss/ejb3/tx/NullInterceptor.java
   projects/ejb3/dev/ejbthree1269/transactions/src/main/java/org/jboss/ejb3/tx/TxInterceptor.java
   projects/ejb3/dev/ejbthree1269/transactions/src/main/java/org/jboss/ejb3/tx/TxInterceptorFactory.java
   projects/ejb3/dev/ejbthree1269/transactions/src/main/java/org/jboss/ejb3/tx/TxUtil.java
   projects/ejb3/dev/ejbthree1269/transactions/src/main/java/org/jboss/ejb3/tx/UserTransactionImpl.java
   projects/ejb3/dev/ejbthree1269/transactions/src/main/java/org/jboss/ejb3/tx/container/
   projects/ejb3/dev/ejbthree1269/transactions/src/main/java/org/jboss/ejb3/tx/container/StatefulBeanContext.java
   projects/ejb3/dev/ejbthree1269/transactions/src/test/
   projects/ejb3/dev/ejbthree1269/transactions/src/test/java/
   projects/ejb3/dev/ejbthree1269/transactions/src/test/java/org/
   projects/ejb3/dev/ejbthree1269/transactions/src/test/java/org/jboss/
   projects/ejb3/dev/ejbthree1269/transactions/src/test/java/org/jboss/ejb3/
   projects/ejb3/dev/ejbthree1269/transactions/src/test/java/org/jboss/ejb3/test/
   projects/ejb3/dev/ejbthree1269/transactions/src/test/java/org/jboss/ejb3/test/tx/
   projects/ejb3/dev/ejbthree1269/transactions/src/test/java/org/jboss/ejb3/test/tx/bmt/
   projects/ejb3/dev/ejbthree1269/transactions/src/test/java/org/jboss/ejb3/test/tx/bmt/StatefulBMTBean.java
   projects/ejb3/dev/ejbthree1269/transactions/src/test/java/org/jboss/ejb3/test/tx/bmt/unit/
   projects/ejb3/dev/ejbthree1269/transactions/src/test/java/org/jboss/ejb3/test/tx/bmt/unit/BMTUnitTestCase.java
   projects/ejb3/dev/ejbthree1269/transactions/src/test/java/org/jboss/ejb3/test/tx/common/
   projects/ejb3/dev/ejbthree1269/transactions/src/test/java/org/jboss/ejb3/test/tx/common/AspectDeployment.java
   projects/ejb3/dev/ejbthree1269/transactions/src/test/java/org/jboss/ejb3/test/tx/common/SimpleClassLoaderDeployer.java
   projects/ejb3/dev/ejbthree1269/transactions/src/test/java/org/jboss/ejb3/test/tx/common/SimpleContainer.java
   projects/ejb3/dev/ejbthree1269/transactions/src/test/java/org/jboss/ejb3/test/tx/common/SimpleTransactionService.java
   projects/ejb3/dev/ejbthree1269/transactions/src/test/java/org/jboss/ejb3/test/tx/common/StatefulBeanContext.java
   projects/ejb3/dev/ejbthree1269/transactions/src/test/java/org/jboss/ejb3/test/tx/common/StatefulContainer.java
   projects/ejb3/dev/ejbthree1269/transactions/src/test/java/org/jboss/ejb3/test/tx/common/StatefulContainerMethodInvocation.java
   projects/ejb3/dev/ejbthree1269/transactions/src/test/java/org/jboss/ejb3/test/tx/common/StatefulInstanceInterceptor.java
   projects/ejb3/dev/ejbthree1269/transactions/src/test/java/org/jboss/ejb3/test/tx/instance/
   projects/ejb3/dev/ejbthree1269/transactions/src/test/java/org/jboss/ejb3/test/tx/instance/InstanceTest.java
   projects/ejb3/dev/ejbthree1269/transactions/src/test/java/org/jboss/ejb3/test/tx/instance/InstanceTestBean.java
   projects/ejb3/dev/ejbthree1269/transactions/src/test/java/org/jboss/ejb3/test/tx/instance/unit/
   projects/ejb3/dev/ejbthree1269/transactions/src/test/java/org/jboss/ejb3/test/tx/instance/unit/InstanceTestCase.java
   projects/ejb3/dev/ejbthree1269/transactions/src/test/java/org/jboss/ejb3/test/tx/mc/
   projects/ejb3/dev/ejbthree1269/transactions/src/test/java/org/jboss/ejb3/test/tx/mc/UnitTestBootstrap.java
   projects/ejb3/dev/ejbthree1269/transactions/src/test/resources/
   projects/ejb3/dev/ejbthree1269/transactions/src/test/resources/instance/
   projects/ejb3/dev/ejbthree1269/transactions/src/test/resources/instance/beans.xml
   projects/ejb3/dev/ejbthree1269/transactions/src/test/resources/instance/jboss-aop.xml
   projects/ejb3/dev/ejbthree1269/transactions/src/test/resources/jndi.properties
   projects/ejb3/dev/ejbthree1269/transactions/src/test/resources/log4j.xml
Modified:
   projects/ejb3/dev/ejbthree1269/core/.classpath
   projects/ejb3/dev/ejbthree1269/core/.project
   projects/ejb3/dev/ejbthree1269/core/.settings/org.eclipse.jdt.core.prefs
   projects/ejb3/dev/ejbthree1269/core/pom.xml
   projects/ejb3/dev/ejbthree1269/core/src/main/java/org/jboss/ejb3/DeploymentScope.java
   projects/ejb3/dev/ejbthree1269/core/src/main/java/org/jboss/ejb3/EJBContextImpl.java
   projects/ejb3/dev/ejbthree1269/core/src/main/java/org/jboss/ejb3/Ejb3Deployment.java
   projects/ejb3/dev/ejbthree1269/core/src/main/java/org/jboss/ejb3/MCKernelAbstraction.java
   projects/ejb3/dev/ejbthree1269/core/src/main/java/org/jboss/ejb3/aop/BeanContainer.java
   projects/ejb3/dev/ejbthree1269/core/src/main/java/org/jboss/ejb3/embedded/JaasSecurityManagerService.java
   projects/ejb3/dev/ejbthree1269/core/src/main/java/org/jboss/ejb3/security/Ejb3AuthenticationInterceptorv2.java
   projects/ejb3/dev/ejbthree1269/core/src/main/java/org/jboss/ejb3/security/RoleBasedAuthorizationInterceptorv2.java
   projects/ejb3/dev/ejbthree1269/core/src/main/java/org/jboss/ejb3/security/SecurityActions.java
   projects/ejb3/dev/ejbthree1269/core/src/main/java/org/jboss/injection/EJBRemoteHandler.java
   projects/ejb3/dev/ejbthree1269/core/src/test/java/org/jboss/ejb3/test/security/unit/EJBSpecUnitTestCase.java
   projects/ejb3/dev/ejbthree1269/core/src/test/resources/test/interceptors/META-INF/ejb-jar.xml
   projects/ejb3/dev/ejbthree1269/installer/src/main/resources/conf/jbossas-ejb3-files-to-place-in-serverlib.txt
   projects/ejb3/dev/ejbthree1269/interceptors/
   projects/ejb3/dev/ejbthree1269/interceptors/pom.xml
   projects/ejb3/dev/ejbthree1269/interceptors/src/main/java/org/jboss/ejb3/interceptors/lang/ClassHelper.java
   projects/ejb3/dev/ejbthree1269/interceptors/src/main/java/org/jboss/ejb3/interceptors/metadata/AdditiveBeanInterceptorMetaDataBridge.java
   projects/ejb3/dev/ejbthree1269/interceptors/src/main/java/org/jboss/ejb3/interceptors/metadata/BeanInterceptorMetaDataBridge.java
   projects/ejb3/dev/ejbthree1269/interceptors/src/test/java/org/jboss/ejb3/test/interceptors/additive/unit/AdditiveTestCase.java
   projects/ejb3/dev/ejbthree1269/interceptors/src/test/java/org/jboss/ejb3/test/interceptors/defaultinterceptors/AnnotatedBean.java
   projects/ejb3/dev/ejbthree1269/interceptors/src/test/java/org/jboss/ejb3/test/interceptors/defaultinterceptors/unit/DefaultInterceptorsTestCase.java
   projects/ejb3/dev/ejbthree1269/interceptors/src/test/java/org/jboss/ejb3/test/interceptors/lifecycle/unit/CallbackMethodDescriptorTestCase.java
   projects/ejb3/dev/ejbthree1269/interceptors/src/test/java/org/jboss/ejb3/test/interceptors/metadata/unit/MetadataTestCase.java
   projects/ejb3/dev/ejbthree1269/interceptors/src/test/java/org/jboss/ejb3/test/interceptors/order/unit/InterceptorChainTestCase.java
   projects/ejb3/dev/ejbthree1269/interceptors/src/test/resources/defaultinterceptors/META-INF/ejb-jar.xml
   projects/ejb3/dev/ejbthree1269/plugin/src/main/resources/installer.xml
   projects/ejb3/dev/ejbthree1269/pom.xml
Log:
[EJBTHREE-1269] Merged with trunk from 72438:72450

Modified: projects/ejb3/dev/ejbthree1269/core/.classpath
===================================================================
--- projects/ejb3/dev/ejbthree1269/core/.classpath	2008-04-18 16:36:56 UTC (rev 72450)
+++ projects/ejb3/dev/ejbthree1269/core/.classpath	2008-04-18 17:47:17 UTC (rev 72451)
@@ -1,10 +1,269 @@
-<?xml version="1.0" encoding="UTF-8"?>
 <classpath>
-	<classpathentry kind="src" path="src/main/java"/>
-	<classpathentry kind="src" path="src/test/java"/>
-	<classpathentry excluding="**" kind="src" output="src/main/resources" path="src/main/resources"/>
-	<classpathentry excluding="**" kind="src" output="src/test/resources" path="src/test/resources"/>
-	<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER"/>
-	<classpathentry kind="con" path="org.maven.ide.eclipse.MAVEN2_CLASSPATH_CONTAINER"/>
-	<classpathentry kind="output" path="target/classes"/>
-</classpath>
+  <classpathentry kind="src" path="src/main/java"/>
+  <classpathentry kind="src" path="src/main/resources" excluding="**/*.java"/>
+  <classpathentry kind="src" path="src/test/java" output="target/tests-classes"/>
+  <classpathentry kind="src" path="src/test/resources" output="target/tests-classes" excluding="**/*.java"/>
+  <classpathentry kind="output" path="target/classes"/>
+  <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER"/>
+  <classpathentry kind="var" path="M2_REPO/javax/activation/activation/1.0.2/activation-1.0.2.jar"/>
+  <classpathentry kind="var" path="M2_REPO/ant/ant/1.6.5/ant-1.6.5.jar" sourcepath="M2_REPO/ant/ant/1.6.5/ant-1.6.5-sources.jar"/>
+  <classpathentry kind="var" path="M2_REPO/org/apache/ant/ant/1.7.0/ant-1.7.0.jar"/>
+  <classpathentry kind="var" path="M2_REPO/org/apache/ant/ant-junit/1.7.0/ant-junit-1.7.0.jar"/>
+  <classpathentry kind="var" path="M2_REPO/org/apache/ant/ant-launcher/1.7.0/ant-launcher-1.7.0.jar"/>
+  <classpathentry kind="var" path="M2_REPO/antlr/antlr/2.7.6/antlr-2.7.6.jar" sourcepath="M2_REPO/antlr/antlr/2.7.6/antlr-2.7.6-sources.jar"/>
+  <classpathentry kind="var" path="M2_REPO/asm/asm/1.5.3/asm-1.5.3.jar"/>
+  <classpathentry kind="var" path="M2_REPO/asm/asm-attrs/1.5.3/asm-attrs-1.5.3.jar"/>
+  <classpathentry kind="var" path="M2_REPO/org/jboss/security/authorization-spi/2.0.2.Beta5/authorization-spi-2.0.2.Beta5.jar" sourcepath="M2_REPO/org/jboss/security/authorization-spi/2.0.2.Beta5/authorization-spi-2.0.2.Beta5-sources.jar">
+    <attributes>
+      <attribute value="jar:file:/home/alrubinger/.m2/repository/org/jboss/security/authorization-spi/2.0.2.Beta5/authorization-spi-2.0.2.Beta5-javadoc.jar!/" name="javadoc_location"/>
+    </attributes>
+  </classpathentry>
+  <classpathentry kind="var" path="M2_REPO/bcel/bcel/5.1/bcel-5.1.jar" sourcepath="M2_REPO/bcel/bcel/5.1/bcel-5.1-sources.jar"/>
+  <classpathentry kind="var" path="M2_REPO/bsh/bsh/1.3.0/bsh-1.3.0.jar"/>
+  <classpathentry kind="var" path="M2_REPO/cglib/cglib/2.1_3/cglib-2.1_3.jar" sourcepath="M2_REPO/cglib/cglib/2.1_3/cglib-2.1_3-sources.jar"/>
+  <classpathentry kind="var" path="M2_REPO/commons-collections/commons-collections/2.1.1/commons-collections-2.1.1.jar" sourcepath="M2_REPO/commons-collections/commons-collections/2.1.1/commons-collections-2.1.1-sources.jar">
+    <attributes>
+      <attribute value="jar:file:/home/alrubinger/.m2/repository/commons-collections/commons-collections/2.1.1/commons-collections-2.1.1-javadoc.jar!/" name="javadoc_location"/>
+    </attributes>
+  </classpathentry>
+  <classpathentry kind="var" path="M2_REPO/apache-httpclient/commons-httpclient/2.0.2/commons-httpclient-2.0.2.jar"/>
+  <classpathentry kind="var" path="M2_REPO/commons-logging/commons-logging/1.0.4/commons-logging-1.0.4.jar" sourcepath="M2_REPO/commons-logging/commons-logging/1.0.4/commons-logging-1.0.4-sources.jar">
+    <attributes>
+      <attribute value="jar:file:/home/alrubinger/.m2/repository/commons-logging/commons-logging/1.0.4/commons-logging-1.0.4-javadoc.jar!/" name="javadoc_location"/>
+    </attributes>
+  </classpathentry>
+  <classpathentry kind="var" path="M2_REPO/oswego-concurrent/concurrent/1.3.4-jboss-update1/concurrent-1.3.4-jboss-update1.jar" sourcepath="M2_REPO/oswego-concurrent/concurrent/1.3.4-jboss-update1/concurrent-1.3.4-jboss-update1-sources.jar"/>
+  <classpathentry kind="var" path="M2_REPO/dom4j/dom4j/1.6.1/dom4j-1.6.1.jar" sourcepath="M2_REPO/dom4j/dom4j/1.6.1/dom4j-1.6.1-sources.jar"/>
+  <classpathentry kind="var" path="M2_REPO/wutka-dtdparser/dtdparser121/1.2.1/dtdparser121-1.2.1.jar"/>
+  <classpathentry kind="var" path="M2_REPO/net/sf/ehcache/ehcache/1.2.3/ehcache-1.2.3.jar" sourcepath="M2_REPO/net/sf/ehcache/ehcache/1.2.3/ehcache-1.2.3-sources.jar">
+    <attributes>
+      <attribute value="jar:file:/home/alrubinger/.m2/repository/net/sf/ehcache/ehcache/1.2.3/ehcache-1.2.3-javadoc.jar!/" name="javadoc_location"/>
+    </attributes>
+  </classpathentry>
+  <classpathentry kind="var" path="M2_REPO/org/hibernate/ejb3-persistence/1.0.1.GA/ejb3-persistence-1.0.1.GA.jar"/>
+  <classpathentry kind="var" path="M2_REPO/org/hibernate/hibernate/3.2.6.ga/hibernate-3.2.6.ga.jar" sourcepath="M2_REPO/org/hibernate/hibernate/3.2.6.ga/hibernate-3.2.6.ga-sources.jar">
+    <attributes>
+      <attribute value="jar:file:/home/alrubinger/.m2/repository/org/hibernate/hibernate/3.2.6.ga/hibernate-3.2.6.ga-javadoc.jar!/" name="javadoc_location"/>
+    </attributes>
+  </classpathentry>
+  <classpathentry kind="var" path="M2_REPO/org/hibernate/hibernate-annotations/3.3.1.GA/hibernate-annotations-3.3.1.GA.jar"/>
+  <classpathentry kind="var" path="M2_REPO/org/hibernate/hibernate-commons-annotations/3.0.0.ga/hibernate-commons-annotations-3.0.0.ga.jar"/>
+  <classpathentry kind="var" path="M2_REPO/org/hibernate/hibernate-entitymanager/3.3.2.GA/hibernate-entitymanager-3.3.2.GA.jar"/>
+  <classpathentry kind="var" path="M2_REPO/hsqldb/hsqldb/1.8.0.7/hsqldb-1.8.0.7.jar"/>
+  <classpathentry kind="var" path="M2_REPO/org/jboss/security/identity-impl/2.0.2.Beta5/identity-impl-2.0.2.Beta5.jar" sourcepath="M2_REPO/org/jboss/security/identity-impl/2.0.2.Beta5/identity-impl-2.0.2.Beta5-sources.jar">
+    <attributes>
+      <attribute value="jar:file:/home/alrubinger/.m2/repository/org/jboss/security/identity-impl/2.0.2.Beta5/identity-impl-2.0.2.Beta5-javadoc.jar!/" name="javadoc_location"/>
+    </attributes>
+  </classpathentry>
+  <classpathentry kind="var" path="M2_REPO/org/jboss/security/identity-spi/2.0.2.Beta5/identity-spi-2.0.2.Beta5.jar" sourcepath="M2_REPO/org/jboss/security/identity-spi/2.0.2.Beta5/identity-spi-2.0.2.Beta5-sources.jar">
+    <attributes>
+      <attribute value="jar:file:/home/alrubinger/.m2/repository/org/jboss/security/identity-spi/2.0.2.Beta5/identity-spi-2.0.2.Beta5-javadoc.jar!/" name="javadoc_location"/>
+    </attributes>
+  </classpathentry>
+  <classpathentry kind="var" path="M2_REPO/javax/security/jaas/1.0.01/jaas-1.0.01.jar"/>
+  <classpathentry kind="var" path="M2_REPO/javax/security/jacc/1.0/jacc-1.0.jar"/>
+  <classpathentry kind="var" path="M2_REPO/urbanophile/java-getopt/1.0.9/java-getopt-1.0.9.jar"/>
+  <classpathentry kind="var" path="M2_REPO/javassist/javassist/3.4.GA/javassist-3.4.GA.jar"/>
+  <classpathentry kind="var" path="M2_REPO/org/jboss/javassist/3.6.0.GA/javassist-3.6.0.GA.jar" sourcepath="M2_REPO/org/jboss/javassist/3.6.0.GA/javassist-3.6.0.GA-sources.jar"/>
+  <classpathentry kind="var" path="M2_REPO/javax/xml/bind/jaxb-api/2.1/jaxb-api-2.1.jar" sourcepath="M2_REPO/javax/xml/bind/jaxb-api/2.1/jaxb-api-2.1-sources.jar"/>
+  <classpathentry kind="var" path="M2_REPO/sun-jaxb/jaxb-api/2.1.4/jaxb-api-2.1.4.jar"/>
+  <classpathentry kind="var" path="M2_REPO/org/jboss/aop/jboss-aop/2.0.0.CR7/jboss-aop-2.0.0.CR7.jar" sourcepath="M2_REPO/org/jboss/aop/jboss-aop/2.0.0.CR7/jboss-aop-2.0.0.CR7-sources.jar"/>
+  <classpathentry kind="var" path="M2_REPO/org/jboss/aop/jboss-aop-aspects/2.0.0.CR7/jboss-aop-aspects-2.0.0.CR7.jar" sourcepath="M2_REPO/org/jboss/aop/jboss-aop-aspects/2.0.0.CR7/jboss-aop-aspects-2.0.0.CR7-sources.jar"/>
+  <classpathentry kind="var" path="M2_REPO/jboss/aop/jboss-aop-deployer-jdk50/2.0.0.CR8/jboss-aop-deployer-jdk50-2.0.0.CR8.jar"/>
+  <classpathentry kind="var" path="M2_REPO/jboss/aop/jboss-aop-jboss4-jdk50/2.0.0.CR8/jboss-aop-jboss4-jdk50-2.0.0.CR8.jar"/>
+  <classpathentry kind="var" path="M2_REPO/jboss/aop/jboss-aop-jdk50/2.0.0.CR8/jboss-aop-jdk50-2.0.0.CR8.jar"/>
+  <classpathentry kind="var" path="M2_REPO/org/jboss/microcontainer/jboss-aop-mc-int/2.0.0.Beta13/jboss-aop-mc-int-2.0.0.Beta13.jar" sourcepath="M2_REPO/org/jboss/microcontainer/jboss-aop-mc-int/2.0.0.Beta13/jboss-aop-mc-int-2.0.0.Beta13-sources.jar"/>
+  <classpathentry kind="var" path="M2_REPO/org/jboss/jbossas/jboss-as-aspects/5.0.0-SNAPSHOT/jboss-as-aspects-5.0.0-SNAPSHOT.jar" sourcepath="M2_REPO/org/jboss/jbossas/jboss-as-aspects/5.0.0-SNAPSHOT/jboss-as-aspects-5.0.0-SNAPSHOT-sources.jar"/>
+  <classpathentry kind="var" path="M2_REPO/org/jboss/jbossas/jboss-as-bootstrap/5.0.0-SNAPSHOT/jboss-as-bootstrap-5.0.0-SNAPSHOT.jar" sourcepath="M2_REPO/org/jboss/jbossas/jboss-as-bootstrap/5.0.0-SNAPSHOT/jboss-as-bootstrap-5.0.0-SNAPSHOT-sources.jar"/>
+  <classpathentry kind="var" path="M2_REPO/org/jboss/jbossas/jboss-as-connector/5.0.0-SNAPSHOT/jboss-as-connector-5.0.0-SNAPSHOT.jar" sourcepath="M2_REPO/org/jboss/jbossas/jboss-as-connector/5.0.0-SNAPSHOT/jboss-as-connector-5.0.0-SNAPSHOT-sources.jar"/>
+  <classpathentry kind="var" path="M2_REPO/org/jboss/jbossas/jboss-as-j2se/5.0.0-SNAPSHOT/jboss-as-j2se-5.0.0-SNAPSHOT.jar" sourcepath="M2_REPO/org/jboss/jbossas/jboss-as-j2se/5.0.0-SNAPSHOT/jboss-as-j2se-5.0.0-SNAPSHOT-sources.jar"/>
+  <classpathentry kind="var" path="M2_REPO/org/jboss/jbossas/jboss-as-j2se/5.0.0-SNAPSHOT/jboss-as-j2se-5.0.0-SNAPSHOT-tests.jar"/>
+  <classpathentry kind="var" path="M2_REPO/org/jboss/jbossas/jboss-as-jmx/5.0.0-SNAPSHOT/jboss-as-jmx-5.0.0-SNAPSHOT.jar" sourcepath="M2_REPO/org/jboss/jbossas/jboss-as-jmx/5.0.0-SNAPSHOT/jboss-as-jmx-5.0.0-SNAPSHOT-sources.jar"/>
+  <classpathentry kind="var" path="M2_REPO/org/jboss/jbossas/jboss-as-main/5.0.0-SNAPSHOT/jboss-as-main-5.0.0-SNAPSHOT.jar" sourcepath="M2_REPO/org/jboss/jbossas/jboss-as-main/5.0.0-SNAPSHOT/jboss-as-main-5.0.0-SNAPSHOT-sources.jar"/>
+  <classpathentry kind="var" path="M2_REPO/org/jboss/jbossas/jboss-as-mbeans/5.0.0-SNAPSHOT/jboss-as-mbeans-5.0.0-SNAPSHOT.jar" sourcepath="M2_REPO/org/jboss/jbossas/jboss-as-mbeans/5.0.0-SNAPSHOT/jboss-as-mbeans-5.0.0-SNAPSHOT-sources.jar"/>
+  <classpathentry kind="var" path="M2_REPO/org/jboss/jbossas/jboss-as-profileservice/5.0.0-SNAPSHOT/jboss-as-profileservice-5.0.0-SNAPSHOT.jar" sourcepath="M2_REPO/org/jboss/jbossas/jboss-as-profileservice/5.0.0-SNAPSHOT/jboss-as-profileservice-5.0.0-SNAPSHOT-sources.jar"/>
+  <classpathentry kind="var" path="M2_REPO/org/jboss/jbossas/jboss-as-security/5.0.0-SNAPSHOT/jboss-as-security-5.0.0-SNAPSHOT.jar" sourcepath="M2_REPO/org/jboss/jbossas/jboss-as-security/5.0.0-SNAPSHOT/jboss-as-security-5.0.0-SNAPSHOT-sources.jar"/>
+  <classpathentry kind="var" path="M2_REPO/org/jboss/jbossas/jboss-as-server/5.0.0-SNAPSHOT/jboss-as-server-5.0.0-SNAPSHOT.jar" sourcepath="M2_REPO/org/jboss/jbossas/jboss-as-server/5.0.0-SNAPSHOT/jboss-as-server-5.0.0-SNAPSHOT-sources.jar"/>
+  <classpathentry kind="var" path="M2_REPO/org/jboss/jbossas/jboss-as-server-manager/0.1.0-SNAPSHOT/jboss-as-server-manager-0.1.0-SNAPSHOT.jar" sourcepath="M2_REPO/org/jboss/jbossas/jboss-as-server-manager/0.1.0-SNAPSHOT/jboss-as-server-manager-0.1.0-SNAPSHOT-sources.jar"/>
+  <classpathentry kind="var" path="M2_REPO/org/jboss/jbossas/jboss-as-system/5.0.0-SNAPSHOT/jboss-as-system-5.0.0-SNAPSHOT.jar" sourcepath="M2_REPO/org/jboss/jbossas/jboss-as-system/5.0.0-SNAPSHOT/jboss-as-system-5.0.0-SNAPSHOT-sources.jar"/>
+  <classpathentry kind="var" path="M2_REPO/org/jboss/jbossas/jboss-as-system-jmx/5.0.0-SNAPSHOT/jboss-as-system-jmx-5.0.0-SNAPSHOT.jar" sourcepath="M2_REPO/org/jboss/jbossas/jboss-as-system-jmx/5.0.0-SNAPSHOT/jboss-as-system-jmx-5.0.0-SNAPSHOT-sources.jar"/>
+  <classpathentry kind="var" path="M2_REPO/org/jboss/cl/jboss-classloader/2.0.0.Beta11/jboss-classloader-2.0.0.Beta11.jar" sourcepath="M2_REPO/org/jboss/cl/jboss-classloader/2.0.0.Beta11/jboss-classloader-2.0.0.Beta11-sources.jar"/>
+  <classpathentry kind="var" path="M2_REPO/org/jboss/cl/jboss-classloading/2.0.0.Beta11/jboss-classloading-2.0.0.Beta11.jar" sourcepath="M2_REPO/org/jboss/cl/jboss-classloading/2.0.0.Beta11/jboss-classloading-2.0.0.Beta11-sources.jar"/>
+  <classpathentry kind="var" path="M2_REPO/org/jboss/jboss-classloading-spi/5.0.0.Beta4/jboss-classloading-spi-5.0.0.Beta4.jar" sourcepath="M2_REPO/org/jboss/jboss-classloading-spi/5.0.0.Beta4/jboss-classloading-spi-5.0.0.Beta4-sources.jar">
+    <attributes>
+      <attribute value="jar:file:/home/alrubinger/.m2/repository/org/jboss/jboss-classloading-spi/5.0.0.Beta4/jboss-classloading-spi-5.0.0.Beta4-javadoc.jar!/" name="javadoc_location"/>
+    </attributes>
+  </classpathentry>
+  <classpathentry kind="var" path="M2_REPO/org/jboss/cl/jboss-classloading-vfs/2.0.0.Beta11/jboss-classloading-vfs-2.0.0.Beta11.jar" sourcepath="M2_REPO/org/jboss/cl/jboss-classloading-vfs/2.0.0.Beta11/jboss-classloading-vfs-2.0.0.Beta11-sources.jar"/>
+  <classpathentry kind="var" path="M2_REPO/jboss/jboss-common-core/2.0.2.GA/jboss-common-core-2.0.2.GA.jar" sourcepath="M2_REPO/jboss/jboss-common-core/2.0.2.GA/jboss-common-core-2.0.2.GA-sources.jar"/>
+  <classpathentry kind="var" path="M2_REPO/org/jboss/jboss-common-core/2.2.5.GA/jboss-common-core-2.2.5.GA.jar" sourcepath="M2_REPO/org/jboss/jboss-common-core/2.2.5.GA/jboss-common-core-2.2.5.GA-sources.jar">
+    <attributes>
+      <attribute value="jar:file:/home/alrubinger/.m2/repository/org/jboss/jboss-common-core/2.2.5.GA/jboss-common-core-2.2.5.GA-javadoc.jar!/" name="javadoc_location"/>
+    </attributes>
+  </classpathentry>
+  <classpathentry kind="var" path="M2_REPO/jboss/jboss-common-logging-log4j/2.0.4.GA/jboss-common-logging-log4j-2.0.4.GA.jar" sourcepath="M2_REPO/jboss/jboss-common-logging-log4j/2.0.4.GA/jboss-common-logging-log4j-2.0.4.GA-sources.jar"/>
+  <classpathentry kind="var" path="M2_REPO/jboss/jboss-common-logging-spi/2.0.4.GA/jboss-common-logging-spi-2.0.4.GA.jar" sourcepath="M2_REPO/jboss/jboss-common-logging-spi/2.0.4.GA/jboss-common-logging-spi-2.0.4.GA-sources.jar"/>
+  <classpathentry kind="var" path="M2_REPO/org/jboss/microcontainer/jboss-container/2.0.0.Beta9/jboss-container-2.0.0.Beta9.jar" sourcepath="M2_REPO/org/jboss/microcontainer/jboss-container/2.0.0.Beta9/jboss-container-2.0.0.Beta9-sources.jar">
+    <attributes>
+      <attribute value="jar:file:/home/alrubinger/.m2/repository/org/jboss/microcontainer/jboss-container/2.0.0.Beta9/jboss-container-2.0.0.Beta9-javadoc.jar!/" name="javadoc_location"/>
+    </attributes>
+  </classpathentry>
+  <classpathentry kind="var" path="M2_REPO/org/jboss/microcontainer/jboss-dependency/2.0.0.Beta9/jboss-dependency-2.0.0.Beta9.jar" sourcepath="M2_REPO/org/jboss/microcontainer/jboss-dependency/2.0.0.Beta9/jboss-dependency-2.0.0.Beta9-sources.jar">
+    <attributes>
+      <attribute value="jar:file:/home/alrubinger/.m2/repository/org/jboss/microcontainer/jboss-dependency/2.0.0.Beta9/jboss-dependency-2.0.0.Beta9-javadoc.jar!/" name="javadoc_location"/>
+    </attributes>
+  </classpathentry>
+  <classpathentry kind="var" path="M2_REPO/org/jboss/deployers/jboss-deployers-client/2.0.0-SNAPSHOT/jboss-deployers-client-2.0.0-SNAPSHOT.jar" sourcepath="M2_REPO/org/jboss/deployers/jboss-deployers-client/2.0.0-SNAPSHOT/jboss-deployers-client-2.0.0-SNAPSHOT-sources.jar"/>
+  <classpathentry kind="var" path="M2_REPO/org/jboss/deployers/jboss-deployers-client-spi/2.0.0-SNAPSHOT/jboss-deployers-client-spi-2.0.0-SNAPSHOT.jar" sourcepath="M2_REPO/org/jboss/deployers/jboss-deployers-client-spi/2.0.0-SNAPSHOT/jboss-deployers-client-spi-2.0.0-SNAPSHOT-sources.jar"/>
+  <classpathentry kind="var" path="M2_REPO/org/jboss/microcontainer/jboss-deployers-client-spi/2.0.0.Beta6/jboss-deployers-client-spi-2.0.0.Beta6.jar" sourcepath="M2_REPO/org/jboss/microcontainer/jboss-deployers-client-spi/2.0.0.Beta6/jboss-deployers-client-spi-2.0.0.Beta6-sources.jar"/>
+  <classpathentry kind="var" path="M2_REPO/org/jboss/deployers/jboss-deployers-core/2.0.0-SNAPSHOT/jboss-deployers-core-2.0.0-SNAPSHOT.jar" sourcepath="M2_REPO/org/jboss/deployers/jboss-deployers-core/2.0.0-SNAPSHOT/jboss-deployers-core-2.0.0-SNAPSHOT-sources.jar"/>
+  <classpathentry kind="var" path="M2_REPO/org/jboss/deployers/jboss-deployers-core-spi/2.0.0-SNAPSHOT/jboss-deployers-core-spi-2.0.0-SNAPSHOT.jar" sourcepath="M2_REPO/org/jboss/deployers/jboss-deployers-core-spi/2.0.0-SNAPSHOT/jboss-deployers-core-spi-2.0.0-SNAPSHOT-sources.jar"/>
+  <classpathentry kind="var" path="M2_REPO/org/jboss/microcontainer/jboss-deployers-core-spi/2.0.0.Beta9/jboss-deployers-core-spi-2.0.0.Beta9.jar" sourcepath="M2_REPO/org/jboss/microcontainer/jboss-deployers-core-spi/2.0.0.Beta9/jboss-deployers-core-spi-2.0.0.Beta9-sources.jar">
+    <attributes>
+      <attribute value="jar:file:/home/alrubinger/.m2/repository/org/jboss/microcontainer/jboss-deployers-core-spi/2.0.0.Beta9/jboss-deployers-core-spi-2.0.0.Beta9-javadoc.jar!/" name="javadoc_location"/>
+    </attributes>
+  </classpathentry>
+  <classpathentry kind="var" path="M2_REPO/org/jboss/deployers/jboss-deployers-impl/2.0.0-SNAPSHOT/jboss-deployers-impl-2.0.0-SNAPSHOT.jar" sourcepath="M2_REPO/org/jboss/deployers/jboss-deployers-impl/2.0.0-SNAPSHOT/jboss-deployers-impl-2.0.0-SNAPSHOT-sources.jar"/>
+  <classpathentry kind="var" path="M2_REPO/org/jboss/deployers/jboss-deployers-spi/2.0.0-SNAPSHOT/jboss-deployers-spi-2.0.0-SNAPSHOT.jar" sourcepath="M2_REPO/org/jboss/deployers/jboss-deployers-spi/2.0.0-SNAPSHOT/jboss-deployers-spi-2.0.0-SNAPSHOT-sources.jar"/>
+  <classpathentry kind="var" path="M2_REPO/org/jboss/deployers/jboss-deployers-structure-spi/2.0.0-SNAPSHOT/jboss-deployers-structure-spi-2.0.0-SNAPSHOT.jar" sourcepath="M2_REPO/org/jboss/deployers/jboss-deployers-structure-spi/2.0.0-SNAPSHOT/jboss-deployers-structure-spi-2.0.0-SNAPSHOT-sources.jar"/>
+  <classpathentry kind="var" path="M2_REPO/org/jboss/deployers/jboss-deployers-vfs/2.0.0-SNAPSHOT/jboss-deployers-vfs-2.0.0-SNAPSHOT.jar" sourcepath="M2_REPO/org/jboss/deployers/jboss-deployers-vfs/2.0.0-SNAPSHOT/jboss-deployers-vfs-2.0.0-SNAPSHOT-sources.jar"/>
+  <classpathentry kind="var" path="M2_REPO/org/jboss/deployers/jboss-deployers-vfs-spi/2.0.0-SNAPSHOT/jboss-deployers-vfs-spi-2.0.0-SNAPSHOT.jar" sourcepath="M2_REPO/org/jboss/deployers/jboss-deployers-vfs-spi/2.0.0-SNAPSHOT/jboss-deployers-vfs-spi-2.0.0-SNAPSHOT-sources.jar"/>
+  <classpathentry kind="var" path="M2_REPO/org/jboss/javaee/jboss-ejb-api/3.0.0.Beta3Update1/jboss-ejb-api-3.0.0.Beta3Update1.jar" sourcepath="M2_REPO/org/jboss/javaee/jboss-ejb-api/3.0.0.Beta3Update1/jboss-ejb-api-3.0.0.Beta3Update1-sources.jar"/>
+  <classpathentry kind="var" path="M2_REPO/org/jboss/ejb3/jboss-ejb3-cache/0.13.0-SNAPSHOT/jboss-ejb3-cache-0.13.0-SNAPSHOT.jar" sourcepath="M2_REPO/org/jboss/ejb3/jboss-ejb3-cache/0.13.0-SNAPSHOT/jboss-ejb3-cache-0.13.0-SNAPSHOT-sources.jar"/>
+  <classpathentry kind="var" path="M2_REPO/org/jboss/ejb3/jboss-ejb3-ext-api/0.3/jboss-ejb3-ext-api-0.3.jar" sourcepath="M2_REPO/org/jboss/ejb3/jboss-ejb3-ext-api/0.3/jboss-ejb3-ext-api-0.3-sources.jar">
+    <attributes>
+      <attribute value="jar:file:/home/alrubinger/.m2/repository/org/jboss/ejb3/jboss-ejb3-ext-api/0.3/jboss-ejb3-ext-api-0.3-javadoc.jar!/" name="javadoc_location"/>
+    </attributes>
+  </classpathentry>
+  <classpathentry kind="var" path="M2_REPO/org/jboss/ejb3/jboss-ejb3-ext-api-impl/0.3-SNAPSHOT/jboss-ejb3-ext-api-impl-0.3-SNAPSHOT.jar" sourcepath="M2_REPO/org/jboss/ejb3/jboss-ejb3-ext-api-impl/0.3-SNAPSHOT/jboss-ejb3-ext-api-impl-0.3-SNAPSHOT-sources.jar"/>
+  <classpathentry kind="var" path="M2_REPO/org/jboss/ejb3/jboss-ejb3-interceptors/0.13.0-SNAPSHOT/jboss-ejb3-interceptors-0.13.0-SNAPSHOT.jar" sourcepath="M2_REPO/org/jboss/ejb3/jboss-ejb3-interceptors/0.13.0-SNAPSHOT/jboss-ejb3-interceptors-0.13.0-SNAPSHOT-sources.jar"/>
+  <classpathentry kind="var" path="M2_REPO/org/jboss/ejb3/jboss-ejb3-metadata/0.12.1/jboss-ejb3-metadata-0.12.1.jar" sourcepath="M2_REPO/org/jboss/ejb3/jboss-ejb3-metadata/0.12.1/jboss-ejb3-metadata-0.12.1-sources.jar">
+    <attributes>
+      <attribute value="jar:file:/home/alrubinger/.m2/repository/org/jboss/ejb3/jboss-ejb3-metadata/0.12.1/jboss-ejb3-metadata-0.12.1-javadoc.jar!/" name="javadoc_location"/>
+    </attributes>
+  </classpathentry>
+  <classpathentry kind="var" path="M2_REPO/org/jboss/ejb3/jboss-ejb3-security/0.13.0-SNAPSHOT/jboss-ejb3-security-0.13.0-SNAPSHOT.jar" sourcepath="M2_REPO/org/jboss/ejb3/jboss-ejb3-security/0.13.0-SNAPSHOT/jboss-ejb3-security-0.13.0-SNAPSHOT-sources.jar"/>
+  <classpathentry kind="var" path="M2_REPO/org/jboss/embedded/jboss-embedded/beta3-SNAPSHOT/jboss-embedded-beta3-SNAPSHOT.jar"/>
+  <classpathentry kind="var" path="M2_REPO/org/jboss/cluster/jboss-ha-client/1.1.0-SNAPSHOT/jboss-ha-client-1.1.0-SNAPSHOT.jar" sourcepath="M2_REPO/org/jboss/cluster/jboss-ha-client/1.1.0-SNAPSHOT/jboss-ha-client-1.1.0-SNAPSHOT-sources.jar"/>
+  <classpathentry kind="var" path="M2_REPO/org/jboss/cluster/jboss-ha-server-api/1.0.0.GA/jboss-ha-server-api-1.0.0.GA.jar" sourcepath="M2_REPO/org/jboss/cluster/jboss-ha-server-api/1.0.0.GA/jboss-ha-server-api-1.0.0.GA-sources.jar">
+    <attributes>
+      <attribute value="jar:file:/home/alrubinger/.m2/repository/org/jboss/cluster/jboss-ha-server-api/1.0.0.GA/jboss-ha-server-api-1.0.0.GA-javadoc.jar!/" name="javadoc_location"/>
+    </attributes>
+  </classpathentry>
+  <classpathentry kind="var" path="M2_REPO/org/jboss/javaee/jboss-jacc-api/1.1.0.Beta3Update1/jboss-jacc-api-1.1.0.Beta3Update1.jar" sourcepath="M2_REPO/org/jboss/javaee/jboss-jacc-api/1.1.0.Beta3Update1/jboss-jacc-api-1.1.0.Beta3Update1-sources.jar"/>
+  <classpathentry kind="var" path="M2_REPO/org/jboss/javaee/jboss-jaspi-api/1.0.0.Beta3Update1/jboss-jaspi-api-1.0.0.Beta3Update1.jar" sourcepath="M2_REPO/org/jboss/javaee/jboss-jaspi-api/1.0.0.Beta3Update1/jboss-jaspi-api-1.0.0.Beta3Update1-sources.jar"/>
+  <classpathentry kind="var" path="M2_REPO/org/jboss/javaee/jboss-javaee/5.0.0.Beta3/jboss-javaee-5.0.0.Beta3.jar" sourcepath="M2_REPO/org/jboss/javaee/jboss-javaee/5.0.0.Beta3/jboss-javaee-5.0.0.Beta3-sources.jar"/>
+  <classpathentry kind="var" path="M2_REPO/jboss/jbossws/jboss-jaxrpc/1.0.4.GA/jboss-jaxrpc-1.0.4.GA.jar"/>
+  <classpathentry kind="var" path="M2_REPO/org/jboss/jboss-jaxws/2.0.1.GA/jboss-jaxws-2.0.1.GA.jar"/>
+  <classpathentry kind="var" path="M2_REPO/org/jboss/javaee/jboss-jca-api/1.5.0.Beta3Update1/jboss-jca-api-1.5.0.Beta3Update1.jar" sourcepath="M2_REPO/org/jboss/javaee/jboss-jca-api/1.5.0.Beta3Update1/jboss-jca-api-1.5.0.Beta3Update1-sources.jar"/>
+  <classpathentry kind="var" path="M2_REPO/org/jboss/javaee/jboss-jms-api/1.1.0-SNAPSHOT/jboss-jms-api-1.1.0-SNAPSHOT.jar" sourcepath="M2_REPO/org/jboss/javaee/jboss-jms-api/1.1.0-SNAPSHOT/jboss-jms-api-1.1.0-SNAPSHOT-sources.jar"/>
+  <classpathentry kind="var" path="M2_REPO/org/jboss/microcontainer/jboss-kernel/2.0.0.Beta9/jboss-kernel-2.0.0.Beta9.jar" sourcepath="M2_REPO/org/jboss/microcontainer/jboss-kernel/2.0.0.Beta9/jboss-kernel-2.0.0.Beta9-sources.jar">
+    <attributes>
+      <attribute value="jar:file:/home/alrubinger/.m2/repository/org/jboss/microcontainer/jboss-kernel/2.0.0.Beta9/jboss-kernel-2.0.0.Beta9-javadoc.jar!/" name="javadoc_location"/>
+    </attributes>
+  </classpathentry>
+  <classpathentry kind="var" path="M2_REPO/jboss/jboss-logging-log4j/2.0.2.GA/jboss-logging-log4j-2.0.2.GA.jar" sourcepath="M2_REPO/jboss/jboss-logging-log4j/2.0.2.GA/jboss-logging-log4j-2.0.2.GA-sources.jar"/>
+  <classpathentry kind="var" path="M2_REPO/org/jboss/logging/jboss-logging-log4j/2.0.5.GA/jboss-logging-log4j-2.0.5.GA.jar" sourcepath="M2_REPO/org/jboss/logging/jboss-logging-log4j/2.0.5.GA/jboss-logging-log4j-2.0.5.GA-sources.jar">
+    <attributes>
+      <attribute value="jar:file:/home/alrubinger/.m2/repository/org/jboss/logging/jboss-logging-log4j/2.0.5.GA/jboss-logging-log4j-2.0.5.GA-javadoc.jar!/" name="javadoc_location"/>
+    </attributes>
+  </classpathentry>
+  <classpathentry kind="var" path="M2_REPO/jboss/jboss-logging-spi/2.0.3.GA/jboss-logging-spi-2.0.3.GA.jar" sourcepath="M2_REPO/jboss/jboss-logging-spi/2.0.3.GA/jboss-logging-spi-2.0.3.GA-sources.jar"/>
+  <classpathentry kind="var" path="M2_REPO/org/jboss/logging/jboss-logging-spi/2.0.5.GA/jboss-logging-spi-2.0.5.GA.jar" sourcepath="M2_REPO/org/jboss/logging/jboss-logging-spi/2.0.5.GA/jboss-logging-spi-2.0.5.GA-sources.jar">
+    <attributes>
+      <attribute value="jar:file:/home/alrubinger/.m2/repository/org/jboss/logging/jboss-logging-spi/2.0.5.GA/jboss-logging-spi-2.0.5.GA-javadoc.jar!/" name="javadoc_location"/>
+    </attributes>
+  </classpathentry>
+  <classpathentry kind="var" path="M2_REPO/org/jboss/man/jboss-managed/2.0.0.Beta12/jboss-managed-2.0.0.Beta12.jar" sourcepath="M2_REPO/org/jboss/man/jboss-managed/2.0.0.Beta12/jboss-managed-2.0.0.Beta12-sources.jar">
+    <attributes>
+      <attribute value="jar:file:/home/alrubinger/.m2/repository/org/jboss/man/jboss-managed/2.0.0.Beta12/jboss-managed-2.0.0.Beta12-javadoc.jar!/" name="javadoc_location"/>
+    </attributes>
+  </classpathentry>
+  <classpathentry kind="var" path="M2_REPO/org/jboss/microcontainer/jboss-managed/2.0.0.Beta9/jboss-managed-2.0.0.Beta9.jar" sourcepath="M2_REPO/org/jboss/microcontainer/jboss-managed/2.0.0.Beta9/jboss-managed-2.0.0.Beta9-sources.jar">
+    <attributes>
+      <attribute value="jar:file:/home/alrubinger/.m2/repository/org/jboss/microcontainer/jboss-managed/2.0.0.Beta9/jboss-managed-2.0.0.Beta9-javadoc.jar!/" name="javadoc_location"/>
+    </attributes>
+  </classpathentry>
+  <classpathentry kind="var" path="M2_REPO/org/jboss/metadata/jboss-metadata/1.0.0-SNAPSHOT/jboss-metadata-1.0.0-SNAPSHOT.jar" sourcepath="M2_REPO/org/jboss/metadata/jboss-metadata/1.0.0-SNAPSHOT/jboss-metadata-1.0.0-SNAPSHOT-sources.jar"/>
+  <classpathentry kind="var" path="M2_REPO/org/jboss/man/jboss-metatype/2.0.0.Beta12/jboss-metatype-2.0.0.Beta12.jar" sourcepath="M2_REPO/org/jboss/man/jboss-metatype/2.0.0.Beta12/jboss-metatype-2.0.0.Beta12-sources.jar">
+    <attributes>
+      <attribute value="jar:file:/home/alrubinger/.m2/repository/org/jboss/man/jboss-metatype/2.0.0.Beta12/jboss-metatype-2.0.0.Beta12-javadoc.jar!/" name="javadoc_location"/>
+    </attributes>
+  </classpathentry>
+  <classpathentry kind="var" path="M2_REPO/org/jboss/microcontainer/jboss-metatype/2.0.0.Beta9/jboss-metatype-2.0.0.Beta9.jar" sourcepath="M2_REPO/org/jboss/microcontainer/jboss-metatype/2.0.0.Beta9/jboss-metatype-2.0.0.Beta9-sources.jar">
+    <attributes>
+      <attribute value="jar:file:/home/alrubinger/.m2/repository/org/jboss/microcontainer/jboss-metatype/2.0.0.Beta9/jboss-metatype-2.0.0.Beta9-javadoc.jar!/" name="javadoc_location"/>
+    </attributes>
+  </classpathentry>
+  <classpathentry kind="var" path="M2_REPO/org/jboss/javaee/jboss-persistence-api/3.0.0.Beta3Update1/jboss-persistence-api-3.0.0.Beta3Update1.jar" sourcepath="M2_REPO/org/jboss/javaee/jboss-persistence-api/3.0.0.Beta3Update1/jboss-persistence-api-3.0.0.Beta3Update1-sources.jar"/>
+  <classpathentry kind="var" path="M2_REPO/jboss/profiler/jvmti/jboss-profiler-jvmti/1.0.0.CR5/jboss-profiler-jvmti-1.0.0.CR5.jar"/>
+  <classpathentry kind="var" path="M2_REPO/org/jboss/jboss-reflect/2.0.0.Beta12/jboss-reflect-2.0.0.Beta12.jar" sourcepath="M2_REPO/org/jboss/jboss-reflect/2.0.0.Beta12/jboss-reflect-2.0.0.Beta12-sources.jar">
+    <attributes>
+      <attribute value="jar:file:/home/alrubinger/.m2/repository/org/jboss/jboss-reflect/2.0.0.Beta12/jboss-reflect-2.0.0.Beta12-javadoc.jar!/" name="javadoc_location"/>
+    </attributes>
+  </classpathentry>
+  <classpathentry kind="var" path="M2_REPO/jboss/remoting/jboss-remoting/2.4.0.CR1/jboss-remoting-2.4.0.CR1.jar" sourcepath="M2_REPO/jboss/remoting/jboss-remoting/2.4.0.CR1/jboss-remoting-2.4.0.CR1-sources.jar"/>
+  <classpathentry kind="var" path="M2_REPO/org/jboss/aspects/jboss-remoting-aspects/1.0.0-SNAPSHOT/jboss-remoting-aspects-1.0.0-SNAPSHOT.jar" sourcepath="M2_REPO/org/jboss/aspects/jboss-remoting-aspects/1.0.0-SNAPSHOT/jboss-remoting-aspects-1.0.0-SNAPSHOT-sources.jar"/>
+  <classpathentry kind="var" path="M2_REPO/jboss/jbossws/jboss-saaj/3.0.1-native-2.0.4.GA/jboss-saaj-3.0.1-native-2.0.4.GA.jar"/>
+  <classpathentry kind="var" path="M2_REPO/org/jboss/aspects/jboss-security-aspects/1.0.0-SNAPSHOT/jboss-security-aspects-1.0.0-SNAPSHOT.jar" sourcepath="M2_REPO/org/jboss/aspects/jboss-security-aspects/1.0.0-SNAPSHOT/jboss-security-aspects-1.0.0-SNAPSHOT-sources.jar"/>
+  <classpathentry kind="var" path="M2_REPO/org/jboss/security/jboss-security-spi/2.0.2.Beta5/jboss-security-spi-2.0.2.Beta5.jar" sourcepath="M2_REPO/org/jboss/security/jboss-security-spi/2.0.2.Beta5/jboss-security-spi-2.0.2.Beta5-sources.jar"/>
+  <classpathentry kind="var" path="M2_REPO/org/jboss/security/jboss-security-spi-bare/2.0.2.Beta5/jboss-security-spi-bare-2.0.2.Beta5.jar" sourcepath="M2_REPO/org/jboss/security/jboss-security-spi-bare/2.0.2.Beta5/jboss-security-spi-bare-2.0.2.Beta5-sources.jar">
+    <attributes>
+      <attribute value="jar:file:/home/alrubinger/.m2/repository/org/jboss/security/jboss-security-spi-bare/2.0.2.Beta5/jboss-security-spi-bare-2.0.2.Beta5-javadoc.jar!/" name="javadoc_location"/>
+    </attributes>
+  </classpathentry>
+  <classpathentry kind="var" path="M2_REPO/jboss/jboss-serialization/1.0.3.GA/jboss-serialization-1.0.3.GA.jar"/>
+  <classpathentry kind="var" path="M2_REPO/org/jboss/jbossas/jboss-server-manager/0.1.0.GA/jboss-server-manager-0.1.0.GA.jar" sourcepath="M2_REPO/org/jboss/jbossas/jboss-server-manager/0.1.0.GA/jboss-server-manager-0.1.0.GA-sources.jar"/>
+  <classpathentry kind="var" path="M2_REPO/org/jboss/javaee/jboss-servlet-api/2.5.0-SNAPSHOT/jboss-servlet-api-2.5.0-SNAPSHOT.jar" sourcepath="M2_REPO/org/jboss/javaee/jboss-servlet-api/2.5.0-SNAPSHOT/jboss-servlet-api-2.5.0-SNAPSHOT-sources.jar"/>
+  <classpathentry kind="var" path="M2_REPO/jboss/aop/jboss-standalone-aspect-library-jdk50/2.0.0.CR8/jboss-standalone-aspect-library-jdk50-2.0.0.CR8.jar"/>
+  <classpathentry kind="var" path="M2_REPO/jboss/jboss-test/1.0.3.GA/jboss-test-1.0.3.GA.jar" sourcepath="M2_REPO/jboss/jboss-test/1.0.3.GA/jboss-test-1.0.3.GA-sources.jar"/>
+  <classpathentry kind="var" path="M2_REPO/org/jboss/jboss-test/1.0.6-SNAPSHOT/jboss-test-1.0.6-SNAPSHOT.jar" sourcepath="M2_REPO/org/jboss/jboss-test/1.0.6-SNAPSHOT/jboss-test-1.0.6-SNAPSHOT-sources.jar"/>
+  <classpathentry kind="var" path="M2_REPO/org/jboss/test/jboss-test/1.1.0.GA/jboss-test-1.1.0.GA.jar" sourcepath="M2_REPO/org/jboss/test/jboss-test/1.1.0.GA/jboss-test-1.1.0.GA-sources.jar"/>
+  <classpathentry kind="var" path="M2_REPO/org/jboss/javaee/jboss-transaction-api/1.0.1.20070913080910/jboss-transaction-api-1.0.1.20070913080910.jar" sourcepath="M2_REPO/org/jboss/javaee/jboss-transaction-api/1.0.1.20070913080910/jboss-transaction-api-1.0.1.20070913080910-sources.jar"/>
+  <classpathentry kind="var" path="M2_REPO/org/jboss/aspects/jboss-transaction-aspects/1.0.0-SNAPSHOT/jboss-transaction-aspects-1.0.0-SNAPSHOT.jar" sourcepath="M2_REPO/org/jboss/aspects/jboss-transaction-aspects/1.0.0-SNAPSHOT/jboss-transaction-aspects-1.0.0-SNAPSHOT-sources.jar"/>
+  <classpathentry kind="var" path="M2_REPO/org/jboss/jboss-transaction-spi/5.0.0.Beta4/jboss-transaction-spi-5.0.0.Beta4.jar" sourcepath="M2_REPO/org/jboss/jboss-transaction-spi/5.0.0.Beta4/jboss-transaction-spi-5.0.0.Beta4-sources.jar">
+    <attributes>
+      <attribute value="jar:file:/home/alrubinger/.m2/repository/org/jboss/jboss-transaction-spi/5.0.0.Beta4/jboss-transaction-spi-5.0.0.Beta4-javadoc.jar!/" name="javadoc_location"/>
+    </attributes>
+  </classpathentry>
+  <classpathentry kind="var" path="M2_REPO/org/jboss/jboss-vfs/2.0.0.Beta8/jboss-vfs-2.0.0.Beta8.jar" sourcepath="M2_REPO/org/jboss/jboss-vfs/2.0.0.Beta8/jboss-vfs-2.0.0.Beta8-sources.jar">
+    <attributes>
+      <attribute value="jar:file:/home/alrubinger/.m2/repository/org/jboss/jboss-vfs/2.0.0.Beta8/jboss-vfs-2.0.0.Beta8-javadoc.jar!/" name="javadoc_location"/>
+    </attributes>
+  </classpathentry>
+  <classpathentry kind="var" path="M2_REPO/org/jboss/cache/jbosscache-core/2.1.0.CR4/jbosscache-core-2.1.0.CR4.jar"/>
+  <classpathentry kind="var" path="M2_REPO/org/jboss/security/jbosssx/2.0.2.Beta5/jbosssx-2.0.2.Beta5.jar" sourcepath="M2_REPO/org/jboss/security/jbosssx/2.0.2.Beta5/jbosssx-2.0.2.Beta5-sources.jar"/>
+  <classpathentry kind="var" path="M2_REPO/org/jboss/security/jbosssx-client/2.0.2.Beta5/jbosssx-client-2.0.2.Beta5.jar" sourcepath="M2_REPO/org/jboss/security/jbosssx-client/2.0.2.Beta5/jbosssx-client-2.0.2.Beta5-sources.jar"/>
+  <classpathentry kind="var" path="M2_REPO/org/jboss/ws/jbossws-spi/1.0.2.GA/jbossws-spi-1.0.2.GA.jar"/>
+  <classpathentry kind="var" path="M2_REPO/org/jboss/jbossxb/2.0.0.CR8/jbossxb-2.0.0.CR8.jar" sourcepath="M2_REPO/org/jboss/jbossxb/2.0.0.CR8/jbossxb-2.0.0.CR8-sources.jar"/>
+  <classpathentry kind="var" path="M2_REPO/jgroups/jgroups/2.6.1/jgroups-2.6.1.jar"/>
+  <classpathentry kind="var" path="M2_REPO/org/jboss/naming/jnp-client/5.0.0.CR1/jnp-client-5.0.0.CR1.jar" sourcepath="M2_REPO/org/jboss/naming/jnp-client/5.0.0.CR1/jnp-client-5.0.0.CR1-sources.jar"/>
+  <classpathentry kind="var" path="M2_REPO/org/jboss/jnpserver/5.0.0.Beta4/jnpserver-5.0.0.Beta4.jar" sourcepath="M2_REPO/org/jboss/jnpserver/5.0.0.Beta4/jnpserver-5.0.0.Beta4-sources.jar">
+    <attributes>
+      <attribute value="jar:file:/home/alrubinger/.m2/repository/org/jboss/jnpserver/5.0.0.Beta4/jnpserver-5.0.0.Beta4-javadoc.jar!/" name="javadoc_location"/>
+    </attributes>
+  </classpathentry>
+  <classpathentry kind="var" path="M2_REPO/jpl-pattern/jpl-pattern/1.0/jpl-pattern-1.0.jar"/>
+  <classpathentry kind="var" path="M2_REPO/jpl-util/jpl-util/1.0/jpl-util-1.0.jar"/>
+  <classpathentry kind="var" path="M2_REPO/javax/transaction/jta/1.0.1B/jta-1.0.1B.jar"/>
+  <classpathentry kind="var" path="M2_REPO/junit/junit/4.4/junit-4.4.jar" sourcepath="M2_REPO/junit/junit/4.4/junit-4.4-sources.jar">
+    <attributes>
+      <attribute value="jar:file:/home/alrubinger/.m2/repository/junit/junit/4.4/junit-4.4-javadoc.jar!/" name="javadoc_location"/>
+    </attributes>
+  </classpathentry>
+  <classpathentry kind="var" path="M2_REPO/apache-log4j/log4j/1.2.14/log4j-1.2.14.jar" sourcepath="M2_REPO/apache-log4j/log4j/1.2.14/log4j-1.2.14-sources.jar"/>
+  <classpathentry kind="var" path="M2_REPO/log4j/log4j/1.2.14/log4j-1.2.14.jar" sourcepath="M2_REPO/log4j/log4j/1.2.14/log4j-1.2.14-sources.jar"/>
+  <classpathentry kind="var" path="M2_REPO/javax/mail/mail/1.4/mail-1.4.jar" sourcepath="M2_REPO/javax/mail/mail/1.4/mail-1.4-sources.jar"/>
+  <classpathentry kind="var" path="M2_REPO/qdox/qdox/1.6/qdox-1.6.jar" sourcepath="M2_REPO/qdox/qdox/1.6/qdox-1.6-sources.jar">
+    <attributes>
+      <attribute value="jar:file:/home/alrubinger/.m2/repository/qdox/qdox/1.6/qdox-1.6-javadoc.jar!/" name="javadoc_location"/>
+    </attributes>
+  </classpathentry>
+  <classpathentry kind="var" path="M2_REPO/quartz/quartz/1.6.0/quartz-1.6.0.jar"/>
+  <classpathentry kind="var" path="M2_REPO/javax/xml/soap/saaj-api/1.3/saaj-api-1.3.jar"/>
+  <classpathentry kind="var" path="M2_REPO/javax/xml/stream/stax-api/1.0-2/stax-api-1.0-2.jar" sourcepath="M2_REPO/javax/xml/stream/stax-api/1.0-2/stax-api-1.0-2-sources.jar"/>
+  <classpathentry kind="var" path="M2_REPO/trove/trove/1.0.2/trove-1.0.2.jar"/>
+  <classpathentry kind="var" path="M2_REPO/apache-slide/webdavlib/2.0/webdavlib-2.0.jar"/>
+  <classpathentry kind="var" path="M2_REPO/apache-xerces/xercesImpl/2.9.1/xercesImpl-2.9.1.jar"/>
+  <classpathentry kind="var" path="M2_REPO/apache-xerces/xml-apis/2.7.1/xml-apis-2.7.1.jar"/>
+</classpath>
\ No newline at end of file

Modified: projects/ejb3/dev/ejbthree1269/core/.project
===================================================================
--- projects/ejb3/dev/ejbthree1269/core/.project	2008-04-18 16:36:56 UTC (rev 72450)
+++ projects/ejb3/dev/ejbthree1269/core/.project	2008-04-18 17:47:17 UTC (rev 72451)
@@ -1,23 +1,17 @@
-<?xml version="1.0" encoding="UTF-8"?>
 <projectDescription>
-	<name>jboss-ejb3-core</name>
-	<comment>JBoss EJB 3.0 Core</comment>
-	<projects>
-	</projects>
-	<buildSpec>
-		<buildCommand>
-			<name>org.maven.ide.eclipse.maven2Builder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-		<buildCommand>
-			<name>org.eclipse.jdt.core.javabuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-	</buildSpec>
-	<natures>
-		<nature>org.eclipse.jdt.core.javanature</nature>
-		<nature>org.maven.ide.eclipse.maven2Nature</nature>
-	</natures>
-</projectDescription>
+  <name>jboss-ejb3-core</name>
+  <comment>JBoss EJB 3.0 Core</comment>
+  <projects/>
+  <buildSpec>
+    <buildCommand>
+      <name>org.maven.ide.eclipse.maven2Builder</name>
+    </buildCommand>
+    <buildCommand>
+      <name>org.eclipse.jdt.core.javabuilder</name>
+    </buildCommand>
+  </buildSpec>
+  <natures>
+    <nature>org.eclipse.jdt.core.javanature</nature>
+    <nature>org.maven.ide.eclipse.maven2Nature</nature>
+  </natures>
+</projectDescription>
\ No newline at end of file

Modified: projects/ejb3/dev/ejbthree1269/core/.settings/org.eclipse.jdt.core.prefs
===================================================================
--- projects/ejb3/dev/ejbthree1269/core/.settings/org.eclipse.jdt.core.prefs	2008-04-18 16:36:56 UTC (rev 72450)
+++ projects/ejb3/dev/ejbthree1269/core/.settings/org.eclipse.jdt.core.prefs	2008-04-18 17:47:17 UTC (rev 72451)
@@ -1,4 +1,4 @@
-#Wed Apr 16 17:55:19 CEST 2008
+#Fri Apr 18 19:35:28 CEST 2008
 org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.5
 eclipse.preferences.version=1
 org.eclipse.jdt.core.compiler.source=1.5

Modified: projects/ejb3/dev/ejbthree1269/core/pom.xml
===================================================================
--- projects/ejb3/dev/ejbthree1269/core/pom.xml	2008-04-18 16:36:56 UTC (rev 72450)
+++ projects/ejb3/dev/ejbthree1269/core/pom.xml	2008-04-18 17:47:17 UTC (rev 72451)
@@ -168,6 +168,10 @@
                 </artifactItem>
                 <artifactItem>
                   <groupId>org.jboss.ejb3</groupId>
+                  <artifactId>jboss-ejb3-security</artifactId>
+                </artifactItem>
+                <artifactItem>
+                  <groupId>org.jboss.ejb3</groupId>
                   <artifactId>jboss-ejb3-interceptors</artifactId>
                 </artifactItem>
                 <artifactItem>
@@ -344,6 +348,11 @@
     </dependency>
     <dependency>
       <groupId>org.jboss.ejb3</groupId>
+      <artifactId>jboss-ejb3-security</artifactId>
+      <version>0.13.0-SNAPSHOT</version>
+    </dependency>
+    <dependency>
+      <groupId>org.jboss.ejb3</groupId>
       <artifactId>jboss-ejb3-ext-api</artifactId>
       <version>0.3</version>
     </dependency>
@@ -414,12 +423,12 @@
     </dependency>
     <dependency>
       <groupId>org.jboss.security</groupId>
-      <artifactId>jboss-security-spi-bare</artifactId>
+      <artifactId>jboss-security-spi</artifactId>
       <version>2.0.2.Beta5</version>
     </dependency>
     <dependency>
       <groupId>org.jboss.security</groupId>
-      <artifactId>jbosssx-client</artifactId>
+      <artifactId>jbosssx</artifactId>
       <version>2.0.2.Beta5</version>
     </dependency>
      <dependency>

Modified: projects/ejb3/dev/ejbthree1269/core/src/main/java/org/jboss/ejb3/DeploymentScope.java
===================================================================
--- projects/ejb3/dev/ejbthree1269/core/src/main/java/org/jboss/ejb3/DeploymentScope.java	2008-04-18 16:36:56 UTC (rev 72450)
+++ projects/ejb3/dev/ejbthree1269/core/src/main/java/org/jboss/ejb3/DeploymentScope.java	2008-04-18 17:47:17 UTC (rev 72451)
@@ -23,6 +23,8 @@
 
 import java.util.Collection;
 
+import javax.naming.NameNotFoundException;
+
 import org.jboss.ejb3.javaee.JavaEEApplication;
 
 /**
@@ -44,6 +46,23 @@
     * @return
     */
    Ejb3Deployment findRelativeDeployment(String relativeName);
+   /**
+    * Obtain the EJBContainer best matching the business interface
+    * @param businessIntf - the business interface to match
+    * @param vfsContext - the vfs path to the deploment initiating the request
+    * @return the matching EJBContainer if found, null otherwise.
+    */
+   EJBContainer getEjbContainer(Class businessIntf, String vfsContext)
+      throws NameNotFoundException;
+   /**
+    * Obtain the EJBContainer best matching the business interface
+    * @param ejbLink - the referencing ejb-link
+    * @param businessIntf - the business interface to match
+    * @param vfsContext - the vfs path to the deploment initiating the request
+    * @return the matching EJBContainer if found, null otherwise.
+    */
+   EJBContainer getEjbContainer(String ejbLink, Class businessIntf, String vfsContext);
+
    String getShortName();
    String getBaseName();
 }

Modified: projects/ejb3/dev/ejbthree1269/core/src/main/java/org/jboss/ejb3/EJBContextImpl.java
===================================================================
--- projects/ejb3/dev/ejbthree1269/core/src/main/java/org/jboss/ejb3/EJBContextImpl.java	2008-04-18 16:36:56 UTC (rev 72450)
+++ projects/ejb3/dev/ejbthree1269/core/src/main/java/org/jboss/ejb3/EJBContextImpl.java	2008-04-18 17:47:17 UTC (rev 72451)
@@ -43,6 +43,7 @@
 import javax.transaction.UserTransaction;
 
 import org.jboss.ejb3.annotation.SecurityDomain;
+import org.jboss.ejb3.security.helpers.AuthorizationHelper;
 import org.jboss.ejb3.tx.TxUtil;
 import org.jboss.ejb3.tx.UserTransactionImpl;
 import org.jboss.logging.Logger;
@@ -52,8 +53,6 @@
 import org.jboss.security.SecurityContext;
 import org.jboss.security.SecurityRoleRef;
 import org.jboss.security.SimplePrincipal;
-import org.jboss.security.integration.ejb.EJBAuthorizationHelper;
-import org.jboss.security.plugins.SecurityContextAssociation;
 
 /**
  * EJB3 Enterprise Context Implementation
@@ -169,7 +168,7 @@
          
          RealmMapping rm = container.getSecurityManager(RealmMapping.class); 
          
-         SecurityContext sc = SecurityContextAssociation.getSecurityContext();
+         SecurityContext sc = SecurityActions.getSecurityContext();
          if(sc == null)
          {
             SecurityDomain domain =(SecurityDomain)ec.resolveAnnotation(SecurityDomain.class);
@@ -180,7 +179,7 @@
          }
          else
          {
-            EJBAuthorizationHelper helper = new EJBAuthorizationHelper(sc); 
+            AuthorizationHelper helper = new AuthorizationHelper(sc); 
             callerPrincipal = helper.getCallerPrincipal(rm); 
          }
          
@@ -220,7 +219,7 @@
    public boolean isCallerInRole(String roleName)
    {
       EJBContainer ejbc = (EJBContainer)container;
-      SecurityContext sc = SecurityContextAssociation.getSecurityContext();
+      SecurityContext sc = SecurityActions.getSecurityContext();
       if(sc == null)
       {
          SecurityDomain domain =(SecurityDomain)ejbc.resolveAnnotation(SecurityDomain.class);
@@ -250,63 +249,14 @@
          srset.add(new SecurityRoleRef(srmd.getRoleName(),srmd.getRoleLink(),null));
       }
       Principal principal = getCallerPrincipal();
-      EJBAuthorizationHelper helper = new EJBAuthorizationHelper(sc);
+      AuthorizationHelper helper = new AuthorizationHelper(sc);
       return helper.isCallerInRole(roleName, 
                                    ejbc.getEjbName(), 
                                    principal, 
                                    srset);
    }
+ 
 
-   /*public boolean isCallerInRole(String roleName)
-   {
-      // TODO revert to aspects.security.SecurityContext impl when JBoss AOP 1.1 is out.
-      Principal principal = getCallerPrincipal();
-      
-      // Check the caller of this beans run-as identity
-      // todo use priveleged stuff in ejb class
-      RunAsIdentity runAsIdentity = SecurityActions.peekRunAsIdentity(1);
-
-      if (principal == null && runAsIdentity == null)
-         return false;
-
-      if (getRm() == null)
-      {
-         String msg = "isCallerInRole() called with no security context. "
-                      + "Check that a security-domain has been set for the application.";
-         throw new IllegalStateException(msg);
-      }
-      
-      //Ensure that you go through the security role references that may be configured
-      EJBContainer ejbc = (EJBContainer)container;
-      if(ejbc.getXml() != null)
-      {
-         Collection<SecurityRoleRef> securityRoleRefs = ejbc.getXml().getSecurityRoleRefs();
-         for(SecurityRoleRef roleRef: securityRoleRefs)
-         {
-            String refName = roleRef.getRoleName(); 
-            if(roleName.equals(refName))
-               roleName = roleRef.getRoleLink();
-         } 
-      } 
-
-      HashSet set = new HashSet();
-      set.add(new SimplePrincipal(roleName));
-
-      // This is work in progress - currently, getRm().doesUserHaveRole(principal, set)
-      // and getRm().getUserRoles(principal) ignores the principal parameter and is not
-      // using the principal from the pushed RunAsIdentity
-      boolean doesUserHaveRole = false;
-      if (runAsIdentity != null)
-         doesUserHaveRole = runAsIdentity.doesUserHaveRole(set);
-       
-      if (!doesUserHaveRole)
-         doesUserHaveRole = getRm().doesUserHaveRole(principal, set);
-      
-      java.util.Set roles = getRm().getUserRoles(principal);
-    
-      return doesUserHaveRole;
-   }*/
-
    public TimerService getTimerService() throws IllegalStateException
    {
       return getContainer().getTimerService();

Modified: projects/ejb3/dev/ejbthree1269/core/src/main/java/org/jboss/ejb3/Ejb3Deployment.java
===================================================================
--- projects/ejb3/dev/ejbthree1269/core/src/main/java/org/jboss/ejb3/Ejb3Deployment.java	2008-04-18 16:36:56 UTC (rev 72450)
+++ projects/ejb3/dev/ejbthree1269/core/src/main/java/org/jboss/ejb3/Ejb3Deployment.java	2008-04-18 17:47:17 UTC (rev 72451)
@@ -122,8 +122,6 @@
 
    protected DeploymentScope deploymentScope;
 
-   protected EjbModuleEjbResolver ejbRefResolver;
-
    protected EjbModulePersistenceUnitResolver persistenceUnitResolver;
 
    protected MessageDestinationResolver messageDestinationResolver;
@@ -152,7 +150,6 @@
       {
          throw new RuntimeException(e);
       }
-      ejbRefResolver = new EjbModuleEjbResolver(deploymentScope, unit.getShortName(), ejbContainers, this);
       persistenceUnitResolver = new EjbModulePersistenceUnitResolver(persistenceUnitDeployments, deploymentScope,
             ejbContainers);
       MessageDestinationsMetaData destinations = null;
@@ -362,31 +359,34 @@
       return persistenceUnitDeployments;
    }
 
+
    public EJBContainer getEjbContainer(String ejbLink, Class businessIntf)
    {
-      return ejbRefResolver.getEjbContainer(ejbLink, businessIntf);
+      String relativePath = unit.getRelativePath();
+      EJBContainer container = deploymentScope.getEjbContainer(ejbLink, businessIntf, relativePath);
+      return container;
    }
 
    public String getEjbJndiName(String ejbLink, Class businessIntf)
    {
-      return ejbRefResolver.getEjbJndiName(ejbLink, businessIntf);
+      EJBContainer container = getEjbContainer(ejbLink, businessIntf);
+      String jndiName = ProxyFactoryHelper.getJndiName(container, businessIntf);
+      return jndiName;
    }
-
-   public EJBContainer getEjbContainer(Ejb3Deployment deployment, Class businessIntf) throws NameNotFoundException
+   public String getEjbJndiName(Class businessIntf)
+      throws NameNotFoundException
    {
-      return ejbRefResolver.getEjbContainer(deployment, businessIntf);
+      EJBContainer container = getEjbContainer(businessIntf);
+      String jndiName = ProxyFactoryHelper.getJndiName(container, businessIntf);
+      return jndiName;
    }
 
    public EJBContainer getEjbContainer(Class businessIntf) throws NameNotFoundException
    {
-      return ejbRefResolver.getEjbContainer(businessIntf);
+      String relativePath = unit.getRelativePath();
+      return deploymentScope.getEjbContainer(businessIntf, relativePath);
    }
 
-   public String getEjbJndiName(Class businessIntf) throws NameNotFoundException
-   {
-      return ejbRefResolver.getEjbJndiName(businessIntf);
-   }
-
    protected void processEJBContainerMetadata(Container container) throws Exception
    {
       log.trace("Process EJB container metadata " + container);

Modified: projects/ejb3/dev/ejbthree1269/core/src/main/java/org/jboss/ejb3/MCKernelAbstraction.java
===================================================================
--- projects/ejb3/dev/ejbthree1269/core/src/main/java/org/jboss/ejb3/MCKernelAbstraction.java	2008-04-18 16:36:56 UTC (rev 72450)
+++ projects/ejb3/dev/ejbthree1269/core/src/main/java/org/jboss/ejb3/MCKernelAbstraction.java	2008-04-18 17:47:17 UTC (rev 72451)
@@ -224,7 +224,8 @@
       try
       {
          log.info("uninstalling bean: " + name);
-         kernel.getController().uninstall(name);
+         if(kernel != null)
+            kernel.getController().uninstall(name);
       }
       catch (Exception e)
       {

Modified: projects/ejb3/dev/ejbthree1269/core/src/main/java/org/jboss/ejb3/aop/BeanContainer.java
===================================================================
--- projects/ejb3/dev/ejbthree1269/core/src/main/java/org/jboss/ejb3/aop/BeanContainer.java	2008-04-18 16:36:56 UTC (rev 72450)
+++ projects/ejb3/dev/ejbthree1269/core/src/main/java/org/jboss/ejb3/aop/BeanContainer.java	2008-04-18 17:47:17 UTC (rev 72451)
@@ -191,7 +191,7 @@
       List<MetaDataBridge<InterceptorMetaData>> interceptorBridges = new ArrayList<MetaDataBridge<InterceptorMetaData>>();
       interceptorBridges.add(new InterceptorMetaDataBridge());
       annotations.addComponentMetaDataLoaderFactory(new InterceptorComponentMetaDataLoaderFactory(interceptorBridges));
-      annotations.addMetaDataBridge(new AdditiveBeanInterceptorMetaDataBridge(beanClass));
+      annotations.addMetaDataBridge(new AdditiveBeanInterceptorMetaDataBridge(beanClass, classLoader, beanMetaData));
       
       //Add a security domain bridge
       annotations.addMetaDataBridge(new SecurityDomainMetaDataBridge());

Modified: projects/ejb3/dev/ejbthree1269/core/src/main/java/org/jboss/ejb3/embedded/JaasSecurityManagerService.java
===================================================================
--- projects/ejb3/dev/ejbthree1269/core/src/main/java/org/jboss/ejb3/embedded/JaasSecurityManagerService.java	2008-04-18 16:36:56 UTC (rev 72450)
+++ projects/ejb3/dev/ejbthree1269/core/src/main/java/org/jboss/ejb3/embedded/JaasSecurityManagerService.java	2008-04-18 17:47:17 UTC (rev 72451)
@@ -24,12 +24,12 @@
 
 import org.jboss.ejb3.InitialContextFactory;
 import org.jboss.ejb3.naming.BrainlessContext;
+import org.jboss.ejb3.security.embedded.plugins.SecurityDomainContext;
 import org.jboss.logging.Logger;
 import org.jboss.security.auth.callback.SecurityAssociationHandler;
 import org.jboss.security.auth.login.XMLLoginConfigImpl;
 import org.jboss.security.plugins.JBossAuthorizationManager;
-import org.jboss.security.plugins.JaasSecurityManager;
-import org.jboss.security.plugins.SecurityDomainContext;
+import org.jboss.security.plugins.auth.JaasSecurityManagerBase; 
 
 import javax.naming.*;
 import javax.naming.spi.ObjectFactory;
@@ -44,11 +44,12 @@
 public class JaasSecurityManagerService
 {
    @SuppressWarnings("unused")
-   private static final Logger log = Logger.getLogger(JaasSecurityManager.class);
+   private static final Logger log = Logger.getLogger(JaasSecurityManagerBase.class);
 
    private static final String SECURITY_MGR_PATH = "java:/jaas";
 
-   private static Map<String, JaasSecurityManager> cache = new HashMap<String, JaasSecurityManager>();
+   private static Map<String, JaasSecurityManagerBase> cache = 
+	   new HashMap<String, JaasSecurityManagerBase>();
 
    private Hashtable initialContextProperties;
 
@@ -82,9 +83,9 @@
       ctx.rebind(SECURITY_MGR_PATH, ref);
    }
 
-   private static JaasSecurityManager getSecurityManager(String name)
+   private static JaasSecurityManagerBase getSecurityManager(String name)
    {
-      JaasSecurityManager manager = cache.get(name);
+	   JaasSecurityManagerBase manager = cache.get(name);
       if (manager != null)
       {
          //log.info("cache hit");
@@ -95,7 +96,7 @@
          if (manager != null)
             return manager;
 
-         manager = new JaasSecurityManager(name, new SecurityAssociationHandler());
+         manager = new JaasSecurityManagerBase(name, new SecurityAssociationHandler());
          cache.put(name, manager);
       }
       return manager;

Modified: projects/ejb3/dev/ejbthree1269/core/src/main/java/org/jboss/ejb3/security/Ejb3AuthenticationInterceptorv2.java
===================================================================
--- projects/ejb3/dev/ejbthree1269/core/src/main/java/org/jboss/ejb3/security/Ejb3AuthenticationInterceptorv2.java	2008-04-18 16:36:56 UTC (rev 72450)
+++ projects/ejb3/dev/ejbthree1269/core/src/main/java/org/jboss/ejb3/security/Ejb3AuthenticationInterceptorv2.java	2008-04-18 17:47:17 UTC (rev 72451)
@@ -32,15 +32,12 @@
 import org.jboss.ejb3.Container;
 import org.jboss.ejb3.EJBContainer;
 import org.jboss.ejb3.annotation.SecurityDomain;
+import org.jboss.ejb3.security.helpers.AuthenticationHelper;
 import org.jboss.logging.Logger;
-import org.jboss.security.RunAs;
+import org.jboss.security.ISecurityManagement;
 import org.jboss.security.SecurityContext;
 import org.jboss.security.SecurityUtil;
-import org.jboss.security.integration.JNDIBasedSecurityManagement;
-import org.jboss.security.integration.ejb.EJBAuthenticationHelper;
 
-//$Id$
-
 /**
  *  Authentication Interceptor
  *  @author <a href="mailto:bill at jboss.org">Bill Burke</a>
@@ -116,10 +113,10 @@
          SecurityActions.setSecurityContext(sc);
             
          //TODO: Need to get the SecurityManagement instance
-         sc.setSecurityManagement(new JNDIBasedSecurityManagement());
+         sc.setSecurityManagement(getSecurityManagement());
            
          //Check if there is a RunAs configured and can be trusted 
-         EJBAuthenticationHelper helper = new EJBAuthenticationHelper(sc);
+         AuthenticationHelper helper = new AuthenticationHelper(sc);
          boolean trustedCaller = helper.isTrusted();
          if(!trustedCaller)
          {
@@ -166,4 +163,14 @@
       SecurityActions.setSubjectInfo(to, from.getSubjectInfo());
       SecurityActions.setIncomingRunAs(to, from.getOutgoingRunAs());
    }
+   
+   /**
+    * TODO: This needs to be injectable
+    * @return
+    * @throws Exception 
+    */
+   private ISecurityManagement getSecurityManagement() throws Exception
+   {
+      Class<?> clazz = SecurityActions.loadClass("org.jboss.security.integration.JNDIBasedSecurityManagement");
+      return (ISecurityManagement) clazz.newInstance();    }
 }
\ No newline at end of file

Modified: projects/ejb3/dev/ejbthree1269/core/src/main/java/org/jboss/ejb3/security/RoleBasedAuthorizationInterceptorv2.java
===================================================================
--- projects/ejb3/dev/ejbthree1269/core/src/main/java/org/jboss/ejb3/security/RoleBasedAuthorizationInterceptorv2.java	2008-04-18 16:36:56 UTC (rev 72450)
+++ projects/ejb3/dev/ejbthree1269/core/src/main/java/org/jboss/ejb3/security/RoleBasedAuthorizationInterceptorv2.java	2008-04-18 17:47:17 UTC (rev 72451)
@@ -40,6 +40,7 @@
 import org.jboss.ejb3.Container;
 import org.jboss.ejb3.EJBContainer;
 import org.jboss.ejb3.annotation.SecurityDomain;
+import org.jboss.ejb3.security.helpers.AuthorizationHelper;
 import org.jboss.logging.Logger;
 import org.jboss.metadata.ejb.jboss.JBossAssemblyDescriptorMetaData;
 import org.jboss.remoting.InvokerLocator;
@@ -48,8 +49,7 @@
 import org.jboss.security.RunAs;
 import org.jboss.security.SecurityContext;
 import org.jboss.security.SecurityRolesAssociation;
-import org.jboss.security.SimplePrincipal;
-import org.jboss.security.integration.ejb.EJBAuthorizationHelper;
+import org.jboss.security.SimplePrincipal; 
 
 /**
  * The RoleBasedAuthorizationInterceptor checks that the caller principal is
@@ -137,7 +137,7 @@
       
       try
       {
-         SecurityDomain domain = (SecurityDomain)container.resolveAnnotation(SecurityDomain.class);
+         SecurityDomain domain = (SecurityDomain)container.getAnnotation(SecurityDomain.class);
          
          boolean domainExists = domain != null && domain.value() != null 
          && domain.value().length() > 0;
@@ -175,7 +175,7 @@
             
             RunAs callerRunAs = SecurityActions.peekRunAs();
             
-            EJBAuthorizationHelper helper = new EJBAuthorizationHelper(sc);
+            AuthorizationHelper helper = new AuthorizationHelper(sc);
             boolean isAuthorized = helper.authorize(ejbName, 
                              mi.getMethod(), 
                              sc.getUtil().getUserPrincipal(), 

Modified: projects/ejb3/dev/ejbthree1269/core/src/main/java/org/jboss/ejb3/security/SecurityActions.java
===================================================================
--- projects/ejb3/dev/ejbthree1269/core/src/main/java/org/jboss/ejb3/security/SecurityActions.java	2008-04-18 16:36:56 UTC (rev 72450)
+++ projects/ejb3/dev/ejbthree1269/core/src/main/java/org/jboss/ejb3/security/SecurityActions.java	2008-04-18 17:47:17 UTC (rev 72451)
@@ -392,4 +392,16 @@
          } 
       });
    } 
+   
+   static Class<?> loadClass(final String fqn) throws PrivilegedActionException
+   {
+      return AccessController.doPrivileged(new PrivilegedExceptionAction<Class<?>>()
+      { 
+         public Class<?> run() throws Exception
+         {
+            ClassLoader tcl = Thread.currentThread().getContextClassLoader();
+            return tcl.loadClass(fqn); 
+         }
+      });
+   }
 }

Deleted: projects/ejb3/dev/ejbthree1269/core/src/main/java/org/jboss/ejb3/security/SecurityDomainManager.java
===================================================================
--- projects/ejb3/dev/ejbthree1269/core/src/main/java/org/jboss/ejb3/security/SecurityDomainManager.java	2008-04-18 16:36:56 UTC (rev 72450)
+++ projects/ejb3/dev/ejbthree1269/core/src/main/java/org/jboss/ejb3/security/SecurityDomainManager.java	2008-04-18 17:47:17 UTC (rev 72451)
@@ -1,56 +0,0 @@
-/*
-  * JBoss, Home of Professional Open Source
-  * Copyright 2005, JBoss Inc., and individual contributors as indicated
-  * by the @authors tag. See the copyright.txt 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.ejb3.security;
-
-import javax.naming.InitialContext;
-import javax.naming.NamingException;
-
-//$Id$
-
-/**
- *  Utility class that deals with the authentication/authorization
- *  managers associated with a security domain
- *  @author <a href="mailto:Anil.Saldhana at jboss.org">Anil Saldhana</a>
- *  @since  Oct 9, 2006 
- *  @version $Revision$
- */
-public class SecurityDomainManager
-{
-   public static Object getSecurityManager(String securityDomain,
-         InitialContext ctx) throws NamingException
-   { 
-      return ctx.lookup(preProcessSecurityDomain(securityDomain)); 
-   }
-   
-   /**
-    * Ensure that the security domain is of the proper format
-    * @param domainValue
-    * @return
-    */
-   private static String preProcessSecurityDomain(String domainValue)
-   { 
-      if(domainValue.startsWith("java:/jaas"))
-         return domainValue;
-      else
-         return "java:/jaas/" + domainValue;
-   }
-}

Modified: projects/ejb3/dev/ejbthree1269/core/src/main/java/org/jboss/injection/EJBRemoteHandler.java
===================================================================
--- projects/ejb3/dev/ejbthree1269/core/src/main/java/org/jboss/injection/EJBRemoteHandler.java	2008-04-18 16:36:56 UTC (rev 72450)
+++ projects/ejb3/dev/ejbthree1269/core/src/main/java/org/jboss/injection/EJBRemoteHandler.java	2008-04-18 17:47:17 UTC (rev 72451)
@@ -35,6 +35,8 @@
 import org.jboss.ejb3.annotation.IgnoreDependency;
 import org.jboss.logging.Logger;
 import org.jboss.metadata.javaee.spec.AbstractEJBReferenceMetaData;
+import org.jboss.metadata.javaee.spec.AnnotatedEJBReferenceMetaData;
+import org.jboss.metadata.javaee.spec.AnnotatedEJBReferencesMetaData;
 import org.jboss.metadata.javaee.spec.EJBReferenceMetaData;
 import org.jboss.metadata.javaee.spec.RemoteEnvironment;
 
@@ -79,7 +81,6 @@
       String mappedName = ref.getMappedName();
       if (mappedName != null && mappedName.equals(""))
          mappedName = null;
-      // See if the name has been resolved externally
       if(mappedName == null && ref.getResolvedJndiName() != null)
          mappedName = ref.getResolvedJndiName();
 
@@ -109,7 +110,7 @@
       }
       else
       {
-         ejbRefEncInjector(mappedName, encName, refClass, link, errorType, container);
+         ejbRefEncInjector(mappedName, encName, null, refClass, link, errorType, container);
          if (ref.getIgnoreDependency() != null)
          {
             log.debug("IGNORING <ejb-ref> DEPENDENCY: " + encName);
@@ -150,10 +151,26 @@
       }
    }
 
-   protected void ejbRefEncInjector(String mappedName, String encName, Class refClass, String link, String errorType, InjectionContainer container)
+   protected void ejbRefEncInjector(String mappedName, String encName, String fieldName, Class refClass, String link, String errorType, InjectionContainer container)
    {
-      if (refClass != null && (refClass.equals(Object.class) || refClass.equals(void.class))) refClass = null;
-      if (mappedName != null && mappedName.trim().equals("")) mappedName = null;
+      if (refClass != null && (refClass.equals(Object.class) || refClass.equals(void.class)))
+         refClass = null;
+      if (mappedName != null && mappedName.trim().equals(""))
+         mappedName = null;
+      if (mappedName == null)
+      {
+         //
+         AnnotatedEJBReferencesMetaData amds = container.getEnvironmentRefGroup().getAnnotatedEjbReferences();
+         AnnotatedEJBReferenceMetaData amd = amds.get(encName);
+         if(amd == null)
+            amd = amds.get(fieldName);
+         if(amd != null)
+         {
+            mappedName = amd.getMappedName();
+            if(mappedName == null)
+               mappedName = amd.getResolvedJndiName();
+         }
+      }
 
       EncInjector injector = null;
       
@@ -277,7 +294,7 @@
       encName = "env/" + encName;
 
       if (container.getEncInjectors().containsKey(encName)) return;
-      ejbRefEncInjector(ejb.mappedName(), encName, ejb.beanInterface(), ejb.beanName(), "@EJB", container);
+      ejbRefEncInjector(ejb.mappedName(), encName, null, ejb.beanInterface(), ejb.beanName(), "@EJB", container);
 
       // handle dependencies
 
@@ -297,7 +314,7 @@
          String encName = getEncName(ref, method);
          if (!container.getEncInjectors().containsKey(encName))
          {
-            ejbRefEncInjector(ref.mappedName(), encName, method.getParameterTypes()[0], ref.beanName(), "@EJB", container);
+            ejbRefEncInjector(ref.mappedName(), encName, method.getName().substring(0), method.getParameterTypes()[0], ref.beanName(), "@EJB", container);
             
             if (container.getAnnotation(IgnoreDependency.class, method) == null)
             {
@@ -327,7 +344,7 @@
                else
                   ejbRefDependency(ref.mappedName(), ref.beanName(), container, field.getType(), "@EJB", encName);
             }
-            ejbRefEncInjector(ref.mappedName(), encName, field.getType(), ref.beanName(), "@EJB", container);
+            ejbRefEncInjector(ref.mappedName(), encName, field.getName(), field.getType(), ref.beanName(), "@EJB", container);
          }
          super.handleFieldAnnotations(field, container, injectors);
       }

Modified: projects/ejb3/dev/ejbthree1269/core/src/test/java/org/jboss/ejb3/test/security/unit/EJBSpecUnitTestCase.java
===================================================================
--- projects/ejb3/dev/ejbthree1269/core/src/test/java/org/jboss/ejb3/test/security/unit/EJBSpecUnitTestCase.java	2008-04-18 16:36:56 UTC (rev 72450)
+++ projects/ejb3/dev/ejbthree1269/core/src/test/java/org/jboss/ejb3/test/security/unit/EJBSpecUnitTestCase.java	2008-04-18 17:47:17 UTC (rev 72451)
@@ -48,8 +48,7 @@
 import org.jboss.ejb3.test.security.StatelessSession;
 import org.jboss.logging.Logger;
 import org.jboss.security.SimplePrincipal;
-import org.jboss.security.auth.login.XMLLoginConfigImpl;
-import org.jboss.security.plugins.JaasSecurityManagerServiceMBean;
+import org.jboss.security.auth.login.XMLLoginConfigImpl; 
 import org.jboss.test.JBossTestCase;
 
 
@@ -88,6 +87,8 @@
 public void testSecurityDomain() throws Exception
 {
    log.info("+++ testSecurityDomain, domain=spec-test");
+   fail("THINK ABOUT THE AS DEPENDENCIES");
+   /**
    MBeanServerConnection conn = (MBeanServerConnection) getServer();
    ObjectName secMgrName = new ObjectName("jboss.security:service=JaasSecurityManager");
    JaasSecurityManagerServiceMBean secMgr = (JaasSecurityManagerServiceMBean)
@@ -133,6 +134,7 @@
 
    isValid = secMgr.isValid(domain, user, "badpass".toCharArray());
    assertTrue("badpass is an invalid password for scott", isValid == false);
+   */
 }
 
 /** Test that:

Modified: projects/ejb3/dev/ejbthree1269/core/src/test/resources/test/interceptors/META-INF/ejb-jar.xml
===================================================================
--- projects/ejb3/dev/ejbthree1269/core/src/test/resources/test/interceptors/META-INF/ejb-jar.xml	2008-04-18 16:36:56 UTC (rev 72450)
+++ projects/ejb3/dev/ejbthree1269/core/src/test/resources/test/interceptors/META-INF/ejb-jar.xml	2008-04-18 17:47:17 UTC (rev 72451)
@@ -62,7 +62,7 @@
          <interceptor-class>org.jboss.ejb3.test.interceptors.XMLInterceptor</interceptor-class>
       </interceptor-binding>
       <interceptor-binding>
-         <ejb-name>org.jboss.ejb3.test.interceptors.MySessionBean</ejb-name>
+         <ejb-name>MySessionBean</ejb-name>
             <interceptor-order>
 		         <interceptor-class>org.jboss.ejb3.test.interceptors.MyInterceptor</interceptor-class>
 		         <interceptor-class>org.jboss.ejb3.test.interceptors.XMLInterceptor</interceptor-class>

Modified: projects/ejb3/dev/ejbthree1269/installer/src/main/resources/conf/jbossas-ejb3-files-to-place-in-serverlib.txt
===================================================================
--- projects/ejb3/dev/ejbthree1269/installer/src/main/resources/conf/jbossas-ejb3-files-to-place-in-serverlib.txt	2008-04-18 16:36:56 UTC (rev 72450)
+++ projects/ejb3/dev/ejbthree1269/installer/src/main/resources/conf/jbossas-ejb3-files-to-place-in-serverlib.txt	2008-04-18 17:47:17 UTC (rev 72451)
@@ -1,7 +1,8 @@
 jboss-ejb3-cache.jar
+jboss-ejb3-security.jar
 jboss-ejb3-core.jar
 jboss-ejb3-ext-api.jar
 jboss-ejb3-ext-api-impl.jar
 jboss-ejb3-interceptors.jar
 jboss-ejb3-metadata.jar
-jboss-ha-client.jar
\ No newline at end of file
+jboss-ha-client.jar


Property changes on: projects/ejb3/dev/ejbthree1269/interceptors
___________________________________________________________________
Name: svn:ignore
   - target
eclipse-target
coverage.ec

   + target
eclipse-target
coverage.ec
test-output


Modified: projects/ejb3/dev/ejbthree1269/interceptors/pom.xml
===================================================================
--- projects/ejb3/dev/ejbthree1269/interceptors/pom.xml	2008-04-18 16:36:56 UTC (rev 72450)
+++ projects/ejb3/dev/ejbthree1269/interceptors/pom.xml	2008-04-18 17:47:17 UTC (rev 72451)
@@ -47,6 +47,11 @@
 
     <!-- External -->
     <dependency>
+      <groupId>org.jboss</groupId>
+      <artifactId>jboss-reflect</artifactId>
+      <version>2.0.0.Beta12</version>
+    </dependency>
+    <dependency>
       <groupId>org.jboss.logging</groupId>
       <artifactId>jboss-logging-spi</artifactId>
     </dependency>

Modified: projects/ejb3/dev/ejbthree1269/interceptors/src/main/java/org/jboss/ejb3/interceptors/lang/ClassHelper.java
===================================================================
--- projects/ejb3/dev/ejbthree1269/interceptors/src/main/java/org/jboss/ejb3/interceptors/lang/ClassHelper.java	2008-04-18 16:36:56 UTC (rev 72450)
+++ projects/ejb3/dev/ejbthree1269/interceptors/src/main/java/org/jboss/ejb3/interceptors/lang/ClassHelper.java	2008-04-18 17:47:17 UTC (rev 72451)
@@ -23,13 +23,15 @@
 
 import java.lang.reflect.Method;
 import java.util.ArrayList;
+import java.util.HashMap;
 import java.util.List;
+import java.util.Map;
 
 /**
  * Methods which should have been in Class.
  *
  * @author <a href="mailto:carlo.dewolf at jboss.com">Carlo de Wolf</a>
- * @version $Revision: $
+ * @version $Revision$
  */
 public class ClassHelper
 {
@@ -80,6 +82,34 @@
    }
    
    /**
+    * Returns all public, private and package protected methods including
+    * inherited ones in a map indexed by name.
+    * 
+    * (Slow method)
+    * 
+    * @param cls
+    * @return
+    */
+   public static Map<String, List<Method>> getAllMethodsMap(Class<?> cls) 
+   {
+      Map<String, List<Method>> methodMap = new HashMap<String, List<Method>>();  
+      ArrayList<Method> list = new ArrayList<Method>();
+      populateAllMethods(cls, list);
+      
+      for (Method method : list)
+      {
+         List<Method> methods = methodMap.get(method.getName());
+         if (methods == null)
+         {
+            methods = new ArrayList<Method>();
+            methodMap.put(method.getName(), methods);
+         }
+         methods.add(method);
+      }
+      return methodMap;
+   }
+   
+   /**
     * Find all methods starting with the most general super class.
     * (See 12.4.1 bullet 4)
     * 

Modified: projects/ejb3/dev/ejbthree1269/interceptors/src/main/java/org/jboss/ejb3/interceptors/metadata/AdditiveBeanInterceptorMetaDataBridge.java
===================================================================
--- projects/ejb3/dev/ejbthree1269/interceptors/src/main/java/org/jboss/ejb3/interceptors/metadata/AdditiveBeanInterceptorMetaDataBridge.java	2008-04-18 16:36:56 UTC (rev 72450)
+++ projects/ejb3/dev/ejbthree1269/interceptors/src/main/java/org/jboss/ejb3/interceptors/metadata/AdditiveBeanInterceptorMetaDataBridge.java	2008-04-18 17:47:17 UTC (rev 72451)
@@ -37,18 +37,15 @@
  * TODO: additivity is probably also a cross component function
  *
  * @author <a href="mailto:carlo.dewolf at jboss.com">Carlo de Wolf</a>
- * @version $Revision: $
+ * @version $Revision$
  */
 public class AdditiveBeanInterceptorMetaDataBridge extends BeanInterceptorMetaDataBridge
 {
    private static final Logger log = Logger.getLogger(AdditiveBeanInterceptorMetaDataBridge.class);
    
-   private Class<?> beanClass;
-   
-   public AdditiveBeanInterceptorMetaDataBridge(Class<?> beanClass)
+   public AdditiveBeanInterceptorMetaDataBridge(Class<?> beanClass, ClassLoader classLoader, JBossEnterpriseBeanMetaData beanMetaData)
    {
-      assert beanClass != null : "beanClass is null";
-      this.beanClass = beanClass;
+      super(beanClass, classLoader, beanMetaData);
    }
    
    private static boolean isMetadataComplete(JBossEnterpriseBeanMetaData beanMetaData)
@@ -63,7 +60,7 @@
       {
          InterceptorsImpl interceptors = new InterceptorsImpl();
          if(!isMetadataComplete(beanMetaData))
-            interceptors.add(beanClass.getAnnotation(Interceptors.class));
+            interceptors.add(getBeanClass().getAnnotation(Interceptors.class));
          
          interceptors.add(super.retrieveAnnotation(Interceptors.class, beanMetaData, classLoader));
          

Modified: projects/ejb3/dev/ejbthree1269/interceptors/src/main/java/org/jboss/ejb3/interceptors/metadata/BeanInterceptorMetaDataBridge.java
===================================================================
--- projects/ejb3/dev/ejbthree1269/interceptors/src/main/java/org/jboss/ejb3/interceptors/metadata/BeanInterceptorMetaDataBridge.java	2008-04-18 16:36:56 UTC (rev 72450)
+++ projects/ejb3/dev/ejbthree1269/interceptors/src/main/java/org/jboss/ejb3/interceptors/metadata/BeanInterceptorMetaDataBridge.java	2008-04-18 17:47:17 UTC (rev 72451)
@@ -22,9 +22,12 @@
 package org.jboss.ejb3.interceptors.metadata;
 
 import java.lang.annotation.Annotation;
+import java.lang.reflect.Method;
 import java.util.ArrayList;
 import java.util.Arrays;
+import java.util.HashMap;
 import java.util.List;
+import java.util.Map;
 
 import javax.annotation.PostConstruct;
 import javax.annotation.PreDestroy;
@@ -32,6 +35,7 @@
 import javax.ejb.PrePassivate;
 import javax.interceptor.AroundInvoke;
 import javax.interceptor.Interceptors;
+import javax.interceptor.InvocationContext;
 
 import org.jboss.ejb3.interceptors.annotation.impl.InterceptorsImpl;
 import org.jboss.ejb3.interceptors.annotation.impl.PostActivateImpl;
@@ -42,10 +46,13 @@
 import org.jboss.ejb3.interceptors.aop.annotation.DefaultInterceptorsImpl;
 import org.jboss.ejb3.interceptors.aop.annotation.InterceptorOrder;
 import org.jboss.ejb3.interceptors.aop.annotation.InterceptorOrderImpl;
+import org.jboss.ejb3.interceptors.lang.ClassHelper;
 import org.jboss.ejb3.interceptors.util.InterceptorCollection;
 import org.jboss.ejb3.metadata.MetaDataBridge;
 import org.jboss.logging.Logger;
+import org.jboss.metadata.ejb.jboss.JBossAssemblyDescriptorMetaData;
 import org.jboss.metadata.ejb.jboss.JBossEnterpriseBeanMetaData;
+import org.jboss.metadata.ejb.jboss.JBossEnterpriseBeansMetaData;
 import org.jboss.metadata.ejb.jboss.JBossMessageDrivenBeanMetaData;
 import org.jboss.metadata.ejb.jboss.JBossSessionBeanMetaData;
 import org.jboss.metadata.ejb.spec.AroundInvokesMetaData;
@@ -54,6 +61,8 @@
 import org.jboss.metadata.ejb.spec.InterceptorClassesMetaData;
 import org.jboss.metadata.ejb.spec.MethodParametersMetaData;
 import org.jboss.metadata.ejb.spec.NamedMethodMetaData;
+import org.jboss.metadata.spi.signature.MethodSignature;
+import org.jboss.metadata.spi.signature.Signature;
 
 /**
  * Comment
@@ -65,6 +74,46 @@
 {
    private static final Logger log = Logger.getLogger(BeanInterceptorMetaDataBridge.class);
 
+   private volatile boolean initialisedBean;
+   
+   //Class level stuff
+   private DefaultInterceptors defaultInterceptors;
+   private Interceptors interceptors;
+   private InterceptorOrder interceptorOrder;
+   
+   //Method-level things
+   private Map<Signature, Interceptors> methodInterceptors = new HashMap<Signature, Interceptors>(); 
+   private Map<Signature, InterceptorOrder> methodInterceptorOrders = new HashMap<Signature, InterceptorOrder>();
+   
+   
+   //Bean class methods
+   private Map<String, AroundInvoke> aroundInvokes;
+   private Map<String, PostConstruct> postConstructs;
+   private Map<String, PostActivate> postActivates;
+   private Map<String, PrePassivate> prePassivates;
+   private Map<String, PreDestroy> preDestroys;
+   
+   private Class<?> beanClass;
+   private ClassLoader classLoader;
+   private JBossEnterpriseBeanMetaData beanMetaData;
+
+   public static long time;
+   
+   public BeanInterceptorMetaDataBridge(Class<?> beanClass, ClassLoader classLoader, JBossEnterpriseBeanMetaData beanMetaData)
+   {
+      assert beanClass != null : "beanClass is null";
+      this.beanClass = beanClass;
+      this.classLoader = classLoader;
+      this.beanMetaData = beanMetaData;
+      
+      initialise();
+   }
+
+   protected Class<?> getBeanClass()
+   {
+      return beanClass;
+   }
+   
    private static boolean add(InterceptorCollection interceptors, ClassLoader classLoader, InterceptorBindingMetaData binding)
    {
       boolean result = false;
@@ -117,213 +166,413 @@
       }
    }
    
-   @Override
-   public <A extends Annotation> A retrieveAnnotation(Class<A> annotationClass, JBossEnterpriseBeanMetaData beanMetaData, ClassLoader classLoader)
+   private synchronized void initialise()
    {
-      if(annotationClass == DefaultInterceptors.class)
+      if (initialisedBean)
       {
+         return;
+      }
+      
+      List<InterceptorBindingMetaData> defaultInterceptorBindingMetaData = new ArrayList<InterceptorBindingMetaData>();
+      List<InterceptorBindingMetaData> classInterceptorBindingMetaData = new ArrayList<InterceptorBindingMetaData>();
+      List<InterceptorBindingMetaData> classInterceptorOrderMetaData = new ArrayList<InterceptorBindingMetaData>();
+      List<InterceptorBindingMetaData> methodInterceptorBindingMetaData = new ArrayList<InterceptorBindingMetaData>();
+      List<InterceptorBindingMetaData> methodInterceptorOrderMetaData = new ArrayList<InterceptorBindingMetaData>();
+      
+      
+      setupMetaDataLists(beanMetaData, 
+            defaultInterceptorBindingMetaData, 
+            classInterceptorBindingMetaData, 
+            classInterceptorOrderMetaData, 
+            methodInterceptorBindingMetaData, 
+            methodInterceptorOrderMetaData);
+
+      initialiseDefaultInterceptors(defaultInterceptorBindingMetaData);
+      initialiseInterceptors(classInterceptorBindingMetaData);
+      initialiseInterceptorOrder(classInterceptorOrderMetaData);
+
+      Map<String, List<Method>> methodMap = ClassHelper.getAllMethodsMap(beanClass);
+      MethodSignatures methodSignatures = new MethodSignatures();
+      initialiseMethodInterceptors(methodMap, methodSignatures, methodInterceptorBindingMetaData);
+      initialiseMethodInterceptorOrders(methodMap, methodSignatures, methodInterceptorOrderMetaData);
+
+      initialiseAroundInvoke(methodMap);
+   }
+   
+   private void setupMetaDataLists(JBossEnterpriseBeanMetaData beanMetaData,
+                                 List<InterceptorBindingMetaData> defaultInterceptorBindingMetaData, 
+                                 List<InterceptorBindingMetaData> classInterceptorBindingMetaData, 
+                                 List<InterceptorBindingMetaData> classInterceptorOrderMetaData, 
+                                 List<InterceptorBindingMetaData> methodInterceptorBindingMetaData,
+                                 List<InterceptorBindingMetaData> methodInterceptorOrderMetaData)
+   {
+      try
+      {
          InterceptorBindingsMetaData bindings = beanMetaData.getEjbJarMetaData().getAssemblyDescriptor().getInterceptorBindings();
-         if(bindings != null)
+
+         if (bindings != null)
          {
-            List<Class<?>> interceptors = new ArrayList<Class<?>>();
-            for(InterceptorBindingMetaData binding : bindings)
+            String ejbName = beanMetaData.getEjbName();;
+            for (InterceptorBindingMetaData binding : bindings)
             {
                String bindingEjbName = binding.getEjbName();
-               if(bindingEjbName.equals("*"))
+               checkBeanExistsInDeployment(beanMetaData, bindingEjbName);
+               if (bindingEjbName.equals("*")) 
                {
                   assert binding.getMethod() == null : "method binding not allowed on default interceptor";
-                  
-                  add(interceptors, classLoader, binding);
+                  defaultInterceptorBindingMetaData.add(binding);
+                  continue;
                }
+               if (bindingEjbName.equals(ejbName))
+               {
+                  if (binding.getMethod() == null)
+                  {
+                     if (binding.isTotalOrdering())
+                     {
+                        classInterceptorOrderMetaData.add(binding);
+                     }
+                     else
+                     {
+                        classInterceptorBindingMetaData.add(binding);
+                     }
+                  }
+                  else
+                  {
+                     if (binding.isTotalOrdering())
+                     {
+                        methodInterceptorOrderMetaData.add(binding);
+                     }
+                     else
+                     {
+                        methodInterceptorBindingMetaData.add(binding);
+                     }
+                  }
+               }
             }
-            if(!interceptors.isEmpty())
-               return annotationClass.cast(new DefaultInterceptorsImpl(interceptors));
          }
       }
-      else if(annotationClass == InterceptorOrder.class)
+      catch (NullPointerException e)
       {
-         InterceptorBindingsMetaData bindings = beanMetaData.getEjbJarMetaData().getAssemblyDescriptor().getInterceptorBindings();
-         if(bindings != null)
+         if (beanMetaData == null)
          {
-            InterceptorOrderImpl interceptorOrder = new InterceptorOrderImpl();
-            for(InterceptorBindingMetaData binding : bindings)
+            throw new IllegalStateException("Null beannMetaData", e);
+         }
+         else if (beanMetaData.getEjbJarMetaData() == null)
+         {
+            throw new IllegalStateException("Null ejbJarMetaData", e);
+         }
+         else if (beanMetaData.getEjbJarMetaData().getAssemblyDescriptor() == null)
+         {
+            throw new IllegalStateException("Null AssemblyDescriptor", e);
+         }
+         throw e;
+      }
+   }
+
+   
+   private void initialiseDefaultInterceptors(List<InterceptorBindingMetaData> bindings)
+   {
+      if (bindings != null && bindings.size() > 0)
+      {
+         List<Class<?>> classes = new ArrayList<Class<?>>();
+         for (InterceptorBindingMetaData binding : bindings)
+         {
+            add(classes, classLoader, binding);
+         }
+         if(!classes.isEmpty())
+            defaultInterceptors = new DefaultInterceptorsImpl(classes);
+      }
+   }
+   
+   private void initialiseInterceptors(List<InterceptorBindingMetaData> bindings)
+   {
+      if (bindings != null && bindings.size() > 0)
+      {
+         InterceptorsImpl interceptors = new InterceptorsImpl();
+         for (InterceptorBindingMetaData binding : bindings)
+         {
+            add(interceptors, classLoader, binding);
+         }
+         if(!interceptors.isEmpty())
+            this.interceptors = interceptors;
+      }
+   }
+   
+   private void initialiseInterceptorOrder(List<InterceptorBindingMetaData> bindings)
+   {
+      if (bindings != null && bindings.size() > 0)
+      {
+         InterceptorOrderImpl interceptors = new InterceptorOrderImpl();
+         for (InterceptorBindingMetaData binding : bindings)
+         {
+            add(interceptors, classLoader, binding);
+         }
+         if(!interceptors.isEmpty())
+            this.interceptorOrder = interceptors;
+      }
+   }
+
+   private void initialiseMethodInterceptors(Map<String, List<Method>> methodMap, MethodSignatures methodSignatures, List<InterceptorBindingMetaData> bindings)
+   {
+      if (bindings != null && bindings.size() > 0)
+      {
+         this.methodInterceptors = new HashMap<Signature, Interceptors>();
+         for (InterceptorBindingMetaData binding : bindings)
+         {
+            NamedMethodMetaData method = binding.getMethod();
+
+            // TODO: this is weird, it should have been caught earlier (invalid xml)
+            if(method.getMethodName() == null)
+               continue;
+            
+            List<Method> methods = methodMap.get(method.getMethodName());
+            for (Method refMethod : methods)
             {
-               // Only for specifying order
-               if(!binding.isTotalOrdering())
-                  continue;
-               
-               // For the method component
-               if(binding.getMethod() != null)
-                  continue;
-               
-               String ejbName = beanMetaData.getEjbName();
-               String bindingEjbName = binding.getEjbName();
-               if(bindingEjbName.equals(ejbName))
-                  add(interceptorOrder, classLoader, binding);
+               Signature signature = methodSignatures.getSignature(refMethod);
+               if (matchesMethod(signature, refMethod, method))
+               {
+                  InterceptorsImpl interceptors = (InterceptorsImpl)methodInterceptors.get(signature);
+                  if (interceptors == null)
+                  {
+                     interceptors = new InterceptorsImpl();
+                     methodInterceptors.put(signature, interceptors);
+                  }
+                  add(interceptors, classLoader, binding);
+               }
             }
-            if(!interceptorOrder.isEmpty())
-               return annotationClass.cast(interceptorOrder);
          }
       }
-      else if(annotationClass == Interceptors.class)
+   }
+   
+   private void initialiseMethodInterceptorOrders(Map<String, List<Method>> methodMap, MethodSignatures methodSignatures, List<InterceptorBindingMetaData> bindings)
+   {
+      if (bindings != null && bindings.size() > 0)
       {
-         InterceptorBindingsMetaData bindings = beanMetaData.getEjbJarMetaData().getAssemblyDescriptor().getInterceptorBindings();
-         if(bindings != null)
+         this.methodInterceptorOrders = new HashMap<Signature, InterceptorOrder>();
+         for (InterceptorBindingMetaData binding : bindings)
          {
-            InterceptorsImpl interceptors = new InterceptorsImpl();
-            for(InterceptorBindingMetaData binding : bindings)
+            NamedMethodMetaData method = binding.getMethod();
+
+            // TODO: this is weird, it should have been caught earlier (invalid xml)
+            if(method.getMethodName() == null)
+               continue;
+            
+            List<Method> methods = methodMap.get(method.getMethodName());
+            for (Method refMethod : methods)
             {
-               // Only for specifying order
-               if(binding.isTotalOrdering())
-                  continue;
-               
-               // For the method component
-               if(binding.getMethod() != null)
-                  continue;
-               
-               String ejbName = beanMetaData.getEjbName();
-               String bindingEjbName = binding.getEjbName();
-               if(bindingEjbName.equals(ejbName))
+               Signature signature = methodSignatures.getSignature(refMethod);
+               if (matchesMethod(signature, refMethod, method))
+               {
+                  InterceptorOrderImpl interceptors = (InterceptorOrderImpl)methodInterceptors.get(signature);
+                  if (interceptors == null)
+                  {
+                     interceptors = new InterceptorOrderImpl();
+                     methodInterceptorOrders.put(signature, interceptors);
+                  }
                   add(interceptors, classLoader, binding);
+               }
             }
-            if(!interceptors.isEmpty())
-               return annotationClass.cast(interceptors);
          }
       }
-      return super.retrieveAnnotation(annotationClass, beanMetaData, classLoader);
    }
-
-   @Override
-   public <A extends Annotation> A retrieveAnnotation(Class<A> annotationClass, JBossEnterpriseBeanMetaData beanMetaData, ClassLoader classLoader, String methodName, String... parameterNames)
+   
+   private boolean matchesMethod(Signature sig, Method refMethod, NamedMethodMetaData method)
    {
-      if(annotationClass == AroundInvoke.class)
+      assert refMethod.getName().equals(method.getMethodName());
+      MethodParametersMetaData methodParams = method.getMethodParams();
+      if(methodParams == null)
       {
-         AroundInvokesMetaData aroundInvokes = null;
-//         if(beanMetaData instanceof JBossGenericBeanMetaData)
-//            aroundInvokes = ((JBossGenericBeanMetaData) beanMetaData).getAroundInvokes();
-         if(beanMetaData instanceof JBossMessageDrivenBeanMetaData)
-            aroundInvokes = ((JBossMessageDrivenBeanMetaData) beanMetaData).getAroundInvokes();
-         else if(beanMetaData instanceof JBossSessionBeanMetaData)
-            aroundInvokes = ((JBossSessionBeanMetaData) beanMetaData).getAroundInvokes();
-         if(aroundInvokes != null)
+         return true;
+      }
+      else
+      {
+         if(Arrays.equals(methodParams.toArray(), sig.getParameters()))
          {
-            Annotation annotation = getAroundInvokeAnnotation(aroundInvokes, methodName);
-            if(annotation != null)
-               return annotationClass.cast(annotation);
+            return true;
          }
       }
-      else if(annotationClass == InterceptorOrder.class)
+      
+      return false;      
+   }
+
+   private void initialiseAroundInvoke(Map<String, List<Method>> methodMap)
+   {
+      AroundInvokesMetaData aroundInvokes = null;
+//    if(beanMetaData instanceof JBossGenericBeanMetaData)
+//       aroundInvokes = ((JBossGenericBeanMetaData) beanMetaData).getAroundInvokes();
+      if(beanMetaData instanceof JBossMessageDrivenBeanMetaData)
+         aroundInvokes = ((JBossMessageDrivenBeanMetaData) beanMetaData).getAroundInvokes();
+      else if(beanMetaData instanceof JBossSessionBeanMetaData)
+         aroundInvokes = ((JBossSessionBeanMetaData) beanMetaData).getAroundInvokes();
+      if(aroundInvokes != null)
       {
-         InterceptorBindingsMetaData bindings = beanMetaData.getEjbJarMetaData().getAssemblyDescriptor().getInterceptorBindings();
-         if(bindings != null)
+         for (String methodName : methodMap.keySet())
          {
-            InterceptorOrderImpl interceptorOrder = new InterceptorOrderImpl();
-            for(InterceptorBindingMetaData binding : bindings)
+            AroundInvoke aroundInvoke = getAroundInvokeAnnotation(aroundInvokes, methodName);
+            if(aroundInvoke != null)
             {
-               // Only for specifying order
-               if(!binding.isTotalOrdering())
-                  continue;
-               
-               // For the bean
-               if(binding.getMethod() == null)
-                  continue;
-               
-               NamedMethodMetaData method = binding.getMethod();
-               
-               // TODO: this is weird, it should have been caught earlier (invalid xml)
-               if(method.getMethodName() == null)
-                  continue;
-               
-               if(method.getMethodName().equals(methodName))
+               if (this.aroundInvokes == null)
                {
-                  MethodParametersMetaData methodParams = method.getMethodParams();
-                  if(methodParams == null)
-                     add(interceptorOrder, classLoader, binding);
-                  else
-                  {
-                     if(Arrays.equals(methodParams.toArray(), parameterNames))
-                        add(interceptorOrder, classLoader, binding);
-                  }
+                  this.aroundInvokes = new HashMap<String, AroundInvoke>();
                }
+               this.aroundInvokes.put(methodName, aroundInvoke);
             }
-            if(!interceptorOrder.isEmpty())
-               return annotationClass.cast(interceptorOrder);
          }
       }
-      else if(annotationClass == Interceptors.class)
+   }
+   
+   private void initialiseLifecycleAnnotations(Map<String, List<Method>> methodMap)
+   {
+      if(beanMetaData instanceof JBossSessionBeanMetaData)
       {
-         InterceptorBindingsMetaData bindings = beanMetaData.getEjbJarMetaData().getAssemblyDescriptor().getInterceptorBindings();
-         if(bindings != null)
+         for (String methodName : methodMap.keySet())
          {
-            InterceptorsImpl interceptors = new InterceptorsImpl();
-            for(InterceptorBindingMetaData binding : bindings)
+            
+            PostConstruct postConstruct = getLifeCycleAnnotation(((JBossSessionBeanMetaData) beanMetaData).getPostConstructs(), PostConstructImpl.class, methodName);
+            if (postConstruct != null)
             {
-               // Only for specifying order
-               if(binding.isTotalOrdering())
-                  continue;
-               
-               // For the bean
-               if(binding.getMethod() == null)
-                  continue;
-               
-               NamedMethodMetaData method = binding.getMethod();
-               
-               // TODO: this is weird, it should have been caught earlier (invalid xml)
-               if(method.getMethodName() == null)
-                  continue;
-               
-               if(method.getMethodName().equals(methodName))
+               if (postConstructs == null)
                {
-                  MethodParametersMetaData methodParams = method.getMethodParams();
-                  if(methodParams == null)
-                     add(interceptors, classLoader, binding);
-                  else
-                  {
-                     if(Arrays.equals(methodParams.toArray(), parameterNames))
-                        add(interceptors, classLoader, binding);
-                  }
+                  postConstructs = new HashMap<String, PostConstruct>();
                }
+               postConstructs.put(methodName, postConstruct);
             }
-            if(!interceptors.isEmpty())
-               return annotationClass.cast(interceptors);
+            PostActivate postActivate = getLifeCycleAnnotation(((JBossSessionBeanMetaData) beanMetaData).getPostActivates(), PostActivateImpl.class, methodName);
+            if(postActivate != null)
+            {
+               if (postActivates == null)
+               {
+                  postActivates = new HashMap<String, PostActivate>();
+               }
+               postActivates.put(methodName, postActivate);
+            }
+            PrePassivate prePassivate = getLifeCycleAnnotation(((JBossSessionBeanMetaData) beanMetaData).getPrePassivates(), PrePassivateImpl.class, methodName);
+            if(prePassivate != null)
+            {
+               if (prePassivates == null)
+               {
+                  prePassivates = new HashMap<String, PrePassivate>();
+               }
+               prePassivates.put(methodName, prePassivate);
+            }
+            PreDestroy preDestroy = getLifeCycleAnnotation(((JBossSessionBeanMetaData) beanMetaData).getPreDestroys(), PreDestroyImpl.class, methodName);
+            if(preDestroy != null)
+            {
+               if (preDestroys == null)
+               {
+                  preDestroys = new HashMap<String, PreDestroy>();
+               }
+               preDestroys.put(methodName, preDestroy);
+            }
          }
       }
+   }
+
+   @Override
+   public <A extends Annotation> A retrieveAnnotation(Class<A> annotationClass, JBossEnterpriseBeanMetaData beanMetaData, ClassLoader classLoader)
+   {
+      if(annotationClass == DefaultInterceptors.class)
+      {
+         return annotationClass.cast(defaultInterceptors);
+      }
+      else if(annotationClass == InterceptorOrder.class)
+      {
+         return annotationClass.cast(interceptorOrder);
+      }
+      else if(annotationClass == Interceptors.class)
+      {
+         return annotationClass.cast(interceptors);
+      }
+      return super.retrieveAnnotation(annotationClass, beanMetaData, classLoader);
+   }
+
+   @Override
+   public <A extends Annotation> A retrieveAnnotation(Class<A> annotationClass, JBossEnterpriseBeanMetaData beanMetaData, ClassLoader classLoader, String methodName, String... parameterNames)
+   {
+      if(annotationClass == AroundInvoke.class)
+      {
+         if (parameterNames.length == 1 && parameterNames[0].equals(InvocationContext.class.getName()) && aroundInvokes != null)
+         {
+            return annotationClass.cast(aroundInvokes.get(methodName));
+         }
+         return null;
+      }
+      else if(annotationClass == InterceptorOrder.class)
+      {
+         MethodSignature signature = new MethodSignature(methodName, parameterNames);
+         if (methodInterceptorOrders == null)
+         {
+            return null;
+         }
+         return annotationClass.cast(methodInterceptorOrders.get(signature));
+      }
+      else if(annotationClass == Interceptors.class)
+      {
+         MethodSignature signature = new MethodSignature(methodName, parameterNames);
+         if (methodInterceptors == null)
+         {
+            return null;
+         }
+         return annotationClass.cast(methodInterceptors.get(signature));
+      }
       else if(annotationClass == PostActivate.class)
       {
-         if(beanMetaData instanceof JBossSessionBeanMetaData)
+         if(beanMetaData instanceof JBossSessionBeanMetaData && parameterNames.length == 0 && postActivates != null) 
          {
-            PostActivate lifeCycleAnnotation = getLifeCycleAnnotation(((JBossSessionBeanMetaData) beanMetaData).getPostActivates(), PostActivateImpl.class, methodName);
-            if(lifeCycleAnnotation != null)
-               return annotationClass.cast(lifeCycleAnnotation);
+            return annotationClass.cast(postActivates.get(methodName));
          }
       }
       else if(annotationClass == PostConstruct.class)
       {
-         if(beanMetaData instanceof JBossSessionBeanMetaData)
+         if(beanMetaData instanceof JBossSessionBeanMetaData && parameterNames.length == 0 && postConstructs != null) 
          {
-            PostConstruct lifeCycleAnnotation = getLifeCycleAnnotation(((JBossSessionBeanMetaData) beanMetaData).getPostConstructs(), PostConstructImpl.class, methodName);
-            if(lifeCycleAnnotation != null)
-               return annotationClass.cast(lifeCycleAnnotation);
+            return annotationClass.cast(postConstructs.get(methodName));
          }
       }
       else if(annotationClass == PreDestroy.class)
       {
-         if(beanMetaData instanceof JBossSessionBeanMetaData)
+         if(beanMetaData instanceof JBossSessionBeanMetaData && parameterNames.length == 0 && preDestroys != null) 
          {
-            PreDestroy lifeCycleAnnotation = getLifeCycleAnnotation(((JBossSessionBeanMetaData) beanMetaData).getPreDestroys(), PreDestroyImpl.class, methodName);
-            if(lifeCycleAnnotation != null)
-               return annotationClass.cast(lifeCycleAnnotation);
+            return annotationClass.cast(preDestroys.get(methodName));
          }
       }
       else if(annotationClass == PrePassivate.class)
       {
-         if(beanMetaData instanceof JBossSessionBeanMetaData)
+         if(beanMetaData instanceof JBossSessionBeanMetaData && parameterNames.length == 0 && prePassivates != null) 
          {
-            PrePassivate lifeCycleAnnotation = getLifeCycleAnnotation(((JBossSessionBeanMetaData) beanMetaData).getPrePassivates(), PrePassivateImpl.class, methodName);
-            if(lifeCycleAnnotation != null)
-               return annotationClass.cast(lifeCycleAnnotation);
+            return annotationClass.cast(prePassivates.get(methodName));
          }
       }
       return super.retrieveAnnotation(annotationClass, beanMetaData, classLoader, methodName, parameterNames);
    }
+   
+   private void checkBeanExistsInDeployment(JBossEnterpriseBeanMetaData beanMetaData, String ejbName)
+   {
+      if (ejbName.equals("*"))
+      {
+         return;
+      }
+      
+      JBossEnterpriseBeansMetaData beansMetaData = beanMetaData.getEnterpriseBeansMetaData();
+      if (beansMetaData.get(ejbName) == null)
+      {
+         throw new IllegalArgumentException("No bean with name specified in interceptor-binding: " + ejbName);
+      }
+   }
+   
+   private static class MethodSignatures
+   {
+      Map<Method, Signature> methodSignatures = new HashMap<Method, Signature>();
+      
+      Signature getSignature(Method m)
+      {
+         Signature s = methodSignatures.get(m);
+         if (s == null)
+         {
+            s = new MethodSignature(m);
+            methodSignatures.put(m, s);
+         }
+         return s;
+      }
+   }
 }

Modified: projects/ejb3/dev/ejbthree1269/interceptors/src/test/java/org/jboss/ejb3/test/interceptors/additive/unit/AdditiveTestCase.java
===================================================================
--- projects/ejb3/dev/ejbthree1269/interceptors/src/test/java/org/jboss/ejb3/test/interceptors/additive/unit/AdditiveTestCase.java	2008-04-18 16:36:56 UTC (rev 72450)
+++ projects/ejb3/dev/ejbthree1269/interceptors/src/test/java/org/jboss/ejb3/test/interceptors/additive/unit/AdditiveTestCase.java	2008-04-18 17:47:17 UTC (rev 72451)
@@ -80,7 +80,7 @@
          List<MetaDataBridge<InterceptorMetaData>> interceptorBridges = new ArrayList<MetaDataBridge<InterceptorMetaData>>();
          interceptorBridges.add(new InterceptorMetaDataBridge());
          annotations.addComponentMetaDataLoaderFactory(new InterceptorComponentMetaDataLoaderFactory(interceptorBridges));
-         annotations.addMetaDataBridge(new AdditiveBeanInterceptorMetaDataBridge(beanClass));
+         annotations.addMetaDataBridge(new AdditiveBeanInterceptorMetaDataBridge(beanClass, classLoader, beanMetaData));
          
          initializeAdvisor(name, getDomain(domainName), beanClass, annotations);
       }

Copied: projects/ejb3/dev/ejbthree1269/interceptors/src/test/java/org/jboss/ejb3/test/interceptors/badbinding (from rev 72450, projects/ejb3/trunk/interceptors/src/test/java/org/jboss/ejb3/test/interceptors/badbinding)

Deleted: projects/ejb3/dev/ejbthree1269/interceptors/src/test/java/org/jboss/ejb3/test/interceptors/badbinding/InterceptorOrderBean.java
===================================================================
--- projects/ejb3/trunk/interceptors/src/test/java/org/jboss/ejb3/test/interceptors/badbinding/InterceptorOrderBean.java	2008-04-18 16:36:56 UTC (rev 72450)
+++ projects/ejb3/dev/ejbthree1269/interceptors/src/test/java/org/jboss/ejb3/test/interceptors/badbinding/InterceptorOrderBean.java	2008-04-18 17:47:17 UTC (rev 72451)
@@ -1,43 +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.
- */
-package org.jboss.ejb3.test.interceptors.badbinding;
-
-import org.jboss.ejb3.interceptors.ManagedObject;
-import org.jboss.logging.Logger;
-
-/**
- * This one has an interceptor bound to it via an interceptor order.
- * 
- * @author <a href="mailto:carlo.dewolf at jboss.com">Carlo de Wolf</a>
- * @version $Revision: $
- */
- at ManagedObject
-public class InterceptorOrderBean
-{
-   private static final Logger log = Logger.getLogger(InterceptorOrderBean.class);
-   
-   public String sayHi(String name)
-   {
-      log.debug("sayHi");
-      return "Hi " + name;
-   }   
-}

Copied: projects/ejb3/dev/ejbthree1269/interceptors/src/test/java/org/jboss/ejb3/test/interceptors/badbinding/InterceptorOrderBean.java (from rev 72450, projects/ejb3/trunk/interceptors/src/test/java/org/jboss/ejb3/test/interceptors/badbinding/InterceptorOrderBean.java)
===================================================================
--- projects/ejb3/dev/ejbthree1269/interceptors/src/test/java/org/jboss/ejb3/test/interceptors/badbinding/InterceptorOrderBean.java	                        (rev 0)
+++ projects/ejb3/dev/ejbthree1269/interceptors/src/test/java/org/jboss/ejb3/test/interceptors/badbinding/InterceptorOrderBean.java	2008-04-18 17:47:17 UTC (rev 72451)
@@ -0,0 +1,43 @@
+/*
+ * 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.
+ */
+package org.jboss.ejb3.test.interceptors.badbinding;
+
+import org.jboss.ejb3.interceptors.ManagedObject;
+import org.jboss.logging.Logger;
+
+/**
+ * This one has an interceptor bound to it via an interceptor order.
+ * 
+ * @author <a href="mailto:carlo.dewolf at jboss.com">Carlo de Wolf</a>
+ * @version $Revision: $
+ */
+ at ManagedObject
+public class InterceptorOrderBean
+{
+   private static final Logger log = Logger.getLogger(InterceptorOrderBean.class);
+   
+   public String sayHi(String name)
+   {
+      log.debug("sayHi");
+      return "Hi " + name;
+   }   
+}

Deleted: projects/ejb3/dev/ejbthree1269/interceptors/src/test/java/org/jboss/ejb3/test/interceptors/badbinding/MetadataBean.java
===================================================================
--- projects/ejb3/trunk/interceptors/src/test/java/org/jboss/ejb3/test/interceptors/badbinding/MetadataBean.java	2008-04-18 16:36:56 UTC (rev 72450)
+++ projects/ejb3/dev/ejbthree1269/interceptors/src/test/java/org/jboss/ejb3/test/interceptors/badbinding/MetadataBean.java	2008-04-18 17:47:17 UTC (rev 72451)
@@ -1,63 +0,0 @@
-/*
- * JBoss, Home of Professional Open Source.
- * Copyright 2007, 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.ejb3.test.interceptors.badbinding;
-
-import javax.interceptor.InvocationContext;
-
-import org.jboss.ejb3.interceptors.ManagedObject;
-import org.jboss.logging.Logger;
-
-/**
- * All interceptors defined in metadata.
- *
- * @author <a href="mailto:carlo.dewolf at jboss.com">Carlo de Wolf</a>
- * @version $Revision: 68939 $
- */
- at ManagedObject
-public class MetadataBean
-{
-   private static final Logger log = Logger.getLogger(MetadataBean.class);
-
-   public static int constructors = 0, aroundInvokes = 0;
-   
-   Object aroundInvoke(InvocationContext ctx) throws Exception
-   {
-      log.debug("aroundInvoke " + ctx);
-      if(ctx.getTarget() != this)
-         throw new IllegalStateException("target is not this");
-      if(ctx.getMethod().getDeclaringClass() != getClass())
-         throw new IllegalStateException("method " + ctx.getMethod() + " not of this class (" + ctx.getMethod().getDeclaringClass() + " != " +  getClass() + ")");
-      aroundInvokes++;
-      return ctx.proceed();
-   }
-   
-   public String sayHi(String name)
-   {
-      log.debug("sayHi");
-      return "Hi " + name;
-   }
-   
-   public void intercept()
-   {
-      log.debug("intercept");
-   }
-}

Copied: projects/ejb3/dev/ejbthree1269/interceptors/src/test/java/org/jboss/ejb3/test/interceptors/badbinding/MetadataBean.java (from rev 72450, projects/ejb3/trunk/interceptors/src/test/java/org/jboss/ejb3/test/interceptors/badbinding/MetadataBean.java)
===================================================================
--- projects/ejb3/dev/ejbthree1269/interceptors/src/test/java/org/jboss/ejb3/test/interceptors/badbinding/MetadataBean.java	                        (rev 0)
+++ projects/ejb3/dev/ejbthree1269/interceptors/src/test/java/org/jboss/ejb3/test/interceptors/badbinding/MetadataBean.java	2008-04-18 17:47:17 UTC (rev 72451)
@@ -0,0 +1,63 @@
+/*
+ * JBoss, Home of Professional Open Source.
+ * Copyright 2007, 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.ejb3.test.interceptors.badbinding;
+
+import javax.interceptor.InvocationContext;
+
+import org.jboss.ejb3.interceptors.ManagedObject;
+import org.jboss.logging.Logger;
+
+/**
+ * All interceptors defined in metadata.
+ *
+ * @author <a href="mailto:carlo.dewolf at jboss.com">Carlo de Wolf</a>
+ * @version $Revision: 68939 $
+ */
+ at ManagedObject
+public class MetadataBean
+{
+   private static final Logger log = Logger.getLogger(MetadataBean.class);
+
+   public static int constructors = 0, aroundInvokes = 0;
+   
+   Object aroundInvoke(InvocationContext ctx) throws Exception
+   {
+      log.debug("aroundInvoke " + ctx);
+      if(ctx.getTarget() != this)
+         throw new IllegalStateException("target is not this");
+      if(ctx.getMethod().getDeclaringClass() != getClass())
+         throw new IllegalStateException("method " + ctx.getMethod() + " not of this class (" + ctx.getMethod().getDeclaringClass() + " != " +  getClass() + ")");
+      aroundInvokes++;
+      return ctx.proceed();
+   }
+   
+   public String sayHi(String name)
+   {
+      log.debug("sayHi");
+      return "Hi " + name;
+   }
+   
+   public void intercept()
+   {
+      log.debug("intercept");
+   }
+}

Copied: projects/ejb3/dev/ejbthree1269/interceptors/src/test/java/org/jboss/ejb3/test/interceptors/badbinding/unit (from rev 72450, projects/ejb3/trunk/interceptors/src/test/java/org/jboss/ejb3/test/interceptors/badbinding/unit)

Deleted: projects/ejb3/dev/ejbthree1269/interceptors/src/test/java/org/jboss/ejb3/test/interceptors/badbinding/unit/BadBindingTestCase.java
===================================================================
--- projects/ejb3/trunk/interceptors/src/test/java/org/jboss/ejb3/test/interceptors/badbinding/unit/BadBindingTestCase.java	2008-04-18 16:36:56 UTC (rev 72450)
+++ projects/ejb3/dev/ejbthree1269/interceptors/src/test/java/org/jboss/ejb3/test/interceptors/badbinding/unit/BadBindingTestCase.java	2008-04-18 17:47:17 UTC (rev 72451)
@@ -1,234 +0,0 @@
-/*
- * JBoss, Home of Professional Open Source.
- * Copyright 2007, 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.ejb3.test.interceptors.badbinding.unit;
-
-import java.net.URL;
-import java.util.ArrayList;
-import java.util.List;
-
-import junit.framework.TestCase;
-
-import org.jboss.aspects.common.AOPDeployer;
-import org.jboss.ejb3.interceptors.direct.AbstractDirectContainer;
-import org.jboss.ejb3.interceptors.metadata.BeanInterceptorMetaDataBridge;
-import org.jboss.ejb3.interceptors.metadata.InterceptorComponentMetaDataLoaderFactory;
-import org.jboss.ejb3.interceptors.metadata.InterceptorMetaDataBridge;
-import org.jboss.ejb3.metadata.MetaDataBridge;
-import org.jboss.ejb3.metadata.annotation.AnnotationRepositoryToMetaData;
-import org.jboss.ejb3.test.interceptors.common.CommonInterceptor;
-import org.jboss.ejb3.test.interceptors.metadata.MetadataBean;
-import org.jboss.logging.Logger;
-import org.jboss.metadata.ejb.jboss.JBoss50MetaData;
-import org.jboss.metadata.ejb.jboss.JBossEnterpriseBeanMetaData;
-import org.jboss.metadata.ejb.spec.EjbJar30MetaData;
-import org.jboss.metadata.ejb.spec.InterceptorMetaData;
-import org.jboss.xb.binding.Unmarshaller;
-import org.jboss.xb.binding.UnmarshallerFactory;
-import org.jboss.xb.binding.sunday.unmarshalling.SchemaBinding;
-import org.jboss.xb.binding.sunday.unmarshalling.SchemaBindingResolver;
-import org.jboss.xb.builder.JBossXBBuilder;
-import org.w3c.dom.ls.LSInput;
-
-/**
- * Test direct container advisement in combination with metadata.
- * 
- * There is no special class loader needed, because all invocations
- * are routed through the direct container.
- * 
- * @author <a href="mailto:carlo.dewolf at jboss.com">Carlo de Wolf</a>
- * @version $Revision: 72166 $
- */
-public class BadBindingTestCase extends TestCase
-{
-   private static final Logger log = Logger.getLogger(BadBindingTestCase.class);
-   
-   private class MyContainer<T> extends AbstractDirectContainer<T, MyContainer<T>>
-   {
-      public MyContainer(String name, String domainName, Class<? extends T> beanClass, JBossEnterpriseBeanMetaData beanMetaData)
-      {
-         super();
-         
-         ClassLoader classLoader = Thread.currentThread().getContextClassLoader();
-         AnnotationRepositoryToMetaData annotations = new AnnotationRepositoryToMetaData(beanClass, beanMetaData, name, classLoader);
-         List<MetaDataBridge<InterceptorMetaData>> interceptorBridges = new ArrayList<MetaDataBridge<InterceptorMetaData>>();
-         interceptorBridges.add(new InterceptorMetaDataBridge());
-         annotations.addComponentMetaDataLoaderFactory(new InterceptorComponentMetaDataLoaderFactory(interceptorBridges));
-         annotations.addMetaDataBridge(new BeanInterceptorMetaDataBridge(beanClass, classLoader, beanMetaData));
-         
-         initializeAdvisor(name, getDomain(domainName), beanClass, annotations);
-      }
-
-      public void testAdvisor()
-      {
-         MyContainer<?> container = getAdvisor().getContainer();
-         assertNotNull("container not set in managed object advisor", container);
-         assertTrue(container == this);
-      }
-   }
-   
-   protected static SchemaBindingResolver schemaResolverForClass(final Class<?> root)
-   {
-      return new SchemaBindingResolver()
-      {
-         public String getBaseURI()
-         {
-            return null;
-         }
-
-         public SchemaBinding resolve(String nsUri, String baseURI, String schemaLocation)
-         {
-            return JBossXBBuilder.build(root);
-         }
-
-         public LSInput resolveAsLSInput(String nsUri, String baseUri, String schemaLocation)
-         {
-            return null;
-         }
-
-         public void setBaseURI(String baseURI)
-         {
-         }
-      };
-   }
-
-   // FIXME: use the right jboss-aop.xml
-   AOPDeployer deployer = new AOPDeployer("proxy/jboss-aop.xml");
-   
-   @Override
-   protected void setUp() throws Exception
-   {
-      log.info(deployer.deploy());
-      CommonInterceptor.aroundInvokes = 0;
-      CommonInterceptor.postConstructs = 0;
-      CommonInterceptor.preDestroys = 0;
-   }
-
-   @Override
-   protected void tearDown() throws Exception
-   {
-      log.info(deployer.undeploy());
-   }
-   
-   public void testBadBeanInterceptorBinding() throws Throwable
-   {
-      try
-      {
-         testBinding("badbinding/badbean-interceptor-binding/META-INF/ejb-jar.xml");
-         fail("Should not have been able to create container since we have an interceptor-binding with the wrong name");
-      }
-      catch(Exception expected)
-      {
-      }
-   }
-
-   public void testDefaultInterceptorBinding() throws Throwable
-   {
-      testBinding("badbinding/default-interceptor-binding/META-INF/ejb-jar.xml");
-   }
-   
-   public void testGoodBeanInterceptorBinding() throws Throwable
-   {
-      testBinding("badbinding/goodbean-interceptor-binding/META-INF/ejb-jar.xml");
-   }
-
-   public void testBadBeanInterceptorOrderBinding() throws Throwable
-   {
-      try
-      {
-         testBinding("badbinding/badbean-interceptor-order-binding/META-INF/ejb-jar.xml");
-         fail("Should not have been able to create container since we have an interceptor-binding with the wrong name");
-      }
-      catch(Exception expected)
-      {
-      }
-   }
-
-   public void testDefaultInterceptorOrderBinding() throws Throwable
-   {
-      testBinding("badbinding/default-interceptor-order-binding/META-INF/ejb-jar.xml");
-   }
-
-   
-   public void testGoodBeanInterceptorOrderBinding() throws Throwable
-   {
-      testBinding("badbinding/goodbean-interceptor-order-binding/META-INF/ejb-jar.xml");
-   }
-
-   public void testBadBeanInterceptorBindingWithMethod() throws Throwable
-   {
-      try
-      {
-         testBinding("badbinding/badbean-interceptor-binding-with-method/META-INF/ejb-jar.xml");
-         fail("Should not have been able to create container since we have an interceptor-binding with the wrong name");
-      }
-      catch(Exception expected)
-      {
-      }
-   }
-
-   public void testGoodBeanInterceptorBindingWithMethod() throws Throwable
-   {
-      testBinding("badbinding/goodbean-interceptor-binding-with-method/META-INF/ejb-jar.xml");
-   }
-
-   public void testBadBeanInterceptorOrderBindingWithMethod() throws Throwable
-   {
-      try
-      {
-         testBinding("badbinding/badbean-interceptor-order-binding-with-method/META-INF/ejb-jar.xml");
-         fail("Should not have been able to create container since we have an interceptor-binding with the wrong name");
-      }
-      catch(Exception expected)
-      {
-      }
-   }
-
-   public void testGoodBeanInterceptorOrderBindingWithMethod() throws Throwable
-   {
-      testBinding("badbinding/goodbean-interceptor-order-binding-with-method/META-INF/ejb-jar.xml");
-   }
-
-   private MyContainer<MetadataBean> testBinding(String ejbJarXml) throws Throwable
-   {
-      // To make surefire happy
-      Thread.currentThread().setContextClassLoader(MetadataBean.class.getClassLoader());
-      
-      // Bootstrap metadata
-      UnmarshallerFactory unmarshallerFactory = UnmarshallerFactory.newInstance();
-      Unmarshaller unmarshaller = unmarshallerFactory.newUnmarshaller();
-      URL url = Thread.currentThread().getContextClassLoader().getResource(ejbJarXml);
-      EjbJar30MetaData metaData = (EjbJar30MetaData) unmarshaller.unmarshal(url.toString(), schemaResolverForClass(EjbJar30MetaData.class));
-      JBoss50MetaData jbossMetaData = new JBoss50MetaData();
-      jbossMetaData.merge(null, metaData);
-      
-      JBossEnterpriseBeanMetaData beanMetaData = jbossMetaData.getEnterpriseBean("MetadataBean");
-      assertNotNull(beanMetaData);
-      
-      assertEquals(0, CommonInterceptor.postConstructs);
-      
-      MyContainer<MetadataBean> container = new MyContainer<MetadataBean>("MetadataBean", "Test", MetadataBean.class, beanMetaData);
-
-      container.testAdvisor();
-      
-      return container;
-   }
-}

Copied: projects/ejb3/dev/ejbthree1269/interceptors/src/test/java/org/jboss/ejb3/test/interceptors/badbinding/unit/BadBindingTestCase.java (from rev 72450, projects/ejb3/trunk/interceptors/src/test/java/org/jboss/ejb3/test/interceptors/badbinding/unit/BadBindingTestCase.java)
===================================================================
--- projects/ejb3/dev/ejbthree1269/interceptors/src/test/java/org/jboss/ejb3/test/interceptors/badbinding/unit/BadBindingTestCase.java	                        (rev 0)
+++ projects/ejb3/dev/ejbthree1269/interceptors/src/test/java/org/jboss/ejb3/test/interceptors/badbinding/unit/BadBindingTestCase.java	2008-04-18 17:47:17 UTC (rev 72451)
@@ -0,0 +1,234 @@
+/*
+ * JBoss, Home of Professional Open Source.
+ * Copyright 2007, 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.ejb3.test.interceptors.badbinding.unit;
+
+import java.net.URL;
+import java.util.ArrayList;
+import java.util.List;
+
+import junit.framework.TestCase;
+
+import org.jboss.aspects.common.AOPDeployer;
+import org.jboss.ejb3.interceptors.direct.AbstractDirectContainer;
+import org.jboss.ejb3.interceptors.metadata.BeanInterceptorMetaDataBridge;
+import org.jboss.ejb3.interceptors.metadata.InterceptorComponentMetaDataLoaderFactory;
+import org.jboss.ejb3.interceptors.metadata.InterceptorMetaDataBridge;
+import org.jboss.ejb3.metadata.MetaDataBridge;
+import org.jboss.ejb3.metadata.annotation.AnnotationRepositoryToMetaData;
+import org.jboss.ejb3.test.interceptors.common.CommonInterceptor;
+import org.jboss.ejb3.test.interceptors.metadata.MetadataBean;
+import org.jboss.logging.Logger;
+import org.jboss.metadata.ejb.jboss.JBoss50MetaData;
+import org.jboss.metadata.ejb.jboss.JBossEnterpriseBeanMetaData;
+import org.jboss.metadata.ejb.spec.EjbJar30MetaData;
+import org.jboss.metadata.ejb.spec.InterceptorMetaData;
+import org.jboss.xb.binding.Unmarshaller;
+import org.jboss.xb.binding.UnmarshallerFactory;
+import org.jboss.xb.binding.sunday.unmarshalling.SchemaBinding;
+import org.jboss.xb.binding.sunday.unmarshalling.SchemaBindingResolver;
+import org.jboss.xb.builder.JBossXBBuilder;
+import org.w3c.dom.ls.LSInput;
+
+/**
+ * Test direct container advisement in combination with metadata.
+ * 
+ * There is no special class loader needed, because all invocations
+ * are routed through the direct container.
+ * 
+ * @author <a href="mailto:carlo.dewolf at jboss.com">Carlo de Wolf</a>
+ * @version $Revision: 72166 $
+ */
+public class BadBindingTestCase extends TestCase
+{
+   private static final Logger log = Logger.getLogger(BadBindingTestCase.class);
+   
+   private class MyContainer<T> extends AbstractDirectContainer<T, MyContainer<T>>
+   {
+      public MyContainer(String name, String domainName, Class<? extends T> beanClass, JBossEnterpriseBeanMetaData beanMetaData)
+      {
+         super();
+         
+         ClassLoader classLoader = Thread.currentThread().getContextClassLoader();
+         AnnotationRepositoryToMetaData annotations = new AnnotationRepositoryToMetaData(beanClass, beanMetaData, name, classLoader);
+         List<MetaDataBridge<InterceptorMetaData>> interceptorBridges = new ArrayList<MetaDataBridge<InterceptorMetaData>>();
+         interceptorBridges.add(new InterceptorMetaDataBridge());
+         annotations.addComponentMetaDataLoaderFactory(new InterceptorComponentMetaDataLoaderFactory(interceptorBridges));
+         annotations.addMetaDataBridge(new BeanInterceptorMetaDataBridge(beanClass, classLoader, beanMetaData));
+         
+         initializeAdvisor(name, getDomain(domainName), beanClass, annotations);
+      }
+
+      public void testAdvisor()
+      {
+         MyContainer<?> container = getAdvisor().getContainer();
+         assertNotNull("container not set in managed object advisor", container);
+         assertTrue(container == this);
+      }
+   }
+   
+   protected static SchemaBindingResolver schemaResolverForClass(final Class<?> root)
+   {
+      return new SchemaBindingResolver()
+      {
+         public String getBaseURI()
+         {
+            return null;
+         }
+
+         public SchemaBinding resolve(String nsUri, String baseURI, String schemaLocation)
+         {
+            return JBossXBBuilder.build(root);
+         }
+
+         public LSInput resolveAsLSInput(String nsUri, String baseUri, String schemaLocation)
+         {
+            return null;
+         }
+
+         public void setBaseURI(String baseURI)
+         {
+         }
+      };
+   }
+
+   // FIXME: use the right jboss-aop.xml
+   AOPDeployer deployer = new AOPDeployer("proxy/jboss-aop.xml");
+   
+   @Override
+   protected void setUp() throws Exception
+   {
+      log.info(deployer.deploy());
+      CommonInterceptor.aroundInvokes = 0;
+      CommonInterceptor.postConstructs = 0;
+      CommonInterceptor.preDestroys = 0;
+   }
+
+   @Override
+   protected void tearDown() throws Exception
+   {
+      log.info(deployer.undeploy());
+   }
+   
+   public void testBadBeanInterceptorBinding() throws Throwable
+   {
+      try
+      {
+         testBinding("badbinding/badbean-interceptor-binding/META-INF/ejb-jar.xml");
+         fail("Should not have been able to create container since we have an interceptor-binding with the wrong name");
+      }
+      catch(Exception expected)
+      {
+      }
+   }
+
+   public void testDefaultInterceptorBinding() throws Throwable
+   {
+      testBinding("badbinding/default-interceptor-binding/META-INF/ejb-jar.xml");
+   }
+   
+   public void testGoodBeanInterceptorBinding() throws Throwable
+   {
+      testBinding("badbinding/goodbean-interceptor-binding/META-INF/ejb-jar.xml");
+   }
+
+   public void testBadBeanInterceptorOrderBinding() throws Throwable
+   {
+      try
+      {
+         testBinding("badbinding/badbean-interceptor-order-binding/META-INF/ejb-jar.xml");
+         fail("Should not have been able to create container since we have an interceptor-binding with the wrong name");
+      }
+      catch(Exception expected)
+      {
+      }
+   }
+
+   public void testDefaultInterceptorOrderBinding() throws Throwable
+   {
+      testBinding("badbinding/default-interceptor-order-binding/META-INF/ejb-jar.xml");
+   }
+
+   
+   public void testGoodBeanInterceptorOrderBinding() throws Throwable
+   {
+      testBinding("badbinding/goodbean-interceptor-order-binding/META-INF/ejb-jar.xml");
+   }
+
+   public void testBadBeanInterceptorBindingWithMethod() throws Throwable
+   {
+      try
+      {
+         testBinding("badbinding/badbean-interceptor-binding-with-method/META-INF/ejb-jar.xml");
+         fail("Should not have been able to create container since we have an interceptor-binding with the wrong name");
+      }
+      catch(Exception expected)
+      {
+      }
+   }
+
+   public void testGoodBeanInterceptorBindingWithMethod() throws Throwable
+   {
+      testBinding("badbinding/goodbean-interceptor-binding-with-method/META-INF/ejb-jar.xml");
+   }
+
+   public void testBadBeanInterceptorOrderBindingWithMethod() throws Throwable
+   {
+      try
+      {
+         testBinding("badbinding/badbean-interceptor-order-binding-with-method/META-INF/ejb-jar.xml");
+         fail("Should not have been able to create container since we have an interceptor-binding with the wrong name");
+      }
+      catch(Exception expected)
+      {
+      }
+   }
+
+   public void testGoodBeanInterceptorOrderBindingWithMethod() throws Throwable
+   {
+      testBinding("badbinding/goodbean-interceptor-order-binding-with-method/META-INF/ejb-jar.xml");
+   }
+
+   private MyContainer<MetadataBean> testBinding(String ejbJarXml) throws Throwable
+   {
+      // To make surefire happy
+      Thread.currentThread().setContextClassLoader(MetadataBean.class.getClassLoader());
+      
+      // Bootstrap metadata
+      UnmarshallerFactory unmarshallerFactory = UnmarshallerFactory.newInstance();
+      Unmarshaller unmarshaller = unmarshallerFactory.newUnmarshaller();
+      URL url = Thread.currentThread().getContextClassLoader().getResource(ejbJarXml);
+      EjbJar30MetaData metaData = (EjbJar30MetaData) unmarshaller.unmarshal(url.toString(), schemaResolverForClass(EjbJar30MetaData.class));
+      JBoss50MetaData jbossMetaData = new JBoss50MetaData();
+      jbossMetaData.merge(null, metaData);
+      
+      JBossEnterpriseBeanMetaData beanMetaData = jbossMetaData.getEnterpriseBean("MetadataBean");
+      assertNotNull(beanMetaData);
+      
+      assertEquals(0, CommonInterceptor.postConstructs);
+      
+      MyContainer<MetadataBean> container = new MyContainer<MetadataBean>("MetadataBean", "Test", MetadataBean.class, beanMetaData);
+
+      container.testAdvisor();
+      
+      return container;
+   }
+}

Modified: projects/ejb3/dev/ejbthree1269/interceptors/src/test/java/org/jboss/ejb3/test/interceptors/defaultinterceptors/AnnotatedBean.java
===================================================================
--- projects/ejb3/dev/ejbthree1269/interceptors/src/test/java/org/jboss/ejb3/test/interceptors/defaultinterceptors/AnnotatedBean.java	2008-04-18 16:36:56 UTC (rev 72450)
+++ projects/ejb3/dev/ejbthree1269/interceptors/src/test/java/org/jboss/ejb3/test/interceptors/defaultinterceptors/AnnotatedBean.java	2008-04-18 17:47:17 UTC (rev 72451)
@@ -40,7 +40,7 @@
    }
    
    @Interceptors(MethodInterceptor.class)
-   public int xmlOrderedMethod()
+   public int xmlOrderedMethod(int i, String s)
    {
       return 200;
    }

Modified: projects/ejb3/dev/ejbthree1269/interceptors/src/test/java/org/jboss/ejb3/test/interceptors/defaultinterceptors/unit/DefaultInterceptorsTestCase.java
===================================================================
--- projects/ejb3/dev/ejbthree1269/interceptors/src/test/java/org/jboss/ejb3/test/interceptors/defaultinterceptors/unit/DefaultInterceptorsTestCase.java	2008-04-18 16:36:56 UTC (rev 72450)
+++ projects/ejb3/dev/ejbthree1269/interceptors/src/test/java/org/jboss/ejb3/test/interceptors/defaultinterceptors/unit/DefaultInterceptorsTestCase.java	2008-04-18 17:47:17 UTC (rev 72451)
@@ -75,7 +75,7 @@
          List<MetaDataBridge<InterceptorMetaData>> interceptorBridges = new ArrayList<MetaDataBridge<InterceptorMetaData>>();
          interceptorBridges.add(new InterceptorMetaDataBridge());
          annotations.addComponentMetaDataLoaderFactory(new InterceptorComponentMetaDataLoaderFactory(interceptorBridges));
-         annotations.addMetaDataBridge(new BeanInterceptorMetaDataBridge());
+         annotations.addMetaDataBridge(new BeanInterceptorMetaDataBridge(beanClass, classLoader, beanMetaData));
          
          initializeAdvisor(name, getDomain(domainName), beanClass, annotations);
       }
@@ -171,7 +171,7 @@
       assertEquals(AnnotatedBean.class, interceptions.get(3));
       
       Interceptions.clear();
-      annotatedBeanContainer.invoke(annotatedBean, "xmlOrderedMethod", new Object[0]);
+      annotatedBeanContainer.invoke(annotatedBean, "xmlOrderedMethod", new Object[] {1, "Hello"});
       interceptions = Interceptions.getInterceptions();
       assertEquals("Interceptions were " + interceptions, 4, interceptions.size());      
       assertEquals(MethodInterceptor.class, interceptions.get(0));

Modified: projects/ejb3/dev/ejbthree1269/interceptors/src/test/java/org/jboss/ejb3/test/interceptors/lifecycle/unit/CallbackMethodDescriptorTestCase.java
===================================================================
--- projects/ejb3/dev/ejbthree1269/interceptors/src/test/java/org/jboss/ejb3/test/interceptors/lifecycle/unit/CallbackMethodDescriptorTestCase.java	2008-04-18 16:36:56 UTC (rev 72450)
+++ projects/ejb3/dev/ejbthree1269/interceptors/src/test/java/org/jboss/ejb3/test/interceptors/lifecycle/unit/CallbackMethodDescriptorTestCase.java	2008-04-18 17:47:17 UTC (rev 72451)
@@ -70,7 +70,7 @@
          List<MetaDataBridge<InterceptorMetaData>> interceptorBridges = new ArrayList<MetaDataBridge<InterceptorMetaData>>();
          interceptorBridges.add(new InterceptorMetaDataBridge());
          annotations.addComponentMetaDataLoaderFactory(new InterceptorComponentMetaDataLoaderFactory(interceptorBridges));
-         annotations.addMetaDataBridge(new BeanInterceptorMetaDataBridge());
+         annotations.addMetaDataBridge(new BeanInterceptorMetaDataBridge(beanClass, classLoader, beanMetaData));
          
          initializeAdvisor(name, getDomain(domainName), beanClass, annotations);
       }

Modified: projects/ejb3/dev/ejbthree1269/interceptors/src/test/java/org/jboss/ejb3/test/interceptors/metadata/unit/MetadataTestCase.java
===================================================================
--- projects/ejb3/dev/ejbthree1269/interceptors/src/test/java/org/jboss/ejb3/test/interceptors/metadata/unit/MetadataTestCase.java	2008-04-18 16:36:56 UTC (rev 72450)
+++ projects/ejb3/dev/ejbthree1269/interceptors/src/test/java/org/jboss/ejb3/test/interceptors/metadata/unit/MetadataTestCase.java	2008-04-18 17:47:17 UTC (rev 72451)
@@ -77,7 +77,7 @@
          List<MetaDataBridge<InterceptorMetaData>> interceptorBridges = new ArrayList<MetaDataBridge<InterceptorMetaData>>();
          interceptorBridges.add(new InterceptorMetaDataBridge());
          annotations.addComponentMetaDataLoaderFactory(new InterceptorComponentMetaDataLoaderFactory(interceptorBridges));
-         annotations.addMetaDataBridge(new BeanInterceptorMetaDataBridge());
+         annotations.addMetaDataBridge(new BeanInterceptorMetaDataBridge(beanClass, classLoader, beanMetaData));
          
          initializeAdvisor(name, getDomain(domainName), beanClass, annotations);
       }

Modified: projects/ejb3/dev/ejbthree1269/interceptors/src/test/java/org/jboss/ejb3/test/interceptors/order/unit/InterceptorChainTestCase.java
===================================================================
--- projects/ejb3/dev/ejbthree1269/interceptors/src/test/java/org/jboss/ejb3/test/interceptors/order/unit/InterceptorChainTestCase.java	2008-04-18 16:36:56 UTC (rev 72450)
+++ projects/ejb3/dev/ejbthree1269/interceptors/src/test/java/org/jboss/ejb3/test/interceptors/order/unit/InterceptorChainTestCase.java	2008-04-18 17:47:17 UTC (rev 72451)
@@ -75,7 +75,7 @@
          List<MetaDataBridge<InterceptorMetaData>> interceptorBridges = new ArrayList<MetaDataBridge<InterceptorMetaData>>();
          interceptorBridges.add(new InterceptorMetaDataBridge());
          annotations.addComponentMetaDataLoaderFactory(new InterceptorComponentMetaDataLoaderFactory(interceptorBridges));
-         annotations.addMetaDataBridge(new BeanInterceptorMetaDataBridge());
+         annotations.addMetaDataBridge(new BeanInterceptorMetaDataBridge(beanClass, classLoader, beanMetaData));
          
          initializeAdvisor(name, getDomain(domainName), beanClass, annotations);
       }

Copied: projects/ejb3/dev/ejbthree1269/interceptors/src/test/resources/badbinding (from rev 72450, projects/ejb3/trunk/interceptors/src/test/resources/badbinding)

Copied: projects/ejb3/dev/ejbthree1269/interceptors/src/test/resources/badbinding/badbean-interceptor-binding (from rev 72450, projects/ejb3/trunk/interceptors/src/test/resources/badbinding/badbean-interceptor-binding)

Copied: projects/ejb3/dev/ejbthree1269/interceptors/src/test/resources/badbinding/badbean-interceptor-binding/META-INF (from rev 72450, projects/ejb3/trunk/interceptors/src/test/resources/badbinding/badbean-interceptor-binding/META-INF)

Deleted: projects/ejb3/dev/ejbthree1269/interceptors/src/test/resources/badbinding/badbean-interceptor-binding/META-INF/ejb-jar.xml
===================================================================
--- projects/ejb3/trunk/interceptors/src/test/resources/badbinding/badbean-interceptor-binding/META-INF/ejb-jar.xml	2008-04-18 16:36:56 UTC (rev 72450)
+++ projects/ejb3/dev/ejbthree1269/interceptors/src/test/resources/badbinding/badbean-interceptor-binding/META-INF/ejb-jar.xml	2008-04-18 17:47:17 UTC (rev 72451)
@@ -1,39 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<ejb-jar
-        xmlns="http://java.sun.com/xml/ns/javaee"
-        xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-        xsi:schemaLocation="http://java.sun.com/xml/ns/javaee
-                            http://java.sun.com/xml/ns/javaee/ejb-jar_3_0.xsd"
-        version="3.0">
-    <display-name>InterceptorsTest</display-name>
-    <!-- Must define a bean here, because we have no annotation on it -->
-    <!-- (Can't use @Stateless within ejb3-interceptors) -->
-    <enterprise-beans>
-    	<session>
-    		<ejb-name>MetadataBean</ejb-name>
-    		<around-invoke>
-    			<method-name>aroundInvoke</method-name>
-    		</around-invoke>
-    	</session>
-    </enterprise-beans>
-    <interceptors>
-		<interceptor>
-			<interceptor-class>org.jboss.ejb3.test.interceptors.common.CommonInterceptor</interceptor-class>
-			<around-invoke>
-				<method-name>aroundInvoke</method-name>
-			</around-invoke>
-			<post-construct>
-				<lifecycle-callback-method>postConstruct</lifecycle-callback-method>
-			</post-construct>
-			<pre-destroy>
-				<lifecycle-callback-method>preDestroy</lifecycle-callback-method>
-			</pre-destroy>
-		</interceptor>	   
-    </interceptors>
-    <assembly-descriptor>
-    	<interceptor-binding>
-    		<ejb-name>BadBadBean</ejb-name>
-    		<interceptor-class>org.jboss.ejb3.test.interceptors.common.CommonInterceptor</interceptor-class>
-    	</interceptor-binding>
-    </assembly-descriptor>
-</ejb-jar>
\ No newline at end of file

Copied: projects/ejb3/dev/ejbthree1269/interceptors/src/test/resources/badbinding/badbean-interceptor-binding/META-INF/ejb-jar.xml (from rev 72450, projects/ejb3/trunk/interceptors/src/test/resources/badbinding/badbean-interceptor-binding/META-INF/ejb-jar.xml)
===================================================================
--- projects/ejb3/dev/ejbthree1269/interceptors/src/test/resources/badbinding/badbean-interceptor-binding/META-INF/ejb-jar.xml	                        (rev 0)
+++ projects/ejb3/dev/ejbthree1269/interceptors/src/test/resources/badbinding/badbean-interceptor-binding/META-INF/ejb-jar.xml	2008-04-18 17:47:17 UTC (rev 72451)
@@ -0,0 +1,39 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<ejb-jar
+        xmlns="http://java.sun.com/xml/ns/javaee"
+        xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+        xsi:schemaLocation="http://java.sun.com/xml/ns/javaee
+                            http://java.sun.com/xml/ns/javaee/ejb-jar_3_0.xsd"
+        version="3.0">
+    <display-name>InterceptorsTest</display-name>
+    <!-- Must define a bean here, because we have no annotation on it -->
+    <!-- (Can't use @Stateless within ejb3-interceptors) -->
+    <enterprise-beans>
+    	<session>
+    		<ejb-name>MetadataBean</ejb-name>
+    		<around-invoke>
+    			<method-name>aroundInvoke</method-name>
+    		</around-invoke>
+    	</session>
+    </enterprise-beans>
+    <interceptors>
+		<interceptor>
+			<interceptor-class>org.jboss.ejb3.test.interceptors.common.CommonInterceptor</interceptor-class>
+			<around-invoke>
+				<method-name>aroundInvoke</method-name>
+			</around-invoke>
+			<post-construct>
+				<lifecycle-callback-method>postConstruct</lifecycle-callback-method>
+			</post-construct>
+			<pre-destroy>
+				<lifecycle-callback-method>preDestroy</lifecycle-callback-method>
+			</pre-destroy>
+		</interceptor>	   
+    </interceptors>
+    <assembly-descriptor>
+    	<interceptor-binding>
+    		<ejb-name>BadBadBean</ejb-name>
+    		<interceptor-class>org.jboss.ejb3.test.interceptors.common.CommonInterceptor</interceptor-class>
+    	</interceptor-binding>
+    </assembly-descriptor>
+</ejb-jar>
\ No newline at end of file

Copied: projects/ejb3/dev/ejbthree1269/interceptors/src/test/resources/badbinding/badbean-interceptor-binding-with-method (from rev 72450, projects/ejb3/trunk/interceptors/src/test/resources/badbinding/badbean-interceptor-binding-with-method)

Copied: projects/ejb3/dev/ejbthree1269/interceptors/src/test/resources/badbinding/badbean-interceptor-binding-with-method/META-INF (from rev 72450, projects/ejb3/trunk/interceptors/src/test/resources/badbinding/badbean-interceptor-binding-with-method/META-INF)

Deleted: projects/ejb3/dev/ejbthree1269/interceptors/src/test/resources/badbinding/badbean-interceptor-binding-with-method/META-INF/ejb-jar.xml
===================================================================
--- projects/ejb3/trunk/interceptors/src/test/resources/badbinding/badbean-interceptor-binding-with-method/META-INF/ejb-jar.xml	2008-04-18 16:36:56 UTC (rev 72450)
+++ projects/ejb3/dev/ejbthree1269/interceptors/src/test/resources/badbinding/badbean-interceptor-binding-with-method/META-INF/ejb-jar.xml	2008-04-18 17:47:17 UTC (rev 72451)
@@ -1,42 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<ejb-jar
-        xmlns="http://java.sun.com/xml/ns/javaee"
-        xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-        xsi:schemaLocation="http://java.sun.com/xml/ns/javaee
-                            http://java.sun.com/xml/ns/javaee/ejb-jar_3_0.xsd"
-        version="3.0">
-    <display-name>InterceptorsTest</display-name>
-    <!-- Must define a bean here, because we have no annotation on it -->
-    <!-- (Can't use @Stateless within ejb3-interceptors) -->
-    <enterprise-beans>
-    	<session>
-    		<ejb-name>MetadataBean</ejb-name>
-    		<around-invoke>
-    			<method-name>aroundInvoke</method-name>
-    		</around-invoke>
-    	</session>
-    </enterprise-beans>
-    <interceptors>
-		<interceptor>
-			<interceptor-class>org.jboss.ejb3.test.interceptors.common.CommonInterceptor</interceptor-class>
-			<around-invoke>
-				<method-name>aroundInvoke</method-name>
-			</around-invoke>
-			<post-construct>
-				<lifecycle-callback-method>postConstruct</lifecycle-callback-method>
-			</post-construct>
-			<pre-destroy>
-				<lifecycle-callback-method>preDestroy</lifecycle-callback-method>
-			</pre-destroy>
-		</interceptor>	   
-    </interceptors>
-    <assembly-descriptor>
-    	<interceptor-binding>
-    		<ejb-name>BadBadBean</ejb-name>
-    		<interceptor-class>org.jboss.ejb3.test.interceptors.common.CommonInterceptor</interceptor-class>
-         <method>
-            <method-name>sayHi</method-name>
-         </method>
-    	</interceptor-binding>
-    </assembly-descriptor>
-</ejb-jar>
\ No newline at end of file

Copied: projects/ejb3/dev/ejbthree1269/interceptors/src/test/resources/badbinding/badbean-interceptor-binding-with-method/META-INF/ejb-jar.xml (from rev 72450, projects/ejb3/trunk/interceptors/src/test/resources/badbinding/badbean-interceptor-binding-with-method/META-INF/ejb-jar.xml)
===================================================================
--- projects/ejb3/dev/ejbthree1269/interceptors/src/test/resources/badbinding/badbean-interceptor-binding-with-method/META-INF/ejb-jar.xml	                        (rev 0)
+++ projects/ejb3/dev/ejbthree1269/interceptors/src/test/resources/badbinding/badbean-interceptor-binding-with-method/META-INF/ejb-jar.xml	2008-04-18 17:47:17 UTC (rev 72451)
@@ -0,0 +1,42 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<ejb-jar
+        xmlns="http://java.sun.com/xml/ns/javaee"
+        xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+        xsi:schemaLocation="http://java.sun.com/xml/ns/javaee
+                            http://java.sun.com/xml/ns/javaee/ejb-jar_3_0.xsd"
+        version="3.0">
+    <display-name>InterceptorsTest</display-name>
+    <!-- Must define a bean here, because we have no annotation on it -->
+    <!-- (Can't use @Stateless within ejb3-interceptors) -->
+    <enterprise-beans>
+    	<session>
+    		<ejb-name>MetadataBean</ejb-name>
+    		<around-invoke>
+    			<method-name>aroundInvoke</method-name>
+    		</around-invoke>
+    	</session>
+    </enterprise-beans>
+    <interceptors>
+		<interceptor>
+			<interceptor-class>org.jboss.ejb3.test.interceptors.common.CommonInterceptor</interceptor-class>
+			<around-invoke>
+				<method-name>aroundInvoke</method-name>
+			</around-invoke>
+			<post-construct>
+				<lifecycle-callback-method>postConstruct</lifecycle-callback-method>
+			</post-construct>
+			<pre-destroy>
+				<lifecycle-callback-method>preDestroy</lifecycle-callback-method>
+			</pre-destroy>
+		</interceptor>	   
+    </interceptors>
+    <assembly-descriptor>
+    	<interceptor-binding>
+    		<ejb-name>BadBadBean</ejb-name>
+    		<interceptor-class>org.jboss.ejb3.test.interceptors.common.CommonInterceptor</interceptor-class>
+         <method>
+            <method-name>sayHi</method-name>
+         </method>
+    	</interceptor-binding>
+    </assembly-descriptor>
+</ejb-jar>
\ No newline at end of file

Copied: projects/ejb3/dev/ejbthree1269/interceptors/src/test/resources/badbinding/badbean-interceptor-order-binding (from rev 72450, projects/ejb3/trunk/interceptors/src/test/resources/badbinding/badbean-interceptor-order-binding)

Copied: projects/ejb3/dev/ejbthree1269/interceptors/src/test/resources/badbinding/badbean-interceptor-order-binding/META-INF (from rev 72450, projects/ejb3/trunk/interceptors/src/test/resources/badbinding/badbean-interceptor-order-binding/META-INF)

Deleted: projects/ejb3/dev/ejbthree1269/interceptors/src/test/resources/badbinding/badbean-interceptor-order-binding/META-INF/ejb-jar.xml
===================================================================
--- projects/ejb3/trunk/interceptors/src/test/resources/badbinding/badbean-interceptor-order-binding/META-INF/ejb-jar.xml	2008-04-18 16:36:56 UTC (rev 72450)
+++ projects/ejb3/dev/ejbthree1269/interceptors/src/test/resources/badbinding/badbean-interceptor-order-binding/META-INF/ejb-jar.xml	2008-04-18 17:47:17 UTC (rev 72451)
@@ -1,41 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<ejb-jar
-        xmlns="http://java.sun.com/xml/ns/javaee"
-        xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-        xsi:schemaLocation="http://java.sun.com/xml/ns/javaee
-                            http://java.sun.com/xml/ns/javaee/ejb-jar_3_0.xsd"
-        version="3.0">
-    <display-name>InterceptorsTest</display-name>
-    <!-- Must define a bean here, because we have no annotation on it -->
-    <!-- (Can't use @Stateless within ejb3-interceptors) -->
-    <enterprise-beans>
-    	<session>
-    		<ejb-name>MetadataBean</ejb-name>
-    		<around-invoke>
-    			<method-name>aroundInvoke</method-name>
-    		</around-invoke>
-    	</session>
-    </enterprise-beans>
-    <interceptors>
-		<interceptor>
-			<interceptor-class>org.jboss.ejb3.test.interceptors.common.CommonInterceptor</interceptor-class>
-			<around-invoke>
-				<method-name>aroundInvoke</method-name>
-			</around-invoke>
-			<post-construct>
-				<lifecycle-callback-method>postConstruct</lifecycle-callback-method>
-			</post-construct>
-			<pre-destroy>
-				<lifecycle-callback-method>preDestroy</lifecycle-callback-method>
-			</pre-destroy>
-		</interceptor>	   
-    </interceptors>
-    <assembly-descriptor>
-    	<interceptor-binding>
-    		<ejb-name>BadBadBean</ejb-name>
-    		<interceptor-order>
-       		<interceptor-class>org.jboss.ejb3.test.interceptors.common.CommonInterceptor</interceptor-class>
-         </interceptor-order>
-    	</interceptor-binding>
-    </assembly-descriptor>
-</ejb-jar>
\ No newline at end of file

Copied: projects/ejb3/dev/ejbthree1269/interceptors/src/test/resources/badbinding/badbean-interceptor-order-binding/META-INF/ejb-jar.xml (from rev 72450, projects/ejb3/trunk/interceptors/src/test/resources/badbinding/badbean-interceptor-order-binding/META-INF/ejb-jar.xml)
===================================================================
--- projects/ejb3/dev/ejbthree1269/interceptors/src/test/resources/badbinding/badbean-interceptor-order-binding/META-INF/ejb-jar.xml	                        (rev 0)
+++ projects/ejb3/dev/ejbthree1269/interceptors/src/test/resources/badbinding/badbean-interceptor-order-binding/META-INF/ejb-jar.xml	2008-04-18 17:47:17 UTC (rev 72451)
@@ -0,0 +1,41 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<ejb-jar
+        xmlns="http://java.sun.com/xml/ns/javaee"
+        xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+        xsi:schemaLocation="http://java.sun.com/xml/ns/javaee
+                            http://java.sun.com/xml/ns/javaee/ejb-jar_3_0.xsd"
+        version="3.0">
+    <display-name>InterceptorsTest</display-name>
+    <!-- Must define a bean here, because we have no annotation on it -->
+    <!-- (Can't use @Stateless within ejb3-interceptors) -->
+    <enterprise-beans>
+    	<session>
+    		<ejb-name>MetadataBean</ejb-name>
+    		<around-invoke>
+    			<method-name>aroundInvoke</method-name>
+    		</around-invoke>
+    	</session>
+    </enterprise-beans>
+    <interceptors>
+		<interceptor>
+			<interceptor-class>org.jboss.ejb3.test.interceptors.common.CommonInterceptor</interceptor-class>
+			<around-invoke>
+				<method-name>aroundInvoke</method-name>
+			</around-invoke>
+			<post-construct>
+				<lifecycle-callback-method>postConstruct</lifecycle-callback-method>
+			</post-construct>
+			<pre-destroy>
+				<lifecycle-callback-method>preDestroy</lifecycle-callback-method>
+			</pre-destroy>
+		</interceptor>	   
+    </interceptors>
+    <assembly-descriptor>
+    	<interceptor-binding>
+    		<ejb-name>BadBadBean</ejb-name>
+    		<interceptor-order>
+       		<interceptor-class>org.jboss.ejb3.test.interceptors.common.CommonInterceptor</interceptor-class>
+         </interceptor-order>
+    	</interceptor-binding>
+    </assembly-descriptor>
+</ejb-jar>
\ No newline at end of file

Copied: projects/ejb3/dev/ejbthree1269/interceptors/src/test/resources/badbinding/badbean-interceptor-order-binding-with-method (from rev 72450, projects/ejb3/trunk/interceptors/src/test/resources/badbinding/badbean-interceptor-order-binding-with-method)

Copied: projects/ejb3/dev/ejbthree1269/interceptors/src/test/resources/badbinding/badbean-interceptor-order-binding-with-method/META-INF (from rev 72450, projects/ejb3/trunk/interceptors/src/test/resources/badbinding/badbean-interceptor-order-binding-with-method/META-INF)

Deleted: projects/ejb3/dev/ejbthree1269/interceptors/src/test/resources/badbinding/badbean-interceptor-order-binding-with-method/META-INF/ejb-jar.xml
===================================================================
--- projects/ejb3/trunk/interceptors/src/test/resources/badbinding/badbean-interceptor-order-binding-with-method/META-INF/ejb-jar.xml	2008-04-18 16:36:56 UTC (rev 72450)
+++ projects/ejb3/dev/ejbthree1269/interceptors/src/test/resources/badbinding/badbean-interceptor-order-binding-with-method/META-INF/ejb-jar.xml	2008-04-18 17:47:17 UTC (rev 72451)
@@ -1,44 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<ejb-jar
-        xmlns="http://java.sun.com/xml/ns/javaee"
-        xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-        xsi:schemaLocation="http://java.sun.com/xml/ns/javaee
-                            http://java.sun.com/xml/ns/javaee/ejb-jar_3_0.xsd"
-        version="3.0">
-    <display-name>InterceptorsTest</display-name>
-    <!-- Must define a bean here, because we have no annotation on it -->
-    <!-- (Can't use @Stateless within ejb3-interceptors) -->
-    <enterprise-beans>
-    	<session>
-    		<ejb-name>MetadataBean</ejb-name>
-    		<around-invoke>
-    			<method-name>aroundInvoke</method-name>
-    		</around-invoke>
-    	</session>
-    </enterprise-beans>
-    <interceptors>
-		<interceptor>
-			<interceptor-class>org.jboss.ejb3.test.interceptors.common.CommonInterceptor</interceptor-class>
-			<around-invoke>
-				<method-name>aroundInvoke</method-name>
-			</around-invoke>
-			<post-construct>
-				<lifecycle-callback-method>postConstruct</lifecycle-callback-method>
-			</post-construct>
-			<pre-destroy>
-				<lifecycle-callback-method>preDestroy</lifecycle-callback-method>
-			</pre-destroy>
-		</interceptor>	   
-    </interceptors>
-    <assembly-descriptor>
-    	<interceptor-binding>
-    		<ejb-name>BadBadBean</ejb-name>
-    		<interceptor-order>
-       		<interceptor-class>org.jboss.ejb3.test.interceptors.common.CommonInterceptor</interceptor-class>
-         </interceptor-order>
-         <method>
-            <method-name>sayHi</method-name>
-         </method>
-     	</interceptor-binding>
-    </assembly-descriptor>
-</ejb-jar>
\ No newline at end of file

Copied: projects/ejb3/dev/ejbthree1269/interceptors/src/test/resources/badbinding/badbean-interceptor-order-binding-with-method/META-INF/ejb-jar.xml (from rev 72450, projects/ejb3/trunk/interceptors/src/test/resources/badbinding/badbean-interceptor-order-binding-with-method/META-INF/ejb-jar.xml)
===================================================================
--- projects/ejb3/dev/ejbthree1269/interceptors/src/test/resources/badbinding/badbean-interceptor-order-binding-with-method/META-INF/ejb-jar.xml	                        (rev 0)
+++ projects/ejb3/dev/ejbthree1269/interceptors/src/test/resources/badbinding/badbean-interceptor-order-binding-with-method/META-INF/ejb-jar.xml	2008-04-18 17:47:17 UTC (rev 72451)
@@ -0,0 +1,44 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<ejb-jar
+        xmlns="http://java.sun.com/xml/ns/javaee"
+        xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+        xsi:schemaLocation="http://java.sun.com/xml/ns/javaee
+                            http://java.sun.com/xml/ns/javaee/ejb-jar_3_0.xsd"
+        version="3.0">
+    <display-name>InterceptorsTest</display-name>
+    <!-- Must define a bean here, because we have no annotation on it -->
+    <!-- (Can't use @Stateless within ejb3-interceptors) -->
+    <enterprise-beans>
+    	<session>
+    		<ejb-name>MetadataBean</ejb-name>
+    		<around-invoke>
+    			<method-name>aroundInvoke</method-name>
+    		</around-invoke>
+    	</session>
+    </enterprise-beans>
+    <interceptors>
+		<interceptor>
+			<interceptor-class>org.jboss.ejb3.test.interceptors.common.CommonInterceptor</interceptor-class>
+			<around-invoke>
+				<method-name>aroundInvoke</method-name>
+			</around-invoke>
+			<post-construct>
+				<lifecycle-callback-method>postConstruct</lifecycle-callback-method>
+			</post-construct>
+			<pre-destroy>
+				<lifecycle-callback-method>preDestroy</lifecycle-callback-method>
+			</pre-destroy>
+		</interceptor>	   
+    </interceptors>
+    <assembly-descriptor>
+    	<interceptor-binding>
+    		<ejb-name>BadBadBean</ejb-name>
+    		<interceptor-order>
+       		<interceptor-class>org.jboss.ejb3.test.interceptors.common.CommonInterceptor</interceptor-class>
+         </interceptor-order>
+         <method>
+            <method-name>sayHi</method-name>
+         </method>
+     	</interceptor-binding>
+    </assembly-descriptor>
+</ejb-jar>
\ No newline at end of file

Copied: projects/ejb3/dev/ejbthree1269/interceptors/src/test/resources/badbinding/default-interceptor-binding (from rev 72450, projects/ejb3/trunk/interceptors/src/test/resources/badbinding/default-interceptor-binding)

Copied: projects/ejb3/dev/ejbthree1269/interceptors/src/test/resources/badbinding/default-interceptor-binding/META-INF (from rev 72450, projects/ejb3/trunk/interceptors/src/test/resources/badbinding/default-interceptor-binding/META-INF)

Deleted: projects/ejb3/dev/ejbthree1269/interceptors/src/test/resources/badbinding/default-interceptor-binding/META-INF/ejb-jar.xml
===================================================================
--- projects/ejb3/trunk/interceptors/src/test/resources/badbinding/default-interceptor-binding/META-INF/ejb-jar.xml	2008-04-18 16:36:56 UTC (rev 72450)
+++ projects/ejb3/dev/ejbthree1269/interceptors/src/test/resources/badbinding/default-interceptor-binding/META-INF/ejb-jar.xml	2008-04-18 17:47:17 UTC (rev 72451)
@@ -1,39 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<ejb-jar
-        xmlns="http://java.sun.com/xml/ns/javaee"
-        xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-        xsi:schemaLocation="http://java.sun.com/xml/ns/javaee
-                            http://java.sun.com/xml/ns/javaee/ejb-jar_3_0.xsd"
-        version="3.0">
-    <display-name>InterceptorsTest</display-name>
-    <!-- Must define a bean here, because we have no annotation on it -->
-    <!-- (Can't use @Stateless within ejb3-interceptors) -->
-    <enterprise-beans>
-    	<session>
-    		<ejb-name>MetadataBean</ejb-name>
-    		<around-invoke>
-    			<method-name>aroundInvoke</method-name>
-    		</around-invoke>
-    	</session>
-    </enterprise-beans>
-    <interceptors>
-		<interceptor>
-			<interceptor-class>org.jboss.ejb3.test.interceptors.common.CommonInterceptor</interceptor-class>
-			<around-invoke>
-				<method-name>aroundInvoke</method-name>
-			</around-invoke>
-			<post-construct>
-				<lifecycle-callback-method>postConstruct</lifecycle-callback-method>
-			</post-construct>
-			<pre-destroy>
-				<lifecycle-callback-method>preDestroy</lifecycle-callback-method>
-			</pre-destroy>
-		</interceptor>	   
-    </interceptors>
-    <assembly-descriptor>
-    	<interceptor-binding>
-    		<ejb-name>*</ejb-name>
-    		<interceptor-class>org.jboss.ejb3.test.interceptors.common.CommonInterceptor</interceptor-class>
-    	</interceptor-binding>
-    </assembly-descriptor>
-</ejb-jar>
\ No newline at end of file

Copied: projects/ejb3/dev/ejbthree1269/interceptors/src/test/resources/badbinding/default-interceptor-binding/META-INF/ejb-jar.xml (from rev 72450, projects/ejb3/trunk/interceptors/src/test/resources/badbinding/default-interceptor-binding/META-INF/ejb-jar.xml)
===================================================================
--- projects/ejb3/dev/ejbthree1269/interceptors/src/test/resources/badbinding/default-interceptor-binding/META-INF/ejb-jar.xml	                        (rev 0)
+++ projects/ejb3/dev/ejbthree1269/interceptors/src/test/resources/badbinding/default-interceptor-binding/META-INF/ejb-jar.xml	2008-04-18 17:47:17 UTC (rev 72451)
@@ -0,0 +1,39 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<ejb-jar
+        xmlns="http://java.sun.com/xml/ns/javaee"
+        xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+        xsi:schemaLocation="http://java.sun.com/xml/ns/javaee
+                            http://java.sun.com/xml/ns/javaee/ejb-jar_3_0.xsd"
+        version="3.0">
+    <display-name>InterceptorsTest</display-name>
+    <!-- Must define a bean here, because we have no annotation on it -->
+    <!-- (Can't use @Stateless within ejb3-interceptors) -->
+    <enterprise-beans>
+    	<session>
+    		<ejb-name>MetadataBean</ejb-name>
+    		<around-invoke>
+    			<method-name>aroundInvoke</method-name>
+    		</around-invoke>
+    	</session>
+    </enterprise-beans>
+    <interceptors>
+		<interceptor>
+			<interceptor-class>org.jboss.ejb3.test.interceptors.common.CommonInterceptor</interceptor-class>
+			<around-invoke>
+				<method-name>aroundInvoke</method-name>
+			</around-invoke>
+			<post-construct>
+				<lifecycle-callback-method>postConstruct</lifecycle-callback-method>
+			</post-construct>
+			<pre-destroy>
+				<lifecycle-callback-method>preDestroy</lifecycle-callback-method>
+			</pre-destroy>
+		</interceptor>	   
+    </interceptors>
+    <assembly-descriptor>
+    	<interceptor-binding>
+    		<ejb-name>*</ejb-name>
+    		<interceptor-class>org.jboss.ejb3.test.interceptors.common.CommonInterceptor</interceptor-class>
+    	</interceptor-binding>
+    </assembly-descriptor>
+</ejb-jar>
\ No newline at end of file

Copied: projects/ejb3/dev/ejbthree1269/interceptors/src/test/resources/badbinding/default-interceptor-binding-with-method (from rev 72450, projects/ejb3/trunk/interceptors/src/test/resources/badbinding/default-interceptor-binding-with-method)

Copied: projects/ejb3/dev/ejbthree1269/interceptors/src/test/resources/badbinding/default-interceptor-binding-with-method/META-INF (from rev 72450, projects/ejb3/trunk/interceptors/src/test/resources/badbinding/default-interceptor-binding-with-method/META-INF)

Deleted: projects/ejb3/dev/ejbthree1269/interceptors/src/test/resources/badbinding/default-interceptor-binding-with-method/META-INF/ejb-jar.xml
===================================================================
--- projects/ejb3/trunk/interceptors/src/test/resources/badbinding/default-interceptor-binding-with-method/META-INF/ejb-jar.xml	2008-04-18 16:36:56 UTC (rev 72450)
+++ projects/ejb3/dev/ejbthree1269/interceptors/src/test/resources/badbinding/default-interceptor-binding-with-method/META-INF/ejb-jar.xml	2008-04-18 17:47:17 UTC (rev 72451)
@@ -1,42 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<ejb-jar
-        xmlns="http://java.sun.com/xml/ns/javaee"
-        xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-        xsi:schemaLocation="http://java.sun.com/xml/ns/javaee
-                            http://java.sun.com/xml/ns/javaee/ejb-jar_3_0.xsd"
-        version="3.0">
-    <display-name>InterceptorsTest</display-name>
-    <!-- Must define a bean here, because we have no annotation on it -->
-    <!-- (Can't use @Stateless within ejb3-interceptors) -->
-    <enterprise-beans>
-    	<session>
-    		<ejb-name>MetadataBean</ejb-name>
-    		<around-invoke>
-    			<method-name>aroundInvoke</method-name>
-    		</around-invoke>
-    	</session>
-    </enterprise-beans>
-    <interceptors>
-		<interceptor>
-			<interceptor-class>org.jboss.ejb3.test.interceptors.common.CommonInterceptor</interceptor-class>
-			<around-invoke>
-				<method-name>aroundInvoke</method-name>
-			</around-invoke>
-			<post-construct>
-				<lifecycle-callback-method>postConstruct</lifecycle-callback-method>
-			</post-construct>
-			<pre-destroy>
-				<lifecycle-callback-method>preDestroy</lifecycle-callback-method>
-			</pre-destroy>
-		</interceptor>	   
-    </interceptors>
-    <assembly-descriptor>
-    	<interceptor-binding>
-    		<ejb-name>*</ejb-name>
-    		<interceptor-class>org.jboss.ejb3.test.interceptors.common.CommonInterceptor</interceptor-class>
-         <method>
-            <method-name>sayHi</method-name>
-         </method>
-    	</interceptor-binding>
-    </assembly-descriptor>
-</ejb-jar>
\ No newline at end of file

Copied: projects/ejb3/dev/ejbthree1269/interceptors/src/test/resources/badbinding/default-interceptor-binding-with-method/META-INF/ejb-jar.xml (from rev 72450, projects/ejb3/trunk/interceptors/src/test/resources/badbinding/default-interceptor-binding-with-method/META-INF/ejb-jar.xml)
===================================================================
--- projects/ejb3/dev/ejbthree1269/interceptors/src/test/resources/badbinding/default-interceptor-binding-with-method/META-INF/ejb-jar.xml	                        (rev 0)
+++ projects/ejb3/dev/ejbthree1269/interceptors/src/test/resources/badbinding/default-interceptor-binding-with-method/META-INF/ejb-jar.xml	2008-04-18 17:47:17 UTC (rev 72451)
@@ -0,0 +1,42 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<ejb-jar
+        xmlns="http://java.sun.com/xml/ns/javaee"
+        xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+        xsi:schemaLocation="http://java.sun.com/xml/ns/javaee
+                            http://java.sun.com/xml/ns/javaee/ejb-jar_3_0.xsd"
+        version="3.0">
+    <display-name>InterceptorsTest</display-name>
+    <!-- Must define a bean here, because we have no annotation on it -->
+    <!-- (Can't use @Stateless within ejb3-interceptors) -->
+    <enterprise-beans>
+    	<session>
+    		<ejb-name>MetadataBean</ejb-name>
+    		<around-invoke>
+    			<method-name>aroundInvoke</method-name>
+    		</around-invoke>
+    	</session>
+    </enterprise-beans>
+    <interceptors>
+		<interceptor>
+			<interceptor-class>org.jboss.ejb3.test.interceptors.common.CommonInterceptor</interceptor-class>
+			<around-invoke>
+				<method-name>aroundInvoke</method-name>
+			</around-invoke>
+			<post-construct>
+				<lifecycle-callback-method>postConstruct</lifecycle-callback-method>
+			</post-construct>
+			<pre-destroy>
+				<lifecycle-callback-method>preDestroy</lifecycle-callback-method>
+			</pre-destroy>
+		</interceptor>	   
+    </interceptors>
+    <assembly-descriptor>
+    	<interceptor-binding>
+    		<ejb-name>*</ejb-name>
+    		<interceptor-class>org.jboss.ejb3.test.interceptors.common.CommonInterceptor</interceptor-class>
+         <method>
+            <method-name>sayHi</method-name>
+         </method>
+    	</interceptor-binding>
+    </assembly-descriptor>
+</ejb-jar>
\ No newline at end of file

Copied: projects/ejb3/dev/ejbthree1269/interceptors/src/test/resources/badbinding/default-interceptor-order-binding (from rev 72450, projects/ejb3/trunk/interceptors/src/test/resources/badbinding/default-interceptor-order-binding)

Copied: projects/ejb3/dev/ejbthree1269/interceptors/src/test/resources/badbinding/default-interceptor-order-binding/META-INF (from rev 72450, projects/ejb3/trunk/interceptors/src/test/resources/badbinding/default-interceptor-order-binding/META-INF)

Deleted: projects/ejb3/dev/ejbthree1269/interceptors/src/test/resources/badbinding/default-interceptor-order-binding/META-INF/ejb-jar.xml
===================================================================
--- projects/ejb3/trunk/interceptors/src/test/resources/badbinding/default-interceptor-order-binding/META-INF/ejb-jar.xml	2008-04-18 16:36:56 UTC (rev 72450)
+++ projects/ejb3/dev/ejbthree1269/interceptors/src/test/resources/badbinding/default-interceptor-order-binding/META-INF/ejb-jar.xml	2008-04-18 17:47:17 UTC (rev 72451)
@@ -1,41 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<ejb-jar
-        xmlns="http://java.sun.com/xml/ns/javaee"
-        xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-        xsi:schemaLocation="http://java.sun.com/xml/ns/javaee
-                            http://java.sun.com/xml/ns/javaee/ejb-jar_3_0.xsd"
-        version="3.0">
-    <display-name>InterceptorsTest</display-name>
-    <!-- Must define a bean here, because we have no annotation on it -->
-    <!-- (Can't use @Stateless within ejb3-interceptors) -->
-    <enterprise-beans>
-    	<session>
-    		<ejb-name>MetadataBean</ejb-name>
-    		<around-invoke>
-    			<method-name>aroundInvoke</method-name>
-    		</around-invoke>
-    	</session>
-    </enterprise-beans>
-    <interceptors>
-		<interceptor>
-			<interceptor-class>org.jboss.ejb3.test.interceptors.common.CommonInterceptor</interceptor-class>
-			<around-invoke>
-				<method-name>aroundInvoke</method-name>
-			</around-invoke>
-			<post-construct>
-				<lifecycle-callback-method>postConstruct</lifecycle-callback-method>
-			</post-construct>
-			<pre-destroy>
-				<lifecycle-callback-method>preDestroy</lifecycle-callback-method>
-			</pre-destroy>
-		</interceptor>	   
-    </interceptors>
-    <assembly-descriptor>
-    	<interceptor-binding>
-    		<ejb-name>*</ejb-name>
-         <interceptor-order>
-       		<interceptor-class>org.jboss.ejb3.test.interceptors.common.CommonInterceptor</interceptor-class>
-         </interceptor-order>       		
-    	</interceptor-binding>
-    </assembly-descriptor>
-</ejb-jar>
\ No newline at end of file

Copied: projects/ejb3/dev/ejbthree1269/interceptors/src/test/resources/badbinding/default-interceptor-order-binding/META-INF/ejb-jar.xml (from rev 72450, projects/ejb3/trunk/interceptors/src/test/resources/badbinding/default-interceptor-order-binding/META-INF/ejb-jar.xml)
===================================================================
--- projects/ejb3/dev/ejbthree1269/interceptors/src/test/resources/badbinding/default-interceptor-order-binding/META-INF/ejb-jar.xml	                        (rev 0)
+++ projects/ejb3/dev/ejbthree1269/interceptors/src/test/resources/badbinding/default-interceptor-order-binding/META-INF/ejb-jar.xml	2008-04-18 17:47:17 UTC (rev 72451)
@@ -0,0 +1,41 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<ejb-jar
+        xmlns="http://java.sun.com/xml/ns/javaee"
+        xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+        xsi:schemaLocation="http://java.sun.com/xml/ns/javaee
+                            http://java.sun.com/xml/ns/javaee/ejb-jar_3_0.xsd"
+        version="3.0">
+    <display-name>InterceptorsTest</display-name>
+    <!-- Must define a bean here, because we have no annotation on it -->
+    <!-- (Can't use @Stateless within ejb3-interceptors) -->
+    <enterprise-beans>
+    	<session>
+    		<ejb-name>MetadataBean</ejb-name>
+    		<around-invoke>
+    			<method-name>aroundInvoke</method-name>
+    		</around-invoke>
+    	</session>
+    </enterprise-beans>
+    <interceptors>
+		<interceptor>
+			<interceptor-class>org.jboss.ejb3.test.interceptors.common.CommonInterceptor</interceptor-class>
+			<around-invoke>
+				<method-name>aroundInvoke</method-name>
+			</around-invoke>
+			<post-construct>
+				<lifecycle-callback-method>postConstruct</lifecycle-callback-method>
+			</post-construct>
+			<pre-destroy>
+				<lifecycle-callback-method>preDestroy</lifecycle-callback-method>
+			</pre-destroy>
+		</interceptor>	   
+    </interceptors>
+    <assembly-descriptor>
+    	<interceptor-binding>
+    		<ejb-name>*</ejb-name>
+         <interceptor-order>
+       		<interceptor-class>org.jboss.ejb3.test.interceptors.common.CommonInterceptor</interceptor-class>
+         </interceptor-order>       		
+    	</interceptor-binding>
+    </assembly-descriptor>
+</ejb-jar>
\ No newline at end of file

Copied: projects/ejb3/dev/ejbthree1269/interceptors/src/test/resources/badbinding/default-interceptor-order-binding-with-method (from rev 72450, projects/ejb3/trunk/interceptors/src/test/resources/badbinding/default-interceptor-order-binding-with-method)

Copied: projects/ejb3/dev/ejbthree1269/interceptors/src/test/resources/badbinding/default-interceptor-order-binding-with-method/META-INF (from rev 72450, projects/ejb3/trunk/interceptors/src/test/resources/badbinding/default-interceptor-order-binding-with-method/META-INF)

Deleted: projects/ejb3/dev/ejbthree1269/interceptors/src/test/resources/badbinding/default-interceptor-order-binding-with-method/META-INF/ejb-jar.xml
===================================================================
--- projects/ejb3/trunk/interceptors/src/test/resources/badbinding/default-interceptor-order-binding-with-method/META-INF/ejb-jar.xml	2008-04-18 16:36:56 UTC (rev 72450)
+++ projects/ejb3/dev/ejbthree1269/interceptors/src/test/resources/badbinding/default-interceptor-order-binding-with-method/META-INF/ejb-jar.xml	2008-04-18 17:47:17 UTC (rev 72451)
@@ -1,44 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<ejb-jar
-        xmlns="http://java.sun.com/xml/ns/javaee"
-        xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-        xsi:schemaLocation="http://java.sun.com/xml/ns/javaee
-                            http://java.sun.com/xml/ns/javaee/ejb-jar_3_0.xsd"
-        version="3.0">
-    <display-name>InterceptorsTest</display-name>
-    <!-- Must define a bean here, because we have no annotation on it -->
-    <!-- (Can't use @Stateless within ejb3-interceptors) -->
-    <enterprise-beans>
-    	<session>
-    		<ejb-name>MetadataBean</ejb-name>
-    		<around-invoke>
-    			<method-name>aroundInvoke</method-name>
-    		</around-invoke>
-    	</session>
-    </enterprise-beans>
-    <interceptors>
-		<interceptor>
-			<interceptor-class>org.jboss.ejb3.test.interceptors.common.CommonInterceptor</interceptor-class>
-			<around-invoke>
-				<method-name>aroundInvoke</method-name>
-			</around-invoke>
-			<post-construct>
-				<lifecycle-callback-method>postConstruct</lifecycle-callback-method>
-			</post-construct>
-			<pre-destroy>
-				<lifecycle-callback-method>preDestroy</lifecycle-callback-method>
-			</pre-destroy>
-		</interceptor>	   
-    </interceptors>
-    <assembly-descriptor>
-    	<interceptor-binding>
-    		<ejb-name>*</ejb-name>
-         <interceptor-order>
-       		<interceptor-class>org.jboss.ejb3.test.interceptors.common.CommonInterceptor</interceptor-class>
-         </interceptor-order>       		
-         <method>
-            <method-name>sayHi</method-name>
-         </method>
-    	</interceptor-binding>
-    </assembly-descriptor>
-</ejb-jar>
\ No newline at end of file

Copied: projects/ejb3/dev/ejbthree1269/interceptors/src/test/resources/badbinding/default-interceptor-order-binding-with-method/META-INF/ejb-jar.xml (from rev 72450, projects/ejb3/trunk/interceptors/src/test/resources/badbinding/default-interceptor-order-binding-with-method/META-INF/ejb-jar.xml)
===================================================================
--- projects/ejb3/dev/ejbthree1269/interceptors/src/test/resources/badbinding/default-interceptor-order-binding-with-method/META-INF/ejb-jar.xml	                        (rev 0)
+++ projects/ejb3/dev/ejbthree1269/interceptors/src/test/resources/badbinding/default-interceptor-order-binding-with-method/META-INF/ejb-jar.xml	2008-04-18 17:47:17 UTC (rev 72451)
@@ -0,0 +1,44 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<ejb-jar
+        xmlns="http://java.sun.com/xml/ns/javaee"
+        xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+        xsi:schemaLocation="http://java.sun.com/xml/ns/javaee
+                            http://java.sun.com/xml/ns/javaee/ejb-jar_3_0.xsd"
+        version="3.0">
+    <display-name>InterceptorsTest</display-name>
+    <!-- Must define a bean here, because we have no annotation on it -->
+    <!-- (Can't use @Stateless within ejb3-interceptors) -->
+    <enterprise-beans>
+    	<session>
+    		<ejb-name>MetadataBean</ejb-name>
+    		<around-invoke>
+    			<method-name>aroundInvoke</method-name>
+    		</around-invoke>
+    	</session>
+    </enterprise-beans>
+    <interceptors>
+		<interceptor>
+			<interceptor-class>org.jboss.ejb3.test.interceptors.common.CommonInterceptor</interceptor-class>
+			<around-invoke>
+				<method-name>aroundInvoke</method-name>
+			</around-invoke>
+			<post-construct>
+				<lifecycle-callback-method>postConstruct</lifecycle-callback-method>
+			</post-construct>
+			<pre-destroy>
+				<lifecycle-callback-method>preDestroy</lifecycle-callback-method>
+			</pre-destroy>
+		</interceptor>	   
+    </interceptors>
+    <assembly-descriptor>
+    	<interceptor-binding>
+    		<ejb-name>*</ejb-name>
+         <interceptor-order>
+       		<interceptor-class>org.jboss.ejb3.test.interceptors.common.CommonInterceptor</interceptor-class>
+         </interceptor-order>       		
+         <method>
+            <method-name>sayHi</method-name>
+         </method>
+    	</interceptor-binding>
+    </assembly-descriptor>
+</ejb-jar>
\ No newline at end of file

Copied: projects/ejb3/dev/ejbthree1269/interceptors/src/test/resources/badbinding/goodbean-interceptor-binding (from rev 72450, projects/ejb3/trunk/interceptors/src/test/resources/badbinding/goodbean-interceptor-binding)

Copied: projects/ejb3/dev/ejbthree1269/interceptors/src/test/resources/badbinding/goodbean-interceptor-binding/META-INF (from rev 72450, projects/ejb3/trunk/interceptors/src/test/resources/badbinding/goodbean-interceptor-binding/META-INF)

Deleted: projects/ejb3/dev/ejbthree1269/interceptors/src/test/resources/badbinding/goodbean-interceptor-binding/META-INF/ejb-jar.xml
===================================================================
--- projects/ejb3/trunk/interceptors/src/test/resources/badbinding/goodbean-interceptor-binding/META-INF/ejb-jar.xml	2008-04-18 16:36:56 UTC (rev 72450)
+++ projects/ejb3/dev/ejbthree1269/interceptors/src/test/resources/badbinding/goodbean-interceptor-binding/META-INF/ejb-jar.xml	2008-04-18 17:47:17 UTC (rev 72451)
@@ -1,39 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<ejb-jar
-        xmlns="http://java.sun.com/xml/ns/javaee"
-        xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-        xsi:schemaLocation="http://java.sun.com/xml/ns/javaee
-                            http://java.sun.com/xml/ns/javaee/ejb-jar_3_0.xsd"
-        version="3.0">
-    <display-name>InterceptorsTest</display-name>
-    <!-- Must define a bean here, because we have no annotation on it -->
-    <!-- (Can't use @Stateless within ejb3-interceptors) -->
-    <enterprise-beans>
-    	<session>
-    		<ejb-name>MetadataBean</ejb-name>
-    		<around-invoke>
-    			<method-name>aroundInvoke</method-name>
-    		</around-invoke>
-    	</session>
-    </enterprise-beans>
-    <interceptors>
-		<interceptor>
-			<interceptor-class>org.jboss.ejb3.test.interceptors.common.CommonInterceptor</interceptor-class>
-			<around-invoke>
-				<method-name>aroundInvoke</method-name>
-			</around-invoke>
-			<post-construct>
-				<lifecycle-callback-method>postConstruct</lifecycle-callback-method>
-			</post-construct>
-			<pre-destroy>
-				<lifecycle-callback-method>preDestroy</lifecycle-callback-method>
-			</pre-destroy>
-		</interceptor>	   
-    </interceptors>
-    <assembly-descriptor>
-    	<interceptor-binding>
-    		<ejb-name>MetadataBean</ejb-name>
-    		<interceptor-class>org.jboss.ejb3.test.interceptors.common.CommonInterceptor</interceptor-class>
-    	</interceptor-binding>
-    </assembly-descriptor>
-</ejb-jar>
\ No newline at end of file

Copied: projects/ejb3/dev/ejbthree1269/interceptors/src/test/resources/badbinding/goodbean-interceptor-binding/META-INF/ejb-jar.xml (from rev 72450, projects/ejb3/trunk/interceptors/src/test/resources/badbinding/goodbean-interceptor-binding/META-INF/ejb-jar.xml)
===================================================================
--- projects/ejb3/dev/ejbthree1269/interceptors/src/test/resources/badbinding/goodbean-interceptor-binding/META-INF/ejb-jar.xml	                        (rev 0)
+++ projects/ejb3/dev/ejbthree1269/interceptors/src/test/resources/badbinding/goodbean-interceptor-binding/META-INF/ejb-jar.xml	2008-04-18 17:47:17 UTC (rev 72451)
@@ -0,0 +1,39 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<ejb-jar
+        xmlns="http://java.sun.com/xml/ns/javaee"
+        xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+        xsi:schemaLocation="http://java.sun.com/xml/ns/javaee
+                            http://java.sun.com/xml/ns/javaee/ejb-jar_3_0.xsd"
+        version="3.0">
+    <display-name>InterceptorsTest</display-name>
+    <!-- Must define a bean here, because we have no annotation on it -->
+    <!-- (Can't use @Stateless within ejb3-interceptors) -->
+    <enterprise-beans>
+    	<session>
+    		<ejb-name>MetadataBean</ejb-name>
+    		<around-invoke>
+    			<method-name>aroundInvoke</method-name>
+    		</around-invoke>
+    	</session>
+    </enterprise-beans>
+    <interceptors>
+		<interceptor>
+			<interceptor-class>org.jboss.ejb3.test.interceptors.common.CommonInterceptor</interceptor-class>
+			<around-invoke>
+				<method-name>aroundInvoke</method-name>
+			</around-invoke>
+			<post-construct>
+				<lifecycle-callback-method>postConstruct</lifecycle-callback-method>
+			</post-construct>
+			<pre-destroy>
+				<lifecycle-callback-method>preDestroy</lifecycle-callback-method>
+			</pre-destroy>
+		</interceptor>	   
+    </interceptors>
+    <assembly-descriptor>
+    	<interceptor-binding>
+    		<ejb-name>MetadataBean</ejb-name>
+    		<interceptor-class>org.jboss.ejb3.test.interceptors.common.CommonInterceptor</interceptor-class>
+    	</interceptor-binding>
+    </assembly-descriptor>
+</ejb-jar>
\ No newline at end of file

Copied: projects/ejb3/dev/ejbthree1269/interceptors/src/test/resources/badbinding/goodbean-interceptor-binding-with-method (from rev 72450, projects/ejb3/trunk/interceptors/src/test/resources/badbinding/goodbean-interceptor-binding-with-method)

Copied: projects/ejb3/dev/ejbthree1269/interceptors/src/test/resources/badbinding/goodbean-interceptor-binding-with-method/META-INF (from rev 72450, projects/ejb3/trunk/interceptors/src/test/resources/badbinding/goodbean-interceptor-binding-with-method/META-INF)

Deleted: projects/ejb3/dev/ejbthree1269/interceptors/src/test/resources/badbinding/goodbean-interceptor-binding-with-method/META-INF/ejb-jar.xml
===================================================================
--- projects/ejb3/trunk/interceptors/src/test/resources/badbinding/goodbean-interceptor-binding-with-method/META-INF/ejb-jar.xml	2008-04-18 16:36:56 UTC (rev 72450)
+++ projects/ejb3/dev/ejbthree1269/interceptors/src/test/resources/badbinding/goodbean-interceptor-binding-with-method/META-INF/ejb-jar.xml	2008-04-18 17:47:17 UTC (rev 72451)
@@ -1,43 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<ejb-jar
-        xmlns="http://java.sun.com/xml/ns/javaee"
-        xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-        xsi:schemaLocation="http://java.sun.com/xml/ns/javaee
-                            http://java.sun.com/xml/ns/javaee/ejb-jar_3_0.xsd"
-        version="3.0">
-    <display-name>InterceptorsTest</display-name>
-    <!-- Must define a bean here, because we have no annotation on it -->
-    <!-- (Can't use @Stateless within ejb3-interceptors) -->
-    <enterprise-beans>
-    	<session>
-    		<ejb-name>MetadataBean</ejb-name>
-    		<around-invoke>
-    			<method-name>aroundInvoke</method-name>
-    		</around-invoke>
-    	</session>
-    </enterprise-beans>
-    <interceptors>
-		<interceptor>
-			<interceptor-class>org.jboss.ejb3.test.interceptors.common.CommonInterceptor</interceptor-class>
-			<around-invoke>
-				<method-name>aroundInvoke</method-name>
-			</around-invoke>
-			<post-construct>
-				<lifecycle-callback-method>postConstruct</lifecycle-callback-method>
-			</post-construct>
-			<pre-destroy>
-				<lifecycle-callback-method>preDestroy</lifecycle-callback-method>
-			</pre-destroy>
-		</interceptor>	   
-    </interceptors>
-    <assembly-descriptor>
-    	<interceptor-binding>
-    		<ejb-name>MetadataBean</ejb-name>
-    		<interceptor-class>org.jboss.ejb3.test.interceptors.common.CommonInterceptor</interceptor-class>
-         <method>
-            <method-name>sayHi</method-name>
-         </method>
-
-    	</interceptor-binding>
-    </assembly-descriptor>
-</ejb-jar>
\ No newline at end of file

Copied: projects/ejb3/dev/ejbthree1269/interceptors/src/test/resources/badbinding/goodbean-interceptor-binding-with-method/META-INF/ejb-jar.xml (from rev 72450, projects/ejb3/trunk/interceptors/src/test/resources/badbinding/goodbean-interceptor-binding-with-method/META-INF/ejb-jar.xml)
===================================================================
--- projects/ejb3/dev/ejbthree1269/interceptors/src/test/resources/badbinding/goodbean-interceptor-binding-with-method/META-INF/ejb-jar.xml	                        (rev 0)
+++ projects/ejb3/dev/ejbthree1269/interceptors/src/test/resources/badbinding/goodbean-interceptor-binding-with-method/META-INF/ejb-jar.xml	2008-04-18 17:47:17 UTC (rev 72451)
@@ -0,0 +1,43 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<ejb-jar
+        xmlns="http://java.sun.com/xml/ns/javaee"
+        xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+        xsi:schemaLocation="http://java.sun.com/xml/ns/javaee
+                            http://java.sun.com/xml/ns/javaee/ejb-jar_3_0.xsd"
+        version="3.0">
+    <display-name>InterceptorsTest</display-name>
+    <!-- Must define a bean here, because we have no annotation on it -->
+    <!-- (Can't use @Stateless within ejb3-interceptors) -->
+    <enterprise-beans>
+    	<session>
+    		<ejb-name>MetadataBean</ejb-name>
+    		<around-invoke>
+    			<method-name>aroundInvoke</method-name>
+    		</around-invoke>
+    	</session>
+    </enterprise-beans>
+    <interceptors>
+		<interceptor>
+			<interceptor-class>org.jboss.ejb3.test.interceptors.common.CommonInterceptor</interceptor-class>
+			<around-invoke>
+				<method-name>aroundInvoke</method-name>
+			</around-invoke>
+			<post-construct>
+				<lifecycle-callback-method>postConstruct</lifecycle-callback-method>
+			</post-construct>
+			<pre-destroy>
+				<lifecycle-callback-method>preDestroy</lifecycle-callback-method>
+			</pre-destroy>
+		</interceptor>	   
+    </interceptors>
+    <assembly-descriptor>
+    	<interceptor-binding>
+    		<ejb-name>MetadataBean</ejb-name>
+    		<interceptor-class>org.jboss.ejb3.test.interceptors.common.CommonInterceptor</interceptor-class>
+         <method>
+            <method-name>sayHi</method-name>
+         </method>
+
+    	</interceptor-binding>
+    </assembly-descriptor>
+</ejb-jar>
\ No newline at end of file

Copied: projects/ejb3/dev/ejbthree1269/interceptors/src/test/resources/badbinding/goodbean-interceptor-order-binding (from rev 72450, projects/ejb3/trunk/interceptors/src/test/resources/badbinding/goodbean-interceptor-order-binding)

Copied: projects/ejb3/dev/ejbthree1269/interceptors/src/test/resources/badbinding/goodbean-interceptor-order-binding/META-INF (from rev 72450, projects/ejb3/trunk/interceptors/src/test/resources/badbinding/goodbean-interceptor-order-binding/META-INF)

Deleted: projects/ejb3/dev/ejbthree1269/interceptors/src/test/resources/badbinding/goodbean-interceptor-order-binding/META-INF/ejb-jar.xml
===================================================================
--- projects/ejb3/trunk/interceptors/src/test/resources/badbinding/goodbean-interceptor-order-binding/META-INF/ejb-jar.xml	2008-04-18 16:36:56 UTC (rev 72450)
+++ projects/ejb3/dev/ejbthree1269/interceptors/src/test/resources/badbinding/goodbean-interceptor-order-binding/META-INF/ejb-jar.xml	2008-04-18 17:47:17 UTC (rev 72451)
@@ -1,41 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<ejb-jar
-        xmlns="http://java.sun.com/xml/ns/javaee"
-        xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-        xsi:schemaLocation="http://java.sun.com/xml/ns/javaee
-                            http://java.sun.com/xml/ns/javaee/ejb-jar_3_0.xsd"
-        version="3.0">
-    <display-name>InterceptorsTest</display-name>
-    <!-- Must define a bean here, because we have no annotation on it -->
-    <!-- (Can't use @Stateless within ejb3-interceptors) -->
-    <enterprise-beans>
-    	<session>
-    		<ejb-name>MetadataBean</ejb-name>
-    		<around-invoke>
-    			<method-name>aroundInvoke</method-name>
-    		</around-invoke>
-    	</session>
-    </enterprise-beans>
-    <interceptors>
-		<interceptor>
-			<interceptor-class>org.jboss.ejb3.test.interceptors.common.CommonInterceptor</interceptor-class>
-			<around-invoke>
-				<method-name>aroundInvoke</method-name>
-			</around-invoke>
-			<post-construct>
-				<lifecycle-callback-method>postConstruct</lifecycle-callback-method>
-			</post-construct>
-			<pre-destroy>
-				<lifecycle-callback-method>preDestroy</lifecycle-callback-method>
-			</pre-destroy>
-		</interceptor>	   
-    </interceptors>
-    <assembly-descriptor>
-    	<interceptor-binding>
-    		<ejb-name>MetadataBean</ejb-name>
-         <interceptor-order>
-       		<interceptor-class>org.jboss.ejb3.test.interceptors.common.CommonInterceptor</interceptor-class>
-         </interceptor-order>       		
-    	</interceptor-binding>
-    </assembly-descriptor>
-</ejb-jar>
\ No newline at end of file

Copied: projects/ejb3/dev/ejbthree1269/interceptors/src/test/resources/badbinding/goodbean-interceptor-order-binding/META-INF/ejb-jar.xml (from rev 72450, projects/ejb3/trunk/interceptors/src/test/resources/badbinding/goodbean-interceptor-order-binding/META-INF/ejb-jar.xml)
===================================================================
--- projects/ejb3/dev/ejbthree1269/interceptors/src/test/resources/badbinding/goodbean-interceptor-order-binding/META-INF/ejb-jar.xml	                        (rev 0)
+++ projects/ejb3/dev/ejbthree1269/interceptors/src/test/resources/badbinding/goodbean-interceptor-order-binding/META-INF/ejb-jar.xml	2008-04-18 17:47:17 UTC (rev 72451)
@@ -0,0 +1,41 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<ejb-jar
+        xmlns="http://java.sun.com/xml/ns/javaee"
+        xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+        xsi:schemaLocation="http://java.sun.com/xml/ns/javaee
+                            http://java.sun.com/xml/ns/javaee/ejb-jar_3_0.xsd"
+        version="3.0">
+    <display-name>InterceptorsTest</display-name>
+    <!-- Must define a bean here, because we have no annotation on it -->
+    <!-- (Can't use @Stateless within ejb3-interceptors) -->
+    <enterprise-beans>
+    	<session>
+    		<ejb-name>MetadataBean</ejb-name>
+    		<around-invoke>
+    			<method-name>aroundInvoke</method-name>
+    		</around-invoke>
+    	</session>
+    </enterprise-beans>
+    <interceptors>
+		<interceptor>
+			<interceptor-class>org.jboss.ejb3.test.interceptors.common.CommonInterceptor</interceptor-class>
+			<around-invoke>
+				<method-name>aroundInvoke</method-name>
+			</around-invoke>
+			<post-construct>
+				<lifecycle-callback-method>postConstruct</lifecycle-callback-method>
+			</post-construct>
+			<pre-destroy>
+				<lifecycle-callback-method>preDestroy</lifecycle-callback-method>
+			</pre-destroy>
+		</interceptor>	   
+    </interceptors>
+    <assembly-descriptor>
+    	<interceptor-binding>
+    		<ejb-name>MetadataBean</ejb-name>
+         <interceptor-order>
+       		<interceptor-class>org.jboss.ejb3.test.interceptors.common.CommonInterceptor</interceptor-class>
+         </interceptor-order>       		
+    	</interceptor-binding>
+    </assembly-descriptor>
+</ejb-jar>
\ No newline at end of file

Copied: projects/ejb3/dev/ejbthree1269/interceptors/src/test/resources/badbinding/goodbean-interceptor-order-binding-with-method (from rev 72450, projects/ejb3/trunk/interceptors/src/test/resources/badbinding/goodbean-interceptor-order-binding-with-method)

Copied: projects/ejb3/dev/ejbthree1269/interceptors/src/test/resources/badbinding/goodbean-interceptor-order-binding-with-method/META-INF (from rev 72450, projects/ejb3/trunk/interceptors/src/test/resources/badbinding/goodbean-interceptor-order-binding-with-method/META-INF)

Deleted: projects/ejb3/dev/ejbthree1269/interceptors/src/test/resources/badbinding/goodbean-interceptor-order-binding-with-method/META-INF/ejb-jar.xml
===================================================================
--- projects/ejb3/trunk/interceptors/src/test/resources/badbinding/goodbean-interceptor-order-binding-with-method/META-INF/ejb-jar.xml	2008-04-18 16:36:56 UTC (rev 72450)
+++ projects/ejb3/dev/ejbthree1269/interceptors/src/test/resources/badbinding/goodbean-interceptor-order-binding-with-method/META-INF/ejb-jar.xml	2008-04-18 17:47:17 UTC (rev 72451)
@@ -1,44 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<ejb-jar
-        xmlns="http://java.sun.com/xml/ns/javaee"
-        xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-        xsi:schemaLocation="http://java.sun.com/xml/ns/javaee
-                            http://java.sun.com/xml/ns/javaee/ejb-jar_3_0.xsd"
-        version="3.0">
-    <display-name>InterceptorsTest</display-name>
-    <!-- Must define a bean here, because we have no annotation on it -->
-    <!-- (Can't use @Stateless within ejb3-interceptors) -->
-    <enterprise-beans>
-    	<session>
-    		<ejb-name>MetadataBean</ejb-name>
-    		<around-invoke>
-    			<method-name>aroundInvoke</method-name>
-    		</around-invoke>
-    	</session>
-    </enterprise-beans>
-    <interceptors>
-		<interceptor>
-			<interceptor-class>org.jboss.ejb3.test.interceptors.common.CommonInterceptor</interceptor-class>
-			<around-invoke>
-				<method-name>aroundInvoke</method-name>
-			</around-invoke>
-			<post-construct>
-				<lifecycle-callback-method>postConstruct</lifecycle-callback-method>
-			</post-construct>
-			<pre-destroy>
-				<lifecycle-callback-method>preDestroy</lifecycle-callback-method>
-			</pre-destroy>
-		</interceptor>	   
-    </interceptors>
-    <assembly-descriptor>
-    	<interceptor-binding>
-    		<ejb-name>MetadataBean</ejb-name>
-         <interceptor-order>
-       		<interceptor-class>org.jboss.ejb3.test.interceptors.common.CommonInterceptor</interceptor-class>
-         </interceptor-order>       		
-         <method>
-            <method-name>sayHi</method-name>
-         </method>
-    	</interceptor-binding>
-    </assembly-descriptor>
-</ejb-jar>
\ No newline at end of file

Copied: projects/ejb3/dev/ejbthree1269/interceptors/src/test/resources/badbinding/goodbean-interceptor-order-binding-with-method/META-INF/ejb-jar.xml (from rev 72450, projects/ejb3/trunk/interceptors/src/test/resources/badbinding/goodbean-interceptor-order-binding-with-method/META-INF/ejb-jar.xml)
===================================================================
--- projects/ejb3/dev/ejbthree1269/interceptors/src/test/resources/badbinding/goodbean-interceptor-order-binding-with-method/META-INF/ejb-jar.xml	                        (rev 0)
+++ projects/ejb3/dev/ejbthree1269/interceptors/src/test/resources/badbinding/goodbean-interceptor-order-binding-with-method/META-INF/ejb-jar.xml	2008-04-18 17:47:17 UTC (rev 72451)
@@ -0,0 +1,44 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<ejb-jar
+        xmlns="http://java.sun.com/xml/ns/javaee"
+        xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+        xsi:schemaLocation="http://java.sun.com/xml/ns/javaee
+                            http://java.sun.com/xml/ns/javaee/ejb-jar_3_0.xsd"
+        version="3.0">
+    <display-name>InterceptorsTest</display-name>
+    <!-- Must define a bean here, because we have no annotation on it -->
+    <!-- (Can't use @Stateless within ejb3-interceptors) -->
+    <enterprise-beans>
+    	<session>
+    		<ejb-name>MetadataBean</ejb-name>
+    		<around-invoke>
+    			<method-name>aroundInvoke</method-name>
+    		</around-invoke>
+    	</session>
+    </enterprise-beans>
+    <interceptors>
+		<interceptor>
+			<interceptor-class>org.jboss.ejb3.test.interceptors.common.CommonInterceptor</interceptor-class>
+			<around-invoke>
+				<method-name>aroundInvoke</method-name>
+			</around-invoke>
+			<post-construct>
+				<lifecycle-callback-method>postConstruct</lifecycle-callback-method>
+			</post-construct>
+			<pre-destroy>
+				<lifecycle-callback-method>preDestroy</lifecycle-callback-method>
+			</pre-destroy>
+		</interceptor>	   
+    </interceptors>
+    <assembly-descriptor>
+    	<interceptor-binding>
+    		<ejb-name>MetadataBean</ejb-name>
+         <interceptor-order>
+       		<interceptor-class>org.jboss.ejb3.test.interceptors.common.CommonInterceptor</interceptor-class>
+         </interceptor-order>       		
+         <method>
+            <method-name>sayHi</method-name>
+         </method>
+    	</interceptor-binding>
+    </assembly-descriptor>
+</ejb-jar>
\ No newline at end of file

Modified: projects/ejb3/dev/ejbthree1269/interceptors/src/test/resources/defaultinterceptors/META-INF/ejb-jar.xml
===================================================================
--- projects/ejb3/dev/ejbthree1269/interceptors/src/test/resources/defaultinterceptors/META-INF/ejb-jar.xml	2008-04-18 16:36:56 UTC (rev 72450)
+++ projects/ejb3/dev/ejbthree1269/interceptors/src/test/resources/defaultinterceptors/META-INF/ejb-jar.xml	2008-04-18 17:47:17 UTC (rev 72451)
@@ -39,6 +39,10 @@
          </interceptor-order>
          <method>
             <method-name>xmlOrderedMethod</method-name>
+            <method-params>
+               <method-param>int</method-param>
+               <method-param>java.lang.String</method-param>
+            </method-params>
          </method>
       </interceptor-binding>
       <interceptor-binding>

Modified: projects/ejb3/dev/ejbthree1269/plugin/src/main/resources/installer.xml
===================================================================
--- projects/ejb3/dev/ejbthree1269/plugin/src/main/resources/installer.xml	2008-04-18 16:36:56 UTC (rev 72450)
+++ projects/ejb3/dev/ejbthree1269/plugin/src/main/resources/installer.xml	2008-04-18 17:47:17 UTC (rev 72451)
@@ -24,6 +24,7 @@
       <includes>
         <include>ant-contrib:ant-contrib</include>
         <include>org.jboss.ejb3:jboss-ejb3-cache</include>
+        <include>org.jboss.ejb3:jboss-ejb3-security</include>
         <include>org.jboss.ejb3:jboss-ejb3-core:jar</include>
         <include>org.jboss.ejb3:jboss-ejb3-ext-api</include>
         <include>org.jboss.ejb3:jboss-ejb3-ext-api-impl</include>

Modified: projects/ejb3/dev/ejbthree1269/pom.xml
===================================================================
--- projects/ejb3/dev/ejbthree1269/pom.xml	2008-04-18 16:36:56 UTC (rev 72450)
+++ projects/ejb3/dev/ejbthree1269/pom.xml	2008-04-18 17:47:17 UTC (rev 72451)
@@ -47,6 +47,7 @@
     <module>plugin</module>
     <module>pool</module>
     <!-- module>sandbox</module -->
+    <module>security</module>
   </modules>
 
   <profiles>

Copied: projects/ejb3/dev/ejbthree1269/security (from rev 72450, projects/ejb3/trunk/security)


Property changes on: projects/ejb3/dev/ejbthree1269/security
___________________________________________________________________
Name: svn:ignore
   + target


Deleted: projects/ejb3/dev/ejbthree1269/security/.classpath
===================================================================
--- projects/ejb3/trunk/security/.classpath	2008-04-18 16:36:56 UTC (rev 72450)
+++ projects/ejb3/dev/ejbthree1269/security/.classpath	2008-04-18 17:47:17 UTC (rev 72451)
@@ -1,49 +0,0 @@
-<classpath>
-  <classpathentry kind="src" path="src/main/java"/>
-  <classpathentry kind="src" path="src/main/resources" excluding="**/*.java"/>
-  <classpathentry kind="src" path="src/test/java" output="eclipse-target/tests-classes"/>
-  <classpathentry kind="src" path="src/test/resources" output="eclipse-target/tests-classes" excluding="**/*.java"/>
-  <classpathentry kind="output" path="eclipse-target/classes"/>
-  <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER"/>
-  <classpathentry kind="var" path="M2_REPO/junit/junit/4.4/junit-4.4.jar" sourcepath="M2_REPO/junit/junit/4.4/junit-4.4-sources.jar"/>
-  <classpathentry kind="var" path="M2_REPO/org/jboss/jboss-common-core/2.2.5.GA/jboss-common-core-2.2.5.GA.jar" sourcepath="M2_REPO/org/jboss/jboss-common-core/2.2.5.GA/jboss-common-core-2.2.5.GA-sources.jar"/>
-  <classpathentry kind="var" path="M2_REPO/org/jboss/logging/jboss-logging-spi/2.0.5.GA/jboss-logging-spi-2.0.5.GA.jar" sourcepath="M2_REPO/org/jboss/logging/jboss-logging-spi/2.0.5.GA/jboss-logging-spi-2.0.5.GA-sources.jar"/>
-  <classpathentry kind="var" path="M2_REPO/org/jboss/aop/jboss-aop/2.0.0.CR7/jboss-aop-2.0.0.CR7.jar" sourcepath="M2_REPO/org/jboss/aop/jboss-aop/2.0.0.CR7/jboss-aop-2.0.0.CR7-sources.jar"/>
-  <classpathentry kind="var" path="M2_REPO/ant/ant/1.6.5/ant-1.6.5.jar" sourcepath="M2_REPO/ant/ant/1.6.5/ant-1.6.5-sources.jar"/>
-  <classpathentry kind="var" path="M2_REPO/apache-xerces/xml-apis/2.7.1/xml-apis-2.7.1.jar"/>
-  <classpathentry kind="var" path="M2_REPO/org/jboss/javassist/3.6.0.GA/javassist-3.6.0.GA.jar" sourcepath="M2_REPO/org/jboss/javassist/3.6.0.GA/javassist-3.6.0.GA-sources.jar"/>
-  <classpathentry kind="var" path="M2_REPO/org/jboss/microcontainer/jboss-container/2.0.0.Beta9/jboss-container-2.0.0.Beta9.jar" sourcepath="M2_REPO/org/jboss/microcontainer/jboss-container/2.0.0.Beta9/jboss-container-2.0.0.Beta9-sources.jar"/>
-  <classpathentry kind="var" path="M2_REPO/org/jboss/jbossxb/2.0.0.CR8/jbossxb-2.0.0.CR8.jar" sourcepath="M2_REPO/org/jboss/jbossxb/2.0.0.CR8/jbossxb-2.0.0.CR8-sources.jar"/>
-  <classpathentry kind="var" path="M2_REPO/apache-xerces/xercesImpl/2.9.1/xercesImpl-2.9.1.jar"/>
-  <classpathentry kind="var" path="M2_REPO/wutka-dtdparser/dtdparser121/1.2.1/dtdparser121-1.2.1.jar"/>
-  <classpathentry kind="var" path="M2_REPO/javax/activation/activation/1.1/activation-1.1.jar" sourcepath="M2_REPO/javax/activation/activation/1.1/activation-1.1-sources.jar"/>
-  <classpathentry kind="var" path="M2_REPO/jboss/jboss-logging-spi/2.0.3.GA/jboss-logging-spi-2.0.3.GA.jar" sourcepath="M2_REPO/jboss/jboss-logging-spi/2.0.3.GA/jboss-logging-spi-2.0.3.GA-sources.jar"/>
-  <classpathentry kind="var" path="M2_REPO/jboss/jboss-common-logging-spi/2.0.4.GA/jboss-common-logging-spi-2.0.4.GA.jar" sourcepath="M2_REPO/jboss/jboss-common-logging-spi/2.0.4.GA/jboss-common-logging-spi-2.0.4.GA-sources.jar"/>
-  <classpathentry kind="var" path="M2_REPO/qdox/qdox/1.6/qdox-1.6.jar" sourcepath="M2_REPO/qdox/qdox/1.6/qdox-1.6-sources.jar"/>
-  <classpathentry kind="var" path="M2_REPO/trove/trove/1.0.2/trove-1.0.2.jar"/>
-  <classpathentry kind="var" path="M2_REPO/org/jboss/ejb3/jboss-ejb3-ext-api/0.3/jboss-ejb3-ext-api-0.3.jar" sourcepath="M2_REPO/org/jboss/ejb3/jboss-ejb3-ext-api/0.3/jboss-ejb3-ext-api-0.3-sources.jar">
-    <attributes>
-      <attribute value="jar:file://home/carlo/.m2/repository/org/jboss/ejb3/jboss-ejb3-ext-api/0.3/jboss-ejb3-ext-api-0.3-javadoc.jar!/" name="javadoc_location"/>
-    </attributes>
-  </classpathentry>
-  <classpathentry kind="var" path="M2_REPO/org/jboss/javaee/jboss-ejb-api/3.0.0.Beta3Update1/jboss-ejb-api-3.0.0.Beta3Update1.jar" sourcepath="M2_REPO/org/jboss/javaee/jboss-ejb-api/3.0.0.Beta3Update1/jboss-ejb-api-3.0.0.Beta3Update1-sources.jar"/>
-  <classpathentry kind="var" path="M2_REPO/org/jboss/javaee/jboss-transaction-api/1.0.1.Beta3Update1/jboss-transaction-api-1.0.1.Beta3Update1.jar" sourcepath="M2_REPO/org/jboss/javaee/jboss-transaction-api/1.0.1.Beta3Update1/jboss-transaction-api-1.0.1.Beta3Update1-sources.jar"/>
-  <classpathentry kind="var" path="M2_REPO/jboss/jbossws/jboss-jaxrpc/1.0.4.GA/jboss-jaxrpc-1.0.4.GA.jar"/>
-  <classpathentry kind="var" path="M2_REPO/org/jboss/ejb3/jboss-ejb3-ext-api-impl/0.3-SNAPSHOT/jboss-ejb3-ext-api-impl-0.3-SNAPSHOT.jar" sourcepath="M2_REPO/org/jboss/ejb3/jboss-ejb3-ext-api-impl/0.3-SNAPSHOT/jboss-ejb3-ext-api-impl-0.3-SNAPSHOT-sources.jar"/>
-  <classpathentry kind="var" path="M2_REPO/org/jboss/ejb3/jboss-ejb3-metadata/0.12.1/jboss-ejb3-metadata-0.12.1.jar" sourcepath="M2_REPO/org/jboss/ejb3/jboss-ejb3-metadata/0.12.1/jboss-ejb3-metadata-0.12.1-sources.jar"/>
-  <classpathentry kind="var" path="M2_REPO/org/jboss/metadata/jboss-metadata/1.0.0.Beta7/jboss-metadata-1.0.0.Beta7.jar" sourcepath="M2_REPO/org/jboss/metadata/jboss-metadata/1.0.0.Beta7/jboss-metadata-1.0.0.Beta7-sources.jar"/>
-  <classpathentry kind="var" path="M2_REPO/org/jboss/jboss-vfs/2.0.0.Beta10/jboss-vfs-2.0.0.Beta10.jar" sourcepath="M2_REPO/org/jboss/jboss-vfs/2.0.0.Beta10/jboss-vfs-2.0.0.Beta10-sources.jar"/>
-  <classpathentry kind="var" path="M2_REPO/javax/xml/bind/jaxb-api/2.1/jaxb-api-2.1.jar" sourcepath="M2_REPO/javax/xml/bind/jaxb-api/2.1/jaxb-api-2.1-sources.jar"/>
-  <classpathentry kind="var" path="M2_REPO/javax/xml/stream/stax-api/1.0-2/stax-api-1.0-2.jar" sourcepath="M2_REPO/javax/xml/stream/stax-api/1.0-2/stax-api-1.0-2-sources.jar"/>
-  <classpathentry kind="var" path="M2_REPO/org/jboss/jboss-jaxws/2.0.1.GA/jboss-jaxws-2.0.1.GA.jar"/>
-  <classpathentry kind="var" path="M2_REPO/org/jboss/ws/jbossws-spi/1.0.2.GA/jbossws-spi-1.0.2.GA.jar"/>
-  <classpathentry kind="var" path="M2_REPO/org/jboss/javaee/jboss-javaee/5.0.0.Beta3Update1/jboss-javaee-5.0.0.Beta3Update1.jar" sourcepath="M2_REPO/org/jboss/javaee/jboss-javaee/5.0.0.Beta3Update1/jboss-javaee-5.0.0.Beta3Update1-sources.jar"/>
-  <classpathentry kind="var" path="M2_REPO/org/jboss/javaee/jboss-jacc-api/1.1.0.Beta3Update1/jboss-jacc-api-1.1.0.Beta3Update1.jar" sourcepath="M2_REPO/org/jboss/javaee/jboss-jacc-api/1.1.0.Beta3Update1/jboss-jacc-api-1.1.0.Beta3Update1-sources.jar"/>
-  <classpathentry kind="var" path="M2_REPO/org/jboss/javaee/jboss-servlet-api/2.5.0.Beta3Update1/jboss-servlet-api-2.5.0.Beta3Update1.jar" sourcepath="M2_REPO/org/jboss/javaee/jboss-servlet-api/2.5.0.Beta3Update1/jboss-servlet-api-2.5.0.Beta3Update1-sources.jar"/>
-  <classpathentry kind="var" path="M2_REPO/org/jboss/javaee/jboss-jaspi-api/1.0.0.Beta3Update1/jboss-jaspi-api-1.0.0.Beta3Update1.jar" sourcepath="M2_REPO/org/jboss/javaee/jboss-jaspi-api/1.0.0.Beta3Update1/jboss-jaspi-api-1.0.0.Beta3Update1-sources.jar"/>
-  <classpathentry kind="var" path="M2_REPO/org/jboss/logging/jboss-logging-log4j/2.0.5.GA/jboss-logging-log4j-2.0.5.GA.jar" sourcepath="M2_REPO/org/jboss/logging/jboss-logging-log4j/2.0.5.GA/jboss-logging-log4j-2.0.5.GA-sources.jar"/>
-  <classpathentry kind="var" path="M2_REPO/apache-log4j/log4j/1.2.14/log4j-1.2.14.jar" sourcepath="M2_REPO/apache-log4j/log4j/1.2.14/log4j-1.2.14-sources.jar"/>
-  <classpathentry kind="var" path="M2_REPO/org/jboss/jboss-reflect/2.0.0.Beta11/jboss-reflect-2.0.0.Beta11.jar" sourcepath="M2_REPO/org/jboss/jboss-reflect/2.0.0.Beta11/jboss-reflect-2.0.0.Beta11-sources.jar"/>
-  <classpathentry kind="var" path="M2_REPO/org/jboss/security/jboss-security-spi/2.0.2.Beta5/jboss-security-spi-2.0.2.Beta5.jar" sourcepath="M2_REPO/org/jboss/security/jboss-security-spi/2.0.2.Beta5/jboss-security-spi-2.0.2.Beta5-sources.jar"/>
-  <classpathentry kind="var" path="M2_REPO/org/jboss/security/jbosssx/2.0.2.Beta5/jbosssx-2.0.2.Beta5.jar" sourcepath="M2_REPO/org/jboss/security/jbosssx/2.0.2.Beta5/jbosssx-2.0.2.Beta5-sources.jar"/>
-</classpath>
\ No newline at end of file

Copied: projects/ejb3/dev/ejbthree1269/security/.classpath (from rev 72450, projects/ejb3/trunk/security/.classpath)
===================================================================
--- projects/ejb3/dev/ejbthree1269/security/.classpath	                        (rev 0)
+++ projects/ejb3/dev/ejbthree1269/security/.classpath	2008-04-18 17:47:17 UTC (rev 72451)
@@ -0,0 +1,49 @@
+<classpath>
+  <classpathentry kind="src" path="src/main/java"/>
+  <classpathentry kind="src" path="src/main/resources" excluding="**/*.java"/>
+  <classpathentry kind="src" path="src/test/java" output="eclipse-target/tests-classes"/>
+  <classpathentry kind="src" path="src/test/resources" output="eclipse-target/tests-classes" excluding="**/*.java"/>
+  <classpathentry kind="output" path="eclipse-target/classes"/>
+  <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER"/>
+  <classpathentry kind="var" path="M2_REPO/junit/junit/4.4/junit-4.4.jar" sourcepath="M2_REPO/junit/junit/4.4/junit-4.4-sources.jar"/>
+  <classpathentry kind="var" path="M2_REPO/org/jboss/jboss-common-core/2.2.5.GA/jboss-common-core-2.2.5.GA.jar" sourcepath="M2_REPO/org/jboss/jboss-common-core/2.2.5.GA/jboss-common-core-2.2.5.GA-sources.jar"/>
+  <classpathentry kind="var" path="M2_REPO/org/jboss/logging/jboss-logging-spi/2.0.5.GA/jboss-logging-spi-2.0.5.GA.jar" sourcepath="M2_REPO/org/jboss/logging/jboss-logging-spi/2.0.5.GA/jboss-logging-spi-2.0.5.GA-sources.jar"/>
+  <classpathentry kind="var" path="M2_REPO/org/jboss/aop/jboss-aop/2.0.0.CR7/jboss-aop-2.0.0.CR7.jar" sourcepath="M2_REPO/org/jboss/aop/jboss-aop/2.0.0.CR7/jboss-aop-2.0.0.CR7-sources.jar"/>
+  <classpathentry kind="var" path="M2_REPO/ant/ant/1.6.5/ant-1.6.5.jar" sourcepath="M2_REPO/ant/ant/1.6.5/ant-1.6.5-sources.jar"/>
+  <classpathentry kind="var" path="M2_REPO/apache-xerces/xml-apis/2.7.1/xml-apis-2.7.1.jar"/>
+  <classpathentry kind="var" path="M2_REPO/org/jboss/javassist/3.6.0.GA/javassist-3.6.0.GA.jar" sourcepath="M2_REPO/org/jboss/javassist/3.6.0.GA/javassist-3.6.0.GA-sources.jar"/>
+  <classpathentry kind="var" path="M2_REPO/org/jboss/microcontainer/jboss-container/2.0.0.Beta9/jboss-container-2.0.0.Beta9.jar" sourcepath="M2_REPO/org/jboss/microcontainer/jboss-container/2.0.0.Beta9/jboss-container-2.0.0.Beta9-sources.jar"/>
+  <classpathentry kind="var" path="M2_REPO/org/jboss/jbossxb/2.0.0.CR8/jbossxb-2.0.0.CR8.jar" sourcepath="M2_REPO/org/jboss/jbossxb/2.0.0.CR8/jbossxb-2.0.0.CR8-sources.jar"/>
+  <classpathentry kind="var" path="M2_REPO/apache-xerces/xercesImpl/2.9.1/xercesImpl-2.9.1.jar"/>
+  <classpathentry kind="var" path="M2_REPO/wutka-dtdparser/dtdparser121/1.2.1/dtdparser121-1.2.1.jar"/>
+  <classpathentry kind="var" path="M2_REPO/javax/activation/activation/1.1/activation-1.1.jar" sourcepath="M2_REPO/javax/activation/activation/1.1/activation-1.1-sources.jar"/>
+  <classpathentry kind="var" path="M2_REPO/jboss/jboss-logging-spi/2.0.3.GA/jboss-logging-spi-2.0.3.GA.jar" sourcepath="M2_REPO/jboss/jboss-logging-spi/2.0.3.GA/jboss-logging-spi-2.0.3.GA-sources.jar"/>
+  <classpathentry kind="var" path="M2_REPO/jboss/jboss-common-logging-spi/2.0.4.GA/jboss-common-logging-spi-2.0.4.GA.jar" sourcepath="M2_REPO/jboss/jboss-common-logging-spi/2.0.4.GA/jboss-common-logging-spi-2.0.4.GA-sources.jar"/>
+  <classpathentry kind="var" path="M2_REPO/qdox/qdox/1.6/qdox-1.6.jar" sourcepath="M2_REPO/qdox/qdox/1.6/qdox-1.6-sources.jar"/>
+  <classpathentry kind="var" path="M2_REPO/trove/trove/1.0.2/trove-1.0.2.jar"/>
+  <classpathentry kind="var" path="M2_REPO/org/jboss/ejb3/jboss-ejb3-ext-api/0.3/jboss-ejb3-ext-api-0.3.jar" sourcepath="M2_REPO/org/jboss/ejb3/jboss-ejb3-ext-api/0.3/jboss-ejb3-ext-api-0.3-sources.jar">
+    <attributes>
+      <attribute value="jar:file://home/carlo/.m2/repository/org/jboss/ejb3/jboss-ejb3-ext-api/0.3/jboss-ejb3-ext-api-0.3-javadoc.jar!/" name="javadoc_location"/>
+    </attributes>
+  </classpathentry>
+  <classpathentry kind="var" path="M2_REPO/org/jboss/javaee/jboss-ejb-api/3.0.0.Beta3Update1/jboss-ejb-api-3.0.0.Beta3Update1.jar" sourcepath="M2_REPO/org/jboss/javaee/jboss-ejb-api/3.0.0.Beta3Update1/jboss-ejb-api-3.0.0.Beta3Update1-sources.jar"/>
+  <classpathentry kind="var" path="M2_REPO/org/jboss/javaee/jboss-transaction-api/1.0.1.Beta3Update1/jboss-transaction-api-1.0.1.Beta3Update1.jar" sourcepath="M2_REPO/org/jboss/javaee/jboss-transaction-api/1.0.1.Beta3Update1/jboss-transaction-api-1.0.1.Beta3Update1-sources.jar"/>
+  <classpathentry kind="var" path="M2_REPO/jboss/jbossws/jboss-jaxrpc/1.0.4.GA/jboss-jaxrpc-1.0.4.GA.jar"/>
+  <classpathentry kind="var" path="M2_REPO/org/jboss/ejb3/jboss-ejb3-ext-api-impl/0.3-SNAPSHOT/jboss-ejb3-ext-api-impl-0.3-SNAPSHOT.jar" sourcepath="M2_REPO/org/jboss/ejb3/jboss-ejb3-ext-api-impl/0.3-SNAPSHOT/jboss-ejb3-ext-api-impl-0.3-SNAPSHOT-sources.jar"/>
+  <classpathentry kind="var" path="M2_REPO/org/jboss/ejb3/jboss-ejb3-metadata/0.12.1/jboss-ejb3-metadata-0.12.1.jar" sourcepath="M2_REPO/org/jboss/ejb3/jboss-ejb3-metadata/0.12.1/jboss-ejb3-metadata-0.12.1-sources.jar"/>
+  <classpathentry kind="var" path="M2_REPO/org/jboss/metadata/jboss-metadata/1.0.0.Beta7/jboss-metadata-1.0.0.Beta7.jar" sourcepath="M2_REPO/org/jboss/metadata/jboss-metadata/1.0.0.Beta7/jboss-metadata-1.0.0.Beta7-sources.jar"/>
+  <classpathentry kind="var" path="M2_REPO/org/jboss/jboss-vfs/2.0.0.Beta10/jboss-vfs-2.0.0.Beta10.jar" sourcepath="M2_REPO/org/jboss/jboss-vfs/2.0.0.Beta10/jboss-vfs-2.0.0.Beta10-sources.jar"/>
+  <classpathentry kind="var" path="M2_REPO/javax/xml/bind/jaxb-api/2.1/jaxb-api-2.1.jar" sourcepath="M2_REPO/javax/xml/bind/jaxb-api/2.1/jaxb-api-2.1-sources.jar"/>
+  <classpathentry kind="var" path="M2_REPO/javax/xml/stream/stax-api/1.0-2/stax-api-1.0-2.jar" sourcepath="M2_REPO/javax/xml/stream/stax-api/1.0-2/stax-api-1.0-2-sources.jar"/>
+  <classpathentry kind="var" path="M2_REPO/org/jboss/jboss-jaxws/2.0.1.GA/jboss-jaxws-2.0.1.GA.jar"/>
+  <classpathentry kind="var" path="M2_REPO/org/jboss/ws/jbossws-spi/1.0.2.GA/jbossws-spi-1.0.2.GA.jar"/>
+  <classpathentry kind="var" path="M2_REPO/org/jboss/javaee/jboss-javaee/5.0.0.Beta3Update1/jboss-javaee-5.0.0.Beta3Update1.jar" sourcepath="M2_REPO/org/jboss/javaee/jboss-javaee/5.0.0.Beta3Update1/jboss-javaee-5.0.0.Beta3Update1-sources.jar"/>
+  <classpathentry kind="var" path="M2_REPO/org/jboss/javaee/jboss-jacc-api/1.1.0.Beta3Update1/jboss-jacc-api-1.1.0.Beta3Update1.jar" sourcepath="M2_REPO/org/jboss/javaee/jboss-jacc-api/1.1.0.Beta3Update1/jboss-jacc-api-1.1.0.Beta3Update1-sources.jar"/>
+  <classpathentry kind="var" path="M2_REPO/org/jboss/javaee/jboss-servlet-api/2.5.0.Beta3Update1/jboss-servlet-api-2.5.0.Beta3Update1.jar" sourcepath="M2_REPO/org/jboss/javaee/jboss-servlet-api/2.5.0.Beta3Update1/jboss-servlet-api-2.5.0.Beta3Update1-sources.jar"/>
+  <classpathentry kind="var" path="M2_REPO/org/jboss/javaee/jboss-jaspi-api/1.0.0.Beta3Update1/jboss-jaspi-api-1.0.0.Beta3Update1.jar" sourcepath="M2_REPO/org/jboss/javaee/jboss-jaspi-api/1.0.0.Beta3Update1/jboss-jaspi-api-1.0.0.Beta3Update1-sources.jar"/>
+  <classpathentry kind="var" path="M2_REPO/org/jboss/logging/jboss-logging-log4j/2.0.5.GA/jboss-logging-log4j-2.0.5.GA.jar" sourcepath="M2_REPO/org/jboss/logging/jboss-logging-log4j/2.0.5.GA/jboss-logging-log4j-2.0.5.GA-sources.jar"/>
+  <classpathentry kind="var" path="M2_REPO/apache-log4j/log4j/1.2.14/log4j-1.2.14.jar" sourcepath="M2_REPO/apache-log4j/log4j/1.2.14/log4j-1.2.14-sources.jar"/>
+  <classpathentry kind="var" path="M2_REPO/org/jboss/jboss-reflect/2.0.0.Beta11/jboss-reflect-2.0.0.Beta11.jar" sourcepath="M2_REPO/org/jboss/jboss-reflect/2.0.0.Beta11/jboss-reflect-2.0.0.Beta11-sources.jar"/>
+  <classpathentry kind="var" path="M2_REPO/org/jboss/security/jboss-security-spi/2.0.2.Beta5/jboss-security-spi-2.0.2.Beta5.jar" sourcepath="M2_REPO/org/jboss/security/jboss-security-spi/2.0.2.Beta5/jboss-security-spi-2.0.2.Beta5-sources.jar"/>
+  <classpathentry kind="var" path="M2_REPO/org/jboss/security/jbosssx/2.0.2.Beta5/jbosssx-2.0.2.Beta5.jar" sourcepath="M2_REPO/org/jboss/security/jbosssx/2.0.2.Beta5/jbosssx-2.0.2.Beta5-sources.jar"/>
+</classpath>
\ No newline at end of file

Deleted: projects/ejb3/dev/ejbthree1269/security/.project
===================================================================
--- projects/ejb3/trunk/security/.project	2008-04-18 16:36:56 UTC (rev 72450)
+++ projects/ejb3/dev/ejbthree1269/security/.project	2008-04-18 17:47:17 UTC (rev 72451)
@@ -1,13 +0,0 @@
-<projectDescription>
-  <name>jboss-ejb3-security</name>
-  <comment>The JBoss EJB 3.0 Security classes</comment>
-  <projects/>
-  <buildSpec>
-    <buildCommand>
-      <name>org.eclipse.jdt.core.javabuilder</name>
-    </buildCommand>
-  </buildSpec>
-  <natures>
-    <nature>org.eclipse.jdt.core.javanature</nature>
-  </natures>
-</projectDescription>
\ No newline at end of file

Copied: projects/ejb3/dev/ejbthree1269/security/.project (from rev 72450, projects/ejb3/trunk/security/.project)
===================================================================
--- projects/ejb3/dev/ejbthree1269/security/.project	                        (rev 0)
+++ projects/ejb3/dev/ejbthree1269/security/.project	2008-04-18 17:47:17 UTC (rev 72451)
@@ -0,0 +1,13 @@
+<projectDescription>
+  <name>jboss-ejb3-security</name>
+  <comment>The JBoss EJB 3.0 Security classes</comment>
+  <projects/>
+  <buildSpec>
+    <buildCommand>
+      <name>org.eclipse.jdt.core.javabuilder</name>
+    </buildCommand>
+  </buildSpec>
+  <natures>
+    <nature>org.eclipse.jdt.core.javanature</nature>
+  </natures>
+</projectDescription>
\ No newline at end of file

Copied: projects/ejb3/dev/ejbthree1269/security/.settings (from rev 72450, projects/ejb3/trunk/security/.settings)

Deleted: projects/ejb3/dev/ejbthree1269/security/.settings/org.eclipse.jdt.core.prefs
===================================================================
--- projects/ejb3/trunk/security/.settings/org.eclipse.jdt.core.prefs	2008-04-18 16:36:56 UTC (rev 72450)
+++ projects/ejb3/dev/ejbthree1269/security/.settings/org.eclipse.jdt.core.prefs	2008-04-18 17:47:17 UTC (rev 72451)
@@ -1,5 +0,0 @@
-#Thu Apr 17 15:09:53 CEST 2008
-org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.5
-eclipse.preferences.version=1
-org.eclipse.jdt.core.compiler.source=1.5
-org.eclipse.jdt.core.compiler.compliance=1.5

Copied: projects/ejb3/dev/ejbthree1269/security/.settings/org.eclipse.jdt.core.prefs (from rev 72450, projects/ejb3/trunk/security/.settings/org.eclipse.jdt.core.prefs)
===================================================================
--- projects/ejb3/dev/ejbthree1269/security/.settings/org.eclipse.jdt.core.prefs	                        (rev 0)
+++ projects/ejb3/dev/ejbthree1269/security/.settings/org.eclipse.jdt.core.prefs	2008-04-18 17:47:17 UTC (rev 72451)
@@ -0,0 +1,5 @@
+#Thu Apr 17 15:09:53 CEST 2008
+org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.5
+eclipse.preferences.version=1
+org.eclipse.jdt.core.compiler.source=1.5
+org.eclipse.jdt.core.compiler.compliance=1.5

Copied: projects/ejb3/dev/ejbthree1269/security/eclipse-target (from rev 72450, projects/ejb3/trunk/security/eclipse-target)

Copied: projects/ejb3/dev/ejbthree1269/security/eclipse-target/classes (from rev 72450, projects/ejb3/trunk/security/eclipse-target/classes)

Copied: projects/ejb3/dev/ejbthree1269/security/eclipse-target/tests-classes (from rev 72450, projects/ejb3/trunk/security/eclipse-target/tests-classes)

Deleted: projects/ejb3/dev/ejbthree1269/security/pom.xml
===================================================================
--- projects/ejb3/trunk/security/pom.xml	2008-04-18 16:36:56 UTC (rev 72450)
+++ projects/ejb3/dev/ejbthree1269/security/pom.xml	2008-04-18 17:47:17 UTC (rev 72451)
@@ -1,112 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<project xmlns="http://maven.apache.org/POM/4.0.0"
-  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-  xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
-
-  <!-- Define Parent -->
-  <parent>
-    <groupId>org.jboss.ejb3</groupId>
-    <artifactId>jboss-ejb3-build</artifactId>
-    <version>0.13.1-SNAPSHOT</version>
-    <relativePath>../build/pom.xml</relativePath>
-  </parent>
-
-  <!-- Maven POM Model Version -->
-  <modelVersion>4.0.0</modelVersion>
-
-  <!-- Artifact Information -->
-  <groupId>org.jboss.ejb3</groupId>
-  <artifactId>jboss-ejb3-security</artifactId>
-  <version>0.13.0-SNAPSHOT</version>
-  <packaging>jar</packaging>
-  <name>JBoss EJB 3.0 Security</name>
-  <url>http://labs.jboss.com/jbossejb3/</url>
-  <description>The JBoss EJB 3.0 Security classes</description>
-
-  <dependencies>
-
-    <!-- JBoss Security SPI -->
-    <dependency>
-      <groupId>org.jboss.security</groupId>
-      <artifactId>jboss-security-spi</artifactId>
-      <version>2.0.2.Beta5</version>
-    </dependency>
-
-    <!-- JBoss Security Impl -->
-    <dependency>
-      <groupId>org.jboss.security</groupId>
-      <artifactId>jbosssx</artifactId>
-      <version>2.0.2.Beta5</version>
-    </dependency>
-
-    <!-- EJB3 API -->
-    <dependency>
-      <groupId>org.jboss.javaee</groupId>
-      <artifactId>jboss-ejb-api</artifactId>
-    </dependency>
-
-    <!-- JACC API -->
-    <dependency>
-      <groupId>org.jboss.javaee</groupId>
-      <artifactId>jboss-jacc-api</artifactId>
-    </dependency>
-
-    <!-- JASPI API -->
-    <dependency>
-      <groupId>org.jboss.javaee</groupId>
-      <artifactId>jboss-jaspi-api</artifactId>
-      <version>1.0.0.Beta3Update1</version>
-    </dependency>
-
-   <dependency>
-     <groupId>org.jboss.ejb3</groupId>
-     <artifactId>jboss-ejb3-ext-api</artifactId>
-     <version>0.3</version>
-   </dependency>
-   <dependency>
-     <groupId>org.jboss.ejb3</groupId>
-     <artifactId>jboss-ejb3-ext-api-impl</artifactId>
-     <version>0.3-SNAPSHOT</version>
-   </dependency>
-
-   <!-- JBoss AOP -->
-   <dependency>
-     <groupId>org.jboss.aop</groupId>
-     <artifactId>jboss-aop</artifactId>
-   </dependency>
-
-   <!-- JBoss MetaData -->
-   <dependency>
-     <groupId>org.jboss.metadata</groupId>
-     <artifactId>jboss-metadata</artifactId>
-   </dependency>
-
-   <!-- EJB3 Metadata -->
-   <dependency>
-     <groupId>org.jboss.ejb3</groupId>
-     <artifactId>jboss-ejb3-metadata</artifactId>
-     <version>0.12.1</version>
-   </dependency>
-
-    <!-- JBoss Common Core -->
-    <dependency>
-      <groupId>org.jboss</groupId>
-      <artifactId>jboss-common-core</artifactId>
-    </dependency>
-
-    <!-- JBoss Common Logging -->
-    <dependency>
-      <groupId>org.jboss.logging</groupId>
-      <artifactId>jboss-logging-log4j</artifactId>
-      <scope>runtime</scope>
-    </dependency>
-
-    <!-- JUnit -->
-    <dependency>
-      <groupId>junit</groupId>
-      <artifactId>junit</artifactId>
-      <scope>test</scope>
-    </dependency>
-
-  </dependencies>
-</project>

Copied: projects/ejb3/dev/ejbthree1269/security/pom.xml (from rev 72450, projects/ejb3/trunk/security/pom.xml)
===================================================================
--- projects/ejb3/dev/ejbthree1269/security/pom.xml	                        (rev 0)
+++ projects/ejb3/dev/ejbthree1269/security/pom.xml	2008-04-18 17:47:17 UTC (rev 72451)
@@ -0,0 +1,112 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project xmlns="http://maven.apache.org/POM/4.0.0"
+  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+  xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
+
+  <!-- Define Parent -->
+  <parent>
+    <groupId>org.jboss.ejb3</groupId>
+    <artifactId>jboss-ejb3-build</artifactId>
+    <version>0.13.1-SNAPSHOT</version>
+    <relativePath>../build/pom.xml</relativePath>
+  </parent>
+
+  <!-- Maven POM Model Version -->
+  <modelVersion>4.0.0</modelVersion>
+
+  <!-- Artifact Information -->
+  <groupId>org.jboss.ejb3</groupId>
+  <artifactId>jboss-ejb3-security</artifactId>
+  <version>0.13.0-SNAPSHOT</version>
+  <packaging>jar</packaging>
+  <name>JBoss EJB 3.0 Security</name>
+  <url>http://labs.jboss.com/jbossejb3/</url>
+  <description>The JBoss EJB 3.0 Security classes</description>
+
+  <dependencies>
+
+    <!-- JBoss Security SPI -->
+    <dependency>
+      <groupId>org.jboss.security</groupId>
+      <artifactId>jboss-security-spi</artifactId>
+      <version>2.0.2.Beta5</version>
+    </dependency>
+
+    <!-- JBoss Security Impl -->
+    <dependency>
+      <groupId>org.jboss.security</groupId>
+      <artifactId>jbosssx</artifactId>
+      <version>2.0.2.Beta5</version>
+    </dependency>
+
+    <!-- EJB3 API -->
+    <dependency>
+      <groupId>org.jboss.javaee</groupId>
+      <artifactId>jboss-ejb-api</artifactId>
+    </dependency>
+
+    <!-- JACC API -->
+    <dependency>
+      <groupId>org.jboss.javaee</groupId>
+      <artifactId>jboss-jacc-api</artifactId>
+    </dependency>
+
+    <!-- JASPI API -->
+    <dependency>
+      <groupId>org.jboss.javaee</groupId>
+      <artifactId>jboss-jaspi-api</artifactId>
+      <version>1.0.0.Beta3Update1</version>
+    </dependency>
+
+   <dependency>
+     <groupId>org.jboss.ejb3</groupId>
+     <artifactId>jboss-ejb3-ext-api</artifactId>
+     <version>0.3</version>
+   </dependency>
+   <dependency>
+     <groupId>org.jboss.ejb3</groupId>
+     <artifactId>jboss-ejb3-ext-api-impl</artifactId>
+     <version>0.3-SNAPSHOT</version>
+   </dependency>
+
+   <!-- JBoss AOP -->
+   <dependency>
+     <groupId>org.jboss.aop</groupId>
+     <artifactId>jboss-aop</artifactId>
+   </dependency>
+
+   <!-- JBoss MetaData -->
+   <dependency>
+     <groupId>org.jboss.metadata</groupId>
+     <artifactId>jboss-metadata</artifactId>
+   </dependency>
+
+   <!-- EJB3 Metadata -->
+   <dependency>
+     <groupId>org.jboss.ejb3</groupId>
+     <artifactId>jboss-ejb3-metadata</artifactId>
+     <version>0.12.1</version>
+   </dependency>
+
+    <!-- JBoss Common Core -->
+    <dependency>
+      <groupId>org.jboss</groupId>
+      <artifactId>jboss-common-core</artifactId>
+    </dependency>
+
+    <!-- JBoss Common Logging -->
+    <dependency>
+      <groupId>org.jboss.logging</groupId>
+      <artifactId>jboss-logging-log4j</artifactId>
+      <scope>runtime</scope>
+    </dependency>
+
+    <!-- JUnit -->
+    <dependency>
+      <groupId>junit</groupId>
+      <artifactId>junit</artifactId>
+      <scope>test</scope>
+    </dependency>
+
+  </dependencies>
+</project>

Copied: projects/ejb3/dev/ejbthree1269/security/src (from rev 72450, projects/ejb3/trunk/security/src)

Copied: projects/ejb3/dev/ejbthree1269/security/src/main (from rev 72450, projects/ejb3/trunk/security/src/main)

Copied: projects/ejb3/dev/ejbthree1269/security/src/main/java (from rev 72450, projects/ejb3/trunk/security/src/main/java)

Copied: projects/ejb3/dev/ejbthree1269/security/src/main/java/org (from rev 72450, projects/ejb3/trunk/security/src/main/java/org)

Copied: projects/ejb3/dev/ejbthree1269/security/src/main/java/org/jboss (from rev 72450, projects/ejb3/trunk/security/src/main/java/org/jboss)

Copied: projects/ejb3/dev/ejbthree1269/security/src/main/java/org/jboss/ejb3 (from rev 72450, projects/ejb3/trunk/security/src/main/java/org/jboss/ejb3)

Copied: projects/ejb3/dev/ejbthree1269/security/src/main/java/org/jboss/ejb3/security (from rev 72450, projects/ejb3/trunk/security/src/main/java/org/jboss/ejb3/security)

Deleted: projects/ejb3/dev/ejbthree1269/security/src/main/java/org/jboss/ejb3/security/SecurityDomainManager.java
===================================================================
--- projects/ejb3/trunk/security/src/main/java/org/jboss/ejb3/security/SecurityDomainManager.java	2008-04-18 16:36:56 UTC (rev 72450)
+++ projects/ejb3/dev/ejbthree1269/security/src/main/java/org/jboss/ejb3/security/SecurityDomainManager.java	2008-04-18 17:47:17 UTC (rev 72451)
@@ -1,56 +0,0 @@
-/*
-  * JBoss, Home of Professional Open Source
-  * Copyright 2005, JBoss Inc., and individual contributors as indicated
-  * by the @authors tag. See the copyright.txt 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.ejb3.security;
-
-import javax.naming.InitialContext;
-import javax.naming.NamingException;
-
-//$Id$
-
-/**
- *  Utility class that deals with the authentication/authorization
- *  managers associated with a security domain
- *  @author <a href="mailto:Anil.Saldhana at jboss.org">Anil Saldhana</a>
- *  @since  Oct 9, 2006 
- *  @version $Revision$
- */
-public class SecurityDomainManager
-{
-   public static Object getSecurityManager(String securityDomain,
-         InitialContext ctx) throws NamingException
-   { 
-      return ctx.lookup(preProcessSecurityDomain(securityDomain)); 
-   }
-   
-   /**
-    * Ensure that the security domain is of the proper format
-    * @param domainValue
-    * @return
-    */
-   private static String preProcessSecurityDomain(String domainValue)
-   { 
-      if(domainValue.startsWith("java:/jaas"))
-         return domainValue;
-      else
-         return "java:/jaas/" + domainValue;
-   }
-}

Copied: projects/ejb3/dev/ejbthree1269/security/src/main/java/org/jboss/ejb3/security/SecurityDomainManager.java (from rev 72450, projects/ejb3/trunk/security/src/main/java/org/jboss/ejb3/security/SecurityDomainManager.java)
===================================================================
--- projects/ejb3/dev/ejbthree1269/security/src/main/java/org/jboss/ejb3/security/SecurityDomainManager.java	                        (rev 0)
+++ projects/ejb3/dev/ejbthree1269/security/src/main/java/org/jboss/ejb3/security/SecurityDomainManager.java	2008-04-18 17:47:17 UTC (rev 72451)
@@ -0,0 +1,56 @@
+/*
+  * JBoss, Home of Professional Open Source
+  * Copyright 2005, JBoss Inc., and individual contributors as indicated
+  * by the @authors tag. See the copyright.txt 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.ejb3.security;
+
+import javax.naming.InitialContext;
+import javax.naming.NamingException;
+
+//$Id$
+
+/**
+ *  Utility class that deals with the authentication/authorization
+ *  managers associated with a security domain
+ *  @author <a href="mailto:Anil.Saldhana at jboss.org">Anil Saldhana</a>
+ *  @since  Oct 9, 2006 
+ *  @version $Revision$
+ */
+public class SecurityDomainManager
+{
+   public static Object getSecurityManager(String securityDomain,
+         InitialContext ctx) throws NamingException
+   { 
+      return ctx.lookup(preProcessSecurityDomain(securityDomain)); 
+   }
+   
+   /**
+    * Ensure that the security domain is of the proper format
+    * @param domainValue
+    * @return
+    */
+   private static String preProcessSecurityDomain(String domainValue)
+   { 
+      if(domainValue.startsWith("java:/jaas"))
+         return domainValue;
+      else
+         return "java:/jaas/" + domainValue;
+   }
+}

Copied: projects/ejb3/dev/ejbthree1269/security/src/main/java/org/jboss/ejb3/security/bridge (from rev 72450, projects/ejb3/trunk/security/src/main/java/org/jboss/ejb3/security/bridge)

Deleted: projects/ejb3/dev/ejbthree1269/security/src/main/java/org/jboss/ejb3/security/bridge/SecurityDomainMetaDataBridge.java
===================================================================
--- projects/ejb3/trunk/security/src/main/java/org/jboss/ejb3/security/bridge/SecurityDomainMetaDataBridge.java	2008-04-18 16:36:56 UTC (rev 72450)
+++ projects/ejb3/dev/ejbthree1269/security/src/main/java/org/jboss/ejb3/security/bridge/SecurityDomainMetaDataBridge.java	2008-04-18 17:47:17 UTC (rev 72451)
@@ -1,58 +0,0 @@
-/*
- * JBoss, Home of Professional Open Source.
- * Copyright 2007, 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.ejb3.security.bridge;
-
-import java.lang.annotation.Annotation;
-
-import org.jboss.ejb3.annotation.SecurityDomain;
-import org.jboss.ejb3.annotation.impl.SecurityDomainImpl;
-import org.jboss.ejb3.metadata.MetaDataBridge;
-import org.jboss.metadata.ejb.jboss.JBossEnterpriseBeanMetaData;
-
-/**
- * Meta data bridge to return the SecurityDomain Annotation 
- *
- * @author <a href="mailto:carlo.dewolf at jboss.com">Carlo de Wolf</a>
- * @author Anil.Saldhana at jboss.com
- * @version $Revision: 68904 $
- */
-public class SecurityDomainMetaDataBridge implements MetaDataBridge<JBossEnterpriseBeanMetaData>
-{
-   public <A extends Annotation> A retrieveAnnotation(Class<A> annotationClass, JBossEnterpriseBeanMetaData beanMetaData, ClassLoader classLoader)
-   {
-      if (annotationClass == SecurityDomain.class)
-      {
-         String securityDomain = beanMetaData.getSecurityDomain();
-         //TODO: How to get the merged meta data? Is the following line correct? 
-         if(securityDomain == null)
-        	 securityDomain = beanMetaData.getJBossMetaData().getSecurityDomain();
-         if (securityDomain != null)
-            return annotationClass.cast(new SecurityDomainImpl(securityDomain)); 
-      }
-      return null;
-   }
-
-   public <A extends Annotation> A retrieveAnnotation(Class<A> annotationClass, JBossEnterpriseBeanMetaData beanMetaData, ClassLoader classLoader, String methodName, String... parameterNames)
-   {
-      return null;
-   }
-}

Copied: projects/ejb3/dev/ejbthree1269/security/src/main/java/org/jboss/ejb3/security/bridge/SecurityDomainMetaDataBridge.java (from rev 72450, projects/ejb3/trunk/security/src/main/java/org/jboss/ejb3/security/bridge/SecurityDomainMetaDataBridge.java)
===================================================================
--- projects/ejb3/dev/ejbthree1269/security/src/main/java/org/jboss/ejb3/security/bridge/SecurityDomainMetaDataBridge.java	                        (rev 0)
+++ projects/ejb3/dev/ejbthree1269/security/src/main/java/org/jboss/ejb3/security/bridge/SecurityDomainMetaDataBridge.java	2008-04-18 17:47:17 UTC (rev 72451)
@@ -0,0 +1,58 @@
+/*
+ * JBoss, Home of Professional Open Source.
+ * Copyright 2007, 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.ejb3.security.bridge;
+
+import java.lang.annotation.Annotation;
+
+import org.jboss.ejb3.annotation.SecurityDomain;
+import org.jboss.ejb3.annotation.impl.SecurityDomainImpl;
+import org.jboss.ejb3.metadata.MetaDataBridge;
+import org.jboss.metadata.ejb.jboss.JBossEnterpriseBeanMetaData;
+
+/**
+ * Meta data bridge to return the SecurityDomain Annotation 
+ *
+ * @author <a href="mailto:carlo.dewolf at jboss.com">Carlo de Wolf</a>
+ * @author Anil.Saldhana at jboss.com
+ * @version $Revision: 68904 $
+ */
+public class SecurityDomainMetaDataBridge implements MetaDataBridge<JBossEnterpriseBeanMetaData>
+{
+   public <A extends Annotation> A retrieveAnnotation(Class<A> annotationClass, JBossEnterpriseBeanMetaData beanMetaData, ClassLoader classLoader)
+   {
+      if (annotationClass == SecurityDomain.class)
+      {
+         String securityDomain = beanMetaData.getSecurityDomain();
+         //TODO: How to get the merged meta data? Is the following line correct? 
+         if(securityDomain == null)
+        	 securityDomain = beanMetaData.getJBossMetaData().getSecurityDomain();
+         if (securityDomain != null)
+            return annotationClass.cast(new SecurityDomainImpl(securityDomain)); 
+      }
+      return null;
+   }
+
+   public <A extends Annotation> A retrieveAnnotation(Class<A> annotationClass, JBossEnterpriseBeanMetaData beanMetaData, ClassLoader classLoader, String methodName, String... parameterNames)
+   {
+      return null;
+   }
+}

Copied: projects/ejb3/dev/ejbthree1269/security/src/main/java/org/jboss/ejb3/security/client (from rev 72450, projects/ejb3/trunk/security/src/main/java/org/jboss/ejb3/security/client)

Deleted: projects/ejb3/dev/ejbthree1269/security/src/main/java/org/jboss/ejb3/security/client/SecurityActions.java
===================================================================
--- projects/ejb3/trunk/security/src/main/java/org/jboss/ejb3/security/client/SecurityActions.java	2008-04-18 16:36:56 UTC (rev 72450)
+++ projects/ejb3/dev/ejbthree1269/security/src/main/java/org/jboss/ejb3/security/client/SecurityActions.java	2008-04-18 17:47:17 UTC (rev 72451)
@@ -1,687 +0,0 @@
-/*
-  * JBoss, Home of Professional Open Source
-  * Copyright 2005, JBoss Inc., and individual contributors as indicated
-  * by the @authors tag. See the copyright.txt 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.ejb3.security.client;
-
-import java.lang.reflect.UndeclaredThrowableException;
-import java.security.AccessController;
-import java.security.Principal;
-import java.security.PrivilegedAction;
-import java.security.PrivilegedActionException;
-import java.security.PrivilegedExceptionAction;
-
-import javax.security.auth.Subject;
-import javax.security.jacc.PolicyContext;
-import javax.security.jacc.PolicyContextException;
-
-import org.jboss.security.RunAsIdentity;
-import org.jboss.security.SecurityAssociation;
-import org.jboss.security.SecurityContext;
-import org.jboss.security.SecurityContextAssociation;
-import org.jboss.security.SecurityContextFactory;
-
-/** A collection of privileged actions for this package
- * @author Scott.Stark at jboss.org
- * @author <a href="mailto:alex at jboss.org">Alexey Loubyansky</a>
- * @version $Revison: $
- */
-class SecurityActions
-{   
-   interface PrincipalInfoAction
-   {
-      PrincipalInfoAction PRIVILEGED = new PrincipalInfoAction()
-      {
-         public void push(final Principal principal, final Object credential,
-            final Subject subject)
-         {
-            AccessController.doPrivileged(
-               new PrivilegedAction()
-               {
-                  public Object run()
-                  {
-                     SecurityAssociation.pushSubjectContext(subject, principal, credential);
-                     return null;
-                  }
-               }
-            );
-         }
-         public void pop()
-         {
-            AccessController.doPrivileged(
-               new PrivilegedAction()
-               {
-                  public Object run()
-                  {
-                     SecurityAssociation.popSubjectContext();
-                     return null;
-                  }
-               }
-            );
-         }
-
-         public Principal getPrincipal()
-         {
-            return (Principal)AccessController.doPrivileged(
-               new PrivilegedAction()
-               {
-                  public Object run()
-                  {
-                     return SecurityAssociation.getPrincipal();
-                  }
-               }
-            );
-         }
-
-         public void setPrincipal(final Principal principal)
-         {
-            AccessController.doPrivileged(
-               new PrivilegedAction()
-               {
-                  public Object run()
-                  {
-                     SecurityAssociation.setPrincipal(principal);
-                     return null;
-                  }
-               }
-            );
-         }
-
-         public Principal getCallerPrincipal()
-         {
-            return (Principal)AccessController.doPrivileged(
-               new PrivilegedAction()
-               {
-                  public Object run()
-                  {
-                     return SecurityAssociation.getCallerPrincipal();
-                  }
-               }
-            );
-         }
-
-         public Object getCredential()
-         {
-            return AccessController.doPrivileged(
-               new PrivilegedAction()
-               {
-                  public Object run()
-                  {
-                     return SecurityAssociation.getCredential();
-                  }
-               }
-            );
-         }
-
-         public void setCredential(final Object credential)
-         {
-            AccessController.doPrivileged(
-               new PrivilegedAction()
-               {
-                  public Object run()
-                  {
-                     SecurityAssociation.setCredential(credential);
-                     return null;
-                  }
-               }
-            );
-         }
-      };
-
-      PrincipalInfoAction NON_PRIVILEGED = new PrincipalInfoAction()
-      {
-         public void push(Principal principal, Object credential, Subject subject)
-         {
-            SecurityAssociation.pushSubjectContext(subject, principal, credential);
-         }
-         public void pop()
-         {
-            SecurityAssociation.popSubjectContext();
-         }
-         public Principal getPrincipal()
-         {
-            return SecurityAssociation.getPrincipal();
-         }
-         public void setPrincipal(Principal principal)
-         {
-            SecurityAssociation.setPrincipal(principal);
-         }
-         public Principal getCallerPrincipal()
-         {
-            return SecurityAssociation.getPrincipal();
-         }
-         public Object getCredential()
-         {
-            return SecurityAssociation.getCredential();
-         }
-         public void setCredential(Object credential)
-         {
-            SecurityAssociation.setCredential(credential);
-         }
-      };
-
-      void push(Principal principal, Object credential, Subject subject);
-      void pop();
-      Principal getPrincipal();
-      void setPrincipal(Principal principal);
-      Principal getCallerPrincipal();
-      Object getCredential();
-      void setCredential(Object credential);
-   }
-
-
-   interface RunAsIdentityActions
-   {
-      RunAsIdentityActions PRIVILEGED = new RunAsIdentityActions()
-      {
-         private final PrivilegedAction peekAction = new PrivilegedAction()
-         {
-            public Object run()
-            {
-               return SecurityAssociation.peekRunAsIdentity();
-            }
-         };
-
-         private final PrivilegedAction popAction = new PrivilegedAction()
-         {
-            public Object run()
-            {
-               return SecurityAssociation.popRunAsIdentity();
-            }
-         };
-
-         public RunAsIdentity peek()
-         {
-            return (RunAsIdentity)AccessController.doPrivileged(peekAction);
-         }
-
-         public void push(final RunAsIdentity id)
-         {
-            AccessController.doPrivileged(
-               new PrivilegedAction()
-               {
-                  public Object run()
-                  {
-                     SecurityAssociation.pushRunAsIdentity(id);
-                     return null;
-                  }
-               }
-            );
-         }
-
-         public RunAsIdentity pop()
-         {
-            return (RunAsIdentity)AccessController.doPrivileged(popAction);
-         }
-      };
-
-      RunAsIdentityActions NON_PRIVILEGED = new RunAsIdentityActions()
-      {
-         public RunAsIdentity peek()
-         {
-            return SecurityAssociation.peekRunAsIdentity();
-         }
-
-         public void push(RunAsIdentity id)
-         {
-            SecurityAssociation.pushRunAsIdentity(id);
-         }
-
-         public RunAsIdentity pop()
-         {
-            return SecurityAssociation.popRunAsIdentity();
-         }
-      };
-
-      RunAsIdentity peek();
-
-      void push(RunAsIdentity id);
-
-      RunAsIdentity pop();
-   }
-
-   interface ContextInfoActions
-   {
-      static final String EX_KEY = "org.jboss.security.exception";
-      ContextInfoActions PRIVILEGED = new ContextInfoActions()
-      {
-         private final PrivilegedAction exAction = new PrivilegedAction()
-         {
-            public Object run()
-            {
-               return SecurityAssociation.getContextInfo(EX_KEY);
-            }
-         };
-         public Exception getContextException()
-         {
-            return (Exception)AccessController.doPrivileged(exAction);
-         }
-      };
-
-      ContextInfoActions NON_PRIVILEGED = new ContextInfoActions()
-      {
-         public Exception getContextException()
-         {
-            return (Exception)SecurityAssociation.getContextInfo(EX_KEY);
-         }
-      };
-
-      Exception getContextException();
-   }
-
-   interface PolicyContextActions
-   {
-      /** The JACC PolicyContext key for the current Subject */
-      static final String SUBJECT_CONTEXT_KEY = "javax.security.auth.Subject.container";
-      PolicyContextActions PRIVILEGED = new PolicyContextActions()
-      {
-         private final PrivilegedExceptionAction exAction = new PrivilegedExceptionAction()
-         {
-            public Object run() throws Exception
-            {
-               return (Subject) PolicyContext.getContext(SUBJECT_CONTEXT_KEY);
-            }
-         };
-         public Subject getContextSubject()
-            throws PolicyContextException
-         {
-            try
-            {
-               return (Subject) AccessController.doPrivileged(exAction);
-            }
-            catch(PrivilegedActionException e)
-            {
-               Exception ex = e.getException();
-               if( ex instanceof PolicyContextException )
-                  throw (PolicyContextException) ex;
-               else
-                  throw new UndeclaredThrowableException(ex);
-            }
-         }
-      };
-
-      PolicyContextActions NON_PRIVILEGED = new PolicyContextActions()
-      {
-         public Subject getContextSubject()
-            throws PolicyContextException
-         {
-            return (Subject) PolicyContext.getContext(SUBJECT_CONTEXT_KEY);
-         }
-      };
-
-      Subject getContextSubject()
-         throws PolicyContextException;
-   }
-   
-   static ClassLoader getContextClassLoader()
-   {
-      return TCLAction.UTIL.getContextClassLoader();
-   }
-
-   static void setContextClassLoader(ClassLoader loader)
-   {
-      TCLAction.UTIL.setContextClassLoader(loader);
-   }
-
-   static Principal getCallerPrincipal()
-   {
-      if (System.getSecurityManager() == null)
-      {
-         return PrincipalInfoAction.NON_PRIVILEGED.getCallerPrincipal();
-      }
-      else
-      {
-         return PrincipalInfoAction.PRIVILEGED.getCallerPrincipal();
-      }
-   }
-
-   static Principal getPrincipal()
-   {
-      if (System.getSecurityManager() == null)
-      {
-         return PrincipalInfoAction.NON_PRIVILEGED.getPrincipal();
-      }
-      else
-      {
-         return PrincipalInfoAction.PRIVILEGED.getPrincipal();
-      }
-   }
-
-   static void setPrincipal(Principal principal)
-   {
-      if (System.getSecurityManager() == null)
-      {
-         PrincipalInfoAction.NON_PRIVILEGED.setPrincipal(principal);
-      }
-      else
-      {
-         PrincipalInfoAction.PRIVILEGED.setPrincipal(principal);
-      }
-   }
-
-   static Object getCredential()
-   {
-      if (System.getSecurityManager() == null)
-      {
-         return PrincipalInfoAction.NON_PRIVILEGED.getCredential();
-      }
-      else
-      {
-         return PrincipalInfoAction.PRIVILEGED.getCredential();
-      }
-   }
-   
-   static void setCredential(Object credential)
-   {
-      if (System.getSecurityManager() == null)
-      {
-         PrincipalInfoAction.NON_PRIVILEGED.setCredential(credential);
-      }
-      else
-      {
-         PrincipalInfoAction.PRIVILEGED.setCredential(credential);
-      }
-   }
-
-   static void pushSubjectContext(Principal principal, Object credential,
-      Subject subject)
-   {
-      if(System.getSecurityManager() == null)
-      {
-         PrincipalInfoAction.NON_PRIVILEGED.push(principal, credential, subject);
-      }
-      else
-      {
-         PrincipalInfoAction.PRIVILEGED.push(principal, credential, subject);
-      }
-   }
-   static void popSubjectContext()
-   {
-      if(System.getSecurityManager() == null)
-      {
-         PrincipalInfoAction.NON_PRIVILEGED.pop();
-      }
-      else
-      {
-         PrincipalInfoAction.PRIVILEGED.pop();
-      }
-   }
-
-   static RunAsIdentity peekRunAsIdentity()
-   {
-      if(System.getSecurityManager() == null)
-      {
-         return RunAsIdentityActions.NON_PRIVILEGED.peek();
-      }
-      else
-      {
-         return RunAsIdentityActions.PRIVILEGED.peek();
-      }
-   }
-
-   static void pushRunAsIdentity(RunAsIdentity principal)
-   {     
-      if(System.getSecurityManager() == null)
-      {
-         RunAsIdentityActions.NON_PRIVILEGED.push(principal);
-      }
-      else
-      {
-         RunAsIdentityActions.PRIVILEGED.push(principal);
-      }
-   }
-
-   static RunAsIdentity popRunAsIdentity()
-   {
-      if(System.getSecurityManager() == null)
-      {
-         return RunAsIdentityActions.NON_PRIVILEGED.pop();
-      }
-      else
-      {
-         return RunAsIdentityActions.PRIVILEGED.pop();
-      }
-   }
-
-   static Exception getContextException()
-   {
-      if(System.getSecurityManager() == null)
-      {
-         return ContextInfoActions.NON_PRIVILEGED.getContextException();
-      }
-      else
-      {
-         return ContextInfoActions.PRIVILEGED.getContextException();
-      }
-   }
-
-   static Subject getContextSubject()
-      throws PolicyContextException
-   {
-      if(System.getSecurityManager() == null)
-      {
-         return PolicyContextActions.NON_PRIVILEGED.getContextSubject();
-      }
-      else
-      {
-         return PolicyContextActions.PRIVILEGED.getContextSubject();
-      }      
-   }
-
-   
-   
-   
-   
-   
-   interface TCLAction
-   {
-      class UTIL
-      {
-         static TCLAction getTCLAction()
-         {
-            return System.getSecurityManager() == null ? NON_PRIVILEGED : PRIVILEGED;
-         }
-
-         static ClassLoader getContextClassLoader()
-         {
-            return getTCLAction().getContextClassLoader();
-         }
-
-         static ClassLoader getContextClassLoader(Thread thread)
-         {
-            return getTCLAction().getContextClassLoader(thread);
-         }
-
-         static void setContextClassLoader(ClassLoader cl)
-         {
-            getTCLAction().setContextClassLoader(cl);
-         }
-
-         static void setContextClassLoader(Thread thread, ClassLoader cl)
-         {
-            getTCLAction().setContextClassLoader(thread, cl);
-         }
-      }
-
-      TCLAction NON_PRIVILEGED = new TCLAction()
-      {
-         public ClassLoader getContextClassLoader()
-         {
-            return Thread.currentThread().getContextClassLoader();
-         }
-
-         public ClassLoader getContextClassLoader(Thread thread)
-         {
-            return thread.getContextClassLoader();
-         }
-
-         public void setContextClassLoader(ClassLoader cl)
-         {
-            Thread.currentThread().setContextClassLoader(cl);
-         }
-
-         public void setContextClassLoader(Thread thread, ClassLoader cl)
-         {
-            thread.setContextClassLoader(cl);
-         }
-      };
-
-      TCLAction PRIVILEGED = new TCLAction()
-      {
-         private final PrivilegedAction getTCLPrivilegedAction = new PrivilegedAction()
-         {
-            public Object run()
-            {
-               return Thread.currentThread().getContextClassLoader();
-            }
-         };
-
-         public ClassLoader getContextClassLoader()
-         {
-            return (ClassLoader)AccessController.doPrivileged(getTCLPrivilegedAction);
-         }
-
-         public ClassLoader getContextClassLoader(final Thread thread)
-         {
-            return (ClassLoader)AccessController.doPrivileged(new PrivilegedAction()
-            {
-               public Object run()
-               {
-                  return thread.getContextClassLoader();
-               }
-            });
-         }
-
-         public void setContextClassLoader(final ClassLoader cl)
-         {
-            AccessController.doPrivileged(
-               new PrivilegedAction()
-               {
-                  public Object run()
-                  {
-                     Thread.currentThread().setContextClassLoader(cl);
-                     return null;
-                  }
-               }
-            );
-         }
-
-         public void setContextClassLoader(final Thread thread, final ClassLoader cl)
-         {
-            AccessController.doPrivileged(
-               new PrivilegedAction()
-               {
-                  public Object run()
-                  {
-                     thread.setContextClassLoader(cl);
-                     return null;
-                  }
-               }
-            );
-         }
-      };
-
-      ClassLoader getContextClassLoader();
-
-      ClassLoader getContextClassLoader(Thread thread);
-
-      void setContextClassLoader(ClassLoader cl);
-
-      void setContextClassLoader(Thread thread, ClassLoader cl);
-   }
-   
-   
-   private static class GetSecurityContextAction implements PrivilegedAction
-   {  
-      GetSecurityContextAction()
-      { 
-      }
-      public Object run()
-      { 
-         return SecurityContextAssociation.getSecurityContext(); 
-      }
-   }
-   
-   private static class SetSecurityContextAction implements PrivilegedAction
-   { 
-      private SecurityContext securityContext; 
-      SetSecurityContextAction(SecurityContext sc)
-      {
-         this.securityContext = sc; 
-      }
-      
-      public Object run()
-      {
-         SecurityContextAssociation.setSecurityContext(securityContext);
-         return null;
-      }
-   }
-   
-   private static class ClearSecurityContextAction implements PrivilegedAction
-   {  
-      ClearSecurityContextAction()
-      { 
-      }
-      public Object run()
-      {
-         SecurityContextAssociation.clearSecurityContext();
-         return null;
-      }
-   }
-
-   static void clearSecurityContext()
-   {
-      ClearSecurityContextAction action = new ClearSecurityContextAction();
-      AccessController.doPrivileged(action);
-   }
-   
-   static SecurityContext createSecurityContext() throws PrivilegedActionException
-   {
-      return (SecurityContext) AccessController.doPrivileged(new PrivilegedExceptionAction()
-      {
-
-         public Object run() throws Exception
-         { 
-            return SecurityContextFactory.createSecurityContext("CLIENT");
-         }
-      });
-   }
-   
-   static SecurityContext getSecurityContext()
-   {
-      GetSecurityContextAction action = new GetSecurityContextAction();
-      return (SecurityContext)AccessController.doPrivileged(action);
-   }
-   
-   static void setSecurityContext(SecurityContext sc)
-   {
-      SetSecurityContextAction action = new SetSecurityContextAction(sc);
-      AccessController.doPrivileged(action);
-   }
-   
-   static void establishSecurityContext(String domain, Principal p, Object cred,
-         Subject subject) throws Exception
-   { 
-      SecurityContext sc = SecurityContextFactory.createSecurityContext(p, 
-            cred, subject, domain); 
-      SecurityActions.setSecurityContext(sc);
-   }
-   
-}

Copied: projects/ejb3/dev/ejbthree1269/security/src/main/java/org/jboss/ejb3/security/client/SecurityActions.java (from rev 72450, projects/ejb3/trunk/security/src/main/java/org/jboss/ejb3/security/client/SecurityActions.java)
===================================================================
--- projects/ejb3/dev/ejbthree1269/security/src/main/java/org/jboss/ejb3/security/client/SecurityActions.java	                        (rev 0)
+++ projects/ejb3/dev/ejbthree1269/security/src/main/java/org/jboss/ejb3/security/client/SecurityActions.java	2008-04-18 17:47:17 UTC (rev 72451)
@@ -0,0 +1,687 @@
+/*
+  * JBoss, Home of Professional Open Source
+  * Copyright 2005, JBoss Inc., and individual contributors as indicated
+  * by the @authors tag. See the copyright.txt 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.ejb3.security.client;
+
+import java.lang.reflect.UndeclaredThrowableException;
+import java.security.AccessController;
+import java.security.Principal;
+import java.security.PrivilegedAction;
+import java.security.PrivilegedActionException;
+import java.security.PrivilegedExceptionAction;
+
+import javax.security.auth.Subject;
+import javax.security.jacc.PolicyContext;
+import javax.security.jacc.PolicyContextException;
+
+import org.jboss.security.RunAsIdentity;
+import org.jboss.security.SecurityAssociation;
+import org.jboss.security.SecurityContext;
+import org.jboss.security.SecurityContextAssociation;
+import org.jboss.security.SecurityContextFactory;
+
+/** A collection of privileged actions for this package
+ * @author Scott.Stark at jboss.org
+ * @author <a href="mailto:alex at jboss.org">Alexey Loubyansky</a>
+ * @version $Revison: $
+ */
+class SecurityActions
+{   
+   interface PrincipalInfoAction
+   {
+      PrincipalInfoAction PRIVILEGED = new PrincipalInfoAction()
+      {
+         public void push(final Principal principal, final Object credential,
+            final Subject subject)
+         {
+            AccessController.doPrivileged(
+               new PrivilegedAction()
+               {
+                  public Object run()
+                  {
+                     SecurityAssociation.pushSubjectContext(subject, principal, credential);
+                     return null;
+                  }
+               }
+            );
+         }
+         public void pop()
+         {
+            AccessController.doPrivileged(
+               new PrivilegedAction()
+               {
+                  public Object run()
+                  {
+                     SecurityAssociation.popSubjectContext();
+                     return null;
+                  }
+               }
+            );
+         }
+
+         public Principal getPrincipal()
+         {
+            return (Principal)AccessController.doPrivileged(
+               new PrivilegedAction()
+               {
+                  public Object run()
+                  {
+                     return SecurityAssociation.getPrincipal();
+                  }
+               }
+            );
+         }
+
+         public void setPrincipal(final Principal principal)
+         {
+            AccessController.doPrivileged(
+               new PrivilegedAction()
+               {
+                  public Object run()
+                  {
+                     SecurityAssociation.setPrincipal(principal);
+                     return null;
+                  }
+               }
+            );
+         }
+
+         public Principal getCallerPrincipal()
+         {
+            return (Principal)AccessController.doPrivileged(
+               new PrivilegedAction()
+               {
+                  public Object run()
+                  {
+                     return SecurityAssociation.getCallerPrincipal();
+                  }
+               }
+            );
+         }
+
+         public Object getCredential()
+         {
+            return AccessController.doPrivileged(
+               new PrivilegedAction()
+               {
+                  public Object run()
+                  {
+                     return SecurityAssociation.getCredential();
+                  }
+               }
+            );
+         }
+
+         public void setCredential(final Object credential)
+         {
+            AccessController.doPrivileged(
+               new PrivilegedAction()
+               {
+                  public Object run()
+                  {
+                     SecurityAssociation.setCredential(credential);
+                     return null;
+                  }
+               }
+            );
+         }
+      };
+
+      PrincipalInfoAction NON_PRIVILEGED = new PrincipalInfoAction()
+      {
+         public void push(Principal principal, Object credential, Subject subject)
+         {
+            SecurityAssociation.pushSubjectContext(subject, principal, credential);
+         }
+         public void pop()
+         {
+            SecurityAssociation.popSubjectContext();
+         }
+         public Principal getPrincipal()
+         {
+            return SecurityAssociation.getPrincipal();
+         }
+         public void setPrincipal(Principal principal)
+         {
+            SecurityAssociation.setPrincipal(principal);
+         }
+         public Principal getCallerPrincipal()
+         {
+            return SecurityAssociation.getPrincipal();
+         }
+         public Object getCredential()
+         {
+            return SecurityAssociation.getCredential();
+         }
+         public void setCredential(Object credential)
+         {
+            SecurityAssociation.setCredential(credential);
+         }
+      };
+
+      void push(Principal principal, Object credential, Subject subject);
+      void pop();
+      Principal getPrincipal();
+      void setPrincipal(Principal principal);
+      Principal getCallerPrincipal();
+      Object getCredential();
+      void setCredential(Object credential);
+   }
+
+
+   interface RunAsIdentityActions
+   {
+      RunAsIdentityActions PRIVILEGED = new RunAsIdentityActions()
+      {
+         private final PrivilegedAction peekAction = new PrivilegedAction()
+         {
+            public Object run()
+            {
+               return SecurityAssociation.peekRunAsIdentity();
+            }
+         };
+
+         private final PrivilegedAction popAction = new PrivilegedAction()
+         {
+            public Object run()
+            {
+               return SecurityAssociation.popRunAsIdentity();
+            }
+         };
+
+         public RunAsIdentity peek()
+         {
+            return (RunAsIdentity)AccessController.doPrivileged(peekAction);
+         }
+
+         public void push(final RunAsIdentity id)
+         {
+            AccessController.doPrivileged(
+               new PrivilegedAction()
+               {
+                  public Object run()
+                  {
+                     SecurityAssociation.pushRunAsIdentity(id);
+                     return null;
+                  }
+               }
+            );
+         }
+
+         public RunAsIdentity pop()
+         {
+            return (RunAsIdentity)AccessController.doPrivileged(popAction);
+         }
+      };
+
+      RunAsIdentityActions NON_PRIVILEGED = new RunAsIdentityActions()
+      {
+         public RunAsIdentity peek()
+         {
+            return SecurityAssociation.peekRunAsIdentity();
+         }
+
+         public void push(RunAsIdentity id)
+         {
+            SecurityAssociation.pushRunAsIdentity(id);
+         }
+
+         public RunAsIdentity pop()
+         {
+            return SecurityAssociation.popRunAsIdentity();
+         }
+      };
+
+      RunAsIdentity peek();
+
+      void push(RunAsIdentity id);
+
+      RunAsIdentity pop();
+   }
+
+   interface ContextInfoActions
+   {
+      static final String EX_KEY = "org.jboss.security.exception";
+      ContextInfoActions PRIVILEGED = new ContextInfoActions()
+      {
+         private final PrivilegedAction exAction = new PrivilegedAction()
+         {
+            public Object run()
+            {
+               return SecurityAssociation.getContextInfo(EX_KEY);
+            }
+         };
+         public Exception getContextException()
+         {
+            return (Exception)AccessController.doPrivileged(exAction);
+         }
+      };
+
+      ContextInfoActions NON_PRIVILEGED = new ContextInfoActions()
+      {
+         public Exception getContextException()
+         {
+            return (Exception)SecurityAssociation.getContextInfo(EX_KEY);
+         }
+      };
+
+      Exception getContextException();
+   }
+
+   interface PolicyContextActions
+   {
+      /** The JACC PolicyContext key for the current Subject */
+      static final String SUBJECT_CONTEXT_KEY = "javax.security.auth.Subject.container";
+      PolicyContextActions PRIVILEGED = new PolicyContextActions()
+      {
+         private final PrivilegedExceptionAction exAction = new PrivilegedExceptionAction()
+         {
+            public Object run() throws Exception
+            {
+               return (Subject) PolicyContext.getContext(SUBJECT_CONTEXT_KEY);
+            }
+         };
+         public Subject getContextSubject()
+            throws PolicyContextException
+         {
+            try
+            {
+               return (Subject) AccessController.doPrivileged(exAction);
+            }
+            catch(PrivilegedActionException e)
+            {
+               Exception ex = e.getException();
+               if( ex instanceof PolicyContextException )
+                  throw (PolicyContextException) ex;
+               else
+                  throw new UndeclaredThrowableException(ex);
+            }
+         }
+      };
+
+      PolicyContextActions NON_PRIVILEGED = new PolicyContextActions()
+      {
+         public Subject getContextSubject()
+            throws PolicyContextException
+         {
+            return (Subject) PolicyContext.getContext(SUBJECT_CONTEXT_KEY);
+         }
+      };
+
+      Subject getContextSubject()
+         throws PolicyContextException;
+   }
+   
+   static ClassLoader getContextClassLoader()
+   {
+      return TCLAction.UTIL.getContextClassLoader();
+   }
+
+   static void setContextClassLoader(ClassLoader loader)
+   {
+      TCLAction.UTIL.setContextClassLoader(loader);
+   }
+
+   static Principal getCallerPrincipal()
+   {
+      if (System.getSecurityManager() == null)
+      {
+         return PrincipalInfoAction.NON_PRIVILEGED.getCallerPrincipal();
+      }
+      else
+      {
+         return PrincipalInfoAction.PRIVILEGED.getCallerPrincipal();
+      }
+   }
+
+   static Principal getPrincipal()
+   {
+      if (System.getSecurityManager() == null)
+      {
+         return PrincipalInfoAction.NON_PRIVILEGED.getPrincipal();
+      }
+      else
+      {
+         return PrincipalInfoAction.PRIVILEGED.getPrincipal();
+      }
+   }
+
+   static void setPrincipal(Principal principal)
+   {
+      if (System.getSecurityManager() == null)
+      {
+         PrincipalInfoAction.NON_PRIVILEGED.setPrincipal(principal);
+      }
+      else
+      {
+         PrincipalInfoAction.PRIVILEGED.setPrincipal(principal);
+      }
+   }
+
+   static Object getCredential()
+   {
+      if (System.getSecurityManager() == null)
+      {
+         return PrincipalInfoAction.NON_PRIVILEGED.getCredential();
+      }
+      else
+      {
+         return PrincipalInfoAction.PRIVILEGED.getCredential();
+      }
+   }
+   
+   static void setCredential(Object credential)
+   {
+      if (System.getSecurityManager() == null)
+      {
+         PrincipalInfoAction.NON_PRIVILEGED.setCredential(credential);
+      }
+      else
+      {
+         PrincipalInfoAction.PRIVILEGED.setCredential(credential);
+      }
+   }
+
+   static void pushSubjectContext(Principal principal, Object credential,
+      Subject subject)
+   {
+      if(System.getSecurityManager() == null)
+      {
+         PrincipalInfoAction.NON_PRIVILEGED.push(principal, credential, subject);
+      }
+      else
+      {
+         PrincipalInfoAction.PRIVILEGED.push(principal, credential, subject);
+      }
+   }
+   static void popSubjectContext()
+   {
+      if(System.getSecurityManager() == null)
+      {
+         PrincipalInfoAction.NON_PRIVILEGED.pop();
+      }
+      else
+      {
+         PrincipalInfoAction.PRIVILEGED.pop();
+      }
+   }
+
+   static RunAsIdentity peekRunAsIdentity()
+   {
+      if(System.getSecurityManager() == null)
+      {
+         return RunAsIdentityActions.NON_PRIVILEGED.peek();
+      }
+      else
+      {
+         return RunAsIdentityActions.PRIVILEGED.peek();
+      }
+   }
+
+   static void pushRunAsIdentity(RunAsIdentity principal)
+   {     
+      if(System.getSecurityManager() == null)
+      {
+         RunAsIdentityActions.NON_PRIVILEGED.push(principal);
+      }
+      else
+      {
+         RunAsIdentityActions.PRIVILEGED.push(principal);
+      }
+   }
+
+   static RunAsIdentity popRunAsIdentity()
+   {
+      if(System.getSecurityManager() == null)
+      {
+         return RunAsIdentityActions.NON_PRIVILEGED.pop();
+      }
+      else
+      {
+         return RunAsIdentityActions.PRIVILEGED.pop();
+      }
+   }
+
+   static Exception getContextException()
+   {
+      if(System.getSecurityManager() == null)
+      {
+         return ContextInfoActions.NON_PRIVILEGED.getContextException();
+      }
+      else
+      {
+         return ContextInfoActions.PRIVILEGED.getContextException();
+      }
+   }
+
+   static Subject getContextSubject()
+      throws PolicyContextException
+   {
+      if(System.getSecurityManager() == null)
+      {
+         return PolicyContextActions.NON_PRIVILEGED.getContextSubject();
+      }
+      else
+      {
+         return PolicyContextActions.PRIVILEGED.getContextSubject();
+      }      
+   }
+
+   
+   
+   
+   
+   
+   interface TCLAction
+   {
+      class UTIL
+      {
+         static TCLAction getTCLAction()
+         {
+            return System.getSecurityManager() == null ? NON_PRIVILEGED : PRIVILEGED;
+         }
+
+         static ClassLoader getContextClassLoader()
+         {
+            return getTCLAction().getContextClassLoader();
+         }
+
+         static ClassLoader getContextClassLoader(Thread thread)
+         {
+            return getTCLAction().getContextClassLoader(thread);
+         }
+
+         static void setContextClassLoader(ClassLoader cl)
+         {
+            getTCLAction().setContextClassLoader(cl);
+         }
+
+         static void setContextClassLoader(Thread thread, ClassLoader cl)
+         {
+            getTCLAction().setContextClassLoader(thread, cl);
+         }
+      }
+
+      TCLAction NON_PRIVILEGED = new TCLAction()
+      {
+         public ClassLoader getContextClassLoader()
+         {
+            return Thread.currentThread().getContextClassLoader();
+         }
+
+         public ClassLoader getContextClassLoader(Thread thread)
+         {
+            return thread.getContextClassLoader();
+         }
+
+         public void setContextClassLoader(ClassLoader cl)
+         {
+            Thread.currentThread().setContextClassLoader(cl);
+         }
+
+         public void setContextClassLoader(Thread thread, ClassLoader cl)
+         {
+            thread.setContextClassLoader(cl);
+         }
+      };
+
+      TCLAction PRIVILEGED = new TCLAction()
+      {
+         private final PrivilegedAction getTCLPrivilegedAction = new PrivilegedAction()
+         {
+            public Object run()
+            {
+               return Thread.currentThread().getContextClassLoader();
+            }
+         };
+
+         public ClassLoader getContextClassLoader()
+         {
+            return (ClassLoader)AccessController.doPrivileged(getTCLPrivilegedAction);
+         }
+
+         public ClassLoader getContextClassLoader(final Thread thread)
+         {
+            return (ClassLoader)AccessController.doPrivileged(new PrivilegedAction()
+            {
+               public Object run()
+               {
+                  return thread.getContextClassLoader();
+               }
+            });
+         }
+
+         public void setContextClassLoader(final ClassLoader cl)
+         {
+            AccessController.doPrivileged(
+               new PrivilegedAction()
+               {
+                  public Object run()
+                  {
+                     Thread.currentThread().setContextClassLoader(cl);
+                     return null;
+                  }
+               }
+            );
+         }
+
+         public void setContextClassLoader(final Thread thread, final ClassLoader cl)
+         {
+            AccessController.doPrivileged(
+               new PrivilegedAction()
+               {
+                  public Object run()
+                  {
+                     thread.setContextClassLoader(cl);
+                     return null;
+                  }
+               }
+            );
+         }
+      };
+
+      ClassLoader getContextClassLoader();
+
+      ClassLoader getContextClassLoader(Thread thread);
+
+      void setContextClassLoader(ClassLoader cl);
+
+      void setContextClassLoader(Thread thread, ClassLoader cl);
+   }
+   
+   
+   private static class GetSecurityContextAction implements PrivilegedAction
+   {  
+      GetSecurityContextAction()
+      { 
+      }
+      public Object run()
+      { 
+         return SecurityContextAssociation.getSecurityContext(); 
+      }
+   }
+   
+   private static class SetSecurityContextAction implements PrivilegedAction
+   { 
+      private SecurityContext securityContext; 
+      SetSecurityContextAction(SecurityContext sc)
+      {
+         this.securityContext = sc; 
+      }
+      
+      public Object run()
+      {
+         SecurityContextAssociation.setSecurityContext(securityContext);
+         return null;
+      }
+   }
+   
+   private static class ClearSecurityContextAction implements PrivilegedAction
+   {  
+      ClearSecurityContextAction()
+      { 
+      }
+      public Object run()
+      {
+         SecurityContextAssociation.clearSecurityContext();
+         return null;
+      }
+   }
+
+   static void clearSecurityContext()
+   {
+      ClearSecurityContextAction action = new ClearSecurityContextAction();
+      AccessController.doPrivileged(action);
+   }
+   
+   static SecurityContext createSecurityContext() throws PrivilegedActionException
+   {
+      return (SecurityContext) AccessController.doPrivileged(new PrivilegedExceptionAction()
+      {
+
+         public Object run() throws Exception
+         { 
+            return SecurityContextFactory.createSecurityContext("CLIENT");
+         }
+      });
+   }
+   
+   static SecurityContext getSecurityContext()
+   {
+      GetSecurityContextAction action = new GetSecurityContextAction();
+      return (SecurityContext)AccessController.doPrivileged(action);
+   }
+   
+   static void setSecurityContext(SecurityContext sc)
+   {
+      SetSecurityContextAction action = new SetSecurityContextAction(sc);
+      AccessController.doPrivileged(action);
+   }
+   
+   static void establishSecurityContext(String domain, Principal p, Object cred,
+         Subject subject) throws Exception
+   { 
+      SecurityContext sc = SecurityContextFactory.createSecurityContext(p, 
+            cred, subject, domain); 
+      SecurityActions.setSecurityContext(sc);
+   }
+   
+}

Deleted: projects/ejb3/dev/ejbthree1269/security/src/main/java/org/jboss/ejb3/security/client/SecurityClientInterceptor.java
===================================================================
--- projects/ejb3/trunk/security/src/main/java/org/jboss/ejb3/security/client/SecurityClientInterceptor.java	2008-04-18 16:36:56 UTC (rev 72450)
+++ projects/ejb3/dev/ejbthree1269/security/src/main/java/org/jboss/ejb3/security/client/SecurityClientInterceptor.java	2008-04-18 17:47:17 UTC (rev 72451)
@@ -1,77 +0,0 @@
-/*
-  * JBoss, Home of Professional Open Source
-  * Copyright 2005, JBoss Inc., and individual contributors as indicated
-  * by the @authors tag. See the copyright.txt 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.ejb3.security.client;
-
-import java.security.Principal;
-import java.io.ObjectStreamException;
-
-import org.jboss.security.SecurityContext;
-
-/** 
- * Security Interceptor in Client Proxy
- *
- * @author <a href="bill at jboss.org">Bill Burke</a>
- * @version $Revision: 64740 $
- */
-public final class SecurityClientInterceptor implements org.jboss.aop.advice.Interceptor, java.io.Serializable
-{
-   private static final long serialVersionUID = -6366165968174741107L;
-
-   public static final SecurityClientInterceptor singleton = new SecurityClientInterceptor();
-   public String getName() { return "SecurityClientInterceptor"; }
-
-   /**
-    * Authenticates the caller using the principal and credentials in the 
-    * Infocation if thre is a security manager and an invcocation method.
-    */
-   public Object invoke(org.jboss.aop.joinpoint.Invocation invocation) throws Throwable
-   {
-      // Get Principal and credentials 
-      Principal principal = SecurityActions.getPrincipal();
-      if (principal != null) invocation.getMetaData().addMetaData("security", "principal", principal);
-
-      Object credential = SecurityActions.getCredential();
-      if (credential != null) invocation.getMetaData().addMetaData("security", "credential", credential);
-      
-      //Get the security context
-      SecurityContext sc = SecurityActions.getSecurityContext();
-      if(sc == null)
-      {
-         sc = SecurityActions.createSecurityContext();
-         SecurityActions.setSecurityContext(sc);
-      }
-      invocation.getMetaData().addMetaData("security", "context", sc);
-      try
-      { 
-         return invocation.invokeNext();  
-      }
-      finally
-      {
-         //Place the previous context
-         SecurityActions.setSecurityContext(sc);
-      }
-   }
-
-   Object readResolve() throws ObjectStreamException {
-      return singleton;
-   }
-}

Copied: projects/ejb3/dev/ejbthree1269/security/src/main/java/org/jboss/ejb3/security/client/SecurityClientInterceptor.java (from rev 72450, projects/ejb3/trunk/security/src/main/java/org/jboss/ejb3/security/client/SecurityClientInterceptor.java)
===================================================================
--- projects/ejb3/dev/ejbthree1269/security/src/main/java/org/jboss/ejb3/security/client/SecurityClientInterceptor.java	                        (rev 0)
+++ projects/ejb3/dev/ejbthree1269/security/src/main/java/org/jboss/ejb3/security/client/SecurityClientInterceptor.java	2008-04-18 17:47:17 UTC (rev 72451)
@@ -0,0 +1,77 @@
+/*
+  * JBoss, Home of Professional Open Source
+  * Copyright 2005, JBoss Inc., and individual contributors as indicated
+  * by the @authors tag. See the copyright.txt 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.ejb3.security.client;
+
+import java.security.Principal;
+import java.io.ObjectStreamException;
+
+import org.jboss.security.SecurityContext;
+
+/** 
+ * Security Interceptor in Client Proxy
+ *
+ * @author <a href="bill at jboss.org">Bill Burke</a>
+ * @version $Revision: 64740 $
+ */
+public final class SecurityClientInterceptor implements org.jboss.aop.advice.Interceptor, java.io.Serializable
+{
+   private static final long serialVersionUID = -6366165968174741107L;
+
+   public static final SecurityClientInterceptor singleton = new SecurityClientInterceptor();
+   public String getName() { return "SecurityClientInterceptor"; }
+
+   /**
+    * Authenticates the caller using the principal and credentials in the 
+    * Infocation if thre is a security manager and an invcocation method.
+    */
+   public Object invoke(org.jboss.aop.joinpoint.Invocation invocation) throws Throwable
+   {
+      // Get Principal and credentials 
+      Principal principal = SecurityActions.getPrincipal();
+      if (principal != null) invocation.getMetaData().addMetaData("security", "principal", principal);
+
+      Object credential = SecurityActions.getCredential();
+      if (credential != null) invocation.getMetaData().addMetaData("security", "credential", credential);
+      
+      //Get the security context
+      SecurityContext sc = SecurityActions.getSecurityContext();
+      if(sc == null)
+      {
+         sc = SecurityActions.createSecurityContext();
+         SecurityActions.setSecurityContext(sc);
+      }
+      invocation.getMetaData().addMetaData("security", "context", sc);
+      try
+      { 
+         return invocation.invokeNext();  
+      }
+      finally
+      {
+         //Place the previous context
+         SecurityActions.setSecurityContext(sc);
+      }
+   }
+
+   Object readResolve() throws ObjectStreamException {
+      return singleton;
+   }
+}

Copied: projects/ejb3/dev/ejbthree1269/security/src/main/java/org/jboss/ejb3/security/embedded (from rev 72450, projects/ejb3/trunk/security/src/main/java/org/jboss/ejb3/security/embedded)

Copied: projects/ejb3/dev/ejbthree1269/security/src/main/java/org/jboss/ejb3/security/embedded/plugins (from rev 72450, projects/ejb3/trunk/security/src/main/java/org/jboss/ejb3/security/embedded/plugins)

Deleted: projects/ejb3/dev/ejbthree1269/security/src/main/java/org/jboss/ejb3/security/embedded/plugins/SecurityDomainContext.java
===================================================================
--- projects/ejb3/trunk/security/src/main/java/org/jboss/ejb3/security/embedded/plugins/SecurityDomainContext.java	2008-04-18 16:36:56 UTC (rev 72450)
+++ projects/ejb3/dev/ejbthree1269/security/src/main/java/org/jboss/ejb3/security/embedded/plugins/SecurityDomainContext.java	2008-04-18 17:47:17 UTC (rev 72451)
@@ -1,180 +0,0 @@
-/*
-* JBoss, Home of Professional Open Source
-* Copyright 2005, JBoss Inc., and individual contributors as indicated
-* by the @authors tag. See the copyright.txt 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.ejb3.security.embedded.plugins;
-
-import javax.naming.InvalidNameException;
-import javax.naming.NamingException;
-import javax.security.auth.Subject;
-
-import org.jboss.security.AuthorizationManager;
-import org.jboss.security.RealmMapping;
-import org.jboss.security.AuthenticationManager;
-import org.jboss.security.SubjectSecurityManager;
-import org.jboss.security.audit.AuditManager;
-import org.jboss.security.identitytrust.IdentityTrustManager;
-import org.jboss.security.mapping.MappingManager;
-import org.jboss.util.CachePolicy;
-
-/** An encapsulation of the JNDI security context infomation
- *
- * @author  Scott.Stark at jboss.org
- * @author  Anil.Saldhana at jboss.org
- * @version 
- */
-public class SecurityDomainContext
-{
-   static final String ACTIVE_SUBJECT = "subject";
-   static final String AUTHENTICATION_MGR = "authenticationMgr";
-   static final String SECURITY_MGR = "securityMgr";
-   static final String REALM_MAPPING = "realmMapping";
-   static final String AUTHORIZATION_MGR = "authorizationMgr";
-   static final String AUDIT_MGR = "auditMgr";
-   static final String MAPPING_MGR = "mappingMgr";
-   static final String IDENTITY_TRUST_MGR = "identityTrustMgr";
-   static final String AUTH_CACHE = "authenticationCache";
-   static final String DOMAIN_CONTEXT = "domainContext";
-
-   AuthenticationManager securityMgr;
-   AuthorizationManager authorizationMgr;
-   CachePolicy authenticationCache;
-   AuditManager auditMgr;
-   MappingManager mappingMgr;
-   IdentityTrustManager identityTrustMgr;
-
-   /** Creates new SecurityDomainContextHandler */
-   public SecurityDomainContext(AuthenticationManager securityMgr, 
-         CachePolicy authenticationCache)
-   {
-      this.securityMgr = securityMgr;
-      this.authenticationCache = authenticationCache; 
-   }
-
-   public Object lookup(String name) throws NamingException
-   {
-      Object binding = null;
-      if( name == null || name.length() == 0 )
-         throw new InvalidNameException("name cannot be null or empty");
-
-      if( name.equals(ACTIVE_SUBJECT) )
-         binding = getSubject();
-      else if( name.equals(AUTHENTICATION_MGR) || name.equals(SECURITY_MGR))
-         binding = securityMgr;
-      else if( name.equals(REALM_MAPPING) )
-         binding = getRealmMapping();
-      else if( name.equals(AUTHORIZATION_MGR) )
-         binding = getAuthorizationManager();
-      else if( name.equals(AUDIT_MGR) )
-         binding = this.getAuditMgr();
-      else if( name.equals(MAPPING_MGR) )
-         binding = this.getMappingMgr();
-      else if( name.equals(IDENTITY_TRUST_MGR) )
-         binding = this.getIdentityTrustMgr();
-      else if( name.equals(AUTH_CACHE) )
-         binding = authenticationCache;
-      else if( name.equals(DOMAIN_CONTEXT) )
-         binding = this;
-         
-      return binding;
-   }
-   public Subject getSubject()
-   {
-      Subject subject = null;
-      if( securityMgr instanceof SubjectSecurityManager )
-      {
-         subject = ((SubjectSecurityManager)securityMgr).getActiveSubject();
-      }
-      return subject;
-   }
-   public AuthenticationManager getSecurityManager()
-   {
-      return securityMgr;
-   }
-   public RealmMapping getRealmMapping()
-   {
-      RealmMapping realmMapping = null;
-      if(authorizationMgr != null && authorizationMgr instanceof RealmMapping)
-      {
-         realmMapping = (RealmMapping)authorizationMgr;
-      }
-      else
-      if( securityMgr instanceof RealmMapping )
-      {
-         realmMapping = (RealmMapping)securityMgr;
-      }
-      return realmMapping;
-   }
-   
-   public void setAuthenticationManager(AuthenticationManager aum)
-   {
-      this.securityMgr = aum;
-   }
-   
-   public void setAuthorizationManager(AuthorizationManager am)
-   {
-      this.authorizationMgr = am;
-   }
-   
-   public AuthorizationManager getAuthorizationManager()
-   {
-      return authorizationMgr;
-   }
-   
-   public void setAuthenticationCache(CachePolicy cp)
-   {
-      this.authenticationCache = cp;
-   }
-    
-   public CachePolicy getAuthenticationCache()
-   {
-      return authenticationCache;
-   }
-
-   public AuditManager getAuditMgr()
-   {
-      return auditMgr;
-   }
-
-   public void setAuditMgr(AuditManager auditMgr)
-   {
-      this.auditMgr = auditMgr;
-   }
-
-   public MappingManager getMappingMgr()
-   {
-      return mappingMgr;
-   }
-
-   public void setMappingMgr(MappingManager mappingMgr)
-   {
-      this.mappingMgr = mappingMgr;
-   }
-
-   public IdentityTrustManager getIdentityTrustMgr()
-   {
-      return identityTrustMgr;
-   }
-
-   public void setIdentityTrustMgr(IdentityTrustManager identityTrustMgr)
-   {
-      this.identityTrustMgr = identityTrustMgr;
-   } 
-}
\ No newline at end of file

Copied: projects/ejb3/dev/ejbthree1269/security/src/main/java/org/jboss/ejb3/security/embedded/plugins/SecurityDomainContext.java (from rev 72450, projects/ejb3/trunk/security/src/main/java/org/jboss/ejb3/security/embedded/plugins/SecurityDomainContext.java)
===================================================================
--- projects/ejb3/dev/ejbthree1269/security/src/main/java/org/jboss/ejb3/security/embedded/plugins/SecurityDomainContext.java	                        (rev 0)
+++ projects/ejb3/dev/ejbthree1269/security/src/main/java/org/jboss/ejb3/security/embedded/plugins/SecurityDomainContext.java	2008-04-18 17:47:17 UTC (rev 72451)
@@ -0,0 +1,180 @@
+/*
+* JBoss, Home of Professional Open Source
+* Copyright 2005, JBoss Inc., and individual contributors as indicated
+* by the @authors tag. See the copyright.txt 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.ejb3.security.embedded.plugins;
+
+import javax.naming.InvalidNameException;
+import javax.naming.NamingException;
+import javax.security.auth.Subject;
+
+import org.jboss.security.AuthorizationManager;
+import org.jboss.security.RealmMapping;
+import org.jboss.security.AuthenticationManager;
+import org.jboss.security.SubjectSecurityManager;
+import org.jboss.security.audit.AuditManager;
+import org.jboss.security.identitytrust.IdentityTrustManager;
+import org.jboss.security.mapping.MappingManager;
+import org.jboss.util.CachePolicy;
+
+/** An encapsulation of the JNDI security context infomation
+ *
+ * @author  Scott.Stark at jboss.org
+ * @author  Anil.Saldhana at jboss.org
+ * @version 
+ */
+public class SecurityDomainContext
+{
+   static final String ACTIVE_SUBJECT = "subject";
+   static final String AUTHENTICATION_MGR = "authenticationMgr";
+   static final String SECURITY_MGR = "securityMgr";
+   static final String REALM_MAPPING = "realmMapping";
+   static final String AUTHORIZATION_MGR = "authorizationMgr";
+   static final String AUDIT_MGR = "auditMgr";
+   static final String MAPPING_MGR = "mappingMgr";
+   static final String IDENTITY_TRUST_MGR = "identityTrustMgr";
+   static final String AUTH_CACHE = "authenticationCache";
+   static final String DOMAIN_CONTEXT = "domainContext";
+
+   AuthenticationManager securityMgr;
+   AuthorizationManager authorizationMgr;
+   CachePolicy authenticationCache;
+   AuditManager auditMgr;
+   MappingManager mappingMgr;
+   IdentityTrustManager identityTrustMgr;
+
+   /** Creates new SecurityDomainContextHandler */
+   public SecurityDomainContext(AuthenticationManager securityMgr, 
+         CachePolicy authenticationCache)
+   {
+      this.securityMgr = securityMgr;
+      this.authenticationCache = authenticationCache; 
+   }
+
+   public Object lookup(String name) throws NamingException
+   {
+      Object binding = null;
+      if( name == null || name.length() == 0 )
+         throw new InvalidNameException("name cannot be null or empty");
+
+      if( name.equals(ACTIVE_SUBJECT) )
+         binding = getSubject();
+      else if( name.equals(AUTHENTICATION_MGR) || name.equals(SECURITY_MGR))
+         binding = securityMgr;
+      else if( name.equals(REALM_MAPPING) )
+         binding = getRealmMapping();
+      else if( name.equals(AUTHORIZATION_MGR) )
+         binding = getAuthorizationManager();
+      else if( name.equals(AUDIT_MGR) )
+         binding = this.getAuditMgr();
+      else if( name.equals(MAPPING_MGR) )
+         binding = this.getMappingMgr();
+      else if( name.equals(IDENTITY_TRUST_MGR) )
+         binding = this.getIdentityTrustMgr();
+      else if( name.equals(AUTH_CACHE) )
+         binding = authenticationCache;
+      else if( name.equals(DOMAIN_CONTEXT) )
+         binding = this;
+         
+      return binding;
+   }
+   public Subject getSubject()
+   {
+      Subject subject = null;
+      if( securityMgr instanceof SubjectSecurityManager )
+      {
+         subject = ((SubjectSecurityManager)securityMgr).getActiveSubject();
+      }
+      return subject;
+   }
+   public AuthenticationManager getSecurityManager()
+   {
+      return securityMgr;
+   }
+   public RealmMapping getRealmMapping()
+   {
+      RealmMapping realmMapping = null;
+      if(authorizationMgr != null && authorizationMgr instanceof RealmMapping)
+      {
+         realmMapping = (RealmMapping)authorizationMgr;
+      }
+      else
+      if( securityMgr instanceof RealmMapping )
+      {
+         realmMapping = (RealmMapping)securityMgr;
+      }
+      return realmMapping;
+   }
+   
+   public void setAuthenticationManager(AuthenticationManager aum)
+   {
+      this.securityMgr = aum;
+   }
+   
+   public void setAuthorizationManager(AuthorizationManager am)
+   {
+      this.authorizationMgr = am;
+   }
+   
+   public AuthorizationManager getAuthorizationManager()
+   {
+      return authorizationMgr;
+   }
+   
+   public void setAuthenticationCache(CachePolicy cp)
+   {
+      this.authenticationCache = cp;
+   }
+    
+   public CachePolicy getAuthenticationCache()
+   {
+      return authenticationCache;
+   }
+
+   public AuditManager getAuditMgr()
+   {
+      return auditMgr;
+   }
+
+   public void setAuditMgr(AuditManager auditMgr)
+   {
+      this.auditMgr = auditMgr;
+   }
+
+   public MappingManager getMappingMgr()
+   {
+      return mappingMgr;
+   }
+
+   public void setMappingMgr(MappingManager mappingMgr)
+   {
+      this.mappingMgr = mappingMgr;
+   }
+
+   public IdentityTrustManager getIdentityTrustMgr()
+   {
+      return identityTrustMgr;
+   }
+
+   public void setIdentityTrustMgr(IdentityTrustManager identityTrustMgr)
+   {
+      this.identityTrustMgr = identityTrustMgr;
+   } 
+}
\ No newline at end of file

Copied: projects/ejb3/dev/ejbthree1269/security/src/main/java/org/jboss/ejb3/security/helpers (from rev 72450, projects/ejb3/trunk/security/src/main/java/org/jboss/ejb3/security/helpers)

Deleted: projects/ejb3/dev/ejbthree1269/security/src/main/java/org/jboss/ejb3/security/helpers/AuthenticationHelper.java
===================================================================
--- projects/ejb3/trunk/security/src/main/java/org/jboss/ejb3/security/helpers/AuthenticationHelper.java	2008-04-18 16:36:56 UTC (rev 72450)
+++ projects/ejb3/dev/ejbthree1269/security/src/main/java/org/jboss/ejb3/security/helpers/AuthenticationHelper.java	2008-04-18 17:47:17 UTC (rev 72451)
@@ -1,100 +0,0 @@
-/*
-  * JBoss, Home of Professional Open Source
-  * Copyright 2007, JBoss Inc., and individual contributors as indicated
-  * by the @authors tag. See the copyright.txt 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.ejb3.security.helpers;
-
-import java.security.Principal;
-import java.util.Map;
-
-import javax.security.auth.Subject;
-
-import org.jboss.security.SecurityContext;
-import org.jboss.security.audit.AuditLevel;
-import org.jboss.security.identitytrust.IdentityTrustException;
-import org.jboss.security.identitytrust.IdentityTrustManager;
-import org.jboss.security.identitytrust.IdentityTrustManager.TrustDecision;
- 
-/**
- *  Authentication Helper
- *  @author Anil.Saldhana at redhat.com
- *  @since  Apr 16, 2008 
- *  @version $Revision$
- */
-public class AuthenticationHelper extends SecurityHelper
-{
-   public AuthenticationHelper(SecurityContext sc)
-   {
-      super(sc);
-   }
-
-   public boolean isTrusted() throws IdentityTrustException
-   {
-      TrustDecision td = TrustDecision.NotApplicable;
-      IdentityTrustManager itm = securityContext.getIdentityTrustManager();
-      if(itm != null)
-      {
-         td = itm.isTrusted(securityContext);
-         if(td == TrustDecision.Deny)
-            throw new IdentityTrustException("Caller denied by identity trust framework"); 
-      }
-      return td == TrustDecision.Permit;
-   }   
-   
-   /**
-    * Authenticate the caller
-    * @param p
-    * @param cred
-    * @return
-    */
-   public boolean isValid(Subject subject, String methodName)
-   {
-      Principal p = securityContext.getUtil().getUserPrincipal();
-      Object cred = securityContext.getUtil().getCredential(); 
-      
-      Map<String,Object> cMap = getContextMap(p, methodName);
-      
-      boolean auth = securityContext.getAuthenticationManager().isValid(p, cred, subject);
-      if(auth == false)
-      { 
-         // Check for the security association exception
-         Exception ex = SecurityActions.getContextException(); 
-         audit(AuditLevel.ERROR, cMap ,ex);  
-         if(ex == null)
-         { 
-            audit(AuditLevel.FAILURE,cMap,null);  
-         }
-      } 
-      else
-      {
-         audit(AuditLevel.SUCCESS,cMap,null);          
-      }
-      return auth;
-   }
-   
-   /**
-    * Push the authenticated subject onto the security context
-    * IMPORTANT - this needs to be done after the isValid call
-    */
-   public void pushSubjectContext(Subject subject)
-   { 
-      securityContext.getSubjectInfo().setAuthenticatedSubject(subject); 
-   }
-}
\ No newline at end of file

Copied: projects/ejb3/dev/ejbthree1269/security/src/main/java/org/jboss/ejb3/security/helpers/AuthenticationHelper.java (from rev 72450, projects/ejb3/trunk/security/src/main/java/org/jboss/ejb3/security/helpers/AuthenticationHelper.java)
===================================================================
--- projects/ejb3/dev/ejbthree1269/security/src/main/java/org/jboss/ejb3/security/helpers/AuthenticationHelper.java	                        (rev 0)
+++ projects/ejb3/dev/ejbthree1269/security/src/main/java/org/jboss/ejb3/security/helpers/AuthenticationHelper.java	2008-04-18 17:47:17 UTC (rev 72451)
@@ -0,0 +1,100 @@
+/*
+  * JBoss, Home of Professional Open Source
+  * Copyright 2007, JBoss Inc., and individual contributors as indicated
+  * by the @authors tag. See the copyright.txt 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.ejb3.security.helpers;
+
+import java.security.Principal;
+import java.util.Map;
+
+import javax.security.auth.Subject;
+
+import org.jboss.security.SecurityContext;
+import org.jboss.security.audit.AuditLevel;
+import org.jboss.security.identitytrust.IdentityTrustException;
+import org.jboss.security.identitytrust.IdentityTrustManager;
+import org.jboss.security.identitytrust.IdentityTrustManager.TrustDecision;
+ 
+/**
+ *  Authentication Helper
+ *  @author Anil.Saldhana at redhat.com
+ *  @since  Apr 16, 2008 
+ *  @version $Revision$
+ */
+public class AuthenticationHelper extends SecurityHelper
+{
+   public AuthenticationHelper(SecurityContext sc)
+   {
+      super(sc);
+   }
+
+   public boolean isTrusted() throws IdentityTrustException
+   {
+      TrustDecision td = TrustDecision.NotApplicable;
+      IdentityTrustManager itm = securityContext.getIdentityTrustManager();
+      if(itm != null)
+      {
+         td = itm.isTrusted(securityContext);
+         if(td == TrustDecision.Deny)
+            throw new IdentityTrustException("Caller denied by identity trust framework"); 
+      }
+      return td == TrustDecision.Permit;
+   }   
+   
+   /**
+    * Authenticate the caller
+    * @param p
+    * @param cred
+    * @return
+    */
+   public boolean isValid(Subject subject, String methodName)
+   {
+      Principal p = securityContext.getUtil().getUserPrincipal();
+      Object cred = securityContext.getUtil().getCredential(); 
+      
+      Map<String,Object> cMap = getContextMap(p, methodName);
+      
+      boolean auth = securityContext.getAuthenticationManager().isValid(p, cred, subject);
+      if(auth == false)
+      { 
+         // Check for the security association exception
+         Exception ex = SecurityActions.getContextException(); 
+         audit(AuditLevel.ERROR, cMap ,ex);  
+         if(ex == null)
+         { 
+            audit(AuditLevel.FAILURE,cMap,null);  
+         }
+      } 
+      else
+      {
+         audit(AuditLevel.SUCCESS,cMap,null);          
+      }
+      return auth;
+   }
+   
+   /**
+    * Push the authenticated subject onto the security context
+    * IMPORTANT - this needs to be done after the isValid call
+    */
+   public void pushSubjectContext(Subject subject)
+   { 
+      securityContext.getSubjectInfo().setAuthenticatedSubject(subject); 
+   }
+}
\ No newline at end of file

Deleted: projects/ejb3/dev/ejbthree1269/security/src/main/java/org/jboss/ejb3/security/helpers/AuthorizationHelper.java
===================================================================
--- projects/ejb3/trunk/security/src/main/java/org/jboss/ejb3/security/helpers/AuthorizationHelper.java	2008-04-18 16:36:56 UTC (rev 72450)
+++ projects/ejb3/dev/ejbthree1269/security/src/main/java/org/jboss/ejb3/security/helpers/AuthorizationHelper.java	2008-04-18 17:47:17 UTC (rev 72451)
@@ -1,196 +0,0 @@
-/*
-  * JBoss, Home of Professional Open Source
-  * Copyright 2007, JBoss Inc., and individual contributors as indicated
-  * by the @authors tag. See the copyright.txt 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.ejb3.security.helpers;
-
-import java.lang.reflect.Method;
-import java.security.CodeSource;
-import java.security.Principal;
-import java.util.HashMap;
-import java.util.Set;
-
-import javax.security.auth.Subject;
-import javax.security.jacc.PolicyContext;
-
-import org.jboss.security.AuthorizationManager;
-import org.jboss.security.RealmMapping;
-import org.jboss.security.RunAs;
-import org.jboss.security.SecurityContext;
-import org.jboss.security.SecurityRoleRef;
-import org.jboss.security.audit.AuditLevel;
-import org.jboss.security.authorization.AuthorizationContext;
-import org.jboss.security.authorization.ResourceKeys;
-import org.jboss.security.authorization.resources.EJBResource;
-import org.jboss.security.callbacks.SecurityContextCallbackHandler;
-import org.jboss.security.identity.RoleGroup;
-import org.jboss.security.identity.plugins.SimpleRoleGroup;
-
-/**
- *  Authorization Helper
- *  @author Anil.Saldhana at redhat.com
- *  @since  Apr 16, 2008 
- *  @version $Revision$
- */
-public class AuthorizationHelper extends SecurityHelper
-{     
-   public AuthorizationHelper(SecurityContext sc)
-   {
-      super(sc); 
-   }
-
-   /**
-    * Authorize an EJB Invocation
-    * @param ejbName Name of the EJB
-    * @param ejbMethod EJB Method
-    * @param ejbPrincipal Calling Principal
-    * @param invocationInterfaceString Invocation String("remote", "local")
-    * @param ejbCS EJB CodeSource
-    * @param callerSubject Authenticated Caller Subject
-    * @param callerRunAs Configured RunAs for the caller
-    * @param methodRoles a set of Principal objects authorized for the method
-    * @return true - if caller is authorized
-    */
-   public boolean authorize(String ejbName, 
-                            Method ejbMethod, 
-                            Principal ejbPrincipal,
-                            String invocationInterfaceString, 
-                            CodeSource ejbCS, 
-                            Subject callerSubject, 
-                            RunAs callerRunAs,
-                            Set<Principal> methodRoles )
-   {
-      AuthorizationManager am = securityContext.getAuthorizationManager();
-      
-      HashMap<String,Object> map =  new HashMap<String,Object>();
-      map.put(ResourceKeys.POLICY_REGISTRATION, am); 
-      
-      String contextID = PolicyContext.getContextID();
-      if(contextID == null)
-         throw new IllegalStateException("ContextID is null"); 
-
-      EJBResource ejbResource = new EJBResource(map);
-      ejbResource.setPolicyContextID(contextID);
-      ejbResource.setCallerRunAsIdentity(callerRunAs);
-      ejbResource.setEjbName(ejbName);
-      ejbResource.setEjbMethod(ejbMethod);
-      ejbResource.setPrincipal(ejbPrincipal);
-      ejbResource.setEjbMethodInterface(invocationInterfaceString);
-      ejbResource.setCodeSource(ejbCS);
-      ejbResource.setCallerRunAsIdentity(callerRunAs);
-      ejbResource.setCallerSubject(callerSubject);
-      //ejbResource.setMethodRoles(methodRoles);
-      ejbResource.setEjbMethodRoles(new SimpleRoleGroup(methodRoles));
-      
-      SecurityContextCallbackHandler sch = new SecurityContextCallbackHandler(this.securityContext); 
-      RoleGroup callerRoles = am.getSubjectRoles(callerSubject, sch);
-      
-      boolean isAuthorized = false;
-      try
-      {
-         int check = am.authorize(ejbResource, callerSubject, callerRoles);
-         isAuthorized = (check == AuthorizationContext.PERMIT);
-         authorizationAudit((isAuthorized ? AuditLevel.SUCCESS : AuditLevel.FAILURE)
-                             ,ejbResource, null);
-      }
-      catch (Exception e)
-      {
-         isAuthorized = false;
-         if(log.isTraceEnabled())
-            log.trace("Error in authorization:",e); 
-         authorizationAudit(AuditLevel.ERROR,ejbResource,e);
-      } 
-      
-      return isAuthorized;
-   } 
-   
-   public Principal getCallerPrincipal(RealmMapping rm)
-   {
-      /* Get the run-as user or authenticated user. The run-as user is
-      returned before any authenticated user.
-      */
-      Principal caller = SecurityActions.getCallerPrincipal(securityContext); 
-       
-      /* Apply any domain caller mapping. This should really only be
-      done for non-run-as callers.
-      */
-      if (rm != null)
-         caller = rm.getPrincipal(caller);
-      return caller; 
-   } 
-   
-   public boolean isCallerInRole(String roleName,String ejbName, Principal ejbPrincipal,
-         Set<SecurityRoleRef> securityRoleRefs )
-   {
-      boolean isAuthorized = false;
-      AuthorizationManager am = securityContext.getAuthorizationManager();
-      
-      if(am == null)
-         throw new IllegalStateException("AuthorizationManager is null");
-      
-      HashMap<String,Object> map = new HashMap<String,Object>();
-
-      map.put(ResourceKeys.POLICY_REGISTRATION,am); 
-      map.put(ResourceKeys.ROLENAME, roleName);
-      map.put(ResourceKeys.ROLEREF_PERM_CHECK, Boolean.TRUE);
-
-      
-      EJBResource ejbResource = new EJBResource(map);
-      ejbResource.setPolicyContextID(PolicyContext.getContextID());
-      
-      RunAs callerRunAs = securityContext.getIncomingRunAs();
-      
-      ejbResource.setEjbName(ejbName);
-      ejbResource.setPrincipal(ejbPrincipal);
-      ejbResource.setCallerRunAsIdentity(callerRunAs);
-      ejbResource.setSecurityRoleReferences(securityRoleRefs); 
-      
-      //Get the authenticated subject
-      Subject subject = null;
-      try
-      {
-         subject = SecurityActions.getActiveSubject();
-      }
-      catch( Exception e)
-      {
-         log.trace("Exception in getting subject:",e);
-         subject = securityContext.getUtil().getSubject();
-      }
-      
-      ejbResource.setCallerSubject(subject);
-      SecurityContextCallbackHandler sch = new SecurityContextCallbackHandler(this.securityContext); 
-      RoleGroup callerRoles = am.getSubjectRoles(subject, sch);
-      
-      try
-      {
-         int check = am.authorize(ejbResource, subject, callerRoles);
-         isAuthorized = (check == AuthorizationContext.PERMIT);
-      } 
-      catch (Exception e)
-      {
-         isAuthorized = false; 
-         if(log.isTraceEnabled()) 
-            log.trace(roleName + "::isCallerInRole check failed:"+e.getLocalizedMessage()); 
-         authorizationAudit(AuditLevel.ERROR,ejbResource,e);  
-      } 
-      return isAuthorized; 
-   }  
-   
-}
\ No newline at end of file

Copied: projects/ejb3/dev/ejbthree1269/security/src/main/java/org/jboss/ejb3/security/helpers/AuthorizationHelper.java (from rev 72450, projects/ejb3/trunk/security/src/main/java/org/jboss/ejb3/security/helpers/AuthorizationHelper.java)
===================================================================
--- projects/ejb3/dev/ejbthree1269/security/src/main/java/org/jboss/ejb3/security/helpers/AuthorizationHelper.java	                        (rev 0)
+++ projects/ejb3/dev/ejbthree1269/security/src/main/java/org/jboss/ejb3/security/helpers/AuthorizationHelper.java	2008-04-18 17:47:17 UTC (rev 72451)
@@ -0,0 +1,196 @@
+/*
+  * JBoss, Home of Professional Open Source
+  * Copyright 2007, JBoss Inc., and individual contributors as indicated
+  * by the @authors tag. See the copyright.txt 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.ejb3.security.helpers;
+
+import java.lang.reflect.Method;
+import java.security.CodeSource;
+import java.security.Principal;
+import java.util.HashMap;
+import java.util.Set;
+
+import javax.security.auth.Subject;
+import javax.security.jacc.PolicyContext;
+
+import org.jboss.security.AuthorizationManager;
+import org.jboss.security.RealmMapping;
+import org.jboss.security.RunAs;
+import org.jboss.security.SecurityContext;
+import org.jboss.security.SecurityRoleRef;
+import org.jboss.security.audit.AuditLevel;
+import org.jboss.security.authorization.AuthorizationContext;
+import org.jboss.security.authorization.ResourceKeys;
+import org.jboss.security.authorization.resources.EJBResource;
+import org.jboss.security.callbacks.SecurityContextCallbackHandler;
+import org.jboss.security.identity.RoleGroup;
+import org.jboss.security.identity.plugins.SimpleRoleGroup;
+
+/**
+ *  Authorization Helper
+ *  @author Anil.Saldhana at redhat.com
+ *  @since  Apr 16, 2008 
+ *  @version $Revision$
+ */
+public class AuthorizationHelper extends SecurityHelper
+{     
+   public AuthorizationHelper(SecurityContext sc)
+   {
+      super(sc); 
+   }
+
+   /**
+    * Authorize an EJB Invocation
+    * @param ejbName Name of the EJB
+    * @param ejbMethod EJB Method
+    * @param ejbPrincipal Calling Principal
+    * @param invocationInterfaceString Invocation String("remote", "local")
+    * @param ejbCS EJB CodeSource
+    * @param callerSubject Authenticated Caller Subject
+    * @param callerRunAs Configured RunAs for the caller
+    * @param methodRoles a set of Principal objects authorized for the method
+    * @return true - if caller is authorized
+    */
+   public boolean authorize(String ejbName, 
+                            Method ejbMethod, 
+                            Principal ejbPrincipal,
+                            String invocationInterfaceString, 
+                            CodeSource ejbCS, 
+                            Subject callerSubject, 
+                            RunAs callerRunAs,
+                            Set<Principal> methodRoles )
+   {
+      AuthorizationManager am = securityContext.getAuthorizationManager();
+      
+      HashMap<String,Object> map =  new HashMap<String,Object>();
+      map.put(ResourceKeys.POLICY_REGISTRATION, am); 
+      
+      String contextID = PolicyContext.getContextID();
+      if(contextID == null)
+         throw new IllegalStateException("ContextID is null"); 
+
+      EJBResource ejbResource = new EJBResource(map);
+      ejbResource.setPolicyContextID(contextID);
+      ejbResource.setCallerRunAsIdentity(callerRunAs);
+      ejbResource.setEjbName(ejbName);
+      ejbResource.setEjbMethod(ejbMethod);
+      ejbResource.setPrincipal(ejbPrincipal);
+      ejbResource.setEjbMethodInterface(invocationInterfaceString);
+      ejbResource.setCodeSource(ejbCS);
+      ejbResource.setCallerRunAsIdentity(callerRunAs);
+      ejbResource.setCallerSubject(callerSubject);
+      //ejbResource.setMethodRoles(methodRoles);
+      ejbResource.setEjbMethodRoles(new SimpleRoleGroup(methodRoles));
+      
+      SecurityContextCallbackHandler sch = new SecurityContextCallbackHandler(this.securityContext); 
+      RoleGroup callerRoles = am.getSubjectRoles(callerSubject, sch);
+      
+      boolean isAuthorized = false;
+      try
+      {
+         int check = am.authorize(ejbResource, callerSubject, callerRoles);
+         isAuthorized = (check == AuthorizationContext.PERMIT);
+         authorizationAudit((isAuthorized ? AuditLevel.SUCCESS : AuditLevel.FAILURE)
+                             ,ejbResource, null);
+      }
+      catch (Exception e)
+      {
+         isAuthorized = false;
+         if(log.isTraceEnabled())
+            log.trace("Error in authorization:",e); 
+         authorizationAudit(AuditLevel.ERROR,ejbResource,e);
+      } 
+      
+      return isAuthorized;
+   } 
+   
+   public Principal getCallerPrincipal(RealmMapping rm)
+   {
+      /* Get the run-as user or authenticated user. The run-as user is
+      returned before any authenticated user.
+      */
+      Principal caller = SecurityActions.getCallerPrincipal(securityContext); 
+       
+      /* Apply any domain caller mapping. This should really only be
+      done for non-run-as callers.
+      */
+      if (rm != null)
+         caller = rm.getPrincipal(caller);
+      return caller; 
+   } 
+   
+   public boolean isCallerInRole(String roleName,String ejbName, Principal ejbPrincipal,
+         Set<SecurityRoleRef> securityRoleRefs )
+   {
+      boolean isAuthorized = false;
+      AuthorizationManager am = securityContext.getAuthorizationManager();
+      
+      if(am == null)
+         throw new IllegalStateException("AuthorizationManager is null");
+      
+      HashMap<String,Object> map = new HashMap<String,Object>();
+
+      map.put(ResourceKeys.POLICY_REGISTRATION,am); 
+      map.put(ResourceKeys.ROLENAME, roleName);
+      map.put(ResourceKeys.ROLEREF_PERM_CHECK, Boolean.TRUE);
+
+      
+      EJBResource ejbResource = new EJBResource(map);
+      ejbResource.setPolicyContextID(PolicyContext.getContextID());
+      
+      RunAs callerRunAs = securityContext.getIncomingRunAs();
+      
+      ejbResource.setEjbName(ejbName);
+      ejbResource.setPrincipal(ejbPrincipal);
+      ejbResource.setCallerRunAsIdentity(callerRunAs);
+      ejbResource.setSecurityRoleReferences(securityRoleRefs); 
+      
+      //Get the authenticated subject
+      Subject subject = null;
+      try
+      {
+         subject = SecurityActions.getActiveSubject();
+      }
+      catch( Exception e)
+      {
+         log.trace("Exception in getting subject:",e);
+         subject = securityContext.getUtil().getSubject();
+      }
+      
+      ejbResource.setCallerSubject(subject);
+      SecurityContextCallbackHandler sch = new SecurityContextCallbackHandler(this.securityContext); 
+      RoleGroup callerRoles = am.getSubjectRoles(subject, sch);
+      
+      try
+      {
+         int check = am.authorize(ejbResource, subject, callerRoles);
+         isAuthorized = (check == AuthorizationContext.PERMIT);
+      } 
+      catch (Exception e)
+      {
+         isAuthorized = false; 
+         if(log.isTraceEnabled()) 
+            log.trace(roleName + "::isCallerInRole check failed:"+e.getLocalizedMessage()); 
+         authorizationAudit(AuditLevel.ERROR,ejbResource,e);  
+      } 
+      return isAuthorized; 
+   }  
+   
+}
\ No newline at end of file

Deleted: projects/ejb3/dev/ejbthree1269/security/src/main/java/org/jboss/ejb3/security/helpers/SecurityActions.java
===================================================================
--- projects/ejb3/trunk/security/src/main/java/org/jboss/ejb3/security/helpers/SecurityActions.java	2008-04-18 16:36:56 UTC (rev 72450)
+++ projects/ejb3/dev/ejbthree1269/security/src/main/java/org/jboss/ejb3/security/helpers/SecurityActions.java	2008-04-18 17:47:17 UTC (rev 72451)
@@ -1,104 +0,0 @@
-/*
-  * JBoss, Home of Professional Open Source
-  * Copyright 2007, JBoss Inc., and individual contributors as indicated
-  * by the @authors tag. See the copyright.txt 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.ejb3.security.helpers;
- 
-import java.security.AccessController;
-import java.security.Principal;
-import java.security.PrivilegedAction;
-import java.security.PrivilegedActionException;
-import java.security.PrivilegedExceptionAction;
-
-import javax.security.auth.Subject;
-import javax.security.jacc.PolicyContext;
-import javax.security.jacc.PolicyContextException;
-
-import org.jboss.security.SecurityConstants;
-import org.jboss.security.SecurityContext;
-import org.jboss.security.SecurityContextAssociation;
-
-
-/**
- *  Privileged Blocks 
- *  @author Anil.Saldhana at redhat.com
- *  @since  May 19, 2007 
- *  @version $Revision$
- */
-class SecurityActions
-{
-   
-   static Principal getCallerPrincipal(final SecurityContext securityContext)
-   {
-      return AccessController.doPrivileged(new PrivilegedAction<Principal>()
-      {
-
-         public Principal run()
-         { 
-            Principal caller = null;
-            
-            if(securityContext != null)
-            {
-               caller = securityContext.getIncomingRunAs(); 
-               //If there is no caller run as, use the call principal
-               if(caller == null)
-                  caller = securityContext.getUtil().getUserPrincipal();
-            }
-            return caller;
-         }
-       });
-   }
-   
-   static SecurityContext getSecurityContext()
-   {
-      return AccessController.doPrivileged(new PrivilegedAction<SecurityContext>()
-      {
-
-         public SecurityContext run()
-         { 
-            return SecurityContextAssociation.getSecurityContext();
-         }
-      });
-   }
-   
-   static Exception getContextException()
-   {
-      return AccessController.doPrivileged(new PrivilegedAction<Exception>()
-      {
-         static final String EX_KEY = "org.jboss.security.exception";
-         public Exception run()
-         { 
-            SecurityContext sc = getSecurityContext();
-            return (Exception) sc.getData().get(EX_KEY); 
-         }
-      });
-   }
-   
-   static Subject getActiveSubject() throws PolicyContextException, PrivilegedActionException
-   {
-      return AccessController.doPrivileged(new PrivilegedExceptionAction<Subject>()
-      { 
-         public Subject run() throws Exception
-         { 
-            return (Subject) PolicyContext.getContext(SecurityConstants.SUBJECT_CONTEXT_KEY); 
-         }
-      });    
-   } 
-}
\ No newline at end of file

Copied: projects/ejb3/dev/ejbthree1269/security/src/main/java/org/jboss/ejb3/security/helpers/SecurityActions.java (from rev 72450, projects/ejb3/trunk/security/src/main/java/org/jboss/ejb3/security/helpers/SecurityActions.java)
===================================================================
--- projects/ejb3/dev/ejbthree1269/security/src/main/java/org/jboss/ejb3/security/helpers/SecurityActions.java	                        (rev 0)
+++ projects/ejb3/dev/ejbthree1269/security/src/main/java/org/jboss/ejb3/security/helpers/SecurityActions.java	2008-04-18 17:47:17 UTC (rev 72451)
@@ -0,0 +1,104 @@
+/*
+  * JBoss, Home of Professional Open Source
+  * Copyright 2007, JBoss Inc., and individual contributors as indicated
+  * by the @authors tag. See the copyright.txt 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.ejb3.security.helpers;
+ 
+import java.security.AccessController;
+import java.security.Principal;
+import java.security.PrivilegedAction;
+import java.security.PrivilegedActionException;
+import java.security.PrivilegedExceptionAction;
+
+import javax.security.auth.Subject;
+import javax.security.jacc.PolicyContext;
+import javax.security.jacc.PolicyContextException;
+
+import org.jboss.security.SecurityConstants;
+import org.jboss.security.SecurityContext;
+import org.jboss.security.SecurityContextAssociation;
+
+
+/**
+ *  Privileged Blocks 
+ *  @author Anil.Saldhana at redhat.com
+ *  @since  May 19, 2007 
+ *  @version $Revision$
+ */
+class SecurityActions
+{
+   
+   static Principal getCallerPrincipal(final SecurityContext securityContext)
+   {
+      return AccessController.doPrivileged(new PrivilegedAction<Principal>()
+      {
+
+         public Principal run()
+         { 
+            Principal caller = null;
+            
+            if(securityContext != null)
+            {
+               caller = securityContext.getIncomingRunAs(); 
+               //If there is no caller run as, use the call principal
+               if(caller == null)
+                  caller = securityContext.getUtil().getUserPrincipal();
+            }
+            return caller;
+         }
+       });
+   }
+   
+   static SecurityContext getSecurityContext()
+   {
+      return AccessController.doPrivileged(new PrivilegedAction<SecurityContext>()
+      {
+
+         public SecurityContext run()
+         { 
+            return SecurityContextAssociation.getSecurityContext();
+         }
+      });
+   }
+   
+   static Exception getContextException()
+   {
+      return AccessController.doPrivileged(new PrivilegedAction<Exception>()
+      {
+         static final String EX_KEY = "org.jboss.security.exception";
+         public Exception run()
+         { 
+            SecurityContext sc = getSecurityContext();
+            return (Exception) sc.getData().get(EX_KEY); 
+         }
+      });
+   }
+   
+   static Subject getActiveSubject() throws PolicyContextException, PrivilegedActionException
+   {
+      return AccessController.doPrivileged(new PrivilegedExceptionAction<Subject>()
+      { 
+         public Subject run() throws Exception
+         { 
+            return (Subject) PolicyContext.getContext(SecurityConstants.SUBJECT_CONTEXT_KEY); 
+         }
+      });    
+   } 
+}
\ No newline at end of file

Deleted: projects/ejb3/dev/ejbthree1269/security/src/main/java/org/jboss/ejb3/security/helpers/SecurityHelper.java
===================================================================
--- projects/ejb3/trunk/security/src/main/java/org/jboss/ejb3/security/helpers/SecurityHelper.java	2008-04-18 16:36:56 UTC (rev 72450)
+++ projects/ejb3/dev/ejbthree1269/security/src/main/java/org/jboss/ejb3/security/helpers/SecurityHelper.java	2008-04-18 17:47:17 UTC (rev 72451)
@@ -1,91 +0,0 @@
-/*
-  * JBoss, Home of Professional Open Source
-  * Copyright 2007, JBoss Inc., and individual contributors as indicated
-  * by the @authors tag. See the copyright.txt 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.ejb3.security.helpers;
-
-import java.security.Principal;
-import java.util.HashMap;
-import java.util.Map;
-
-import org.jboss.logging.Logger;
-import org.jboss.security.SecurityContext;
-import org.jboss.security.audit.AuditEvent;
-import org.jboss.security.audit.AuditManager;
-import org.jboss.security.authorization.Resource;
- 
-/**
- *  Base Class for helpers
- *  @author Anil.Saldhana at redhat.com
- *  @since  Apr 16, 2008 
- *  @version $Revision$
- */
-public class SecurityHelper
-{ 
-   protected static Logger log = null;
-   
-   protected SecurityContext securityContext = null;
-   
-   public SecurityHelper(SecurityContext sc)
-   {
-      log = Logger.getLogger(getClass());
-      if(sc == null)
-         sc = SecurityActions.getSecurityContext(); 
-      this.securityContext = sc;
-   }
-   
-
-     //******************************************************
-     //  Audit Methods
-     //******************************************************
-     protected void authorizationAudit(String level, Resource resource, Exception e)
-     {
-        if(securityContext.getAuditManager() == null)
-           return;
-        //Authorization Exception stacktrace is huge. Scale it down
-        //as the original stack trace can be seen in server.log (if needed)
-        String exceptionMessage = e != null ? e.getLocalizedMessage() : "";  
-        Map<String,Object> cmap = new HashMap<String,Object>();
-        cmap.putAll(resource.getMap());
-        cmap.put("Resource:", resource.toString());
-        cmap.put("Exception:", exceptionMessage);
-        audit(level,cmap,null);
-     }  
-     
-     protected void audit(String level,
-           Map<String,Object> contextMap, Exception e)
-     { 
-        AuditManager am = securityContext.getAuditManager();
-        if(am == null)
-           return;
-        contextMap.put("Source", getClass().getName());
-        AuditEvent ae = new AuditEvent(level,contextMap,e); 
-        am.audit(ae);
-     }    
-     
-     protected Map<String,Object> getContextMap(Principal principal, String methodName)
-     {
-        Map<String,Object> cmap = new HashMap<String,Object>();
-        cmap.put("principal", principal);
-        cmap.put("method", methodName);
-        return cmap;
-     }  
-
-}

Copied: projects/ejb3/dev/ejbthree1269/security/src/main/java/org/jboss/ejb3/security/helpers/SecurityHelper.java (from rev 72450, projects/ejb3/trunk/security/src/main/java/org/jboss/ejb3/security/helpers/SecurityHelper.java)
===================================================================
--- projects/ejb3/dev/ejbthree1269/security/src/main/java/org/jboss/ejb3/security/helpers/SecurityHelper.java	                        (rev 0)
+++ projects/ejb3/dev/ejbthree1269/security/src/main/java/org/jboss/ejb3/security/helpers/SecurityHelper.java	2008-04-18 17:47:17 UTC (rev 72451)
@@ -0,0 +1,91 @@
+/*
+  * JBoss, Home of Professional Open Source
+  * Copyright 2007, JBoss Inc., and individual contributors as indicated
+  * by the @authors tag. See the copyright.txt 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.ejb3.security.helpers;
+
+import java.security.Principal;
+import java.util.HashMap;
+import java.util.Map;
+
+import org.jboss.logging.Logger;
+import org.jboss.security.SecurityContext;
+import org.jboss.security.audit.AuditEvent;
+import org.jboss.security.audit.AuditManager;
+import org.jboss.security.authorization.Resource;
+ 
+/**
+ *  Base Class for helpers
+ *  @author Anil.Saldhana at redhat.com
+ *  @since  Apr 16, 2008 
+ *  @version $Revision$
+ */
+public class SecurityHelper
+{ 
+   protected static Logger log = null;
+   
+   protected SecurityContext securityContext = null;
+   
+   public SecurityHelper(SecurityContext sc)
+   {
+      log = Logger.getLogger(getClass());
+      if(sc == null)
+         sc = SecurityActions.getSecurityContext(); 
+      this.securityContext = sc;
+   }
+   
+
+     //******************************************************
+     //  Audit Methods
+     //******************************************************
+     protected void authorizationAudit(String level, Resource resource, Exception e)
+     {
+        if(securityContext.getAuditManager() == null)
+           return;
+        //Authorization Exception stacktrace is huge. Scale it down
+        //as the original stack trace can be seen in server.log (if needed)
+        String exceptionMessage = e != null ? e.getLocalizedMessage() : "";  
+        Map<String,Object> cmap = new HashMap<String,Object>();
+        cmap.putAll(resource.getMap());
+        cmap.put("Resource:", resource.toString());
+        cmap.put("Exception:", exceptionMessage);
+        audit(level,cmap,null);
+     }  
+     
+     protected void audit(String level,
+           Map<String,Object> contextMap, Exception e)
+     { 
+        AuditManager am = securityContext.getAuditManager();
+        if(am == null)
+           return;
+        contextMap.put("Source", getClass().getName());
+        AuditEvent ae = new AuditEvent(level,contextMap,e); 
+        am.audit(ae);
+     }    
+     
+     protected Map<String,Object> getContextMap(Principal principal, String methodName)
+     {
+        Map<String,Object> cmap = new HashMap<String,Object>();
+        cmap.put("principal", principal);
+        cmap.put("method", methodName);
+        return cmap;
+     }  
+
+}

Copied: projects/ejb3/dev/ejbthree1269/security/src/main/resources (from rev 72450, projects/ejb3/trunk/security/src/main/resources)

Copied: projects/ejb3/dev/ejbthree1269/security/src/test (from rev 72450, projects/ejb3/trunk/security/src/test)

Copied: projects/ejb3/dev/ejbthree1269/security/src/test/java (from rev 72450, projects/ejb3/trunk/security/src/test/java)

Copied: projects/ejb3/dev/ejbthree1269/security/src/test/resources (from rev 72450, projects/ejb3/trunk/security/src/test/resources)

Copied: projects/ejb3/dev/ejbthree1269/transactions (from rev 72450, projects/ejb3/trunk/transactions)


Property changes on: projects/ejb3/dev/ejbthree1269/transactions
___________________________________________________________________
Name: svn:ignore
   + target
eclipse-target
ObjectStore


Deleted: projects/ejb3/dev/ejbthree1269/transactions/.classpath
===================================================================
--- projects/ejb3/trunk/transactions/.classpath	2008-04-18 16:36:56 UTC (rev 72450)
+++ projects/ejb3/dev/ejbthree1269/transactions/.classpath	2008-04-18 17:47:17 UTC (rev 72451)
@@ -1,9 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<classpath>
-	<classpathentry kind="src" path="src/main/java"/>
-	<classpathentry kind="src" output="eclipse-target/tests-classes" path="src/test/java"/>
-	<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER"/>
-	<classpathentry kind="con" path="org.maven.ide.eclipse.MAVEN2_CLASSPATH_CONTAINER"/>
-	<classpathentry excluding="**/*.java" kind="src" output="eclipse-target/tests-classes" path="src/test/resources"/>
-	<classpathentry kind="output" path="eclipse-target/classes"/>
-</classpath>

Copied: projects/ejb3/dev/ejbthree1269/transactions/.classpath (from rev 72450, projects/ejb3/trunk/transactions/.classpath)
===================================================================
--- projects/ejb3/dev/ejbthree1269/transactions/.classpath	                        (rev 0)
+++ projects/ejb3/dev/ejbthree1269/transactions/.classpath	2008-04-18 17:47:17 UTC (rev 72451)
@@ -0,0 +1,9 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<classpath>
+	<classpathentry kind="src" path="src/main/java"/>
+	<classpathentry kind="src" output="eclipse-target/tests-classes" path="src/test/java"/>
+	<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER"/>
+	<classpathentry kind="con" path="org.maven.ide.eclipse.MAVEN2_CLASSPATH_CONTAINER"/>
+	<classpathentry excluding="**/*.java" kind="src" output="eclipse-target/tests-classes" path="src/test/resources"/>
+	<classpathentry kind="output" path="eclipse-target/classes"/>
+</classpath>

Deleted: projects/ejb3/dev/ejbthree1269/transactions/.project
===================================================================
--- projects/ejb3/trunk/transactions/.project	2008-04-18 16:36:56 UTC (rev 72450)
+++ projects/ejb3/dev/ejbthree1269/transactions/.project	2008-04-18 17:47:17 UTC (rev 72451)
@@ -1,25 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<projectDescription>
-	<name>jboss-ejb3-transactions</name>
-	<comment>The JBoss EJB 3 Transactions component implements all functionality
-    specified in Chapter 13 (Support for Transactions) of the EJB 3.0
-    specification.</comment>
-	<projects>
-	</projects>
-	<buildSpec>
-		<buildCommand>
-			<name>org.maven.ide.eclipse.maven2Builder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-		<buildCommand>
-			<name>org.eclipse.jdt.core.javabuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-	</buildSpec>
-	<natures>
-		<nature>org.eclipse.jdt.core.javanature</nature>
-		<nature>org.maven.ide.eclipse.maven2Nature</nature>
-	</natures>
-</projectDescription>

Copied: projects/ejb3/dev/ejbthree1269/transactions/.project (from rev 72450, projects/ejb3/trunk/transactions/.project)
===================================================================
--- projects/ejb3/dev/ejbthree1269/transactions/.project	                        (rev 0)
+++ projects/ejb3/dev/ejbthree1269/transactions/.project	2008-04-18 17:47:17 UTC (rev 72451)
@@ -0,0 +1,25 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<projectDescription>
+	<name>jboss-ejb3-transactions</name>
+	<comment>The JBoss EJB 3 Transactions component implements all functionality
+    specified in Chapter 13 (Support for Transactions) of the EJB 3.0
+    specification.</comment>
+	<projects>
+	</projects>
+	<buildSpec>
+		<buildCommand>
+			<name>org.maven.ide.eclipse.maven2Builder</name>
+			<arguments>
+			</arguments>
+		</buildCommand>
+		<buildCommand>
+			<name>org.eclipse.jdt.core.javabuilder</name>
+			<arguments>
+			</arguments>
+		</buildCommand>
+	</buildSpec>
+	<natures>
+		<nature>org.eclipse.jdt.core.javanature</nature>
+		<nature>org.maven.ide.eclipse.maven2Nature</nature>
+	</natures>
+</projectDescription>

Copied: projects/ejb3/dev/ejbthree1269/transactions/.settings (from rev 72450, projects/ejb3/trunk/transactions/.settings)

Deleted: projects/ejb3/dev/ejbthree1269/transactions/.settings/org.eclipse.jdt.core.prefs
===================================================================
--- projects/ejb3/trunk/transactions/.settings/org.eclipse.jdt.core.prefs	2008-04-18 16:36:56 UTC (rev 72450)
+++ projects/ejb3/dev/ejbthree1269/transactions/.settings/org.eclipse.jdt.core.prefs	2008-04-18 17:47:17 UTC (rev 72451)
@@ -1,6 +0,0 @@
-#Tue Apr 15 15:17:02 CEST 2008
-eclipse.preferences.version=1
-instance/org.eclipse.core.net/org.eclipse.core.net.hasMigrated=true
-org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.5
-org.eclipse.jdt.core.compiler.compliance=1.5
-org.eclipse.jdt.core.compiler.source=1.5

Copied: projects/ejb3/dev/ejbthree1269/transactions/.settings/org.eclipse.jdt.core.prefs (from rev 72450, projects/ejb3/trunk/transactions/.settings/org.eclipse.jdt.core.prefs)
===================================================================
--- projects/ejb3/dev/ejbthree1269/transactions/.settings/org.eclipse.jdt.core.prefs	                        (rev 0)
+++ projects/ejb3/dev/ejbthree1269/transactions/.settings/org.eclipse.jdt.core.prefs	2008-04-18 17:47:17 UTC (rev 72451)
@@ -0,0 +1,6 @@
+#Tue Apr 15 15:17:02 CEST 2008
+eclipse.preferences.version=1
+instance/org.eclipse.core.net/org.eclipse.core.net.hasMigrated=true
+org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.5
+org.eclipse.jdt.core.compiler.compliance=1.5
+org.eclipse.jdt.core.compiler.source=1.5

Deleted: projects/ejb3/dev/ejbthree1269/transactions/pom.xml
===================================================================
--- projects/ejb3/trunk/transactions/pom.xml	2008-04-18 16:36:56 UTC (rev 72450)
+++ projects/ejb3/dev/ejbthree1269/transactions/pom.xml	2008-04-18 17:47:17 UTC (rev 72451)
@@ -1,158 +0,0 @@
-<!-- 
-  vi:ts=2:sw=2:expandtab 
--->
-<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
-  <parent>
-    <groupId>org.jboss.ejb3</groupId>
-    <artifactId>jboss-ejb3-build</artifactId>
-    <version>0.13.1-SNAPSHOT</version>
-    <relativePath>../build/pom.xml</relativePath>
-  </parent>
-  <modelVersion>4.0.0</modelVersion>
-  <artifactId>jboss-ejb3-transactions</artifactId>
-  <version>0.13.0-SNAPSHOT</version>
-  <packaging>jar</packaging>
-  <name>JBoss EJB 3.0 Transactions</name>
-  <url>http://www.jboss.org</url>
-  <description>
-    The JBoss EJB 3 Transactions component implements all functionality
-    specified in Chapter 13 (Support for Transactions) of the EJB 3.0
-    specification.
-  </description>
-  
-  <dependencies>
-    <!-- Internal -->
-    <dependency>
-      <groupId>org.jboss.ejb3</groupId>
-      <artifactId>jboss-ejb3-metadata</artifactId>
-      <version>0.12.1-SNAPSHOT</version>
-    </dependency>
-
-    <!-- External -->
-    <dependency>
-      <groupId>jboss.aop</groupId>
-      <artifactId>jboss-aop-deployer-jdk50</artifactId>
-      <version>2.0.0.CR8</version>
-      <scope>test</scope>
-    </dependency>
-    <dependency>
-      <groupId>org.jboss.logging</groupId>
-      <artifactId>jboss-logging-spi</artifactId>
-    </dependency>
-    <dependency>
-      <groupId>org.jboss.logging</groupId>
-      <artifactId>jboss-logging-log4j</artifactId>
-      <scope>test</scope>
-    </dependency>
-    <dependency>
-      <groupId>junit</groupId>
-      <artifactId>junit</artifactId>
-      <scope>test</scope>
-    </dependency>
-    <dependency>
-      <groupId>org.jboss</groupId>
-      <artifactId>jboss-transaction-spi</artifactId>
-      <version>5.0.0.Beta4</version>
-    </dependency>
-    <dependency>
-      <groupId>org.jboss</groupId>
-      <artifactId>jnpserver</artifactId>
-      <scope>test</scope>
-      <exclusions>
-         <exclusion>
-            <groupId>jboss</groupId>
-            <artifactId>jboss-common-core</artifactId>
-         </exclusion>
-      </exclusions>
-    </dependency>
-    <dependency>
-      <groupId>org.jboss.metadata</groupId>
-      <artifactId>jboss-metadata</artifactId>
-    </dependency>
-    <dependency>
-      <groupId>org.jboss.aop</groupId>
-      <artifactId>jboss-aop</artifactId>
-    </dependency>
-    <dependency>
-      <groupId>org.jboss.aspects</groupId>
-      <artifactId>jboss-transaction-aspects</artifactId>
-      <version>1.0.0-SNAPSHOT</version>
-    </dependency>
-    <dependency>
-      <groupId>org.jboss.deployers</groupId>
-      <artifactId>jboss-deployers-vfs</artifactId>
-      <version>2.0.0.Beta14</version>
-    </dependency>
-    <dependency>
-      <groupId>org.jboss.deployers</groupId>
-      <artifactId>jboss-deployers-vfs-spi</artifactId>
-      <version>2.0.0.Beta14</version>
-    </dependency>
-    <dependency>
-      <groupId>org.jboss.ejb3</groupId>
-      <artifactId>jboss-ejb3-cache</artifactId>
-      <version>0.13.0-SNAPSHOT</version>
-      <scope>test</scope>
-    </dependency>
-    <dependency>
-      <groupId>org.jboss.ejb3</groupId>
-      <artifactId>jboss-ejb3-ext-api-impl</artifactId>
-      <version>0.3</version>
-    </dependency>
-    <dependency>
-      <groupId>org.jboss.ejb3</groupId>
-      <artifactId>jboss-ejb3-interceptors</artifactId>
-      <version>0.13.0-SNAPSHOT</version>
-    </dependency>
-    <dependency>
-      <groupId>org.jboss.javaee</groupId>
-      <artifactId>jboss-ejb-api</artifactId>
-    </dependency>
-    <dependency>
-      <groupId>org.jboss.microcontainer</groupId>
-      <artifactId>jboss-kernel</artifactId>
-      <version>2.0.0.Beta13</version>
-      <scope>test</scope>
-    </dependency>
-    <!--
-    <dependency>
-      <groupId>org.jboss.microcontainer</groupId>
-      <artifactId>jboss-managed</artifactId>
-      <version>2.0.0.Beta10</version>
-      <scope>test</scope>
-    </dependency>
-    -->
-    <dependency>
-      <groupId>jboss.jbossts</groupId>
-      <artifactId>jbossjta</artifactId>
-      <version>4.3.0.GA</version>
-      <scope>test</scope>
-    </dependency>
-    <!-- For Eclipse Maven 2 Plugin -->
-    <dependency>
-      <groupId>org.jboss</groupId>
-      <artifactId>jboss-reflect</artifactId>
-      <version>2.0.0.Beta12</version>
-      <scope>test</scope>
-    </dependency>
-    
-    <!-- For Arjuna / JBoss Transaction -->
-    <dependency>
-      <groupId>apache-logging</groupId>
-      <artifactId>commons-logging</artifactId>
-      <version>1.1.0.jboss</version>
-      <scope>test</scope>
-    </dependency>
-    <dependency>
-      <groupId>oswego-concurrent</groupId>
-      <artifactId>concurrent</artifactId>
-      <version>1.3.4-jboss-update1</version>
-    </dependency>
-    <dependency>
-      <groupId>jboss.jbossts</groupId>
-      <artifactId>jbossts-common</artifactId>
-      <version>4.3.0.GA</version>
-      <scope>test</scope>
-    </dependency>
-  </dependencies>
-</project>

Copied: projects/ejb3/dev/ejbthree1269/transactions/pom.xml (from rev 72450, projects/ejb3/trunk/transactions/pom.xml)
===================================================================
--- projects/ejb3/dev/ejbthree1269/transactions/pom.xml	                        (rev 0)
+++ projects/ejb3/dev/ejbthree1269/transactions/pom.xml	2008-04-18 17:47:17 UTC (rev 72451)
@@ -0,0 +1,158 @@
+<!-- 
+  vi:ts=2:sw=2:expandtab 
+-->
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
+  <parent>
+    <groupId>org.jboss.ejb3</groupId>
+    <artifactId>jboss-ejb3-build</artifactId>
+    <version>0.13.1-SNAPSHOT</version>
+    <relativePath>../build/pom.xml</relativePath>
+  </parent>
+  <modelVersion>4.0.0</modelVersion>
+  <artifactId>jboss-ejb3-transactions</artifactId>
+  <version>0.13.0-SNAPSHOT</version>
+  <packaging>jar</packaging>
+  <name>JBoss EJB 3.0 Transactions</name>
+  <url>http://www.jboss.org</url>
+  <description>
+    The JBoss EJB 3 Transactions component implements all functionality
+    specified in Chapter 13 (Support for Transactions) of the EJB 3.0
+    specification.
+  </description>
+  
+  <dependencies>
+    <!-- Internal -->
+    <dependency>
+      <groupId>org.jboss.ejb3</groupId>
+      <artifactId>jboss-ejb3-metadata</artifactId>
+      <version>0.12.1-SNAPSHOT</version>
+    </dependency>
+
+    <!-- External -->
+    <dependency>
+      <groupId>jboss.aop</groupId>
+      <artifactId>jboss-aop-deployer-jdk50</artifactId>
+      <version>2.0.0.CR8</version>
+      <scope>test</scope>
+    </dependency>
+    <dependency>
+      <groupId>org.jboss.logging</groupId>
+      <artifactId>jboss-logging-spi</artifactId>
+    </dependency>
+    <dependency>
+      <groupId>org.jboss.logging</groupId>
+      <artifactId>jboss-logging-log4j</artifactId>
+      <scope>test</scope>
+    </dependency>
+    <dependency>
+      <groupId>junit</groupId>
+      <artifactId>junit</artifactId>
+      <scope>test</scope>
+    </dependency>
+    <dependency>
+      <groupId>org.jboss</groupId>
+      <artifactId>jboss-transaction-spi</artifactId>
+      <version>5.0.0.Beta4</version>
+    </dependency>
+    <dependency>
+      <groupId>org.jboss</groupId>
+      <artifactId>jnpserver</artifactId>
+      <scope>test</scope>
+      <exclusions>
+         <exclusion>
+            <groupId>jboss</groupId>
+            <artifactId>jboss-common-core</artifactId>
+         </exclusion>
+      </exclusions>
+    </dependency>
+    <dependency>
+      <groupId>org.jboss.metadata</groupId>
+      <artifactId>jboss-metadata</artifactId>
+    </dependency>
+    <dependency>
+      <groupId>org.jboss.aop</groupId>
+      <artifactId>jboss-aop</artifactId>
+    </dependency>
+    <dependency>
+      <groupId>org.jboss.aspects</groupId>
+      <artifactId>jboss-transaction-aspects</artifactId>
+      <version>1.0.0-SNAPSHOT</version>
+    </dependency>
+    <dependency>
+      <groupId>org.jboss.deployers</groupId>
+      <artifactId>jboss-deployers-vfs</artifactId>
+      <version>2.0.0.Beta14</version>
+    </dependency>
+    <dependency>
+      <groupId>org.jboss.deployers</groupId>
+      <artifactId>jboss-deployers-vfs-spi</artifactId>
+      <version>2.0.0.Beta14</version>
+    </dependency>
+    <dependency>
+      <groupId>org.jboss.ejb3</groupId>
+      <artifactId>jboss-ejb3-cache</artifactId>
+      <version>0.13.0-SNAPSHOT</version>
+      <scope>test</scope>
+    </dependency>
+    <dependency>
+      <groupId>org.jboss.ejb3</groupId>
+      <artifactId>jboss-ejb3-ext-api-impl</artifactId>
+      <version>0.3</version>
+    </dependency>
+    <dependency>
+      <groupId>org.jboss.ejb3</groupId>
+      <artifactId>jboss-ejb3-interceptors</artifactId>
+      <version>0.13.0-SNAPSHOT</version>
+    </dependency>
+    <dependency>
+      <groupId>org.jboss.javaee</groupId>
+      <artifactId>jboss-ejb-api</artifactId>
+    </dependency>
+    <dependency>
+      <groupId>org.jboss.microcontainer</groupId>
+      <artifactId>jboss-kernel</artifactId>
+      <version>2.0.0.Beta13</version>
+      <scope>test</scope>
+    </dependency>
+    <!--
+    <dependency>
+      <groupId>org.jboss.microcontainer</groupId>
+      <artifactId>jboss-managed</artifactId>
+      <version>2.0.0.Beta10</version>
+      <scope>test</scope>
+    </dependency>
+    -->
+    <dependency>
+      <groupId>jboss.jbossts</groupId>
+      <artifactId>jbossjta</artifactId>
+      <version>4.3.0.GA</version>
+      <scope>test</scope>
+    </dependency>
+    <!-- For Eclipse Maven 2 Plugin -->
+    <dependency>
+      <groupId>org.jboss</groupId>
+      <artifactId>jboss-reflect</artifactId>
+      <version>2.0.0.Beta12</version>
+      <scope>test</scope>
+    </dependency>
+    
+    <!-- For Arjuna / JBoss Transaction -->
+    <dependency>
+      <groupId>apache-logging</groupId>
+      <artifactId>commons-logging</artifactId>
+      <version>1.1.0.jboss</version>
+      <scope>test</scope>
+    </dependency>
+    <dependency>
+      <groupId>oswego-concurrent</groupId>
+      <artifactId>concurrent</artifactId>
+      <version>1.3.4-jboss-update1</version>
+    </dependency>
+    <dependency>
+      <groupId>jboss.jbossts</groupId>
+      <artifactId>jbossts-common</artifactId>
+      <version>4.3.0.GA</version>
+      <scope>test</scope>
+    </dependency>
+  </dependencies>
+</project>

Copied: projects/ejb3/dev/ejbthree1269/transactions/src (from rev 72450, projects/ejb3/trunk/transactions/src)

Copied: projects/ejb3/dev/ejbthree1269/transactions/src/main (from rev 72450, projects/ejb3/trunk/transactions/src/main)

Copied: projects/ejb3/dev/ejbthree1269/transactions/src/main/java (from rev 72450, projects/ejb3/trunk/transactions/src/main/java)

Copied: projects/ejb3/dev/ejbthree1269/transactions/src/main/java/org (from rev 72450, projects/ejb3/trunk/transactions/src/main/java/org)

Copied: projects/ejb3/dev/ejbthree1269/transactions/src/main/java/org/jboss (from rev 72450, projects/ejb3/trunk/transactions/src/main/java/org/jboss)

Copied: projects/ejb3/dev/ejbthree1269/transactions/src/main/java/org/jboss/ejb3 (from rev 72450, projects/ejb3/trunk/transactions/src/main/java/org/jboss/ejb3)

Copied: projects/ejb3/dev/ejbthree1269/transactions/src/main/java/org/jboss/ejb3/tx (from rev 72450, projects/ejb3/trunk/transactions/src/main/java/org/jboss/ejb3/tx)

Deleted: projects/ejb3/dev/ejbthree1269/transactions/src/main/java/org/jboss/ejb3/tx/AbstractInterceptor.java
===================================================================
--- projects/ejb3/trunk/transactions/src/main/java/org/jboss/ejb3/tx/AbstractInterceptor.java	2008-04-18 16:36:56 UTC (rev 72450)
+++ projects/ejb3/dev/ejbthree1269/transactions/src/main/java/org/jboss/ejb3/tx/AbstractInterceptor.java	2008-04-18 17:47:17 UTC (rev 72451)
@@ -1,51 +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.
- */
-package org.jboss.ejb3.tx;
-
-import java.lang.annotation.Annotation;
-
-import org.jboss.aop.advice.Interceptor;
-import org.jboss.aop.joinpoint.Invocation;
-import org.jboss.ejb3.interceptors.aop.ExtendedAdvisorHelper;
-import org.jboss.ejb3.interceptors.container.AbstractContainer;
-
-/**
- * @author <a href="mailto:carlo.dewolf at jboss.com">Carlo de Wolf</a>
- * @version $Revision: $
- */
-public abstract class AbstractInterceptor implements Interceptor
-{
-   protected <C> C getContainer(Invocation invocation)
-   {
-      return (C) AbstractContainer.getContainer(invocation.getAdvisor());
-   }
-   
-   public final String getName()
-   {
-      return getClass().getName();
-   }
-   
-   protected static <T extends Annotation> T resolveAnnotation(Invocation invocation, Class<?> cls, Class<T> annotationType)
-   {
-      return ExtendedAdvisorHelper.getExtendedAdvisor(invocation.getAdvisor(), invocation.getTargetObject()).resolveAnnotation(cls, annotationType);
-   }
-}

Copied: projects/ejb3/dev/ejbthree1269/transactions/src/main/java/org/jboss/ejb3/tx/AbstractInterceptor.java (from rev 72450, projects/ejb3/trunk/transactions/src/main/java/org/jboss/ejb3/tx/AbstractInterceptor.java)
===================================================================
--- projects/ejb3/dev/ejbthree1269/transactions/src/main/java/org/jboss/ejb3/tx/AbstractInterceptor.java	                        (rev 0)
+++ projects/ejb3/dev/ejbthree1269/transactions/src/main/java/org/jboss/ejb3/tx/AbstractInterceptor.java	2008-04-18 17:47:17 UTC (rev 72451)
@@ -0,0 +1,51 @@
+/*
+ * 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.
+ */
+package org.jboss.ejb3.tx;
+
+import java.lang.annotation.Annotation;
+
+import org.jboss.aop.advice.Interceptor;
+import org.jboss.aop.joinpoint.Invocation;
+import org.jboss.ejb3.interceptors.aop.ExtendedAdvisorHelper;
+import org.jboss.ejb3.interceptors.container.AbstractContainer;
+
+/**
+ * @author <a href="mailto:carlo.dewolf at jboss.com">Carlo de Wolf</a>
+ * @version $Revision: $
+ */
+public abstract class AbstractInterceptor implements Interceptor
+{
+   protected <C> C getContainer(Invocation invocation)
+   {
+      return (C) AbstractContainer.getContainer(invocation.getAdvisor());
+   }
+   
+   public final String getName()
+   {
+      return getClass().getName();
+   }
+   
+   protected static <T extends Annotation> T resolveAnnotation(Invocation invocation, Class<?> cls, Class<T> annotationType)
+   {
+      return ExtendedAdvisorHelper.getExtendedAdvisor(invocation.getAdvisor(), invocation.getTargetObject()).resolveAnnotation(cls, annotationType);
+   }
+}

Deleted: projects/ejb3/dev/ejbthree1269/transactions/src/main/java/org/jboss/ejb3/tx/BMTInterceptor.java
===================================================================
--- projects/ejb3/trunk/transactions/src/main/java/org/jboss/ejb3/tx/BMTInterceptor.java	2008-04-18 16:36:56 UTC (rev 72450)
+++ projects/ejb3/dev/ejbthree1269/transactions/src/main/java/org/jboss/ejb3/tx/BMTInterceptor.java	2008-04-18 17:47:17 UTC (rev 72451)
@@ -1,212 +0,0 @@
-/*
- * JBoss, Home of Professional Open Source.
- * Copyright 2006, 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.ejb3.tx;
-
-import javax.ejb.EJBException;
-import javax.transaction.Status;
-import javax.transaction.SystemException;
-import javax.transaction.Transaction;
-import javax.transaction.TransactionManager;
-
-import org.jboss.aop.joinpoint.Invocation;
-import org.jboss.aop.util.PayloadKey;
-import org.jboss.ejb3.interceptors.container.ContainerMethodInvocation;
-import org.jboss.ejb3.tx.container.StatefulBeanContext;
-import org.jboss.logging.Logger;
-import org.jboss.tm.TxUtils;
-
-/**
- * Comment
- *
- * @author <a href="mailto:bill at jboss.org">Bill Burke</a>
- *  @author <a href="mailto:osh at sparre.dk">Ole Husgaard</a>
- * @version $Revision$
- */
-public class BMTInterceptor extends AbstractInterceptor
-{
-   private TransactionManager tm;
-   private boolean isStateless;
-   protected static Logger log = Logger.getLogger(BMTInterceptor.class);
-
-   public BMTInterceptor(TransactionManager tm, boolean stateless)
-   {
-      this.tm = tm;
-      isStateless = stateless;
-   }
-
-   public Object handleStateless(Invocation invocation) throws Throwable
-   {
-      String ejbName = invocation.getAdvisor().getName();
-      boolean exceptionThrown = false;
-      try
-      {
-         return invocation.invokeNext();
-      }
-      catch (Exception ex)
-      {
-         exceptionThrown = true;
-         checkStatelessDone(ejbName, ex);
-         throw ex;
-      }
-      finally
-      {
-         try
-         {
-            if (!exceptionThrown) checkStatelessDone(ejbName, null);
-         }
-         finally
-         {
-            tm.suspend();
-         }
-      }
-   }
-
-   public Object handleStateful(Invocation invocation) throws Throwable
-   {
-      StatefulBeanContext<?> ctx = (StatefulBeanContext<?>) ContainerMethodInvocation.getContainerMethodInvocation(invocation).getBeanContext();
-      String ejbName = invocation.getAdvisor().getName();
-
-      Transaction tx = (Transaction)ctx.getMetaData().getMetaData("TX", "TX");
-      if (tx != null)
-      {
-         ctx.getMetaData().addMetaData("TX", "TX", null, PayloadKey.TRANSIENT);
-         tm.resume(tx);
-      }
-      try
-      {
-         return invocation.invokeNext();
-      }
-      finally
-      {
-         checkBadStateful(ejbName);
-         Transaction newTx = tm.getTransaction();
-         if (newTx != null)
-         {
-            ctx.getMetaData().addMetaData("TX", "TX", newTx, PayloadKey.TRANSIENT);
-            tm.suspend();
-         }
-         else
-         {
-            ctx.getMetaData().addMetaData("TX", "TX", null, PayloadKey.TRANSIENT);
-         }
-      }
-   }
-
-   public Object invoke(Invocation invocation) throws Throwable
-   {
-      Transaction oldTx = tm.getTransaction();
-      if (oldTx != null) tm.suspend();
-
-      try
-      {
-         if (isStateless) return handleStateless(invocation);
-         else return handleStateful(invocation);
-      }
-      finally
-      {
-         if (oldTx != null) tm.resume(oldTx);
-      }
-
-
-   }
-
-   private void checkStatelessDone(String ejbName, Exception ex)
-   {
-      int status = Status.STATUS_NO_TRANSACTION;
-
-      try
-      {
-         status = tm.getStatus();
-      }
-      catch (SystemException sex)
-      {
-         log.error("Failed to get status", sex);
-      }
-
-      switch (status)
-      {
-         case Status.STATUS_ACTIVE :
-         case Status.STATUS_COMMITTING :
-         case Status.STATUS_MARKED_ROLLBACK :
-         case Status.STATUS_PREPARING :
-         case Status.STATUS_ROLLING_BACK :
-            try
-            {
-               tm.rollback();
-            }
-            catch (Exception sex)
-            {
-               log.error("Failed to rollback", sex);
-            }
-         // fall through...
-         case Status.STATUS_PREPARED :
-            String msg = "Application error: BMT stateless bean " + ejbName
-                         + " should complete transactions before" + " returning (ejb1.1 spec, 11.6.1)";
-            log.error(msg);
-
-            // the instance interceptor will discard the instance
-            if (ex != null)
-            {
-               if (ex instanceof EJBException)
-                  throw (EJBException)ex;
-               else
-                  throw new EJBException(msg, ex);
-            }
-            else throw new EJBException(msg);
-      }
-   }
-
-   private void checkBadStateful(String ejbName)
-   {
-      int status = Status.STATUS_NO_TRANSACTION;
-
-      try
-      {
-         status = tm.getStatus();
-      }
-      catch (SystemException ex)
-      {
-         log.error("Failed to get status", ex);
-      }
-
-      switch (status)
-      {
-         case Status.STATUS_COMMITTING :
-         case Status.STATUS_MARKED_ROLLBACK :
-         case Status.STATUS_PREPARING :
-         case Status.STATUS_ROLLING_BACK :
-            try
-            {
-               tm.rollback();
-            }
-            catch (Exception ex)
-            {
-               log.error("Failed to rollback", ex);
-            }
-            String msg = "BMT stateful bean '" + ejbName
-                         + "' did not complete user transaction properly status=" + TxUtils.getStatusAsString(status);
-            log.error(msg);
-      }
-   }
-
-
-}

Copied: projects/ejb3/dev/ejbthree1269/transactions/src/main/java/org/jboss/ejb3/tx/BMTInterceptor.java (from rev 72450, projects/ejb3/trunk/transactions/src/main/java/org/jboss/ejb3/tx/BMTInterceptor.java)
===================================================================
--- projects/ejb3/dev/ejbthree1269/transactions/src/main/java/org/jboss/ejb3/tx/BMTInterceptor.java	                        (rev 0)
+++ projects/ejb3/dev/ejbthree1269/transactions/src/main/java/org/jboss/ejb3/tx/BMTInterceptor.java	2008-04-18 17:47:17 UTC (rev 72451)
@@ -0,0 +1,212 @@
+/*
+ * JBoss, Home of Professional Open Source.
+ * Copyright 2006, 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.ejb3.tx;
+
+import javax.ejb.EJBException;
+import javax.transaction.Status;
+import javax.transaction.SystemException;
+import javax.transaction.Transaction;
+import javax.transaction.TransactionManager;
+
+import org.jboss.aop.joinpoint.Invocation;
+import org.jboss.aop.util.PayloadKey;
+import org.jboss.ejb3.interceptors.container.ContainerMethodInvocation;
+import org.jboss.ejb3.tx.container.StatefulBeanContext;
+import org.jboss.logging.Logger;
+import org.jboss.tm.TxUtils;
+
+/**
+ * Comment
+ *
+ * @author <a href="mailto:bill at jboss.org">Bill Burke</a>
+ *  @author <a href="mailto:osh at sparre.dk">Ole Husgaard</a>
+ * @version $Revision$
+ */
+public class BMTInterceptor extends AbstractInterceptor
+{
+   private TransactionManager tm;
+   private boolean isStateless;
+   protected static Logger log = Logger.getLogger(BMTInterceptor.class);
+
+   public BMTInterceptor(TransactionManager tm, boolean stateless)
+   {
+      this.tm = tm;
+      isStateless = stateless;
+   }
+
+   public Object handleStateless(Invocation invocation) throws Throwable
+   {
+      String ejbName = invocation.getAdvisor().getName();
+      boolean exceptionThrown = false;
+      try
+      {
+         return invocation.invokeNext();
+      }
+      catch (Exception ex)
+      {
+         exceptionThrown = true;
+         checkStatelessDone(ejbName, ex);
+         throw ex;
+      }
+      finally
+      {
+         try
+         {
+            if (!exceptionThrown) checkStatelessDone(ejbName, null);
+         }
+         finally
+         {
+            tm.suspend();
+         }
+      }
+   }
+
+   public Object handleStateful(Invocation invocation) throws Throwable
+   {
+      StatefulBeanContext<?> ctx = (StatefulBeanContext<?>) ContainerMethodInvocation.getContainerMethodInvocation(invocation).getBeanContext();
+      String ejbName = invocation.getAdvisor().getName();
+
+      Transaction tx = (Transaction)ctx.getMetaData().getMetaData("TX", "TX");
+      if (tx != null)
+      {
+         ctx.getMetaData().addMetaData("TX", "TX", null, PayloadKey.TRANSIENT);
+         tm.resume(tx);
+      }
+      try
+      {
+         return invocation.invokeNext();
+      }
+      finally
+      {
+         checkBadStateful(ejbName);
+         Transaction newTx = tm.getTransaction();
+         if (newTx != null)
+         {
+            ctx.getMetaData().addMetaData("TX", "TX", newTx, PayloadKey.TRANSIENT);
+            tm.suspend();
+         }
+         else
+         {
+            ctx.getMetaData().addMetaData("TX", "TX", null, PayloadKey.TRANSIENT);
+         }
+      }
+   }
+
+   public Object invoke(Invocation invocation) throws Throwable
+   {
+      Transaction oldTx = tm.getTransaction();
+      if (oldTx != null) tm.suspend();
+
+      try
+      {
+         if (isStateless) return handleStateless(invocation);
+         else return handleStateful(invocation);
+      }
+      finally
+      {
+         if (oldTx != null) tm.resume(oldTx);
+      }
+
+
+   }
+
+   private void checkStatelessDone(String ejbName, Exception ex)
+   {
+      int status = Status.STATUS_NO_TRANSACTION;
+
+      try
+      {
+         status = tm.getStatus();
+      }
+      catch (SystemException sex)
+      {
+         log.error("Failed to get status", sex);
+      }
+
+      switch (status)
+      {
+         case Status.STATUS_ACTIVE :
+         case Status.STATUS_COMMITTING :
+         case Status.STATUS_MARKED_ROLLBACK :
+         case Status.STATUS_PREPARING :
+         case Status.STATUS_ROLLING_BACK :
+            try
+            {
+               tm.rollback();
+            }
+            catch (Exception sex)
+            {
+               log.error("Failed to rollback", sex);
+            }
+         // fall through...
+         case Status.STATUS_PREPARED :
+            String msg = "Application error: BMT stateless bean " + ejbName
+                         + " should complete transactions before" + " returning (ejb1.1 spec, 11.6.1)";
+            log.error(msg);
+
+            // the instance interceptor will discard the instance
+            if (ex != null)
+            {
+               if (ex instanceof EJBException)
+                  throw (EJBException)ex;
+               else
+                  throw new EJBException(msg, ex);
+            }
+            else throw new EJBException(msg);
+      }
+   }
+
+   private void checkBadStateful(String ejbName)
+   {
+      int status = Status.STATUS_NO_TRANSACTION;
+
+      try
+      {
+         status = tm.getStatus();
+      }
+      catch (SystemException ex)
+      {
+         log.error("Failed to get status", ex);
+      }
+
+      switch (status)
+      {
+         case Status.STATUS_COMMITTING :
+         case Status.STATUS_MARKED_ROLLBACK :
+         case Status.STATUS_PREPARING :
+         case Status.STATUS_ROLLING_BACK :
+            try
+            {
+               tm.rollback();
+            }
+            catch (Exception ex)
+            {
+               log.error("Failed to rollback", ex);
+            }
+            String msg = "BMT stateful bean '" + ejbName
+                         + "' did not complete user transaction properly status=" + TxUtils.getStatusAsString(status);
+            log.error(msg);
+      }
+   }
+
+
+}

Deleted: projects/ejb3/dev/ejbthree1269/transactions/src/main/java/org/jboss/ejb3/tx/Ejb3TxPolicy.java
===================================================================
--- projects/ejb3/trunk/transactions/src/main/java/org/jboss/ejb3/tx/Ejb3TxPolicy.java	2008-04-18 16:36:56 UTC (rev 72450)
+++ projects/ejb3/dev/ejbthree1269/transactions/src/main/java/org/jboss/ejb3/tx/Ejb3TxPolicy.java	2008-04-18 17:47:17 UTC (rev 72451)
@@ -1,124 +0,0 @@
-/*
- * JBoss, Home of Professional Open Source.
- * Copyright 2006, 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.ejb3.tx;
-
-import java.rmi.RemoteException;
-
-import javax.ejb.ApplicationException;
-import javax.ejb.EJBException;
-import javax.ejb.EJBTransactionRequiredException;
-import javax.ejb.EJBTransactionRolledbackException;
-import javax.transaction.Transaction;
-
-import org.jboss.aop.joinpoint.Invocation;
-import org.jboss.aop.joinpoint.MethodInvocation;
-
-/**
- * Comment
- *
- * @author <a href="mailto:bill at jboss.org">Bill Burke</a>
- * @version $Revision$
- */
-public class Ejb3TxPolicy extends org.jboss.aspects.tx.TxPolicy
-{
-   public void throwMandatory(Invocation invocation)
-   {
-      throw new EJBTransactionRequiredException(((MethodInvocation) invocation).getActualMethod().toString());
-   }
-
-   public void handleExceptionInOurTx(Invocation invocation, Throwable t, Transaction tx) throws Throwable
-   {
-      ApplicationException ae = TxUtil.getApplicationException(t.getClass(), invocation);
-      if (ae != null)
-      {
-         if (ae.rollback()) setRollbackOnly(tx);
-         throw t;
-      }
-
-      // if it's neither EJBException nor RemoteException
-      if(!(t instanceof EJBException || t instanceof RemoteException))
-      {
-         // errors and unchecked are wrapped into EJBException
-         if(t instanceof Error)
-         {
-            t = new EJBException(formatException("Unexpected Error", t));
-         }
-         else if (t instanceof RuntimeException)
-         {
-            t = new EJBException((Exception)t);
-         }
-         else
-         {
-            // an application exception
-            throw t;
-         }
-      }
-
-      setRollbackOnly(tx);
-      throw t;
-   }
-
-   public void handleInCallerTx(Invocation invocation, Throwable t, Transaction tx) throws Throwable
-   {
-      ApplicationException ae = TxUtil.getApplicationException(t.getClass(), invocation);
-   
-      if (ae != null)
-      {
-         if (ae.rollback()) setRollbackOnly(tx);
-         throw t;
-      }
-      
-      // if it's not EJBTransactionRolledbackException
-      if(!(t instanceof EJBTransactionRolledbackException))
-      {
-         if(t instanceof Error)
-         {
-            t = new EJBTransactionRolledbackException(formatException("Unexpected Error", t));
-         }
-         else if(t instanceof RuntimeException || t instanceof RemoteException)
-         {
-            t = new EJBTransactionRolledbackException(t.getMessage(), (Exception) t);
-         }
-         else // application exception
-         {
-            throw t;
-         }
-      }
-      
-      setRollbackOnly(tx);
-      log.error(t);
-      throw t;
-   }
-
-   private String formatException(String msg, Throwable t)
-   {
-      java.io.StringWriter sw = new java.io.StringWriter();
-      java.io.PrintWriter pw = new java.io.PrintWriter(sw);
-      if (msg != null)
-         pw.println(msg);
-      if (t != null)
-      {
-         t.printStackTrace(pw);
-      } // end of if ()
-      return sw.toString();
-   }
-}

Copied: projects/ejb3/dev/ejbthree1269/transactions/src/main/java/org/jboss/ejb3/tx/Ejb3TxPolicy.java (from rev 72450, projects/ejb3/trunk/transactions/src/main/java/org/jboss/ejb3/tx/Ejb3TxPolicy.java)
===================================================================
--- projects/ejb3/dev/ejbthree1269/transactions/src/main/java/org/jboss/ejb3/tx/Ejb3TxPolicy.java	                        (rev 0)
+++ projects/ejb3/dev/ejbthree1269/transactions/src/main/java/org/jboss/ejb3/tx/Ejb3TxPolicy.java	2008-04-18 17:47:17 UTC (rev 72451)
@@ -0,0 +1,124 @@
+/*
+ * JBoss, Home of Professional Open Source.
+ * Copyright 2006, 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.ejb3.tx;
+
+import java.rmi.RemoteException;
+
+import javax.ejb.ApplicationException;
+import javax.ejb.EJBException;
+import javax.ejb.EJBTransactionRequiredException;
+import javax.ejb.EJBTransactionRolledbackException;
+import javax.transaction.Transaction;
+
+import org.jboss.aop.joinpoint.Invocation;
+import org.jboss.aop.joinpoint.MethodInvocation;
+
+/**
+ * Comment
+ *
+ * @author <a href="mailto:bill at jboss.org">Bill Burke</a>
+ * @version $Revision$
+ */
+public class Ejb3TxPolicy extends org.jboss.aspects.tx.TxPolicy
+{
+   public void throwMandatory(Invocation invocation)
+   {
+      throw new EJBTransactionRequiredException(((MethodInvocation) invocation).getActualMethod().toString());
+   }
+
+   public void handleExceptionInOurTx(Invocation invocation, Throwable t, Transaction tx) throws Throwable
+   {
+      ApplicationException ae = TxUtil.getApplicationException(t.getClass(), invocation);
+      if (ae != null)
+      {
+         if (ae.rollback()) setRollbackOnly(tx);
+         throw t;
+      }
+
+      // if it's neither EJBException nor RemoteException
+      if(!(t instanceof EJBException || t instanceof RemoteException))
+      {
+         // errors and unchecked are wrapped into EJBException
+         if(t instanceof Error)
+         {
+            t = new EJBException(formatException("Unexpected Error", t));
+         }
+         else if (t instanceof RuntimeException)
+         {
+            t = new EJBException((Exception)t);
+         }
+         else
+         {
+            // an application exception
+            throw t;
+         }
+      }
+
+      setRollbackOnly(tx);
+      throw t;
+   }
+
+   public void handleInCallerTx(Invocation invocation, Throwable t, Transaction tx) throws Throwable
+   {
+      ApplicationException ae = TxUtil.getApplicationException(t.getClass(), invocation);
+   
+      if (ae != null)
+      {
+         if (ae.rollback()) setRollbackOnly(tx);
+         throw t;
+      }
+      
+      // if it's not EJBTransactionRolledbackException
+      if(!(t instanceof EJBTransactionRolledbackException))
+      {
+         if(t instanceof Error)
+         {
+            t = new EJBTransactionRolledbackException(formatException("Unexpected Error", t));
+         }
+         else if(t instanceof RuntimeException || t instanceof RemoteException)
+         {
+            t = new EJBTransactionRolledbackException(t.getMessage(), (Exception) t);
+         }
+         else // application exception
+         {
+            throw t;
+         }
+      }
+      
+      setRollbackOnly(tx);
+      log.error(t);
+      throw t;
+   }
+
+   private String formatException(String msg, Throwable t)
+   {
+      java.io.StringWriter sw = new java.io.StringWriter();
+      java.io.PrintWriter pw = new java.io.PrintWriter(sw);
+      if (msg != null)
+         pw.println(msg);
+      if (t != null)
+      {
+         t.printStackTrace(pw);
+      } // end of if ()
+      return sw.toString();
+   }
+}

Deleted: projects/ejb3/dev/ejbthree1269/transactions/src/main/java/org/jboss/ejb3/tx/NullInterceptor.java
===================================================================
--- projects/ejb3/trunk/transactions/src/main/java/org/jboss/ejb3/tx/NullInterceptor.java	2008-04-18 16:36:56 UTC (rev 72450)
+++ projects/ejb3/dev/ejbthree1269/transactions/src/main/java/org/jboss/ejb3/tx/NullInterceptor.java	2008-04-18 17:47:17 UTC (rev 72451)
@@ -1,44 +0,0 @@
-/*
- * JBoss, Home of Professional Open Source.
- * Copyright 2006, 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.ejb3.tx;
-
-import org.jboss.aop.advice.Interceptor;
-import org.jboss.aop.joinpoint.Invocation;
-
-/**
- * Comment
- *
- * @author <a href="mailto:bill at jboss.org">Bill Burke</a>
- * @version $Revision$
- */
-public class NullInterceptor implements Interceptor
-{
-   public String getName()
-   {
-      return NullInterceptor.class.getName();
-   }
-
-   public Object invoke(Invocation invocation) throws Throwable
-   {
-      return invocation.invokeNext();
-   }
-}

Copied: projects/ejb3/dev/ejbthree1269/transactions/src/main/java/org/jboss/ejb3/tx/NullInterceptor.java (from rev 72450, projects/ejb3/trunk/transactions/src/main/java/org/jboss/ejb3/tx/NullInterceptor.java)
===================================================================
--- projects/ejb3/dev/ejbthree1269/transactions/src/main/java/org/jboss/ejb3/tx/NullInterceptor.java	                        (rev 0)
+++ projects/ejb3/dev/ejbthree1269/transactions/src/main/java/org/jboss/ejb3/tx/NullInterceptor.java	2008-04-18 17:47:17 UTC (rev 72451)
@@ -0,0 +1,44 @@
+/*
+ * JBoss, Home of Professional Open Source.
+ * Copyright 2006, 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.ejb3.tx;
+
+import org.jboss.aop.advice.Interceptor;
+import org.jboss.aop.joinpoint.Invocation;
+
+/**
+ * Comment
+ *
+ * @author <a href="mailto:bill at jboss.org">Bill Burke</a>
+ * @version $Revision$
+ */
+public class NullInterceptor implements Interceptor
+{
+   public String getName()
+   {
+      return NullInterceptor.class.getName();
+   }
+
+   public Object invoke(Invocation invocation) throws Throwable
+   {
+      return invocation.invokeNext();
+   }
+}

Deleted: projects/ejb3/dev/ejbthree1269/transactions/src/main/java/org/jboss/ejb3/tx/TxInterceptor.java
===================================================================
--- projects/ejb3/trunk/transactions/src/main/java/org/jboss/ejb3/tx/TxInterceptor.java	2008-04-18 16:36:56 UTC (rev 72450)
+++ projects/ejb3/dev/ejbthree1269/transactions/src/main/java/org/jboss/ejb3/tx/TxInterceptor.java	2008-04-18 17:47:17 UTC (rev 72451)
@@ -1,147 +0,0 @@
-/*
- * JBoss, Home of Professional Open Source
- * Copyright 2007, Red Hat Middleware LLC, and individual contributors as indicated
- * by the @authors tag. See the copyright.txt 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.ejb3.tx;
-
-import javax.ejb.ApplicationException;
-import javax.ejb.EJBException;
-import javax.transaction.Transaction;
-import javax.transaction.TransactionManager;
-
-import org.jboss.aop.joinpoint.MethodInvocation;
-import org.jboss.aop.joinpoint.Invocation;
-import org.jboss.aspects.tx.TxPolicy;
-import org.jboss.logging.Logger;
-
-/**
- * Ensure the correct exceptions are thrown based on both caller
- * transactional context and supported Transaction Attribute Type
- * 
- * EJB3 13.6.2.6
- * EJB3 Core Specification 14.3.1 Table 14
- *
- * @author <a href="mailto:carlo.dewolf at jboss.com">Carlo de Wolf</a>
- * @author <a href="mailto:andrew.rubinger at redhat.com">ALR</a>
- * @version $Revision: $
- */
-public class TxInterceptor extends org.jboss.aspects.tx.TxInterceptor
-{
-   private static final Logger log = Logger.getLogger(TxInterceptor.class);
-   
-   public static class Never extends org.jboss.aspects.tx.TxInterceptor.Never
-   {
-      public Never(TransactionManager tm, TxPolicy policy)
-      {
-         super(tm, policy);
-      }
-      
-      @Override
-      public Object invoke(Invocation invocation) throws Throwable
-      {
-         if (tm.getTransaction() != null)
-         {
-            throw new EJBException("Transaction present on server in Never call (EJB3 13.6.2.6)");
-         }
-         return policy.invokeInNoTx(invocation);
-      }
-   }
-   
-   public static class NotSupported extends org.jboss.aspects.tx.TxInterceptor.NotSupported
-   {
-      public NotSupported(TransactionManager tm, TxPolicy policy)
-      {
-         super(tm, policy);
-      }
-      
-      public NotSupported(TransactionManager tm, TxPolicy policy, int timeout)
-      {
-         super(tm, policy, timeout);
-      }
-
-      /**
-       * EJBTHREE-1082
-       * EJB3 Core Specification 14.3.1 Table 14
-       */
-      @Override
-      public Object invoke(Invocation invocation) throws Throwable
-      {
-         Transaction tx = tm.getTransaction();
-         if (tx != null)
-         {
-            tm.suspend();
-            try
-            {
-               return policy.invokeInNoTx(invocation);
-            }
-            catch (Exception e)
-            {
-               // If application exception was thrown, rethrow
-               if (e.getClass().getAnnotation(ApplicationException.class) != null)
-               {
-                  throw e;
-               }
-               // Otherwise wrap in EJBException
-               else
-               {
-                  throw new EJBException(e);
-               }
-            }
-            finally
-            {
-               tm.resume(tx);
-            }
-         }
-         else
-         {
-            return policy.invokeInNoTx(invocation);
-         }
-      }
-   }
-
-   public static class Mandatory extends org.jboss.aspects.tx.TxInterceptor.Mandatory
-   {
-      public Mandatory(TransactionManager tm, TxPolicy policy)
-      {
-         this(tm, policy, -1);
-      }
-
-      public Mandatory(TransactionManager tm, TxPolicy policy, int timeout)
-      {
-         super(tm, policy, timeout);
-      }
-
-      public String getName()
-      {
-         return this.getClass().getName();
-      }
-
-      public Object invoke(Invocation invocation) throws Throwable
-      {
-         Transaction tx = tm.getTransaction();
-         if (tx == null)
-         {
-            policy.throwMandatory(invocation);
-         }
-         return policy.invokeInCallerTx(invocation, tx);
-      }
-
-   }
-}

Copied: projects/ejb3/dev/ejbthree1269/transactions/src/main/java/org/jboss/ejb3/tx/TxInterceptor.java (from rev 72450, projects/ejb3/trunk/transactions/src/main/java/org/jboss/ejb3/tx/TxInterceptor.java)
===================================================================
--- projects/ejb3/dev/ejbthree1269/transactions/src/main/java/org/jboss/ejb3/tx/TxInterceptor.java	                        (rev 0)
+++ projects/ejb3/dev/ejbthree1269/transactions/src/main/java/org/jboss/ejb3/tx/TxInterceptor.java	2008-04-18 17:47:17 UTC (rev 72451)
@@ -0,0 +1,147 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2007, Red Hat Middleware LLC, and individual contributors as indicated
+ * by the @authors tag. See the copyright.txt 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.ejb3.tx;
+
+import javax.ejb.ApplicationException;
+import javax.ejb.EJBException;
+import javax.transaction.Transaction;
+import javax.transaction.TransactionManager;
+
+import org.jboss.aop.joinpoint.MethodInvocation;
+import org.jboss.aop.joinpoint.Invocation;
+import org.jboss.aspects.tx.TxPolicy;
+import org.jboss.logging.Logger;
+
+/**
+ * Ensure the correct exceptions are thrown based on both caller
+ * transactional context and supported Transaction Attribute Type
+ * 
+ * EJB3 13.6.2.6
+ * EJB3 Core Specification 14.3.1 Table 14
+ *
+ * @author <a href="mailto:carlo.dewolf at jboss.com">Carlo de Wolf</a>
+ * @author <a href="mailto:andrew.rubinger at redhat.com">ALR</a>
+ * @version $Revision: $
+ */
+public class TxInterceptor extends org.jboss.aspects.tx.TxInterceptor
+{
+   private static final Logger log = Logger.getLogger(TxInterceptor.class);
+   
+   public static class Never extends org.jboss.aspects.tx.TxInterceptor.Never
+   {
+      public Never(TransactionManager tm, TxPolicy policy)
+      {
+         super(tm, policy);
+      }
+      
+      @Override
+      public Object invoke(Invocation invocation) throws Throwable
+      {
+         if (tm.getTransaction() != null)
+         {
+            throw new EJBException("Transaction present on server in Never call (EJB3 13.6.2.6)");
+         }
+         return policy.invokeInNoTx(invocation);
+      }
+   }
+   
+   public static class NotSupported extends org.jboss.aspects.tx.TxInterceptor.NotSupported
+   {
+      public NotSupported(TransactionManager tm, TxPolicy policy)
+      {
+         super(tm, policy);
+      }
+      
+      public NotSupported(TransactionManager tm, TxPolicy policy, int timeout)
+      {
+         super(tm, policy, timeout);
+      }
+
+      /**
+       * EJBTHREE-1082
+       * EJB3 Core Specification 14.3.1 Table 14
+       */
+      @Override
+      public Object invoke(Invocation invocation) throws Throwable
+      {
+         Transaction tx = tm.getTransaction();
+         if (tx != null)
+         {
+            tm.suspend();
+            try
+            {
+               return policy.invokeInNoTx(invocation);
+            }
+            catch (Exception e)
+            {
+               // If application exception was thrown, rethrow
+               if (e.getClass().getAnnotation(ApplicationException.class) != null)
+               {
+                  throw e;
+               }
+               // Otherwise wrap in EJBException
+               else
+               {
+                  throw new EJBException(e);
+               }
+            }
+            finally
+            {
+               tm.resume(tx);
+            }
+         }
+         else
+         {
+            return policy.invokeInNoTx(invocation);
+         }
+      }
+   }
+
+   public static class Mandatory extends org.jboss.aspects.tx.TxInterceptor.Mandatory
+   {
+      public Mandatory(TransactionManager tm, TxPolicy policy)
+      {
+         this(tm, policy, -1);
+      }
+
+      public Mandatory(TransactionManager tm, TxPolicy policy, int timeout)
+      {
+         super(tm, policy, timeout);
+      }
+
+      public String getName()
+      {
+         return this.getClass().getName();
+      }
+
+      public Object invoke(Invocation invocation) throws Throwable
+      {
+         Transaction tx = tm.getTransaction();
+         if (tx == null)
+         {
+            policy.throwMandatory(invocation);
+         }
+         return policy.invokeInCallerTx(invocation, tx);
+      }
+
+   }
+}

Deleted: projects/ejb3/dev/ejbthree1269/transactions/src/main/java/org/jboss/ejb3/tx/TxInterceptorFactory.java
===================================================================
--- projects/ejb3/trunk/transactions/src/main/java/org/jboss/ejb3/tx/TxInterceptorFactory.java	2008-04-18 16:36:56 UTC (rev 72450)
+++ projects/ejb3/dev/ejbthree1269/transactions/src/main/java/org/jboss/ejb3/tx/TxInterceptorFactory.java	2008-04-18 17:47:17 UTC (rev 72451)
@@ -1,141 +0,0 @@
-/*
- * JBoss, Home of Professional Open Source.
- * Copyright 2006, 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.ejb3.tx;
-
-import java.lang.reflect.Method;
-
-import javax.ejb.Stateful;
-import javax.ejb.TransactionAttribute;
-import javax.ejb.TransactionAttributeType;
-import javax.ejb.TransactionManagementType;
-
-import org.jboss.aop.Advisor;
-import org.jboss.aop.joinpoint.Joinpoint;
-import org.jboss.aop.joinpoint.MethodJoinpoint;
-import org.jboss.ejb3.annotation.TransactionTimeout;
-import org.jboss.logging.Logger;
-
-/**
- * This interceptor handles transactions for AOP
- *
- * @author <a href="mailto:bill at jboss.org">Bill Burke</a>
- * @version $Revision$
- */
-public class TxInterceptorFactory extends org.jboss.aspects.tx.TxInterceptorFactory
-{
-   @SuppressWarnings("unused")
-   private static final Logger log = Logger.getLogger(TxInterceptorFactory.class);
-
-   protected TransactionAttributeType getTxType(Advisor advisor, Joinpoint jp)
-   {
-      Method method = ((MethodJoinpoint) jp).getMethod();
-      TransactionAttribute tx = (TransactionAttribute) advisor.resolveAnnotation(method, TransactionAttribute.class);
-
-      if (tx == null)
-         tx = (TransactionAttribute) advisor.resolveAnnotation(TransactionAttribute.class);
-
-      TransactionAttributeType value = TransactionAttributeType.REQUIRED;
-      if (tx != null && tx.value() != null)
-      {
-         value = tx.value();
-      }
-
-      return value;
-   }
-
-   protected int resolveTransactionTimeout(Advisor advisor, Method method)
-   {
-      TransactionTimeout annotation = (TransactionTimeout)advisor.resolveAnnotation(method, TransactionTimeout.class);
-      
-      if (annotation == null)
-         annotation = (TransactionTimeout)advisor.resolveAnnotation(TransactionTimeout.class);
-      
-      if (annotation != null)
-      {
-         return annotation.value();
-      }
-
-      return -1;
-   }
-
-   protected void initializePolicy()
-   {
-      policy = new Ejb3TxPolicy();
-   }
-
-   public Object createPerJoinpoint(Advisor advisor, Joinpoint jp)
-   {
-      // We have to do this until AOP supports matching based on annotation attributes
-      TransactionManagementType type = TxUtil.getTransactionManagementType(advisor);
-      if (type == TransactionManagementType.BEAN)
-      {
-         // Must be a separate line (EJBContainer cannot be dereferenced)
-         boolean stateful = advisor.resolveAnnotation(Stateful.class) != null;
-         // Both MessageDriven and Stateless are stateless
-         return new BMTInterceptor(TxUtil.getTransactionManager(), !stateful);
-      }
-
-      Method method = ((MethodJoinpoint) jp).getMethod();
-      int timeout = resolveTransactionTimeout(advisor, method);
-
-      if (policy == null);
-         super.initialize();
-
-      TransactionAttributeType txType = getTxType(advisor, jp);
-      
-      if (txType.equals(TransactionAttributeType.NEVER))
-      {
-         // make sure we use the EJB3 interceptor, not the AOP one. 
-         return new TxInterceptor.Never(TxUtil.getTransactionManager(), policy);
-      }
-      else if (txType.equals(TransactionAttributeType.REQUIRED))
-      {
-         return new TxInterceptor.Required(TxUtil.getTransactionManager(), policy, timeout);
-      }
-      else if (txType.equals(TransactionAttributeType.REQUIRES_NEW))
-      {
-         return new TxInterceptor.RequiresNew(TxUtil.getTransactionManager(), policy, timeout);
-      }
-      else if(txType.equals(TransactionAttributeType.NOT_SUPPORTED))
-      {
-         return new TxInterceptor.NotSupported(TxUtil.getTransactionManager(), policy, timeout);
-      }
-      else if(txType.equals(TransactionAttributeType.MANDATORY))
-      {
-         return new TxInterceptor.Mandatory(TxUtil.getTransactionManager(), policy, timeout);
-      }
-      else if(txType.equals(TransactionAttributeType.SUPPORTS))
-      {
-         return new TxInterceptor.Supports(TxUtil.getTransactionManager(), policy, timeout);
-      }
-      else
-      {
-         Object interceptor = super.createPerJoinpoint(advisor, jp);
-         return interceptor;
-      }
-   }
-
-   public String getName()
-   {
-      return getClass().getName();
-   }
-}

Copied: projects/ejb3/dev/ejbthree1269/transactions/src/main/java/org/jboss/ejb3/tx/TxInterceptorFactory.java (from rev 72450, projects/ejb3/trunk/transactions/src/main/java/org/jboss/ejb3/tx/TxInterceptorFactory.java)
===================================================================
--- projects/ejb3/dev/ejbthree1269/transactions/src/main/java/org/jboss/ejb3/tx/TxInterceptorFactory.java	                        (rev 0)
+++ projects/ejb3/dev/ejbthree1269/transactions/src/main/java/org/jboss/ejb3/tx/TxInterceptorFactory.java	2008-04-18 17:47:17 UTC (rev 72451)
@@ -0,0 +1,141 @@
+/*
+ * JBoss, Home of Professional Open Source.
+ * Copyright 2006, 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.ejb3.tx;
+
+import java.lang.reflect.Method;
+
+import javax.ejb.Stateful;
+import javax.ejb.TransactionAttribute;
+import javax.ejb.TransactionAttributeType;
+import javax.ejb.TransactionManagementType;
+
+import org.jboss.aop.Advisor;
+import org.jboss.aop.joinpoint.Joinpoint;
+import org.jboss.aop.joinpoint.MethodJoinpoint;
+import org.jboss.ejb3.annotation.TransactionTimeout;
+import org.jboss.logging.Logger;
+
+/**
+ * This interceptor handles transactions for AOP
+ *
+ * @author <a href="mailto:bill at jboss.org">Bill Burke</a>
+ * @version $Revision$
+ */
+public class TxInterceptorFactory extends org.jboss.aspects.tx.TxInterceptorFactory
+{
+   @SuppressWarnings("unused")
+   private static final Logger log = Logger.getLogger(TxInterceptorFactory.class);
+
+   protected TransactionAttributeType getTxType(Advisor advisor, Joinpoint jp)
+   {
+      Method method = ((MethodJoinpoint) jp).getMethod();
+      TransactionAttribute tx = (TransactionAttribute) advisor.resolveAnnotation(method, TransactionAttribute.class);
+
+      if (tx == null)
+         tx = (TransactionAttribute) advisor.resolveAnnotation(TransactionAttribute.class);
+
+      TransactionAttributeType value = TransactionAttributeType.REQUIRED;
+      if (tx != null && tx.value() != null)
+      {
+         value = tx.value();
+      }
+
+      return value;
+   }
+
+   protected int resolveTransactionTimeout(Advisor advisor, Method method)
+   {
+      TransactionTimeout annotation = (TransactionTimeout)advisor.resolveAnnotation(method, TransactionTimeout.class);
+      
+      if (annotation == null)
+         annotation = (TransactionTimeout)advisor.resolveAnnotation(TransactionTimeout.class);
+      
+      if (annotation != null)
+      {
+         return annotation.value();
+      }
+
+      return -1;
+   }
+
+   protected void initializePolicy()
+   {
+      policy = new Ejb3TxPolicy();
+   }
+
+   public Object createPerJoinpoint(Advisor advisor, Joinpoint jp)
+   {
+      // We have to do this until AOP supports matching based on annotation attributes
+      TransactionManagementType type = TxUtil.getTransactionManagementType(advisor);
+      if (type == TransactionManagementType.BEAN)
+      {
+         // Must be a separate line (EJBContainer cannot be dereferenced)
+         boolean stateful = advisor.resolveAnnotation(Stateful.class) != null;
+         // Both MessageDriven and Stateless are stateless
+         return new BMTInterceptor(TxUtil.getTransactionManager(), !stateful);
+      }
+
+      Method method = ((MethodJoinpoint) jp).getMethod();
+      int timeout = resolveTransactionTimeout(advisor, method);
+
+      if (policy == null);
+         super.initialize();
+
+      TransactionAttributeType txType = getTxType(advisor, jp);
+      
+      if (txType.equals(TransactionAttributeType.NEVER))
+      {
+         // make sure we use the EJB3 interceptor, not the AOP one. 
+         return new TxInterceptor.Never(TxUtil.getTransactionManager(), policy);
+      }
+      else if (txType.equals(TransactionAttributeType.REQUIRED))
+      {
+         return new TxInterceptor.Required(TxUtil.getTransactionManager(), policy, timeout);
+      }
+      else if (txType.equals(TransactionAttributeType.REQUIRES_NEW))
+      {
+         return new TxInterceptor.RequiresNew(TxUtil.getTransactionManager(), policy, timeout);
+      }
+      else if(txType.equals(TransactionAttributeType.NOT_SUPPORTED))
+      {
+         return new TxInterceptor.NotSupported(TxUtil.getTransactionManager(), policy, timeout);
+      }
+      else if(txType.equals(TransactionAttributeType.MANDATORY))
+      {
+         return new TxInterceptor.Mandatory(TxUtil.getTransactionManager(), policy, timeout);
+      }
+      else if(txType.equals(TransactionAttributeType.SUPPORTS))
+      {
+         return new TxInterceptor.Supports(TxUtil.getTransactionManager(), policy, timeout);
+      }
+      else
+      {
+         Object interceptor = super.createPerJoinpoint(advisor, jp);
+         return interceptor;
+      }
+   }
+
+   public String getName()
+   {
+      return getClass().getName();
+   }
+}

Deleted: projects/ejb3/dev/ejbthree1269/transactions/src/main/java/org/jboss/ejb3/tx/TxUtil.java
===================================================================
--- projects/ejb3/trunk/transactions/src/main/java/org/jboss/ejb3/tx/TxUtil.java	2008-04-18 16:36:56 UTC (rev 72450)
+++ projects/ejb3/dev/ejbthree1269/transactions/src/main/java/org/jboss/ejb3/tx/TxUtil.java	2008-04-18 17:47:17 UTC (rev 72451)
@@ -1,84 +0,0 @@
-/*
- * JBoss, Home of Professional Open Source.
- * Copyright 2006, 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.ejb3.tx;
-
-import javax.ejb.ApplicationException;
-import javax.ejb.TransactionManagement;
-import javax.ejb.TransactionManagementType;
-import javax.transaction.TransactionManager;
-
-import org.jboss.aop.Advisor;
-import org.jboss.aop.joinpoint.Invocation;
-import org.jboss.tm.TransactionManagerLocator;
-
-/**
- * Comment
- *
- * @author <a href="mailto:bill at jboss.org">Bill Burke</a>
- * @version $Revision$
- */
-public class TxUtil
-{
-   public static TransactionManager getTransactionManager()
-   {
-      return TransactionManagerLocator.getInstance().locate();
-   }
-
-   public static TransactionManagementType getTransactionManagementType(Advisor advisor)
-   {
-      TransactionManagement transactionManagement =  (TransactionManagement) advisor.resolveAnnotation(TransactionManagement.class);
-      if (transactionManagement == null) return TransactionManagementType.CONTAINER;
-      return transactionManagement.value();
-   }
-
-   public static ApplicationException getApplicationException(Class<?> exceptionClass, Invocation invocation)
-   {
-      return AbstractInterceptor.resolveAnnotation(invocation, exceptionClass, ApplicationException.class);
-      /*
-      MethodInvocation ejb = (MethodInvocation) invocation;
-      EJBContainer container = AbstractInterceptor.getEJBContainer(invocation);
-
-      // TODO: Wolf: refactor onto a unified metadata view
-      
-      if (exceptionClass.isAnnotationPresent(ApplicationException.class))
-         return (ApplicationException)exceptionClass.getAnnotation(ApplicationException.class);
-
-      JBossAssemblyDescriptorMetaData assembly = container.getAssemblyDescriptor();
-
-      if (assembly != null)
-      {
-         ApplicationExceptionsMetaData exceptions = assembly.getApplicationExceptions();
-         if (exceptions != null)
-         {
-            for(ApplicationExceptionMetaData exception : exceptions)
-            {
-               if (exception.getExceptionClass().equals(exceptionClass.getName()))
-                  return new ApplicationExceptionImpl(exception.isRollback());
-            }
-         }
-
-      }
-      return null;
-      */
-      
-   }
-}

Copied: projects/ejb3/dev/ejbthree1269/transactions/src/main/java/org/jboss/ejb3/tx/TxUtil.java (from rev 72450, projects/ejb3/trunk/transactions/src/main/java/org/jboss/ejb3/tx/TxUtil.java)
===================================================================
--- projects/ejb3/dev/ejbthree1269/transactions/src/main/java/org/jboss/ejb3/tx/TxUtil.java	                        (rev 0)
+++ projects/ejb3/dev/ejbthree1269/transactions/src/main/java/org/jboss/ejb3/tx/TxUtil.java	2008-04-18 17:47:17 UTC (rev 72451)
@@ -0,0 +1,84 @@
+/*
+ * JBoss, Home of Professional Open Source.
+ * Copyright 2006, 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.ejb3.tx;
+
+import javax.ejb.ApplicationException;
+import javax.ejb.TransactionManagement;
+import javax.ejb.TransactionManagementType;
+import javax.transaction.TransactionManager;
+
+import org.jboss.aop.Advisor;
+import org.jboss.aop.joinpoint.Invocation;
+import org.jboss.tm.TransactionManagerLocator;
+
+/**
+ * Comment
+ *
+ * @author <a href="mailto:bill at jboss.org">Bill Burke</a>
+ * @version $Revision$
+ */
+public class TxUtil
+{
+   public static TransactionManager getTransactionManager()
+   {
+      return TransactionManagerLocator.getInstance().locate();
+   }
+
+   public static TransactionManagementType getTransactionManagementType(Advisor advisor)
+   {
+      TransactionManagement transactionManagement =  (TransactionManagement) advisor.resolveAnnotation(TransactionManagement.class);
+      if (transactionManagement == null) return TransactionManagementType.CONTAINER;
+      return transactionManagement.value();
+   }
+
+   public static ApplicationException getApplicationException(Class<?> exceptionClass, Invocation invocation)
+   {
+      return AbstractInterceptor.resolveAnnotation(invocation, exceptionClass, ApplicationException.class);
+      /*
+      MethodInvocation ejb = (MethodInvocation) invocation;
+      EJBContainer container = AbstractInterceptor.getEJBContainer(invocation);
+
+      // TODO: Wolf: refactor onto a unified metadata view
+      
+      if (exceptionClass.isAnnotationPresent(ApplicationException.class))
+         return (ApplicationException)exceptionClass.getAnnotation(ApplicationException.class);
+
+      JBossAssemblyDescriptorMetaData assembly = container.getAssemblyDescriptor();
+
+      if (assembly != null)
+      {
+         ApplicationExceptionsMetaData exceptions = assembly.getApplicationExceptions();
+         if (exceptions != null)
+         {
+            for(ApplicationExceptionMetaData exception : exceptions)
+            {
+               if (exception.getExceptionClass().equals(exceptionClass.getName()))
+                  return new ApplicationExceptionImpl(exception.isRollback());
+            }
+         }
+
+      }
+      return null;
+      */
+      
+   }
+}

Deleted: projects/ejb3/dev/ejbthree1269/transactions/src/main/java/org/jboss/ejb3/tx/UserTransactionImpl.java
===================================================================
--- projects/ejb3/trunk/transactions/src/main/java/org/jboss/ejb3/tx/UserTransactionImpl.java	2008-04-18 16:36:56 UTC (rev 72450)
+++ projects/ejb3/dev/ejbthree1269/transactions/src/main/java/org/jboss/ejb3/tx/UserTransactionImpl.java	2008-04-18 17:47:17 UTC (rev 72451)
@@ -1,130 +0,0 @@
-/*
- * JBoss, Home of Professional Open Source.
- * Copyright 2006, 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.ejb3.tx;
-
-import java.io.IOException;
-import java.io.ObjectInput;
-import java.io.ObjectOutput;
-import javax.transaction.HeuristicMixedException;
-import javax.transaction.HeuristicRollbackException;
-import javax.transaction.NotSupportedException;
-import javax.transaction.RollbackException;
-import javax.transaction.SystemException;
-import javax.transaction.Transaction;
-import javax.transaction.TransactionManager;
-import javax.transaction.UserTransaction;
-import org.jboss.logging.Logger;
-
-/**
- * Comment
- *
- * @author <a href="mailto:bill at jboss.org">Bill Burke</a>
- * @version $Revision$
- */
-public final class UserTransactionImpl implements UserTransaction, java.io.Externalizable
-{
-   private static final long serialVersionUID = 2403204397187452430L;
-
-   protected static Logger log = Logger.getLogger(UserTransactionImpl.class);
-
-   /**
-    * Timeout value in seconds for new transactions started
-    * by this bean instance.
-    */
-   private TransactionManager tm;
-
-   public UserTransactionImpl()
-   {
-      if (log.isDebugEnabled())
-         log.debug("new UserTx: " + this);
-      this.tm = TxUtil.getTransactionManager();
-   }
-
-   public void begin()
-           throws NotSupportedException, SystemException
-   {
-      // Start the transaction
-      tm.begin();
-
-      Transaction tx = tm.getTransaction();
-      if (log.isDebugEnabled())
-         log.debug("UserTx begin: " + tx);
-
-   }
-
-   public void commit()
-           throws RollbackException, HeuristicMixedException, HeuristicRollbackException,
-                  SecurityException, IllegalStateException, SystemException
-   {
-      Transaction tx = tm.getTransaction();
-      if (log.isDebugEnabled())
-         log.debug("UserTx commit: " + tx);
-
-      tm.commit();
-   }
-
-   public void rollback()
-           throws IllegalStateException, SecurityException, SystemException
-   {
-      Transaction tx = tm.getTransaction();
-      if (log.isDebugEnabled())
-         log.debug("UserTx rollback: " + tx);
-      tm.rollback();
-   }
-
-   public void setRollbackOnly()
-           throws IllegalStateException, SystemException
-   {
-      Transaction tx = tm.getTransaction();
-      if (log.isDebugEnabled())
-         log.debug("UserTx setRollbackOnly: " + tx);
-
-      tm.setRollbackOnly();
-   }
-
-   public int getStatus()
-           throws SystemException
-   {
-      return tm.getStatus();
-   }
-
-   /**
-    * Set the transaction timeout value for new transactions
-    * started by this instance.
-    */
-   public void setTransactionTimeout(int seconds)
-           throws SystemException
-   {
-      tm.setTransactionTimeout(seconds);
-   }
-
-   public void writeExternal(ObjectOutput out) throws IOException
-   {
-      //To change body of implemented methods use File | Settings | File Templates.
-   }
-
-   public void readExternal(ObjectInput in) throws IOException, ClassNotFoundException
-   {
-      this.tm = TxUtil.getTransactionManager();
-   }
-
-}

Copied: projects/ejb3/dev/ejbthree1269/transactions/src/main/java/org/jboss/ejb3/tx/UserTransactionImpl.java (from rev 72450, projects/ejb3/trunk/transactions/src/main/java/org/jboss/ejb3/tx/UserTransactionImpl.java)
===================================================================
--- projects/ejb3/dev/ejbthree1269/transactions/src/main/java/org/jboss/ejb3/tx/UserTransactionImpl.java	                        (rev 0)
+++ projects/ejb3/dev/ejbthree1269/transactions/src/main/java/org/jboss/ejb3/tx/UserTransactionImpl.java	2008-04-18 17:47:17 UTC (rev 72451)
@@ -0,0 +1,130 @@
+/*
+ * JBoss, Home of Professional Open Source.
+ * Copyright 2006, 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.ejb3.tx;
+
+import java.io.IOException;
+import java.io.ObjectInput;
+import java.io.ObjectOutput;
+import javax.transaction.HeuristicMixedException;
+import javax.transaction.HeuristicRollbackException;
+import javax.transaction.NotSupportedException;
+import javax.transaction.RollbackException;
+import javax.transaction.SystemException;
+import javax.transaction.Transaction;
+import javax.transaction.TransactionManager;
+import javax.transaction.UserTransaction;
+import org.jboss.logging.Logger;
+
+/**
+ * Comment
+ *
+ * @author <a href="mailto:bill at jboss.org">Bill Burke</a>
+ * @version $Revision$
+ */
+public final class UserTransactionImpl implements UserTransaction, java.io.Externalizable
+{
+   private static final long serialVersionUID = 2403204397187452430L;
+
+   protected static Logger log = Logger.getLogger(UserTransactionImpl.class);
+
+   /**
+    * Timeout value in seconds for new transactions started
+    * by this bean instance.
+    */
+   private TransactionManager tm;
+
+   public UserTransactionImpl()
+   {
+      if (log.isDebugEnabled())
+         log.debug("new UserTx: " + this);
+      this.tm = TxUtil.getTransactionManager();
+   }
+
+   public void begin()
+           throws NotSupportedException, SystemException
+   {
+      // Start the transaction
+      tm.begin();
+
+      Transaction tx = tm.getTransaction();
+      if (log.isDebugEnabled())
+         log.debug("UserTx begin: " + tx);
+
+   }
+
+   public void commit()
+           throws RollbackException, HeuristicMixedException, HeuristicRollbackException,
+                  SecurityException, IllegalStateException, SystemException
+   {
+      Transaction tx = tm.getTransaction();
+      if (log.isDebugEnabled())
+         log.debug("UserTx commit: " + tx);
+
+      tm.commit();
+   }
+
+   public void rollback()
+           throws IllegalStateException, SecurityException, SystemException
+   {
+      Transaction tx = tm.getTransaction();
+      if (log.isDebugEnabled())
+         log.debug("UserTx rollback: " + tx);
+      tm.rollback();
+   }
+
+   public void setRollbackOnly()
+           throws IllegalStateException, SystemException
+   {
+      Transaction tx = tm.getTransaction();
+      if (log.isDebugEnabled())
+         log.debug("UserTx setRollbackOnly: " + tx);
+
+      tm.setRollbackOnly();
+   }
+
+   public int getStatus()
+           throws SystemException
+   {
+      return tm.getStatus();
+   }
+
+   /**
+    * Set the transaction timeout value for new transactions
+    * started by this instance.
+    */
+   public void setTransactionTimeout(int seconds)
+           throws SystemException
+   {
+      tm.setTransactionTimeout(seconds);
+   }
+
+   public void writeExternal(ObjectOutput out) throws IOException
+   {
+      //To change body of implemented methods use File | Settings | File Templates.
+   }
+
+   public void readExternal(ObjectInput in) throws IOException, ClassNotFoundException
+   {
+      this.tm = TxUtil.getTransactionManager();
+   }
+
+}

Copied: projects/ejb3/dev/ejbthree1269/transactions/src/main/java/org/jboss/ejb3/tx/container (from rev 72450, projects/ejb3/trunk/transactions/src/main/java/org/jboss/ejb3/tx/container)

Deleted: projects/ejb3/dev/ejbthree1269/transactions/src/main/java/org/jboss/ejb3/tx/container/StatefulBeanContext.java
===================================================================
--- projects/ejb3/trunk/transactions/src/main/java/org/jboss/ejb3/tx/container/StatefulBeanContext.java	2008-04-18 16:36:56 UTC (rev 72450)
+++ projects/ejb3/dev/ejbthree1269/transactions/src/main/java/org/jboss/ejb3/tx/container/StatefulBeanContext.java	2008-04-18 17:47:17 UTC (rev 72451)
@@ -1,34 +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.
- */
-package org.jboss.ejb3.tx.container;
-
-import org.jboss.aop.metadata.SimpleMetaData;
-import org.jboss.ejb3.interceptors.container.BeanContext;
-
-/**
- * @author <a href="mailto:carlo.dewolf at jboss.com">Carlo de Wolf</a>
- * @version $Revision: $
- */
-public interface StatefulBeanContext<T> extends BeanContext<T>
-{
-   SimpleMetaData getMetaData();
-}

Copied: projects/ejb3/dev/ejbthree1269/transactions/src/main/java/org/jboss/ejb3/tx/container/StatefulBeanContext.java (from rev 72450, projects/ejb3/trunk/transactions/src/main/java/org/jboss/ejb3/tx/container/StatefulBeanContext.java)
===================================================================
--- projects/ejb3/dev/ejbthree1269/transactions/src/main/java/org/jboss/ejb3/tx/container/StatefulBeanContext.java	                        (rev 0)
+++ projects/ejb3/dev/ejbthree1269/transactions/src/main/java/org/jboss/ejb3/tx/container/StatefulBeanContext.java	2008-04-18 17:47:17 UTC (rev 72451)
@@ -0,0 +1,34 @@
+/*
+ * 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.
+ */
+package org.jboss.ejb3.tx.container;
+
+import org.jboss.aop.metadata.SimpleMetaData;
+import org.jboss.ejb3.interceptors.container.BeanContext;
+
+/**
+ * @author <a href="mailto:carlo.dewolf at jboss.com">Carlo de Wolf</a>
+ * @version $Revision: $
+ */
+public interface StatefulBeanContext<T> extends BeanContext<T>
+{
+   SimpleMetaData getMetaData();
+}

Copied: projects/ejb3/dev/ejbthree1269/transactions/src/test (from rev 72450, projects/ejb3/trunk/transactions/src/test)

Copied: projects/ejb3/dev/ejbthree1269/transactions/src/test/java (from rev 72450, projects/ejb3/trunk/transactions/src/test/java)

Copied: projects/ejb3/dev/ejbthree1269/transactions/src/test/java/org (from rev 72450, projects/ejb3/trunk/transactions/src/test/java/org)

Copied: projects/ejb3/dev/ejbthree1269/transactions/src/test/java/org/jboss (from rev 72450, projects/ejb3/trunk/transactions/src/test/java/org/jboss)

Copied: projects/ejb3/dev/ejbthree1269/transactions/src/test/java/org/jboss/ejb3 (from rev 72450, projects/ejb3/trunk/transactions/src/test/java/org/jboss/ejb3)

Copied: projects/ejb3/dev/ejbthree1269/transactions/src/test/java/org/jboss/ejb3/test (from rev 72450, projects/ejb3/trunk/transactions/src/test/java/org/jboss/ejb3/test)

Copied: projects/ejb3/dev/ejbthree1269/transactions/src/test/java/org/jboss/ejb3/test/tx (from rev 72450, projects/ejb3/trunk/transactions/src/test/java/org/jboss/ejb3/test/tx)

Copied: projects/ejb3/dev/ejbthree1269/transactions/src/test/java/org/jboss/ejb3/test/tx/bmt (from rev 72450, projects/ejb3/trunk/transactions/src/test/java/org/jboss/ejb3/test/tx/bmt)

Deleted: projects/ejb3/dev/ejbthree1269/transactions/src/test/java/org/jboss/ejb3/test/tx/bmt/StatefulBMTBean.java
===================================================================
--- projects/ejb3/trunk/transactions/src/test/java/org/jboss/ejb3/test/tx/bmt/StatefulBMTBean.java	2008-04-18 16:36:56 UTC (rev 72450)
+++ projects/ejb3/dev/ejbthree1269/transactions/src/test/java/org/jboss/ejb3/test/tx/bmt/StatefulBMTBean.java	2008-04-18 17:47:17 UTC (rev 72451)
@@ -1,59 +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.
- */
-package org.jboss.ejb3.test.tx.bmt;
-
-import javax.ejb.Stateful;
-import javax.ejb.TransactionManagement;
-import javax.ejb.TransactionManagementType;
-import javax.transaction.UserTransaction;
-
-import org.jboss.ejb3.tx.UserTransactionImpl;
-
-/**
- * @author <a href="mailto:carlo.dewolf at jboss.com">Carlo de Wolf</a>
- * @version $Revision: $
- */
- at Stateful
- at TransactionManagement(TransactionManagementType.BEAN)
-public class StatefulBMTBean
-{
-   private UserTransaction getUserTransaction()
-   {
-      // TODO: use the API
-      return new UserTransactionImpl();
-   }
-   
-   public void normal() throws Exception
-   {
-      UserTransaction tx = getUserTransaction();
-      
-      tx.begin();
-      try
-      {
-         
-      }
-      finally
-      {
-         tx.rollback();
-      }
-   }
-}

Copied: projects/ejb3/dev/ejbthree1269/transactions/src/test/java/org/jboss/ejb3/test/tx/bmt/StatefulBMTBean.java (from rev 72450, projects/ejb3/trunk/transactions/src/test/java/org/jboss/ejb3/test/tx/bmt/StatefulBMTBean.java)
===================================================================
--- projects/ejb3/dev/ejbthree1269/transactions/src/test/java/org/jboss/ejb3/test/tx/bmt/StatefulBMTBean.java	                        (rev 0)
+++ projects/ejb3/dev/ejbthree1269/transactions/src/test/java/org/jboss/ejb3/test/tx/bmt/StatefulBMTBean.java	2008-04-18 17:47:17 UTC (rev 72451)
@@ -0,0 +1,59 @@
+/*
+ * 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.
+ */
+package org.jboss.ejb3.test.tx.bmt;
+
+import javax.ejb.Stateful;
+import javax.ejb.TransactionManagement;
+import javax.ejb.TransactionManagementType;
+import javax.transaction.UserTransaction;
+
+import org.jboss.ejb3.tx.UserTransactionImpl;
+
+/**
+ * @author <a href="mailto:carlo.dewolf at jboss.com">Carlo de Wolf</a>
+ * @version $Revision: $
+ */
+ at Stateful
+ at TransactionManagement(TransactionManagementType.BEAN)
+public class StatefulBMTBean
+{
+   private UserTransaction getUserTransaction()
+   {
+      // TODO: use the API
+      return new UserTransactionImpl();
+   }
+   
+   public void normal() throws Exception
+   {
+      UserTransaction tx = getUserTransaction();
+      
+      tx.begin();
+      try
+      {
+         
+      }
+      finally
+      {
+         tx.rollback();
+      }
+   }
+}

Copied: projects/ejb3/dev/ejbthree1269/transactions/src/test/java/org/jboss/ejb3/test/tx/bmt/unit (from rev 72450, projects/ejb3/trunk/transactions/src/test/java/org/jboss/ejb3/test/tx/bmt/unit)

Deleted: projects/ejb3/dev/ejbthree1269/transactions/src/test/java/org/jboss/ejb3/test/tx/bmt/unit/BMTUnitTestCase.java
===================================================================
--- projects/ejb3/trunk/transactions/src/test/java/org/jboss/ejb3/test/tx/bmt/unit/BMTUnitTestCase.java	2008-04-18 16:36:56 UTC (rev 72450)
+++ projects/ejb3/dev/ejbthree1269/transactions/src/test/java/org/jboss/ejb3/test/tx/bmt/unit/BMTUnitTestCase.java	2008-04-18 17:47:17 UTC (rev 72451)
@@ -1,82 +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.
- */
-package org.jboss.ejb3.test.tx.bmt.unit;
-
-
-import java.net.URL;
-
-import org.jboss.ejb3.test.tx.bmt.StatefulBMTBean;
-import org.jboss.ejb3.test.tx.common.StatefulContainer;
-import org.jboss.ejb3.test.tx.mc.UnitTestBootstrap;
-import org.junit.After;
-import org.junit.AfterClass;
-import org.junit.Before;
-import org.junit.BeforeClass;
-import org.junit.Test;
-
-/**
- * @author <a href="mailto:carlo.dewolf at jboss.com">Carlo de Wolf</a>
- * @version $Revision: $
- */
-public class BMTUnitTestCase
-{
-   private static UnitTestBootstrap bootstrap;
-   
-   private static URL getResource(String name)
-   {
-      return Thread.currentThread().getContextClassLoader().getResource(name);
-   }
-   
-   @BeforeClass
-   public static void setUpBeforeClass() throws Throwable
-   {
-      bootstrap = new UnitTestBootstrap();
-      bootstrap.deploy(getResource("instance/beans.xml"));
-   }
-
-   @AfterClass
-   public static void tearDownAfterClass() throws Exception
-   {
-      if(bootstrap != null)
-         bootstrap.shutdown();
-   }
-
-   @Before
-   public void setUp() throws Exception
-   {
-   }
-
-   @After
-   public void tearDown() throws Exception
-   {
-   }
-   
-   @Test
-   public void testNormal() throws Throwable
-   {
-      StatefulContainer<StatefulBMTBean> container = new StatefulContainer<StatefulBMTBean>("StatefulBMTBean", "Stateful Container", StatefulBMTBean.class);
-      
-      Object id = container.construct();
-      
-      container.invoke(id, "normal");
-   }
-}

Copied: projects/ejb3/dev/ejbthree1269/transactions/src/test/java/org/jboss/ejb3/test/tx/bmt/unit/BMTUnitTestCase.java (from rev 72450, projects/ejb3/trunk/transactions/src/test/java/org/jboss/ejb3/test/tx/bmt/unit/BMTUnitTestCase.java)
===================================================================
--- projects/ejb3/dev/ejbthree1269/transactions/src/test/java/org/jboss/ejb3/test/tx/bmt/unit/BMTUnitTestCase.java	                        (rev 0)
+++ projects/ejb3/dev/ejbthree1269/transactions/src/test/java/org/jboss/ejb3/test/tx/bmt/unit/BMTUnitTestCase.java	2008-04-18 17:47:17 UTC (rev 72451)
@@ -0,0 +1,82 @@
+/*
+ * 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.
+ */
+package org.jboss.ejb3.test.tx.bmt.unit;
+
+
+import java.net.URL;
+
+import org.jboss.ejb3.test.tx.bmt.StatefulBMTBean;
+import org.jboss.ejb3.test.tx.common.StatefulContainer;
+import org.jboss.ejb3.test.tx.mc.UnitTestBootstrap;
+import org.junit.After;
+import org.junit.AfterClass;
+import org.junit.Before;
+import org.junit.BeforeClass;
+import org.junit.Test;
+
+/**
+ * @author <a href="mailto:carlo.dewolf at jboss.com">Carlo de Wolf</a>
+ * @version $Revision: $
+ */
+public class BMTUnitTestCase
+{
+   private static UnitTestBootstrap bootstrap;
+   
+   private static URL getResource(String name)
+   {
+      return Thread.currentThread().getContextClassLoader().getResource(name);
+   }
+   
+   @BeforeClass
+   public static void setUpBeforeClass() throws Throwable
+   {
+      bootstrap = new UnitTestBootstrap();
+      bootstrap.deploy(getResource("instance/beans.xml"));
+   }
+
+   @AfterClass
+   public static void tearDownAfterClass() throws Exception
+   {
+      if(bootstrap != null)
+         bootstrap.shutdown();
+   }
+
+   @Before
+   public void setUp() throws Exception
+   {
+   }
+
+   @After
+   public void tearDown() throws Exception
+   {
+   }
+   
+   @Test
+   public void testNormal() throws Throwable
+   {
+      StatefulContainer<StatefulBMTBean> container = new StatefulContainer<StatefulBMTBean>("StatefulBMTBean", "Stateful Container", StatefulBMTBean.class);
+      
+      Object id = container.construct();
+      
+      container.invoke(id, "normal");
+   }
+}

Copied: projects/ejb3/dev/ejbthree1269/transactions/src/test/java/org/jboss/ejb3/test/tx/common (from rev 72450, projects/ejb3/trunk/transactions/src/test/java/org/jboss/ejb3/test/tx/common)

Deleted: projects/ejb3/dev/ejbthree1269/transactions/src/test/java/org/jboss/ejb3/test/tx/common/AspectDeployment.java
===================================================================
--- projects/ejb3/trunk/transactions/src/test/java/org/jboss/ejb3/test/tx/common/AspectDeployment.java	2008-04-18 16:36:56 UTC (rev 72450)
+++ projects/ejb3/dev/ejbthree1269/transactions/src/test/java/org/jboss/ejb3/test/tx/common/AspectDeployment.java	2008-04-18 17:47:17 UTC (rev 72451)
@@ -1,80 +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.
- */
-package org.jboss.ejb3.test.tx.common;
-
-import java.net.URL;
-
-import org.jboss.deployers.client.spi.main.MainDeployer;
-import org.jboss.deployers.vfs.spi.client.VFSDeployment;
-import org.jboss.deployers.vfs.spi.client.VFSDeploymentFactory;
-import org.jboss.logging.Logger;
-import org.jboss.virtual.VFS;
-import org.jboss.virtual.VirtualFile;
-
-/**
- * Deploy a resource.
- * 
- * @author <a href="mailto:carlo.dewolf at jboss.com">Carlo de Wolf</a>
- * @version $Revision: $
- */
-public class AspectDeployment
-{
-   private static final Logger log = Logger.getLogger(AspectDeployment.class);
-   
-   private MainDeployer mainDeployer;
-   private String resource;
-   
-   private VFSDeployment deployment;
-   
-   private static URL getResource(String name)
-   {
-      return Thread.currentThread().getContextClassLoader().getResource(name);
-   }
-   
-   public void setMainDeployer(MainDeployer mainDeployer)
-   {
-      this.mainDeployer = mainDeployer;
-   }
-   
-   public void setResource(String resource)
-   {
-      this.resource = resource;
-   }
-   
-   public void start() throws Exception
-   {
-      if(mainDeployer == null)
-         throw new IllegalStateException("mainDeployer is not set");
-      if(resource == null)
-         throw new IllegalStateException("resource is null");
-      
-      VirtualFile root = VFS.getRoot(getResource(resource));
-      this.deployment = VFSDeploymentFactory.getInstance().createVFSDeployment(root);
-      log.info("Deploying " + deployment);
-      mainDeployer.deploy(deployment);
-   }
-   
-   public void stop() throws Exception
-   {
-      mainDeployer.undeploy(deployment);
-   }
-}

Copied: projects/ejb3/dev/ejbthree1269/transactions/src/test/java/org/jboss/ejb3/test/tx/common/AspectDeployment.java (from rev 72450, projects/ejb3/trunk/transactions/src/test/java/org/jboss/ejb3/test/tx/common/AspectDeployment.java)
===================================================================
--- projects/ejb3/dev/ejbthree1269/transactions/src/test/java/org/jboss/ejb3/test/tx/common/AspectDeployment.java	                        (rev 0)
+++ projects/ejb3/dev/ejbthree1269/transactions/src/test/java/org/jboss/ejb3/test/tx/common/AspectDeployment.java	2008-04-18 17:47:17 UTC (rev 72451)
@@ -0,0 +1,80 @@
+/*
+ * 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.
+ */
+package org.jboss.ejb3.test.tx.common;
+
+import java.net.URL;
+
+import org.jboss.deployers.client.spi.main.MainDeployer;
+import org.jboss.deployers.vfs.spi.client.VFSDeployment;
+import org.jboss.deployers.vfs.spi.client.VFSDeploymentFactory;
+import org.jboss.logging.Logger;
+import org.jboss.virtual.VFS;
+import org.jboss.virtual.VirtualFile;
+
+/**
+ * Deploy a resource.
+ * 
+ * @author <a href="mailto:carlo.dewolf at jboss.com">Carlo de Wolf</a>
+ * @version $Revision: $
+ */
+public class AspectDeployment
+{
+   private static final Logger log = Logger.getLogger(AspectDeployment.class);
+   
+   private MainDeployer mainDeployer;
+   private String resource;
+   
+   private VFSDeployment deployment;
+   
+   private static URL getResource(String name)
+   {
+      return Thread.currentThread().getContextClassLoader().getResource(name);
+   }
+   
+   public void setMainDeployer(MainDeployer mainDeployer)
+   {
+      this.mainDeployer = mainDeployer;
+   }
+   
+   public void setResource(String resource)
+   {
+      this.resource = resource;
+   }
+   
+   public void start() throws Exception
+   {
+      if(mainDeployer == null)
+         throw new IllegalStateException("mainDeployer is not set");
+      if(resource == null)
+         throw new IllegalStateException("resource is null");
+      
+      VirtualFile root = VFS.getRoot(getResource(resource));
+      this.deployment = VFSDeploymentFactory.getInstance().createVFSDeployment(root);
+      log.info("Deploying " + deployment);
+      mainDeployer.deploy(deployment);
+   }
+   
+   public void stop() throws Exception
+   {
+      mainDeployer.undeploy(deployment);
+   }
+}

Deleted: projects/ejb3/dev/ejbthree1269/transactions/src/test/java/org/jboss/ejb3/test/tx/common/SimpleClassLoaderDeployer.java
===================================================================
--- projects/ejb3/trunk/transactions/src/test/java/org/jboss/ejb3/test/tx/common/SimpleClassLoaderDeployer.java	2008-04-18 16:36:56 UTC (rev 72450)
+++ projects/ejb3/dev/ejbthree1269/transactions/src/test/java/org/jboss/ejb3/test/tx/common/SimpleClassLoaderDeployer.java	2008-04-18 17:47:17 UTC (rev 72451)
@@ -1,38 +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.
- */
-package org.jboss.ejb3.test.tx.common;
-
-import org.jboss.deployers.spi.deployer.helpers.AbstractTopLevelClassLoaderDeployer;
-import org.jboss.deployers.structure.spi.DeploymentUnit;
-
-/**
- * @author <a href="mailto:carlo.dewolf at jboss.com">Carlo de Wolf</a>
- * @version $Revision: $
- */
-public class SimpleClassLoaderDeployer extends AbstractTopLevelClassLoaderDeployer
-{
-   @Override
-   protected ClassLoader createTopLevelClassLoader(DeploymentUnit unit) throws Exception
-   {
-      return Thread.currentThread().getContextClassLoader();
-   }
-}

Copied: projects/ejb3/dev/ejbthree1269/transactions/src/test/java/org/jboss/ejb3/test/tx/common/SimpleClassLoaderDeployer.java (from rev 72450, projects/ejb3/trunk/transactions/src/test/java/org/jboss/ejb3/test/tx/common/SimpleClassLoaderDeployer.java)
===================================================================
--- projects/ejb3/dev/ejbthree1269/transactions/src/test/java/org/jboss/ejb3/test/tx/common/SimpleClassLoaderDeployer.java	                        (rev 0)
+++ projects/ejb3/dev/ejbthree1269/transactions/src/test/java/org/jboss/ejb3/test/tx/common/SimpleClassLoaderDeployer.java	2008-04-18 17:47:17 UTC (rev 72451)
@@ -0,0 +1,38 @@
+/*
+ * 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.
+ */
+package org.jboss.ejb3.test.tx.common;
+
+import org.jboss.deployers.spi.deployer.helpers.AbstractTopLevelClassLoaderDeployer;
+import org.jboss.deployers.structure.spi.DeploymentUnit;
+
+/**
+ * @author <a href="mailto:carlo.dewolf at jboss.com">Carlo de Wolf</a>
+ * @version $Revision: $
+ */
+public class SimpleClassLoaderDeployer extends AbstractTopLevelClassLoaderDeployer
+{
+   @Override
+   protected ClassLoader createTopLevelClassLoader(DeploymentUnit unit) throws Exception
+   {
+      return Thread.currentThread().getContextClassLoader();
+   }
+}

Deleted: projects/ejb3/dev/ejbthree1269/transactions/src/test/java/org/jboss/ejb3/test/tx/common/SimpleContainer.java
===================================================================
--- projects/ejb3/trunk/transactions/src/test/java/org/jboss/ejb3/test/tx/common/SimpleContainer.java	2008-04-18 16:36:56 UTC (rev 72450)
+++ projects/ejb3/dev/ejbthree1269/transactions/src/test/java/org/jboss/ejb3/test/tx/common/SimpleContainer.java	2008-04-18 17:47:17 UTC (rev 72451)
@@ -1,64 +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.
- */
-package org.jboss.ejb3.test.tx.common;
-
-
-
-/**
- * @author <a href="mailto:carlo.dewolf at jboss.com">Carlo de Wolf</a>
- * @version $Revision: $
- */
-public class SimpleContainer
-{
-   private String name;
-   private String domainName;
-   private Class<Object> beanClass;
-   
-   private StatefulContainer<Object> beanContainer;
-   
-   /**
-    * @param name
-    * @param domainName
-    * @param beanClass
-    */
-   public SimpleContainer(String name, String domainName, Class<Object> beanClass)
-   {
-      this.name = name;
-      this.domainName = domainName;
-      this.beanClass = beanClass;
-   }
-
-   public <I> I constructProxy(Class<I> intf) throws Throwable
-   {
-      return beanContainer.constructProxy(intf);
-   }
-   
-   public void start()
-   {
-      this.beanContainer = new StatefulContainer<Object>(name, domainName, beanClass);
-   }
-   
-   public void stop()
-   {
-      this.beanContainer = null;
-   }
-}

Copied: projects/ejb3/dev/ejbthree1269/transactions/src/test/java/org/jboss/ejb3/test/tx/common/SimpleContainer.java (from rev 72450, projects/ejb3/trunk/transactions/src/test/java/org/jboss/ejb3/test/tx/common/SimpleContainer.java)
===================================================================
--- projects/ejb3/dev/ejbthree1269/transactions/src/test/java/org/jboss/ejb3/test/tx/common/SimpleContainer.java	                        (rev 0)
+++ projects/ejb3/dev/ejbthree1269/transactions/src/test/java/org/jboss/ejb3/test/tx/common/SimpleContainer.java	2008-04-18 17:47:17 UTC (rev 72451)
@@ -0,0 +1,64 @@
+/*
+ * 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.
+ */
+package org.jboss.ejb3.test.tx.common;
+
+
+
+/**
+ * @author <a href="mailto:carlo.dewolf at jboss.com">Carlo de Wolf</a>
+ * @version $Revision: $
+ */
+public class SimpleContainer
+{
+   private String name;
+   private String domainName;
+   private Class<Object> beanClass;
+   
+   private StatefulContainer<Object> beanContainer;
+   
+   /**
+    * @param name
+    * @param domainName
+    * @param beanClass
+    */
+   public SimpleContainer(String name, String domainName, Class<Object> beanClass)
+   {
+      this.name = name;
+      this.domainName = domainName;
+      this.beanClass = beanClass;
+   }
+
+   public <I> I constructProxy(Class<I> intf) throws Throwable
+   {
+      return beanContainer.constructProxy(intf);
+   }
+   
+   public void start()
+   {
+      this.beanContainer = new StatefulContainer<Object>(name, domainName, beanClass);
+   }
+   
+   public void stop()
+   {
+      this.beanContainer = null;
+   }
+}

Deleted: projects/ejb3/dev/ejbthree1269/transactions/src/test/java/org/jboss/ejb3/test/tx/common/SimpleTransactionService.java
===================================================================
--- projects/ejb3/trunk/transactions/src/test/java/org/jboss/ejb3/test/tx/common/SimpleTransactionService.java	2008-04-18 16:36:56 UTC (rev 72450)
+++ projects/ejb3/dev/ejbthree1269/transactions/src/test/java/org/jboss/ejb3/test/tx/common/SimpleTransactionService.java	2008-04-18 17:47:17 UTC (rev 72451)
@@ -1,47 +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.
- */
-package org.jboss.ejb3.test.tx.common;
-
-import javax.naming.InitialContext;
-import javax.naming.NamingException;
-
-import com.arjuna.ats.jta.utils.JNDIManager;
-
-/**
- * Bind a JTA TransactionManager into JNDI.
- * 
- * @author <a href="mailto:carlo.dewolf at jboss.com">Carlo de Wolf</a>
- * @version $Revision: $
- */
-public class SimpleTransactionService
-{
-   public void start() throws Exception
-   {
-      JNDIManager.bindJTAImplementation();
-   }
-   
-   public void stop() throws NamingException
-   {
-      InitialContext ctx = new InitialContext();
-      ctx.unbind("java:/TransactionManager");
-   }
-}

Copied: projects/ejb3/dev/ejbthree1269/transactions/src/test/java/org/jboss/ejb3/test/tx/common/SimpleTransactionService.java (from rev 72450, projects/ejb3/trunk/transactions/src/test/java/org/jboss/ejb3/test/tx/common/SimpleTransactionService.java)
===================================================================
--- projects/ejb3/dev/ejbthree1269/transactions/src/test/java/org/jboss/ejb3/test/tx/common/SimpleTransactionService.java	                        (rev 0)
+++ projects/ejb3/dev/ejbthree1269/transactions/src/test/java/org/jboss/ejb3/test/tx/common/SimpleTransactionService.java	2008-04-18 17:47:17 UTC (rev 72451)
@@ -0,0 +1,47 @@
+/*
+ * 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.
+ */
+package org.jboss.ejb3.test.tx.common;
+
+import javax.naming.InitialContext;
+import javax.naming.NamingException;
+
+import com.arjuna.ats.jta.utils.JNDIManager;
+
+/**
+ * Bind a JTA TransactionManager into JNDI.
+ * 
+ * @author <a href="mailto:carlo.dewolf at jboss.com">Carlo de Wolf</a>
+ * @version $Revision: $
+ */
+public class SimpleTransactionService
+{
+   public void start() throws Exception
+   {
+      JNDIManager.bindJTAImplementation();
+   }
+   
+   public void stop() throws NamingException
+   {
+      InitialContext ctx = new InitialContext();
+      ctx.unbind("java:/TransactionManager");
+   }
+}

Deleted: projects/ejb3/dev/ejbthree1269/transactions/src/test/java/org/jboss/ejb3/test/tx/common/StatefulBeanContext.java
===================================================================
--- projects/ejb3/trunk/transactions/src/test/java/org/jboss/ejb3/test/tx/common/StatefulBeanContext.java	2008-04-18 16:36:56 UTC (rev 72450)
+++ projects/ejb3/dev/ejbthree1269/transactions/src/test/java/org/jboss/ejb3/test/tx/common/StatefulBeanContext.java	2008-04-18 17:47:17 UTC (rev 72451)
@@ -1,59 +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.
- */
-package org.jboss.ejb3.test.tx.common;
-
-import java.util.List;
-import java.util.UUID;
-
-import org.jboss.aop.metadata.SimpleMetaData;
-import org.jboss.ejb3.cache.Identifiable;
-import org.jboss.ejb3.interceptors.container.DummyBeanContext;
-
-/**
- * @author <a href="mailto:carlo.dewolf at jboss.com">Carlo de Wolf</a>
- * @version $Revision: $
- */
-public class StatefulBeanContext<T> extends DummyBeanContext<T>
-   implements Identifiable, org.jboss.ejb3.tx.container.StatefulBeanContext<T>
-{
-   private Object id = UUID.randomUUID();
-   private SimpleMetaData metaData = new SimpleMetaData();
-   
-   /**
-    * @param instance
-    * @param interceptors
-    */
-   public StatefulBeanContext(T instance, List<Object> interceptors)
-   {
-      super(instance, interceptors);
-   }
-
-   public Object getId()
-   {
-      return id;
-   }
-
-   public SimpleMetaData getMetaData()
-   {
-      return metaData;
-   }
-}

Copied: projects/ejb3/dev/ejbthree1269/transactions/src/test/java/org/jboss/ejb3/test/tx/common/StatefulBeanContext.java (from rev 72450, projects/ejb3/trunk/transactions/src/test/java/org/jboss/ejb3/test/tx/common/StatefulBeanContext.java)
===================================================================
--- projects/ejb3/dev/ejbthree1269/transactions/src/test/java/org/jboss/ejb3/test/tx/common/StatefulBeanContext.java	                        (rev 0)
+++ projects/ejb3/dev/ejbthree1269/transactions/src/test/java/org/jboss/ejb3/test/tx/common/StatefulBeanContext.java	2008-04-18 17:47:17 UTC (rev 72451)
@@ -0,0 +1,59 @@
+/*
+ * 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.
+ */
+package org.jboss.ejb3.test.tx.common;
+
+import java.util.List;
+import java.util.UUID;
+
+import org.jboss.aop.metadata.SimpleMetaData;
+import org.jboss.ejb3.cache.Identifiable;
+import org.jboss.ejb3.interceptors.container.DummyBeanContext;
+
+/**
+ * @author <a href="mailto:carlo.dewolf at jboss.com">Carlo de Wolf</a>
+ * @version $Revision: $
+ */
+public class StatefulBeanContext<T> extends DummyBeanContext<T>
+   implements Identifiable, org.jboss.ejb3.tx.container.StatefulBeanContext<T>
+{
+   private Object id = UUID.randomUUID();
+   private SimpleMetaData metaData = new SimpleMetaData();
+   
+   /**
+    * @param instance
+    * @param interceptors
+    */
+   public StatefulBeanContext(T instance, List<Object> interceptors)
+   {
+      super(instance, interceptors);
+   }
+
+   public Object getId()
+   {
+      return id;
+   }
+
+   public SimpleMetaData getMetaData()
+   {
+      return metaData;
+   }
+}

Deleted: projects/ejb3/dev/ejbthree1269/transactions/src/test/java/org/jboss/ejb3/test/tx/common/StatefulContainer.java
===================================================================
--- projects/ejb3/trunk/transactions/src/test/java/org/jboss/ejb3/test/tx/common/StatefulContainer.java	2008-04-18 16:36:56 UTC (rev 72450)
+++ projects/ejb3/dev/ejbthree1269/transactions/src/test/java/org/jboss/ejb3/test/tx/common/StatefulContainer.java	2008-04-18 17:47:17 UTC (rev 72451)
@@ -1,284 +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.
- */
-package org.jboss.ejb3.test.tx.common;
-
-import java.lang.annotation.Annotation;
-import java.lang.reflect.Constructor;
-import java.lang.reflect.Field;
-import java.lang.reflect.InvocationHandler;
-import java.lang.reflect.Method;
-import java.lang.reflect.Proxy;
-import java.util.ArrayList;
-import java.util.List;
-
-import javax.annotation.PostConstruct;
-import javax.annotation.PreDestroy;
-
-import org.jboss.aop.Advisor;
-import org.jboss.aop.ClassAdvisor;
-import org.jboss.aop.MethodInfo;
-import org.jboss.aop.advice.Interceptor;
-import org.jboss.aop.joinpoint.ConstructionInvocation;
-import org.jboss.aop.util.MethodHashing;
-import org.jboss.ejb3.cache.Cache;
-import org.jboss.ejb3.cache.StatefulObjectFactory;
-import org.jboss.ejb3.cache.impl.SimpleCache;
-import org.jboss.ejb3.interceptors.InterceptorFactory;
-import org.jboss.ejb3.interceptors.InterceptorFactoryRef;
-import org.jboss.ejb3.interceptors.aop.LifecycleCallbacks;
-import org.jboss.ejb3.interceptors.container.AbstractContainer;
-import org.jboss.ejb3.interceptors.container.BeanContext;
-import org.jboss.ejb3.interceptors.container.BeanContextFactory;
-import org.jboss.ejb3.interceptors.container.ContainerMethodInvocation;
-import org.jboss.ejb3.interceptors.container.DestructionInvocation;
-import org.jboss.ejb3.interceptors.lang.ClassHelper;
-
-/**
- * @author <a href="mailto:carlo.dewolf at jboss.com">Carlo de Wolf</a>
- * @version $Revision: $
- */
-public class StatefulContainer<T> extends AbstractContainer<T, StatefulContainer<T>>
-{
-   private BeanContextFactory<T, StatefulContainer<T>> beanContextFactory = new BeanContextFactory<T, StatefulContainer<T>>()
-   {
-
-      public BeanContext<T> createBean() throws Exception
-      {
-         try
-         {
-            ClassAdvisor advisor = getAdvisor();
-            InterceptorFactoryRef interceptorFactoryRef = (InterceptorFactoryRef) advisor.resolveAnnotation(InterceptorFactoryRef.class);
-            if(interceptorFactoryRef == null)
-               throw new IllegalStateException("No InterceptorFactory specified on " + advisor.getName());
-            //log.debug("interceptor factory class = " + interceptorFactoryRef.value());
-            InterceptorFactory interceptorFactory = interceptorFactoryRef.value().newInstance();
-            
-            List<Object> ejb3Interceptors = new ArrayList<Object>();
-            for(Class<?> interceptorClass : getInterceptorRegistry().getInterceptorClasses())
-            {
-               Object interceptor = interceptorFactory.create(advisor, interceptorClass);
-               ejb3Interceptors.add(interceptor);
-            }
-            
-            Constructor<T> constructor = advisor.getClazz().getConstructor();
-            int idx = advisor.getConstructorIndex(constructor);
-            Object initargs[] = null;
-            T targetObject = getBeanClass().cast(advisor.invokeNew(initargs, idx));
-            
-            BeanContext<T> component = new StatefulBeanContext<T>(targetObject, ejb3Interceptors);
-            
-            // Do lifecycle callbacks
-            Interceptor interceptors[] = createLifecycleInterceptors(component, PostConstruct.class);
-            
-            ConstructionInvocation invocation = new ConstructionInvocation(interceptors, constructor, initargs);
-            invocation.setAdvisor(advisor);
-            invocation.setTargetObject(targetObject);
-            invocation.invokeNext();
-            
-            return component;
-         }
-         catch(Error e)
-         {
-            throw e;
-         }
-         catch(Throwable t)
-         {
-            // TODO: decompose
-            throw new RuntimeException(t);
-         }
-      }
-
-      private Interceptor[] createLifecycleInterceptors(BeanContext<T> component, Class<? extends Annotation> lifecycleAnnotationType) throws Exception
-      {
-         List<Class<?>> lifecycleInterceptorClasses = getInterceptorRegistry().getLifecycleInterceptorClasses();
-         Advisor advisor = getAdvisor();
-         return LifecycleCallbacks.createLifecycleCallbackInterceptors(advisor, lifecycleInterceptorClasses, component, lifecycleAnnotationType);
-      }
-      
-      public void destroyBean(BeanContext<T> component)
-      {
-         try
-         {
-            Advisor advisor = getAdvisor();
-            Interceptor interceptors[] = createLifecycleInterceptors(component, PreDestroy.class);
-            
-            DestructionInvocation invocation = new DestructionInvocation(interceptors);
-            invocation.setAdvisor(advisor);
-            invocation.setTargetObject(component.getInstance());
-            invocation.invokeNext();
-         }
-         catch(Throwable t)
-         {
-            // TODO: disect
-            if(t instanceof RuntimeException)
-               throw (RuntimeException) t;
-            throw new RuntimeException(t);
-         }
-      }
-
-      public void setContainer(StatefulContainer<T> container)
-      {
-         // Dummy
-      }
-   };
-   
-   private StatefulObjectFactory<StatefulBeanContext<T>> factory = new StatefulObjectFactory<StatefulBeanContext<T>>()
-   {
-      public StatefulBeanContext<T> create(Class<?>[] initTypes, Object[] initValues)
-      {
-         try
-         {
-            Constructor<? extends T> constructor = getBeanClass().getConstructor();
-            return (StatefulBeanContext<T>) StatefulContainer.this.construct(constructor);
-         }
-         catch(NoSuchMethodException e)
-         {
-            throw new RuntimeException(e);
-         }
-      }
-
-      public void destroy(StatefulBeanContext<T> obj)
-      {
-         StatefulContainer.this.destroy(obj);
-      }  
-   };
-   
-   private Cache<StatefulBeanContext<T>> cache = new SimpleCache<StatefulBeanContext<T>>(factory);
-   
-   private class ProxyInvocationHandler implements InvocationHandler
-   {
-      private Object id;
-      
-      public ProxyInvocationHandler(Object id)
-      {
-         assert id != null : "id is null";
-         
-         this.id = id;
-      }
-      
-      public Object invoke(Object proxy, Method method, Object[] args) throws Throwable
-      {
-         return StatefulContainer.this.invoke(id, method, args);
-      }
-   }
-   
-   public StatefulContainer(String name, String domainName, Class<T> beanClass)
-   {
-      super(name, domainName, beanClass);
-      setBeanContextFactory(beanContextFactory);
-   }
-   
-   /**
-    * For direct access.
-    * @return
-    * @throws Throwable
-    */
-   public Object construct() throws Throwable
-   {
-      StatefulBeanContext<T> ctx = cache.create(null, null);
-      Object id = ctx.getId();
-      cache.release(ctx);
-      return id;
-   }
-   
-   /**
-    * For proxied access.
-    * @param <I>
-    * @param intf
-    * @return
-    * @throws Throwable
-    */
-   public <I> I constructProxy(Class<I> intf) throws Throwable
-   {
-      Object id = construct();
-      
-      ClassLoader loader = Thread.currentThread().getContextClassLoader();
-      Class<?> interfaces[] = { intf };
-      Object proxy = Proxy.newProxyInstance(loader, interfaces, new ProxyInvocationHandler(id));
-      return intf.cast(proxy);
-   }
-   
-   public void destroy(Object id)
-   {
-      cache.remove(id);
-   }
-   
-   protected Cache<StatefulBeanContext<T>> getCache()
-   {
-      return cache;
-   }
-   
-   /**
-    * A convenient, but unchecked and slow method to call a method upon a target.
-    * 
-    * (Slow method)
-    * 
-    * @param <R>        the return type
-    * @param target     the target to invoke upon
-    * @param methodName the method name to invoke
-    * @param args       the arguments to the method
-    * @return           the return value
-    * @throws Throwable if anything goes wrong
-    */
-   @SuppressWarnings("unchecked")
-   public <R> R invoke(Object id, String methodName, Object ... args) throws Throwable
-   {
-      Method method = ClassHelper.getMethod(getBeanClass(), methodName);
-      return (R) invoke(id, method, args);
-   }
-   
-   public Object invoke(Object id, Method method, Object[] arguments) throws Throwable
-   {
-      long methodHash = MethodHashing.calculateHash(method);
-      MethodInfo info = getAdvisor().getMethodInfo(methodHash);
-      if(info == null)
-         throw new IllegalArgumentException("method " + method + " is not under advisement by " + this);
-      ContainerMethodInvocation invocation = new StatefulContainerMethodInvocation(info, id, arguments);
-      return invocation.invokeNext();
-   }
-   
-   protected void setBeanContextFactory(BeanContextFactory<T, StatefulContainer<T>> factory)
-   {
-      try
-      {
-         Field field = AbstractContainer.class.getDeclaredField("beanContextFactory");
-         field.setAccessible(true);
-         field.set(this, factory);
-      }
-      catch (SecurityException e)
-      {
-         throw new RuntimeException(e);
-      }
-      catch (NoSuchFieldException e)
-      {
-         throw new RuntimeException(e);
-      }
-      catch (IllegalArgumentException e)
-      {
-         throw new RuntimeException(e);
-      }
-      catch (IllegalAccessException e)
-      {
-         throw new RuntimeException(e);
-      }
-   }
-}

Copied: projects/ejb3/dev/ejbthree1269/transactions/src/test/java/org/jboss/ejb3/test/tx/common/StatefulContainer.java (from rev 72450, projects/ejb3/trunk/transactions/src/test/java/org/jboss/ejb3/test/tx/common/StatefulContainer.java)
===================================================================
--- projects/ejb3/dev/ejbthree1269/transactions/src/test/java/org/jboss/ejb3/test/tx/common/StatefulContainer.java	                        (rev 0)
+++ projects/ejb3/dev/ejbthree1269/transactions/src/test/java/org/jboss/ejb3/test/tx/common/StatefulContainer.java	2008-04-18 17:47:17 UTC (rev 72451)
@@ -0,0 +1,284 @@
+/*
+ * 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.
+ */
+package org.jboss.ejb3.test.tx.common;
+
+import java.lang.annotation.Annotation;
+import java.lang.reflect.Constructor;
+import java.lang.reflect.Field;
+import java.lang.reflect.InvocationHandler;
+import java.lang.reflect.Method;
+import java.lang.reflect.Proxy;
+import java.util.ArrayList;
+import java.util.List;
+
+import javax.annotation.PostConstruct;
+import javax.annotation.PreDestroy;
+
+import org.jboss.aop.Advisor;
+import org.jboss.aop.ClassAdvisor;
+import org.jboss.aop.MethodInfo;
+import org.jboss.aop.advice.Interceptor;
+import org.jboss.aop.joinpoint.ConstructionInvocation;
+import org.jboss.aop.util.MethodHashing;
+import org.jboss.ejb3.cache.Cache;
+import org.jboss.ejb3.cache.StatefulObjectFactory;
+import org.jboss.ejb3.cache.impl.SimpleCache;
+import org.jboss.ejb3.interceptors.InterceptorFactory;
+import org.jboss.ejb3.interceptors.InterceptorFactoryRef;
+import org.jboss.ejb3.interceptors.aop.LifecycleCallbacks;
+import org.jboss.ejb3.interceptors.container.AbstractContainer;
+import org.jboss.ejb3.interceptors.container.BeanContext;
+import org.jboss.ejb3.interceptors.container.BeanContextFactory;
+import org.jboss.ejb3.interceptors.container.ContainerMethodInvocation;
+import org.jboss.ejb3.interceptors.container.DestructionInvocation;
+import org.jboss.ejb3.interceptors.lang.ClassHelper;
+
+/**
+ * @author <a href="mailto:carlo.dewolf at jboss.com">Carlo de Wolf</a>
+ * @version $Revision: $
+ */
+public class StatefulContainer<T> extends AbstractContainer<T, StatefulContainer<T>>
+{
+   private BeanContextFactory<T, StatefulContainer<T>> beanContextFactory = new BeanContextFactory<T, StatefulContainer<T>>()
+   {
+
+      public BeanContext<T> createBean() throws Exception
+      {
+         try
+         {
+            ClassAdvisor advisor = getAdvisor();
+            InterceptorFactoryRef interceptorFactoryRef = (InterceptorFactoryRef) advisor.resolveAnnotation(InterceptorFactoryRef.class);
+            if(interceptorFactoryRef == null)
+               throw new IllegalStateException("No InterceptorFactory specified on " + advisor.getName());
+            //log.debug("interceptor factory class = " + interceptorFactoryRef.value());
+            InterceptorFactory interceptorFactory = interceptorFactoryRef.value().newInstance();
+            
+            List<Object> ejb3Interceptors = new ArrayList<Object>();
+            for(Class<?> interceptorClass : getInterceptorRegistry().getInterceptorClasses())
+            {
+               Object interceptor = interceptorFactory.create(advisor, interceptorClass);
+               ejb3Interceptors.add(interceptor);
+            }
+            
+            Constructor<T> constructor = advisor.getClazz().getConstructor();
+            int idx = advisor.getConstructorIndex(constructor);
+            Object initargs[] = null;
+            T targetObject = getBeanClass().cast(advisor.invokeNew(initargs, idx));
+            
+            BeanContext<T> component = new StatefulBeanContext<T>(targetObject, ejb3Interceptors);
+            
+            // Do lifecycle callbacks
+            Interceptor interceptors[] = createLifecycleInterceptors(component, PostConstruct.class);
+            
+            ConstructionInvocation invocation = new ConstructionInvocation(interceptors, constructor, initargs);
+            invocation.setAdvisor(advisor);
+            invocation.setTargetObject(targetObject);
+            invocation.invokeNext();
+            
+            return component;
+         }
+         catch(Error e)
+         {
+            throw e;
+         }
+         catch(Throwable t)
+         {
+            // TODO: decompose
+            throw new RuntimeException(t);
+         }
+      }
+
+      private Interceptor[] createLifecycleInterceptors(BeanContext<T> component, Class<? extends Annotation> lifecycleAnnotationType) throws Exception
+      {
+         List<Class<?>> lifecycleInterceptorClasses = getInterceptorRegistry().getLifecycleInterceptorClasses();
+         Advisor advisor = getAdvisor();
+         return LifecycleCallbacks.createLifecycleCallbackInterceptors(advisor, lifecycleInterceptorClasses, component, lifecycleAnnotationType);
+      }
+      
+      public void destroyBean(BeanContext<T> component)
+      {
+         try
+         {
+            Advisor advisor = getAdvisor();
+            Interceptor interceptors[] = createLifecycleInterceptors(component, PreDestroy.class);
+            
+            DestructionInvocation invocation = new DestructionInvocation(interceptors);
+            invocation.setAdvisor(advisor);
+            invocation.setTargetObject(component.getInstance());
+            invocation.invokeNext();
+         }
+         catch(Throwable t)
+         {
+            // TODO: disect
+            if(t instanceof RuntimeException)
+               throw (RuntimeException) t;
+            throw new RuntimeException(t);
+         }
+      }
+
+      public void setContainer(StatefulContainer<T> container)
+      {
+         // Dummy
+      }
+   };
+   
+   private StatefulObjectFactory<StatefulBeanContext<T>> factory = new StatefulObjectFactory<StatefulBeanContext<T>>()
+   {
+      public StatefulBeanContext<T> create(Class<?>[] initTypes, Object[] initValues)
+      {
+         try
+         {
+            Constructor<? extends T> constructor = getBeanClass().getConstructor();
+            return (StatefulBeanContext<T>) StatefulContainer.this.construct(constructor);
+         }
+         catch(NoSuchMethodException e)
+         {
+            throw new RuntimeException(e);
+         }
+      }
+
+      public void destroy(StatefulBeanContext<T> obj)
+      {
+         StatefulContainer.this.destroy(obj);
+      }  
+   };
+   
+   private Cache<StatefulBeanContext<T>> cache = new SimpleCache<StatefulBeanContext<T>>(factory);
+   
+   private class ProxyInvocationHandler implements InvocationHandler
+   {
+      private Object id;
+      
+      public ProxyInvocationHandler(Object id)
+      {
+         assert id != null : "id is null";
+         
+         this.id = id;
+      }
+      
+      public Object invoke(Object proxy, Method method, Object[] args) throws Throwable
+      {
+         return StatefulContainer.this.invoke(id, method, args);
+      }
+   }
+   
+   public StatefulContainer(String name, String domainName, Class<T> beanClass)
+   {
+      super(name, domainName, beanClass);
+      setBeanContextFactory(beanContextFactory);
+   }
+   
+   /**
+    * For direct access.
+    * @return
+    * @throws Throwable
+    */
+   public Object construct() throws Throwable
+   {
+      StatefulBeanContext<T> ctx = cache.create(null, null);
+      Object id = ctx.getId();
+      cache.release(ctx);
+      return id;
+   }
+   
+   /**
+    * For proxied access.
+    * @param <I>
+    * @param intf
+    * @return
+    * @throws Throwable
+    */
+   public <I> I constructProxy(Class<I> intf) throws Throwable
+   {
+      Object id = construct();
+      
+      ClassLoader loader = Thread.currentThread().getContextClassLoader();
+      Class<?> interfaces[] = { intf };
+      Object proxy = Proxy.newProxyInstance(loader, interfaces, new ProxyInvocationHandler(id));
+      return intf.cast(proxy);
+   }
+   
+   public void destroy(Object id)
+   {
+      cache.remove(id);
+   }
+   
+   protected Cache<StatefulBeanContext<T>> getCache()
+   {
+      return cache;
+   }
+   
+   /**
+    * A convenient, but unchecked and slow method to call a method upon a target.
+    * 
+    * (Slow method)
+    * 
+    * @param <R>        the return type
+    * @param target     the target to invoke upon
+    * @param methodName the method name to invoke
+    * @param args       the arguments to the method
+    * @return           the return value
+    * @throws Throwable if anything goes wrong
+    */
+   @SuppressWarnings("unchecked")
+   public <R> R invoke(Object id, String methodName, Object ... args) throws Throwable
+   {
+      Method method = ClassHelper.getMethod(getBeanClass(), methodName);
+      return (R) invoke(id, method, args);
+   }
+   
+   public Object invoke(Object id, Method method, Object[] arguments) throws Throwable
+   {
+      long methodHash = MethodHashing.calculateHash(method);
+      MethodInfo info = getAdvisor().getMethodInfo(methodHash);
+      if(info == null)
+         throw new IllegalArgumentException("method " + method + " is not under advisement by " + this);
+      ContainerMethodInvocation invocation = new StatefulContainerMethodInvocation(info, id, arguments);
+      return invocation.invokeNext();
+   }
+   
+   protected void setBeanContextFactory(BeanContextFactory<T, StatefulContainer<T>> factory)
+   {
+      try
+      {
+         Field field = AbstractContainer.class.getDeclaredField("beanContextFactory");
+         field.setAccessible(true);
+         field.set(this, factory);
+      }
+      catch (SecurityException e)
+      {
+         throw new RuntimeException(e);
+      }
+      catch (NoSuchFieldException e)
+      {
+         throw new RuntimeException(e);
+      }
+      catch (IllegalArgumentException e)
+      {
+         throw new RuntimeException(e);
+      }
+      catch (IllegalAccessException e)
+      {
+         throw new RuntimeException(e);
+      }
+   }
+}

Deleted: projects/ejb3/dev/ejbthree1269/transactions/src/test/java/org/jboss/ejb3/test/tx/common/StatefulContainerMethodInvocation.java
===================================================================
--- projects/ejb3/trunk/transactions/src/test/java/org/jboss/ejb3/test/tx/common/StatefulContainerMethodInvocation.java	2008-04-18 16:36:56 UTC (rev 72450)
+++ projects/ejb3/dev/ejbthree1269/transactions/src/test/java/org/jboss/ejb3/test/tx/common/StatefulContainerMethodInvocation.java	2008-04-18 17:47:17 UTC (rev 72451)
@@ -1,50 +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.
- */
-package org.jboss.ejb3.test.tx.common;
-
-import org.jboss.aop.MethodInfo;
-import org.jboss.ejb3.interceptors.container.ContainerMethodInvocation;
-
-/**
- * @author <a href="mailto:carlo.dewolf at jboss.com">Carlo de Wolf</a>
- * @version $Revision: $
- */
-public class StatefulContainerMethodInvocation extends ContainerMethodInvocation
-{
-   private Object id;
-   
-   StatefulContainerMethodInvocation(MethodInfo info, Object id, Object arguments[])
-   {
-      super(info);
-      
-      assert id != null : "id is null";
-      
-      this.id = id;
-      
-      setArguments(arguments);
-   }
-   
-   public Object getId()
-   {
-      return id;
-   }
-}

Copied: projects/ejb3/dev/ejbthree1269/transactions/src/test/java/org/jboss/ejb3/test/tx/common/StatefulContainerMethodInvocation.java (from rev 72450, projects/ejb3/trunk/transactions/src/test/java/org/jboss/ejb3/test/tx/common/StatefulContainerMethodInvocation.java)
===================================================================
--- projects/ejb3/dev/ejbthree1269/transactions/src/test/java/org/jboss/ejb3/test/tx/common/StatefulContainerMethodInvocation.java	                        (rev 0)
+++ projects/ejb3/dev/ejbthree1269/transactions/src/test/java/org/jboss/ejb3/test/tx/common/StatefulContainerMethodInvocation.java	2008-04-18 17:47:17 UTC (rev 72451)
@@ -0,0 +1,50 @@
+/*
+ * 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.
+ */
+package org.jboss.ejb3.test.tx.common;
+
+import org.jboss.aop.MethodInfo;
+import org.jboss.ejb3.interceptors.container.ContainerMethodInvocation;
+
+/**
+ * @author <a href="mailto:carlo.dewolf at jboss.com">Carlo de Wolf</a>
+ * @version $Revision: $
+ */
+public class StatefulContainerMethodInvocation extends ContainerMethodInvocation
+{
+   private Object id;
+   
+   StatefulContainerMethodInvocation(MethodInfo info, Object id, Object arguments[])
+   {
+      super(info);
+      
+      assert id != null : "id is null";
+      
+      this.id = id;
+      
+      setArguments(arguments);
+   }
+   
+   public Object getId()
+   {
+      return id;
+   }
+}

Deleted: projects/ejb3/dev/ejbthree1269/transactions/src/test/java/org/jboss/ejb3/test/tx/common/StatefulInstanceInterceptor.java
===================================================================
--- projects/ejb3/trunk/transactions/src/test/java/org/jboss/ejb3/test/tx/common/StatefulInstanceInterceptor.java	2008-04-18 16:36:56 UTC (rev 72450)
+++ projects/ejb3/dev/ejbthree1269/transactions/src/test/java/org/jboss/ejb3/test/tx/common/StatefulInstanceInterceptor.java	2008-04-18 17:47:17 UTC (rev 72451)
@@ -1,95 +0,0 @@
-/*
- * JBoss, Home of Professional Open Source.
- * Copyright 2006, 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.ejb3.test.tx.common;
-
-import java.rmi.RemoteException;
-
-import org.jboss.aop.joinpoint.Invocation;
-import org.jboss.ejb3.cache.Cache;
-import org.jboss.ejb3.tx.AbstractInterceptor;
-import org.jboss.logging.Logger;
-
-/**
- * Comment
- *
- * @author <a href="mailto:bill at jboss.org">Bill Burke</a>
- * @version $Revision: 72219 $
- */
-public class StatefulInstanceInterceptor extends AbstractInterceptor
-{
-   private static final Logger log = Logger.getLogger(StatefulInstanceInterceptor.class);
-   
-   public StatefulInstanceInterceptor()
-   {
-   }
-
-   private <T> Object doInvoke(Invocation invocation) throws Throwable
-   {
-      StatefulContainerMethodInvocation ejb = (StatefulContainerMethodInvocation) invocation;
-      Object id = ejb.getId();
-      assert id != null : "id is null";
-      StatefulContainer<T> container = getContainer(invocation);
-      Cache<StatefulBeanContext<T>> cache = container.getCache();
-      StatefulBeanContext<T> target = container.getCache().get(id);
-
-      ejb.setBeanContext(target);
-//      StatefulBeanContext.currentBean.push(target);
-//      container.pushContext(target);
-      try
-      {
-//         if (target.isDiscarded()) throw new EJBException("SFSB was discarded by another thread");
-         return ejb.invokeNext();
-      }
-      catch (Exception ex)
-      {
-//         if (StatefulRemoveInterceptor.isApplicationException(ex, (MethodInvocation)invocation)) throw ex;
-         if (ex instanceof RuntimeException
-                 || ex instanceof RemoteException)
-         {
-            if(log.isTraceEnabled())
-               log.trace("Removing bean " + id + " because of exception", ex);
-            // TODO: should be discard
-            container.getCache().remove(id);
-         }
-         throw ex;
-      }
-      finally
-      {
-//         container.popContext();
-//         StatefulBeanContext.currentBean.pop();
-         // the bean context is disassociated, but then the StatefulRemoveInterceptor will fail
-         ejb.setBeanContext(null);
-         synchronized (target)
-         {
-//            target.setInInvocation(false);
-//            if (!target.isTxSynchronized() && !target.isDiscarded()) container.getCache().release(target);
-//            if (block) target.getLock().unlock();
-            cache.release(target);
-         }
-      }      
-   }
-   
-   public Object invoke(Invocation invocation) throws Throwable
-   {
-      return doInvoke(invocation);
-   }
-}

Copied: projects/ejb3/dev/ejbthree1269/transactions/src/test/java/org/jboss/ejb3/test/tx/common/StatefulInstanceInterceptor.java (from rev 72450, projects/ejb3/trunk/transactions/src/test/java/org/jboss/ejb3/test/tx/common/StatefulInstanceInterceptor.java)
===================================================================
--- projects/ejb3/dev/ejbthree1269/transactions/src/test/java/org/jboss/ejb3/test/tx/common/StatefulInstanceInterceptor.java	                        (rev 0)
+++ projects/ejb3/dev/ejbthree1269/transactions/src/test/java/org/jboss/ejb3/test/tx/common/StatefulInstanceInterceptor.java	2008-04-18 17:47:17 UTC (rev 72451)
@@ -0,0 +1,95 @@
+/*
+ * JBoss, Home of Professional Open Source.
+ * Copyright 2006, 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.ejb3.test.tx.common;
+
+import java.rmi.RemoteException;
+
+import org.jboss.aop.joinpoint.Invocation;
+import org.jboss.ejb3.cache.Cache;
+import org.jboss.ejb3.tx.AbstractInterceptor;
+import org.jboss.logging.Logger;
+
+/**
+ * Comment
+ *
+ * @author <a href="mailto:bill at jboss.org">Bill Burke</a>
+ * @version $Revision: 72219 $
+ */
+public class StatefulInstanceInterceptor extends AbstractInterceptor
+{
+   private static final Logger log = Logger.getLogger(StatefulInstanceInterceptor.class);
+   
+   public StatefulInstanceInterceptor()
+   {
+   }
+
+   private <T> Object doInvoke(Invocation invocation) throws Throwable
+   {
+      StatefulContainerMethodInvocation ejb = (StatefulContainerMethodInvocation) invocation;
+      Object id = ejb.getId();
+      assert id != null : "id is null";
+      StatefulContainer<T> container = getContainer(invocation);
+      Cache<StatefulBeanContext<T>> cache = container.getCache();
+      StatefulBeanContext<T> target = container.getCache().get(id);
+
+      ejb.setBeanContext(target);
+//      StatefulBeanContext.currentBean.push(target);
+//      container.pushContext(target);
+      try
+      {
+//         if (target.isDiscarded()) throw new EJBException("SFSB was discarded by another thread");
+         return ejb.invokeNext();
+      }
+      catch (Exception ex)
+      {
+//         if (StatefulRemoveInterceptor.isApplicationException(ex, (MethodInvocation)invocation)) throw ex;
+         if (ex instanceof RuntimeException
+                 || ex instanceof RemoteException)
+         {
+            if(log.isTraceEnabled())
+               log.trace("Removing bean " + id + " because of exception", ex);
+            // TODO: should be discard
+            container.getCache().remove(id);
+         }
+         throw ex;
+      }
+      finally
+      {
+//         container.popContext();
+//         StatefulBeanContext.currentBean.pop();
+         // the bean context is disassociated, but then the StatefulRemoveInterceptor will fail
+         ejb.setBeanContext(null);
+         synchronized (target)
+         {
+//            target.setInInvocation(false);
+//            if (!target.isTxSynchronized() && !target.isDiscarded()) container.getCache().release(target);
+//            if (block) target.getLock().unlock();
+            cache.release(target);
+         }
+      }      
+   }
+   
+   public Object invoke(Invocation invocation) throws Throwable
+   {
+      return doInvoke(invocation);
+   }
+}

Copied: projects/ejb3/dev/ejbthree1269/transactions/src/test/java/org/jboss/ejb3/test/tx/instance (from rev 72450, projects/ejb3/trunk/transactions/src/test/java/org/jboss/ejb3/test/tx/instance)

Deleted: projects/ejb3/dev/ejbthree1269/transactions/src/test/java/org/jboss/ejb3/test/tx/instance/InstanceTest.java
===================================================================
--- projects/ejb3/trunk/transactions/src/test/java/org/jboss/ejb3/test/tx/instance/InstanceTest.java	2008-04-18 16:36:56 UTC (rev 72450)
+++ projects/ejb3/dev/ejbthree1269/transactions/src/test/java/org/jboss/ejb3/test/tx/instance/InstanceTest.java	2008-04-18 17:47:17 UTC (rev 72451)
@@ -1,42 +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.
- */
-package org.jboss.ejb3.test.tx.instance;
-
-
-/**
- * @author <a href="mailto:carlo.dewolf at jboss.com">Carlo de Wolf</a>
- * @version $Revision: $
- */
-public interface InstanceTest
-{
-   void mandatory();
-   
-   void never();
-   
-   void notSupported();
-   
-   void required();
-   
-   void requiresNew();
-   
-   void supports();
-}

Copied: projects/ejb3/dev/ejbthree1269/transactions/src/test/java/org/jboss/ejb3/test/tx/instance/InstanceTest.java (from rev 72450, projects/ejb3/trunk/transactions/src/test/java/org/jboss/ejb3/test/tx/instance/InstanceTest.java)
===================================================================
--- projects/ejb3/dev/ejbthree1269/transactions/src/test/java/org/jboss/ejb3/test/tx/instance/InstanceTest.java	                        (rev 0)
+++ projects/ejb3/dev/ejbthree1269/transactions/src/test/java/org/jboss/ejb3/test/tx/instance/InstanceTest.java	2008-04-18 17:47:17 UTC (rev 72451)
@@ -0,0 +1,42 @@
+/*
+ * 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.
+ */
+package org.jboss.ejb3.test.tx.instance;
+
+
+/**
+ * @author <a href="mailto:carlo.dewolf at jboss.com">Carlo de Wolf</a>
+ * @version $Revision: $
+ */
+public interface InstanceTest
+{
+   void mandatory();
+   
+   void never();
+   
+   void notSupported();
+   
+   void required();
+   
+   void requiresNew();
+   
+   void supports();
+}

Deleted: projects/ejb3/dev/ejbthree1269/transactions/src/test/java/org/jboss/ejb3/test/tx/instance/InstanceTestBean.java
===================================================================
--- projects/ejb3/trunk/transactions/src/test/java/org/jboss/ejb3/test/tx/instance/InstanceTestBean.java	2008-04-18 16:36:56 UTC (rev 72450)
+++ projects/ejb3/dev/ejbthree1269/transactions/src/test/java/org/jboss/ejb3/test/tx/instance/InstanceTestBean.java	2008-04-18 17:47:17 UTC (rev 72451)
@@ -1,74 +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.
- */
-package org.jboss.ejb3.test.tx.instance;
-
-import static javax.ejb.TransactionAttributeType.MANDATORY;
-import static javax.ejb.TransactionAttributeType.NEVER;
-import static javax.ejb.TransactionAttributeType.REQUIRED;
-
-import javax.ejb.Stateful;
-import javax.ejb.TransactionAttribute;
-import javax.ejb.TransactionAttributeType;
-
-/**
- * @author <a href="mailto:carlo.dewolf at jboss.com">Carlo de Wolf</a>
- * @version $Revision: $
- */
- at Stateful
-public class InstanceTestBean implements InstanceTest
-{
-   @TransactionAttribute(MANDATORY)
-   public void mandatory()
-   {
-      
-   }
-   
-   @TransactionAttribute(NEVER)
-   public void never()
-   {
-      
-   }
-   
-   @TransactionAttribute(TransactionAttributeType.NOT_SUPPORTED)
-   public void notSupported()
-   {
-      
-   }
-   
-   @TransactionAttribute(REQUIRED)
-   public void required()
-   {
-      
-   }
-   
-   @TransactionAttribute(TransactionAttributeType.REQUIRES_NEW)
-   public void requiresNew()
-   {
-      
-   }
-   
-   @TransactionAttribute(TransactionAttributeType.SUPPORTS)
-   public void supports()
-   {
-      
-   }
-}

Copied: projects/ejb3/dev/ejbthree1269/transactions/src/test/java/org/jboss/ejb3/test/tx/instance/InstanceTestBean.java (from rev 72450, projects/ejb3/trunk/transactions/src/test/java/org/jboss/ejb3/test/tx/instance/InstanceTestBean.java)
===================================================================
--- projects/ejb3/dev/ejbthree1269/transactions/src/test/java/org/jboss/ejb3/test/tx/instance/InstanceTestBean.java	                        (rev 0)
+++ projects/ejb3/dev/ejbthree1269/transactions/src/test/java/org/jboss/ejb3/test/tx/instance/InstanceTestBean.java	2008-04-18 17:47:17 UTC (rev 72451)
@@ -0,0 +1,74 @@
+/*
+ * 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.
+ */
+package org.jboss.ejb3.test.tx.instance;
+
+import static javax.ejb.TransactionAttributeType.MANDATORY;
+import static javax.ejb.TransactionAttributeType.NEVER;
+import static javax.ejb.TransactionAttributeType.REQUIRED;
+
+import javax.ejb.Stateful;
+import javax.ejb.TransactionAttribute;
+import javax.ejb.TransactionAttributeType;
+
+/**
+ * @author <a href="mailto:carlo.dewolf at jboss.com">Carlo de Wolf</a>
+ * @version $Revision: $
+ */
+ at Stateful
+public class InstanceTestBean implements InstanceTest
+{
+   @TransactionAttribute(MANDATORY)
+   public void mandatory()
+   {
+      
+   }
+   
+   @TransactionAttribute(NEVER)
+   public void never()
+   {
+      
+   }
+   
+   @TransactionAttribute(TransactionAttributeType.NOT_SUPPORTED)
+   public void notSupported()
+   {
+      
+   }
+   
+   @TransactionAttribute(REQUIRED)
+   public void required()
+   {
+      
+   }
+   
+   @TransactionAttribute(TransactionAttributeType.REQUIRES_NEW)
+   public void requiresNew()
+   {
+      
+   }
+   
+   @TransactionAttribute(TransactionAttributeType.SUPPORTS)
+   public void supports()
+   {
+      
+   }
+}

Copied: projects/ejb3/dev/ejbthree1269/transactions/src/test/java/org/jboss/ejb3/test/tx/instance/unit (from rev 72450, projects/ejb3/trunk/transactions/src/test/java/org/jboss/ejb3/test/tx/instance/unit)

Deleted: projects/ejb3/dev/ejbthree1269/transactions/src/test/java/org/jboss/ejb3/test/tx/instance/unit/InstanceTestCase.java
===================================================================
--- projects/ejb3/trunk/transactions/src/test/java/org/jboss/ejb3/test/tx/instance/unit/InstanceTestCase.java	2008-04-18 16:36:56 UTC (rev 72450)
+++ projects/ejb3/dev/ejbthree1269/transactions/src/test/java/org/jboss/ejb3/test/tx/instance/unit/InstanceTestCase.java	2008-04-18 17:47:17 UTC (rev 72451)
@@ -1,146 +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.
- */
-package org.jboss.ejb3.test.tx.instance.unit;
-
-import static org.junit.Assert.fail;
-
-import java.net.URL;
-
-import javax.ejb.EJBException;
-import javax.ejb.EJBTransactionRequiredException;
-import javax.naming.InitialContext;
-import javax.transaction.TransactionManager;
-
-import org.jboss.ejb3.test.tx.common.SimpleContainer;
-import org.jboss.ejb3.test.tx.instance.InstanceTest;
-import org.jboss.ejb3.test.tx.mc.UnitTestBootstrap;
-import org.junit.After;
-import org.junit.AfterClass;
-import org.junit.Before;
-import org.junit.BeforeClass;
-import org.junit.Test;
-
-/**
- * @author <a href="mailto:carlo.dewolf at jboss.com">Carlo de Wolf</a>
- * @version $Revision: $
- */
-public class InstanceTestCase
-{
-   private static UnitTestBootstrap bootstrap;
-   
-   private static URL getResource(String name)
-   {
-      return Thread.currentThread().getContextClassLoader().getResource(name);
-   }
-   
-   @BeforeClass
-   public static void setUpBeforeClass() throws Throwable
-   {
-      bootstrap = new UnitTestBootstrap();
-      bootstrap.deploy(getResource("instance/beans.xml"));
-   }
-
-   @AfterClass
-   public static void tearDownAfterClass() throws Exception
-   {
-      if(bootstrap != null)
-         bootstrap.shutdown();
-   }
-
-   @Before
-   public void setUp() throws Exception
-   {
-   }
-
-   @After
-   public void tearDown() throws Exception
-   {
-   }
-
-   /**
-    * Test whether the stateful bean is still alive after a transaction
-    * guard failure.
-    */
-   @Test
-   public void testInstance() throws Throwable
-   {
-      SimpleContainer container = bootstrap.lookup("TestContainer", SimpleContainer.class);
-      
-      InstanceTest bean = container.constructProxy(InstanceTest.class);
-      
-      InitialContext ctx = new InitialContext();
-      TransactionManager tm = (TransactionManager) ctx.lookup("java:/TransactionManager");
-      tm.begin();
-      try
-      {
-         bean.never();
-         fail("never should not allow a transaction");
-      }
-      catch(EJBException e)
-      {
-         // Good
-      }
-      finally
-      {
-         tm.rollback();
-      }
-      
-      bean.required();
-   }
-   
-   @Test
-   public void testTransactionMandatory() throws Throwable
-   {
-      SimpleContainer container = bootstrap.lookup("TestContainer", SimpleContainer.class);
-      
-      InstanceTest bean = container.constructProxy(InstanceTest.class);
-      
-      InitialContext ctx = new InitialContext();
-      TransactionManager tm = (TransactionManager) ctx.lookup("java:/TransactionManager");
-      tm.begin();
-      try
-      {
-         bean.mandatory();
-      }
-      finally
-      {
-         tm.rollback();
-      }
-   }
-   
-   @Test
-   public void testTransactionMandatoryIllegal() throws Throwable
-   {
-      SimpleContainer container = bootstrap.lookup("TestContainer", SimpleContainer.class);
-      
-      InstanceTest bean = container.constructProxy(InstanceTest.class);
-      try
-      {
-         bean.mandatory();
-         fail("transaction is required");
-      }
-      catch(EJBTransactionRequiredException e)
-      {
-         // Good
-      }
-   }
-}

Copied: projects/ejb3/dev/ejbthree1269/transactions/src/test/java/org/jboss/ejb3/test/tx/instance/unit/InstanceTestCase.java (from rev 72450, projects/ejb3/trunk/transactions/src/test/java/org/jboss/ejb3/test/tx/instance/unit/InstanceTestCase.java)
===================================================================
--- projects/ejb3/dev/ejbthree1269/transactions/src/test/java/org/jboss/ejb3/test/tx/instance/unit/InstanceTestCase.java	                        (rev 0)
+++ projects/ejb3/dev/ejbthree1269/transactions/src/test/java/org/jboss/ejb3/test/tx/instance/unit/InstanceTestCase.java	2008-04-18 17:47:17 UTC (rev 72451)
@@ -0,0 +1,146 @@
+/*
+ * 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.
+ */
+package org.jboss.ejb3.test.tx.instance.unit;
+
+import static org.junit.Assert.fail;
+
+import java.net.URL;
+
+import javax.ejb.EJBException;
+import javax.ejb.EJBTransactionRequiredException;
+import javax.naming.InitialContext;
+import javax.transaction.TransactionManager;
+
+import org.jboss.ejb3.test.tx.common.SimpleContainer;
+import org.jboss.ejb3.test.tx.instance.InstanceTest;
+import org.jboss.ejb3.test.tx.mc.UnitTestBootstrap;
+import org.junit.After;
+import org.junit.AfterClass;
+import org.junit.Before;
+import org.junit.BeforeClass;
+import org.junit.Test;
+
+/**
+ * @author <a href="mailto:carlo.dewolf at jboss.com">Carlo de Wolf</a>
+ * @version $Revision: $
+ */
+public class InstanceTestCase
+{
+   private static UnitTestBootstrap bootstrap;
+   
+   private static URL getResource(String name)
+   {
+      return Thread.currentThread().getContextClassLoader().getResource(name);
+   }
+   
+   @BeforeClass
+   public static void setUpBeforeClass() throws Throwable
+   {
+      bootstrap = new UnitTestBootstrap();
+      bootstrap.deploy(getResource("instance/beans.xml"));
+   }
+
+   @AfterClass
+   public static void tearDownAfterClass() throws Exception
+   {
+      if(bootstrap != null)
+         bootstrap.shutdown();
+   }
+
+   @Before
+   public void setUp() throws Exception
+   {
+   }
+
+   @After
+   public void tearDown() throws Exception
+   {
+   }
+
+   /**
+    * Test whether the stateful bean is still alive after a transaction
+    * guard failure.
+    */
+   @Test
+   public void testInstance() throws Throwable
+   {
+      SimpleContainer container = bootstrap.lookup("TestContainer", SimpleContainer.class);
+      
+      InstanceTest bean = container.constructProxy(InstanceTest.class);
+      
+      InitialContext ctx = new InitialContext();
+      TransactionManager tm = (TransactionManager) ctx.lookup("java:/TransactionManager");
+      tm.begin();
+      try
+      {
+         bean.never();
+         fail("never should not allow a transaction");
+      }
+      catch(EJBException e)
+      {
+         // Good
+      }
+      finally
+      {
+         tm.rollback();
+      }
+      
+      bean.required();
+   }
+   
+   @Test
+   public void testTransactionMandatory() throws Throwable
+   {
+      SimpleContainer container = bootstrap.lookup("TestContainer", SimpleContainer.class);
+      
+      InstanceTest bean = container.constructProxy(InstanceTest.class);
+      
+      InitialContext ctx = new InitialContext();
+      TransactionManager tm = (TransactionManager) ctx.lookup("java:/TransactionManager");
+      tm.begin();
+      try
+      {
+         bean.mandatory();
+      }
+      finally
+      {
+         tm.rollback();
+      }
+   }
+   
+   @Test
+   public void testTransactionMandatoryIllegal() throws Throwable
+   {
+      SimpleContainer container = bootstrap.lookup("TestContainer", SimpleContainer.class);
+      
+      InstanceTest bean = container.constructProxy(InstanceTest.class);
+      try
+      {
+         bean.mandatory();
+         fail("transaction is required");
+      }
+      catch(EJBTransactionRequiredException e)
+      {
+         // Good
+      }
+   }
+}

Copied: projects/ejb3/dev/ejbthree1269/transactions/src/test/java/org/jboss/ejb3/test/tx/mc (from rev 72450, projects/ejb3/trunk/transactions/src/test/java/org/jboss/ejb3/test/tx/mc)

Deleted: projects/ejb3/dev/ejbthree1269/transactions/src/test/java/org/jboss/ejb3/test/tx/mc/UnitTestBootstrap.java
===================================================================
--- projects/ejb3/trunk/transactions/src/test/java/org/jboss/ejb3/test/tx/mc/UnitTestBootstrap.java	2008-04-18 16:36:56 UTC (rev 72450)
+++ projects/ejb3/dev/ejbthree1269/transactions/src/test/java/org/jboss/ejb3/test/tx/mc/UnitTestBootstrap.java	2008-04-18 17:47:17 UTC (rev 72451)
@@ -1,140 +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.
- */
-package org.jboss.ejb3.test.tx.mc;
-
-import java.net.URL;
-
-import org.jboss.dependency.spi.ControllerContext;
-import org.jboss.dependency.spi.ControllerState;
-import org.jboss.kernel.plugins.bootstrap.basic.BasicBootstrap;
-import org.jboss.kernel.plugins.deployment.xml.BasicXMLDeployer;
-import org.jboss.kernel.spi.dependency.KernelController;
-import org.jboss.kernel.spi.deployment.KernelDeployment;
-
-/**
- * @author <a href="mailto:carlo.dewolf at jboss.com">Carlo de Wolf</a>
- * @version $Revision: $
- */
-public class UnitTestBootstrap extends BasicBootstrap
-{
-   /** The deployer */
-   protected BasicXMLDeployer deployer;
-   
-   /**
-    * Create a new bootstrap
-    * 
-    * @throws Throwable 
-    */
-   public UnitTestBootstrap() throws Throwable
-   {
-      super();
-      bootstrap();
-   }
-   
-   protected void bootstrap() throws Throwable
-   {
-      super.bootstrap();
-      
-      deployer = new BasicXMLDeployer(getKernel());
-      
-      /*
-      Runtime.getRuntime().addShutdownHook(new Shutdown());
-      
-      ClassLoader cl = Thread.currentThread().getContextClassLoader();
-      for (Enumeration<URL> e = cl.getResources(StandaloneKernelConstants.DEPLOYMENT_XML_NAME); e.hasMoreElements(); )
-      {
-         URL url = e.nextElement();
-         deploy(url);
-      }
-      for (Enumeration<URL> e = cl.getResources("META-INF/" + StandaloneKernelConstants.DEPLOYMENT_XML_NAME); e.hasMoreElements(); )
-      {
-         URL url = e.nextElement();
-         deploy(url);
-      }
-      
-      // Validate that everything is ok
-      deployer.validate();
-      */
-   }
-   
-   /**
-    * Deploy a url
-    *
-    * @param url the deployment url
-    * @throws Throwable for any error  
-    */
-   public void deploy(URL url) throws Throwable
-   {
-      KernelDeployment deployment = deployer.deploy(url);
-      deployer.validate(deployment);
-   }
-
-   private KernelController getController()
-   {
-      return getKernel().getController();
-   }
-   
-   /**
-    * @param name
-    */
-   public <T> T lookup(String name, Class<T> expectedType) throws Throwable
-   {
-      KernelController controller = getController();
-      ControllerContext context = controller.getContext(name, null);
-      controller.change(context, ControllerState.INSTALLED);
-      if(context.getError() != null)
-         throw context.getError();
-      
-      if(context.getState() != ControllerState.INSTALLED) {
-         System.err.println(context.getDependencyInfo().getUnresolvedDependencies(null));
-      }
-      // TODO: it can be stalled because of dependencies
-      assert context.getState() == ControllerState.INSTALLED;
-      
-      return expectedType.cast(context.getTarget());
-   }
-   
-   /**
-    * Shutdown the UnitBootStrap.
-    */
-   public void shutdown()
-   {
-      deployer.shutdown();
-   }
-   
-   /**
-    * Undeploy a url
-    * 
-    * @param url the deployment url
-    */
-   public void undeploy(URL url)
-   {
-      try
-      {
-         deployer.undeploy(url);
-      }
-      catch (Throwable t)
-      {
-         log.warn("Error during undeployment: " + url, t);
-      }
-   }
-}

Copied: projects/ejb3/dev/ejbthree1269/transactions/src/test/java/org/jboss/ejb3/test/tx/mc/UnitTestBootstrap.java (from rev 72450, projects/ejb3/trunk/transactions/src/test/java/org/jboss/ejb3/test/tx/mc/UnitTestBootstrap.java)
===================================================================
--- projects/ejb3/dev/ejbthree1269/transactions/src/test/java/org/jboss/ejb3/test/tx/mc/UnitTestBootstrap.java	                        (rev 0)
+++ projects/ejb3/dev/ejbthree1269/transactions/src/test/java/org/jboss/ejb3/test/tx/mc/UnitTestBootstrap.java	2008-04-18 17:47:17 UTC (rev 72451)
@@ -0,0 +1,140 @@
+/*
+ * 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.
+ */
+package org.jboss.ejb3.test.tx.mc;
+
+import java.net.URL;
+
+import org.jboss.dependency.spi.ControllerContext;
+import org.jboss.dependency.spi.ControllerState;
+import org.jboss.kernel.plugins.bootstrap.basic.BasicBootstrap;
+import org.jboss.kernel.plugins.deployment.xml.BasicXMLDeployer;
+import org.jboss.kernel.spi.dependency.KernelController;
+import org.jboss.kernel.spi.deployment.KernelDeployment;
+
+/**
+ * @author <a href="mailto:carlo.dewolf at jboss.com">Carlo de Wolf</a>
+ * @version $Revision: $
+ */
+public class UnitTestBootstrap extends BasicBootstrap
+{
+   /** The deployer */
+   protected BasicXMLDeployer deployer;
+   
+   /**
+    * Create a new bootstrap
+    * 
+    * @throws Throwable 
+    */
+   public UnitTestBootstrap() throws Throwable
+   {
+      super();
+      bootstrap();
+   }
+   
+   protected void bootstrap() throws Throwable
+   {
+      super.bootstrap();
+      
+      deployer = new BasicXMLDeployer(getKernel());
+      
+      /*
+      Runtime.getRuntime().addShutdownHook(new Shutdown());
+      
+      ClassLoader cl = Thread.currentThread().getContextClassLoader();
+      for (Enumeration<URL> e = cl.getResources(StandaloneKernelConstants.DEPLOYMENT_XML_NAME); e.hasMoreElements(); )
+      {
+         URL url = e.nextElement();
+         deploy(url);
+      }
+      for (Enumeration<URL> e = cl.getResources("META-INF/" + StandaloneKernelConstants.DEPLOYMENT_XML_NAME); e.hasMoreElements(); )
+      {
+         URL url = e.nextElement();
+         deploy(url);
+      }
+      
+      // Validate that everything is ok
+      deployer.validate();
+      */
+   }
+   
+   /**
+    * Deploy a url
+    *
+    * @param url the deployment url
+    * @throws Throwable for any error  
+    */
+   public void deploy(URL url) throws Throwable
+   {
+      KernelDeployment deployment = deployer.deploy(url);
+      deployer.validate(deployment);
+   }
+
+   private KernelController getController()
+   {
+      return getKernel().getController();
+   }
+   
+   /**
+    * @param name
+    */
+   public <T> T lookup(String name, Class<T> expectedType) throws Throwable
+   {
+      KernelController controller = getController();
+      ControllerContext context = controller.getContext(name, null);
+      controller.change(context, ControllerState.INSTALLED);
+      if(context.getError() != null)
+         throw context.getError();
+      
+      if(context.getState() != ControllerState.INSTALLED) {
+         System.err.println(context.getDependencyInfo().getUnresolvedDependencies(null));
+      }
+      // TODO: it can be stalled because of dependencies
+      assert context.getState() == ControllerState.INSTALLED;
+      
+      return expectedType.cast(context.getTarget());
+   }
+   
+   /**
+    * Shutdown the UnitBootStrap.
+    */
+   public void shutdown()
+   {
+      deployer.shutdown();
+   }
+   
+   /**
+    * Undeploy a url
+    * 
+    * @param url the deployment url
+    */
+   public void undeploy(URL url)
+   {
+      try
+      {
+         deployer.undeploy(url);
+      }
+      catch (Throwable t)
+      {
+         log.warn("Error during undeployment: " + url, t);
+      }
+   }
+}

Copied: projects/ejb3/dev/ejbthree1269/transactions/src/test/resources (from rev 72450, projects/ejb3/trunk/transactions/src/test/resources)

Copied: projects/ejb3/dev/ejbthree1269/transactions/src/test/resources/instance (from rev 72450, projects/ejb3/trunk/transactions/src/test/resources/instance)

Deleted: projects/ejb3/dev/ejbthree1269/transactions/src/test/resources/instance/beans.xml
===================================================================
--- projects/ejb3/trunk/transactions/src/test/resources/instance/beans.xml	2008-04-18 16:36:56 UTC (rev 72450)
+++ projects/ejb3/dev/ejbthree1269/transactions/src/test/resources/instance/beans.xml	2008-04-18 17:47:17 UTC (rev 72451)
@@ -1,66 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<deployment xmlns="urn:jboss:bean-deployer:2.0">
-   <bean name="SimpleClassLoaderDeployer" class="org.jboss.ejb3.test.tx.common.SimpleClassLoaderDeployer"/>
-   
-   <bean name="AspectManager" class="org.jboss.aop.AspectManager">
-      <constructor factoryClass="org.jboss.aop.AspectManager" factoryMethod="instance"/>
-   </bean>
-   
-   <bean name="AspectAppParsingDeployer" class="org.jboss.aop.deployers.AspectAppParsingDeployer"/>
-   <bean name="AspectDeployer" class="org.jboss.aop.deployers.AspectDeployer">
-      <property name="type">aop</property>
-      <property name="aspectManager"><inject bean="AspectManager"/></property>
-   </bean>
-    
-   <!-- The MainDeployer -->
-   <bean name="MainDeployer" class="org.jboss.deployers.plugins.main.MainDeployerImpl">
-      <property name="structuralDeployers"><inject bean="StructuralDeployers"/></property>
-      <property name="deployers"><inject bean="Deployers"/></property>
-      <!--property name="mgtDeploymentCreator"><inject bean="ManagedDeploymentCreator"/></property-->
-   </bean>
-      
-   <!-- The holder for deployers that determine structure -->
-   <bean name="StructuralDeployers" class="org.jboss.deployers.vfs.plugins.structure.VFSStructuralDeployersImpl">
-      <property name="structureBuilder">
-         <!-- The consolidator of the structure information -->
-         <bean name="StructureBuilder" class="org.jboss.deployers.vfs.plugins.structure.VFSStructureBuilder"/>
-      </property>
-      <!-- Accept any implementor of structure deployer -->
-      <incallback method="addDeployer"/>
-      <uncallback method="removeDeployer"/>
-   </bean>
-   
-   <!-- The holder for deployers that do real deployment -->
-   <bean name="Deployers" class="org.jboss.deployers.plugins.deployers.DeployersImpl">
-      <constructor><parameter><inject bean="jboss.kernel:service=KernelController"/></parameter></constructor>
-      <!-- Accept any implementor of deployer -->
-      <incallback method="addDeployer"/>
-      <uncallback method="removeDeployer"/>
-   </bean>
-   
-   <!-- File Structure -->
-   <bean name="FileStructure" class="org.jboss.deployers.vfs.plugins.structure.file.FileStructure"/>
-   
-   <!-- JNDI -->
-   <bean name="NameServer" class="org.jnp.server.SingletonNamingServer"/>
-   
-   <bean name="TransactionManager" class="org.jboss.ejb3.test.tx.common.SimpleTransactionService">
-      <depends>NameServer</depends>
-   </bean>
-   
-   <bean name="AspectDeployment" class="org.jboss.ejb3.test.tx.common.AspectDeployment">
-      <property name="mainDeployer"><inject bean="MainDeployer"/></property>
-      <property name="resource">instance/jboss-aop.xml</property>
-      <depends>TransactionManager</depends>
-   </bean>
-   
-   <bean name="TestContainer" class="org.jboss.ejb3.test.tx.common.SimpleContainer">
-      <constructor>
-         <parameter>TestContainer</parameter>
-         <parameter>Stateful Container</parameter>
-         <parameter>org.jboss.ejb3.test.tx.instance.InstanceTestBean</parameter>
-      </constructor>
-      <depends>AspectDeployment</depends>
-      <depends>TransactionManager</depends>
-   </bean>
-</deployment>
\ No newline at end of file

Copied: projects/ejb3/dev/ejbthree1269/transactions/src/test/resources/instance/beans.xml (from rev 72450, projects/ejb3/trunk/transactions/src/test/resources/instance/beans.xml)
===================================================================
--- projects/ejb3/dev/ejbthree1269/transactions/src/test/resources/instance/beans.xml	                        (rev 0)
+++ projects/ejb3/dev/ejbthree1269/transactions/src/test/resources/instance/beans.xml	2008-04-18 17:47:17 UTC (rev 72451)
@@ -0,0 +1,66 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<deployment xmlns="urn:jboss:bean-deployer:2.0">
+   <bean name="SimpleClassLoaderDeployer" class="org.jboss.ejb3.test.tx.common.SimpleClassLoaderDeployer"/>
+   
+   <bean name="AspectManager" class="org.jboss.aop.AspectManager">
+      <constructor factoryClass="org.jboss.aop.AspectManager" factoryMethod="instance"/>
+   </bean>
+   
+   <bean name="AspectAppParsingDeployer" class="org.jboss.aop.deployers.AspectAppParsingDeployer"/>
+   <bean name="AspectDeployer" class="org.jboss.aop.deployers.AspectDeployer">
+      <property name="type">aop</property>
+      <property name="aspectManager"><inject bean="AspectManager"/></property>
+   </bean>
+    
+   <!-- The MainDeployer -->
+   <bean name="MainDeployer" class="org.jboss.deployers.plugins.main.MainDeployerImpl">
+      <property name="structuralDeployers"><inject bean="StructuralDeployers"/></property>
+      <property name="deployers"><inject bean="Deployers"/></property>
+      <!--property name="mgtDeploymentCreator"><inject bean="ManagedDeploymentCreator"/></property-->
+   </bean>
+      
+   <!-- The holder for deployers that determine structure -->
+   <bean name="StructuralDeployers" class="org.jboss.deployers.vfs.plugins.structure.VFSStructuralDeployersImpl">
+      <property name="structureBuilder">
+         <!-- The consolidator of the structure information -->
+         <bean name="StructureBuilder" class="org.jboss.deployers.vfs.plugins.structure.VFSStructureBuilder"/>
+      </property>
+      <!-- Accept any implementor of structure deployer -->
+      <incallback method="addDeployer"/>
+      <uncallback method="removeDeployer"/>
+   </bean>
+   
+   <!-- The holder for deployers that do real deployment -->
+   <bean name="Deployers" class="org.jboss.deployers.plugins.deployers.DeployersImpl">
+      <constructor><parameter><inject bean="jboss.kernel:service=KernelController"/></parameter></constructor>
+      <!-- Accept any implementor of deployer -->
+      <incallback method="addDeployer"/>
+      <uncallback method="removeDeployer"/>
+   </bean>
+   
+   <!-- File Structure -->
+   <bean name="FileStructure" class="org.jboss.deployers.vfs.plugins.structure.file.FileStructure"/>
+   
+   <!-- JNDI -->
+   <bean name="NameServer" class="org.jnp.server.SingletonNamingServer"/>
+   
+   <bean name="TransactionManager" class="org.jboss.ejb3.test.tx.common.SimpleTransactionService">
+      <depends>NameServer</depends>
+   </bean>
+   
+   <bean name="AspectDeployment" class="org.jboss.ejb3.test.tx.common.AspectDeployment">
+      <property name="mainDeployer"><inject bean="MainDeployer"/></property>
+      <property name="resource">instance/jboss-aop.xml</property>
+      <depends>TransactionManager</depends>
+   </bean>
+   
+   <bean name="TestContainer" class="org.jboss.ejb3.test.tx.common.SimpleContainer">
+      <constructor>
+         <parameter>TestContainer</parameter>
+         <parameter>Stateful Container</parameter>
+         <parameter>org.jboss.ejb3.test.tx.instance.InstanceTestBean</parameter>
+      </constructor>
+      <depends>AspectDeployment</depends>
+      <depends>TransactionManager</depends>
+   </bean>
+</deployment>
\ No newline at end of file

Deleted: projects/ejb3/dev/ejbthree1269/transactions/src/test/resources/instance/jboss-aop.xml
===================================================================
--- projects/ejb3/trunk/transactions/src/test/resources/instance/jboss-aop.xml	2008-04-18 16:36:56 UTC (rev 72450)
+++ projects/ejb3/dev/ejbthree1269/transactions/src/test/resources/instance/jboss-aop.xml	2008-04-18 17:47:17 UTC (rev 72451)
@@ -1,18 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<aop>
-   <interceptor class="org.jboss.ejb3.test.tx.common.StatefulInstanceInterceptor" scope="PER_VM"/>
-   <interceptor factory="org.jboss.ejb3.tx.TxInterceptorFactory" scope="PER_CLASS_JOINPOINT"/>
-    
-   <domain name="Stateful Container">
-      <bind pointcut="execution(public * *->*(..))">
-         <interceptor-ref name="org.jboss.ejb3.test.tx.common.StatefulInstanceInterceptor"/>
-         <!--interceptor-ref name="org.jboss.aspects.tx.TxPropagationInterceptor"/-->
-         <interceptor-ref name="org.jboss.ejb3.tx.TxInterceptorFactory"/>
-      </bind>
-      <!--
-      <bind pointcut="execution(public * $instanceof{javax.ejb.SessionSynchronization}->*(..))">
-         <interceptor-ref name="org.jboss.ejb3.stateful.SessionSynchronizationInterceptor"/>
-      </bind>
-      -->
-   </domain>
-</aop>
\ No newline at end of file

Copied: projects/ejb3/dev/ejbthree1269/transactions/src/test/resources/instance/jboss-aop.xml (from rev 72450, projects/ejb3/trunk/transactions/src/test/resources/instance/jboss-aop.xml)
===================================================================
--- projects/ejb3/dev/ejbthree1269/transactions/src/test/resources/instance/jboss-aop.xml	                        (rev 0)
+++ projects/ejb3/dev/ejbthree1269/transactions/src/test/resources/instance/jboss-aop.xml	2008-04-18 17:47:17 UTC (rev 72451)
@@ -0,0 +1,18 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<aop>
+   <interceptor class="org.jboss.ejb3.test.tx.common.StatefulInstanceInterceptor" scope="PER_VM"/>
+   <interceptor factory="org.jboss.ejb3.tx.TxInterceptorFactory" scope="PER_CLASS_JOINPOINT"/>
+    
+   <domain name="Stateful Container">
+      <bind pointcut="execution(public * *->*(..))">
+         <interceptor-ref name="org.jboss.ejb3.test.tx.common.StatefulInstanceInterceptor"/>
+         <!--interceptor-ref name="org.jboss.aspects.tx.TxPropagationInterceptor"/-->
+         <interceptor-ref name="org.jboss.ejb3.tx.TxInterceptorFactory"/>
+      </bind>
+      <!--
+      <bind pointcut="execution(public * $instanceof{javax.ejb.SessionSynchronization}->*(..))">
+         <interceptor-ref name="org.jboss.ejb3.stateful.SessionSynchronizationInterceptor"/>
+      </bind>
+      -->
+   </domain>
+</aop>
\ No newline at end of file

Deleted: projects/ejb3/dev/ejbthree1269/transactions/src/test/resources/jndi.properties
===================================================================
--- projects/ejb3/trunk/transactions/src/test/resources/jndi.properties	2008-04-18 16:36:56 UTC (rev 72450)
+++ projects/ejb3/dev/ejbthree1269/transactions/src/test/resources/jndi.properties	2008-04-18 17:47:17 UTC (rev 72451)
@@ -1,2 +0,0 @@
-java.naming.factory.initial=org.jnp.interfaces.LocalOnlyContextFactory
-java.naming.factory.url.pkgs=org.jboss.naming:org.jnp.interfaces
\ No newline at end of file

Copied: projects/ejb3/dev/ejbthree1269/transactions/src/test/resources/jndi.properties (from rev 72450, projects/ejb3/trunk/transactions/src/test/resources/jndi.properties)
===================================================================
--- projects/ejb3/dev/ejbthree1269/transactions/src/test/resources/jndi.properties	                        (rev 0)
+++ projects/ejb3/dev/ejbthree1269/transactions/src/test/resources/jndi.properties	2008-04-18 17:47:17 UTC (rev 72451)
@@ -0,0 +1,2 @@
+java.naming.factory.initial=org.jnp.interfaces.LocalOnlyContextFactory
+java.naming.factory.url.pkgs=org.jboss.naming:org.jnp.interfaces
\ No newline at end of file

Deleted: projects/ejb3/dev/ejbthree1269/transactions/src/test/resources/log4j.xml
===================================================================
--- projects/ejb3/trunk/transactions/src/test/resources/log4j.xml	2008-04-18 16:36:56 UTC (rev 72450)
+++ projects/ejb3/dev/ejbthree1269/transactions/src/test/resources/log4j.xml	2008-04-18 17:47:17 UTC (rev 72451)
@@ -1,123 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE log4j:configuration SYSTEM "log4j.dtd">
-
-<!-- ===================================================================== -->
-<!--                                                                       -->
-<!--  Log4j Configuration                                                  -->
-<!--                                                                       -->
-<!-- ===================================================================== -->
-
-<!-- $Id: log4j.xml 69357 2008-01-25 23:13:47Z wolfc $ -->
-
-<!--
-   | For more configuration infromation and examples see the Jakarta Log4j
-   | owebsite: http://jakarta.apache.org/log4j
- -->
-
-<log4j:configuration xmlns:log4j="http://jakarta.apache.org/log4j/" debug="false">
-
-  <!-- ================================= -->
-  <!-- Preserve messages in a local file -->
-  <!-- ================================= -->
-
-  <!-- A time/date based rolling appender -->
-  <appender name="FILE" class="org.jboss.logging.appender.DailyRollingFileAppender">
-    <param name="File" value="target/test.log"/>
-    <param name="Threshold" value="INFO"/>
-    <param name="Append" value="false"/>
-
-    <!-- Rollover at midnight each day -->
-    <param name="DatePattern" value="'.'yyyy-MM-dd"/>
-
-    <!-- Rollover at the top of each hour
-    <param name="DatePattern" value="'.'yyyy-MM-dd-HH"/>
-    -->
-
-    <layout class="org.apache.log4j.PatternLayout">
-      <!-- The default pattern: Date Priority [Category] Message\n -->
-      <param name="ConversionPattern" value="%d %-5p [%c] %m%n"/>
-
-      <!-- The full pattern: Date MS Priority [Category] (Thread:NDC) Message\n
-      <param name="ConversionPattern" value="%d %-5r %-5p [%c] (%t:%x) %m%n"/>
-       -->
-    </layout>	    
-  </appender>
-
-  <!-- A size based file rolling appender
-  <appender name="FILE" class="org.jboss.logging.appender.RollingFileAppender">
-    <param name="File" value="${jboss.server.home.dir}/log/server.log"/>
-    <param name="Append" value="false"/>
-    <param name="MaxFileSize" value="500KB"/>
-    <param name="MaxBackupIndex" value="1"/>
-
-    <layout class="org.apache.log4j.PatternLayout">
-      <param name="ConversionPattern" value="%d %-5p [%c] %m%n"/>
-    </layout>	    
-  </appender>
-  -->
-
-  <!-- ============================== -->
-  <!-- Append messages to the console -->
-  <!-- ============================== -->
-
-  <appender name="CONSOLE" class="org.apache.log4j.ConsoleAppender">
-    <param name="Threshold" value="TRACE"/>
-    <param name="Target" value="System.out"/>
-
-    <layout class="org.apache.log4j.PatternLayout">
-      <!-- The default pattern: Date Priority [Category] Message\n -->
-      <param name="ConversionPattern" value="%d{ABSOLUTE} %-5p [%c{1}] %m%n"/>
-    </layout>
-  </appender>
-
-
-  <!-- ================ -->
-  <!-- Limit categories -->
-  <!-- ================ -->
-
-  <!-- Limit JBoss categories to INFO
-  <category name="org.jboss">
-    <priority value="INFO" class="org.jboss.logging.XLevel"/>
-  </category>
-  -->
-
-  <!-- Increase the priority threshold for the DefaultDS category
-  <category name="DefaultDS">
-    <priority value="FATAL"/>
-  </category>
-  -->
-
-  <!-- Decrease the priority threshold for the org.jboss.varia category
-  <category name="org.jboss.varia">
-    <priority value="DEBUG"/>
-  </category>
-  -->
-
-  <!--
-     | An example of enabling the custom TRACE level priority that is used
-     | by the JBoss internals to diagnose low level details. This example
-     | turns on TRACE level msgs for the org.jboss.ejb.plugins package and its
-     | subpackages. This will produce A LOT of logging output.
-  <category name="org.jboss.system">
-    <priority value="TRACE" class="org.jboss.logging.XLevel"/>
-  </category>
-  -->
-
-  <category name="org.jboss">
-    <priority value="INFO"/>
-  </category>
-  
-  <category name="org.jboss.ejb3.test.sandbox">
-    <priority value="ALL"/>
-  </category>
-  
-  <!-- ======================= -->
-  <!-- Setup the Root category -->
-  <!-- ======================= -->
-
-  <root>
-    <appender-ref ref="CONSOLE"/>
-    <appender-ref ref="FILE"/>
-  </root>
-  
-</log4j:configuration>

Copied: projects/ejb3/dev/ejbthree1269/transactions/src/test/resources/log4j.xml (from rev 72450, projects/ejb3/trunk/transactions/src/test/resources/log4j.xml)
===================================================================
--- projects/ejb3/dev/ejbthree1269/transactions/src/test/resources/log4j.xml	                        (rev 0)
+++ projects/ejb3/dev/ejbthree1269/transactions/src/test/resources/log4j.xml	2008-04-18 17:47:17 UTC (rev 72451)
@@ -0,0 +1,123 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE log4j:configuration SYSTEM "log4j.dtd">
+
+<!-- ===================================================================== -->
+<!--                                                                       -->
+<!--  Log4j Configuration                                                  -->
+<!--                                                                       -->
+<!-- ===================================================================== -->
+
+<!-- $Id: log4j.xml 69357 2008-01-25 23:13:47Z wolfc $ -->
+
+<!--
+   | For more configuration infromation and examples see the Jakarta Log4j
+   | owebsite: http://jakarta.apache.org/log4j
+ -->
+
+<log4j:configuration xmlns:log4j="http://jakarta.apache.org/log4j/" debug="false">
+
+  <!-- ================================= -->
+  <!-- Preserve messages in a local file -->
+  <!-- ================================= -->
+
+  <!-- A time/date based rolling appender -->
+  <appender name="FILE" class="org.jboss.logging.appender.DailyRollingFileAppender">
+    <param name="File" value="target/test.log"/>
+    <param name="Threshold" value="INFO"/>
+    <param name="Append" value="false"/>
+
+    <!-- Rollover at midnight each day -->
+    <param name="DatePattern" value="'.'yyyy-MM-dd"/>
+
+    <!-- Rollover at the top of each hour
+    <param name="DatePattern" value="'.'yyyy-MM-dd-HH"/>
+    -->
+
+    <layout class="org.apache.log4j.PatternLayout">
+      <!-- The default pattern: Date Priority [Category] Message\n -->
+      <param name="ConversionPattern" value="%d %-5p [%c] %m%n"/>
+
+      <!-- The full pattern: Date MS Priority [Category] (Thread:NDC) Message\n
+      <param name="ConversionPattern" value="%d %-5r %-5p [%c] (%t:%x) %m%n"/>
+       -->
+    </layout>	    
+  </appender>
+
+  <!-- A size based file rolling appender
+  <appender name="FILE" class="org.jboss.logging.appender.RollingFileAppender">
+    <param name="File" value="${jboss.server.home.dir}/log/server.log"/>
+    <param name="Append" value="false"/>
+    <param name="MaxFileSize" value="500KB"/>
+    <param name="MaxBackupIndex" value="1"/>
+
+    <layout class="org.apache.log4j.PatternLayout">
+      <param name="ConversionPattern" value="%d %-5p [%c] %m%n"/>
+    </layout>	    
+  </appender>
+  -->
+
+  <!-- ============================== -->
+  <!-- Append messages to the console -->
+  <!-- ============================== -->
+
+  <appender name="CONSOLE" class="org.apache.log4j.ConsoleAppender">
+    <param name="Threshold" value="TRACE"/>
+    <param name="Target" value="System.out"/>
+
+    <layout class="org.apache.log4j.PatternLayout">
+      <!-- The default pattern: Date Priority [Category] Message\n -->
+      <param name="ConversionPattern" value="%d{ABSOLUTE} %-5p [%c{1}] %m%n"/>
+    </layout>
+  </appender>
+
+
+  <!-- ================ -->
+  <!-- Limit categories -->
+  <!-- ================ -->
+
+  <!-- Limit JBoss categories to INFO
+  <category name="org.jboss">
+    <priority value="INFO" class="org.jboss.logging.XLevel"/>
+  </category>
+  -->
+
+  <!-- Increase the priority threshold for the DefaultDS category
+  <category name="DefaultDS">
+    <priority value="FATAL"/>
+  </category>
+  -->
+
+  <!-- Decrease the priority threshold for the org.jboss.varia category
+  <category name="org.jboss.varia">
+    <priority value="DEBUG"/>
+  </category>
+  -->
+
+  <!--
+     | An example of enabling the custom TRACE level priority that is used
+     | by the JBoss internals to diagnose low level details. This example
+     | turns on TRACE level msgs for the org.jboss.ejb.plugins package and its
+     | subpackages. This will produce A LOT of logging output.
+  <category name="org.jboss.system">
+    <priority value="TRACE" class="org.jboss.logging.XLevel"/>
+  </category>
+  -->
+
+  <category name="org.jboss">
+    <priority value="INFO"/>
+  </category>
+  
+  <category name="org.jboss.ejb3.test.sandbox">
+    <priority value="ALL"/>
+  </category>
+  
+  <!-- ======================= -->
+  <!-- Setup the Root category -->
+  <!-- ======================= -->
+
+  <root>
+    <appender-ref ref="CONSOLE"/>
+    <appender-ref ref="FILE"/>
+  </root>
+  
+</log4j:configuration>




More information about the jboss-cvs-commits mailing list