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/02/07 16:14:09 UTC

svn commit: r907429 - in /openwebbeans/trunk/webbeans-impl/src: main/java/org/apache/webbeans/config/ main/java/org/apache/webbeans/container/ main/java/org/apache/webbeans/decorator/ main/java/org/apache/webbeans/intercept/ main/java/org/apache/webbea...

Author: gerdogdu
Date: Sun Feb  7 15:14:09 2010
New Revision: 907429

URL: http://svn.apache.org/viewvc?rev=907429&view=rev
Log:
Update while running TCK

Modified:
    openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/config/BeansDeployer.java
    openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/config/DefinitionUtil.java
    openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/container/BeanManagerImpl.java
    openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/decorator/DecoratorsManager.java
    openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/decorator/WebBeansDecorator.java
    openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/intercept/InterceptorHandler.java
    openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/intercept/NormalScopedBeanInterceptorHandler.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/ClassUtil.java
    openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/util/WebBeansUtil.java
    openwebbeans/trunk/webbeans-impl/src/test/java/org/apache/webbeans/newtests/decorators/common/ConversationDecorator.java
    openwebbeans/trunk/webbeans-impl/src/test/java/org/apache/webbeans/newtests/decorators/multiple/OutputProvider.java
    openwebbeans/trunk/webbeans-impl/src/test/java/org/apache/webbeans/test/component/decorator/clean/LargeTransactionDecorator.java
    openwebbeans/trunk/webbeans-impl/src/test/java/org/apache/webbeans/test/component/decorator/clean/ServiceDecorator.java

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=907429&r1=907428&r2=907429&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 Sun Feb  7 15:14:09 2010
@@ -23,6 +23,7 @@
 import java.util.Map;
 import java.util.Set;
 
+import javax.decorator.Delegate;
 import javax.enterprise.context.NormalScope;
 import javax.enterprise.inject.Model;
 import javax.enterprise.inject.Specializes;
@@ -307,7 +308,17 @@
                 {
                     for (InjectionPoint injectionPoint : injectionPoints)
                     {
-                        manager.validate(injectionPoint);
+                        if(!injectionPoint.isDelegate())
+                        {
+                            manager.validate(injectionPoint);   
+                        }
+                        else
+                        {
+                            if(!bean.getBeanClass().isAnnotationPresent(javax.decorator.Decorator.class))
+                            {
+                                throw new WebBeansConfigurationException("Delegate injection points can not defined by beans that are not decorator. Injection point : " + injectionPoint);
+                            }
+                        }
                     }                    
                 }
             }

Modified: openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/config/DefinitionUtil.java
URL: http://svn.apache.org/viewvc/openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/config/DefinitionUtil.java?rev=907429&r1=907428&r2=907429&view=diff
==============================================================================
--- openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/config/DefinitionUtil.java (original)
+++ openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/config/DefinitionUtil.java Sun Feb  7 15:14:09 2010
@@ -839,10 +839,13 @@
                 
                 Annotation[] anns = field.getDeclaredAnnotations();
 
-                // Injected fields can not be @Decorates or @Produces
-                if (AnnotationUtil.hasAnnotation(anns, Produces.class) || AnnotationUtil.hasAnnotation(anns, Delegate.class))
+                // Injected fields can not be @Produces
+                if (AnnotationUtil.hasAnnotation(anns, Produces.class))
                 {
-                    continue;
+                    if(!useOwbSpecificInjection)
+                    {
+                        throw new WebBeansConfigurationException("Injection fields can not be annotated with @Produces");
+                    }
                 }
 
                 Annotation[] qualifierAnns = AnnotationUtil.getQualifierAnnotations(anns);

Modified: openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/container/BeanManagerImpl.java
URL: http://svn.apache.org/viewvc/openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/container/BeanManagerImpl.java?rev=907429&r1=907428&r2=907429&view=diff
==============================================================================
--- openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/container/BeanManagerImpl.java (original)
+++ openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/container/BeanManagerImpl.java Sun Feb  7 15:14:09 2010
@@ -29,6 +29,7 @@
 import java.util.concurrent.CopyOnWriteArrayList;
 import java.util.concurrent.CopyOnWriteArraySet;
 
