[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