[jboss-cvs] JBossAS SVN: r82651 - in projects/webbeans-ri-int/trunk/jbossas/src/main/java/org/jboss/webbeans/integration/jbossas: ejb and 2 other directories.
jboss-cvs-commits at lists.jboss.org
jboss-cvs-commits at lists.jboss.org
Tue Jan 6 18:53:18 EST 2009
Author: petemuir
Date: 2009-01-06 18:53:16 -0500 (Tue, 06 Jan 2009)
New Revision: 82651
Added:
projects/webbeans-ri-int/trunk/jbossas/src/main/java/org/jboss/webbeans/integration/jbossas/ejb/JBossEjbResolver.java
projects/webbeans-ri-int/trunk/jbossas/src/main/java/org/jboss/webbeans/integration/jbossas/util/JBossEjb.java
Modified:
projects/webbeans-ri-int/trunk/jbossas/src/main/java/org/jboss/webbeans/integration/jbossas/bootstrap/WebBeanDiscoveryImpl.java
projects/webbeans-ri-int/trunk/jbossas/src/main/java/org/jboss/webbeans/integration/jbossas/ejb/EjbDiscoveryEnvironment.java
projects/webbeans-ri-int/trunk/jbossas/src/main/java/org/jboss/webbeans/integration/jbossas/ejb/JBossBussinessInterfaceDescriptorAdaptor.java
projects/webbeans-ri-int/trunk/jbossas/src/main/java/org/jboss/webbeans/integration/jbossas/ejb/JBossEJBDescriptorAdaptor.java
projects/webbeans-ri-int/trunk/jbossas/src/main/java/org/jboss/webbeans/integration/jbossas/ejb/JBossMessageDrivenBeanDescriptorAdaptor.java
projects/webbeans-ri-int/trunk/jbossas/src/main/java/org/jboss/webbeans/integration/jbossas/ejb/JBossSessionBeanDescriptorAdaptor.java
projects/webbeans-ri-int/trunk/jbossas/src/main/java/org/jboss/webbeans/integration/jbossas/vdf/FederatedAnnotationEnvironmentVDFConnector.java
Log:
actually commit EjbResolver classes, fix imports from spi refactor
Modified: projects/webbeans-ri-int/trunk/jbossas/src/main/java/org/jboss/webbeans/integration/jbossas/bootstrap/WebBeanDiscoveryImpl.java
===================================================================
--- projects/webbeans-ri-int/trunk/jbossas/src/main/java/org/jboss/webbeans/integration/jbossas/bootstrap/WebBeanDiscoveryImpl.java 2009-01-06 23:47:18 UTC (rev 82650)
+++ projects/webbeans-ri-int/trunk/jbossas/src/main/java/org/jboss/webbeans/integration/jbossas/bootstrap/WebBeanDiscoveryImpl.java 2009-01-06 23:53:16 UTC (rev 82651)
@@ -4,8 +4,8 @@
import javax.servlet.ServletContext;
-import org.jboss.webbeans.bootstrap.spi.EjbDescriptor;
import org.jboss.webbeans.bootstrap.spi.WebBeanDiscovery;
+import org.jboss.webbeans.ejb.spi.EjbDescriptor;
import org.jboss.webbeans.integration.jbossas.ejb.EjbDiscoveryEnvironment;
import org.jboss.webbeans.integration.jbossas.vdf.WebBeanDiscoveryEnvVDFConnector;
import org.jboss.webbeans.integration.microcontainer.deployer.env.WebBeanDiscoveryEnvironment;
Modified: projects/webbeans-ri-int/trunk/jbossas/src/main/java/org/jboss/webbeans/integration/jbossas/ejb/EjbDiscoveryEnvironment.java
===================================================================
--- projects/webbeans-ri-int/trunk/jbossas/src/main/java/org/jboss/webbeans/integration/jbossas/ejb/EjbDiscoveryEnvironment.java 2009-01-06 23:47:18 UTC (rev 82650)
+++ projects/webbeans-ri-int/trunk/jbossas/src/main/java/org/jboss/webbeans/integration/jbossas/ejb/EjbDiscoveryEnvironment.java 2009-01-06 23:53:16 UTC (rev 82651)
@@ -13,7 +13,7 @@
import org.jboss.metadata.ejb.jboss.JBossMessageDrivenBeanMetaData;
import org.jboss.metadata.ejb.jboss.JBossMetaData;
import org.jboss.metadata.ejb.jboss.JBossSessionBeanMetaData;
-import org.jboss.webbeans.bootstrap.spi.EjbDescriptor;
+import org.jboss.webbeans.ejb.spi.EjbDescriptor;
import org.jboss.webbeans.integration.jbossas.util.JBossEjb;
import org.jboss.webbeans.integration.jbossas.vdf.KernelControllerVDFConnector;
import org.jboss.webbeans.integration.jbossas.vdf.VFSDeploymentUnitVDFConnector;
Modified: projects/webbeans-ri-int/trunk/jbossas/src/main/java/org/jboss/webbeans/integration/jbossas/ejb/JBossBussinessInterfaceDescriptorAdaptor.java
===================================================================
--- projects/webbeans-ri-int/trunk/jbossas/src/main/java/org/jboss/webbeans/integration/jbossas/ejb/JBossBussinessInterfaceDescriptorAdaptor.java 2009-01-06 23:47:18 UTC (rev 82650)
+++ projects/webbeans-ri-int/trunk/jbossas/src/main/java/org/jboss/webbeans/integration/jbossas/ejb/JBossBussinessInterfaceDescriptorAdaptor.java 2009-01-06 23:53:16 UTC (rev 82651)
@@ -3,7 +3,7 @@
import org.jboss.deployers.structure.spi.DeploymentUnit;
import org.jboss.ejb3.common.resolvers.spi.EjbReference;
import org.jboss.ejb3.common.resolvers.spi.EjbReferenceResolver;
-import org.jboss.webbeans.bootstrap.spi.BusinessInterfaceDescriptor;
+import org.jboss.webbeans.ejb.spi.BusinessInterfaceDescriptor;
import org.jboss.webbeans.integration.jbossas.util.Reflections;
public class JBossBussinessInterfaceDescriptorAdaptor<T> implements BusinessInterfaceDescriptor<T>
Modified: projects/webbeans-ri-int/trunk/jbossas/src/main/java/org/jboss/webbeans/integration/jbossas/ejb/JBossEJBDescriptorAdaptor.java
===================================================================
--- projects/webbeans-ri-int/trunk/jbossas/src/main/java/org/jboss/webbeans/integration/jbossas/ejb/JBossEJBDescriptorAdaptor.java 2009-01-06 23:47:18 UTC (rev 82650)
+++ projects/webbeans-ri-int/trunk/jbossas/src/main/java/org/jboss/webbeans/integration/jbossas/ejb/JBossEJBDescriptorAdaptor.java 2009-01-06 23:53:16 UTC (rev 82651)
@@ -3,7 +3,7 @@
import org.jboss.deployers.structure.spi.DeploymentUnit;
import org.jboss.ejb3.common.resolvers.spi.EjbReferenceResolver;
import org.jboss.metadata.ejb.jboss.JBossEnterpriseBeanMetaData;
-import org.jboss.webbeans.bootstrap.spi.EjbDescriptor;
+import org.jboss.webbeans.ejb.spi.EjbDescriptor;
import org.jboss.webbeans.integration.jbossas.util.Reflections;
public abstract class JBossEJBDescriptorAdaptor<T> implements EjbDescriptor<T>
Added: projects/webbeans-ri-int/trunk/jbossas/src/main/java/org/jboss/webbeans/integration/jbossas/ejb/JBossEjbResolver.java
===================================================================
--- projects/webbeans-ri-int/trunk/jbossas/src/main/java/org/jboss/webbeans/integration/jbossas/ejb/JBossEjbResolver.java (rev 0)
+++ projects/webbeans-ri-int/trunk/jbossas/src/main/java/org/jboss/webbeans/integration/jbossas/ejb/JBossEjbResolver.java 2009-01-06 23:53:16 UTC (rev 82651)
@@ -0,0 +1,75 @@
+package org.jboss.webbeans.integration.jbossas.ejb;
+
+import java.lang.annotation.Annotation;
+
+import javax.ejb.EJB;
+import javax.persistence.PersistenceContext;
+import javax.servlet.ServletContext;
+import javax.webbeans.InjectionPoint;
+
+import org.jboss.deployers.structure.spi.DeploymentUnit;
+import org.jboss.ejb3.common.resolvers.spi.EjbReference;
+import org.jboss.kernel.spi.dependency.KernelController;
+import org.jboss.webbeans.ejb.spi.EjbResolver;
+import org.jboss.webbeans.integration.jbossas.util.JBossEjb;
+import org.jboss.webbeans.integration.jbossas.vdf.KernelControllerVDFConnector;
+import org.jboss.webbeans.integration.jbossas.vdf.VFSDeploymentUnitVDFConnector;
+
+public class JBossEjbResolver implements EjbResolver
+{
+
+ private final DeploymentUnit topLevelDeploymentUnit;
+ private KernelController controller;
+
+ public JBossEjbResolver(ServletContext servletContext)
+ {
+ KernelControllerVDFConnector controllerVDFConnector = new KernelControllerVDFConnector(servletContext);
+ if (controllerVDFConnector.isValid() == false)
+ {
+ throw new IllegalArgumentException("No such KernelController utility: " + servletContext);
+ }
+ controller = controllerVDFConnector.getUtility();
+
+ VFSDeploymentUnitVDFConnector duConnector = new VFSDeploymentUnitVDFConnector(servletContext);
+ if (duConnector.isValid() == false)
+ {
+ throw new IllegalArgumentException("No such DeploymentUnit utility: " + servletContext);
+ }
+ DeploymentUnit du = duConnector.getUtility();
+ topLevelDeploymentUnit = du.getTopLevel();
+ }
+
+ public String resolveEjb(InjectionPoint injectionPoint)
+ {
+ EJB annotation = injectionPoint.getAnnotation(EJB.class);
+ // Get properties from the annotation
+ String beanName = annotation.beanName();
+ String beanInterface = annotation.beanInterface().getName();
+ String mappedName = annotation.mappedName();
+
+ // Supply beanInterface from reflection if not explicitly-defined
+ if (beanInterface == null || beanInterface.equals(Object.class.getName()) && injectionPoint.getType() instanceof Class)
+ {
+ beanInterface = ((Class<?>) injectionPoint.getType()).getName();
+ }
+
+ return JBossEjb.lookupEjbReferenceResolver(controller).resolveEjb(topLevelDeploymentUnit, new EjbReference(beanName, beanInterface, mappedName));
+ }
+
+ public String resolvePersistenceUnit(InjectionPoint injectionPoint)
+ {
+ // TODO Auto-generated method stub
+ return null;
+ }
+
+ public Class<? extends Annotation> getEJBAnnotation()
+ {
+ return EJB.class;
+ }
+
+ public Class<? extends Annotation> getPersistenceContextAnnotation()
+ {
+ return PersistenceContext.class;
+ }
+
+}
Property changes on: projects/webbeans-ri-int/trunk/jbossas/src/main/java/org/jboss/webbeans/integration/jbossas/ejb/JBossEjbResolver.java
___________________________________________________________________
Name: svn:mime-type
+ text/plain
Modified: projects/webbeans-ri-int/trunk/jbossas/src/main/java/org/jboss/webbeans/integration/jbossas/ejb/JBossMessageDrivenBeanDescriptorAdaptor.java
===================================================================
--- projects/webbeans-ri-int/trunk/jbossas/src/main/java/org/jboss/webbeans/integration/jbossas/ejb/JBossMessageDrivenBeanDescriptorAdaptor.java 2009-01-06 23:47:18 UTC (rev 82650)
+++ projects/webbeans-ri-int/trunk/jbossas/src/main/java/org/jboss/webbeans/integration/jbossas/ejb/JBossMessageDrivenBeanDescriptorAdaptor.java 2009-01-06 23:53:16 UTC (rev 82651)
@@ -5,7 +5,7 @@
import org.jboss.deployers.structure.spi.DeploymentUnit;
import org.jboss.ejb3.common.resolvers.spi.EjbReferenceResolver;
import org.jboss.metadata.ejb.jboss.JBossMessageDrivenBeanMetaData;
-import org.jboss.webbeans.bootstrap.spi.BusinessInterfaceDescriptor;
+import org.jboss.webbeans.ejb.spi.BusinessInterfaceDescriptor;
public class JBossMessageDrivenBeanDescriptorAdaptor<T> extends JBossEJBDescriptorAdaptor<T>
{
Modified: projects/webbeans-ri-int/trunk/jbossas/src/main/java/org/jboss/webbeans/integration/jbossas/ejb/JBossSessionBeanDescriptorAdaptor.java
===================================================================
--- projects/webbeans-ri-int/trunk/jbossas/src/main/java/org/jboss/webbeans/integration/jbossas/ejb/JBossSessionBeanDescriptorAdaptor.java 2009-01-06 23:47:18 UTC (rev 82650)
+++ projects/webbeans-ri-int/trunk/jbossas/src/main/java/org/jboss/webbeans/integration/jbossas/ejb/JBossSessionBeanDescriptorAdaptor.java 2009-01-06 23:53:16 UTC (rev 82651)
@@ -8,8 +8,8 @@
import org.jboss.ejb3.common.resolvers.spi.EjbReferenceResolver;
import org.jboss.metadata.ejb.jboss.JBossSessionBeanMetaData;
import org.jboss.metadata.ejb.spec.RemoveMethodMetaData;
-import org.jboss.webbeans.bootstrap.spi.BusinessInterfaceDescriptor;
-import org.jboss.webbeans.bootstrap.spi.EjbDescriptor;
+import org.jboss.webbeans.ejb.spi.BusinessInterfaceDescriptor;
+import org.jboss.webbeans.ejb.spi.EjbDescriptor;
public class JBossSessionBeanDescriptorAdaptor<T> extends JBossEJBDescriptorAdaptor<T> implements EjbDescriptor<T>
{
Added: projects/webbeans-ri-int/trunk/jbossas/src/main/java/org/jboss/webbeans/integration/jbossas/util/JBossEjb.java
===================================================================
--- projects/webbeans-ri-int/trunk/jbossas/src/main/java/org/jboss/webbeans/integration/jbossas/util/JBossEjb.java (rev 0)
+++ projects/webbeans-ri-int/trunk/jbossas/src/main/java/org/jboss/webbeans/integration/jbossas/util/JBossEjb.java 2009-01-06 23:53:16 UTC (rev 82651)
@@ -0,0 +1,94 @@
+package org.jboss.webbeans.integration.jbossas.util;
+
+import org.jboss.dependency.spi.ControllerContext;
+import org.jboss.dependency.spi.ControllerState;
+import org.jboss.ejb3.common.resolvers.spi.EjbReferenceResolver;
+import org.jboss.kernel.spi.dependency.KernelController;
+
+/**
+ * Utitlies for use with JBoss EJB implementation
+ *
+ * @author Pete Muir
+ *
+ */
+public class JBossEjb
+{
+
+ private static class NoSuchInstantiatedBeanException extends IllegalArgumentException
+ {
+
+ public NoSuchInstantiatedBeanException()
+ {
+ super();
+ }
+
+ public NoSuchInstantiatedBeanException(String arg0, Throwable arg1)
+ {
+ super(arg0, arg1);
+ }
+
+ public NoSuchInstantiatedBeanException(String arg0)
+ {
+ super(arg0);
+ }
+
+ public NoSuchInstantiatedBeanException(Throwable arg0)
+ {
+ super(arg0);
+ }
+ }
+
+ private static final String MC_BEAN_NAME_EJB_REFERENCE_RESOLVER = "org.jboss.ejb3.EjbReferenceResolver";
+
+
+ /**
+ * Get the EjbReferenceResolver from the MC controller
+ * @return the EjbReferenceResolver
+ */
+ public static EjbReferenceResolver lookupEjbReferenceResolver(KernelController controller)
+ {
+ try
+ {
+ return (EjbReferenceResolver) lookup(MC_BEAN_NAME_EJB_REFERENCE_RESOLVER, false, controller);
+ }
+ catch (NoSuchInstantiatedBeanException e)
+ {
+ throw new IllegalStateException("EjbReferenceResolver cannot be found, check that you have correctly updated JBoss EJB3");
+ }
+ }
+
+ /**
+ * Get the bean from the MC controller.
+ *
+ * @param name the bean name
+ * @param shouldExist must the bean be present
+ * @return the bean
+ */
+ public static Object lookup(final Object name, boolean shouldExist, KernelController controller)
+ {
+ // Get Controller Context
+ ControllerContext context = controller.getContext(name, ControllerState.INSTANTIATED);
+ if (context == null)
+ {
+ if (shouldExist)
+ {
+ // less restrictive state look
+ ControllerContext cc = controller.getContext(name, null);
+ throw new NoSuchInstantiatedBeanException("No such instantiated bean: " + name + " [" + cc + "]");
+ }
+ else
+ {
+ return null;
+ }
+ }
+
+ // If there's an error with the context, throw it
+ Throwable error = context.getError();
+ if (error != null)
+ throw new RuntimeException("Could not lookup object at name \"" + name + "\" due to an error with the underlying MC context.", error);
+
+ // Return
+ return context.getTarget();
+ }
+
+}
Property changes on: projects/webbeans-ri-int/trunk/jbossas/src/main/java/org/jboss/webbeans/integration/jbossas/util/JBossEjb.java
___________________________________________________________________
Name: svn:mime-type
+ text/plain
Modified: projects/webbeans-ri-int/trunk/jbossas/src/main/java/org/jboss/webbeans/integration/jbossas/vdf/FederatedAnnotationEnvironmentVDFConnector.java
===================================================================
--- projects/webbeans-ri-int/trunk/jbossas/src/main/java/org/jboss/webbeans/integration/jbossas/vdf/FederatedAnnotationEnvironmentVDFConnector.java 2009-01-06 23:47:18 UTC (rev 82650)
+++ projects/webbeans-ri-int/trunk/jbossas/src/main/java/org/jboss/webbeans/integration/jbossas/vdf/FederatedAnnotationEnvironmentVDFConnector.java 2009-01-06 23:53:16 UTC (rev 82651)
@@ -23,6 +23,7 @@
import java.util.ArrayList;
import java.util.List;
+
import javax.servlet.ServletContext;
import org.jboss.deployers.spi.annotations.AnnotationEnvironment;
More information about the jboss-cvs-commits
mailing list