+import javax.decorator.Delegate;
 import javax.el.ELResolver;
 import javax.el.ExpressionFactory;
 import javax.enterprise.context.ContextNotActiveException;
@@ -924,6 +925,7 @@
     public void validate(InjectionPoint injectionPoint)
     {
         Bean<?> bean = injectionPoint.getBean();
+                
         //Check for correct injection type
         this.injectionResolver.checkInjectionPointType(injectionPoint);
         

Modified: openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/decorator/DecoratorsManager.java
URL: http://svn.apache.org/viewvc/openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/decorator/DecoratorsManager.java?rev=907429&r1=907428&r2=907429&view=diff
==============================================================================
--- openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/decorator/DecoratorsManager.java (original)
+++ openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/decorator/DecoratorsManager.java Sun Feb  7 15:14:09 2010
@@ -16,7 +16,10 @@
 import java.util.List;
 import java.util.concurrent.CopyOnWriteArrayList;
 
+import javax.decorator.Decorator;
+
 import org.apache.webbeans.config.WebBeansFinder;
+import org.apache.webbeans.exception.WebBeansConfigurationException;
 import org.apache.webbeans.util.Asserts;
 
 public class DecoratorsManager
@@ -40,6 +43,11 @@
         Asserts.assertNotNull(decoratorClazz, "decoratorClazz parameter can not be emtpy");
         if (!enabledDecorators.contains(decoratorClazz))
         {
+            if(!decoratorClazz.isAnnotationPresent(Decorator.class))
+            {
+                throw new WebBeansConfigurationException("Given class : " + decoratorClazz + " is not a decorator class");
+            }
+            
             enabledDecorators.add(decoratorClazz);
         }
     }

Modified: openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/decorator/WebBeansDecorator.java
URL: http://svn.apache.org/viewvc/openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/decorator/WebBeansDecorator.java?rev=907429&r1=907428&r2=907429&view=diff
==============================================================================
--- openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/decorator/WebBeansDecorator.java (original)
+++ openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/decorator/WebBeansDecorator.java Sun Feb  7 15:14:09 2010
@@ -15,6 +15,8 @@
 
 import java.io.Serializable;
 import java.lang.annotation.Annotation;
+import java.lang.reflect.AnnotatedElement;
+import java.lang.reflect.Constructor;
 import java.lang.reflect.Field;
 import java.lang.reflect.Method;
 import java.lang.reflect.Type;
@@ -27,12 +29,14 @@
 import javax.enterprise.inject.spi.Bean;
 import javax.enterprise.inject.spi.Decorator;
 import javax.enterprise.inject.spi.InjectionPoint;
+import javax.inject.Inject;
 
 import org.apache.webbeans.component.AbstractBean;
 import org.apache.webbeans.component.ManagedBean;
 import org.apache.webbeans.component.WebBeansType;
 import org.apache.webbeans.config.OWBLogConst;
 import org.apache.webbeans.container.BeanManagerImpl;
+import org.apache.webbeans.exception.WebBeansConfigurationException;
 import org.apache.webbeans.exception.WebBeansException;
 import org.apache.webbeans.inject.InjectableField;
 import org.apache.webbeans.inject.InjectableMethods;
@@ -62,9 +66,11 @@
 
     /** Delegate field class type */
     protected Type delegateType;
-
+    
     /** Delegate field bindings */
     protected Set<Annotation> delegateBindings = new HashSet<Annotation>();
+    
+    protected Field delegateField;
 
     /** Wrapped bean*/
     private AbstractBean<T> wrappedBean;
