Author: struberg
Date: Thu Jan 10 10:58:03 2013
New Revision: 1431272
URL: http://svn.apache.org/viewvc?rev=1431272&view=rev
Log:
OWB-344 remove DefinitionUtil
Removed:
openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/config/DefinitionUtil.java
Modified:
openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/component/creation/ManagedBeanBuilder.java
openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/config/BeansDeployer.java
openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/intercept/InterceptorHandlerPleaseRemove.java
openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/intercept/WebBeansInterceptorConfig.java
openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/util/WebBeansUtil.java
openwebbeans/trunk/webbeans-impl/src/test/java/org/apache/webbeans/test/TestContext.java
Modified:
openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/component/creation/ManagedBeanBuilder.java
URL:
http://svn.apache.org/viewvc/openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/component/creation/ManagedBeanBuilder.java?rev=1431272&r1=1431271&r2=1431272&view=diff
==============================================================================
---
openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/component/creation/ManagedBeanBuilder.java
(original)
+++
openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/component/creation/ManagedBeanBuilder.java
Thu Jan 10 10:58:03 2013
@@ -43,7 +43,6 @@ import javax.inject.Inject;
import org.apache.webbeans.component.ManagedBean;
import org.apache.webbeans.component.ProducerFieldBean;
import org.apache.webbeans.component.ProducerMethodBean;
-import org.apache.webbeans.config.DefinitionUtil;
import org.apache.webbeans.config.OWBLogConst;
import org.apache.webbeans.config.WebBeansContext;
import org.apache.webbeans.container.BeanManagerImpl;
@@ -134,8 +133,8 @@ public class ManagedBeanBuilder<T> exten
defineInjectedFields();
defineInjectedMethods();
defineObserverMethods();
- DefinitionUtil.defineDecoratorStack(managedBean);
- DefinitionUtil.defineBeanInterceptorStack(managedBean);
+ WebBeansDecoratorConfig.configureDecorators(managedBean);
+
webBeansContext.getWebBeansInterceptorConfig().defineBeanInterceptorStack(managedBean);
defineDisposalMethods(); //Define disposal method after adding
producers
}
Modified:
openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/config/BeansDeployer.java
URL:
http://svn.apache.org/viewvc/openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/config/BeansDeployer.java?rev=1431272&r1=1431271&r2=1431272&view=diff
==============================================================================
---
openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/config/BeansDeployer.java
(original)
+++
openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/config/BeansDeployer.java
Thu Jan 10 10:58:03 2013
@@ -56,6 +56,7 @@ import org.apache.webbeans.container.Inj
import org.apache.webbeans.container.InjectionResolver;
import org.apache.webbeans.corespi.se.DefaultJndiService;
import org.apache.webbeans.decorator.WebBeansDecorator;
+import org.apache.webbeans.decorator.WebBeansDecoratorConfig;
import org.apache.webbeans.deployment.StereoTypeModel;
import org.apache.webbeans.exception.WebBeansConfigurationException;
import org.apache.webbeans.exception.WebBeansDeploymentException;
@@ -399,13 +400,13 @@ public class BeansDeployer
!(bean instanceof
javax.enterprise.inject.spi.Interceptor) &&
!(bean instanceof NewBean))
{
-
DefinitionUtil.defineDecoratorStack((AbstractInjectionTargetBean<Object>)bean);
+
WebBeansDecoratorConfig.configureDecorators((AbstractInjectionTargetBean<Object>)bean);
}
//If intercepted marker
if(bean instanceof InterceptedMarker)
{
-
DefinitionUtil.defineBeanInterceptorStack((AbstractInjectionTargetBean<Object>)bean);
+
webBeansContext.getWebBeansInterceptorConfig().defineBeanInterceptorStack((AbstractInjectionTargetBean<Object>)bean);
}
}
Modified:
openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/intercept/InterceptorHandlerPleaseRemove.java
URL:
http://svn.apache.org/viewvc/openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/intercept/InterceptorHandlerPleaseRemove.java?rev=1431272&r1=1431271&r2=1431272&view=diff
==============================================================================
---
openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/intercept/InterceptorHandlerPleaseRemove.java
(original)
+++
openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/intercept/InterceptorHandlerPleaseRemove.java
Thu Jan 10 10:58:03 2013
@@ -95,10 +95,10 @@ import org.apache.webbeans.util.ClassUti
* instantiated by the container first time. This method can be found in the
* AbstractInjectionTargetBean" class "afterConstructor()" method. Actual
* configuration is done by the
- * {@link org.apache.webbeans.config.DefinitionUtil#defineBeanInterceptorStack
+ * {@link WebBeansInterceptorConfig#defineBeanInterceptorStack
* (org.apache.webbeans.component.AbstractInjectionTargetBean)} and
- * {@link org.apache.webbeans.config.DefinitionUtil#defineDecoratorStack}. In
- * "DefinitionUtil.defineBeanInterceptorStack", firstly it configures
+ * {@link
WebBeansDecoratorConfig#configureDecorators(org.apache.webbeans.component.AbstractInjectionTargetBean)}}.
In
+ *
"webBeansContext.getWebBeansInterceptorConfig().defineBeanInterceptorStack",
firstly it configures
* "EJB spec. interceptors" after that configures "JSR-299 spec. interceptors."
* In "DefinitionUtil.defineDecoratorStack", it configures
* decorator stack. "EJBInterceptorConfig" class is responsible for finding all
Modified:
openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/intercept/WebBeansInterceptorConfig.java
URL:
http://svn.apache.org/viewvc/openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/intercept/WebBeansInterceptorConfig.java?rev=1431272&r1=1431271&r2=1431272&view=diff
==============================================================================
---
openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/intercept/WebBeansInterceptorConfig.java
(original)
+++
openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/intercept/WebBeansInterceptorConfig.java
Thu Jan 10 10:58:03 2013
@@ -20,6 +20,7 @@ package org.apache.webbeans.intercept;
import org.apache.webbeans.annotation.AnnotationManager;
import org.apache.webbeans.component.AbstractInjectionTargetBean;
+import org.apache.webbeans.component.EnterpriseBeanMarker;
import org.apache.webbeans.config.OWBLogConst;
import org.apache.webbeans.config.WebBeansContext;
import org.apache.webbeans.config.inheritance.IBeanInheritedMetaData;
@@ -29,8 +30,10 @@ import org.apache.webbeans.logger.WebBea
import org.apache.webbeans.plugins.OpenWebBeansEjbLCAPlugin;
import org.apache.webbeans.spi.BDABeansXmlScanner;
import org.apache.webbeans.spi.ScannerService;
+import org.apache.webbeans.spi.plugins.OpenWebBeansEjbPlugin;
import org.apache.webbeans.util.AnnotationUtil;
import org.apache.webbeans.util.ArrayUtil;
+import org.apache.webbeans.util.Asserts;
import javax.annotation.PostConstruct;
import javax.annotation.PreDestroy;
@@ -74,6 +77,54 @@ public final class WebBeansInterceptorCo
}
/**
+ * Configure bean instance interceptor stack.
+ * @param bean bean instance
+ */
+ public void defineBeanInterceptorStack(AbstractInjectionTargetBean<?> bean)
+ {
+ Asserts.assertNotNull(bean, "bean parameter can no be null");
+ if (!bean.getInterceptorStack().isEmpty())
+ {
+ // the interceptorstack already got defined!
+ return;
+ }
+
+ // If bean is not session bean
+ if(!(bean instanceof EnterpriseBeanMarker))
+ {
+
bean.getWebBeansContext().getEJBInterceptorConfig().configure(bean.getAnnotatedType(),
bean.getInterceptorStack());
+ }
+ else
+ {
+ //Check for injected fields in EJB @Interceptors
+ List<InterceptorData> stack = new ArrayList<InterceptorData>();
+
bean.getWebBeansContext().getEJBInterceptorConfig().configure(bean.getAnnotatedType(),
stack);
+
+ final OpenWebBeansEjbPlugin ejbPlugin =
bean.getWebBeansContext().getPluginLoader().getEjbPlugin();
+ final boolean isStateful =
ejbPlugin.isStatefulBean(bean.getBeanClass());
+
+ if (isStateful)
+ {
+ for (InterceptorData data : stack)
+ {
+ if (data.isDefinedInInterceptorClass())
+ {
+ AnnotationManager annotationManager =
bean.getWebBeansContext().getAnnotationManager();
+ if
(!annotationManager.checkInjectionPointForInterceptorPassivation(data.getInterceptorClass()))
+ {
+ throw new
WebBeansConfigurationException("Enterprise bean : " + bean.toString() +
+ " interceptors must have serializable
injection points");
+ }
+ }
+ }
+ }
+ }
+
+ // For every injection target bean
+ configure(bean, bean.getInterceptorStack());
+ }
+
+ /**
* Configures WebBeans specific interceptor class.
*
* @param interceptorBindingTypes interceptor class
Modified:
openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/util/WebBeansUtil.java
URL:
http://svn.apache.org/viewvc/openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/util/WebBeansUtil.java?rev=1431272&r1=1431271&r2=1431272&view=diff
==============================================================================
---
openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/util/WebBeansUtil.java
(original)
+++
openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/util/WebBeansUtil.java
Thu Jan 10 10:58:03 2013
@@ -117,7 +117,6 @@ import org.apache.webbeans.component.cre
import org.apache.webbeans.component.creation.ExtensionBeanBuilder;
import org.apache.webbeans.component.creation.ManagedBeanBuilder;
import org.apache.webbeans.component.creation.NewManagedBeanBuilder;
-import org.apache.webbeans.config.DefinitionUtil;
import org.apache.webbeans.config.EJBWebBeansConfigurator;
import org.apache.webbeans.config.OWBLogConst;
import org.apache.webbeans.config.OpenWebBeansConfiguration;
@@ -2359,8 +2358,8 @@ public final class WebBeansUtil
managedBeanCreator.defineInjectedMethods();
managedBeanCreator.defineObserverMethods();
- DefinitionUtil.defineDecoratorStack(managedBeanCreator.getBean());
-
DefinitionUtil.defineBeanInterceptorStack(managedBeanCreator.getBean());
+
WebBeansDecoratorConfig.configureDecorators(managedBeanCreator.getBean());
+
webBeansContext.getWebBeansInterceptorConfig().defineBeanInterceptorStack(managedBeanCreator.getBean());
managedBeanCreator.defineDisposalMethods();//Define disposal method
after adding producers
@@ -2502,8 +2501,8 @@ public final class WebBeansUtil
managedBeanCreator.defineInjectedFields();
managedBeanCreator.defineInjectedMethods();
managedBeanCreator.defineObserverMethods();
- DefinitionUtil.defineDecoratorStack(managedBeanCreator.getBean());
-
DefinitionUtil.defineBeanInterceptorStack(managedBeanCreator.getBean());
+
WebBeansDecoratorConfig.configureDecorators(managedBeanCreator.getBean());
+
webBeansContext.getWebBeansInterceptorConfig().defineBeanInterceptorStack(managedBeanCreator.getBean());
managedBeanCreator.defineDisposalMethods(); //Define disposal method
after adding producers
Modified:
openwebbeans/trunk/webbeans-impl/src/test/java/org/apache/webbeans/test/TestContext.java
URL:
http://svn.apache.org/viewvc/openwebbeans/trunk/webbeans-impl/src/test/java/org/apache/webbeans/test/TestContext.java?rev=1431272&r1=1431271&r2=1431272&view=diff
==============================================================================
---
openwebbeans/trunk/webbeans-impl/src/test/java/org/apache/webbeans/test/TestContext.java
(original)
+++
openwebbeans/trunk/webbeans-impl/src/test/java/org/apache/webbeans/test/TestContext.java
Thu Jan 10 10:58:03 2013
@@ -45,7 +45,6 @@ import org.apache.webbeans.component.Pro
import org.apache.webbeans.component.ProducerMethodBean;
import org.apache.webbeans.component.WebBeansType;
import org.apache.webbeans.component.creation.ManagedBeanBuilder;
-import org.apache.webbeans.config.DefinitionUtil;
import org.apache.webbeans.config.WebBeansContext;
import org.apache.webbeans.container.BeanManagerImpl;
import org.apache.webbeans.context.DependentContext;
@@ -284,7 +283,7 @@ public abstract class TestContext implem
{
DecoratorUtil.checkManagedBeanDecoratorConditions(bean,null);
WebBeansDecoratorConfig.configureDecorators(bean);
- DefinitionUtil.defineBeanInterceptorStack(bean);
+
webBeansContext.getWebBeansInterceptorConfig().defineBeanInterceptorStack(bean);
getComponents().add((AbstractOwbBean<?>) bean);
manager.addBean(bean);