You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@openwebbeans.apache.org by st...@apache.org on 2013/01/18 13:46:31 UTC
svn commit: r1435116 - in
/openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans:
component/ context/creational/ intercept/
Author: struberg
Date: Fri Jan 18 12:46:30 2013
New Revision: 1435116
URL: http://svn.apache.org/viewvc?rev=1435116&view=rev
Log:
OWB-233 cleanup CeationalContext. Remove all Decorators and Interceptors
Modified:
openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/component/ProducerMethodBean.java
openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/context/creational/CreationalContextImpl.java
openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/context/creational/DependentCreationalContext.java
openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/intercept/InterceptorDataImpl.java
Modified: openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/component/ProducerMethodBean.java
URL: http://svn.apache.org/viewvc/openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/component/ProducerMethodBean.java?rev=1435116&r1=1435115&r2=1435116&view=diff
==============================================================================
--- openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/component/ProducerMethodBean.java (original)
+++ openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/component/ProducerMethodBean.java Fri Jan 18 12:46:30 2013
@@ -23,26 +23,19 @@ import java.lang.annotation.Annotation;
import java.lang.reflect.Method;
import java.lang.reflect.Modifier;
import java.lang.reflect.Type;
-import java.util.ArrayList;
import java.util.List;
import java.util.Map;
import java.util.Set;
import javax.enterprise.context.Dependent;
-import javax.enterprise.context.spi.Contextual;
import javax.enterprise.context.spi.CreationalContext;
import javax.enterprise.inject.spi.Bean;
-import javax.enterprise.inject.spi.InjectionPoint;
import javax.enterprise.inject.spi.InjectionTarget;
-import javax.enterprise.inject.spi.Producer;
import org.apache.webbeans.context.creational.CreationalContextImpl;
import org.apache.webbeans.context.creational.DependentCreationalContext;
-import org.apache.webbeans.context.creational.DependentCreationalContext.DependentType;
import org.apache.webbeans.exception.WebBeansConfigurationException;
-import org.apache.webbeans.inject.AbstractInjectable;
import org.apache.webbeans.inject.InjectableMethod;
-import org.apache.webbeans.portable.ProducerMethodProducer;
import org.apache.webbeans.util.ClassUtil;
import org.apache.webbeans.util.WebBeansUtil;
Modified: openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/context/creational/CreationalContextImpl.java
URL: http://svn.apache.org/viewvc/openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/context/creational/CreationalContextImpl.java?rev=1435116&r1=1435115&r2=1435116&view=diff
==============================================================================
--- openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/context/creational/CreationalContextImpl.java (original)
+++ openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/context/creational/CreationalContextImpl.java Fri Jan 18 12:46:30 2013
@@ -25,20 +25,14 @@ import java.io.Serializable;
import java.util.ArrayList;
import java.util.Collection;
import java.util.HashMap;
-import java.util.Iterator;
import java.util.List;
import java.util.Map;
-import java.util.concurrent.ConcurrentHashMap;
-import java.util.concurrent.ConcurrentMap;
import javax.enterprise.context.spi.Contextual;
import javax.enterprise.context.spi.CreationalContext;
import javax.enterprise.inject.spi.Bean;
-import javax.enterprise.inject.spi.Decorator;
-import javax.enterprise.inject.spi.Interceptor;
import org.apache.webbeans.config.WebBeansContext;
-import org.apache.webbeans.context.creational.DependentCreationalContext.DependentType;
import org.apache.webbeans.exception.WebBeansException;
import org.apache.webbeans.util.Asserts;
import org.apache.webbeans.util.WebBeansUtil;
@@ -64,10 +58,6 @@ public class CreationalContextImpl<T> im
/**Contextual bean*/
private Contextual<T> contextual = null;
-
- /**Ejb interceptors*/
- //contextual instance --> interceptors
- private ConcurrentMap<Object, List<EjbInterceptorContext>> ejbInterceptors = null;
private WebBeansContext webBeansContext;
@@ -91,69 +81,6 @@ public class CreationalContextImpl<T> im
return webBeansContext;
}
- /**
- * Add interceptor instance.
- * @param ownerInstance
- * @param instance interceptor instance
- */
- public void addEjbInterceptor(Object ownerInstance, EjbInterceptorContext instance)
- {
- Asserts.assertNotNull(ownerInstance,"Owner instance parameter can not be null");
- Asserts.assertNotNull(instance,"Instance parameter can not be null");
-
- List<EjbInterceptorContext> list = null;
- if (ejbInterceptors == null)
- {
- ejbInterceptors = new ConcurrentHashMap<Object, List<EjbInterceptorContext>>();
- }
- else
- {
- list = ejbInterceptors.get(ownerInstance);
- }
-
- if(list == null)
- {
- list = new ArrayList<EjbInterceptorContext>();
- List<EjbInterceptorContext> oldList = ejbInterceptors.putIfAbsent(ownerInstance, list);
- if(oldList != null)
- {
- list = oldList;
- }
- }
-
-
- list.add(instance);
- }
-
- /**
- * Gets interceptor instance.
- * @param clazz interceptor class
- * @return interceptor instance
- */
- public EjbInterceptorContext getEjbInterceptor(Object ownerInstance,Class<?> clazz)
- {
- Asserts.assertNotNull(ownerInstance,"Owner instance can not be null");
-
- if (ejbInterceptors == null)
- {
- return null;
- }
-
- List<EjbInterceptorContext> ejbInts = ejbInterceptors.get(ownerInstance);
- if(ejbInts != null)
- {
- for(EjbInterceptorContext ejbInterceptor : ejbInts)
- {
- if(ejbInterceptor.getInterceptorClass() == clazz)
- {
- return ejbInterceptor;
- }
- }
- }
-
- return null;
- }
-
public T getDelegate()
{
return this.delegate;
@@ -193,19 +120,6 @@ public class CreationalContextImpl<T> im
if(instance != null)
{
DependentCreationalContext<K> dependentCreational = new DependentCreationalContext<K>(dependent);
- if(dependent instanceof Interceptor)
- {
- dependentCreational.setDependentType(DependentType.INTERCEPTOR);
- }
- else if(dependent instanceof Decorator)
- {
- dependentCreational.setDependentType(DependentType.DECORATOR);
- }
- else
- {
- dependentCreational.setDependentType(DependentType.BEAN);
- }
-
dependentCreational.setInstance(instance);
synchronized(this)
@@ -227,43 +141,6 @@ public class CreationalContextImpl<T> im
}
}
- /**
- * Gets bean interceptor instance.
- * @param interceptor interceptor bean
- * @return bean interceptor instance
- */
- public Object getDependentInterceptor(Object ownerInstance, Contextual<?> interceptor)
- {
- Asserts.assertNotNull(interceptor,"Interceptor parameter can not be null");
-
- if(ownerInstance == null || dependentObjects == null)
- {
- return null;
- }
-
- synchronized(this)
- {
- if (dependentObjects != null)
- {
- List<DependentCreationalContext<?>> values = dependentObjects.get(ownerInstance);
- if (values != null && !values.isEmpty())
- {
- Iterator<DependentCreationalContext<?>> it = values.iterator();
- while (it.hasNext())
- {
- DependentCreationalContext<?> dc = it.next();
- if (dc.getDependentType().equals(DependentType.INTERCEPTOR) &&
- dc.getContextual().equals(interceptor))
- {
- return dc.getInstance();
- }
- }
- }
- }
- }
-
- return null;
- }
@SuppressWarnings("unchecked")
@@ -309,12 +186,6 @@ public class CreationalContextImpl<T> im
}
}
- // the instances are managed as normal dependent instances already
- if (ejbInterceptors != null)
- {
- ejbInterceptors.clear();
- ejbInterceptors = null;
- }
}
/**
@@ -352,7 +223,6 @@ public class CreationalContextImpl<T> im
{
s.writeObject(null);
}
- s.writeObject(ejbInterceptors);
}
@@ -371,30 +241,25 @@ public class CreationalContextImpl<T> im
{
contextual = (Contextual<T>) webBeansContext.getBeanManagerImpl().getPassivationCapableBean(id);
}
-
- ejbInterceptors = (ConcurrentMap<Object, List<EjbInterceptorContext>>) s.readObject();
- }
-// private static volatile int ids = 0;
-// private final int id = ids++;
+ }
@Override
public String toString()
{
- final String name;
+ final StringBuilder sb = new StringBuilder("CreationalContext{name=");
if (contextual instanceof Bean)
{
Bean bean = (Bean) contextual;
- name = bean.getBeanClass().getSimpleName();
+ sb.append(bean.getBeanClass().getSimpleName());
}
else
{
- name = "unknown";
+ sb.append("unknown");
}
- return String.format("CreationalContext{name=%s}", name);
-// return String.format("CreationalContext{id=%s, name=%s}", id, name);
+ return sb.append("}").toString();
}
}
Modified: openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/context/creational/DependentCreationalContext.java
URL: http://svn.apache.org/viewvc/openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/context/creational/DependentCreationalContext.java?rev=1435116&r1=1435115&r2=1435116&view=diff
==============================================================================
--- openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/context/creational/DependentCreationalContext.java (original)
+++ openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/context/creational/DependentCreationalContext.java Fri Jan 18 12:46:30 2013
@@ -39,8 +39,6 @@ public class DependentCreationalContext<
private Contextual<S> contextual;
- private DependentType dependentType;
-
private Object instance;
/**
@@ -60,37 +58,12 @@ public class DependentCreationalContext<
this.instance = instance;
}
-
- public enum DependentType
- {
- DECORATOR,
- INTERCEPTOR,
- BEAN
- }
public DependentCreationalContext(Contextual<S> contextual)
{
this.contextual = contextual;
}
-
- /**
- * @return the dependentType
- */
- public DependentType getDependentType()
- {
- return dependentType;
- }
-
-
-
- /**
- * @param dependentType the dependentType to set
- */
- public void setDependentType(DependentType dependentType)
- {
- this.dependentType = dependentType;
- }
/**
* @return the contextual
@@ -103,7 +76,6 @@ public class DependentCreationalContext<
private void writeObject(ObjectOutputStream s)
throws IOException
{
- s.writeObject(dependentType);
s.writeObject(instance);
//Write for contextual
@@ -131,7 +103,6 @@ public class DependentCreationalContext<
private void readObject(ObjectInputStream s)
throws IOException, ClassNotFoundException
{
- dependentType = (DependentType) s.readObject();
instance = s.readObject();
//Read for contextual
Modified: openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/intercept/InterceptorDataImpl.java
URL: http://svn.apache.org/viewvc/openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/intercept/InterceptorDataImpl.java?rev=1435116&r1=1435115&r2=1435116&view=diff
==============================================================================
--- openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/intercept/InterceptorDataImpl.java (original)
+++ openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/intercept/InterceptorDataImpl.java Fri Jan 18 12:46:30 2013
@@ -20,23 +20,16 @@ package org.apache.webbeans.intercept;
import java.lang.annotation.Annotation;
import java.lang.reflect.Method;
-import java.util.logging.Level;
import java.util.logging.Logger;
import javax.annotation.PostConstruct;
import javax.annotation.PreDestroy;
-import javax.enterprise.context.spi.CreationalContext;
import javax.enterprise.inject.spi.Interceptor;
import javax.interceptor.AroundInvoke;
-import org.apache.webbeans.config.OWBLogConst;
import org.apache.webbeans.config.WebBeansContext;
-import org.apache.webbeans.container.BeanManagerImpl;
import org.apache.webbeans.context.creational.CreationalContextImpl;
-import org.apache.webbeans.context.creational.EjbInterceptorContext;
import org.apache.webbeans.decorator.WebBeansDecoratorInterceptor;
-import org.apache.webbeans.inject.OWBInjector;
-import org.apache.webbeans.intercept.webbeans.WebBeansInterceptorBeanPleaseRemove;
import org.apache.webbeans.logger.WebBeansLoggerFacade;
import org.apache.webbeans.plugins.OpenWebBeansEjbLCAPlugin;
@@ -411,62 +404,8 @@ public class InterceptorDataImpl impleme
@SuppressWarnings("unchecked")
public Object createNewInstance(Object ownerInstance, CreationalContextImpl<?> ownerCreationalContext)
{
- // check for this InterceptorData is defined by interceptor class
- if (isDefinedWithWebBeansInterceptor && definedInInterceptorClass)
- {
- Object interceptor;
-
- // Means that it is the last interceptor added by InterceptorHandler
- if (webBeansInterceptor == null)
- {
- return decoratorInterceptor;
- }
-
- interceptor = ownerCreationalContext.getDependentInterceptor(ownerInstance, webBeansInterceptor);
- // There is no define interceptor, define and add it into dependent
- if (interceptor == null)
- {
- BeanManagerImpl manager = webBeansContext.getBeanManagerImpl();
-
- WebBeansInterceptorBeanPleaseRemove<Object> actualInterceptor = (WebBeansInterceptorBeanPleaseRemove<Object>) webBeansInterceptor;
- CreationalContext<?> creationalContext = manager.createCreationalContext(webBeansInterceptor);
- interceptor = manager.getReference(webBeansInterceptor, actualInterceptor.getBeanClass(), creationalContext);
-
- ownerCreationalContext.addDependent(ownerInstance, (WebBeansInterceptorBeanPleaseRemove<Object>) webBeansInterceptor, interceptor);
- }
- return interceptor;
- }
-
- EjbInterceptorContext ejbInterceptorContext ;
- Object interceptor = null;
- // control for this InterceptorData is defined by interceptor class
- if (definedInInterceptorClass)
- {
- ejbInterceptorContext = ownerCreationalContext.getEjbInterceptor(ownerInstance, interceptorClass);
- if (ejbInterceptorContext == null)
- {
- interceptor = webBeansContext.getWebBeansUtil().newInstanceForced(interceptorClass);
- try
- {
- OWBInjector.inject(webBeansContext.getBeanManagerImpl(), interceptor, ownerCreationalContext);
-
- ejbInterceptorContext = new EjbInterceptorContext();
- ejbInterceptorContext.setInterceptorInstance(interceptor);
- ejbInterceptorContext.setInterceptorClass(interceptorClass);
- }
- catch (Exception e)
- {
- logger.log(Level.SEVERE, WebBeansLoggerFacade.constructMessage(OWBLogConst.ERROR_0022, interceptorClass), e);
- }
-
- ownerCreationalContext.addEjbInterceptor(ownerInstance, ejbInterceptorContext);
- }
- else
- {
- interceptor = ejbInterceptorContext.getInterceptorInstance();
- }
- }
- return interceptor;
+ // this got pruned completely...
+ return null;
}
@Override