@@ -97,47 +103,73 @@
 
     protected void initDelegate()
     {
-        Field field = ClassUtil.getFieldWithAnnotation(this.clazz, Delegate.class);
-        
-        if(field == null)
+        Set<InjectionPoint> injectionPoints = getInjectionPoints();
+        boolean found = false;
+        InjectionPoint ipFound = null;
+        for(InjectionPoint ip : injectionPoints)
         {
-            initDelegateRecursively(this.clazz);
+            if(ip.getAnnotated().isAnnotationPresent(Delegate.class))
+            {
+                if(!found)
+                {
+                    found = true;
+                    ipFound = ip;                    
+                }
+                else
+                {
+                    throw new WebBeansConfigurationException("Decorators must have a one @Delegate injection point. " +
+                    		"But the decorator bean : " + toString() + " has more than one");
+                }
+            }            
         }
-        else
+        
+        
+        if(ipFound == null)
         {
-            initDelegateInternal(field);
+            throw new WebBeansConfigurationException("Decorators must have a one @Delegate injection point." +
+                    "But the decorator bean : " + toString() + " has none");
         }
-    }
-    
-    private void initDelegateRecursively(Class<?> delegateClazz)
-    {
-        Class<?> superClazz = delegateClazz.getSuperclass();
-        if(!superClazz.equals(Object.class))
+        
+        String message = new String("Error in decorator : "+ toString() + ". The delegate injection point must be an injected field, " +
+        		"initializer method parameter or bean constructor method parameter. ");
+        
+        if(!(ipFound.getMember() instanceof Constructor))
         {
-            Field field = ClassUtil.getFieldWithAnnotation(superClazz, Delegate.class);
-            if(field != null)
+            AnnotatedElement element = (AnnotatedElement)ipFound.getMember();
+            if(!element.isAnnotationPresent(Inject.class))
             {
-                initDelegateInternal(field);
-            }
-            else
-            {
-                initDelegateRecursively(superClazz);
-            }
+                throw new WebBeansConfigurationException(message);
+            }                
         }
+        
+        initDelegateInternal(ipFound);
+        
     }
     
-    private void initDelegateInternal(Field field)
+    
+    private void initDelegateInternal(InjectionPoint ip)
     {
-        this.delegateType = field.getGenericType();
-
-        Annotation[] anns = field.getAnnotations();
-
-        for (Annotation ann : anns)
+        this.delegateType = ip.getType();
+        this.delegateBindings = ip.getQualifiers();
+        
+        if(ip.getMember() instanceof Field)
+        {
+            this.delegateField = (Field)ip.getMember();
+        }
+        else
         {
-            if (AnnotationUtil.isQualifierAnnotation(ann.annotationType()))
+            Field[] fields = ClassUtil.getFieldsWithType(returnType, delegateType);
+            if(fields.length == 0)
+            {
+                throw new WebBeansConfigurationException("Delegate injection field is not found for decorator : " + toString());
+            }
+            
+            if(fields.length > 0)
             {
-                this.delegateBindings.add(ann);
+                throw new WebBeansConfigurationException("More than one delegate injection field is found for decorator : " + toString());
             }
+            
+            this.delegateField = fields[0];
         }
         
     }
@@ -209,15 +241,14 @@
 
     public void setDelegate(Object instance, Object delegate)
     {
-        Field field = ClassUtil.getFieldWithAnnotation(getClazz(), Delegate.class);
-        if (!field.isAccessible())
+        if (!delegateField.isAccessible())
         {
-            field.setAccessible(true);
+            delegateField.setAccessible(true);
         }
 
         try
         {
-            field.set(instance, delegate);
+            delegateField.set(instance, delegate);
 
         }
         catch (IllegalArgumentException e)
@@ -228,7 +259,7 @@
         }
         catch (IllegalAccessException e)
         {
-            logger.error(OWBLogConst.ERROR_0015, new Object[]{field.getName(), instance.getClass().getName()}, e);
+            logger.error(OWBLogConst.ERROR_0015, new Object[]{delegateField.getName(), instance.getClass().getName()}, e);
         }
 
     }

