[jboss-cvs] JBossAS SVN: r87142 - in projects/webbeans-ri-int/trunk: deployer/src/main/java/org/jboss/webbeans/integration/deployer/env and 7 other directories.

jboss-cvs-commits at lists.jboss.org jboss-cvs-commits at lists.jboss.org
Fri Apr 10 15:36:25 EDT 2009


Author: petemuir
Date: 2009-04-10 15:36:24 -0400 (Fri, 10 Apr 2009)
New Revision: 87142

Added:
   projects/webbeans-ri-int/trunk/ejb/src/main/java/org/jboss/webbeans/integration/messaging/
   projects/webbeans-ri-int/trunk/ejb/src/main/java/org/jboss/webbeans/integration/messaging/JBossJmsServices.java
   projects/webbeans-ri-int/trunk/ejb/src/main/java/org/jboss/webbeans/integration/persistence/
   projects/webbeans-ri-int/trunk/ejb/src/main/java/org/jboss/webbeans/integration/persistence/JBossJpaServices.java
   projects/webbeans-ri-int/trunk/ejb/src/main/java/org/jboss/webbeans/integration/resource/
   projects/webbeans-ri-int/trunk/ejb/src/main/java/org/jboss/webbeans/integration/resource/JBossResourceServices.java
   projects/webbeans-ri-int/trunk/ejb/src/main/java/org/jboss/webbeans/integration/util/
   projects/webbeans-ri-int/trunk/ejb/src/main/java/org/jboss/webbeans/integration/util/AbstractJBossServices.java
   projects/webbeans-ri-int/trunk/ejb/src/main/java/org/jboss/webbeans/integration/ws/
   projects/webbeans-ri-int/trunk/ejb/src/main/java/org/jboss/webbeans/integration/ws/JBossWebServices.java
Removed:
   projects/webbeans-ri-int/trunk/ejb/src/main/java/org/jboss/webbeans/integration/ejb/AbstractJBossServices.java
   projects/webbeans-ri-int/trunk/ejb/src/main/java/org/jboss/webbeans/integration/ejb/JBossJpaServices.java
   projects/webbeans-ri-int/trunk/ejb/src/main/java/org/jboss/webbeans/integration/ejb/JBossResourceServices.java
   projects/webbeans-ri-int/trunk/ejb/src/main/java/org/jboss/webbeans/integration/ejb/JBossWebServices.java
   projects/webbeans-ri-int/trunk/ejb/src/main/java/org/jboss/webbeans/integration/ejb/util/
Modified:
   projects/webbeans-ri-int/trunk/deployer/src/main/assembly/resources/META-INF/webbeans-ejb-jboss-beans.xml
   projects/webbeans-ri-int/trunk/deployer/src/main/java/org/jboss/webbeans/integration/deployer/env/WebBeansBootstrapDeployer.java
   projects/webbeans-ri-int/trunk/ejb/src/main/java/org/jboss/webbeans/integration/ejb/JBossBussinessInterfaceDescriptorAdaptor.java
   projects/webbeans-ri-int/trunk/ejb/src/main/java/org/jboss/webbeans/integration/ejb/JBossEJBDescriptorAdaptor.java
   projects/webbeans-ri-int/trunk/ejb/src/main/java/org/jboss/webbeans/integration/ejb/JBossEjbServices.java
   projects/webbeans-ri-int/trunk/ejb/src/main/java/org/jboss/webbeans/integration/ejb/JBossSessionBeanDescriptorAdaptor.java
   projects/webbeans-ri-int/trunk/ejb/src/main/java/org/jboss/webbeans/integration/util/JBossEjb.java
   projects/webbeans-ri-int/trunk/ejb/src/main/java/org/jboss/webbeans/integration/util/Reflections.java
Log:
Add Jms beans

Modified: projects/webbeans-ri-int/trunk/deployer/src/main/assembly/resources/META-INF/webbeans-ejb-jboss-beans.xml
===================================================================
--- projects/webbeans-ri-int/trunk/deployer/src/main/assembly/resources/META-INF/webbeans-ejb-jboss-beans.xml	2009-04-10 19:27:58 UTC (rev 87141)
+++ projects/webbeans-ri-int/trunk/deployer/src/main/assembly/resources/META-INF/webbeans-ejb-jboss-beans.xml	2009-04-10 19:36:24 UTC (rev 87142)
@@ -5,22 +5,24 @@
 -->
 <deployment xmlns="urn:jboss:bean-deployer:2.0">
 
