Author: pete.muir(a)jboss.org
Date: 2009-06-23 17:09:52 -0400 (Tue, 23 Jun 2009)
New Revision: 2872
Added:
ri/trunk/impl/src/main/java/org/jboss/webbeans/injection/resolution/DecoratorResolver.java
tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/tests/decorators/
tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/tests/decorators/definition/
tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/tests/decorators/definition/AbstractFooDecorator.java
tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/tests/decorators/definition/Bar.java
tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/tests/decorators/definition/Baz.java
tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/tests/decorators/definition/BazDecorator.java
tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/tests/decorators/definition/Bazt.java
tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/tests/decorators/definition/BaztImpl.java
tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/tests/decorators/definition/Boo.java
tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/tests/decorators/definition/CowShed.java
tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/tests/decorators/definition/DecoratorDefinitionTest.java
tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/tests/decorators/definition/Field.java
tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/tests/decorators/definition/FieldDecorator.java
tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/tests/decorators/definition/FieldImpl.java
tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/tests/decorators/definition/Foo.java
tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/tests/decorators/definition/FooBar.java
tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/tests/decorators/definition/FooBarImpl.java
tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/tests/decorators/definition/FooDecorator.java
tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/tests/decorators/definition/Logger.java
tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/tests/decorators/definition/Meta.java
tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/tests/decorators/definition/MockLogger.java
tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/tests/decorators/definition/TimestampLogger.java
tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/tests/decorators/definition/broken/
tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/tests/decorators/definition/broken/finalBeanClass/
tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/tests/decorators/definition/broken/finalBeanClass/FinalBeanClassTest.java
tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/tests/decorators/definition/broken/finalBeanClass/Logger.java
tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/tests/decorators/definition/broken/finalBeanClass/MockLogger.java
tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/tests/decorators/definition/broken/finalBeanClass/TimestampLogger.java
tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/tests/decorators/definition/broken/multipleDelegateInjectionPoints/
tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/tests/decorators/definition/broken/multipleDelegateInjectionPoints/Logger.java
tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/tests/decorators/definition/broken/multipleDelegateInjectionPoints/MockLogger.java
tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/tests/decorators/definition/broken/multipleDelegateInjectionPoints/MultipleDelegateInjectionPointsTest.java
tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/tests/decorators/definition/broken/multipleDelegateInjectionPoints/TimestampLogger.java
tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/tests/decorators/definition/broken/noDelegateInjectionPoints/
tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/tests/decorators/definition/broken/noDelegateInjectionPoints/Logger.java
tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/tests/decorators/definition/broken/noDelegateInjectionPoints/MockLogger.java
tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/tests/decorators/definition/broken/noDelegateInjectionPoints/NoDelegateInjectionPointsTest.java
tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/tests/decorators/definition/broken/noDelegateInjectionPoints/TimestampLogger.java
tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/tests/decorators/definition/broken/notAllDecoratedTypesImplemented/
tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/tests/decorators/definition/broken/notAllDecoratedTypesImplemented/EnhancedLogger.java
tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/tests/decorators/definition/broken/notAllDecoratedTypesImplemented/Logger.java
tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/tests/decorators/definition/broken/notAllDecoratedTypesImplemented/MockLogger.java
tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/tests/decorators/definition/broken/notAllDecoratedTypesImplemented/NotAllDecoratedTypesImplementedTest.java
tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/tests/decorators/definition/broken/notAllDecoratedTypesImplemented/TimestampLogger.java
tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/tests/deployment/lifecycle/DataAccessImpl.java
tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/tests/implementation/simple/definition/AnimalImpl.java
tck/trunk/impl/src/main/resources/org/jboss/jsr299/tck/tests/decorators/
tck/trunk/impl/src/main/resources/org/jboss/jsr299/tck/tests/decorators/definition/
tck/trunk/impl/src/main/resources/org/jboss/jsr299/tck/tests/decorators/definition/beans.xml
tck/trunk/impl/src/main/resources/org/jboss/jsr299/tck/tests/decorators/definition/broken/
tck/trunk/impl/src/main/resources/org/jboss/jsr299/tck/tests/decorators/definition/broken/finalBeanClass/
tck/trunk/impl/src/main/resources/org/jboss/jsr299/tck/tests/decorators/definition/broken/finalBeanClass/beans.xml
tck/trunk/impl/src/main/resources/org/jboss/jsr299/tck/tests/decorators/definition/broken/multipleDelegateInjectionPoints/
tck/trunk/impl/src/main/resources/org/jboss/jsr299/tck/tests/decorators/definition/broken/multipleDelegateInjectionPoints/beans.xml
tck/trunk/impl/src/main/resources/org/jboss/jsr299/tck/tests/decorators/definition/broken/noDelegateInjectionPoints/
tck/trunk/impl/src/main/resources/org/jboss/jsr299/tck/tests/decorators/definition/broken/noDelegateInjectionPoints/beans.xml
tck/trunk/impl/src/main/resources/org/jboss/jsr299/tck/tests/decorators/definition/broken/notAllDecoratedTypesImplemented/
tck/trunk/impl/src/main/resources/org/jboss/jsr299/tck/tests/decorators/definition/broken/notAllDecoratedTypesImplemented/beans.xml
tck/trunk/impl/src/main/resources/org/jboss/jsr299/tck/tests/deployment/
tck/trunk/impl/src/main/resources/org/jboss/jsr299/tck/tests/deployment/lifecycle/
tck/trunk/impl/src/main/resources/org/jboss/jsr299/tck/tests/deployment/lifecycle/beans.xml
Modified:
ri/trunk/impl/src/main/java/org/jboss/webbeans/BeanManagerImpl.java
ri/trunk/impl/src/main/java/org/jboss/webbeans/BeanValidator.java
ri/trunk/impl/src/main/java/org/jboss/webbeans/bean/DecoratorBean.java
ri/trunk/impl/src/main/java/org/jboss/webbeans/injection/resolution/ResolvableFactory.java
ri/trunk/impl/src/main/java/org/jboss/webbeans/injection/resolution/Resolver.java
ri/trunk/impl/src/main/java/org/jboss/webbeans/xml/BeansXmlParser.java
tck/trunk/impl/src/main/resources/tck-audit.xml
Log:
Various decorator tests
Modified: ri/trunk/impl/src/main/java/org/jboss/webbeans/BeanManagerImpl.java
===================================================================
--- ri/trunk/impl/src/main/java/org/jboss/webbeans/BeanManagerImpl.java 2009-06-23
20:42:32 UTC (rev 2871)
+++ ri/trunk/impl/src/main/java/org/jboss/webbeans/BeanManagerImpl.java 2009-06-23
21:09:52 UTC (rev 2872)
@@ -80,6 +80,7 @@
import org.jboss.webbeans.event.EventObserver;
import org.jboss.webbeans.event.ObserverImpl;
import org.jboss.webbeans.injection.NonContextualInjector;
+import org.jboss.webbeans.injection.resolution.DecoratorResolver;
import org.jboss.webbeans.injection.resolution.ResolvableFactory;
import org.jboss.webbeans.injection.resolution.ResolvableWBClass;
import org.jboss.webbeans.injection.resolution.Resolver;
@@ -110,10 +111,10 @@
private static class CurrentActivity
{
-
+
private final Context context;
- private final BeanManagerImpl manager;
-
+ private final BeanManagerImpl manager;
+
public CurrentActivity(Context context, BeanManagerImpl manager)
{
this.context = context;
@@ -164,14 +165,14 @@
public static final String JNDI_KEY = "java:app/Manager";
/*
- * Application scoped services
- * ****************************
- */
+ * Application scoped services
+ * ***************************
+ */
private transient final ExecutorService taskExecutor =
Executors.newSingleThreadExecutor();
private transient final ServiceRegistry services;
-
+
/*
- * Application scoped data structures
+ * Application scoped data structures
* ***********************************
*/
private transient List<Class<? extends Annotation>>
enabledDeploymentTypes;
@@ -184,19 +185,19 @@
private transient final Map<String, RIBean<?>> riBeans;
private final transient Map<Bean<?>, Bean<?>> specializedBeans;
private final transient AtomicInteger ids;
-
+
/*
- * Activity scoped services
+ * Activity scoped services
* *************************
- */
+ */
private transient final EventManager eventManager;
private transient final Resolver resolver;
private transient final Resolver decoratorResolver;
private final transient NonContextualInjector nonContextualInjector;
private final transient ELResolver webbeansELResolver;
-
+
/*
- * Activity scoped data structures
+ * Activity scoped data structures
* ********************************
*/
private transient final ThreadLocal<Stack<InjectionPoint>>
currentInjectionPoint;
@@ -206,8 +207,7 @@
private final transient ConcurrentSetMultiMap<Type, EventObserver<?>>
registeredObservers;
private final transient Set<BeanManagerImpl> childActivities;
private final Integer id;
-
-
+
/**
* Create a new, root, manager
*
@@ -220,23 +220,23 @@
defaultEnabledDeploymentTypes.add(0, Standard.class);
defaultEnabledDeploymentTypes.add(1, Production.class);
+ List<Class<?>> defaultEnabledDecoratorClasses = new
ArrayList<Class<?>>();
+
return new BeanManagerImpl(
serviceRegistry,
- new CopyOnWriteArrayList<Bean<?>>(),
+ new CopyOnWriteArrayList<Bean<?>>(),
new CopyOnWriteArrayList<Decorator<?>>(),
new ConcurrentSetHashMultiMap<Type, EventObserver<?>>(),
new Namespace(),
new ConcurrentHashMap<Class<?>, EnterpriseBean<?>>(),
- new ConcurrentHashMap<String, RIBean<?>>(),
- new ClientProxyProvider(),
+ new ConcurrentHashMap<String, RIBean<?>>(),
+ new ClientProxyProvider(),
new ConcurrentListHashMultiMap<Class<? extends Annotation>,
Context>(),
- new CopyOnWriteArraySet<CurrentActivity>(),
- new HashMap<Bean<?>, Bean<?>>(),
- defaultEnabledDeploymentTypes,
- new AtomicInteger()
- );
+ new CopyOnWriteArraySet<CurrentActivity>(),
+ new HashMap<Bean<?>, Bean<?>>(),
defaultEnabledDeploymentTypes, defaultEnabledDecoratorClasses,
+ new AtomicInteger());
}
-
+
/**
* Create a new child manager
*
@@ -251,44 +251,29 @@
ConcurrentSetMultiMap<Type, EventObserver<?>> registeredObservers = new
ConcurrentSetHashMultiMap<Type, EventObserver<?>>();
registeredObservers.deepPutAll(parentManager.getRegisteredObservers());
Namespace rootNamespace = new Namespace(parentManager.getRootNamespace());
-
+
return new BeanManagerImpl(
- parentManager.getServices(),
- beans,
- parentManager.getDecorators(),
- registeredObservers,
- rootNamespace,
+ parentManager.getServices(),
+ beans, parentManager.getDecorators(),
+ registeredObservers, rootNamespace,
parentManager.getNewEnterpriseBeanMap(),
- parentManager.getRiBeans(),
- parentManager.getClientProxyProvider(),
- parentManager.getContexts(),
- parentManager.getCurrentActivities(),
- parentManager.getSpecializedBeans(),
- parentManager.getEnabledDeploymentTypes(),
- parentManager.getIds()
- );
+ parentManager.getRiBeans(),
+ parentManager.getClientProxyProvider(),
+ parentManager.getContexts(),
+ parentManager.getCurrentActivities(),
+ parentManager.getSpecializedBeans(),
+ parentManager.getEnabledDeploymentTypes(),
+ parentManager.getEnabledDecoratorClasses(),
+ parentManager.getIds());
}
/**
* Create a new manager
+ * @param enabledDecoratorClasses
*
* @param ejbServices the ejbResolver to use
*/
- private BeanManagerImpl(
- ServiceRegistry serviceRegistry,
- List<Bean<?>> beans,
- List<Decorator<?>> decorators,
- ConcurrentSetMultiMap<Type, EventObserver<?>> registeredObservers,
- Namespace rootNamespace,
- Map<Class<?>, EnterpriseBean<?>> newEnterpriseBeans,
- Map<String, RIBean<?>> riBeans,
- ClientProxyProvider clientProxyProvider,
- ConcurrentListMultiMap<Class<? extends Annotation>, Context>
contexts,
- Set<CurrentActivity> currentActivities,
- Map<Bean<?>, Bean<?>> specializedBeans,
- List<Class<? extends Annotation>> enabledDeploymentTypes,
- AtomicInteger ids
- )
+ private BeanManagerImpl(ServiceRegistry serviceRegistry, List<Bean<?>>
beans, List<Decorator<?>> decorators, ConcurrentSetMultiMap<Type,
EventObserver<?>> registeredObservers, Namespace rootNamespace,
Map<Class<?>, EnterpriseBean<?>> newEnterpriseBeans, Map<String,
RIBean<?>> riBeans, ClientProxyProvider clientProxyProvider,
ConcurrentListMultiMap<Class<? extends Annotation>, Context> contexts,
Set<CurrentActivity> currentActivities, Map<Bean<?>, Bean<?>>
specializedBeans, List<Class<? extends Annotation>> enabledDeploymentTypes,
List<Class<?>> enabledDecoratorClasses, AtomicInteger ids)
{
this.services = serviceRegistry;
this.beans = beans;
@@ -301,12 +286,13 @@
this.specializedBeans = specializedBeans;
this.registeredObservers = registeredObservers;
setEnabledDeploymentTypes(enabledDeploymentTypes);
+ setEnabledDecoratorClasses(enabledDecoratorClasses);
this.rootNamespace = rootNamespace;
this.ids = ids;
this.id = ids.incrementAndGet();
-
+
this.resolver = new Resolver(this, beans);
- this.decoratorResolver = new Resolver(this, decorators);
+ this.decoratorResolver = new DecoratorResolver(this, decorators);
this.eventManager = new EventManager(this);
this.nonContextualInjector = new NonContextualInjector(this);
this.webbeansELResolver = new WebBeansELResolverImpl(this);
@@ -426,6 +412,14 @@
}
/**
+ * @return the enabledDecoratorClasses
+ */
+ public List<Class<?>> getEnabledDecoratorClasses()
+ {
+ return Collections.unmodifiableList(enabledDecoratorClasses);
+ }
+
+ /**
* Set the enabled deployment types
*
* @param enabledDeploymentTypes
@@ -446,7 +440,6 @@
{
this.enabledInterceptorClasses = enabledInterceptorClasses;
}
-
public Set<Bean<?>> getBeans(Type beanType, Annotation... bindings)
{
@@ -480,7 +473,7 @@
return resolver.get(ResolvableFactory.of(element));
}
- public Set<Bean<?>> getBeans(InjectionPoint injectionPoint)
+ public Set<Bean<?>> getInjectableBeans(InjectionPoint injectionPoint)
{
boolean registerInjectionPoint =
!injectionPoint.getType().equals(InjectionPoint.class);
try
@@ -490,7 +483,16 @@
currentInjectionPoint.get().push(injectionPoint);
}
// TODO Do this properly
- return getBeans(ResolvableWBClass.of(injectionPoint.getType(),
injectionPoint.getBindings().toArray(new Annotation[0]), this));
+ Set<Bean<?>> beans =
getBeans(ResolvableWBClass.of(injectionPoint.getType(),
injectionPoint.getBindings().toArray(new Annotation[0]), this));
+ Set<Bean<?>> injectableBeans = new HashSet<Bean<?>>();
+ for (Bean<?> bean : beans)
+ {
+ if (!(bean instanceof Decorator || bean instanceof Interceptor))
+ {
+ injectableBeans.add(bean);
+ }
+ }
+ return injectableBeans;
}
finally
{
@@ -523,7 +525,7 @@
}
if (bean instanceof DecoratorBean)
{
- decorators.add(DecoratorBean.wrapForResolver((Decorator<?>) bean));
+ decorators.add((Decorator<?>) bean);
}
riBeans.put(bean.getId(), bean);
registerBeanNamespace(bean);
@@ -590,10 +592,9 @@
contexts.put(context.getScopeType(), context);
}
-
public void addObserver(Observer<?> observer, Annotation... bindings)
{
- addObserver(observer,eventManager.getTypeOfObserver(observer),bindings);
+ addObserver(observer, eventManager.getTypeOfObserver(observer), bindings);
}
/**
@@ -609,15 +610,12 @@
public void addObserver(ObserverMethod<?, ?> observerMethod)
{
- addObserver((Observer<?>)observerMethod,
observerMethod.getObservedEventType(),
- new
ArrayList<Annotation>(observerMethod.getObservedEventBindings()).toArray(new
Annotation[0]));
-
+ addObserver(observerMethod, observerMethod.getObservedEventType(), new
ArrayList<Annotation>(observerMethod.getObservedEventBindings()).toArray(new
Annotation[0]));
}
-
/**
* Does the actual observer registration
- *
+ *
* @param observer
* @param eventType
* @param bindings
@@ -638,7 +636,6 @@
eventManager.removeObserver(observer);
}
-
/**
* Fires an event object with given event object for given bindings
*
@@ -722,15 +719,15 @@
return getContext(bean.getScopeType()).get((Bean) bean, creationalContext);
}
}
-
/*
- * TODO this is not correct, as the current implementation of getInstance does not
- * pay attention to what type the resulting instance needs to implement
+ * TODO this is not correct, as the current implementation of getInstance
+ * does not pay attention to what type the resulting instance needs to
+ * implement
*/
public Object getReference(Bean<?> bean, Type beanType)
{
- return getInjectableReference(bean, CreationalContextImpl.of(bean));
+ return getInjectableReference(bean, CreationalContextImpl.of(bean));
}
@SuppressWarnings("unchecked")
@@ -824,11 +821,12 @@
* @param bindings The binding types to match
* @return A list of matching decorators
*
- * @see javax.enterprise.inject.spi.BeanManager#resolveDecorators(java.util.Set,
java.lang.annotation.Annotation[])
+ * @see javax.enterprise.inject.spi.BeanManager#resolveDecorators(java.util.Set,
+ * java.lang.annotation.Annotation[])
*/
public List<Decorator<?>> resolveDecorators(Set<Type> types,
Annotation... bindings)
{
- throw new UnsupportedOperationException();
+ return new ArrayList(decoratorResolver.get(ResolvableFactory.of(types,
bindings)));
}
public List<Decorator<?>> resolveDecorators(Bean<?> bean)
@@ -910,7 +908,7 @@
if (activeCurrentActivities.size() == 0)
{
return CurrentManager.rootManager();
- }
+ }
else if (activeCurrentActivities.size() == 1)
{
return activeCurrentActivities.get(0).getManager();
@@ -1041,7 +1039,6 @@
return rootNamespace;
}
-
public <T> InjectionTarget<T> createInjectionTarget(Class<T> type)
{
throw new UnsupportedOperationException("Not yet implemented");
@@ -1062,8 +1059,6 @@
throw new UnsupportedOperationException("Not yet implemented");
}
-
-
public <X> Bean<? extends X> getMostSpecializedBean(Bean<X> bean)
{
Bean<?> key = bean;
@@ -1078,15 +1073,12 @@
return (Bean<X>) key;
}
-
public void validate(InjectionPoint injectionPoint)
{
throw new UnsupportedOperationException("Not yet implemented");
}
-
- public Set<Annotation> getInterceptorBindingTypeDefinition(
- Class<? extends Annotation> bindingType)
+ public Set<Annotation> getInterceptorBindingTypeDefinition(Class<? extends
Annotation> bindingType)
{
throw new UnsupportedOperationException("Not yet implemented");
}
@@ -1101,8 +1093,7 @@
throw new UnsupportedOperationException("Not yet implemented");
}
- public Set<Annotation> getStereotypeDefinition(
- Class<? extends Annotation> stereotype)
+ public Set<Annotation> getStereotypeDefinition(Class<? extends Annotation>
stereotype)
{
throw new UnsupportedOperationException("Not yet implemented");
}
@@ -1112,8 +1103,7 @@
throw new UnsupportedOperationException("Not yet implemented");
}
- public boolean isInterceptorBindingType(
- Class<? extends Annotation> annotationType)
+ public boolean isInterceptorBindingType(Class<? extends Annotation>
annotationType)
{
throw new UnsupportedOperationException("Not yet implemented");
}
@@ -1130,32 +1120,32 @@
public <X> Bean<? extends X> getHighestPrecedenceBean(Set<Bean<?
extends X>> beans)
{
- if (beans.size() == 1)
- {
- return beans.iterator().next();
- }
- else if (beans.isEmpty())
- {
- return null;
- }
-
- // make a copy so that the sort is stable with respect to new deployment types added
through the SPI
- // TODO This code needs to be in Resolver
- // TODO This needs caching
+ if (beans.size() == 1)
+ {
+ return beans.iterator().next();
+ }
+ else if (beans.isEmpty())
+ {
+ return null;
+ }
+
+ // make a copy so that the sort is stable with respect to new deployment types
added through the SPI
+ // TODO This code needs to be in Resolver
+ // TODO This needs caching
final List<Class<? extends Annotation>> enabledDeploymentTypes =
getEnabledDeploymentTypes();
-
- SortedSet<Bean<? extends X>> sortedBeans = new TreeSet<Bean<?
extends X>>(new Comparator<Bean<? extends X>>()
- {
- public int compare(Bean<? extends X> o1, Bean<? extends X> o2)
- {
- int diff = enabledDeploymentTypes.indexOf(o1) -
enabledDeploymentTypes.indexOf(o2);
- if (diff == 0)
- {
- throw new AmbiguousResolutionException();
- }
- return diff;
- }
- });
+
+ SortedSet<Bean<? extends X>> sortedBeans = new TreeSet<Bean<?
extends X>>(new Comparator<Bean<? extends X>>()
+ {
+ public int compare(Bean<? extends X> o1, Bean<? extends X> o2)
+ {
+ int diff = enabledDeploymentTypes.indexOf(o1) -
enabledDeploymentTypes.indexOf(o2);
+ if (diff == 0)
+ {
+ throw new AmbiguousResolutionException();
+ }
+ return diff;
+ }
+ });
sortedBeans.addAll(beans);
return sortedBeans.last();
}
@@ -1164,7 +1154,5 @@
{
return webbeansELResolver;
}
-
-
-
+
}
Modified: ri/trunk/impl/src/main/java/org/jboss/webbeans/BeanValidator.java
===================================================================
--- ri/trunk/impl/src/main/java/org/jboss/webbeans/BeanValidator.java 2009-06-23 20:42:32
UTC (rev 2871)
+++ ri/trunk/impl/src/main/java/org/jboss/webbeans/BeanValidator.java 2009-06-23 21:09:52
UTC (rev 2872)
@@ -104,7 +104,7 @@
checkFacadeInjectionPoint(injectionPoint, Any.class, Event.class);
Annotation[] bindings = injectionPoint.getBindings().toArray(new
Annotation[0]);
WBAnnotated<?, ?> annotatedItem =
ResolvableWBClass.of(injectionPoint.getType(), bindings, manager);
- Set<?> resolvedBeans = manager.getBeans(injectionPoint);
+ Set<?> resolvedBeans = manager.getInjectableBeans(injectionPoint);
if (resolvedBeans.isEmpty())
{
throw new UnsatisfiedResolutionException("The injection point "
+ injectionPoint + " with binding types " +
Names.annotationsToString(injectionPoint.getBindings()) + " in " + bean + "
has unsatisfied dependencies with binding types ");
Modified: ri/trunk/impl/src/main/java/org/jboss/webbeans/bean/DecoratorBean.java
===================================================================
--- ri/trunk/impl/src/main/java/org/jboss/webbeans/bean/DecoratorBean.java 2009-06-23
20:42:32 UTC (rev 2871)
+++ ri/trunk/impl/src/main/java/org/jboss/webbeans/bean/DecoratorBean.java 2009-06-23
21:09:52 UTC (rev 2872)
@@ -64,6 +64,7 @@
private WBAnnotated<?, ?> decorates;
private Set<Annotation> delegateBindings;
private Type delegateType;
+ private Set<Type> delegateTypes;
private Set<Type> decoratedTypes;
protected DecoratorBean(WBClass<T> type, BeanManagerImpl manager)
@@ -81,6 +82,7 @@
initDecoratedTypes();
initDelegateBindings();
initDelegateType();
+ checkDelegateType();
}
}
@@ -124,6 +126,7 @@
protected void initDelegateType()
{
this.delegateType = this.decorates.getBaseType();
+ this.delegateTypes = this.decorates.getTypeClosure();
}
protected void checkDelegateType()
@@ -174,4 +177,14 @@
return decoratedTypes;
}
+ /**
+ * The type closure of the delegate type
+ *
+ * @return the delegateTypes
+ */
+ public Set<Type> getDelegateTypes()
+ {
+ return delegateTypes;
+ }
+
}
Added:
ri/trunk/impl/src/main/java/org/jboss/webbeans/injection/resolution/DecoratorResolver.java
===================================================================
---
ri/trunk/impl/src/main/java/org/jboss/webbeans/injection/resolution/DecoratorResolver.java
(rev 0)
+++
ri/trunk/impl/src/main/java/org/jboss/webbeans/injection/resolution/DecoratorResolver.java 2009-06-23
21:09:52 UTC (rev 2872)
@@ -0,0 +1,65 @@
+/*
+ * 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.webbeans.injection.resolution;
+
+import java.lang.annotation.Annotation;
+import java.lang.reflect.Type;
+import java.util.List;
+import java.util.Set;
+
+import javax.enterprise.inject.spi.Bean;
+
+import org.jboss.webbeans.BeanManagerImpl;
+import org.jboss.webbeans.bean.DecoratorBean;
+
+/**
+ * @author pmuir
+ *
+ */
+public class DecoratorResolver extends Resolver
+{
+
+ public DecoratorResolver(BeanManagerImpl manager, List<? extends Bean<?>>
beans)
+ {
+ super(manager, beans);
+ }
+
+ @Override
+ protected boolean matches(MatchingResolvable resolvable, Bean<?> bean)
+ {
+ if (bean instanceof DecoratorBean)
+ {
+ DecoratorBean<?> decoratorBean = (DecoratorBean<?>) bean;
+ return resolvable.matches(getBeanTypes(decoratorBean),
getBeanBindings(decoratorBean)) &&
getManager().getEnabledDecoratorClasses().contains(decoratorBean.getType());
+ }
+ else
+ {
+ throw new IllegalStateException("Unable to process non container generated
decorator!");
+ }
+ }
+
+ private Set<Annotation> getBeanBindings(DecoratorBean<?> bean)
+ {
+ return bean.getDelegateBindings();
+ }
+
+ private Set<Type> getBeanTypes(DecoratorBean<?> bean)
+ {
+ return bean.getDelegateTypes();
+ }
+
+}
Property changes on:
ri/trunk/impl/src/main/java/org/jboss/webbeans/injection/resolution/DecoratorResolver.java
___________________________________________________________________
Name: svn:mime-type
+ text/plain
Modified:
ri/trunk/impl/src/main/java/org/jboss/webbeans/injection/resolution/ResolvableFactory.java
===================================================================
---
ri/trunk/impl/src/main/java/org/jboss/webbeans/injection/resolution/ResolvableFactory.java 2009-06-23
20:42:32 UTC (rev 2871)
+++
ri/trunk/impl/src/main/java/org/jboss/webbeans/injection/resolution/ResolvableFactory.java 2009-06-23
21:09:52 UTC (rev 2872)
@@ -2,6 +2,7 @@
import java.lang.annotation.Annotation;
import java.lang.reflect.Type;
+import java.util.Arrays;
import java.util.HashSet;
import java.util.Set;
@@ -25,6 +26,16 @@
}
}
+ public static Resolvable of(Set<Type> typeClosure, Set<Annotation>
bindings)
+ {
+ return new ResolvableImpl(bindings, typeClosure);
+ }
+
+ public static Resolvable of(Set<Type> typeClosure, Annotation... bindings)
+ {
+ return new ResolvableImpl(new HashSet<Annotation>(Arrays.asList(bindings)),
typeClosure);
+ }
+
private ResolvableFactory() {}
private static class ResolvableImpl implements Resolvable
Modified:
ri/trunk/impl/src/main/java/org/jboss/webbeans/injection/resolution/Resolver.java
===================================================================
---
ri/trunk/impl/src/main/java/org/jboss/webbeans/injection/resolution/Resolver.java 2009-06-23
20:42:32 UTC (rev 2871)
+++
ri/trunk/impl/src/main/java/org/jboss/webbeans/injection/resolution/Resolver.java 2009-06-23
21:09:52 UTC (rev 2872)
@@ -47,7 +47,7 @@
{
private static final long serialVersionUID = 1L;
- private static abstract class MatchingResolvable extends ForwardingResolvable
+ protected static abstract class MatchingResolvable extends ForwardingResolvable
{
private final BeanManagerImpl manager;
@@ -144,7 +144,7 @@
{
public Set<Bean<?>> call() throws Exception
{
- return retainHighestPrecedenceBeans(getMatchingBeans(wrapped, beans),
manager.getEnabledDeploymentTypes());
+ return retainHighestPrecedenceBeans(getMatchingBeans(wrapped),
manager.getEnabledDeploymentTypes());
}
};
@@ -207,7 +207,6 @@
public Set<Bean<? extends Object>> call() throws Exception
{
-
Set<Bean<?>> matchedBeans = new HashSet<Bean<?>>();
for (Bean<?> bean : beans)
{
@@ -221,8 +220,6 @@
});
}
-
-
/**
* Filters out the beans with the highest enabled deployment type
@@ -271,12 +268,12 @@
* @param beans The beans to filter
* @return A set of filtered beans
*/
- private static Set<Bean<?>> getMatchingBeans(MatchingResolvable
resolvable, List<? extends Bean<?>> beans)
+ private Set<Bean<?>> getMatchingBeans(MatchingResolvable resolvable)
{
Set<Bean<?>> resolvedBeans = new HashSet<Bean<?>>();
for (Bean<?> bean : beans)
{
- if (resolvable.matches(bean.getTypes(), bean.getBindings()))
+ if (matches(resolvable, bean))
{
resolvedBeans.add(bean);
}
@@ -284,6 +281,11 @@
return resolvedBeans;
}
+ protected boolean matches(MatchingResolvable resolvable, Bean<?> bean)
+ {
+ return resolvable.matches(bean.getTypes(), bean.getBindings());
+ }
+
/**
* Gets a string representation
*
@@ -300,4 +302,9 @@
return buffer.toString();
}
+ protected BeanManagerImpl getManager()
+ {
+ return manager;
+ }
+
}
Modified: ri/trunk/impl/src/main/java/org/jboss/webbeans/xml/BeansXmlParser.java
===================================================================
--- ri/trunk/impl/src/main/java/org/jboss/webbeans/xml/BeansXmlParser.java 2009-06-23
20:42:32 UTC (rev 2871)
+++ ri/trunk/impl/src/main/java/org/jboss/webbeans/xml/BeansXmlParser.java 2009-06-23
21:09:52 UTC (rev 2872)
@@ -141,12 +141,12 @@
}
if (child instanceof Element &&
"interceptors".equals(child.getNodeName()))
{
- decoratorElements.add(new XmlElement(url, (Element) child));
+ interceptorElements.add(new XmlElement(url, (Element) child));
}
-
+
if (child instanceof Element &&
"decorators".equals(child.getNodeName()))
{
- interceptorElements.add(new XmlElement(url, (Element) child));
+ decoratorElements.add(new XmlElement(url, (Element) child));
}
}
}
@@ -171,7 +171,7 @@
enabledDecoratorClasses = new ArrayList<Class<?>>();
enabledDecoratorClasses.addAll(processElement(resourceLoader,
decoratorElements.get(0)));
}
-
+
if (interceptorElements.size() > 1)
{
throw new DeploymentException("<interceptor> can only be specified
once, but it is specified muliple times " + interceptorElements);
@@ -228,7 +228,7 @@
{
try
{
-
list.add(resourceLoader.classForName(className).asSubclass(Annotation.class));
+ list.add(resourceLoader.classForName(className));
}
catch (ResourceLoadingException e)
{
Added:
tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/tests/decorators/definition/AbstractFooDecorator.java
===================================================================
---
tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/tests/decorators/definition/AbstractFooDecorator.java
(rev 0)
+++
tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/tests/decorators/definition/AbstractFooDecorator.java 2009-06-23
21:09:52 UTC (rev 2872)
@@ -0,0 +1,26 @@
+/*
+ * 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.jsr299.tck.tests.decorators.definition;
+
+/**
+ * @author pmuir
+ *
+ */
+public class AbstractFooDecorator implements Boo
+{
+
+}
Property changes on:
tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/tests/decorators/definition/AbstractFooDecorator.java
___________________________________________________________________
Name: svn:mime-type
+ text/plain
Added:
tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/tests/decorators/definition/Bar.java
===================================================================
---
tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/tests/decorators/definition/Bar.java
(rev 0)
+++
tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/tests/decorators/definition/Bar.java 2009-06-23
21:09:52 UTC (rev 2872)
@@ -0,0 +1,26 @@
+/*
+ * 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.jsr299.tck.tests.decorators.definition;
+
+/**
+ * @author pmuir
+ *
+ */
+public interface Bar
+{
+
+}
Property changes on:
tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/tests/decorators/definition/Bar.java
___________________________________________________________________
Name: svn:mime-type
+ text/plain
Added:
tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/tests/decorators/definition/Baz.java
===================================================================
---
tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/tests/decorators/definition/Baz.java
(rev 0)
+++
tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/tests/decorators/definition/Baz.java 2009-06-23
21:09:52 UTC (rev 2872)
@@ -0,0 +1,33 @@
+/*
+ * 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.jsr299.tck.tests.decorators.definition;
+
+import java.lang.reflect.Type;
+import java.util.Arrays;
+import java.util.HashSet;
+import java.util.Set;
+
+/**
+ * @author pmuir
+ *
+ */
+public interface Baz
+{
+
+ public static final Set<Type> TYPES = new
HashSet<Type>(Arrays.asList(Baz.class));
+
+}
Property changes on:
tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/tests/decorators/definition/Baz.java
___________________________________________________________________
Name: svn:mime-type
+ text/plain
Added:
tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/tests/decorators/definition/BazDecorator.java
===================================================================
---
tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/tests/decorators/definition/BazDecorator.java
(rev 0)
+++
tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/tests/decorators/definition/BazDecorator.java 2009-06-23
21:09:52 UTC (rev 2872)
@@ -0,0 +1,32 @@
+/*
+ * 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.jsr299.tck.tests.decorators.definition;
+
+import javax.decorator.Decorates;
+import javax.decorator.Decorator;
+
+/**
+ * @author pmuir
+ *
+ */
+@Decorator
+public class BazDecorator implements Baz
+{
+
+ @Decorates Bazt bazt;
+
+}
Property changes on:
tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/tests/decorators/definition/BazDecorator.java
___________________________________________________________________
Name: svn:mime-type
+ text/plain
Added:
tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/tests/decorators/definition/Bazt.java
===================================================================
---
tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/tests/decorators/definition/Bazt.java
(rev 0)
+++
tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/tests/decorators/definition/Bazt.java 2009-06-23
21:09:52 UTC (rev 2872)
@@ -0,0 +1,33 @@
+/*
+ * 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.jsr299.tck.tests.decorators.definition;
+
+import java.lang.reflect.Type;
+import java.util.Arrays;
+import java.util.HashSet;
+import java.util.Set;
+
+/**
+ * @author pmuir
+ *
+ */
+public interface Bazt extends Baz
+{
+
+ public static final Set<Type> TYPES = new
HashSet<Type>(Arrays.asList(Bazt.class));
+
+}
Property changes on:
tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/tests/decorators/definition/Bazt.java
___________________________________________________________________
Name: svn:mime-type
+ text/plain
Added:
tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/tests/decorators/definition/BaztImpl.java
===================================================================
---
tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/tests/decorators/definition/BaztImpl.java
(rev 0)
+++
tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/tests/decorators/definition/BaztImpl.java 2009-06-23
21:09:52 UTC (rev 2872)
@@ -0,0 +1,26 @@
+/*
+ * 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.jsr299.tck.tests.decorators.definition;
+
+/**
+ * @author pmuir
+ *
+ */
+public class BaztImpl implements Bazt
+{
+
+}
Property changes on:
tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/tests/decorators/definition/BaztImpl.java
___________________________________________________________________
Name: svn:mime-type
+ text/plain
Added:
tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/tests/decorators/definition/Boo.java
===================================================================
---
tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/tests/decorators/definition/Boo.java
(rev 0)
+++
tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/tests/decorators/definition/Boo.java 2009-06-23
21:09:52 UTC (rev 2872)
@@ -0,0 +1,26 @@
+/*
+ * 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.jsr299.tck.tests.decorators.definition;
+
+/**
+ * @author pmuir
+ *
+ */
+public interface Boo
+{
+
+}
Property changes on:
tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/tests/decorators/definition/Boo.java
___________________________________________________________________
Name: svn:mime-type
+ text/plain
Added:
tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/tests/decorators/definition/CowShed.java
===================================================================
---
tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/tests/decorators/definition/CowShed.java
(rev 0)
+++
tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/tests/decorators/definition/CowShed.java 2009-06-23
21:09:52 UTC (rev 2872)
@@ -0,0 +1,39 @@
+/*
+ * 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.jsr299.tck.tests.decorators.definition;
+
+import javax.enterprise.inject.Current;
+
+/**
+ * @author pmuir
+ *
+ */
+public class CowShed
+{
+
+ @Current Logger logger;
+
+ @Current Foo foo;
+
+ @Current Bar bar;
+
+ public void milk()
+ {
+ logger.log("milked");
+ }
+
+}
Property changes on:
tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/tests/decorators/definition/CowShed.java
___________________________________________________________________
Name: svn:mime-type
+ text/plain
Added:
tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/tests/decorators/definition/DecoratorDefinitionTest.java
===================================================================
---
tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/tests/decorators/definition/DecoratorDefinitionTest.java
(rev 0)
+++
tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/tests/decorators/definition/DecoratorDefinitionTest.java 2009-06-23
21:09:52 UTC (rev 2872)
@@ -0,0 +1,116 @@
+/*
+ * 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.jsr299.tck.tests.decorators.definition;
+
+import java.io.Serializable;
+import java.util.List;
+import java.util.Set;
+
+import javax.decorator.Decorates;
+import javax.enterprise.inject.Current;
+import javax.enterprise.inject.spi.Bean;
+import javax.enterprise.inject.spi.Decorator;
+
+import org.hibernate.tck.annotations.SpecAssertion;
+import org.hibernate.tck.annotations.SpecAssertions;
+import org.jboss.jsr299.tck.AbstractJSR299Test;
+import org.jboss.testharness.impl.packaging.Artifact;
+import org.jboss.testharness.impl.packaging.jsr299.BeansXml;
+import org.testng.annotations.Test;
+
+/**
+ * @author pmuir
+ *
+ */
+@Artifact
+(a)BeansXml("beans.xml")
+public class DecoratorDefinitionTest extends AbstractJSR299Test
+{
+
+ @Test
+ @SpecAssertions
+ ({
+ @SpecAssertion(section="8.1", id="a"),
+ @SpecAssertion(section="8.1", id="d"),
+ @SpecAssertion(section="8.1.1", id="a"),
+ @SpecAssertion(section="8.1.3", id="c")
+ })
+
+ public void testDecoratorIsManagedBean()
+ {
+ List<Decorator<?>> decorators =
getCurrentManager().resolveDecorators(Logger.TYPES);
+ assert decorators.size() == 1;
+ Set<Bean<?>> beans =
getCurrentManager().getBeans(TimestampLogger.class);
+ assert beans.size() == 1;
+ assert decorators.get(0).equals(beans.iterator().next());
+ }
+
+ @Test
+ @SpecAssertions
+ ({
+ @SpecAssertion(section="8.1", id="b"),
+ @SpecAssertion(section="8.1", id="c")
+ })
+ public void testDecoratedTypes()
+ {
+ List<Decorator<?>> decorators =
getCurrentManager().resolveDecorators(Foo.TYPES);
+ assert decorators.size() == 1;
+ assert decorators.get(0).getDecoratedTypes().size() == 3;
+ assert decorators.get(0).getDecoratedTypes().contains(Foo.class);
+ assert decorators.get(0).getDecoratedTypes().contains(Bar.class);
+ assert decorators.get(0).getDecoratedTypes().contains(Baz.class);
+ assert !decorators.get(0).getDecoratedTypes().contains(Serializable.class);
+ assert !decorators.get(0).getDecoratedTypes().contains(FooDecorator.class);
+ assert
!decorators.get(0).getDecoratedTypes().contains(AbstractFooDecorator.class);
+ assert !decorators.get(0).getDecoratedTypes().contains(Boo.class);
+ }
+
+ @Test
+ @SpecAssertion(section="8.1.2", id="a")
+ public void testDelegateInjectionPoint()
+ {
+ List<Decorator<?>> decorators =
getCurrentManager().resolveDecorators(Logger.TYPES);
+ assert decorators.size() == 1;
+ Decorator<?> decorator = decorators.get(0);
+ assert decorator.getInjectionPoints().size() == 1;
+ assert
decorator.getInjectionPoints().iterator().next().getType().equals(Logger.class);
+ assert
decorator.getInjectionPoints().iterator().next().getAnnotated().isAnnotationPresent(Decorates.class);
+ assert decorator.getDelegateType().equals(Logger.class);
+ assert decorator.getDelegateBindings().size() == 1;
+ assert
decorator.getDelegateBindings().iterator().next().annotationType().equals(Current.class);
+ }
+
+ @Test
+ @SpecAssertion(section="8.1.3", id="b")
+ public void testDecoratorDoesNotImplementDelegateType()
+ {
+ List<Decorator<?>> decorators =
getCurrentManager().resolveDecorators(Baz.TYPES);
+ assert decorators.size() == 2;
+ }
+
+ @Test
+ @SpecAssertion(section="8.2", id="a")
+ public void testNonEnabledDecoratorNotResolved()
+ {
+ List<Decorator<?>> decorators =
getCurrentManager().resolveDecorators(Field.TYPES);
+ assert decorators.size() == 0;
+ }
+
+
+
+
+}
Property changes on:
tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/tests/decorators/definition/DecoratorDefinitionTest.java
___________________________________________________________________
Name: svn:mime-type
+ text/plain
Added:
tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/tests/decorators/definition/Field.java
===================================================================
---
tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/tests/decorators/definition/Field.java
(rev 0)
+++
tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/tests/decorators/definition/Field.java 2009-06-23
21:09:52 UTC (rev 2872)
@@ -0,0 +1,31 @@
+/*
+ * 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.jsr299.tck.tests.decorators.definition;
+
+import java.lang.reflect.Type;
+import java.util.Arrays;
+import java.util.HashSet;
+import java.util.Set;
+
+/**
+ * @author pmuir
+ *
+ */
+public interface Field
+{
+ public static final Set<Type> TYPES = new
HashSet<Type>(Arrays.asList(Field.class));
+}
Property changes on:
tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/tests/decorators/definition/Field.java
___________________________________________________________________
Name: svn:mime-type
+ text/plain
Added:
tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/tests/decorators/definition/FieldDecorator.java
===================================================================
---
tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/tests/decorators/definition/FieldDecorator.java
(rev 0)
+++
tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/tests/decorators/definition/FieldDecorator.java 2009-06-23
21:09:52 UTC (rev 2872)
@@ -0,0 +1,32 @@
+/*
+ * 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.jsr299.tck.tests.decorators.definition;
+
+import javax.decorator.Decorates;
+import javax.decorator.Decorator;
+
+/**
+ * @author pmuir
+ *
+ */
+@Decorator
+public class FieldDecorator implements Field
+{
+
+ @Decorates Field field;
+
+}
Property changes on:
tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/tests/decorators/definition/FieldDecorator.java
___________________________________________________________________
Name: svn:mime-type
+ text/plain
Added:
tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/tests/decorators/definition/FieldImpl.java
===================================================================
---
tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/tests/decorators/definition/FieldImpl.java
(rev 0)
+++
tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/tests/decorators/definition/FieldImpl.java 2009-06-23
21:09:52 UTC (rev 2872)
@@ -0,0 +1,26 @@
+/*
+ * 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.jsr299.tck.tests.decorators.definition;
+
+/**
+ * @author pmuir
+ *
+ */
+public class FieldImpl implements Field
+{
+
+}
Property changes on:
tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/tests/decorators/definition/FieldImpl.java
___________________________________________________________________
Name: svn:mime-type
+ text/plain
Added:
tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/tests/decorators/definition/Foo.java
===================================================================
---
tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/tests/decorators/definition/Foo.java
(rev 0)
+++
tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/tests/decorators/definition/Foo.java 2009-06-23
21:09:52 UTC (rev 2872)
@@ -0,0 +1,34 @@
+/*
+ * 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.jsr299.tck.tests.decorators.definition;
+
+import java.io.Serializable;
+import java.lang.reflect.Type;
+import java.util.Arrays;
+import java.util.HashSet;
+import java.util.Set;
+
+/**
+ * @author pmuir
+ *
+ */
+public interface Foo extends Baz, Serializable
+{
+
+ public static final Set<Type> TYPES = new
HashSet<Type>(Arrays.asList(Foo.class));
+
+}
Property changes on:
tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/tests/decorators/definition/Foo.java
___________________________________________________________________
Name: svn:mime-type
+ text/plain
Added:
tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/tests/decorators/definition/FooBar.java
===================================================================
---
tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/tests/decorators/definition/FooBar.java
(rev 0)
+++
tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/tests/decorators/definition/FooBar.java 2009-06-23
21:09:52 UTC (rev 2872)
@@ -0,0 +1,33 @@
+/*
+ * 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.jsr299.tck.tests.decorators.definition;
+
+import java.lang.reflect.Type;
+import java.util.Arrays;
+import java.util.HashSet;
+import java.util.Set;
+
+/**
+ * @author pmuir
+ *
+ */
+public interface FooBar extends Foo, Bar
+{
+
+ public static final Set<Type> TYPES = new
HashSet<Type>(Arrays.asList(FooBar.class));
+
+}
Property changes on:
tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/tests/decorators/definition/FooBar.java
___________________________________________________________________
Name: svn:mime-type
+ text/plain
Added:
tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/tests/decorators/definition/FooBarImpl.java
===================================================================
---
tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/tests/decorators/definition/FooBarImpl.java
(rev 0)
+++
tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/tests/decorators/definition/FooBarImpl.java 2009-06-23
21:09:52 UTC (rev 2872)
@@ -0,0 +1,26 @@
+/*
+ * 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.jsr299.tck.tests.decorators.definition;
+
+/**
+ * @author pmuir
+ *
+ */
+public class FooBarImpl implements FooBar
+{
+
+}
Property changes on:
tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/tests/decorators/definition/FooBarImpl.java
___________________________________________________________________
Name: svn:mime-type
+ text/plain
Added:
tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/tests/decorators/definition/FooDecorator.java
===================================================================
---
tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/tests/decorators/definition/FooDecorator.java
(rev 0)
+++
tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/tests/decorators/definition/FooDecorator.java 2009-06-23
21:09:52 UTC (rev 2872)
@@ -0,0 +1,32 @@
+/*
+ * 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.jsr299.tck.tests.decorators.definition;
+
+import javax.decorator.Decorates;
+import javax.decorator.Decorator;
+
+/**
+ * @author pmuir
+ *
+ */
+@Decorator
+public class FooDecorator extends AbstractFooDecorator implements Foo, Bar
+{
+
+ @Decorates FooBar foobar;
+
+}
Property changes on:
tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/tests/decorators/definition/FooDecorator.java
___________________________________________________________________
Name: svn:mime-type
+ text/plain
Added:
tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/tests/decorators/definition/Logger.java
===================================================================
---
tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/tests/decorators/definition/Logger.java
(rev 0)
+++
tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/tests/decorators/definition/Logger.java 2009-06-23
21:09:52 UTC (rev 2872)
@@ -0,0 +1,35 @@
+/*
+ * 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.jsr299.tck.tests.decorators.definition;
+
+import java.lang.reflect.Type;
+import java.util.Arrays;
+import java.util.HashSet;
+import java.util.Set;
+
+/**
+ * @author pmuir
+ *
+ */
+public interface Logger
+{
+
+ public static final Set<Type> TYPES = new
HashSet<Type>(Arrays.asList(Logger.class));
+
+ public void log(String string);
+
+}
Property changes on:
tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/tests/decorators/definition/Logger.java
___________________________________________________________________
Name: svn:mime-type
+ text/plain
Added:
tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/tests/decorators/definition/Meta.java
===================================================================
---
tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/tests/decorators/definition/Meta.java
(rev 0)
+++
tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/tests/decorators/definition/Meta.java 2009-06-23
21:09:52 UTC (rev 2872)
@@ -0,0 +1,22 @@
+package org.jboss.jsr299.tck.tests.decorators.definition;
+
+import static java.lang.annotation.ElementType.FIELD;
+import static java.lang.annotation.ElementType.METHOD;
+import static java.lang.annotation.ElementType.PARAMETER;
+import static java.lang.annotation.ElementType.TYPE;
+import static java.lang.annotation.RetentionPolicy.RUNTIME;
+
+import java.lang.annotation.Documented;
+import java.lang.annotation.Retention;
+import java.lang.annotation.Target;
+
+import javax.enterprise.inject.BindingType;
+
+@Target( { TYPE, METHOD, PARAMETER, FIELD })
+@Retention(RUNTIME)
+@Documented
+@BindingType
+@interface Meta
+{
+
+}
Property changes on:
tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/tests/decorators/definition/Meta.java
___________________________________________________________________
Name: svn:mime-type
+ text/plain
Added:
tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/tests/decorators/definition/MockLogger.java
===================================================================
---
tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/tests/decorators/definition/MockLogger.java
(rev 0)
+++
tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/tests/decorators/definition/MockLogger.java 2009-06-23
21:09:52 UTC (rev 2872)
@@ -0,0 +1,41 @@
+/*
+ * 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.jsr299.tck.tests.decorators.definition;
+
+/**
+ * @author pmuir
+ *
+ */
+public class MockLogger implements Logger
+{
+
+ private static String log = "";
+
+ public void log(String string)
+ {
+ log += string;
+ }
+
+ /**
+ * @return the log
+ */
+ public static String getLog()
+ {
+ return log;
+ }
+
+}
Property changes on:
tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/tests/decorators/definition/MockLogger.java
___________________________________________________________________
Name: svn:mime-type
+ text/plain
Added:
tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/tests/decorators/definition/TimestampLogger.java
===================================================================
---
tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/tests/decorators/definition/TimestampLogger.java
(rev 0)
+++
tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/tests/decorators/definition/TimestampLogger.java 2009-06-23
21:09:52 UTC (rev 2872)
@@ -0,0 +1,32 @@
+/*
+ * 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.jsr299.tck.tests.decorators.definition;
+
+import javax.decorator.Decorates;
+import javax.decorator.Decorator;
+
+/**
+ * @author pmuir
+ *
+ */
+@Decorator
+public abstract class TimestampLogger implements Logger
+{
+
+ @Decorates Logger logger;
+
+}
Property changes on:
tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/tests/decorators/definition/TimestampLogger.java
___________________________________________________________________
Name: svn:mime-type
+ text/plain
Added:
tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/tests/decorators/definition/broken/finalBeanClass/FinalBeanClassTest.java
===================================================================
---
tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/tests/decorators/definition/broken/finalBeanClass/FinalBeanClassTest.java
(rev 0)
+++
tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/tests/decorators/definition/broken/finalBeanClass/FinalBeanClassTest.java 2009-06-23
21:09:52 UTC (rev 2872)
@@ -0,0 +1,42 @@
+/*
+ * 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.jsr299.tck.tests.decorators.definition.broken.finalBeanClass;
+
+import org.hibernate.tck.annotations.SpecAssertion;
+import org.jboss.jsr299.tck.AbstractJSR299Test;
+import org.jboss.jsr299.tck.DefinitionError;
+import org.jboss.testharness.impl.packaging.Artifact;
+import org.jboss.testharness.impl.packaging.ExpectedDeploymentException;
+import org.testng.annotations.Test;
+
+/**
+ * @author pmuir
+ *
+ */
+@Artifact
+(a)ExpectedDeploymentException(DefinitionError.class)
+public class FinalBeanClassTest extends AbstractJSR299Test
+{
+
+ @Test(groups="ri-broken")
+ @SpecAssertion(section="8.1.2", id="d")
+ public void testAppliesToFinalManagedBeanClass()
+ {
+
+ }
+
+}
Property changes on:
tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/tests/decorators/definition/broken/finalBeanClass/FinalBeanClassTest.java
___________________________________________________________________
Name: svn:mime-type
+ text/plain
Added:
tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/tests/decorators/definition/broken/finalBeanClass/Logger.java
===================================================================
---
tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/tests/decorators/definition/broken/finalBeanClass/Logger.java
(rev 0)
+++
tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/tests/decorators/definition/broken/finalBeanClass/Logger.java 2009-06-23
21:09:52 UTC (rev 2872)
@@ -0,0 +1,35 @@
+/*
+ * 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.jsr299.tck.tests.decorators.definition.broken.finalBeanClass;
+
+import java.lang.reflect.Type;
+import java.util.Arrays;
+import java.util.HashSet;
+import java.util.Set;
+
+/**
+ * @author pmuir
+ *
+ */
+public interface Logger
+{
+
+ public static final Set<Type> TYPES = new
HashSet<Type>(Arrays.asList(Logger.class));
+
+ public void log(String string);
+
+}
Property changes on:
tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/tests/decorators/definition/broken/finalBeanClass/Logger.java
___________________________________________________________________
Name: svn:mime-type
+ text/plain
Added:
tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/tests/decorators/definition/broken/finalBeanClass/MockLogger.java
===================================================================
---
tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/tests/decorators/definition/broken/finalBeanClass/MockLogger.java
(rev 0)
+++
tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/tests/decorators/definition/broken/finalBeanClass/MockLogger.java 2009-06-23
21:09:52 UTC (rev 2872)
@@ -0,0 +1,41 @@
+/*
+ * 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.jsr299.tck.tests.decorators.definition.broken.finalBeanClass;
+
+/**
+ * @author pmuir
+ *
+ */
+public final class MockLogger implements Logger
+{
+
+ private static String log = "";
+
+ public void log(String string)
+ {
+ log += string;
+ }
+
+ /**
+ * @return the log
+ */
+ public static String getLog()
+ {
+ return log;
+ }
+
+}
Property changes on:
tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/tests/decorators/definition/broken/finalBeanClass/MockLogger.java
___________________________________________________________________
Name: svn:mime-type
+ text/plain
Added:
tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/tests/decorators/definition/broken/finalBeanClass/TimestampLogger.java
===================================================================
---
tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/tests/decorators/definition/broken/finalBeanClass/TimestampLogger.java
(rev 0)
+++
tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/tests/decorators/definition/broken/finalBeanClass/TimestampLogger.java 2009-06-23
21:09:52 UTC (rev 2872)
@@ -0,0 +1,33 @@
+/*
+ * 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.jsr299.tck.tests.decorators.definition.broken.finalBeanClass;
+
+import javax.decorator.Decorates;
+import javax.decorator.Decorator;
+
+/**
+ * @author pmuir
+ *
+ */
+@Decorator
+public abstract class TimestampLogger implements Logger
+{
+
+ @Decorates private Logger logger;
+
+
+}
Property changes on:
tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/tests/decorators/definition/broken/finalBeanClass/TimestampLogger.java
___________________________________________________________________
Name: svn:mime-type
+ text/plain
Added:
tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/tests/decorators/definition/broken/multipleDelegateInjectionPoints/Logger.java
===================================================================
---
tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/tests/decorators/definition/broken/multipleDelegateInjectionPoints/Logger.java
(rev 0)
+++
tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/tests/decorators/definition/broken/multipleDelegateInjectionPoints/Logger.java 2009-06-23
21:09:52 UTC (rev 2872)
@@ -0,0 +1,35 @@
+/*
+ * 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.jsr299.tck.tests.decorators.definition.broken.multipleDelegateInjectionPoints;
+
+import java.lang.reflect.Type;
+import java.util.Arrays;
+import java.util.HashSet;
+import java.util.Set;
+
+/**
+ * @author pmuir
+ *
+ */
+public interface Logger
+{
+
+ public static final Set<Type> TYPES = new
HashSet<Type>(Arrays.asList(Logger.class));
+
+ public void log(String string);
+
+}
Property changes on:
tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/tests/decorators/definition/broken/multipleDelegateInjectionPoints/Logger.java
___________________________________________________________________
Name: svn:mime-type
+ text/plain
Added:
tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/tests/decorators/definition/broken/multipleDelegateInjectionPoints/MockLogger.java
===================================================================
---
tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/tests/decorators/definition/broken/multipleDelegateInjectionPoints/MockLogger.java
(rev 0)
+++
tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/tests/decorators/definition/broken/multipleDelegateInjectionPoints/MockLogger.java 2009-06-23
21:09:52 UTC (rev 2872)
@@ -0,0 +1,41 @@
+/*
+ * 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.jsr299.tck.tests.decorators.definition.broken.multipleDelegateInjectionPoints;
+
+/**
+ * @author pmuir
+ *
+ */
+public class MockLogger implements Logger
+{
+
+ private static String log = "";
+
+ public void log(String string)
+ {
+ log += string;
+ }
+
+ /**
+ * @return the log
+ */
+ public static String getLog()
+ {
+ return log;
+ }
+
+}
Property changes on:
tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/tests/decorators/definition/broken/multipleDelegateInjectionPoints/MockLogger.java
___________________________________________________________________
Name: svn:mime-type
+ text/plain
Added:
tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/tests/decorators/definition/broken/multipleDelegateInjectionPoints/MultipleDelegateInjectionPointsTest.java
===================================================================
---
tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/tests/decorators/definition/broken/multipleDelegateInjectionPoints/MultipleDelegateInjectionPointsTest.java
(rev 0)
+++
tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/tests/decorators/definition/broken/multipleDelegateInjectionPoints/MultipleDelegateInjectionPointsTest.java 2009-06-23
21:09:52 UTC (rev 2872)
@@ -0,0 +1,42 @@
+/*
+ * 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.jsr299.tck.tests.decorators.definition.broken.multipleDelegateInjectionPoints;
+
+import org.hibernate.tck.annotations.SpecAssertion;
+import org.jboss.jsr299.tck.AbstractJSR299Test;
+import org.jboss.jsr299.tck.DefinitionError;
+import org.jboss.testharness.impl.packaging.Artifact;
+import org.jboss.testharness.impl.packaging.ExpectedDeploymentException;
+import org.testng.annotations.Test;
+
+/**
+ * @author pmuir
+ *
+ */
+@Artifact
+(a)ExpectedDeploymentException(DefinitionError.class)
+public class MultipleDelegateInjectionPointsTest extends AbstractJSR299Test
+{
+
+ @Test
+ @SpecAssertion(section="8.1.2", id="ca")
+ public void testMultipleDelegateInjectionPoints()
+ {
+
+ }
+
+}
Property changes on:
tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/tests/decorators/definition/broken/multipleDelegateInjectionPoints/MultipleDelegateInjectionPointsTest.java
___________________________________________________________________
Name: svn:mime-type
+ text/plain
Added:
tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/tests/decorators/definition/broken/multipleDelegateInjectionPoints/TimestampLogger.java
===================================================================
---
tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/tests/decorators/definition/broken/multipleDelegateInjectionPoints/TimestampLogger.java
(rev 0)
+++
tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/tests/decorators/definition/broken/multipleDelegateInjectionPoints/TimestampLogger.java 2009-06-23
21:09:52 UTC (rev 2872)
@@ -0,0 +1,33 @@
+/*
+ * 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.jsr299.tck.tests.decorators.definition.broken.multipleDelegateInjectionPoints;
+
+import javax.decorator.Decorates;
+import javax.decorator.Decorator;
+
+/**
+ * @author pmuir
+ *
+ */
+@Decorator
+public abstract class TimestampLogger implements Logger
+{
+
+ @Decorates Logger logger;
+ @Decorates Logger logger2;
+
+}
Property changes on:
tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/tests/decorators/definition/broken/multipleDelegateInjectionPoints/TimestampLogger.java
___________________________________________________________________
Name: svn:mime-type
+ text/plain
Added:
tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/tests/decorators/definition/broken/noDelegateInjectionPoints/Logger.java
===================================================================
---
tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/tests/decorators/definition/broken/noDelegateInjectionPoints/Logger.java
(rev 0)
+++
tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/tests/decorators/definition/broken/noDelegateInjectionPoints/Logger.java 2009-06-23
21:09:52 UTC (rev 2872)
@@ -0,0 +1,35 @@
+/*
+ * 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.jsr299.tck.tests.decorators.definition.broken.noDelegateInjectionPoints;
+
+import java.lang.reflect.Type;
+import java.util.Arrays;
+import java.util.HashSet;
+import java.util.Set;
+
+/**
+ * @author pmuir
+ *
+ */
+public interface Logger
+{
+
+ public static final Set<Type> TYPES = new
HashSet<Type>(Arrays.asList(Logger.class));
+
+ public void log(String string);
+
+}
Property changes on:
tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/tests/decorators/definition/broken/noDelegateInjectionPoints/Logger.java
___________________________________________________________________
Name: svn:mime-type
+ text/plain
Added:
tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/tests/decorators/definition/broken/noDelegateInjectionPoints/MockLogger.java
===================================================================
---
tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/tests/decorators/definition/broken/noDelegateInjectionPoints/MockLogger.java
(rev 0)
+++
tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/tests/decorators/definition/broken/noDelegateInjectionPoints/MockLogger.java 2009-06-23
21:09:52 UTC (rev 2872)
@@ -0,0 +1,41 @@
+/*
+ * 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.jsr299.tck.tests.decorators.definition.broken.noDelegateInjectionPoints;
+
+/**
+ * @author pmuir
+ *
+ */
+public class MockLogger implements Logger
+{
+
+ private static String log = "";
+
+ public void log(String string)
+ {
+ log += string;
+ }
+
+ /**
+ * @return the log
+ */
+ public static String getLog()
+ {
+ return log;
+ }
+
+}
Property changes on:
tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/tests/decorators/definition/broken/noDelegateInjectionPoints/MockLogger.java
___________________________________________________________________
Name: svn:mime-type
+ text/plain
Added:
tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/tests/decorators/definition/broken/noDelegateInjectionPoints/NoDelegateInjectionPointsTest.java
===================================================================
---
tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/tests/decorators/definition/broken/noDelegateInjectionPoints/NoDelegateInjectionPointsTest.java
(rev 0)
+++
tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/tests/decorators/definition/broken/noDelegateInjectionPoints/NoDelegateInjectionPointsTest.java 2009-06-23
21:09:52 UTC (rev 2872)
@@ -0,0 +1,42 @@
+/*
+ * 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.jsr299.tck.tests.decorators.definition.broken.noDelegateInjectionPoints;
+
+import org.hibernate.tck.annotations.SpecAssertion;
+import org.jboss.jsr299.tck.AbstractJSR299Test;
+import org.jboss.jsr299.tck.DefinitionError;
+import org.jboss.testharness.impl.packaging.Artifact;
+import org.jboss.testharness.impl.packaging.ExpectedDeploymentException;
+import org.testng.annotations.Test;
+
+/**
+ * @author pmuir
+ *
+ */
+@Artifact
+(a)ExpectedDeploymentException(DefinitionError.class)
+public class NoDelegateInjectionPointsTest extends AbstractJSR299Test
+{
+
+ @Test
+ @SpecAssertion(section="8.1.2", id="cb")
+ public void testNoDelegateInjectionPoints()
+ {
+
+ }
+
+}
Property changes on:
tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/tests/decorators/definition/broken/noDelegateInjectionPoints/NoDelegateInjectionPointsTest.java
___________________________________________________________________
Name: svn:mime-type
+ text/plain
Added:
tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/tests/decorators/definition/broken/noDelegateInjectionPoints/TimestampLogger.java
===================================================================
---
tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/tests/decorators/definition/broken/noDelegateInjectionPoints/TimestampLogger.java
(rev 0)
+++
tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/tests/decorators/definition/broken/noDelegateInjectionPoints/TimestampLogger.java 2009-06-23
21:09:52 UTC (rev 2872)
@@ -0,0 +1,30 @@
+/*
+ * 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.jsr299.tck.tests.decorators.definition.broken.noDelegateInjectionPoints;
+
+import javax.decorator.Decorator;
+
+/**
+ * @author pmuir
+ *
+ */
+@Decorator
+public abstract class TimestampLogger implements Logger
+{
+
+
+}
Property changes on:
tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/tests/decorators/definition/broken/noDelegateInjectionPoints/TimestampLogger.java
___________________________________________________________________
Name: svn:mime-type
+ text/plain
Added:
tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/tests/decorators/definition/broken/notAllDecoratedTypesImplemented/EnhancedLogger.java
===================================================================
---
tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/tests/decorators/definition/broken/notAllDecoratedTypesImplemented/EnhancedLogger.java
(rev 0)
+++
tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/tests/decorators/definition/broken/notAllDecoratedTypesImplemented/EnhancedLogger.java 2009-06-23
21:09:52 UTC (rev 2872)
@@ -0,0 +1,26 @@
+/*
+ * 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.jsr299.tck.tests.decorators.definition.broken.notAllDecoratedTypesImplemented;
+
+/**
+ * @author pmuir
+ *
+ */
+public interface EnhancedLogger
+{
+
+}
Property changes on:
tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/tests/decorators/definition/broken/notAllDecoratedTypesImplemented/EnhancedLogger.java
___________________________________________________________________
Name: svn:mime-type
+ text/plain
Added:
tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/tests/decorators/definition/broken/notAllDecoratedTypesImplemented/Logger.java
===================================================================
---
tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/tests/decorators/definition/broken/notAllDecoratedTypesImplemented/Logger.java
(rev 0)
+++
tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/tests/decorators/definition/broken/notAllDecoratedTypesImplemented/Logger.java 2009-06-23
21:09:52 UTC (rev 2872)
@@ -0,0 +1,35 @@
+/*
+ * 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.jsr299.tck.tests.decorators.definition.broken.notAllDecoratedTypesImplemented;
+
+import java.lang.reflect.Type;
+import java.util.Arrays;
+import java.util.HashSet;
+import java.util.Set;
+
+/**
+ * @author pmuir
+ *
+ */
+public interface Logger
+{
+
+ public static final Set<Type> TYPES = new
HashSet<Type>(Arrays.asList(Logger.class));
+
+ public void log(String string);
+
+}
Property changes on:
tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/tests/decorators/definition/broken/notAllDecoratedTypesImplemented/Logger.java
___________________________________________________________________
Name: svn:mime-type
+ text/plain
Added:
tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/tests/decorators/definition/broken/notAllDecoratedTypesImplemented/MockLogger.java
===================================================================
---
tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/tests/decorators/definition/broken/notAllDecoratedTypesImplemented/MockLogger.java
(rev 0)
+++
tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/tests/decorators/definition/broken/notAllDecoratedTypesImplemented/MockLogger.java 2009-06-23
21:09:52 UTC (rev 2872)
@@ -0,0 +1,41 @@
+/*
+ * 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.jsr299.tck.tests.decorators.definition.broken.notAllDecoratedTypesImplemented;
+
+/**
+ * @author pmuir
+ *
+ */
+public class MockLogger implements Logger, EnhancedLogger
+{
+
+ private static String log = "";
+
+ public void log(String string)
+ {
+ log += string;
+ }
+
+ /**
+ * @return the log
+ */
+ public static String getLog()
+ {
+ return log;
+ }
+
+}
Property changes on:
tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/tests/decorators/definition/broken/notAllDecoratedTypesImplemented/MockLogger.java
___________________________________________________________________
Name: svn:mime-type
+ text/plain
Added:
tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/tests/decorators/definition/broken/notAllDecoratedTypesImplemented/NotAllDecoratedTypesImplementedTest.java
===================================================================
---
tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/tests/decorators/definition/broken/notAllDecoratedTypesImplemented/NotAllDecoratedTypesImplementedTest.java
(rev 0)
+++
tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/tests/decorators/definition/broken/notAllDecoratedTypesImplemented/NotAllDecoratedTypesImplementedTest.java 2009-06-23
21:09:52 UTC (rev 2872)
@@ -0,0 +1,42 @@
+/*
+ * 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.jsr299.tck.tests.decorators.definition.broken.notAllDecoratedTypesImplemented;
+
+import org.hibernate.tck.annotations.SpecAssertion;
+import org.jboss.jsr299.tck.AbstractJSR299Test;
+import org.jboss.jsr299.tck.DefinitionError;
+import org.jboss.testharness.impl.packaging.Artifact;
+import org.jboss.testharness.impl.packaging.ExpectedDeploymentException;
+import org.testng.annotations.Test;
+
+/**
+ * @author pmuir
+ *
+ */
+@Artifact
+(a)ExpectedDeploymentException(DefinitionError.class)
+public class NotAllDecoratedTypesImplementedTest extends AbstractJSR299Test
+{
+
+ @Test
+ @SpecAssertion(section="8.1.3", id="a")
+ public void testNotAllDecoratedTypesImplemented()
+ {
+
+ }
+
+}
Property changes on:
tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/tests/decorators/definition/broken/notAllDecoratedTypesImplemented/NotAllDecoratedTypesImplementedTest.java
___________________________________________________________________
Name: svn:mime-type
+ text/plain
Added:
tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/tests/decorators/definition/broken/notAllDecoratedTypesImplemented/TimestampLogger.java
===================================================================
---
tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/tests/decorators/definition/broken/notAllDecoratedTypesImplemented/TimestampLogger.java
(rev 0)
+++
tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/tests/decorators/definition/broken/notAllDecoratedTypesImplemented/TimestampLogger.java 2009-06-23
21:09:52 UTC (rev 2872)
@@ -0,0 +1,32 @@
+/*
+ * 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.jsr299.tck.tests.decorators.definition.broken.notAllDecoratedTypesImplemented;
+
+import javax.decorator.Decorates;
+import javax.decorator.Decorator;
+
+/**
+ * @author pmuir
+ *
+ */
+@Decorator
+public abstract class TimestampLogger implements Logger, EnhancedLogger
+{
+
+ @Decorates private Logger logger;
+
+}
Property changes on:
tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/tests/decorators/definition/broken/notAllDecoratedTypesImplemented/TimestampLogger.java
___________________________________________________________________
Name: svn:mime-type
+ text/plain
Added:
tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/tests/deployment/lifecycle/DataAccessImpl.java
===================================================================
---
tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/tests/deployment/lifecycle/DataAccessImpl.java
(rev 0)
+++
tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/tests/deployment/lifecycle/DataAccessImpl.java 2009-06-23
21:09:52 UTC (rev 2872)
@@ -0,0 +1,71 @@
+/*
+ * 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.jsr299.tck.tests.deployment.lifecycle;
+
+/**
+ * @author pmuir
+ *
+ */
+public class DataAccessImpl implements DataAccess
+{
+
+ /* (non-Javadoc)
+ * @see org.jboss.jsr299.tck.tests.deployment.lifecycle.DataAccess#delete()
+ */
+ public void delete()
+ {
+ // TODO Auto-generated method stub
+
+ }
+
+ /* (non-Javadoc)
+ * @see org.jboss.jsr299.tck.tests.deployment.lifecycle.DataAccess#getDataType()
+ */
+ public Class<?> getDataType()
+ {
+ // TODO Auto-generated method stub
+ return null;
+ }
+
+ /* (non-Javadoc)
+ * @see org.jboss.jsr299.tck.tests.deployment.lifecycle.DataAccess#getId()
+ */
+ public Object getId()
+ {
+ // TODO Auto-generated method stub
+ return null;
+ }
+
+ /* (non-Javadoc)
+ * @see
org.jboss.jsr299.tck.tests.deployment.lifecycle.DataAccess#load(java.lang.Object)
+ */
+ public Object load(Object id)
+ {
+ // TODO Auto-generated method stub
+ return null;
+ }
+
+ /* (non-Javadoc)
+ * @see org.jboss.jsr299.tck.tests.deployment.lifecycle.DataAccess#save()
+ */
+ public void save()
+ {
+ // TODO Auto-generated method stub
+
+ }
+
+}
Property changes on:
tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/tests/deployment/lifecycle/DataAccessImpl.java
___________________________________________________________________
Name: svn:mime-type
+ text/plain
Added:
tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/tests/implementation/simple/definition/AnimalImpl.java
===================================================================
---
tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/tests/implementation/simple/definition/AnimalImpl.java
(rev 0)
+++
tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/tests/implementation/simple/definition/AnimalImpl.java 2009-06-23
21:09:52 UTC (rev 2872)
@@ -0,0 +1,26 @@
+/*
+ * 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.jsr299.tck.tests.implementation.simple.definition;
+
+/**
+ * @author pmuir
+ *
+ */
+public class AnimalImpl implements Animal
+{
+
+}
Property changes on:
tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/tests/implementation/simple/definition/AnimalImpl.java
___________________________________________________________________
Name: svn:mime-type
+ text/plain
Added:
tck/trunk/impl/src/main/resources/org/jboss/jsr299/tck/tests/decorators/definition/beans.xml
===================================================================
---
tck/trunk/impl/src/main/resources/org/jboss/jsr299/tck/tests/decorators/definition/beans.xml
(rev 0)
+++
tck/trunk/impl/src/main/resources/org/jboss/jsr299/tck/tests/decorators/definition/beans.xml 2009-06-23
21:09:52 UTC (rev 2872)
@@ -0,0 +1,7 @@
+<beans>
+ <decorators>
+
<class>org.jboss.jsr299.tck.tests.decorators.definition.BazDecorator</class>
+
<class>org.jboss.jsr299.tck.tests.decorators.definition.FooDecorator</class>
+
<class>org.jboss.jsr299.tck.tests.decorators.definition.TimestampLogger</class>
+ </decorators>
+</beans>
Property changes on:
tck/trunk/impl/src/main/resources/org/jboss/jsr299/tck/tests/decorators/definition/beans.xml
___________________________________________________________________
Name: svn:mime-type
+ text/plain
Added:
tck/trunk/impl/src/main/resources/org/jboss/jsr299/tck/tests/decorators/definition/broken/finalBeanClass/beans.xml
===================================================================
---
tck/trunk/impl/src/main/resources/org/jboss/jsr299/tck/tests/decorators/definition/broken/finalBeanClass/beans.xml
(rev 0)
+++
tck/trunk/impl/src/main/resources/org/jboss/jsr299/tck/tests/decorators/definition/broken/finalBeanClass/beans.xml 2009-06-23
21:09:52 UTC (rev 2872)
@@ -0,0 +1,5 @@
+<beans>
+ <decorators>
+
<class>org.jboss.jsr299.tck.tests.decorators.definition.broken.finalBeanClass.TimestampLogger</class>
+ </decorators>
+</beans>
Property changes on:
tck/trunk/impl/src/main/resources/org/jboss/jsr299/tck/tests/decorators/definition/broken/finalBeanClass/beans.xml
___________________________________________________________________
Name: svn:mime-type
+ text/plain
Added:
tck/trunk/impl/src/main/resources/org/jboss/jsr299/tck/tests/decorators/definition/broken/multipleDelegateInjectionPoints/beans.xml
===================================================================
---
tck/trunk/impl/src/main/resources/org/jboss/jsr299/tck/tests/decorators/definition/broken/multipleDelegateInjectionPoints/beans.xml
(rev 0)
+++
tck/trunk/impl/src/main/resources/org/jboss/jsr299/tck/tests/decorators/definition/broken/multipleDelegateInjectionPoints/beans.xml 2009-06-23
21:09:52 UTC (rev 2872)
@@ -0,0 +1,5 @@
+<beans>
+ <decorators>
+
<class>org.jboss.jsr299.tck.tests.decorators.definition.broken.multipleDelegateInjectionPoints.TimestampLogger</class>
+ </decorators>
+</beans>
Property changes on:
tck/trunk/impl/src/main/resources/org/jboss/jsr299/tck/tests/decorators/definition/broken/multipleDelegateInjectionPoints/beans.xml
___________________________________________________________________
Name: svn:mime-type
+ text/plain
Added:
tck/trunk/impl/src/main/resources/org/jboss/jsr299/tck/tests/decorators/definition/broken/noDelegateInjectionPoints/beans.xml
===================================================================
---
tck/trunk/impl/src/main/resources/org/jboss/jsr299/tck/tests/decorators/definition/broken/noDelegateInjectionPoints/beans.xml
(rev 0)
+++
tck/trunk/impl/src/main/resources/org/jboss/jsr299/tck/tests/decorators/definition/broken/noDelegateInjectionPoints/beans.xml 2009-06-23
21:09:52 UTC (rev 2872)
@@ -0,0 +1,5 @@
+<beans>
+ <decorators>
+
<class>org.jboss.jsr299.tck.tests.decorators.definition.broken.noDelegateInjectionPoints.TimestampLogger</class>
+ </decorators>
+</beans>
Property changes on:
tck/trunk/impl/src/main/resources/org/jboss/jsr299/tck/tests/decorators/definition/broken/noDelegateInjectionPoints/beans.xml
___________________________________________________________________
Name: svn:mime-type
+ text/plain
Added:
tck/trunk/impl/src/main/resources/org/jboss/jsr299/tck/tests/decorators/definition/broken/notAllDecoratedTypesImplemented/beans.xml
===================================================================
---
tck/trunk/impl/src/main/resources/org/jboss/jsr299/tck/tests/decorators/definition/broken/notAllDecoratedTypesImplemented/beans.xml
(rev 0)
+++
tck/trunk/impl/src/main/resources/org/jboss/jsr299/tck/tests/decorators/definition/broken/notAllDecoratedTypesImplemented/beans.xml 2009-06-23
21:09:52 UTC (rev 2872)
@@ -0,0 +1,5 @@
+<beans>
+ <decorators>
+
<class>org.jboss.jsr299.tck.tests.decorators.definition.broken.notAllDecoratedTypesImplemented.TimestampLogger</class>
+ </decorators>
+</beans>
Property changes on:
tck/trunk/impl/src/main/resources/org/jboss/jsr299/tck/tests/decorators/definition/broken/notAllDecoratedTypesImplemented/beans.xml
___________________________________________________________________
Name: svn:mime-type
+ text/plain
Added:
tck/trunk/impl/src/main/resources/org/jboss/jsr299/tck/tests/deployment/lifecycle/beans.xml
===================================================================
---
tck/trunk/impl/src/main/resources/org/jboss/jsr299/tck/tests/deployment/lifecycle/beans.xml
(rev 0)
+++
tck/trunk/impl/src/main/resources/org/jboss/jsr299/tck/tests/deployment/lifecycle/beans.xml 2009-06-23
21:09:52 UTC (rev 2872)
@@ -0,0 +1,10 @@
+<beans>
+ <deploy>
+ <type>javax.enterprise.inject.deployment.Standard</type>
+ <type>javax.enterprise.inject.deployment.Production</type>
+
<type>org.jboss.jsr299.tck.tests.definition.deployment.AnotherDeploymentType</type>
+
<type>org.jboss.jsr299.tck.tests.definition.deployment.HornedAnimalDeploymentType</type>
+
<type>org.jboss.jsr299.tck.tests.definition.deployment.NotInheritedDeploymentType</type>
+
<type>org.jboss.jsr299.tck.tests.definition.deployment.InheritedDeploymentType</type>
+ </deploy>
+</beans>
Property changes on:
tck/trunk/impl/src/main/resources/org/jboss/jsr299/tck/tests/deployment/lifecycle/beans.xml
___________________________________________________________________
Name: svn:mime-type
+ text/plain
Modified: tck/trunk/impl/src/main/resources/tck-audit.xml
===================================================================
--- tck/trunk/impl/src/main/resources/tck-audit.xml 2009-06-23 20:42:32 UTC (rev 2871)
+++ tck/trunk/impl/src/main/resources/tck-audit.xml 2009-06-23 21:09:52 UTC (rev 2872)
@@ -3541,10 +3541,14 @@
in Section 5.1, "Typesafe resolution algorithm".</text>
</assertion>
- <assertion id="c">
- <text>A decorator must have exactly one delegate injection point. If a
decorator has more than one delegate injection point, or does not have a delegate
injection point, the container automatically detects the problem and treats it as a
definition error, as defined in Section 12.4, "Problems detected automatically by the
container".</text>
+ <assertion id="ca">
+ <text>A decorator must have exactly one delegate injection point. If a
decorator has more than one delegate injection point~, or does not have a delegate
injection point,~ the container automatically detects the problem and treats it as a
definition error, as defined in Section 12.4, "Problems detected automatically by the
container".</text>
</assertion>
+ <assertion id="cb">
+ <text>A decorator must have exactly one delegate injection point. If a
decorator ~has more than one delegate injection point, or~ does not have a delegate
injection point, the container automatically detects the problem and treats it as a
definition error, as defined in Section 12.4, "Problems detected automatically by the
container".</text>
+ </assertion>
+
<assertion id="d">
<text>If a decorator applies to a managed bean, and the bean class is
declared final, the container automatically detects the problem and treats it as a
definition error, as defined in Section 12.4, "Problems detected automatically by the
container".</text>
</assertion>