Modified: openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/intercept/InterceptorHandler.java
URL: http://svn.apache.org/viewvc/openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/intercept/InterceptorHandler.java?rev=907429&r1=907428&r2=907429&view=diff
==============================================================================
--- openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/intercept/InterceptorHandler.java (original)
+++ openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/intercept/InterceptorHandler.java Sun Feb  7 15:14:09 2010
@@ -13,6 +13,9 @@
  */
 package org.apache.webbeans.intercept;
 
+import java.io.IOException;
+import java.io.ObjectInputStream;
+import java.io.ObjectOutputStream;
 import java.io.Serializable;
 import java.lang.reflect.InvocationTargetException;
 import java.lang.reflect.Method;
@@ -135,6 +138,8 @@
  */
 public abstract class InterceptorHandler implements MethodHandler, Serializable
 {
+    private static final WebBeansLogger logger = WebBeansLogger.getLogger(InterceptorHandler.class);
+    
     protected AbstractBean<?> bean = null;
 
     protected InterceptorHandler(AbstractBean<?> bean)
@@ -333,5 +338,31 @@
         }
         
     }
+    
+    private  void writeObject(ObjectOutputStream s) throws IOException
+    {
+        if(WebBeansUtil.isPassivationCapable(this.bean) != null)
+        {
+            s.writeByte(1);
+            s.writeUTF(this.bean.getId());   
+        }
+        else
+        {
+            logger.warn("Trying to serialize not passivated capable bean proxy : " + this.bean);
+            s.writeByte(0);
+        }
+    }
+    
+    private  void readObject(ObjectInputStream s) throws IOException, ClassNotFoundException
+    {
+        if( s.readByte() == 1)
+        {
+            this.bean = (AbstractBean<?>)BeanManagerImpl.getManager().getPassivationCapableBean(s.readUTF());   
+        }
+        else
+        {
+            logger.warn("Trying to deserialize not passivated capable bean proxy : " + this.bean);
+        }
+    }
 
 }

Modified: openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/intercept/NormalScopedBeanInterceptorHandler.java
URL: http://svn.apache.org/viewvc/openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/intercept/NormalScopedBeanInterceptorHandler.java?rev=907429&r1=907428&r2=907429&view=diff
==============================================================================
--- openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/intercept/NormalScopedBeanInterceptorHandler.java (original)
+++ openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/intercept/NormalScopedBeanInterceptorHandler.java Sun Feb  7 15:14:09 2010
@@ -28,7 +28,7 @@
 import org.apache.webbeans.component.AbstractBean;
 import org.apache.webbeans.container.BeanManagerImpl;
 
