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;