From 4c4e93e5e6350fbc13fac6acbd59d0478e06d14e Mon Sep 17 00:00:00 2001 From: Marius Bogoevici Date: Thu, 11 Nov 2010 12:01:46 -0500 Subject: [PATCH] Pass DeploymentUnit to getBeanInstantiator() Passing the DeploymentUnit allows a deployer to decide what kind of a BeanInstantiator it wants to return --- .../deployer/BeanInstantiatorDeployerBase.java | 8 +++++--- .../deployer/SingletonBeanInstantiatorDeployer.java | 4 ++-- 2 files changed, 7 insertions(+), 5 deletions(-) diff --git a/deployer/src/main/java/org/jboss/ejb3/instantiator/deployer/BeanInstantiatorDeployerBase.java b/deployer/src/main/java/org/jboss/ejb3/instantiator/deployer/BeanInstantiatorDeployerBase.java index 693c3e9..2dd68fa 100644 --- a/deployer/src/main/java/org/jboss/ejb3/instantiator/deployer/BeanInstantiatorDeployerBase.java +++ b/deployer/src/main/java/org/jboss/ejb3/instantiator/deployer/BeanInstantiatorDeployerBase.java @@ -105,7 +105,7 @@ public void deploy(final DeploymentUnit unit) throws DeploymentException // Get the EJB final JBossEnterpriseBeanMetaData ejb = it.next(); // Get an instantiator to use for the EJB - final BeanInstantiator instantiator = this.getBeanInstantiator(ejb); + final BeanInstantiator instantiator = this.getBeanInstantiator(unit, ejb); // Ensure the instantiator was supplied if (instantiator == null) { @@ -169,12 +169,14 @@ protected void processMetadata(BeanMetaDataBuilder beanMetaDataBuilder, Deployme /** * Obtains the {@link BeanInstantiator} implementation to use for the - * specified {@link JBossEnterpriseBeanMetaData} + * specified {@link DeploymentUnit} and {@link JBossEnterpriseBeanMetaData} * + * + * @param unit * @param ebmd * @return */ - protected abstract BeanInstantiator getBeanInstantiator(JBossEnterpriseBeanMetaData ebmd); + protected abstract BeanInstantiator getBeanInstantiator(DeploymentUnit unit, JBossEnterpriseBeanMetaData ebmd); // ------------------------------------------------------------------------------|| // Helper Methods ---------------------------------------------------------------|| diff --git a/deployer/src/main/java/org/jboss/ejb3/instantiator/deployer/SingletonBeanInstantiatorDeployer.java b/deployer/src/main/java/org/jboss/ejb3/instantiator/deployer/SingletonBeanInstantiatorDeployer.java index 5fe545b..c874bf4 100644 --- a/deployer/src/main/java/org/jboss/ejb3/instantiator/deployer/SingletonBeanInstantiatorDeployer.java +++ b/deployer/src/main/java/org/jboss/ejb3/instantiator/deployer/SingletonBeanInstantiatorDeployer.java @@ -71,10 +71,10 @@ public SingletonBeanInstantiatorDeployer(final BeanInstantiator beanInstantiator /** * {@inheritDoc} - * @see org.jboss.ejb3.instantiator.deployer.BeanInstantiatorDeployerBase#getBeanInstantiator(org.jboss.metadata.ejb.jboss.JBossEnterpriseBeanMetaData) + * @see BeanInstantiatorDeployerBase#getBeanInstantiator(org.jboss.deployers.structure.spi.DeploymentUnit, org.jboss.metadata.ejb.jboss.JBossEnterpriseBeanMetaData) */ @Override - protected BeanInstantiator getBeanInstantiator(final JBossEnterpriseBeanMetaData ebmd) + protected BeanInstantiator getBeanInstantiator(DeploymentUnit unit, final JBossEnterpriseBeanMetaData ebmd) { // Use the shared instance return beanInstantiator;