[jboss-cvs] JBossAS SVN: r82671 - projects/webbeans-ri-int/trunk/microcontainer/src/main/java/org/jboss/webbeans/integration/microcontainer/deployer/metadata.
jboss-cvs-commits at lists.jboss.org
jboss-cvs-commits at lists.jboss.org
Wed Jan 7 13:08:56 EST 2009
Author: petemuir
Date: 2009-01-07 13:08:56 -0500 (Wed, 07 Jan 2009)
New Revision: 82671
Modified:
projects/webbeans-ri-int/trunk/microcontainer/src/main/java/org/jboss/webbeans/integration/microcontainer/deployer/metadata/WBEjbInterceptorMetadataDeployer.java
Log:
WBRI-86: Add interceptor binding
Modified: projects/webbeans-ri-int/trunk/microcontainer/src/main/java/org/jboss/webbeans/integration/microcontainer/deployer/metadata/WBEjbInterceptorMetadataDeployer.java
===================================================================
--- projects/webbeans-ri-int/trunk/microcontainer/src/main/java/org/jboss/webbeans/integration/microcontainer/deployer/metadata/WBEjbInterceptorMetadataDeployer.java 2009-01-07 18:05:36 UTC (rev 82670)
+++ projects/webbeans-ri-int/trunk/microcontainer/src/main/java/org/jboss/webbeans/integration/microcontainer/deployer/metadata/WBEjbInterceptorMetadataDeployer.java 2009-01-07 18:08:56 UTC (rev 82671)
@@ -25,9 +25,13 @@
import org.jboss.deployers.spi.deployer.DeploymentStages;
import org.jboss.deployers.vfs.spi.deployer.AbstractVFSRealDeployer;
import org.jboss.deployers.vfs.spi.structure.VFSDeploymentUnit;
+import org.jboss.metadata.ejb.jboss.JBossAssemblyDescriptorMetaData;
import org.jboss.metadata.ejb.jboss.JBossMetaData;
import org.jboss.metadata.ejb.spec.EjbJar30MetaData;
import org.jboss.metadata.ejb.spec.EjbJar3xMetaData;
+import org.jboss.metadata.ejb.spec.InterceptorBindingMetaData;
+import org.jboss.metadata.ejb.spec.InterceptorBindingsMetaData;
+import org.jboss.metadata.ejb.spec.InterceptorClassesMetaData;
import org.jboss.metadata.ejb.spec.InterceptorMetaData;
import org.jboss.metadata.ejb.spec.InterceptorsMetaData;
import org.jboss.webbeans.integration.microcontainer.deployer.ext.JBossWebBeansMetaData;
@@ -40,6 +44,9 @@
@SuppressWarnings("deprecation")
public class WBEjbInterceptorMetadataDeployer extends AbstractVFSRealDeployer
{
+
+ private static final String INTERCEPTOR_CLASS_NAME = "org.jboss.webbeans.ejb.SessionBeanInterceptor";
+
private InterceptorMetaData SBI;
public WBEjbInterceptorMetadataDeployer()
@@ -51,7 +58,7 @@
setStage(DeploymentStages.POST_CLASSLOADER);
// create interceptor metadata instance
SBI = new InterceptorMetaData();
- SBI.setInterceptorClass("org.jboss.webbeans.ejb.SessionBeanInterceptor");
+ SBI.setInterceptorClass(INTERCEPTOR_CLASS_NAME);
}
public void deploy(VFSDeploymentUnit unit) throws DeploymentException
@@ -66,12 +73,41 @@
imd.add(SBI);
EjbJar3xMetaData ejmd = new EjbJar30MetaData();
ejmd.setInterceptors(imd);
+
jbmd.merge(null, ejmd);
}
else
{
interceptors.add(SBI);
}
+
+ JBossAssemblyDescriptorMetaData assemblyDescriptor = jbmd.getAssemblyDescriptor();
+ if (assemblyDescriptor == null)
+ {
+ assemblyDescriptor = new JBossAssemblyDescriptorMetaData();
+ jbmd.setAssemblyDescriptor(assemblyDescriptor);
+ }
+ bindInterceptorToEjbs(assemblyDescriptor);
}
}
+
+ private void bindInterceptorToEjbs(JBossAssemblyDescriptorMetaData assemblyDescriptor)
+ {
+ InterceptorBindingMetaData interceptorBinding = new InterceptorBindingMetaData();
+ InterceptorClassesMetaData interceptorClasses = new InterceptorClassesMetaData();
+ interceptorClasses.add(INTERCEPTOR_CLASS_NAME);
+ interceptorBinding.setInterceptorClasses(interceptorClasses);
+ interceptorBinding.setEjbName("*");
+ if (assemblyDescriptor.getInterceptorBindings() == null)
+ {
+ InterceptorBindingsMetaData interceptorBindings = new InterceptorBindingsMetaData();
+ interceptorBindings.add(interceptorBinding);
+ assemblyDescriptor.setInterceptorBindings(interceptorBindings);
+ }
+ else
+ {
+ assemblyDescriptor.getInterceptorBindings().add(interceptorBinding);
+ }
+ }
+
}
\ No newline at end of file
More information about the jboss-cvs-commits
mailing list