-  <bean name="WBJBossEjb" class="org.jboss.webbeans.integration.ejb.util.JBossEjb"/>
+  <bean name="WBJBossEjb" class="org.jboss.webbeans.integration.util.JBossEjb"/>
 
   <beanfactory name="JBossEjbServices" class="org.jboss.webbeans.integration.ejb.JBossEjbServices">
      <property name="resolver"><inject bean="WBJBossEjb" property="resolver"/></property>
      <property name="jbossEjb"><inject bean="WBJBossEjb" /></property>
   </beanfactory>
   
-  <beanfactory name="JBossJpaServices" class="org.jboss.webbeans.integration.ejb.JBossJpaServices">
+  <beanfactory name="JBossJpaServices" class="org.jboss.webbeans.integration.persistence.JBossJpaServices">
      <property name="persistenceUnitDependencyResolver"><inject bean="PersistenceUnitDependencyResolver" /></property>
      <property name="jbossEjb"><inject bean="WBJBossEjb" /></property>
   </beanfactory>
   
-  <bean name="JBossResourceServices" class="org.jboss.webbeans.integration.ejb.JBossResourceServices" />
+  <bean name="JBossResourceServices" class="org.jboss.webbeans.integration.resource.JBossResourceServices" />
   
-  <bean name="JBossWebServices" class="org.jboss.webbeans.integration.ejb.JBossWebServices" />
+  <bean name="JBossWebServices" class="org.jboss.webbeans.integration.ws.JBossWebServices" />
   
+  <bean name="JBossJmsServices" class="org.jboss.webbeans.integration.messaging.JBossJmsServices" />
+  
   <bean name="JBossTransactionServices" class="org.jboss.webbeans.integration.transaction.JBossTransactionServices">
     <property name="transactionManager"><inject bean="RealTransactionManager" option="callback" /></property>     
   </bean>

Modified: projects/webbeans-ri-int/trunk/deployer/src/main/java/org/jboss/webbeans/integration/deployer/env/WebBeansBootstrapDeployer.java
===================================================================
--- projects/webbeans-ri-int/trunk/deployer/src/main/java/org/jboss/webbeans/integration/deployer/env/WebBeansBootstrapDeployer.java	2009-04-10 19:27:58 UTC (rev 87141)
+++ projects/webbeans-ri-int/trunk/deployer/src/main/java/org/jboss/webbeans/integration/deployer/env/WebBeansBootstrapDeployer.java	2009-04-10 19:36:24 UTC (rev 87142)
@@ -63,9 +63,10 @@
       bootstrap.addConstructorParameter(Bootstrap.class.getName(), createBootstrap(unit));
       bootstrap.addPropertyMetaData("webBeanDiscovery", bootstrap.createInject(envName));
       bootstrap.addPropertyMetaData("ejbServices", createEjbConnector("JBossEjbServices", "org.jboss.webbeans.integration.ejb.JBossEjbServices", unit));
-      bootstrap.addPropertyMetaData("jpaServices", createEjbConnector("JBossJpaServices", "org.jboss.webbeans.integration.ejb.JBossJpaServices", unit));
+      bootstrap.addPropertyMetaData("jpaServices", createEjbConnector("JBossJpaServices", "org.jboss.webbeans.integration.persistence.JBossJpaServices", unit));
       bootstrap.addPropertyMetaData("resourceServices", bootstrap.createInject("JBossResourceServices"));
       bootstrap.addPropertyMetaData("webServices", bootstrap.createInject("JBossWebServices"));
+      bootstrap.addPropertyMetaData("jmsServices", bootstrap.createInject("JBossJmsServices"));
       bootstrap.addPropertyMetaData("transactionServices", bootstrap.createInject("JBossTransactionServices"));
       bootstrap.addPropertyMetaData("applicationContext", createBeanStore());
       bootstrap.addPropertyMetaData("environment", Environments.EE);