-public class NormalScopedBeanInterceptorHandler extends InterceptorHandler
+public class NormalScopedBeanInterceptorHandler extends InterceptorHandler 
 {
     private static final long serialVersionUID = -7169354477951284657L;
 

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=907429&r1=907428&r2=907429&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 Sun Feb  7 15:14:09 2010
@@ -165,12 +165,13 @@
     private static void addMethodInterceptors(Class<?> clazz, List<InterceptorData> stack, Set<Interceptor<?>> componentInterceptors)
     {
         Method[] methods = clazz.getDeclaredMethods();
-        Set<Annotation> interceptorAnns = new HashSet<Annotation>();
-
+        
         for (Method method : methods)
         {
+            Set<Annotation> interceptorAnns = new HashSet<Annotation>();
+
             if (AnnotationUtil.hasInterceptorBindingMetaAnnotation(method.getAnnotations()))
-            {
+            {                
                 Annotation[] anns = AnnotationUtil.getInterceptorBindingMetaAnnotations(method.getDeclaredAnnotations());
                 Annotation[] annsClazz = AnnotationUtil.getInterceptorBindingMetaAnnotations(clazz.getDeclaredAnnotations());
 

Modified: openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/util/ClassUtil.java
URL: http://svn.apache.org/viewvc/openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/util/ClassUtil.java?rev=907429&r1=907428&r2=907429&view=diff
==============================================================================
--- openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/util/ClassUtil.java (original)
+++ openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/util/ClassUtil.java Sun Feb  7 15:14:09 2010
@@ -1755,6 +1755,26 @@
         return null;
 
     }
+    
+    public static Field[] getFieldsWithType(Class<?> clazz, Type type)
+    {
+        Asserts.nullCheckForClass(clazz);
+        Asserts.assertNotNull(type, "type parameter can not be null");
+
+        List<Field> fieldsWithType = new ArrayList<Field>();
+        Field[] fields = clazz.getDeclaredFields();
+        for (Field field : fields)
+        {
+            if(field.getType().equals(type))
+            {
+                fieldsWithType.add(field);
+            }
+        }
+
+        return fieldsWithType.toArray(new Field[0]);
+
+    }
+    
 
     public static boolean checkForTypeArguments(Class<?> src, Type[] typeArguments, Class<?> target)
     {

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=907429&r1=907428&r2=907429&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 Sun Feb  7 15:14:09 2010
@@ -646,31 +646,35 @@
      * Returns a new managed bean from given bean.
      * 
      * @param <T> bean type parameter
-     * @param component managed bean
+     * @param bean bean instance
      * @return the new bean from given managed bean
      */
-    public static <T> NewBean<T> createNewBean(ManagedBean<T> component)
+    public static <T> NewBean<T> createNewBean(AbstractInjectionTargetBean<T> bean)
     {
-        Asserts.assertNotNull(component, "component argument can not be null");
+        Asserts.assertNotNull(bean, "bean argument can not be null");
 
         NewBean<T> comp = null;
 
-        comp = new NewBean<T>(component.getReturnType(), WebBeansType.NEW);
+        comp = new NewBean<T>(bean.getReturnType(), WebBeansType.NEW);
+        
+        comp.getTypes().addAll(bean.getTypes());
         
-        DefinitionUtil.defineApiTypes(comp, component.getReturnType());
-        comp.setConstructor(component.getConstructor());
+        if(bean instanceof ManagedBean)
+        {
+            comp.setConstructor(((ManagedBean)bean).getConstructor());   
+        }
         
-        for(Field injectedField : component.getInjectedFields())
+        for(Field injectedField : bean.getInjectedFields())
         {
             comp.addInjectedField(injectedField);
         }
         
-        for(Method injectedMethod : component.getInjectedMethods())
+        for(Method injectedMethod : bean.getInjectedMethods())
         {
             comp.addInjectedMethod(injectedMethod);
         }
         
-        List<InterceptorData> interceptorList = component.getInterceptorStack();
+        List<InterceptorData> interceptorList = bean.getInterceptorStack();
         if(!interceptorList.isEmpty())
         {
             comp.getInterceptorStack().addAll(interceptorList);   
@@ -678,10 +682,10 @@
         
         
         comp.setImplScopeType(new DependentScopeLiteral());
-        comp.addQualifier(new NewLiteral(component.getBeanClass()));
+        comp.addQualifier(new NewLiteral(bean.getBeanClass()));
         comp.setName(null);
         
-        Set<InjectionPoint> injectionPoints = component.getInjectionPoints();
+        Set<InjectionPoint> injectionPoints = bean.getInjectionPoints();
         for(InjectionPoint injectionPoint : injectionPoints)
         {
             comp.addInjectionPoint(injectionPoint);

Modified: openwebbeans/trunk/webbeans-impl/src/test/java/org/apache/webbeans/newtests/decorators/common/ConversationDecorator.java
URL: http://svn.apache.org/viewvc/openwebbeans/trunk/webbeans-impl/src/test/java/org/apache/webbeans/newtests/decorators/common/ConversationDecorator.java?rev=907429&r1=907428&r2=907429&view=diff
==============================================================================
--- openwebbeans/trunk/webbeans-impl/src/test/java/org/apache/webbeans/newtests/decorators/common/ConversationDecorator.java (original)
+++ openwebbeans/trunk/webbeans-impl/src/test/java/org/apache/webbeans/newtests/decorators/common/ConversationDecorator.java Sun Feb  7 15:14:09 2010
@@ -16,11 +16,12 @@
 import javax.decorator.Decorator;
 import javax.decorator.Delegate;
 import javax.enterprise.context.Conversation;
+import javax.inject.Inject;
 
 @Decorator
 public class ConversationDecorator implements Conversation
 {
-    private @Delegate Conversation conversation;
+    private @Inject @Delegate Conversation conversation;
     
     public static boolean CALLED = false;
 

Modified: openwebbeans/trunk/webbeans-impl/src/test/java/org/apache/webbeans/newtests/decorators/multiple/OutputProvider.java
URL: http://svn.apache.org/viewvc/openwebbeans/trunk/webbeans-impl/src/test/java/org/apache/webbeans/newtests/decorators/multiple/OutputProvider.java?rev=907429&r1=907428&r2=907429&view=diff
==============================================================================
--- openwebbeans/trunk/webbeans-impl/src/test/java/org/apache/webbeans/newtests/decorators/multiple/OutputProvider.java (original)
+++ openwebbeans/trunk/webbeans-impl/src/test/java/org/apache/webbeans/newtests/decorators/multiple/OutputProvider.java Sun Feb  7 15:14:09 2010
@@ -18,7 +18,7 @@
 import javax.inject.Named;
 
 @RequestScoped
-@Named
+@Named("op")
 public class OutputProvider implements IOutputProvider
 {
 

Modified: openwebbeans/trunk/webbeans-impl/src/test/java/org/apache/webbeans/test/component/decorator/clean/LargeTransactionDecorator.java
URL: http://svn.apache.org/viewvc/openwebbeans/trunk/webbeans-impl/src/test/java/org/apache/webbeans/test/component/decorator/clean/LargeTransactionDecorator.java?rev=907429&r1=907428&r2=907429&view=diff
==============================================================================
--- openwebbeans/trunk/webbeans-impl/src/test/java/org/apache/webbeans/test/component/decorator/clean/LargeTransactionDecorator.java (original)
+++ openwebbeans/trunk/webbeans-impl/src/test/java/org/apache/webbeans/test/component/decorator/clean/LargeTransactionDecorator.java Sun Feb  7 15:14:09 2010
@@ -18,11 +18,12 @@
 import javax.decorator.Delegate;
 import javax.decorator.Decorator;
 import javax.enterprise.context.RequestScoped;
+import javax.inject.Inject;
 
 @Decorator
 public class LargeTransactionDecorator implements Account
 {
-    @Delegate Account account;
+    @Inject @Delegate Account account;
 
     BigDecimal depositeAmount = null;
     BigDecimal withDrawAmount = null;

Modified: openwebbeans/trunk/webbeans-impl/src/test/java/org/apache/webbeans/test/component/decorator/clean/ServiceDecorator.java
URL: http://svn.apache.org/viewvc/openwebbeans/trunk/webbeans-impl/src/test/java/org/apache/webbeans/test/component/decorator/clean/ServiceDecorator.java?rev=907429&r1=907428&r2=907429&view=diff
==============================================================================
--- openwebbeans/trunk/webbeans-impl/src/test/java/org/apache/webbeans/test/component/decorator/clean/ServiceDecorator.java (original)
+++ openwebbeans/trunk/webbeans-impl/src/test/java/org/apache/webbeans/test/component/decorator/clean/ServiceDecorator.java Sun Feb  7 15:14:09 2010
@@ -15,7 +15,7 @@
 
 import javax.decorator.Delegate;
 import javax.decorator.Decorator;
-import javax.enterprise.context.RequestScoped;
+import javax.inject.Inject;
 import javax.inject.Named;
 
 import org.apache.webbeans.test.annotation.binding.Binding1;
@@ -25,7 +25,7 @@
 @Named
 public  class ServiceDecorator implements IService
 {
-    @Delegate @Binding1 IService delegate;
+    @Inject @Delegate @Binding1 IService delegate;
 
     private String delegateAttr = null;