Weld SVN: r5449 - core/trunk/tests.
by weld-commits@lists.jboss.org
Author: pete.muir(a)jboss.org
Date: 2010-01-13 08:53:14 -0500 (Wed, 13 Jan 2010)
New Revision: 5449
Modified:
core/trunk/tests/unit-tests.xml
Log:
minor
Modified: core/trunk/tests/unit-tests.xml
===================================================================
--- core/trunk/tests/unit-tests.xml 2010-01-12 16:55:05 UTC (rev 5448)
+++ core/trunk/tests/unit-tests.xml 2010-01-13 13:53:14 UTC (rev 5449)
@@ -1,6 +1,6 @@
<!DOCTYPE suite SYSTEM "http://testng.org/testng-1.0.dtd" >
-<suite name="Weld" verbose="0" >
+<suite name="Weld" verbose="0">
<test name="Weld">
<method-selectors>
14 years, 4 months
Weld SVN: r5448 - in core/trunk/impl/src/main/java/org/jboss/weld: logging and 1 other directories.
by weld-commits@lists.jboss.org
Author: pete.muir(a)jboss.org
Date: 2010-01-12 11:55:05 -0500 (Tue, 12 Jan 2010)
New Revision: 5448
Modified:
core/trunk/impl/src/main/java/org/jboss/weld/bean/AbstractProducerBean.java
core/trunk/impl/src/main/java/org/jboss/weld/logging/WeldMessageConveyor.java
core/trunk/impl/src/main/java/org/jboss/weld/resources/ClassTransformer.java
Log:
WELD-262
Modified: core/trunk/impl/src/main/java/org/jboss/weld/bean/AbstractProducerBean.java
===================================================================
--- core/trunk/impl/src/main/java/org/jboss/weld/bean/AbstractProducerBean.java 2010-01-12 14:06:01 UTC (rev 5447)
+++ core/trunk/impl/src/main/java/org/jboss/weld/bean/AbstractProducerBean.java 2010-01-12 16:55:05 UTC (rev 5448)
@@ -42,7 +42,7 @@
import java.lang.reflect.WildcardType;
import java.util.HashSet;
import java.util.Set;
-import java.util.concurrent.Callable;
+import java.util.concurrent.ConcurrentMap;
import javax.enterprise.context.Dependent;
import javax.enterprise.context.NormalScope;
@@ -63,10 +63,12 @@
import org.jboss.weld.manager.DummyInjectionPoint;
import org.jboss.weld.metadata.cache.MetaAnnotationStore;
import org.jboss.weld.util.Beans;
-import org.jboss.weld.util.collections.ConcurrentCache;
import org.jboss.weld.util.reflection.Reflections;
import org.slf4j.cal10n.LocLogger;
+import com.google.common.base.Function;
+import com.google.common.collect.MapMaker;
+
/**
* The implicit producer bean
*
@@ -79,6 +81,17 @@
*/
public abstract class AbstractProducerBean<X, T, S extends Member> extends AbstractReceiverBean<X, T, S>
{
+
+ private static final Function<Class<?>, Boolean> SERIALIZABLE_CHECK = new Function<Class<?>, Boolean>()
+ {
+
+ public Boolean apply(Class<?> from)
+ {
+ return Reflections.isSerializable(from);
+ }
+
+ };
+
// Logger for messages
private static final LocLogger log = loggerFactory().getLogger(BEAN);
@@ -90,7 +103,7 @@
private boolean passivationCapableDependency;
// Serialization cache for produced types at runtime
- private ConcurrentCache<Class<?>, Boolean> serializationCheckCache;
+ private ConcurrentMap<Class<?>, Boolean> serializationCheckCache;
/**
* Constructor
@@ -101,7 +114,7 @@
public AbstractProducerBean(String idSuffix, AbstractClassBean<X> declaringBean, BeanManagerImpl beanManager)
{
super(idSuffix, declaringBean, beanManager);
- serializationCheckCache = new ConcurrentCache<Class<?>, Boolean>();
+ serializationCheckCache = new MapMaker().makeComputingMap(SERIALIZABLE_CHECK);
}
@Override
@@ -277,15 +290,7 @@
protected boolean isTypeSerializable(final Class<?> clazz)
{
- return serializationCheckCache.putIfAbsent(clazz, new Callable<Boolean>()
- {
-
- public Boolean call() throws Exception
- {
- return Reflections.isSerializable(clazz);
- }
-
- });
+ return serializationCheckCache.get(clazz);
}
@Override
Modified: core/trunk/impl/src/main/java/org/jboss/weld/logging/WeldMessageConveyor.java
===================================================================
--- core/trunk/impl/src/main/java/org/jboss/weld/logging/WeldMessageConveyor.java 2010-01-12 14:06:01 UTC (rev 5447)
+++ core/trunk/impl/src/main/java/org/jboss/weld/logging/WeldMessageConveyor.java 2010-01-12 16:55:05 UTC (rev 5448)
@@ -2,27 +2,58 @@
import java.lang.reflect.Field;
import java.util.Locale;
-import java.util.concurrent.Callable;
+import java.util.concurrent.ConcurrentMap;
-import org.jboss.weld.util.collections.ConcurrentCache;
import org.jboss.weld.util.reflection.SecureReflections;
import ch.qos.cal10n.MessageConveyor;
import ch.qos.cal10n.MessageConveyorException;
+import com.google.common.base.Function;
+import com.google.common.collect.MapMaker;
+
public class WeldMessageConveyor extends MessageConveyor
{
+ private static class ComputeMessagePrefix implements Function<Enum<?>, String>
+ {
+
+ private final String subsystem;
+
+ private ComputeMessagePrefix(String subsystem)
+ {
+ this.subsystem = subsystem;
+ }
+
+ public String apply(Enum<?> from)
+ {
+ Field field;
+ try
+ {
+ field = SecureReflections.getField(from.getClass(), from.name());
+ }
+ catch (NoSuchFieldException e)
+ {
+ throw new IllegalArgumentException("Cannot reflect on key to obtain @MessageId. Key: " + from + "; Key Type: " + from.getClass());
+ }
+ if (!field.isAnnotationPresent(MessageId.class))
+ {
+ throw new IllegalArgumentException("@MessageId must be present. Key: " + from + "; Key Type: " + from.getClass());
+ }
+ String messageId = field.getAnnotation(MessageId.class).value();
+ return new StringBuilder().append(subsystem).append(SEPARATOR).append(messageId).append(" ").toString();
+ }
+
+ }
+
private static final String SEPARATOR = "-";
- private final String subsystem;
- private final ConcurrentCache<Enum<?>, String> messagePrefixCache;
+ private final ConcurrentMap<Enum<?>, String> messagePrefixCache;
public WeldMessageConveyor(Locale locale, String subsystem)
{
super(locale);
- this.subsystem = subsystem;
- this.messagePrefixCache = new ConcurrentCache<Enum<?>, String>();
+ this.messagePrefixCache = new MapMaker().makeComputingMap(new ComputeMessagePrefix(subsystem));
}
@Override
@@ -33,21 +64,7 @@
private <E extends Enum<?>> String getMessagePrefix(final E key)
{
- return messagePrefixCache.putIfAbsent(key, new Callable<String>()
- {
-
- public String call() throws Exception
- {
- Field field = SecureReflections.getField(key.getClass(), key.name());
- if (!field.isAnnotationPresent(MessageId.class))
- {
- throw new IllegalArgumentException("@MessageId must be present. Key: " + key + "; Key Type: " + key.getClass());
- }
- String messageId = field.getAnnotation(MessageId.class).value();
- return new StringBuilder().append(subsystem).append(SEPARATOR).append(messageId).append(" ").toString();
- }
-
- });
+ return messagePrefixCache.get(key);
}
}
Modified: core/trunk/impl/src/main/java/org/jboss/weld/resources/ClassTransformer.java
===================================================================
--- core/trunk/impl/src/main/java/org/jboss/weld/resources/ClassTransformer.java 2010-01-12 14:06:01 UTC (rev 5447)
+++ core/trunk/impl/src/main/java/org/jboss/weld/resources/ClassTransformer.java 2010-01-12 16:55:05 UTC (rev 5448)
@@ -18,7 +18,7 @@
import java.lang.annotation.Annotation;
import java.lang.reflect.Type;
-import java.util.concurrent.Callable;
+import java.util.concurrent.ConcurrentMap;
import javax.enterprise.inject.spi.AnnotatedType;
@@ -28,14 +28,116 @@
import org.jboss.weld.introspector.jlr.WeldAnnotationImpl;
import org.jboss.weld.introspector.jlr.WeldClassImpl;
import org.jboss.weld.metadata.TypeStore;
-import org.jboss.weld.util.collections.ConcurrentCache;
+import com.google.common.base.Function;
+import com.google.common.collect.MapMaker;
+
public class ClassTransformer implements Service
{
+
+ private static class TransformTypeToWeldClass implements Function<TypeHolder<?>, WeldClass<?>>
+ {
+
+ private final ClassTransformer classTransformer;
- private final ConcurrentCache<Type, WeldClass<?>> classes;
- private final ConcurrentCache<AnnotatedType<?>, WeldClass<?>> annotatedTypes;
- private final ConcurrentCache<Class<?>, WeldAnnotation<?>> annotations;
+ private TransformTypeToWeldClass(ClassTransformer classTransformer)
+ {
+ this.classTransformer = classTransformer;
+ }
+
+ public WeldClass<?> apply(TypeHolder<?> from)
+ {
+ return WeldClassImpl.of(from.getRawType(), from.getBaseType(), classTransformer);
+ }
+
+ }
+
+ private static class TransformClassToWeldAnnotation implements Function<Class<? extends Annotation>, WeldAnnotation<?>>
+ {
+
+ private final ClassTransformer classTransformer;
+
+ private TransformClassToWeldAnnotation(ClassTransformer classTransformer)
+ {
+ this.classTransformer = classTransformer;
+ }
+
+ public WeldAnnotation<?> apply(Class<? extends Annotation> from)
+ {
+ return WeldAnnotationImpl.of(from, classTransformer);
+ }
+
+ }
+
+ private static class TransformAnnotatedTypeToWeldClass implements Function<AnnotatedType<?>, WeldClass<?>>
+ {
+
+ private final ClassTransformer classTransformer;
+
+ private TransformAnnotatedTypeToWeldClass(ClassTransformer classTransformer)
+ {
+ super();
+ this.classTransformer = classTransformer;
+ }
+
+ public WeldClass<?> apply(AnnotatedType<?> from)
+ {
+ return WeldClassImpl.of(from, classTransformer);
+ }
+
+ }
+
+ private static final class TypeHolder<T>
+ {
+ private final Class<T> rawType;
+ private final Type baseType;
+
+ private TypeHolder(Class<T> rawType, Type baseType)
+ {
+ this.rawType = rawType;
+ this.baseType = baseType;
+ }
+
+ public Type getBaseType()
+ {
+ return baseType;
+ }
+
+ public Class<T> getRawType()
+ {
+ return rawType;
+ }
+
+ @Override
+ public boolean equals(Object obj)
+ {
+ if (obj instanceof TypeHolder<?>)
+ {
+ TypeHolder<?> that = (TypeHolder<?>) obj;
+ return this.getBaseType().equals(that.getBaseType());
+ }
+ else
+ {
+ return false;
+ }
+ }
+
+ @Override
+ public int hashCode()
+ {
+ return getBaseType().hashCode();
+ }
+
+ @Override
+ public String toString()
+ {
+ return getBaseType().toString();
+ }
+ }
+
+ private final ConcurrentMap<TypeHolder<?>, WeldClass<?>> classes;
+ private final ConcurrentMap<AnnotatedType<?>, WeldClass<?>> annotatedTypes;
+ private final ConcurrentMap<Class<? extends Annotation>, WeldAnnotation<?>> annotations;
private final TypeStore typeStore;
/**
@@ -43,62 +145,35 @@
*/
public ClassTransformer(TypeStore typeStore)
{
- classes = new ConcurrentCache<Type, WeldClass<?>>();
- this.annotatedTypes = new ConcurrentCache<AnnotatedType<?>, WeldClass<?>>();
- annotations = new ConcurrentCache<Class<?>, WeldAnnotation<?>>();
+ MapMaker maker = new MapMaker();
+ this.classes = maker.makeComputingMap(new TransformTypeToWeldClass(this));
+ this.annotatedTypes = maker.makeComputingMap(new TransformAnnotatedTypeToWeldClass(this));
+ this.annotations = maker.makeComputingMap(new TransformClassToWeldAnnotation(this));
this.typeStore = typeStore;
}
+ @SuppressWarnings("unchecked")
public <T> WeldClass<T> loadClass(final Class<T> rawType, final Type baseType)
{
- return classes.putIfAbsent(baseType, new Callable<WeldClass<T>>()
- {
-
- public WeldClass<T> call() throws Exception
- {
- return WeldClassImpl.of(rawType, baseType, ClassTransformer.this);
- }
-
- });
+ return (WeldClass<T>) classes.get(new TypeHolder<T>(rawType, baseType));
}
+ @SuppressWarnings("unchecked")
public <T> WeldClass<T> loadClass(final Class<T> clazz)
{
- return classes.putIfAbsent(clazz, new Callable<WeldClass<T>>()
- {
-
- public WeldClass<T> call() throws Exception
- {
- return WeldClassImpl.of(clazz, ClassTransformer.this);
- }
-
- });
+ return (WeldClass<T>) classes.get(new TypeHolder<T>(clazz, clazz));
}
+ @SuppressWarnings("unchecked")
public <T> WeldClass<T> loadClass(final AnnotatedType<T> clazz)
{
- return annotatedTypes.putIfAbsent(clazz, new Callable<WeldClass<T>>()
- {
-
- public WeldClass<T> call() throws Exception
- {
- return WeldClassImpl.of(clazz, ClassTransformer.this);
- }
-
- });
+ return (WeldClass<T>) annotatedTypes.get(clazz);
}
+ @SuppressWarnings("unchecked")
public <T extends Annotation> WeldAnnotation<T> loadAnnotation(final Class<T> clazz)
{
- return annotations.putIfAbsent(clazz, new Callable<WeldAnnotation<T>>()
- {
-
- public WeldAnnotation<T> call() throws Exception
- {
- return WeldAnnotationImpl.of(clazz, ClassTransformer.this);
- }
-
- });
+ return (WeldAnnotation<T>) annotations.get(clazz);
}
public TypeStore getTypeStore()
14 years, 4 months
Weld SVN: r5447 - core/trunk/impl/src/main/java/org/jboss/weld/util/collections.
by weld-commits@lists.jboss.org
Author: pete.muir(a)jboss.org
Date: 2010-01-12 09:06:01 -0500 (Tue, 12 Jan 2010)
New Revision: 5447
Removed:
core/trunk/impl/src/main/java/org/jboss/weld/util/collections/IterableIterable.java
core/trunk/impl/src/main/java/org/jboss/weld/util/collections/ListComparator.java
Log:
cleanup
Deleted: core/trunk/impl/src/main/java/org/jboss/weld/util/collections/IterableIterable.java
===================================================================
--- core/trunk/impl/src/main/java/org/jboss/weld/util/collections/IterableIterable.java 2010-01-12 14:04:29 UTC (rev 5446)
+++ core/trunk/impl/src/main/java/org/jboss/weld/util/collections/IterableIterable.java 2010-01-12 14:06:01 UTC (rev 5447)
@@ -1,22 +0,0 @@
-package org.jboss.weld.util.collections;
-
-import java.util.Iterator;
-
-import com.google.common.collect.Iterators;
-
-public class IterableIterable<T> implements Iterable<T>
-{
-
- private final Iterable<Iterable<T>> iterables;
-
- public IterableIterable(Iterable<Iterable<T>> iterables)
- {
- this.iterables = iterables;
- }
-
- public Iterator<T> iterator()
- {
- return Iterators.concat(Iterators.transform(iterables.iterator(), IterableToIteratorFunction.<T>instance()));
- }
-
-}
Deleted: core/trunk/impl/src/main/java/org/jboss/weld/util/collections/ListComparator.java
===================================================================
--- core/trunk/impl/src/main/java/org/jboss/weld/util/collections/ListComparator.java 2010-01-12 14:04:29 UTC (rev 5446)
+++ core/trunk/impl/src/main/java/org/jboss/weld/util/collections/ListComparator.java 2010-01-12 14:06:01 UTC (rev 5447)
@@ -1,54 +0,0 @@
-/*
- * JBoss, Home of Professional Open Source
- * Copyright 2008, Red Hat Middleware LLC, and individual contributors
- * by the @authors tag. See the copyright.txt in the distribution for a
- * full listing of individual contributors.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * http://www.apache.org/licenses/LICENSE-2.0
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.jboss.weld.util.collections;
-
-import java.util.Comparator;
-import java.util.List;
-
-/**
- * List comparator based on element location
- *
- * @author Pete Muir
- *
- * @param <T>
- */
-public class ListComparator<T> implements Comparator<T>
-{
- // The source list
- private List<T> list;
-
- /**
- * Constructor
- *
- * @param list The source list
- */
- public ListComparator(List<T> list)
- {
- this.list = list;
- }
-
- /**
- * Compares the entries
- */
- public int compare(T o1, T o2)
- {
- int p1 = list.indexOf(o1);
- int p2 = list.indexOf(o2);
- return p1 - p2;
- }
-
-}
14 years, 4 months
Weld SVN: r5446 - in core/trunk/impl/src/main/java/org/jboss/weld/bean: interceptor and 1 other directory.
by weld-commits@lists.jboss.org
Author: pete.muir(a)jboss.org
Date: 2010-01-12 09:04:29 -0500 (Tue, 12 Jan 2010)
New Revision: 5446
Modified:
core/trunk/impl/src/main/java/org/jboss/weld/bean/DecoratorImpl.java
core/trunk/impl/src/main/java/org/jboss/weld/bean/InterceptorImpl.java
core/trunk/impl/src/main/java/org/jboss/weld/bean/ManagedBean.java
core/trunk/impl/src/main/java/org/jboss/weld/bean/NewManagedBean.java
core/trunk/impl/src/main/java/org/jboss/weld/bean/NewSessionBean.java
core/trunk/impl/src/main/java/org/jboss/weld/bean/interceptor/CdiInterceptorHandler.java
core/trunk/impl/src/main/java/org/jboss/weld/bean/interceptor/CdiInterceptorHandlerFactory.java
core/trunk/impl/src/main/java/org/jboss/weld/bean/interceptor/ClassInterceptionHandlerFactory.java
Log:
cleanup, use generics a bit more properly
Modified: core/trunk/impl/src/main/java/org/jboss/weld/bean/DecoratorImpl.java
===================================================================
--- core/trunk/impl/src/main/java/org/jboss/weld/bean/DecoratorImpl.java 2010-01-12 13:40:14 UTC (rev 5445)
+++ core/trunk/impl/src/main/java/org/jboss/weld/bean/DecoratorImpl.java 2010-01-12 14:04:29 UTC (rev 5446)
@@ -287,7 +287,7 @@
}
else
{
- ProxyClassConstructorInjectionPointWrapper<T> constructorInjectionPointWrapper = new ProxyClassConstructorInjectionPointWrapper(this, constructorForAbstractDecorator, getConstructor());
+ ProxyClassConstructorInjectionPointWrapper<T> constructorInjectionPointWrapper = new ProxyClassConstructorInjectionPointWrapper<T>(this, constructorForAbstractDecorator, getConstructor());
T instance = constructorInjectionPointWrapper.newInstance(beanManager, ctx);
Proxies.attachMethodHandler(instance, new AbstractDecoratorMethodHandler(annotatedDelegateItem, getDelegateInjectionPoint(), constructorInjectionPointWrapper.getInjectedDelegate()));
return instance;
Modified: core/trunk/impl/src/main/java/org/jboss/weld/bean/InterceptorImpl.java
===================================================================
--- core/trunk/impl/src/main/java/org/jboss/weld/bean/InterceptorImpl.java 2010-01-12 13:40:14 UTC (rev 5445)
+++ core/trunk/impl/src/main/java/org/jboss/weld/bean/InterceptorImpl.java 2010-01-12 14:04:29 UTC (rev 5446)
@@ -84,7 +84,7 @@
{
try
{
- return new DirectClassInterceptionHandler(instance, getType()).invoke(ctx.getTarget(), org.jboss.interceptor.model.InterceptionType.valueOf(type.name()), ctx);
+ return new DirectClassInterceptionHandler<T>(instance, getType()).invoke(ctx.getTarget(), org.jboss.interceptor.model.InterceptionType.valueOf(type.name()), ctx);
} catch (Exception e)
{
throw new WeldException(e);
Modified: core/trunk/impl/src/main/java/org/jboss/weld/bean/ManagedBean.java
===================================================================
--- core/trunk/impl/src/main/java/org/jboss/weld/bean/ManagedBean.java 2010-01-12 13:40:14 UTC (rev 5445)
+++ core/trunk/impl/src/main/java/org/jboss/weld/bean/ManagedBean.java 2010-01-12 14:04:29 UTC (rev 5446)
@@ -380,9 +380,9 @@
DecoratorImpl<?> decoratorBean = (DecoratorImpl<?>) decorator;
decoratorClass = decoratorBean.getWeldAnnotated();
}
- else if (decorator instanceof CustomDecoratorWrapper)
+ else if (decorator instanceof CustomDecoratorWrapper<?>)
{
- decoratorClass = ((CustomDecoratorWrapper) decorator).getWeldAnnotated();
+ decoratorClass = ((CustomDecoratorWrapper<?>) decorator).getWeldAnnotated();
}
else
{
@@ -435,7 +435,7 @@
throw new DefinitionException(SPECIALIZING_BEAN_MUST_EXTEND_A_BEAN, this);
}
AbstractClassBean<?> specializedBean = environment.getClassBean(getWeldAnnotated().getWeldSuperclass());
- if (!(specializedBean instanceof ManagedBean))
+ if (!(specializedBean instanceof ManagedBean<?>))
{
throw new DefinitionException(SPECIALIZING_BEAN_MUST_EXTEND_A_BEAN, this);
} else
@@ -470,7 +470,7 @@
if (hasCdiBoundInterceptors())
{
interceptionRegistries.add(beanManager.getCdiInterceptorsRegistry());
- interceptionHandlerFactories.add(new CdiInterceptorHandlerFactory(creationalContext, beanManager));
+ interceptionHandlerFactories.add(new CdiInterceptorHandlerFactory<T>(creationalContext, beanManager));
}
if (interceptionRegistries.size() > 0)
instance = new InterceptorProxyCreatorImpl(interceptionRegistries, interceptionHandlerFactories).createProxyFromInstance(instance, getType());
Modified: core/trunk/impl/src/main/java/org/jboss/weld/bean/NewManagedBean.java
===================================================================
--- core/trunk/impl/src/main/java/org/jboss/weld/bean/NewManagedBean.java 2010-01-12 13:40:14 UTC (rev 5445)
+++ core/trunk/impl/src/main/java/org/jboss/weld/bean/NewManagedBean.java 2010-01-12 14:04:29 UTC (rev 5446)
@@ -60,7 +60,9 @@
this.bindings = new HashSet<Annotation>();
this.bindings.add(new NewLiteral()
{
-
+
+ private static final long serialVersionUID = -6678013994309291500L;
+
@Override
public Class<?> value()
{
Modified: core/trunk/impl/src/main/java/org/jboss/weld/bean/NewSessionBean.java
===================================================================
--- core/trunk/impl/src/main/java/org/jboss/weld/bean/NewSessionBean.java 2010-01-12 13:40:14 UTC (rev 5445)
+++ core/trunk/impl/src/main/java/org/jboss/weld/bean/NewSessionBean.java 2010-01-12 14:04:29 UTC (rev 5446)
@@ -64,6 +64,8 @@
this.bindings.add(new NewLiteral()
{
+ private static final long serialVersionUID = 3953682907943246693L;
+
@Override
public Class<?> value()
{
Modified: core/trunk/impl/src/main/java/org/jboss/weld/bean/interceptor/CdiInterceptorHandler.java
===================================================================
--- core/trunk/impl/src/main/java/org/jboss/weld/bean/interceptor/CdiInterceptorHandler.java 2010-01-12 13:40:14 UTC (rev 5445)
+++ core/trunk/impl/src/main/java/org/jboss/weld/bean/interceptor/CdiInterceptorHandler.java 2010-01-12 14:04:29 UTC (rev 5446)
@@ -10,17 +10,20 @@
/**
* @author Marius Bogoevici
*/
-public class CdiInterceptorHandler extends AbstractClassInterceptionHandler implements Serializable
+public class CdiInterceptorHandler<T> extends AbstractClassInterceptionHandler implements Serializable
{
- private final SerializableContextualInstance<Interceptor<Object>, Object> serializableContextualInstance;
+ private static final long serialVersionUID = -1614068925228599196L;
+
+ private final SerializableContextualInstance<Interceptor<T>, T> serializableContextualInstance;
- public CdiInterceptorHandler(SerializableContextualInstance<Interceptor<Object>, Object> serializableContextualInstance, Class<?> clazz)
+ public CdiInterceptorHandler(SerializableContextualInstance<Interceptor<T>, T> serializableContextualInstance, Class<?> clazz)
{
super(clazz);
this.serializableContextualInstance = serializableContextualInstance;
}
+ @Override
public Object getInterceptorInstance()
{
return serializableContextualInstance.getInstance();
Modified: core/trunk/impl/src/main/java/org/jboss/weld/bean/interceptor/CdiInterceptorHandlerFactory.java
===================================================================
--- core/trunk/impl/src/main/java/org/jboss/weld/bean/interceptor/CdiInterceptorHandlerFactory.java 2010-01-12 13:40:14 UTC (rev 5445)
+++ core/trunk/impl/src/main/java/org/jboss/weld/bean/interceptor/CdiInterceptorHandlerFactory.java 2010-01-12 14:04:29 UTC (rev 5446)
@@ -22,19 +22,19 @@
import org.jboss.interceptor.proxy.InterceptionHandler;
import org.jboss.interceptor.proxy.InterceptionHandlerFactory;
+import org.jboss.weld.context.SerializableContextualInstanceImpl;
import org.jboss.weld.manager.BeanManagerImpl;
import org.jboss.weld.serialization.spi.helpers.SerializableContextual;
-import org.jboss.weld.context.SerializableContextualInstanceImpl;
/**
* @author Marius Bogoevici
*/
-public class CdiInterceptorHandlerFactory implements InterceptionHandlerFactory<SerializableContextual<Interceptor<Object>, Object>>
+public class CdiInterceptorHandlerFactory<T> implements InterceptionHandlerFactory<SerializableContextual<Interceptor<T>, T>>
{
- private final CreationalContext creationalContext;
+ private final CreationalContext<T> creationalContext;
private BeanManagerImpl manager;
- public CdiInterceptorHandlerFactory(CreationalContext creationalContext, BeanManagerImpl manager)
+ public CdiInterceptorHandlerFactory(CreationalContext<T> creationalContext, BeanManagerImpl manager)
{
this.creationalContext = creationalContext;
this.manager = manager;
@@ -45,12 +45,10 @@
return manager;
}
- @SuppressWarnings("unchecked")
- public InterceptionHandler createFor(final SerializableContextual<Interceptor<Object>, Object> serializableContextual)
+ public InterceptionHandler createFor(final SerializableContextual<Interceptor<T>, T> serializableContextual)
{
- Object instance = getManager().getReference(serializableContextual.get(), creationalContext, false);
- return new CdiInterceptorHandler(new SerializableContextualInstanceImpl<Interceptor<Object>, Object>(serializableContextual, instance, creationalContext),
- serializableContextual.get().getBeanClass());
+ T instance = (T) getManager().getReference(serializableContextual.get(), creationalContext, false);
+ return new CdiInterceptorHandler<T>(new SerializableContextualInstanceImpl<Interceptor<T>, T>(serializableContextual, instance, creationalContext), serializableContextual.get().getBeanClass());
}
}
Modified: core/trunk/impl/src/main/java/org/jboss/weld/bean/interceptor/ClassInterceptionHandlerFactory.java
===================================================================
--- core/trunk/impl/src/main/java/org/jboss/weld/bean/interceptor/ClassInterceptionHandlerFactory.java 2010-01-12 13:40:14 UTC (rev 5445)
+++ core/trunk/impl/src/main/java/org/jboss/weld/bean/interceptor/ClassInterceptionHandlerFactory.java 2010-01-12 14:04:29 UTC (rev 5446)
@@ -31,27 +31,27 @@
/**
* @author Marius Bogoevici
*/
-public class ClassInterceptionHandlerFactory implements InterceptionHandlerFactory<Class>
+public class ClassInterceptionHandlerFactory<T> implements InterceptionHandlerFactory<Class<T>>
{
- private final CreationalContext<?> creationalContext;
+ private final CreationalContext<T> creationalContext;
private BeanManagerImpl manager;
- public ClassInterceptionHandlerFactory(CreationalContext<?> creationalContext, BeanManagerImpl manager)
+ public ClassInterceptionHandlerFactory(CreationalContext<T> creationalContext, BeanManagerImpl manager)
{
this.creationalContext = creationalContext;
this.manager = manager;
}
- public InterceptionHandler createFor(Class clazz)
+ public InterceptionHandler createFor(Class<T> clazz)
{
try
{
// this is not a managed instance - assume no-argument constructor exists
- Constructor constructor = SecureReflections.getDeclaredConstructor(clazz);
- Object interceptorInstance = constructor.newInstance();
+ Constructor<T> constructor = (Constructor<T>) SecureReflections.getDeclaredConstructor(clazz);
+ T interceptorInstance = constructor.newInstance();
// inject
manager.createInjectionTarget(manager.createAnnotatedType(clazz)).inject(interceptorInstance, creationalContext);
- return new DirectClassInterceptionHandler(interceptorInstance, clazz);
+ return new DirectClassInterceptionHandler<T>(interceptorInstance, clazz);
}
catch (Exception e)
{
14 years, 4 months
Weld SVN: r5445 - core/trunk/impl/src/main/java/org/jboss/weld/bean/builtin.
by weld-commits@lists.jboss.org
Author: pete.muir(a)jboss.org
Date: 2010-01-12 08:40:14 -0500 (Tue, 12 Jan 2010)
New Revision: 5445
Removed:
core/trunk/impl/src/main/java/org/jboss/weld/bean/builtin/ProxyCleaner.java
Log:
cleanup
Deleted: core/trunk/impl/src/main/java/org/jboss/weld/bean/builtin/ProxyCleaner.java
===================================================================
--- core/trunk/impl/src/main/java/org/jboss/weld/bean/builtin/ProxyCleaner.java 2010-01-12 13:37:24 UTC (rev 5444)
+++ core/trunk/impl/src/main/java/org/jboss/weld/bean/builtin/ProxyCleaner.java 2010-01-12 13:40:14 UTC (rev 5445)
@@ -1 +0,0 @@
-
14 years, 4 months
Weld SVN: r5444 - in core/trunk: tests/src/test/java/org/jboss/weld/tests/serialization and 1 other directory.
by weld-commits@lists.jboss.org
Author: pete.muir(a)jboss.org
Date: 2010-01-12 08:37:24 -0500 (Tue, 12 Jan 2010)
New Revision: 5444
Modified:
core/trunk/impl/src/main/java/org/jboss/weld/conversation/AbstractConversationManager.java
core/trunk/impl/src/main/java/org/jboss/weld/conversation/ServletConversationManager.java
core/trunk/tests/src/test/java/org/jboss/weld/tests/serialization/SerializationTest.java
core/trunk/tests/src/test/java/org/jboss/weld/tests/serialization/TestConversationManager.java
Log:
make super class serializable
Modified: core/trunk/impl/src/main/java/org/jboss/weld/conversation/AbstractConversationManager.java
===================================================================
--- core/trunk/impl/src/main/java/org/jboss/weld/conversation/AbstractConversationManager.java 2010-01-12 13:30:08 UTC (rev 5443)
+++ core/trunk/impl/src/main/java/org/jboss/weld/conversation/AbstractConversationManager.java 2010-01-12 13:37:24 UTC (rev 5444)
@@ -35,6 +35,7 @@
import static org.jboss.weld.logging.messages.ConversationMessage.NO_CONVERSATION_TO_RESTORE;
import static org.jboss.weld.logging.messages.ConversationMessage.UNABLE_TO_RESTORE_CONVERSATION;
+import java.io.Serializable;
import java.util.Collections;
import java.util.HashSet;
import java.util.Map;
@@ -60,8 +61,11 @@
* @author Nicklas Karlsson
*
*/
-public abstract class AbstractConversationManager implements ConversationManager
+public abstract class AbstractConversationManager implements ConversationManager, Serializable
{
+
+ private static final long serialVersionUID = 8375026855239413267L;
+
private static final LocLogger log = loggerFactory().getLogger(CONVERSATION);
// The current conversation
Modified: core/trunk/impl/src/main/java/org/jboss/weld/conversation/ServletConversationManager.java
===================================================================
--- core/trunk/impl/src/main/java/org/jboss/weld/conversation/ServletConversationManager.java 2010-01-12 13:30:08 UTC (rev 5443)
+++ core/trunk/impl/src/main/java/org/jboss/weld/conversation/ServletConversationManager.java 2010-01-12 13:37:24 UTC (rev 5444)
@@ -22,8 +22,6 @@
*/
package org.jboss.weld.conversation;
-import java.io.Serializable;
-
import javax.enterprise.context.SessionScoped;
import javax.enterprise.inject.Instance;
import javax.enterprise.inject.Produces;
@@ -40,7 +38,7 @@
*
*/
@SessionScoped
-public class ServletConversationManager extends AbstractConversationManager implements Serializable
+public class ServletConversationManager extends AbstractConversationManager
{
private static final long serialVersionUID = 1647848566880659085L;
Modified: core/trunk/tests/src/test/java/org/jboss/weld/tests/serialization/SerializationTest.java
===================================================================
--- core/trunk/tests/src/test/java/org/jboss/weld/tests/serialization/SerializationTest.java 2010-01-12 13:30:08 UTC (rev 5443)
+++ core/trunk/tests/src/test/java/org/jboss/weld/tests/serialization/SerializationTest.java 2010-01-12 13:37:24 UTC (rev 5444)
@@ -1,10 +1,5 @@
package org.jboss.weld.tests.serialization;
-import java.io.ByteArrayInputStream;
-import java.io.ByteArrayOutputStream;
-import java.io.ObjectInputStream;
-import java.io.ObjectOutputStream;
-
import org.jboss.testharness.impl.packaging.Artifact;
import org.jboss.weld.test.AbstractWeldTest;
import org.testng.annotations.Test;
@@ -22,15 +17,8 @@
assert cMgr.getConversationInstance() != null;
assert cMgr.getConversationInstance().get() != null;
- ByteArrayOutputStream serialized = new ByteArrayOutputStream();
- ObjectOutputStream out = new ObjectOutputStream(serialized);
+ Object deserialized = deserialize(serialize(cMgr));
- out.writeObject(cMgr);
- out.flush();
-
- ObjectInputStream in = new ObjectInputStream(new ByteArrayInputStream(serialized.toByteArray()));
- Object deserialized = in.readObject();
-
assert deserialized instanceof TestConversationManager;
TestConversationManager deserializedCMgr = (TestConversationManager) deserialized;
assert deserializedCMgr.getConversationInstance() != null;
Modified: core/trunk/tests/src/test/java/org/jboss/weld/tests/serialization/TestConversationManager.java
===================================================================
--- core/trunk/tests/src/test/java/org/jboss/weld/tests/serialization/TestConversationManager.java 2010-01-12 13:30:08 UTC (rev 5443)
+++ core/trunk/tests/src/test/java/org/jboss/weld/tests/serialization/TestConversationManager.java 2010-01-12 13:37:24 UTC (rev 5444)
@@ -2,14 +2,14 @@
import java.lang.reflect.Field;
-import javax.enterprise.context.SessionScoped;
+import javax.enterprise.context.Dependent;
import javax.enterprise.inject.Instance;
import org.jboss.weld.conversation.AbstractConversationManager;
import org.jboss.weld.conversation.ConversationImpl;
import org.jboss.weld.conversation.ServletConversationManager;
-@SessionScoped
+@Dependent
public class TestConversationManager extends ServletConversationManager
{
14 years, 4 months
Weld SVN: r5443 - core/trunk/tests/src/test/java/org/jboss/weld/tests/serialization.
by weld-commits@lists.jboss.org
Author: pete.muir(a)jboss.org
Date: 2010-01-12 08:30:08 -0500 (Tue, 12 Jan 2010)
New Revision: 5443
Modified:
core/trunk/tests/src/test/java/org/jboss/weld/tests/serialization/SerializationTest.java
core/trunk/tests/src/test/java/org/jboss/weld/tests/serialization/TestConversationManager.java
Log:
cleanup
Modified: core/trunk/tests/src/test/java/org/jboss/weld/tests/serialization/SerializationTest.java
===================================================================
--- core/trunk/tests/src/test/java/org/jboss/weld/tests/serialization/SerializationTest.java 2010-01-12 13:25:58 UTC (rev 5442)
+++ core/trunk/tests/src/test/java/org/jboss/weld/tests/serialization/SerializationTest.java 2010-01-12 13:30:08 UTC (rev 5443)
@@ -12,8 +12,8 @@
@Artifact
public class SerializationTest extends AbstractWeldTest
{
- @SuppressWarnings("unchecked")
- @Test(description="WELD-363", groups = "broken")
+
+ @Test(description="WELD-363")
public void testConversationManagerSerializable()
throws Exception
{
Modified: core/trunk/tests/src/test/java/org/jboss/weld/tests/serialization/TestConversationManager.java
===================================================================
--- core/trunk/tests/src/test/java/org/jboss/weld/tests/serialization/TestConversationManager.java 2010-01-12 13:25:58 UTC (rev 5442)
+++ core/trunk/tests/src/test/java/org/jboss/weld/tests/serialization/TestConversationManager.java 2010-01-12 13:30:08 UTC (rev 5443)
@@ -2,12 +2,14 @@
import java.lang.reflect.Field;
+import javax.enterprise.context.SessionScoped;
import javax.enterprise.inject.Instance;
import org.jboss.weld.conversation.AbstractConversationManager;
import org.jboss.weld.conversation.ConversationImpl;
import org.jboss.weld.conversation.ServletConversationManager;
+@SessionScoped
public class TestConversationManager extends ServletConversationManager
{
14 years, 4 months
Weld SVN: r5442 - core/trunk/tests/src/test/java/org/jboss/weld/tests/serialization.
by weld-commits@lists.jboss.org
Author: pete.muir(a)jboss.org
Date: 2010-01-12 08:25:58 -0500 (Tue, 12 Jan 2010)
New Revision: 5442
Added:
core/trunk/tests/src/test/java/org/jboss/weld/tests/serialization/TestConversationManager.java
Modified:
core/trunk/tests/src/test/java/org/jboss/weld/tests/serialization/SerializationTest.java
Log:
update test
Modified: core/trunk/tests/src/test/java/org/jboss/weld/tests/serialization/SerializationTest.java
===================================================================
--- core/trunk/tests/src/test/java/org/jboss/weld/tests/serialization/SerializationTest.java 2010-01-12 13:23:41 UTC (rev 5441)
+++ core/trunk/tests/src/test/java/org/jboss/weld/tests/serialization/SerializationTest.java 2010-01-12 13:25:58 UTC (rev 5442)
@@ -2,16 +2,10 @@
import java.io.ByteArrayInputStream;
import java.io.ByteArrayOutputStream;
-import java.io.IOException;
import java.io.ObjectInputStream;
import java.io.ObjectOutputStream;
-import java.lang.reflect.Field;
-import javax.enterprise.inject.spi.Bean;
-
import org.jboss.testharness.impl.packaging.Artifact;
-import org.jboss.weld.conversation.AbstractConversationManager;
-import org.jboss.weld.conversation.ConversationManager;
import org.jboss.weld.test.AbstractWeldTest;
import org.testng.annotations.Test;
@@ -21,17 +15,13 @@
@SuppressWarnings("unchecked")
@Test(description="WELD-363", groups = "broken")
public void testConversationManagerSerializable()
- throws IOException, ClassNotFoundException, SecurityException, NoSuchFieldException, IllegalArgumentException, IllegalAccessException
+ throws Exception
{
- Bean<ConversationManager> cmBean = (Bean<ConversationManager>) getCurrentManager()
- .getBeans(ConversationManager.class).iterator().next();
+ TestConversationManager cMgr = getCurrentManager().getInstanceByType(TestConversationManager.class);
- ConversationManager cMgr = cmBean.create(getCurrentManager().createCreationalContext(cmBean));
+ assert cMgr.getConversationInstance() != null;
+ assert cMgr.getConversationInstance().get() != null;
- Field ccField = AbstractConversationManager.class.getDeclaredField("currentConversation");
- ccField.setAccessible(true);
- assert ccField.get(cMgr) != null;
-
ByteArrayOutputStream serialized = new ByteArrayOutputStream();
ObjectOutputStream out = new ObjectOutputStream(serialized);
@@ -41,7 +31,9 @@
ObjectInputStream in = new ObjectInputStream(new ByteArrayInputStream(serialized.toByteArray()));
Object deserialized = in.readObject();
- assert deserialized instanceof ConversationManager;
- assert ccField.get(deserialized) != null;
+ assert deserialized instanceof TestConversationManager;
+ TestConversationManager deserializedCMgr = (TestConversationManager) deserialized;
+ assert deserializedCMgr.getConversationInstance() != null;
+ assert deserializedCMgr.getConversationInstance().get() != null;
}
}
Added: core/trunk/tests/src/test/java/org/jboss/weld/tests/serialization/TestConversationManager.java
===================================================================
--- core/trunk/tests/src/test/java/org/jboss/weld/tests/serialization/TestConversationManager.java (rev 0)
+++ core/trunk/tests/src/test/java/org/jboss/weld/tests/serialization/TestConversationManager.java 2010-01-12 13:25:58 UTC (rev 5442)
@@ -0,0 +1,26 @@
+package org.jboss.weld.tests.serialization;
+
+import java.lang.reflect.Field;
+
+import javax.enterprise.inject.Instance;
+
+import org.jboss.weld.conversation.AbstractConversationManager;
+import org.jboss.weld.conversation.ConversationImpl;
+import org.jboss.weld.conversation.ServletConversationManager;
+
+public class TestConversationManager extends ServletConversationManager
+{
+
+ /**
+ *
+ */
+ private static final long serialVersionUID = 9081670661490776033L;
+
+ public Instance<ConversationImpl> getConversationInstance() throws Exception
+ {
+ Field ccField = AbstractConversationManager.class.getDeclaredField("currentConversation");
+ ccField.setAccessible(true);
+ return (Instance<ConversationImpl>) ccField.get(this);
+ }
+
+}
Property changes on: core/trunk/tests/src/test/java/org/jboss/weld/tests/serialization/TestConversationManager.java
___________________________________________________________________
Name: svn:mime-type
+ text/plain
Name: svn:eol-style
+ native
14 years, 4 months
Weld SVN: r5441 - core/trunk/impl/src/main/java/org/jboss/weld/conversation.
by weld-commits@lists.jboss.org
Author: pete.muir(a)jboss.org
Date: 2010-01-12 08:23:41 -0500 (Tue, 12 Jan 2010)
New Revision: 5441
Modified:
core/trunk/impl/src/main/java/org/jboss/weld/conversation/ServletConversationManager.java
Log:
minor
Modified: core/trunk/impl/src/main/java/org/jboss/weld/conversation/ServletConversationManager.java
===================================================================
--- core/trunk/impl/src/main/java/org/jboss/weld/conversation/ServletConversationManager.java 2010-01-12 13:01:49 UTC (rev 5440)
+++ core/trunk/impl/src/main/java/org/jboss/weld/conversation/ServletConversationManager.java 2010-01-12 13:23:41 UTC (rev 5441)
@@ -48,7 +48,8 @@
private static final long CONVERSATION_CONCURRENT_ACCESS_TIMEOUT_IN_MS = 1 * 1000;
private static final String CONVERSATION_ID_NAME = "cid";
- @Inject Instance<HttpSession> httpSession;
+ @Inject
+ private Instance<HttpSession> httpSession;
@Override
public BeanStore getBeanStore(String cid)
14 years, 4 months
Weld SVN: r5440 - core/trunk/tests/src/test/java/org/jboss/weld/tests/serialization.
by weld-commits@lists.jboss.org
Author: shane.bryzak(a)jboss.com
Date: 2010-01-12 08:01:49 -0500 (Tue, 12 Jan 2010)
New Revision: 5440
Modified:
core/trunk/tests/src/test/java/org/jboss/weld/tests/serialization/SerializationTest.java
Log:
marked broken
Modified: core/trunk/tests/src/test/java/org/jboss/weld/tests/serialization/SerializationTest.java
===================================================================
--- core/trunk/tests/src/test/java/org/jboss/weld/tests/serialization/SerializationTest.java 2010-01-12 12:58:27 UTC (rev 5439)
+++ core/trunk/tests/src/test/java/org/jboss/weld/tests/serialization/SerializationTest.java 2010-01-12 13:01:49 UTC (rev 5440)
@@ -19,7 +19,7 @@
public class SerializationTest extends AbstractWeldTest
{
@SuppressWarnings("unchecked")
- @Test(description="WELD-363")
+ @Test(description="WELD-363", groups = "broken")
public void testConversationManagerSerializable()
throws IOException, ClassNotFoundException, SecurityException, NoSuchFieldException, IllegalArgumentException, IllegalAccessException
{
14 years, 4 months