You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@openwebbeans.apache.org by ar...@apache.org on 2013/01/19 00:59:27 UTC
svn commit: r1435420 - in /openwebbeans/trunk/webbeans-impl/src:
main/java/org/apache/webbeans/component/creation/DecoratorBeanBuilder.java
main/java/org/apache/webbeans/portable/InjectionTargetImpl.java
test/java/org/apache/webbeans/test/TestContext.java
Author: arne
Date: Fri Jan 18 23:59:26 2013
New Revision: 1435420
URL: http://svn.apache.org/viewvc?rev=1435420&view=rev
Log:
OWB-344: Abstract decorator work in progress
Modified:
openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/component/creation/DecoratorBeanBuilder.java
openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/portable/InjectionTargetImpl.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/DecoratorBeanBuilder.java
URL: http://svn.apache.org/viewvc/openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/component/creation/DecoratorBeanBuilder.java?rev=1435420&r1=1435419&r2=1435420&view=diff
==============================================================================
--- openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/component/creation/DecoratorBeanBuilder.java (original)
+++ openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/component/creation/DecoratorBeanBuilder.java Fri Jan 18 23:59:26 2013
@@ -350,7 +350,7 @@ public class DecoratorBeanBuilder<T> ext
*/
private static class AbstractDecoratorInjectionTarget<T> extends InjectionTargetImpl<T>
{
- private Class<? extends T> proxySubClass = null;
+ private Class<T> proxySubClass = null;
private AbstractDecoratorInjectionTarget(AnnotatedType<T> annotatedType, Set<InjectionPoint> points, WebBeansContext webBeansContext,
List<AnnotatedMethod<?>> postConstructMethods, List<AnnotatedMethod<?>> preDestroyMethods)
@@ -359,24 +359,13 @@ public class DecoratorBeanBuilder<T> ext
}
@Override
- protected AnnotatedConstructor<T> getConstructor()
+ protected AnnotatedConstructor<T> createConstructor()
{
- if (constructor != null)
- {
- return constructor;
- }
- else
- {
- //X TODO create proxy subclass
-
- Constructor<T> ct = webBeansContext.getWebBeansUtil().getNoArgConstructor(proxySubClass);
- this.constructor = new AnnotatedConstructorImpl<T>(webBeansContext, ct, annotatedType);
-
- //X TODO what about @Inject constructors?
-
- }
-
- return constructor;
+ //X TODO create proxy subclass
+
+ //X TODO what about @Inject constructors?
+ Constructor<T> ct = webBeansContext.getWebBeansUtil().getNoArgConstructor(proxySubClass);
+ return new AnnotatedConstructorImpl<T>(webBeansContext, ct, annotatedType);
}
}
Modified: openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/portable/InjectionTargetImpl.java
URL: http://svn.apache.org/viewvc/openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/portable/InjectionTargetImpl.java?rev=1435420&r1=1435419&r2=1435420&view=diff
==============================================================================
--- openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/portable/InjectionTargetImpl.java (original)
+++ openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/portable/InjectionTargetImpl.java Fri Jan 18 23:59:26 2013
@@ -387,10 +387,15 @@ public class InjectionTargetImpl<T> exte
protected AnnotatedConstructor<T> getConstructor()
{
- if (constructor != null)
+ if (constructor == null)
{
- return constructor;
+ constructor = createConstructor();
}
+ return constructor;
+ }
+
+ protected AnnotatedConstructor<T> createConstructor()
+ {
AnnotatedConstructor<T> constructor = null;
for (InjectionPoint injectionPoint : getInjectionPoints())
{
@@ -409,13 +414,12 @@ public class InjectionTargetImpl<T> exte
}
if (constructor != null)
{
- this.constructor = constructor;
+ return constructor;
}
else
{
- this.constructor = new AnnotatedConstructorImpl<T>(webBeansContext, getDefaultConstructor(), annotatedType);
+ return new AnnotatedConstructorImpl<T>(webBeansContext, getDefaultConstructor(), annotatedType);
}
- return this.constructor;
}
private Constructor<T> getDefaultConstructor()
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=1435420&r1=1435419&r2=1435420&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 Fri Jan 18 23:59:26 2013
@@ -487,7 +487,6 @@ public abstract class TestContext implem
* @return the newly created Simple WebBean Component
* @throws WebBeansConfigurationException if any configuration exception occurs
*/
- @SuppressWarnings("unchecked")
private <T> ManagedBean<T> define(Class<T> clazz, WebBeansType type, AnnotatedType<T> anntotatedType) throws WebBeansConfigurationException
{
WebBeansContext webBeansContext = WebBeansContext.currentInstance();