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/04 17:27:29 UTC
svn commit: r1428954 - in /openwebbeans/trunk:
webbeans-ejb/src/main/java/org/apache/webbeans/ejb/common/util/
webbeans-impl/src/main/java/org/apache/webbeans/component/creation/
webbeans-impl/src/main/java/org/apache/webbeans/config/
Author: arne
Date: Fri Jan 4 16:27:29 2013
New Revision: 1428954
URL: http://svn.apache.org/viewvc?rev=1428954&view=rev
Log:
OWB-745: Removed DefinitionUtil.defineDisposalMethods
Modified:
openwebbeans/trunk/webbeans-ejb/src/main/java/org/apache/webbeans/ejb/common/util/EjbUtility.java
openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/component/creation/AbstractInjectedTargetBeanCreator.java
openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/config/DefinitionUtil.java
openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/config/ManagedBeanConfigurator.java
Modified: openwebbeans/trunk/webbeans-ejb/src/main/java/org/apache/webbeans/ejb/common/util/EjbUtility.java
URL: http://svn.apache.org/viewvc/openwebbeans/trunk/webbeans-ejb/src/main/java/org/apache/webbeans/ejb/common/util/EjbUtility.java?rev=1428954&r1=1428953&r2=1428954&view=diff
==============================================================================
--- openwebbeans/trunk/webbeans-ejb/src/main/java/org/apache/webbeans/ejb/common/util/EjbUtility.java (original)
+++ openwebbeans/trunk/webbeans-ejb/src/main/java/org/apache/webbeans/ejb/common/util/EjbUtility.java Fri Jan 4 16:27:29 2013
@@ -233,7 +233,7 @@ public final class EjbUtility
manager.getBeans().addAll(producerMethodBeans);
manager.getBeans().addAll(producerFieldBeans);
- util.defineDisposalMethods(ejbBean, clazz);
+ webBeansContext.getAnnotatedTypeUtil().defineDisposalMethods(ejbBean, ejbBean.getAnnotatedType());
}
Modified: openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/component/creation/AbstractInjectedTargetBeanCreator.java
URL: http://svn.apache.org/viewvc/openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/component/creation/AbstractInjectedTargetBeanCreator.java?rev=1428954&r1=1428953&r2=1428954&view=diff
==============================================================================
--- openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/component/creation/AbstractInjectedTargetBeanCreator.java (original)
+++ openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/component/creation/AbstractInjectedTargetBeanCreator.java Fri Jan 4 16:27:29 2013
@@ -25,6 +25,7 @@ import javax.enterprise.inject.spi.Obser
import org.apache.webbeans.component.AbstractInjectionTargetBean;
import org.apache.webbeans.component.ProducerFieldBean;
import org.apache.webbeans.component.ProducerMethodBean;
+import org.apache.webbeans.config.WebBeansContext;
import org.apache.webbeans.util.WebBeansAnnotatedTypeUtil;
/**
@@ -36,6 +37,9 @@ import org.apache.webbeans.util.WebBeans
*/
public abstract class AbstractInjectedTargetBeanCreator<T> extends AbstractBeanCreator<T> implements InjectedTargetBeanCreator<T>
{
+
+ private WebBeansContext webBeansContext;
+
/**
* Creates a new instance.
*
@@ -44,6 +48,7 @@ public abstract class AbstractInjectedTa
public AbstractInjectedTargetBeanCreator(AbstractInjectionTargetBean<T> bean)
{
super(bean, bean.getAnnotatedType());
+ webBeansContext = bean.getWebBeansContext();
}
@@ -52,17 +57,7 @@ public abstract class AbstractInjectedTa
*/
public void defineDisposalMethods()
{
- AbstractInjectionTargetBean bean = getBean();
- if(isDefaultMetaDataProvider())
- {
-
- bean.getWebBeansContext().getDefinitionUtil().defineDisposalMethods(getBean());
- }
- else
- {
- bean.getWebBeansContext().getAnnotatedTypeUtil().defineDisposalMethods(getBean(), getAnnotatedType());
- }
-
+ webBeansContext.getAnnotatedTypeUtil().defineDisposalMethods(getBean(), getAnnotatedType());
}
/**
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=1428954&r1=1428953&r2=1428954&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 Fri Jan 4 16:27:29 2013
@@ -18,8 +18,6 @@
*/
package org.apache.webbeans.config;
-import static org.apache.webbeans.util.InjectionExceptionUtils.throwUnsatisfiedResolutionException;
-
import java.io.Serializable;
import java.lang.annotation.Annotation;
import java.lang.reflect.Constructor;
@@ -45,7 +43,6 @@ import javax.enterprise.inject.Typed;
import javax.enterprise.inject.spi.AnnotatedMethod;
import javax.enterprise.inject.spi.AnnotatedParameter;
import javax.enterprise.inject.spi.AnnotatedType;
-import javax.enterprise.inject.spi.Bean;
import javax.enterprise.inject.spi.InjectionPoint;
import javax.enterprise.inject.spi.ObserverMethod;
import javax.enterprise.util.Nonbinding;
@@ -70,7 +67,6 @@ import org.apache.webbeans.component.Pro
import org.apache.webbeans.component.ResourceBean;
import org.apache.webbeans.config.inheritance.IBeanInheritedMetaData;
import org.apache.webbeans.container.ExternalScope;
-import org.apache.webbeans.container.InjectionResolver;
import org.apache.webbeans.decorator.WebBeansDecoratorConfig;
import org.apache.webbeans.event.EventUtil;
import org.apache.webbeans.event.NotificationManager;
@@ -833,93 +829,6 @@ public final class DefinitionUtil
return component;
}
- public <T> void defineDisposalMethods(AbstractOwbBean<T> component)
- {
- Class<?> clazz = component.getReturnType();
-
- defineDisposalMethods(component, clazz);
-
- }
-
- public <T> void defineDisposalMethods(AbstractOwbBean<T> component, Class<?> clazz)
- {
- Method[] methods = AnnotationUtil.getMethodsWithParameterAnnotation(clazz, Disposes.class);
-
- // From Normal
- createDisposalMethods(component, methods, clazz);
- }
-
- private <T> void createDisposalMethods(AbstractOwbBean<T> component, Method[] methods, Class<?> clazz)
- {
- final AnnotationManager annotationManager = webBeansContext.getAnnotationManager();
-
- ProducerMethodBean<?> previous = null;
- for (Method declaredMethod : methods)
- {
-
- WebBeansUtil.checkProducerMethodDisposal(declaredMethod, clazz.getName());
-
- Type type = AnnotationUtil.getMethodFirstParameterWithAnnotation(declaredMethod, Disposes.class);
- Annotation[] annot = annotationManager.getMethodFirstParameterQualifierWithGivenAnnotation(declaredMethod, Disposes.class);
-
- InjectionResolver injectionResolver = webBeansContext.getBeanManagerImpl().getInjectionResolver();
-
- Set<Bean<?>> set = injectionResolver.implResolveByType(type, annot);
- Bean<?> bean = injectionResolver.resolve(set);
- if (bean == null)
- {
- throwUnsatisfiedResolutionException(clazz, declaredMethod, annot);
- }
-
- ProducerMethodBean<?> pr = null;
-
- if (!(bean instanceof ProducerMethodBean))
- {
- throwUnsatisfiedResolutionException(clazz, declaredMethod);
- }
-
- else
- {
- pr = (ProducerMethodBean<?>) bean;
- }
-
- if (previous == null)
- {
- previous = pr;
- }
- else
- {
- // multiple same producer
- if (previous.equals(pr))
- {
- throw new WebBeansConfigurationException("There are multiple disposal method for the producer method : " + pr.getCreatorMethod().getName()
- + " in class : " + clazz.getName());
- }
- }
-
- addMethodInjectionPointMetaData(component, declaredMethod);
-
- if (component instanceof EnterpriseBeanMarker)
- {
- final OpenWebBeansEjbPlugin ejbPlugin = webBeansContext.getPluginLoader().getEjbPlugin();
- declaredMethod = ejbPlugin.resolveViewMethod(component, declaredMethod);
- }
-
- pr.setDisposalMethod(declaredMethod);
-
- Method producerMethod = pr.getCreatorMethod();
-
- //Disposer methods and producer methods must be in the same class
- if(!producerMethod.getDeclaringClass().getName().equals(declaredMethod.getDeclaringClass().getName()))
- {
- throw new WebBeansConfigurationException("Producer method component of the disposal method : " + declaredMethod.getName() + " in class : "
- + clazz.getName() + " must be in the same class!");
- }
-
-
- }
- }
-
public <T> void defineInjectedFields(AbstractInjectionTargetBean<T> component)
{
Class<T> clazz = component.getReturnType();
Modified: openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/config/ManagedBeanConfigurator.java
URL: http://svn.apache.org/viewvc/openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/config/ManagedBeanConfigurator.java?rev=1428954&r1=1428953&r2=1428954&view=diff
==============================================================================
--- openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/config/ManagedBeanConfigurator.java (original)
+++ openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/config/ManagedBeanConfigurator.java Fri Jan 4 16:27:29 2013
@@ -176,7 +176,7 @@ public final class ManagedBeanConfigurat
}
- definitionUtil.defineDisposalMethods(component);
+ webBeansContext.getAnnotatedTypeUtil().defineDisposalMethods(component, component.getAnnotatedType());
definitionUtil.defineInjectedFields(component);
definitionUtil.defineInjectedMethods(component);
definitionUtil.defineObserverMethods(component, clazz);