Deleted: projects/webbeans-ri-int/trunk/ejb/src/main/java/org/jboss/webbeans/integration/ejb/AbstractJBossServices.java
===================================================================
--- projects/webbeans-ri-int/trunk/ejb/src/main/java/org/jboss/webbeans/integration/ejb/AbstractJBossServices.java	2009-04-10 19:27:58 UTC (rev 87141)
+++ projects/webbeans-ri-int/trunk/ejb/src/main/java/org/jboss/webbeans/integration/ejb/AbstractJBossServices.java	2009-04-10 19:36:24 UTC (rev 87142)
@@ -1,37 +0,0 @@
-package org.jboss.webbeans.integration.ejb;
-
-import javax.naming.Context;
-import javax.naming.InitialContext;
-import javax.naming.NamingException;
-
-import org.jboss.deployers.structure.spi.DeploymentUnit;
-import org.jboss.webbeans.integration.ejb.util.JBossEjb;
-
-public class AbstractJBossServices
-{
-   
-   protected DeploymentUnit topLevelDeploymentUnit;
-   protected JBossEjb jbossEjb;
-   protected final Context context;
-   
-   public AbstractJBossServices() throws NamingException
-   {
-      context = new InitialContext();
-   }
-
-   public void setDeploymentUnit(DeploymentUnit du)
-   {
-      if (du == null)
-      {
-         throw new IllegalArgumentException("Null deployment unit.");
-      }
-   
-      topLevelDeploymentUnit = du.getTopLevel();
-   }
-
-   public void setJbossEjb(JBossEjb jbossEjb)
-   {
-      this.jbossEjb = jbossEjb;
-   }
-   
-}
\ No newline at end of file

Modified: projects/webbeans-ri-int/trunk/ejb/src/main/java/org/jboss/webbeans/integration/ejb/JBossBussinessInterfaceDescriptorAdaptor.java
===================================================================
--- projects/webbeans-ri-int/trunk/ejb/src/main/java/org/jboss/webbeans/integration/ejb/JBossBussinessInterfaceDescriptorAdaptor.java	2009-04-10 19:27:58 UTC (rev 87141)
+++ projects/webbeans-ri-int/trunk/ejb/src/main/java/org/jboss/webbeans/integration/ejb/JBossBussinessInterfaceDescriptorAdaptor.java	2009-04-10 19:36:24 UTC (rev 87142)
@@ -4,7 +4,7 @@
 import org.jboss.ejb3.common.resolvers.spi.EjbReference;
 import org.jboss.ejb3.common.resolvers.spi.EjbReferenceResolver;
 import org.jboss.webbeans.ejb.spi.BusinessInterfaceDescriptor;
