[weld-commits] Weld SVN: r5401 - in core/trunk: impl/src/main/java/org/jboss/weld/bean and 7 other directories.
weld-commits at lists.jboss.org
weld-commits at lists.jboss.org
Fri Jan 8 12:04:16 EST 2010
Author: pete.muir at jboss.org
Date: 2010-01-08 12:04:14 -0500 (Fri, 08 Jan 2010)
New Revision: 5401
Added:
core/trunk/impl/src/main/java/org/jboss/weld/ContainerState.java
core/trunk/impl/src/main/java/org/jboss/weld/manager/BeanTransform.java
core/trunk/impl/src/main/java/org/jboss/weld/manager/CurrentActivity.java
core/trunk/impl/src/main/java/org/jboss/weld/manager/DecoratorTransform.java
core/trunk/impl/src/main/java/org/jboss/weld/manager/DummyInjectionPoint.java
core/trunk/impl/src/main/java/org/jboss/weld/manager/InterceptorTransform.java
core/trunk/impl/src/main/java/org/jboss/weld/manager/NamespaceTransform.java
core/trunk/impl/src/main/java/org/jboss/weld/manager/ObserverMethodTransform.java
core/trunk/impl/src/main/java/org/jboss/weld/manager/Transform.java
Modified:
core/trunk/impl/src/main/java/org/jboss/weld/Container.java
core/trunk/impl/src/main/java/org/jboss/weld/bean/AbstractProducerBean.java
core/trunk/impl/src/main/java/org/jboss/weld/bean/builtin/InstanceBean.java
core/trunk/impl/src/main/java/org/jboss/weld/bootstrap/WeldBootstrap.java
core/trunk/impl/src/main/java/org/jboss/weld/ejb/EjbDescriptors.java
core/trunk/impl/src/main/java/org/jboss/weld/manager/BeanManagerImpl.java
core/trunk/impl/src/main/java/org/jboss/weld/resolution/TypeSafeBeanResolver.java
core/trunk/impl/src/main/java/org/jboss/weld/util/ApiAbstraction.java
core/trunk/tests/src/test/java/org/jboss/weld/tests/unit/bootstrap/ContainerStatusTest.java
Log:
reduce usage of inner classes
Modified: core/trunk/impl/src/main/java/org/jboss/weld/Container.java
===================================================================
--- core/trunk/impl/src/main/java/org/jboss/weld/Container.java 2010-01-08 14:23:49 UTC (rev 5400)
+++ core/trunk/impl/src/main/java/org/jboss/weld/Container.java 2010-01-08 17:04:14 UTC (rev 5401)
@@ -41,52 +41,6 @@
public class Container
{
- /**
- * Container status
- * @author pmuir
- *
- */
- public enum Status
- {
- /**
- * The container has not been started
- */
- STOPPED(false),
- /**
- * The container is starting
- */
- STARTING(false),
- /**
- * The container has started and beans have been deployed
- */
- INITIALIZED(true),
- /**
- * The deployment has been validated
- */
- VALIDATED(true),
- /**
- * The container has been shutdown
- */
- SHUTDOWN(false);
-
- private Status(boolean available)
- {
- this.available = available;
- }
-
- final boolean available;
-
- /**
- * Whether the container is available for use
- *
- * @return
- */
- public boolean isAvailable()
- {
- return available;
- }
- }
-
private final static Singleton<Container> instance;
static
@@ -132,7 +86,7 @@
private final ServiceRegistry deploymentServices;
- private Status status = Status.STOPPED;
+ private ContainerState status = ContainerState.STOPPED;
public Container(BeanManagerImpl deploymentManager, ServiceRegistry deploymentServices)
{
@@ -230,12 +184,12 @@
}
}
- public Status getStatus()
+ public ContainerState getStatus()
{
return status;
}
- public void setStatus(Status status)
+ public void setStatus(ContainerState status)
{
this.status = status;
}
Added: core/trunk/impl/src/main/java/org/jboss/weld/ContainerState.java
===================================================================
--- core/trunk/impl/src/main/java/org/jboss/weld/ContainerState.java (rev 0)
+++ core/trunk/impl/src/main/java/org/jboss/weld/ContainerState.java 2010-01-08 17:04:14 UTC (rev 5401)
@@ -0,0 +1,47 @@
+package org.jboss.weld;
+
+/**
+ * Container status
+ * @author pmuir
+ *
+ */
+public enum ContainerState
+{
+ /**
+ * The container has not been started
+ */
+ STOPPED(false),
+ /**
+ * The container is starting
+ */
+ STARTING(false),
+ /**
+ * The container has started and beans have been deployed
+ */
+ INITIALIZED(true),
+ /**
+ * The deployment has been validated
+ */
+ VALIDATED(true),
+ /**
+ * The container has been shutdown
+ */
+ SHUTDOWN(false);
+
+ private ContainerState(boolean available)
+ {
+ this.available = available;
+ }
+
+ final boolean available;
+
+ /**
+ * Whether the container is available for use
+ *
+ * @return
+ */
+ public boolean isAvailable()
+ {
+ return available;
+ }
+}
\ No newline at end of file
Property changes on: core/trunk/impl/src/main/java/org/jboss/weld/ContainerState.java
___________________________________________________________________
Name: svn:mime-type
+ text/plain
Name: svn:eol-style
+ native
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-08 14:23:49 UTC (rev 5400)
+++ core/trunk/impl/src/main/java/org/jboss/weld/bean/AbstractProducerBean.java 2010-01-08 17:04:14 UTC (rev 5401)
@@ -60,6 +60,7 @@
import org.jboss.weld.exceptions.WeldException;
import org.jboss.weld.introspector.WeldMember;
import org.jboss.weld.manager.BeanManagerImpl;
+import org.jboss.weld.manager.DummyInjectionPoint;
import org.jboss.weld.metadata.cache.MetaAnnotationStore;
import org.jboss.weld.util.Beans;
import org.jboss.weld.util.Names;
@@ -248,7 +249,7 @@
throw new IllegalProductException(NON_SERIALIZABLE_PRODUCT_ERROR, getProducer());
}
InjectionPoint injectionPoint = manager.getCurrentInjectionPoint();
- if (injectionPoint == null || injectionPoint.equals(BeanManagerImpl.DUMMY_INJECTION_POINT))
+ if (injectionPoint == null || injectionPoint.equals(DummyInjectionPoint.INSTANCE))
{
return;
}
Modified: core/trunk/impl/src/main/java/org/jboss/weld/bean/builtin/InstanceBean.java
===================================================================
--- core/trunk/impl/src/main/java/org/jboss/weld/bean/builtin/InstanceBean.java 2010-01-08 14:23:49 UTC (rev 5400)
+++ core/trunk/impl/src/main/java/org/jboss/weld/bean/builtin/InstanceBean.java 2010-01-08 17:04:14 UTC (rev 5401)
@@ -30,19 +30,15 @@
import org.jboss.weld.literal.AnyLiteral;
import org.jboss.weld.manager.BeanManagerImpl;
-import org.jboss.weld.resolution.ResolvableTransformer;
import org.jboss.weld.util.collections.Arrays2;
public class InstanceBean extends AbstractFacadeBean<Instance<?>>
{
-
private static final Class<Instance<?>> INSTANCE_TYPE = new TypeLiteral<Instance<?>>() {}.getRawType();
private static final Class<Provider<?>> PROVIDER_TYPE = new TypeLiteral<Provider<?>>() {}.getRawType();
private static final Set<Type> DEFAULT_TYPES = Arrays2.<Type>asSet(INSTANCE_TYPE, PROVIDER_TYPE, Object.class);
private static final Any ANY = new AnyLiteral();
private static final Set<Annotation> DEFAULT_BINDINGS = new HashSet<Annotation>(Arrays.asList(ANY));
- public static final ResolvableTransformer INSTANCE_TRANSFORMER = new FacadeBeanResolvableTransformer(INSTANCE_TYPE);
- public static final ResolvableTransformer PROVIDER_TRANSFORMER = new FacadeBeanResolvableTransformer(PROVIDER_TYPE);
public InstanceBean(BeanManagerImpl manager)
{
Modified: core/trunk/impl/src/main/java/org/jboss/weld/bootstrap/WeldBootstrap.java
===================================================================
--- core/trunk/impl/src/main/java/org/jboss/weld/bootstrap/WeldBootstrap.java 2010-01-08 14:23:49 UTC (rev 5400)
+++ core/trunk/impl/src/main/java/org/jboss/weld/bootstrap/WeldBootstrap.java 2010-01-08 17:04:14 UTC (rev 5401)
@@ -40,7 +40,7 @@
import org.jboss.weld.Container;
import org.jboss.weld.ContextualStoreImpl;
-import org.jboss.weld.Container.Status;
+import org.jboss.weld.ContainerState;
import org.jboss.weld.bean.builtin.BeanManagerBean;
import org.jboss.weld.bootstrap.api.Bootstrap;
import org.jboss.weld.bootstrap.api.Environment;
@@ -288,7 +288,7 @@
this.deploymentManager = BeanManagerImpl.newRootManager("deployment", deploymentServices);
Container.initialize(deploymentManager, ServiceRegistries.unmodifiableServiceRegistry(deployment.getServices()));
- Container.instance().setStatus(Status.STARTING);
+ Container.instance().setStatus(ContainerState.STARTING);
createContexts();
initializeContexts();
@@ -381,7 +381,7 @@
// Re-read the deployment structure, this will be the physical structure, extensions, classes, and any beans added using addBean outside the physical structure
beanDeployments = deploymentVisitor.visit();
Container.instance().putBeanDeployments(beanDeployments);
- Container.instance().setStatus(Status.INITIALIZED);
+ Container.instance().setStatus(ContainerState.INITIALIZED);
}
return this;
}
@@ -406,7 +406,7 @@
synchronized (this)
{
// Register the managers so external requests can handle them
- Container.instance().setStatus(Status.VALIDATED);
+ Container.instance().setStatus(ContainerState.VALIDATED);
}
return this;
}
@@ -442,7 +442,7 @@
}
finally
{
- Container.instance().setStatus(Status.SHUTDOWN);
+ Container.instance().setStatus(ContainerState.SHUTDOWN);
Container.instance().deploymentServices().get(ContextLifecycle.class).endApplication();
}
}
Modified: core/trunk/impl/src/main/java/org/jboss/weld/ejb/EjbDescriptors.java
===================================================================
--- core/trunk/impl/src/main/java/org/jboss/weld/ejb/EjbDescriptors.java 2010-01-08 14:23:49 UTC (rev 5400)
+++ core/trunk/impl/src/main/java/org/jboss/weld/ejb/EjbDescriptors.java 2010-01-08 17:04:14 UTC (rev 5401)
@@ -28,7 +28,6 @@
import org.jboss.weld.bootstrap.api.Service;
import org.jboss.weld.ejb.spi.EjbDescriptor;
import org.jboss.weld.exceptions.ForbiddenStateException;
-import org.jboss.weld.exceptions.InvalidOperationException;
import com.google.common.base.Supplier;
import com.google.common.collect.Multimaps;
@@ -47,34 +46,7 @@
private final SetMultimap<Class<?>, String> ejbByClass;
- public static final EjbDescriptors EMPTY = new EjbDescriptors()
- {
- @Override
- public <T> void add(EjbDescriptor<T> ejbDescriptor)
- {
- throw new InvalidOperationException();
- }
-
- @Override
- public void addAll(Iterable<EjbDescriptor<?>> ejbDescriptors)
- {
- throw new InvalidOperationException();
- }
-
- @Override
- public void cleanup()
- {
- throw new InvalidOperationException();
- }
-
- @Override
- public void clear()
- {
- throw new InvalidOperationException();
- }
-
-
- };
+ public static final EjbDescriptors EMPTY = new EjbDescriptors();
/**
* Constructor
Modified: core/trunk/impl/src/main/java/org/jboss/weld/manager/BeanManagerImpl.java
===================================================================
--- core/trunk/impl/src/main/java/org/jboss/weld/manager/BeanManagerImpl.java 2010-01-08 14:23:49 UTC (rev 5400)
+++ core/trunk/impl/src/main/java/org/jboss/weld/manager/BeanManagerImpl.java 2010-01-08 17:04:14 UTC (rev 5401)
@@ -37,7 +37,6 @@
import java.io.Serializable;
import java.lang.annotation.Annotation;
-import java.lang.reflect.Member;
import java.lang.reflect.Type;
import java.util.ArrayList;
import java.util.Arrays;
@@ -60,7 +59,6 @@
import javax.enterprise.context.spi.Context;
import javax.enterprise.context.spi.Contextual;
import javax.enterprise.context.spi.CreationalContext;
-import javax.enterprise.inject.spi.Annotated;
import javax.enterprise.inject.spi.AnnotatedType;
import javax.enterprise.inject.spi.Bean;
import javax.enterprise.inject.spi.Decorator;
@@ -140,95 +138,7 @@
public class BeanManagerImpl implements WeldManager, Serializable
{
-
- private static class CurrentActivity
- {
-
- private final Context context;
- private final BeanManagerImpl manager;
-
- public CurrentActivity(Context context, BeanManagerImpl manager)
- {
- this.context = context;
- this.manager = manager;
- }
-
- public Context getContext()
- {
- return context;
- }
-
- public BeanManagerImpl getManager()
- {
- return manager;
- }
-
- @Override
- public boolean equals(Object obj)
- {
- if (obj instanceof CurrentActivity)
- {
- return this.getContext().equals(((CurrentActivity) obj).getContext());
- }
- else
- {
- return false;
- }
- }
-
- @Override
- public int hashCode()
- {
- return getContext().hashCode();
- }
-
- @Override
- public String toString()
- {
- return getContext() + " -> " + getManager();
- }
- }
-
private static final long serialVersionUID = 3021562879133838561L;
-
- public static final InjectionPoint DUMMY_INJECTION_POINT = new InjectionPoint()
- {
-
- public boolean isTransient()
- {
- return true;
- }
-
- public boolean isDelegate()
- {
- return false;
- }
-
- public Type getType()
- {
- return InjectionPoint.class;
- }
-
- public Set<Annotation> getQualifiers()
- {
- return Collections.emptySet();
- }
-
- public Member getMember()
- {
- return null;
- }
-
- public Bean<?> getBean()
- {
- return null;
- }
-
- public Annotated getAnnotated()
- {
- return null;
- }
- };
/*
* Application scoped services
@@ -486,11 +396,11 @@
// TODO Currently we build the accessible bean list on the fly, we need to set it in stone once bootstrap is finished...
- Transform<Bean<?>> beanTransform = new Transform.BeanTransform(this);
+ Transform<Bean<?>> beanTransform = new BeanTransform(this);
this.beanResolver = new TypeSafeBeanResolver<Bean<?>>(this, createDynamicAccessibleIterable(beanTransform));
- this.decoratorResolver = new TypeSafeDecoratorResolver(this, createDynamicAccessibleIterable(Transform.DECORATOR_BEAN));
- this.interceptorResolver = new TypeSafeInterceptorResolver(this, createDynamicAccessibleIterable(Transform.INTERCEPTOR_BEAN));
- this.observerResolver = new TypeSafeObserverResolver(this, createDynamicAccessibleIterable(Transform.EVENT_OBSERVER));
+ this.decoratorResolver = new TypeSafeDecoratorResolver(this, createDynamicAccessibleIterable(new DecoratorTransform()));
+ this.interceptorResolver = new TypeSafeInterceptorResolver(this, createDynamicAccessibleIterable(new InterceptorTransform()));
+ this.observerResolver = new TypeSafeObserverResolver(this, createDynamicAccessibleIterable(new ObserverMethodTransform()));
this.nameBasedResolver = new NameBasedResolver(this, createDynamicAccessibleIterable(beanTransform));
this.weldELResolver = new WeldELResolver(this);
this.childActivities = new CopyOnWriteArraySet<BeanManagerImpl>();
@@ -551,78 +461,6 @@
return Iterables.concat(iterable);
}
- private static interface Transform<T>
- {
-
- public static class BeanTransform implements Transform<Bean<?>>
- {
-
- private final BeanManagerImpl declaringBeanManager;
-
- public BeanTransform(BeanManagerImpl declaringBeanManager)
- {
- this.declaringBeanManager = declaringBeanManager;
- }
-
- public Iterable<Bean<?>> transform(BeanManagerImpl beanManager)
- {
- // New beans and built in beans aren't resolvable transitively
- if (beanManager.equals(declaringBeanManager))
- {
- return beanManager.getBeans();
- }
- else
- {
- return beanManager.getTransitiveBeans();
- }
- }
-
- };
-
- public static Transform<Decorator<?>> DECORATOR_BEAN = new Transform<Decorator<?>>()
- {
-
- public Iterable<Decorator<?>> transform(BeanManagerImpl beanManager)
- {
- return beanManager.getDecorators();
- }
-
- };
-
- public static Transform<Interceptor<?>> INTERCEPTOR_BEAN = new Transform<Interceptor<?>>()
- {
-
- public Iterable<Interceptor<?>> transform(BeanManagerImpl beanManager)
- {
- return beanManager.getInterceptors();
- }
-
- };
-
- public static Transform<ObserverMethod<?>> EVENT_OBSERVER = new Transform<ObserverMethod<?>>()
- {
-
- public Iterable<ObserverMethod<?>> transform(BeanManagerImpl beanManager)
- {
- return beanManager.getObservers();
- }
-
- };
-
- public static Transform<String> NAMESPACE = new Transform<String>()
- {
-
- public Iterable<String> transform(BeanManagerImpl beanManager)
- {
- return beanManager.getNamespaces();
- }
-
- };
-
- public Iterable<T> transform(BeanManagerImpl beanManager);
-
- }
-
public void addAccessibleBeanManager(BeanManagerImpl accessibleBeanManager)
{
accessibleManagers.add(accessibleBeanManager);
@@ -860,7 +698,7 @@
return Collections.unmodifiableList(beans);
}
- private List<Bean<?>> getTransitiveBeans()
+ List<Bean<?>> getTransitiveBeans()
{
return Collections.unmodifiableList(transitiveBeans);
}
@@ -877,7 +715,7 @@
public Iterable<Bean<?>> getAccessibleBeans()
{
- return createDynamicAccessibleIterable(new Transform.BeanTransform(this));
+ return createDynamicAccessibleIterable(new BeanTransform(this));
}
public void addContext(Context context)
@@ -1301,12 +1139,12 @@
public void pushDummyInjectionPoint()
{
- currentInjectionPoint.get().push(DUMMY_INJECTION_POINT);
+ currentInjectionPoint.get().push(DummyInjectionPoint.INSTANCE);
}
public void popDummyInjectionPoint()
{
- if (!currentInjectionPoint.get().isEmpty() && DUMMY_INJECTION_POINT.equals(currentInjectionPoint.get().peek()))
+ if (!currentInjectionPoint.get().isEmpty() && DummyInjectionPoint.INSTANCE.equals(currentInjectionPoint.get().peek()))
{
currentInjectionPoint.get().pop();
}
@@ -1350,7 +1188,7 @@
public Iterable<String> getAccessibleNamespaces()
{
// TODO Cache this
- return createDynamicAccessibleIterable(Transform.NAMESPACE);
+ return createDynamicAccessibleIterable(new NamespaceTransform());
}
private Set<CurrentActivity> getCurrentActivities()
@@ -1378,7 +1216,7 @@
// TODO I don't like this lazy init
if (rootNamespace == null)
{
- rootNamespace = new Namespace(createDynamicAccessibleIterable(Transform.NAMESPACE));
+ rootNamespace = new Namespace(createDynamicAccessibleIterable(new NamespaceTransform()));
}
return rootNamespace;
}
Added: core/trunk/impl/src/main/java/org/jboss/weld/manager/BeanTransform.java
===================================================================
--- core/trunk/impl/src/main/java/org/jboss/weld/manager/BeanTransform.java (rev 0)
+++ core/trunk/impl/src/main/java/org/jboss/weld/manager/BeanTransform.java 2010-01-08 17:04:14 UTC (rev 5401)
@@ -0,0 +1,31 @@
+/**
+ *
+ */
+package org.jboss.weld.manager;
+
+import javax.enterprise.inject.spi.Bean;
+
+public class BeanTransform implements Transform<Bean<?>>
+{
+
+ private final BeanManagerImpl declaringBeanManager;
+
+ public BeanTransform(BeanManagerImpl declaringBeanManager)
+ {
+ this.declaringBeanManager = declaringBeanManager;
+ }
+
+ public Iterable<Bean<?>> transform(BeanManagerImpl beanManager)
+ {
+ // New beans and built in beans aren't resolvable transitively
+ if (beanManager.equals(declaringBeanManager))
+ {
+ return beanManager.getBeans();
+ }
+ else
+ {
+ return beanManager.getTransitiveBeans();
+ }
+ }
+
+}
\ No newline at end of file
Property changes on: core/trunk/impl/src/main/java/org/jboss/weld/manager/BeanTransform.java
___________________________________________________________________
Name: svn:mime-type
+ text/plain
Name: svn:eol-style
+ native
Added: core/trunk/impl/src/main/java/org/jboss/weld/manager/CurrentActivity.java
===================================================================
--- core/trunk/impl/src/main/java/org/jboss/weld/manager/CurrentActivity.java (rev 0)
+++ core/trunk/impl/src/main/java/org/jboss/weld/manager/CurrentActivity.java 2010-01-08 17:04:14 UTC (rev 5401)
@@ -0,0 +1,54 @@
+/**
+ *
+ */
+package org.jboss.weld.manager;
+
+import javax.enterprise.context.spi.Context;
+
+class CurrentActivity
+{
+
+ private final Context context;
+ private final BeanManagerImpl manager;
+
+ public CurrentActivity(Context context, BeanManagerImpl manager)
+ {
+ this.context = context;
+ this.manager = manager;
+ }
+
+ public Context getContext()
+ {
+ return context;
+ }
+
+ public BeanManagerImpl getManager()
+ {
+ return manager;
+ }
+
+ @Override
+ public boolean equals(Object obj)
+ {
+ if (obj instanceof CurrentActivity)
+ {
+ return this.getContext().equals(((CurrentActivity) obj).getContext());
+ }
+ else
+ {
+ return false;
+ }
+ }
+
+ @Override
+ public int hashCode()
+ {
+ return getContext().hashCode();
+ }
+
+ @Override
+ public String toString()
+ {
+ return getContext() + " -> " + getManager();
+ }
+}
\ No newline at end of file
Property changes on: core/trunk/impl/src/main/java/org/jboss/weld/manager/CurrentActivity.java
___________________________________________________________________
Name: svn:mime-type
+ text/plain
Name: svn:eol-style
+ native
Added: core/trunk/impl/src/main/java/org/jboss/weld/manager/DecoratorTransform.java
===================================================================
--- core/trunk/impl/src/main/java/org/jboss/weld/manager/DecoratorTransform.java (rev 0)
+++ core/trunk/impl/src/main/java/org/jboss/weld/manager/DecoratorTransform.java 2010-01-08 17:04:14 UTC (rev 5401)
@@ -0,0 +1,16 @@
+/**
+ *
+ */
+package org.jboss.weld.manager;
+
+import javax.enterprise.inject.spi.Decorator;
+
+class DecoratorTransform implements Transform<Decorator<?>>
+{
+
+ public Iterable<Decorator<?>> transform(BeanManagerImpl beanManager)
+ {
+ return beanManager.getDecorators();
+ }
+
+}
Property changes on: core/trunk/impl/src/main/java/org/jboss/weld/manager/DecoratorTransform.java
___________________________________________________________________
Name: svn:mime-type
+ text/plain
Name: svn:eol-style
+ native
Added: core/trunk/impl/src/main/java/org/jboss/weld/manager/DummyInjectionPoint.java
===================================================================
--- core/trunk/impl/src/main/java/org/jboss/weld/manager/DummyInjectionPoint.java (rev 0)
+++ core/trunk/impl/src/main/java/org/jboss/weld/manager/DummyInjectionPoint.java 2010-01-08 17:04:14 UTC (rev 5401)
@@ -0,0 +1,56 @@
+/**
+ *
+ */
+package org.jboss.weld.manager;
+
+import java.lang.annotation.Annotation;
+import java.lang.reflect.Member;
+import java.lang.reflect.Type;
+import java.util.Collections;
+import java.util.Set;
+
+import javax.enterprise.inject.spi.Annotated;
+import javax.enterprise.inject.spi.Bean;
+import javax.enterprise.inject.spi.InjectionPoint;
+
+public class DummyInjectionPoint implements InjectionPoint
+{
+
+ public static final DummyInjectionPoint INSTANCE = new DummyInjectionPoint();
+
+ public boolean isTransient()
+ {
+ return true;
+ }
+
+ public boolean isDelegate()
+ {
+ return false;
+ }
+
+ public Type getType()
+ {
+ return InjectionPoint.class;
+ }
+
+ public Set<Annotation> getQualifiers()
+ {
+ return Collections.emptySet();
+ }
+
+ public Member getMember()
+ {
+ return null;
+ }
+
+ public Bean<?> getBean()
+ {
+ return null;
+ }
+
+ public Annotated getAnnotated()
+ {
+ return null;
+ }
+
+}
Property changes on: core/trunk/impl/src/main/java/org/jboss/weld/manager/DummyInjectionPoint.java
___________________________________________________________________
Name: svn:mime-type
+ text/plain
Name: svn:eol-style
+ native
Added: core/trunk/impl/src/main/java/org/jboss/weld/manager/InterceptorTransform.java
===================================================================
--- core/trunk/impl/src/main/java/org/jboss/weld/manager/InterceptorTransform.java (rev 0)
+++ core/trunk/impl/src/main/java/org/jboss/weld/manager/InterceptorTransform.java 2010-01-08 17:04:14 UTC (rev 5401)
@@ -0,0 +1,16 @@
+/**
+ *
+ */
+package org.jboss.weld.manager;
+
+import javax.enterprise.inject.spi.Interceptor;
+
+class InterceptorTransform implements Transform<Interceptor<?>>
+{
+
+ public Iterable<Interceptor<?>> transform(BeanManagerImpl beanManager)
+ {
+ return beanManager.getInterceptors();
+ }
+
+}
Property changes on: core/trunk/impl/src/main/java/org/jboss/weld/manager/InterceptorTransform.java
___________________________________________________________________
Name: svn:mime-type
+ text/plain
Name: svn:eol-style
+ native
Added: core/trunk/impl/src/main/java/org/jboss/weld/manager/NamespaceTransform.java
===================================================================
--- core/trunk/impl/src/main/java/org/jboss/weld/manager/NamespaceTransform.java (rev 0)
+++ core/trunk/impl/src/main/java/org/jboss/weld/manager/NamespaceTransform.java 2010-01-08 17:04:14 UTC (rev 5401)
@@ -0,0 +1,14 @@
+/**
+ *
+ */
+package org.jboss.weld.manager;
+
+class NamespaceTransform implements Transform<String>
+{
+
+ public Iterable<String> transform(BeanManagerImpl beanManager)
+ {
+ return beanManager.getNamespaces();
+ }
+
+}
Property changes on: core/trunk/impl/src/main/java/org/jboss/weld/manager/NamespaceTransform.java
___________________________________________________________________
Name: svn:mime-type
+ text/plain
Name: svn:eol-style
+ native
Added: core/trunk/impl/src/main/java/org/jboss/weld/manager/ObserverMethodTransform.java
===================================================================
--- core/trunk/impl/src/main/java/org/jboss/weld/manager/ObserverMethodTransform.java (rev 0)
+++ core/trunk/impl/src/main/java/org/jboss/weld/manager/ObserverMethodTransform.java 2010-01-08 17:04:14 UTC (rev 5401)
@@ -0,0 +1,16 @@
+/**
+ *
+ */
+package org.jboss.weld.manager;
+
+import javax.enterprise.inject.spi.ObserverMethod;
+
+class ObserverMethodTransform implements Transform<ObserverMethod<?>>
+{
+
+ public Iterable<ObserverMethod<?>> transform(BeanManagerImpl beanManager)
+ {
+ return beanManager.getObservers();
+ }
+
+}
Property changes on: core/trunk/impl/src/main/java/org/jboss/weld/manager/ObserverMethodTransform.java
___________________________________________________________________
Name: svn:mime-type
+ text/plain
Name: svn:eol-style
+ native
Added: core/trunk/impl/src/main/java/org/jboss/weld/manager/Transform.java
===================================================================
--- core/trunk/impl/src/main/java/org/jboss/weld/manager/Transform.java (rev 0)
+++ core/trunk/impl/src/main/java/org/jboss/weld/manager/Transform.java 2010-01-08 17:04:14 UTC (rev 5401)
@@ -0,0 +1,11 @@
+/**
+ *
+ */
+package org.jboss.weld.manager;
+
+interface Transform<T>
+{
+
+ public Iterable<T> transform(BeanManagerImpl beanManager);
+
+}
Property changes on: core/trunk/impl/src/main/java/org/jboss/weld/manager/Transform.java
___________________________________________________________________
Name: svn:mime-type
+ text/plain
Name: svn:eol-style
+ native
Modified: core/trunk/impl/src/main/java/org/jboss/weld/resolution/TypeSafeBeanResolver.java
===================================================================
--- core/trunk/impl/src/main/java/org/jboss/weld/resolution/TypeSafeBeanResolver.java 2010-01-08 14:23:49 UTC (rev 5400)
+++ core/trunk/impl/src/main/java/org/jboss/weld/resolution/TypeSafeBeanResolver.java 2010-01-08 17:04:14 UTC (rev 5401)
@@ -21,10 +21,13 @@
import java.util.Set;
import java.util.concurrent.Callable;
+import javax.enterprise.event.Event;
+import javax.enterprise.inject.Instance;
import javax.enterprise.inject.spi.Bean;
+import javax.enterprise.util.TypeLiteral;
+import javax.inject.Provider;
-import org.jboss.weld.bean.builtin.EventBean;
-import org.jboss.weld.bean.builtin.InstanceBean;
+import org.jboss.weld.bean.builtin.FacadeBeanResolvableTransformer;
import org.jboss.weld.manager.BeanManagerImpl;
import org.jboss.weld.util.Beans;
import org.jboss.weld.util.collections.ConcurrentCache;
@@ -36,26 +39,25 @@
*/
public class TypeSafeBeanResolver<T extends Bean<?>> extends TypeSafeResolver<Resolvable, T>
{
+
+ private static final Class<Instance<?>> INSTANCE_TYPE = new TypeLiteral<Instance<?>>() {}.getRawType();
+ private static final Class<Provider<?>> PROVIDER_TYPE = new TypeLiteral<Provider<?>>() {}.getRawType();
+ private static final Class<Event<?>> EVENT_TYPE = new TypeLiteral<Event<?>>() {}.getRawType();
- public static final Set<ResolvableTransformer> TRANSFORMERS;
-
+ private final Set<ResolvableTransformer> transformers;
private final BeanManagerImpl manager;
private final ConcurrentCache<Set<?>, Set<Bean<?>>> disambiguatedBeans;
-
- static
- {
- TRANSFORMERS = new HashSet<ResolvableTransformer>();
- TRANSFORMERS.add(EventBean.TRANSFORMER);
- TRANSFORMERS.add(InstanceBean.INSTANCE_TRANSFORMER);
- TRANSFORMERS.add(InstanceBean.PROVIDER_TRANSFORMER);
- TRANSFORMERS.add(new NewResolvableTransformer());
- }
public TypeSafeBeanResolver(BeanManagerImpl manager, Iterable<T> beans)
{
super(beans);
this.manager = manager;
this.disambiguatedBeans = new ConcurrentCache<Set<?>, Set<Bean<?>>>();
+ transformers = new HashSet<ResolvableTransformer>();
+ transformers.add(new FacadeBeanResolvableTransformer(EVENT_TYPE));
+ transformers.add(new FacadeBeanResolvableTransformer(INSTANCE_TYPE));
+ transformers.add(new FacadeBeanResolvableTransformer(PROVIDER_TYPE));
+ transformers.add(new NewResolvableTransformer());
}
@Override
@@ -81,7 +83,7 @@
@Override
protected Iterable<ResolvableTransformer> getTransformers()
{
- return TRANSFORMERS;
+ return transformers;
}
@Override
Modified: core/trunk/impl/src/main/java/org/jboss/weld/util/ApiAbstraction.java
===================================================================
--- core/trunk/impl/src/main/java/org/jboss/weld/util/ApiAbstraction.java 2010-01-08 14:23:49 UTC (rev 5400)
+++ core/trunk/impl/src/main/java/org/jboss/weld/util/ApiAbstraction.java 2010-01-08 17:04:14 UTC (rev 5401)
@@ -57,7 +57,7 @@
/**
* "Not found" enumeration value.
*/
- public enum DummyEnum
+ public static enum DummyEnum
{
DUMMY_VALUE
}
Modified: core/trunk/tests/src/test/java/org/jboss/weld/tests/unit/bootstrap/ContainerStatusTest.java
===================================================================
--- core/trunk/tests/src/test/java/org/jboss/weld/tests/unit/bootstrap/ContainerStatusTest.java 2010-01-08 14:23:49 UTC (rev 5400)
+++ core/trunk/tests/src/test/java/org/jboss/weld/tests/unit/bootstrap/ContainerStatusTest.java 2010-01-08 17:04:14 UTC (rev 5401)
@@ -1,7 +1,7 @@
package org.jboss.weld.tests.unit.bootstrap;
import org.jboss.weld.Container;
-import org.jboss.weld.Container.Status;
+import org.jboss.weld.ContainerState;
import org.jboss.weld.mock.MockServletLifecycle;
import org.jboss.weld.mock.TestContainer;
import org.testng.annotations.Test;
@@ -16,16 +16,16 @@
assert !Container.available();
container.getLifecycle().initialize();
assert !Container.available();
- assert Container.instance().getStatus().equals(Status.STARTING);
+ assert Container.instance().getStatus().equals(ContainerState.STARTING);
container.getLifecycle().getBootstrap().startInitialization();
assert !Container.available();
- assert Container.instance().getStatus().equals(Status.STARTING);
+ assert Container.instance().getStatus().equals(ContainerState.STARTING);
container.getLifecycle().getBootstrap().deployBeans();
assert Container.available();
- assert Container.instance().getStatus().equals(Status.INITIALIZED);
+ assert Container.instance().getStatus().equals(ContainerState.INITIALIZED);
container.getLifecycle().getBootstrap().validateBeans().endInitialization();
assert Container.available();
- assert Container.instance().getStatus().equals(Status.VALIDATED);
+ assert Container.instance().getStatus().equals(ContainerState.VALIDATED);
container.stopContainer();
assert !Container.available();
}
More information about the weld-commits
mailing list