You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@openwebbeans.apache.org by ge...@apache.org on 2010/03/18 19:43:33 UTC

svn commit: r924943 - in /openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans: component/EnterpriseBeanMarker.java component/InterceptedMarker.java component/ManagedBean.java config/BeansDeployer.java decorator/OwbDecorator.java

Author: gerdogdu
Date: Thu Mar 18 18:43:32 2010
New Revision: 924943

URL: http://svn.apache.org/viewvc?rev=924943&view=rev
Log:
Adding marker for defining interceptor.

Added:
    openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/component/InterceptedMarker.java   (with props)
Modified:
    openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/component/EnterpriseBeanMarker.java
    openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/component/ManagedBean.java
    openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/config/BeansDeployer.java
    openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/decorator/OwbDecorator.java

Modified: openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/component/EnterpriseBeanMarker.java
URL: http://svn.apache.org/viewvc/openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/component/EnterpriseBeanMarker.java?rev=924943&r1=924942&r2=924943&view=diff
==============================================================================
--- openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/component/EnterpriseBeanMarker.java (original)
+++ openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/component/EnterpriseBeanMarker.java Thu Mar 18 18:43:32 2010
@@ -19,7 +19,7 @@ package org.apache.webbeans.component;
  * @version $Rev$ $Date$
  *
  */
-public interface EnterpriseBeanMarker
+public interface EnterpriseBeanMarker extends InterceptedMarker
 {
 
 }

Added: openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/component/InterceptedMarker.java
URL: http://svn.apache.org/viewvc/openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/component/InterceptedMarker.java?rev=924943&view=auto
==============================================================================
--- openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/component/InterceptedMarker.java (added)
+++ openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/component/InterceptedMarker.java Thu Mar 18 18:43:32 2010
@@ -0,0 +1,30 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.apache.webbeans.component;
+
+/**
+ * Marker interface for beans that
+ * can be intercepted.
+ * @version $Rev$ $Date$
+ *
+ */
+public interface InterceptedMarker
+{
+
+}

Propchange: openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/component/InterceptedMarker.java
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/component/InterceptedMarker.java
------------------------------------------------------------------------------
    svn:keywords = Rev Date

Modified: openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/component/ManagedBean.java
URL: http://svn.apache.org/viewvc/openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/component/ManagedBean.java?rev=924943&r1=924942&r2=924943&view=diff
==============================================================================
--- openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/component/ManagedBean.java (original)
+++ openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/component/ManagedBean.java Thu Mar 18 18:43:32 2010
@@ -28,7 +28,7 @@ import org.apache.webbeans.intercept.Int
  * 
  * @version $Rev$ $Date$
  */
-public class ManagedBean<T> extends AbstractInjectionTargetBean<T>
+public class ManagedBean<T> extends AbstractInjectionTargetBean<T> implements InterceptedMarker
 {
     /** Constructor of the web bean component */
     private Constructor<T> constructor;

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=924943&r1=924942&r2=924943&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 Mar 18 18:43:32 2010
@@ -35,6 +35,7 @@ import org.apache.webbeans.WebBeansConst
 import org.apache.webbeans.component.AbstractInjectionTargetBean;
 import org.apache.webbeans.component.AbstractProducerBean;
 import org.apache.webbeans.component.InjectionTargetBean;
+import org.apache.webbeans.component.InterceptedMarker;
 import org.apache.webbeans.component.ManagedBean;
 import org.apache.webbeans.component.NewBean;
 import org.apache.webbeans.component.OwbBean;
@@ -316,24 +317,22 @@ public class BeansDeployer
         {
             for (Bean<?> bean : beans)
             {
-                //Configure decorator and interceptor stack for Injection target beans
-                if((bean instanceof AbstractInjectionTargetBean) && 
-                        !(bean instanceof NewBean))
+                if(bean instanceof InjectionTargetBean)
                 {
-                    
-                    //Decorators not applied to interceptors/decorators
+                    //Decorators not applied to interceptors/decorators/@NewBean
                     if(!(bean instanceof Decorator) && 
-                            !(bean instanceof javax.enterprise.inject.spi.Interceptor))
+                            !(bean instanceof javax.enterprise.inject.spi.Interceptor) &&
+                            !(bean instanceof NewBean))
                     {
                         DefinitionUtil.defineDecoratorStack((AbstractInjectionTargetBean<Object>)bean);   
                     }
                     
-                    if(!(bean instanceof javax.enterprise.inject.spi.Interceptor) &&
-                            !(bean instanceof NewBean))
+                    //If intercepted marker
+                    if(bean instanceof InterceptedMarker)
                     {
                         DefinitionUtil.defineBeanInterceptorStack((AbstractInjectionTargetBean<Object>)bean);   
-                    }                                        
-                }
+                    }                                                            
+                }                
                 
                 //Check passivation scope
                 checkPassivationScope(bean);

Modified: openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/decorator/OwbDecorator.java
URL: http://svn.apache.org/viewvc/openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/decorator/OwbDecorator.java?rev=924943&r1=924942&r2=924943&view=diff
==============================================================================
--- openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/decorator/OwbDecorator.java (original)
+++ openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/decorator/OwbDecorator.java Thu Mar 18 18:43:32 2010
@@ -26,8 +26,9 @@ import javax.enterprise.context.spi.Crea
 import javax.enterprise.inject.spi.Decorator;
 
 import org.apache.webbeans.component.AbstractOwbBean;
+import org.apache.webbeans.component.InterceptedMarker;
 
-public interface OwbDecorator<T> extends Decorator<T>
+public interface OwbDecorator<T> extends Decorator<T>, InterceptedMarker
 {
     public boolean isDecoratorMatch(Set<Type> apiTypes, Set<Annotation> annotations);