-import org.jboss.webbeans.integration.ejb.util.Reflections;
+import org.jboss.webbeans.integration.util.Reflections;
 
 public class JBossBussinessInterfaceDescriptorAdaptor<T> implements BusinessInterfaceDescriptor<T>
 {

Modified: projects/webbeans-ri-int/trunk/ejb/src/main/java/org/jboss/webbeans/integration/ejb/JBossEJBDescriptorAdaptor.java
===================================================================
--- projects/webbeans-ri-int/trunk/ejb/src/main/java/org/jboss/webbeans/integration/ejb/JBossEJBDescriptorAdaptor.java	2009-04-10 19:27:58 UTC (rev 87141)
+++ projects/webbeans-ri-int/trunk/ejb/src/main/java/org/jboss/webbeans/integration/ejb/JBossEJBDescriptorAdaptor.java	2009-04-10 19:36:24 UTC (rev 87142)
@@ -4,7 +4,7 @@
 import org.jboss.ejb3.common.resolvers.spi.EjbReferenceResolver;
 import org.jboss.metadata.ejb.jboss.JBossEnterpriseBeanMetaData;
 import org.jboss.webbeans.ejb.spi.EjbDescriptor;
-import org.jboss.webbeans.integration.ejb.util.Reflections;
+import org.jboss.webbeans.integration.util.Reflections;
 
 public abstract class JBossEJBDescriptorAdaptor<T> implements EjbDescriptor<T>
 {

Modified: projects/webbeans-ri-int/trunk/ejb/src/main/java/org/jboss/webbeans/integration/ejb/JBossEjbServices.java
===================================================================
--- projects/webbeans-ri-int/trunk/ejb/src/main/java/org/jboss/webbeans/integration/ejb/JBossEjbServices.java	2009-04-10 19:27:58 UTC (rev 87141)
+++ projects/webbeans-ri-int/trunk/ejb/src/main/java/org/jboss/webbeans/integration/ejb/JBossEjbServices.java	2009-04-10 19:36:24 UTC (rev 87142)
@@ -22,6 +22,7 @@
 import org.jboss.webbeans.ejb.api.SessionObjectReference;
 import org.jboss.webbeans.ejb.spi.EjbDescriptor;
 import org.jboss.webbeans.ejb.spi.EjbServices;
+import org.jboss.webbeans.integration.util.AbstractJBossServices;
 import org.jboss.webbeans.integration.vdf.DeploymentUnitAware;
 
 /**

Deleted: projects/webbeans-ri-int/trunk/ejb/src/main/java/org/jboss/webbeans/integration/ejb/JBossJpaServices.java
===================================================================
--- projects/webbeans-ri-int/trunk/ejb/src/main/java/org/jboss/webbeans/integration/ejb/JBossJpaServices.java	2009-04-10 19:27:58 UTC (rev 87141)
+++ projects/webbeans-ri-int/trunk/ejb/src/main/java/org/jboss/webbeans/integration/ejb/JBossJpaServices.java	2009-04-10 19:36:24 UTC (rev 87142)
@@ -1,108 +0,0 @@
-package org.jboss.webbeans.integration.ejb;
-
-import java.lang.reflect.Method;
-import java.util.Collection;
-import java.util.Collections;
-
-import javax.inject.manager.InjectionPoint;
-import javax.naming.NamingException;
-import javax.persistence.EntityManager;
-import javax.persistence.EntityManagerFactory;
-import javax.persistence.PersistenceContext;
-
-import org.jboss.deployers.structure.spi.DeploymentUnit;
-import org.jboss.ejb3.common.deployers.spi.AttachmentNames;
-import org.jboss.jpa.deployment.ManagedEntityManagerFactory;
-import org.jboss.jpa.deployment.PersistenceUnitDeployment;
-import org.jboss.jpa.injection.InjectedEntityManagerFactory;
-import org.jboss.jpa.resolvers.PersistenceUnitDependencyResolver;
-import org.jboss.metadata.ejb.jboss.JBossMetaData;
-import org.jboss.metadata.web.jboss.JBossWebMetaData;
-import org.jboss.webbeans.persistence.spi.JpaServices;
-
-public class JBossJpaServices extends AbstractJBossServices implements JpaServices
-{
-   
-   public JBossJpaServices() throws NamingException
-   {
-      super();
-   }
-
-   protected PersistenceUnitDependencyResolver persistenceUnitDependencyResolver;
-   
-   public void setPersistenceUnitDependencyResolver(PersistenceUnitDependencyResolver persistenceUnitDependencyResolver)
-   {
-      this.persistenceUnitDependencyResolver = persistenceUnitDependencyResolver;
-   }
-   
-   public Collection<Class<?>> discoverEntities()
-   {
-      return Collections.emptyList();
-   }
-
-   public EntityManager resolvePersistenceContext(InjectionPoint injectionPoint)
-   {
-      if (!injectionPoint.isAnnotationPresent(PersistenceContext.class))
-      {
-         throw new IllegalArgumentException("No @PersistenceContext annotation found on injection point " + injectionPoint);
-      }
-      if (injectionPoint.getMember() instanceof Method && ((Method) injectionPoint.getMember()).getParameterTypes().length != 1)
-      {
-         throw new IllegalArgumentException("Injection point represents a method which doesn't follow JavaBean conventions (must have exactly one parameter) " + injectionPoint);
-      }
-      try
-      {
-         return resolvePersistenceContext((injectionPoint.getAnnotation(PersistenceContext.class).unitName()));
-      }
-      catch (IllegalStateException e)
-      {
-         throw new IllegalStateException("Unable to resolve persistence context for " + injectionPoint);
-      }
-   }
-   
-   public EntityManager resolvePersistenceContext(String unitName)
-   {
-      return resolvePersistenceUnit(unitName).createEntityManager();
-   }
-   
-   public EntityManagerFactory resolvePersistenceUnit(String unitName)
-   {
-      if (unitName == null)
-      {
-         throw new IllegalArgumentException("unitName is null");
-      }
-      String beanName = getPersistenceUnitSupplier(topLevelDeploymentUnit, persistenceUnitDependencyResolver, unitName);
-      if (beanName == null)
-      {
-         throw new IllegalStateException("No persistence unit available for " + unitName);
-      }
-      PersistenceUnitDeployment deployment = jbossEjb.lookupPersistenceUnitDeployment(beanName);
-      ManagedEntityManagerFactory managedFactory = deployment.getManagedFactory();
-      return new InjectedEntityManagerFactory(managedFactory);
-   }
-   
-   private static String getPersistenceUnitSupplier(DeploymentUnit deploymentUnit, PersistenceUnitDependencyResolver persistenceUnitDependencyResolver, String persistenceUnitName)
-   {
-      if ((deploymentUnit.getAttachment(AttachmentNames.PROCESSED_METADATA, JBossMetaData.class) != null && deploymentUnit.getAttachment(JBossMetaData.class).isEJB3x()) || (deploymentUnit.getAttachment(JBossWebMetaData.class) != null))
-      {
-         try
-         {
-            return persistenceUnitDependencyResolver.resolvePersistenceUnitSupplier(deploymentUnit, persistenceUnitName);
-         }
-         catch (IllegalArgumentException e) 
-         {
-            // No-op, means we can't find the PU in this DU
-         }
-      }
-      for (DeploymentUnit child : deploymentUnit.getChildren())
-      {
-         String beanName = getPersistenceUnitSupplier(child, persistenceUnitDependencyResolver, persistenceUnitName);
-         if (beanName != null)
-         {
-            return beanName;
-         }
-      }
-      return null;
-   }
-   
-}

Deleted: projects/webbeans-ri-int/trunk/ejb/src/main/java/org/jboss/webbeans/integration/ejb/JBossResourceServices.java
===================================================================
--- projects/webbeans-ri-int/trunk/ejb/src/main/java/org/jboss/webbeans/integration/ejb/JBossResourceServices.java	2009-04-10 19:27:58 UTC (rev 87141)
+++ projects/webbeans-ri-int/trunk/ejb/src/main/java/org/jboss/webbeans/integration/ejb/JBossResourceServices.java	2009-04-10 19:36:24 UTC (rev 87142)
@@ -1,25 +0,0 @@
-package org.jboss.webbeans.integration.ejb;
-
-import javax.naming.Context;
-import javax.naming.InitialContext;
-import javax.naming.NamingException;
-
-import org.jboss.webbeans.resources.spi.helpers.AbstractResourceServices;
-
-public class JBossResourceServices extends AbstractResourceServices
-{
-   
-   private final Context context;
-   
-   public JBossResourceServices() throws NamingException
-   {
-      this.context = new InitialContext();
-   }
-   
-   @Override
-   protected Context getContext()
-   {
-      return context;
-   }
-   
-}

Modified: projects/webbeans-ri-int/trunk/ejb/src/main/java/org/jboss/webbeans/integration/ejb/JBossSessionBeanDescriptorAdaptor.java
===================================================================
--- projects/webbeans-ri-int/trunk/ejb/src/main/java/org/jboss/webbeans/integration/ejb/JBossSessionBeanDescriptorAdaptor.java	2009-04-10 19:27:58 UTC (rev 87141)
+++ projects/webbeans-ri-int/trunk/ejb/src/main/java/org/jboss/webbeans/integration/ejb/JBossSessionBeanDescriptorAdaptor.java	2009-04-10 19:36:24 UTC (rev 87142)
@@ -10,7 +10,7 @@
 import org.jboss.metadata.ejb.spec.RemoveMethodMetaData;
 import org.jboss.webbeans.ejb.spi.BusinessInterfaceDescriptor;
 import org.jboss.webbeans.ejb.spi.EjbDescriptor;
-import org.jboss.webbeans.integration.ejb.util.Reflections;
+import org.jboss.webbeans.integration.util.Reflections;
 
 public class JBossSessionBeanDescriptorAdaptor<T> extends JBossEJBDescriptorAdaptor<T> implements EjbDescriptor<T>
 {

Deleted: projects/webbeans-ri-int/trunk/ejb/src/main/java/org/jboss/webbeans/integration/ejb/JBossWebServices.java
===================================================================
--- projects/webbeans-ri-int/trunk/ejb/src/main/java/org/jboss/webbeans/integration/ejb/JBossWebServices.java	2009-04-10 19:27:58 UTC (rev 87141)
+++ projects/webbeans-ri-int/trunk/ejb/src/main/java/org/jboss/webbeans/integration/ejb/JBossWebServices.java	2009-04-10 19:36:24 UTC (rev 87142)
@@ -1,25 +0,0 @@
-package org.jboss.webbeans.integration.ejb;
-
-import javax.naming.Context;
-import javax.naming.InitialContext;
-import javax.naming.NamingException;
-
-import org.jboss.webbeans.resources.spi.helpers.AbstractResourceServices;
-
-public class JBossWebServices extends AbstractResourceServices
-{
-   
-   private final Context context;
-   
-   public JBossWebServices() throws NamingException
-   {
-      this.context = new InitialContext();
-   }
-   
-   @Override
-   protected Context getContext()
-   {
-      return context;
-   }
-   
-}

Added: projects/webbeans-ri-int/trunk/ejb/src/main/java/org/jboss/webbeans/integration/messaging/JBossJmsServices.java
===================================================================
--- projects/webbeans-ri-int/trunk/ejb/src/main/java/org/jboss/webbeans/integration/messaging/JBossJmsServices.java	                        (rev 0)
+++ projects/webbeans-ri-int/trunk/ejb/src/main/java/org/jboss/webbeans/integration/messaging/JBossJmsServices.java	2009-04-10 19:36:24 UTC (rev 87142)
@@ -0,0 +1,31 @@
+package org.jboss.webbeans.integration.messaging;
+
+import javax.naming.Context;
+import javax.naming.InitialContext;
+import javax.naming.NamingException;
+
+import org.jboss.webbeans.messaging.spi.JmsServices;
+import org.jboss.webbeans.resources.spi.helpers.AbstractResourceServices;
+
+public class JBossJmsServices extends AbstractResourceServices implements JmsServices
+{
+   
+   private final Context context;
+   
+   public JBossJmsServices() throws NamingException
+   {
+      this.context = new InitialContext();
+   }
+   
+   public Object resolveDestination(String jndiName, String mappedName)
+   {
+      return resolveResource(jndiName, mappedName);
+   }
+   
+   @Override
+   protected Context getContext()
+   {
+      return context;
+   }
+   
+}


Property changes on: projects/webbeans-ri-int/trunk/ejb/src/main/java/org/jboss/webbeans/integration/messaging/JBossJmsServices.java
___________________________________________________________________
Name: svn:mime-type
   + text/plain

Copied: projects/webbeans-ri-int/trunk/ejb/src/main/java/org/jboss/webbeans/integration/persistence/JBossJpaServices.java (from rev 87134, projects/webbeans-ri-int/trunk/ejb/src/main/java/org/jboss/webbeans/integration/ejb/JBossJpaServices.java)
===================================================================
--- projects/webbeans-ri-int/trunk/ejb/src/main/java/org/jboss/webbeans/integration/persistence/JBossJpaServices.java	                        (rev 0)
+++ projects/webbeans-ri-int/trunk/ejb/src/main/java/org/jboss/webbeans/integration/persistence/JBossJpaServices.java	2009-04-10 19:36:24 UTC (rev 87142)
@@ -0,0 +1,109 @@
+package org.jboss.webbeans.integration.persistence;
+
+import java.lang.reflect.Method;
+import java.util.Collection;
+import java.util.Collections;
+
+import javax.inject.manager.InjectionPoint;
+import javax.naming.NamingException;
+import javax.persistence.EntityManager;
+import javax.persistence.EntityManagerFactory;
+import javax.persistence.PersistenceContext;
+
+import org.jboss.deployers.structure.spi.DeploymentUnit;
+import org.jboss.ejb3.common.deployers.spi.AttachmentNames;
+import org.jboss.jpa.deployment.ManagedEntityManagerFactory;
+import org.jboss.jpa.deployment.PersistenceUnitDeployment;
+import org.jboss.jpa.injection.InjectedEntityManagerFactory;
+import org.jboss.jpa.resolvers.PersistenceUnitDependencyResolver;
+import org.jboss.metadata.ejb.jboss.JBossMetaData;
+import org.jboss.metadata.web.jboss.JBossWebMetaData;
+import org.jboss.webbeans.integration.util.AbstractJBossServices;
+import org.jboss.webbeans.persistence.spi.JpaServices;
+
+public class JBossJpaServices extends AbstractJBossServices implements JpaServices
+{
+   
+   public JBossJpaServices() throws NamingException
+   {
+      super();
+   }
+
+   protected PersistenceUnitDependencyResolver persistenceUnitDependencyResolver;
+   
+   public void setPersistenceUnitDependencyResolver(PersistenceUnitDependencyResolver persistenceUnitDependencyResolver)
+   {
+      this.persistenceUnitDependencyResolver = persistenceUnitDependencyResolver;
+   }
+   
+   public Collection<Class<?>> discoverEntities()
+   {
+      return Collections.emptyList();
+   }
+
+   public EntityManager resolvePersistenceContext(InjectionPoint injectionPoint)
+   {
+      if (!injectionPoint.isAnnotationPresent(PersistenceContext.class))
+      {
+         throw new IllegalArgumentException("No @PersistenceContext annotation found on injection point " + injectionPoint);
+      }
+      if (injectionPoint.getMember() instanceof Method && ((Method) injectionPoint.getMember()).getParameterTypes().length != 1)
+      {
+         throw new IllegalArgumentException("Injection point represents a method which doesn't follow JavaBean conventions (must have exactly one parameter) " + injectionPoint);
+      }
+      try
+      {
+         return resolvePersistenceContext((injectionPoint.getAnnotation(PersistenceContext.class).unitName()));
+      }
+      catch (IllegalStateException e)
+      {
+         throw new IllegalStateException("Unable to resolve persistence context for " + injectionPoint);
+      }
+   }
+   
+   public EntityManager resolvePersistenceContext(String unitName)
+   {
+      return resolvePersistenceUnit(unitName).createEntityManager();
+   }
+   
+   public EntityManagerFactory resolvePersistenceUnit(String unitName)
+   {
+      if (unitName == null)
+      {
+         throw new IllegalArgumentException("unitName is null");
+      }
+      String beanName = getPersistenceUnitSupplier(topLevelDeploymentUnit, persistenceUnitDependencyResolver, unitName);
+      if (beanName == null)
+      {
+         throw new IllegalStateException("No persistence unit available for " + unitName);
+      }
+      PersistenceUnitDeployment deployment = jbossEjb.lookupPersistenceUnitDeployment(beanName);
+      ManagedEntityManagerFactory managedFactory = deployment.getManagedFactory();
+      return new InjectedEntityManagerFactory(managedFactory);
+   }
+   
+   private static String getPersistenceUnitSupplier(DeploymentUnit deploymentUnit, PersistenceUnitDependencyResolver persistenceUnitDependencyResolver, String persistenceUnitName)
+   {
+      if ((deploymentUnit.getAttachment(AttachmentNames.PROCESSED_METADATA, JBossMetaData.class) != null && deploymentUnit.getAttachment(JBossMetaData.class).isEJB3x()) || (deploymentUnit.getAttachment(JBossWebMetaData.class) != null))
+      {
+         try
+         {
+            return persistenceUnitDependencyResolver.resolvePersistenceUnitSupplier(deploymentUnit, persistenceUnitName);
+         }
+         catch (IllegalArgumentException e) 
+         {
+            // No-op, means we can't find the PU in this DU
+         }
+      }
+      for (DeploymentUnit child : deploymentUnit.getChildren())
+      {
+         String beanName = getPersistenceUnitSupplier(child, persistenceUnitDependencyResolver, persistenceUnitName);
+         if (beanName != null)
+         {
+            return beanName;
+         }
+      }
+      return null;
+   }
+   
+}


Property changes on: projects/webbeans-ri-int/trunk/ejb/src/main/java/org/jboss/webbeans/integration/persistence/JBossJpaServices.java
___________________________________________________________________
Name: svn:mime-type
   + text/plain

Copied: projects/webbeans-ri-int/trunk/ejb/src/main/java/org/jboss/webbeans/integration/resource/JBossResourceServices.java (from rev 87132, projects/webbeans-ri-int/trunk/ejb/src/main/java/org/jboss/webbeans/integration/ejb/JBossResourceServices.java)
===================================================================
--- projects/webbeans-ri-int/trunk/ejb/src/main/java/org/jboss/webbeans/integration/resource/JBossResourceServices.java	                        (rev 0)
+++ projects/webbeans-ri-int/trunk/ejb/src/main/java/org/jboss/webbeans/integration/resource/JBossResourceServices.java	2009-04-10 19:36:24 UTC (rev 87142)
@@ -0,0 +1,26 @@
+package org.jboss.webbeans.integration.resource;
+
+import javax.naming.Context;
+import javax.naming.InitialContext;
+import javax.naming.NamingException;
+
+import org.jboss.webbeans.resources.spi.ResourceServices;
+import org.jboss.webbeans.resources.spi.helpers.AbstractResourceServices;
+
+public class JBossResourceServices extends AbstractResourceServices implements ResourceServices
+{
+   
+   private final Context context;
+   
+   public JBossResourceServices() throws NamingException
+   {
+      this.context = new InitialContext();
+   }
+   
+   @Override
+   protected Context getContext()
+   {
+      return context;
+   }
+   
+}


Property changes on: projects/webbeans-ri-int/trunk/ejb/src/main/java/org/jboss/webbeans/integration/resource/JBossResourceServices.java
___________________________________________________________________
Name: svn:mime-type
   + text/plain

Copied: projects/webbeans-ri-int/trunk/ejb/src/main/java/org/jboss/webbeans/integration/util (from rev 87132, projects/webbeans-ri-int/trunk/ejb/src/main/java/org/jboss/webbeans/integration/ejb/util)

Copied: projects/webbeans-ri-int/trunk/ejb/src/main/java/org/jboss/webbeans/integration/util/AbstractJBossServices.java (from rev 87134, projects/webbeans-ri-int/trunk/ejb/src/main/java/org/jboss/webbeans/integration/ejb/AbstractJBossServices.java)
===================================================================
--- projects/webbeans-ri-int/trunk/ejb/src/main/java/org/jboss/webbeans/integration/util/AbstractJBossServices.java	                        (rev 0)
+++ projects/webbeans-ri-int/trunk/ejb/src/main/java/org/jboss/webbeans/integration/util/AbstractJBossServices.java	2009-04-10 19:36:24 UTC (rev 87142)
@@ -0,0 +1,36 @@
+package org.jboss.webbeans.integration.util;
+
+import javax.naming.Context;
+import javax.naming.InitialContext;
+import javax.naming.NamingException;
+
+import org.jboss.deployers.structure.spi.DeploymentUnit;
+
+public class AbstractJBossServices
+{
+   
+   protected DeploymentUnit topLevelDeploymentUnit;
+   protected JBossEjb jbossEjb;
+   protected final Context context;
+   
+   public AbstractJBossServices() throws NamingException
+   {
+      context = new InitialContext();
+   }
+
+   public void setDeploymentUnit(DeploymentUnit du)
+   {
+      if (du == null)
+      {
+         throw new IllegalArgumentException("Null deployment unit.");
+      }
+   
+      topLevelDeploymentUnit = du.getTopLevel();
+   }
+
+   public void setJbossEjb(JBossEjb jbossEjb)
+   {
+      this.jbossEjb = jbossEjb;
+   }
+   
+}
\ No newline at end of file


Property changes on: projects/webbeans-ri-int/trunk/ejb/src/main/java/org/jboss/webbeans/integration/util/AbstractJBossServices.java
___________________________________________________________________
Name: svn:mime-type
   + text/plain

Modified: projects/webbeans-ri-int/trunk/ejb/src/main/java/org/jboss/webbeans/integration/util/JBossEjb.java
===================================================================
--- projects/webbeans-ri-int/trunk/ejb/src/main/java/org/jboss/webbeans/integration/ejb/util/JBossEjb.java	2009-04-10 15:33:18 UTC (rev 87132)
+++ projects/webbeans-ri-int/trunk/ejb/src/main/java/org/jboss/webbeans/integration/util/JBossEjb.java	2009-04-10 19:36:24 UTC (rev 87142)
@@ -1,4 +1,4 @@
-package org.jboss.webbeans.integration.ejb.util;
+package org.jboss.webbeans.integration.util;
 
 import org.jboss.beans.metadata.api.annotations.Inject;
 import org.jboss.dependency.spi.ControllerContext;

Modified: projects/webbeans-ri-int/trunk/ejb/src/main/java/org/jboss/webbeans/integration/util/Reflections.java
===================================================================
--- projects/webbeans-ri-int/trunk/ejb/src/main/java/org/jboss/webbeans/integration/ejb/util/Reflections.java	2009-04-10 15:33:18 UTC (rev 87132)
+++ projects/webbeans-ri-int/trunk/ejb/src/main/java/org/jboss/webbeans/integration/util/Reflections.java	2009-04-10 19:36:24 UTC (rev 87142)
@@ -1,4 +1,4 @@
-package org.jboss.webbeans.integration.ejb.util;
+package org.jboss.webbeans.integration.util;
 
 import java.beans.Introspector;
 import java.lang.reflect.Method;

Copied: projects/webbeans-ri-int/trunk/ejb/src/main/java/org/jboss/webbeans/integration/ws/JBossWebServices.java (from rev 87134, projects/webbeans-ri-int/trunk/ejb/src/main/java/org/jboss/webbeans/integration/ejb/JBossWebServices.java)
===================================================================
--- projects/webbeans-ri-int/trunk/ejb/src/main/java/org/jboss/webbeans/integration/ws/JBossWebServices.java	                        (rev 0)
+++ projects/webbeans-ri-int/trunk/ejb/src/main/java/org/jboss/webbeans/integration/ws/JBossWebServices.java	2009-04-10 19:36:24 UTC (rev 87142)
@@ -0,0 +1,26 @@
+package org.jboss.webbeans.integration.ws;
+
+import javax.naming.Context;
+import javax.naming.InitialContext;
+import javax.naming.NamingException;
+
+import org.jboss.webbeans.resources.spi.helpers.AbstractResourceServices;
+import org.jboss.webbeans.ws.spi.WebServices;
+
+public class JBossWebServices extends AbstractResourceServices implements WebServices
+{
+   
+   private final Context context;
+   
+   public JBossWebServices() throws NamingException
+   {
+      this.context = new InitialContext();
+   }
+   
+   @Override
+   protected Context getContext()
+   {
+      return context;
+   }
+   
+}


Property changes on: projects/webbeans-ri-int/trunk/ejb/src/main/java/org/jboss/webbeans/integration/ws/JBossWebServices.java
___________________________________________________________________
Name: svn:mime-type
   + text/plain




More information about the jboss-cvs-commits mailing list