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);


Reply via email to