[jboss-cvs] JBossAS SVN: r99385 - in projects/ejb3/trunk/nointerface: src/assembly and 6 other directories.
jboss-cvs-commits at lists.jboss.org
jboss-cvs-commits at lists.jboss.org
Thu Jan 14 03:44:35 EST 2010
Author: jaikiran
Date: 2010-01-14 03:44:34 -0500 (Thu, 14 Jan 2010)
New Revision: 99385
Added:
projects/ejb3/trunk/nointerface/src/main/java/org/jboss/ejb3/nointerface/metadata/
projects/ejb3/trunk/nointerface/src/main/java/org/jboss/ejb3/nointerface/metadata/processor/
projects/ejb3/trunk/nointerface/src/main/java/org/jboss/ejb3/nointerface/metadata/processor/ImplicitNoInterfaceViewMetadataProcessorFactory.java
projects/ejb3/trunk/nointerface/src/main/resources/META-INF/ejb3-nointerface-jboss-beans.xml
Removed:
projects/ejb3/trunk/nointerface/src/main/resources/META-INF/ejb31-nointerface-deployers-jboss-beans.xml
Modified:
projects/ejb3/trunk/nointerface/pom.xml
projects/ejb3/trunk/nointerface/src/assembly/ivy.xml
projects/ejb3/trunk/nointerface/src/assembly/package-assembler.xml
projects/ejb3/trunk/nointerface/src/assembly/package.xml
projects/ejb3/trunk/nointerface/src/main/java/org/jboss/ejb3/nointerface/deployers/EJB3NoInterfaceDeployer.java
projects/ejb3/trunk/nointerface/src/main/java/org/jboss/ejb3/nointerface/mc/NoInterfaceViewJNDIBinder.java
projects/ejb3/trunk/nointerface/src/main/java/org/jboss/ejb3/nointerface/mc/StatefulNoInterfaceJNDIBinder.java
projects/ejb3/trunk/nointerface/src/main/java/org/jboss/ejb3/nointerface/mc/StatelessNoInterfaceJNDIBinder.java
Log:
EJBTHREE-1727 Refactoring of the no-interface implementation
Modified: projects/ejb3/trunk/nointerface/pom.xml
===================================================================
--- projects/ejb3/trunk/nointerface/pom.xml 2010-01-14 06:48:30 UTC (rev 99384)
+++ projects/ejb3/trunk/nointerface/pom.xml 2010-01-14 08:44:34 UTC (rev 99385)
@@ -23,10 +23,13 @@
<properties>
<version.org.jboss.deployers>2.0.8.GA</version.org.jboss.deployers>
+ <version.org.jboss.ejb3_deployers>1.1.0-SNAPSHOT</version.org.jboss.ejb3_deployers>
<version.org.jboss.microcontainer>2.0.8.GA</version.org.jboss.microcontainer>
<version.org.jboss_jbossxb>2.0.1.GA</version.org.jboss_jbossxb>
<version.javassist>3.7.1.GA</version.javassist>
<version.org.jboss.ejb3_jboss-ejb3-test>1.0.0</version.org.jboss.ejb3_jboss-ejb3-test>
+ <version.metadata_ejb>2.0.0-alpha-5</version.metadata_ejb>
+ <version.metadata_ear>2.0.0.Alpha</version.metadata_ear>
</properties>
<build>
@@ -130,15 +133,11 @@
<artifactId>jboss-logging-spi</artifactId>
</dependency>
- <dependency>
- <groupId>org.jboss.javaee</groupId>
- <artifactId>jboss-ejb-api</artifactId>
- </dependency>
-
<!-- JBoss Metadata -->
<dependency>
<groupId>org.jboss.metadata</groupId>
- <artifactId>jboss-metadata</artifactId>
+ <artifactId>jboss-metadata-ejb</artifactId>
+ <version>${version.metadata_ejb}</version>
<exclusions>
<exclusion>
<groupId>org.jboss</groupId>
@@ -159,7 +158,37 @@
</exclusions>
</dependency>
+
+ <!-- JBoss EAR metadata
+ TODO: Try to avoid this. This is only needed (currently)
+ in the EJB3NoInterfaceDeployer which uses JBossAppMetaData to
+ check whether a deployment is an ear file
+ -->
+ <dependency>
+ <groupId>org.jboss.metadata</groupId>
+ <artifactId>jboss-metadata-ear</artifactId>
+ <version>${version.metadata_ear}</version>
+ <exclusions>
+ <exclusion>
+ <groupId>org.jboss</groupId>
+ <artifactId>jbossxb</artifactId>
+ </exclusion>
+ <exclusion>
+ <groupId>org.jboss</groupId>
+ <artifactId>jboss-mdr</artifactId>
+ </exclusion>
+ <exclusion>
+ <groupId>org.jboss</groupId>
+ <artifactId>jboss-reflect</artifactId>
+ </exclusion>
+ <exclusion>
+ <groupId>org.jboss</groupId>
+ <artifactId>jboss-vfs</artifactId>
+ </exclusion>
+ </exclusions>
+ </dependency>
+
<!-- JBoss deployers -->
<dependency>
<groupId>org.jboss.deployers</groupId>
@@ -188,13 +217,27 @@
<artifactId>jboss-ejb3-endpoint</artifactId>
<version>0.1.0</version>
</dependency>
+
+ <dependency>
+ <groupId>org.jboss.ejb3</groupId>
+ <artifactId>jboss-ejb3-deployers</artifactId>
+ <version>${version.org.jboss.ejb3_deployers}</version>
+ <exclusions>
+ <exclusion>
+ <groupId>org.jboss.metadata</groupId>
+ <artifactId>jboss-metadata</artifactId>
+ </exclusion>
+ </exclusions>
+ </dependency>
<!-- The EJB3.1 API support (ex: @LocalBean) -->
<dependency>
<groupId>org.jboss.javaee</groupId>
<artifactId>jboss-ejb-api_3.1</artifactId>
+ <version>1.0-alpha-1</version>
</dependency>
+
<dependency>
<groupId>org.jboss.naming</groupId>
Modified: projects/ejb3/trunk/nointerface/src/assembly/ivy.xml
===================================================================
--- projects/ejb3/trunk/nointerface/src/assembly/ivy.xml 2010-01-14 06:48:30 UTC (rev 99384)
+++ projects/ejb3/trunk/nointerface/src/assembly/ivy.xml 2010-01-14 08:44:34 UTC (rev 99385)
@@ -6,5 +6,9 @@
<!-- We depend on "package" -->
<artifact name="jboss-ejb3-api" type="jar" m:classifier="package"/>
</dependency>
+ <dependency org="org.jboss.ejb3" name="jboss-ejb3-deployers" rev="1.1.0-SNAPSHOT" transitive="false">
+ <!-- We depend on "package" -->
+ <artifact name="jboss-ejb3-deployers" type="jar" m:classifier="package"/>
+ </dependency>
</dependencies>
</ivy-module>
\ No newline at end of file
Modified: projects/ejb3/trunk/nointerface/src/assembly/package-assembler.xml
===================================================================
--- projects/ejb3/trunk/nointerface/src/assembly/package-assembler.xml 2010-01-14 06:48:30 UTC (rev 99384)
+++ projects/ejb3/trunk/nointerface/src/assembly/package-assembler.xml 2010-01-14 08:44:34 UTC (rev 99385)
@@ -12,7 +12,7 @@
<fileSet>
<directory>src/main/resources/META-INF</directory>
<includes>
- <include>ejb31-nointerface-deployers-jboss-beans.xml</include>
+ <include>ejb31-nointerface-jboss-beans.xml</include>
</includes>
<outputDirectory>.</outputDirectory>
</fileSet>
@@ -33,6 +33,7 @@
<useProjectArtifact>true</useProjectArtifact>
<includes>
<include>org.jboss.ejb3:jboss-ejb3-nointerface:jar</include>
+ <include>org.jboss.metadata:jboss-metadata-ejb:jar</include>
</includes>
</dependencySet>
Modified: projects/ejb3/trunk/nointerface/src/assembly/package.xml
===================================================================
--- projects/ejb3/trunk/nointerface/src/assembly/package.xml 2010-01-14 06:48:30 UTC (rev 99384)
+++ projects/ejb3/trunk/nointerface/src/assembly/package.xml 2010-01-14 08:44:34 UTC (rev 99385)
@@ -28,9 +28,11 @@
<!-- Place the ejb3-nointerface jar in common/lib of AS -->
<file name="jboss-ejb3-nointerface.jar" dest-path="common/lib" type="library"/>
+ <file name="jboss-metadata-ejb.jar" dest-path="common/lib" type="library"/>
+
<!-- The xml file containing the nointerface deployers -->
- <file name="ejb31-nointerface-deployers-jboss-beans.xml" dest-path="server/default/deployers" type="config"/>
- <file name="ejb31-nointerface-deployers-jboss-beans.xml" dest-path="server/all/deployers" type="config"/>
+ <file name="ejb31-nointerface-jboss-beans.xml" dest-path="server/default/deployers" type="config"/>
+ <file name="ejb31-nointerface-jboss-beans.xml" dest-path="server/all/deployers" type="config"/>
<dependencies>
<unprocessed-dependencies file="ivy.xml"/>
Modified: projects/ejb3/trunk/nointerface/src/main/java/org/jboss/ejb3/nointerface/deployers/EJB3NoInterfaceDeployer.java
===================================================================
--- projects/ejb3/trunk/nointerface/src/main/java/org/jboss/ejb3/nointerface/deployers/EJB3NoInterfaceDeployer.java 2010-01-14 06:48:30 UTC (rev 99384)
+++ projects/ejb3/trunk/nointerface/src/main/java/org/jboss/ejb3/nointerface/deployers/EJB3NoInterfaceDeployer.java 2010-01-14 08:44:34 UTC (rev 99385)
@@ -42,12 +42,14 @@
import org.jboss.deployers.spi.deployer.DeploymentStages;
import org.jboss.deployers.spi.deployer.helpers.AbstractDeployer;
import org.jboss.deployers.structure.spi.DeploymentUnit;
+import org.jboss.ejb3.deployers.Ejb3MetadataProcessingDeployer;
import org.jboss.ejb3.nointerface.mc.NoInterfaceViewJNDIBinder;
import org.jboss.logging.Logger;
import org.jboss.metadata.ear.jboss.JBossAppMetaData;
import org.jboss.metadata.ejb.jboss.JBossEnterpriseBeanMetaData;
import org.jboss.metadata.ejb.jboss.JBossEnterpriseBeansMetaData;
import org.jboss.metadata.ejb.jboss.JBossMetaData;
+import org.jboss.metadata.ejb.jboss.JBossSessionBean31MetaData;
import org.jboss.metadata.ejb.jboss.JBossSessionBeanMetaData;
/**
@@ -66,6 +68,11 @@
* Logger
*/
private static Logger logger = Logger.getLogger(EJB3NoInterfaceDeployer.class);
+
+ /**
+ * We need processed metadata
+ */
+ private static final String INPUT = Ejb3MetadataProcessingDeployer.OUTPUT;
/**
* Constructor
@@ -74,6 +81,7 @@
{
setStage(DeploymentStages.REAL);
setInput(JBossMetaData.class);
+ addInput(INPUT);
// we deploy MC beans
addOutput(BeanMetaData.class);
@@ -98,7 +106,8 @@
{
logger.trace("Deploying unit " + unit.getName());
}
- JBossMetaData metaData = unit.getAttachment(JBossMetaData.class);
+ // get processed metadata
+ JBossMetaData metaData = unit.getAttachment(INPUT, JBossMetaData.class);
if (metaData == null)
{
if (logger.isTraceEnabled())
@@ -115,8 +124,12 @@
{
logger.trace("Found bean of type session: " + bean.getEjbClass() + " in unit " + unit.getName());
}
- // Process for no-interface view
- deploy(unit, (JBossSessionBeanMetaData) bean);
+ // too bad
+ if (bean instanceof JBossSessionBean31MetaData)
+ {
+ // Process for no-interface view
+ deploy(unit, (JBossSessionBean31MetaData) bean);
+ }
}
}
@@ -136,11 +149,11 @@
* @param sessionBeanMetaData Session bean metadata
* @throws DeploymentException If any exceptions are encountered during processing of the deployment unit
*/
- private void deploy(DeploymentUnit unit, JBossSessionBeanMetaData sessionBeanMetaData) throws DeploymentException
+ private void deploy(DeploymentUnit unit, JBossSessionBean31MetaData sessionBeanMetaData) throws DeploymentException
{
try
{
- if (!isEligibleForNoInterfaceView(unit, sessionBeanMetaData))
+ if (!sessionBeanMetaData.isNoInterfaceBean())
{
if (logger.isTraceEnabled())
{
@@ -168,7 +181,7 @@
// Create the NoInterfaceViewJNDIBinder (MC bean) and add a dependency on the DESCRIBED
// state of the container (endpoint) MC bean
- NoInterfaceViewJNDIBinder noInterfaceViewJNDIBinder = NoInterfaceViewJNDIBinder.getNoInterfaceViewJndiBinder(new InitialContext(), beanClass,
+ NoInterfaceViewJNDIBinder<JBossSessionBean31MetaData> noInterfaceViewJNDIBinder = NoInterfaceViewJNDIBinder.getNoInterfaceViewJndiBinder(new InitialContext(), beanClass,
sessionBeanMetaData);
String noInterfaceViewMCBeanName = unit.getName() + "$" + sessionBeanMetaData.getEjbName();
BeanMetaDataBuilder builder = BeanMetaDataBuilder.createBuilder(noInterfaceViewMCBeanName, noInterfaceViewJNDIBinder.getClass()
Modified: projects/ejb3/trunk/nointerface/src/main/java/org/jboss/ejb3/nointerface/mc/NoInterfaceViewJNDIBinder.java
===================================================================
--- projects/ejb3/trunk/nointerface/src/main/java/org/jboss/ejb3/nointerface/mc/NoInterfaceViewJNDIBinder.java 2010-01-14 06:48:30 UTC (rev 99384)
+++ projects/ejb3/trunk/nointerface/src/main/java/org/jboss/ejb3/nointerface/mc/NoInterfaceViewJNDIBinder.java 2010-01-14 08:44:34 UTC (rev 99385)
@@ -30,7 +30,11 @@
import org.jboss.beans.metadata.api.model.FromContext;
import org.jboss.kernel.spi.dependency.KernelControllerContext;
import org.jboss.logging.Logger;
-import org.jboss.metadata.ejb.jboss.JBossSessionBeanMetaData;
+import org.jboss.metadata.ejb.jboss.JBossSessionBean31MetaData;
+import org.jboss.metadata.ejb.jboss.jndi.resolver.impl.JNDIPolicyBasedJNDINameResolverFactory;
+import org.jboss.metadata.ejb.jboss.jndi.resolver.spi.SessionBean31JNDINameResolver;
+import org.jboss.metadata.ejb.jboss.jndipolicy.plugins.DefaultJNDIBindingPolicyFactory;
+import org.jboss.metadata.ejb.jboss.jndipolicy.spi.DefaultJndiBindingPolicy;
/**
* NoInterfaceViewJNDIBinder
@@ -45,7 +49,7 @@
* @author Jaikiran Pai
* @version $Revision: $
*/
-public abstract class NoInterfaceViewJNDIBinder
+public abstract class NoInterfaceViewJNDIBinder<T extends JBossSessionBean31MetaData>
{
/**
@@ -72,20 +76,18 @@
/**
* The bean metadata
*/
- protected JBossSessionBeanMetaData sessionBeanMetadata;
+ protected T sessionBeanMetadata;
/**
* JNDI naming context
*/
protected Context jndiCtx;
+
/**
- * Suffix to be added to the ejb-name to form the jndi name of no-interface view
- *
- * TODO: Until the no-interface jndi-name comes from metadata, we need to hardcode the jndi-name
- *
+ * JNDI name resolver for the bean
*/
- protected static final String NO_INTERFACE_JNDI_SUFFIX = "/no-interface";
+ private SessionBean31JNDINameResolver jndiNameResolver;
/**
* Returns an appropriate instance of {@link NoInterfaceViewJNDIBinder} based on the
@@ -97,12 +99,11 @@
* @param sessionBeanMetadata Session bean metadata of the bean class
* @return
*/
- public static NoInterfaceViewJNDIBinder getNoInterfaceViewJndiBinder(Context ctx, Class<?> beanClass,
- JBossSessionBeanMetaData sessionBeanMetadata)
+ public static <T extends JBossSessionBean31MetaData> NoInterfaceViewJNDIBinder<T> getNoInterfaceViewJndiBinder(
+ Context ctx, Class<?> beanClass, T sessionBeanMetadata)
{
- return sessionBeanMetadata.isStateful()
- ? new StatefulNoInterfaceJNDIBinder(ctx, beanClass, sessionBeanMetadata)
- : new StatelessNoInterfaceJNDIBinder(ctx, beanClass, sessionBeanMetadata);
+ return sessionBeanMetadata.isStateful() ? new StatefulNoInterfaceJNDIBinder<T>(ctx, beanClass,
+ sessionBeanMetadata) : new StatelessNoInterfaceJNDIBinder<T>(ctx, beanClass, sessionBeanMetadata);
}
/**
@@ -111,7 +112,7 @@
* @param beanClass
* @param sessionBeanMetadata
*/
- protected NoInterfaceViewJNDIBinder(Context ctx, Class<?> beanClass, JBossSessionBeanMetaData sessionBeanMetadata)
+ protected NoInterfaceViewJNDIBinder(Context ctx, Class<?> beanClass, T sessionBeanMetadata)
{
this.jndiCtx = ctx;
this.beanClass = beanClass;
@@ -183,4 +184,18 @@
}
+ /**
+ * Returns the jndi name resolver, which will be responsible for returning the
+ * appropriate jndi names for various views of the session bean
+ * @return
+ */
+ protected SessionBean31JNDINameResolver getJNDINameResolver()
+ {
+ if (this.jndiNameResolver != null)
+ {
+ return this.jndiNameResolver;
+ }
+ DefaultJndiBindingPolicy jndiBindingPolicy = DefaultJNDIBindingPolicyFactory.getDefaultJNDIBindingPolicy();
+ return JNDIPolicyBasedJNDINameResolverFactory.getJNDINameResolver(this.sessionBeanMetadata, jndiBindingPolicy);
+ }
}
Modified: projects/ejb3/trunk/nointerface/src/main/java/org/jboss/ejb3/nointerface/mc/StatefulNoInterfaceJNDIBinder.java
===================================================================
--- projects/ejb3/trunk/nointerface/src/main/java/org/jboss/ejb3/nointerface/mc/StatefulNoInterfaceJNDIBinder.java 2010-01-14 06:48:30 UTC (rev 99384)
+++ projects/ejb3/trunk/nointerface/src/main/java/org/jboss/ejb3/nointerface/mc/StatefulNoInterfaceJNDIBinder.java 2010-01-14 08:44:34 UTC (rev 99385)
@@ -31,7 +31,7 @@
import org.jboss.ejb3.nointerface.objectfactory.NoInterfaceViewProxyFactoryRefAddrTypes;
import org.jboss.ejb3.nointerface.objectfactory.StatefulNoInterfaceViewObjectFactory;
import org.jboss.logging.Logger;
-import org.jboss.metadata.ejb.jboss.JBossSessionBeanMetaData;
+import org.jboss.metadata.ejb.jboss.JBossSessionBean31MetaData;
import org.jboss.util.naming.NonSerializableFactory;
/**
@@ -43,7 +43,7 @@
* @author Jaikiran Pai
* @version $Revision: $
*/
-public class StatefulNoInterfaceJNDIBinder extends NoInterfaceViewJNDIBinder
+public class StatefulNoInterfaceJNDIBinder<T extends JBossSessionBean31MetaData> extends NoInterfaceViewJNDIBinder<T>
{
/**
@@ -63,7 +63,7 @@
* @param beanClass The bean class
* @param sessionBeanMetadata Metadata of the bean
*/
- protected StatefulNoInterfaceJNDIBinder(Context ctx, Class<?> beanClass, JBossSessionBeanMetaData sessionBeanMetadata)
+ protected StatefulNoInterfaceJNDIBinder(Context ctx, Class<?> beanClass, T sessionBeanMetadata)
{
super(ctx, beanClass, sessionBeanMetadata);
@@ -108,9 +108,7 @@
// add this refaddr to the reference which will be bound to jndi
reference.add(refAddr);
- // TODO: Again, the jndi-names for the no-interface view are a mess now. They need to come from
- // the metadata. Let's just go ahead temporarily
- String noInterfaceJndiName = sessionBeanMetadata.getEjbName() + NO_INTERFACE_JNDI_SUFFIX;
+ String noInterfaceJndiName = this.getJNDINameResolver().resolveNoInterfaceJNDIName(this.sessionBeanMetadata);
this.jndiCtx.bind(noInterfaceJndiName, reference);
logger.info("Bound the no-interface view for bean " + beanClass + " to jndi at " + noInterfaceJndiName);
@@ -125,7 +123,8 @@
@Override
public void unbindNoInterfaceView() throws NamingException
{
- this.jndiCtx.unbind(this.sessionBeanMetadata.getEjbName() + NO_INTERFACE_JNDI_SUFFIX);
+ String noInterfaceJndiName = this.getJNDINameResolver().resolveNoInterfaceJNDIName(this.sessionBeanMetadata);
+ this.jndiCtx.unbind(noInterfaceJndiName);
this.jndiCtx.unbind(this.sessionBeanMetadata.getEjbName() + NO_INTERFACE_STATEFUL_PROXY_FACTORY_JNDI_NAME_SUFFIX);
}
Modified: projects/ejb3/trunk/nointerface/src/main/java/org/jboss/ejb3/nointerface/mc/StatelessNoInterfaceJNDIBinder.java
===================================================================
--- projects/ejb3/trunk/nointerface/src/main/java/org/jboss/ejb3/nointerface/mc/StatelessNoInterfaceJNDIBinder.java 2010-01-14 06:48:30 UTC (rev 99384)
+++ projects/ejb3/trunk/nointerface/src/main/java/org/jboss/ejb3/nointerface/mc/StatelessNoInterfaceJNDIBinder.java 2010-01-14 08:44:34 UTC (rev 99385)
@@ -30,7 +30,7 @@
import org.jboss.ejb3.nointerface.factory.NoInterfaceViewFactory;
import org.jboss.ejb3.nointerface.invocationhandler.MCAwareNoInterfaceViewInvocationHandler;
import org.jboss.logging.Logger;
-import org.jboss.metadata.ejb.jboss.JBossSessionBeanMetaData;
+import org.jboss.metadata.ejb.jboss.JBossSessionBean31MetaData;
import org.jboss.util.naming.NonSerializableFactory;
/**
@@ -42,7 +42,7 @@
* @author Jaikiran Pai
* @version $Revision: $
*/
-public class StatelessNoInterfaceJNDIBinder extends NoInterfaceViewJNDIBinder
+public class StatelessNoInterfaceJNDIBinder<T extends JBossSessionBean31MetaData> extends NoInterfaceViewJNDIBinder<T>
{
/**
@@ -57,7 +57,7 @@
* @param beanClass
* @param sessionBeanMetadata
*/
- protected StatelessNoInterfaceJNDIBinder(Context ctx, Class<?> beanClass, JBossSessionBeanMetaData sessionBeanMetadata)
+ protected StatelessNoInterfaceJNDIBinder(Context ctx, Class<?> beanClass, T sessionBeanMetadata)
{
super(ctx, beanClass, sessionBeanMetadata);
}
@@ -86,9 +86,7 @@
throw new RuntimeException("Could not create no-interface view for bean class: " + beanClass, e);
}
// bind
- // TODO: Again, the jndi-names for the no-interface view are a mess now. They need to come from
- // the metadata. Let's just go ahead temporarily
- String noInterfaceJndiName = sessionBeanMetadata.getEjbName() + NO_INTERFACE_JNDI_SUFFIX;
+ String noInterfaceJndiName = this.getJNDINameResolver().resolveNoInterfaceJNDIName(this.sessionBeanMetadata);
NonSerializableFactory.rebind(this.jndiCtx, noInterfaceJndiName, noInterfaceView, true);
logger.info("Bound the no-interface view for bean " + beanClass + " to jndi at " + noInterfaceJndiName);
@@ -103,7 +101,8 @@
@Override
public void unbindNoInterfaceView() throws NamingException
{
- this.jndiCtx.unbind(this.sessionBeanMetadata.getEjbName() + NO_INTERFACE_JNDI_SUFFIX);
+ String noInterfaceJndiName = this.getJNDINameResolver().resolveNoInterfaceJNDIName(this.sessionBeanMetadata);
+ this.jndiCtx.unbind(noInterfaceJndiName);
}
Added: projects/ejb3/trunk/nointerface/src/main/java/org/jboss/ejb3/nointerface/metadata/processor/ImplicitNoInterfaceViewMetadataProcessorFactory.java
===================================================================
--- projects/ejb3/trunk/nointerface/src/main/java/org/jboss/ejb3/nointerface/metadata/processor/ImplicitNoInterfaceViewMetadataProcessorFactory.java (rev 0)
+++ projects/ejb3/trunk/nointerface/src/main/java/org/jboss/ejb3/nointerface/metadata/processor/ImplicitNoInterfaceViewMetadataProcessorFactory.java 2010-01-14 08:44:34 UTC (rev 99385)
@@ -0,0 +1,54 @@
+/*
+* 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.nointerface.metadata.processor;
+
+import org.jboss.deployers.structure.spi.DeploymentUnit;
+import org.jboss.ejb3.deployers.metadata.processor.JBossMetaDataProcessorFactory;
+import org.jboss.metadata.ejb.jboss.JBossMetaData;
+import org.jboss.metadata.process.processor.JBossMetaDataProcessor;
+import org.jboss.metadata.process.processor.ejb.jboss.ImplicitNoInterfaceViewProcessor;
+
+
+
+/**
+ * ImplicitNoInterfaceViewMetadataProcessorFactory
+ *
+ * Responsible for creating a {@link ImplicitNoInterfaceViewProcessor} for
+ * processing the metadata with implicit nointerface bean rules (as defined in spec)
+ *
+ * @author Jaikiran Pai
+ * @version $Revision: $
+ */
+public class ImplicitNoInterfaceViewMetadataProcessorFactory implements JBossMetaDataProcessorFactory<JBossMetaData>
+{
+
+ /**
+ * @see org.jboss.ejb3.deployers.metadata.processor.JBossMetaDataProcessorFactory#create(org.jboss.deployers.structure.spi.DeploymentUnit)
+ * @throws NullPointerException If <code>deploymentUnit</code> is null
+ */
+ @Override
+ public JBossMetaDataProcessor<JBossMetaData> create(DeploymentUnit deploymentUnit)
+ {
+ return new ImplicitNoInterfaceViewProcessor(deploymentUnit.getClassLoader());
+ }
+
+}
Added: projects/ejb3/trunk/nointerface/src/main/resources/META-INF/ejb3-nointerface-jboss-beans.xml
===================================================================
--- projects/ejb3/trunk/nointerface/src/main/resources/META-INF/ejb3-nointerface-jboss-beans.xml (rev 0)
+++ projects/ejb3/trunk/nointerface/src/main/resources/META-INF/ejb3-nointerface-jboss-beans.xml 2010-01-14 08:44:34 UTC (rev 99385)
@@ -0,0 +1,14 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<deployment xmlns="urn:jboss:bean-deployer:2.0">
+
+ <!-- No-interface view deployer - works on JBossMetadata and creates a NoInterfaceMCBean -->
+ <bean name="Ejb3NoInterfaceViewDeployer" class="org.jboss.ejb3.nointerface.deployers.EJB3NoInterfaceDeployer"/>
+
+ <!-- A metadata processor factory responsible for creating a processor to apply implicit
+ nointerface bean rules (as defined by spec) on merged metadata. This processor factory
+ will be picked up by the Ejb3MetadataProcessingDeployer and added to a chain of processor factories -->
+ <bean name="ImplicitNoInterfaceViewMetadataProcessorFactory"
+ class="org.jboss.ejb3.nointerface.metadata.processor.ImplicitNoInterfaceViewMetadataProcessorFactory"/>
+
+</deployment>
\ No newline at end of file
Deleted: projects/ejb3/trunk/nointerface/src/main/resources/META-INF/ejb31-nointerface-deployers-jboss-beans.xml
===================================================================
--- projects/ejb3/trunk/nointerface/src/main/resources/META-INF/ejb31-nointerface-deployers-jboss-beans.xml 2010-01-14 06:48:30 UTC (rev 99384)
+++ projects/ejb3/trunk/nointerface/src/main/resources/META-INF/ejb31-nointerface-deployers-jboss-beans.xml 2010-01-14 08:44:34 UTC (rev 99385)
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-
-<deployment xmlns="urn:jboss:bean-deployer:2.0">
-
- <!-- No-interface view deployer - works on JBossMetadata and creates a NoInterfaceMCBean -->
- <bean name="Ejb3NoInterfaceViewDeployer" class="org.jboss.ejb3.nointerface.deployers.EJB3NoInterfaceDeployer"/>
-
-</deployment>
\ No newline at end of file
More information about the jboss-cvs-commits
mailing list