[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