Weld SVN: r6822 - in core/trunk/tests: src/main/java/org/jboss/weld/mock and 35 other directories.
by weld-commits@lists.jboss.org
Author: aslak
Date: 2010-07-28 07:45:17 -0400 (Wed, 28 Jul 2010)
New Revision: 6822
Removed:
core/trunk/tests/src/test/java/org/jboss/weld/tests/activities/ActivitiesTest.java
core/trunk/tests/src/test/java/org/jboss/weld/tests/activities/Cow.java
core/trunk/tests/src/test/java/org/jboss/weld/tests/activities/Dummy.java
core/trunk/tests/src/test/java/org/jboss/weld/tests/activities/Field.java
core/trunk/tests/src/test/java/org/jboss/weld/tests/activities/Fox.java
core/trunk/tests/src/test/java/org/jboss/weld/tests/activities/NightTime.java
core/trunk/tests/src/test/java/org/jboss/weld/tests/activities/Tame.java
core/trunk/tests/src/test/java/org/jboss/weld/tests/activities/child/
core/trunk/tests/src/test/java/org/jboss/weld/tests/activities/current/
core/trunk/tests/src/test/java/org/jboss/weld/tests/alternatives/
core/trunk/tests/src/test/java/org/jboss/weld/tests/annotatedType/Bean.java
core/trunk/tests/src/test/java/org/jboss/weld/tests/annotatedType/Child.java
core/trunk/tests/src/test/java/org/jboss/weld/tests/annotatedType/DeclaringTypeTest.java
core/trunk/tests/src/test/java/org/jboss/weld/tests/annotatedType/ExampleTest.java
core/trunk/tests/src/test/java/org/jboss/weld/tests/annotatedType/Parent.java
core/trunk/tests/src/test/java/org/jboss/weld/tests/annotatedType/decoration/
core/trunk/tests/src/test/java/org/jboss/weld/tests/beanDeployment/managed/multiple/
core/trunk/tests/src/test/java/org/jboss/weld/tests/beanDeployment/managed/single/
core/trunk/tests/src/test/java/org/jboss/weld/tests/beanDeployment/mixed/
core/trunk/tests/src/test/java/org/jboss/weld/tests/beanDeployment/producers/singleProducerMethod/
core/trunk/tests/src/test/java/org/jboss/weld/tests/beanDeployment/session/multiple/
core/trunk/tests/src/test/java/org/jboss/weld/tests/beanDeployment/session/single/
core/trunk/tests/src/test/java/org/jboss/weld/tests/beanManager/BeanManagerTest.java
core/trunk/tests/src/test/java/org/jboss/weld/tests/beanManager/Foo.java
core/trunk/tests/src/test/java/org/jboss/weld/tests/beanManager/annotation/
core/trunk/tests/src/test/java/org/jboss/weld/tests/beanManager/serializability/
core/trunk/tests/src/test/java/org/jboss/weld/tests/builtinBeans/BuiltInBeanPassivationCapableTest.java
core/trunk/tests/src/test/java/org/jboss/weld/tests/builtinBeans/Checker.java
core/trunk/tests/src/test/java/org/jboss/weld/tests/builtinBeans/ConstructorInjectionPointConsumer.java
core/trunk/tests/src/test/java/org/jboss/weld/tests/builtinBeans/Consumer.java
core/trunk/tests/src/test/java/org/jboss/weld/tests/builtinBeans/Cow.java
core/trunk/tests/src/test/java/org/jboss/weld/tests/builtinBeans/CowEventObserver.java
core/trunk/tests/src/test/java/org/jboss/weld/tests/builtinBeans/Dog.java
core/trunk/tests/src/test/java/org/jboss/weld/tests/builtinBeans/FieldInjectionPointConsumer.java
core/trunk/tests/src/test/java/org/jboss/weld/tests/builtinBeans/MethodInjectionPointConsumer.java
core/trunk/tests/src/test/java/org/jboss/weld/tests/builtinBeans/Produced.java
core/trunk/tests/src/test/java/org/jboss/weld/tests/builtinBeans/ee/
core/trunk/tests/src/test/java/org/jboss/weld/tests/builtinBeans/weld471/
core/trunk/tests/src/test/java/org/jboss/weld/tests/contexts/ApplicationScopedObject.java
core/trunk/tests/src/test/java/org/jboss/weld/tests/contexts/ApplicationScopedTest.java
core/trunk/tests/src/test/java/org/jboss/weld/tests/contexts/ContextTest.java
core/trunk/tests/src/test/java/org/jboss/weld/tests/contexts/ParameterizedTypeScoped.java
core/trunk/tests/src/test/java/org/jboss/weld/tests/contexts/ParameterizedTypeScopedTest.java
core/trunk/tests/src/test/java/org/jboss/weld/tests/contexts/PassivatingContextTest.java
core/trunk/tests/src/test/java/org/jboss/weld/tests/contexts/StringHolder.java
core/trunk/tests/src/test/java/org/jboss/weld/tests/decorators/SimpleBean.java
core/trunk/tests/src/test/java/org/jboss/weld/tests/decorators/SimpleBeanImpl.java
core/trunk/tests/src/test/java/org/jboss/weld/tests/decorators/SimpleDecorator1.java
core/trunk/tests/src/test/java/org/jboss/weld/tests/decorators/SimpleDecorator2.java
core/trunk/tests/src/test/java/org/jboss/weld/tests/decorators/SimpleDecoratorTest.java
core/trunk/tests/src/test/java/org/jboss/weld/tests/decorators/abstractDecorator/AbstractDecoratorTestHelper.java
core/trunk/tests/src/test/java/org/jboss/weld/tests/decorators/abstractDecorator/FrameWithConstructorInjectedDelegate.java
core/trunk/tests/src/test/java/org/jboss/weld/tests/decorators/abstractDecorator/FrameWithConstructorInjectedDelegateAndAbstractMethod.java
core/trunk/tests/src/test/java/org/jboss/weld/tests/decorators/abstractDecorator/FrameWithFieldInjectedDelegate.java
core/trunk/tests/src/test/java/org/jboss/weld/tests/decorators/abstractDecorator/FrameWithFieldInjectedDelegateAndAbstractMethod.java
core/trunk/tests/src/test/java/org/jboss/weld/tests/decorators/abstractDecorator/FrameWithFieldInjectedDelegateAndSelfInvokedAbstractMethod.java
core/trunk/tests/src/test/java/org/jboss/weld/tests/decorators/abstractDecorator/FrameWithInitializerMethodInjectedDelegate.java
core/trunk/tests/src/test/java/org/jboss/weld/tests/decorators/abstractDecorator/FrameWithInitializerMethodInjectedDelegateAndAbstractMethod.java
core/trunk/tests/src/test/java/org/jboss/weld/tests/decorators/abstractDecorator/SimpleAbstractDecoratorTest.java
core/trunk/tests/src/test/java/org/jboss/weld/tests/decorators/abstractDecorator/SimpleAbstractDecoratorWithAbstractMethodAndInitializerMethodTest.java
core/trunk/tests/src/test/java/org/jboss/weld/tests/decorators/abstractDecorator/SimpleAbstractDecoratorWithAbstractMethodTest.java
core/trunk/tests/src/test/java/org/jboss/weld/tests/decorators/abstractDecorator/SimpleAbstractDecoratorWithCallToItselfTest.java
core/trunk/tests/src/test/java/org/jboss/weld/tests/decorators/abstractDecorator/SimpleAbstractDecoratorWithConstructorTest.java
core/trunk/tests/src/test/java/org/jboss/weld/tests/decorators/abstractDecorator/SimpleAbstractDecoratorWithInitializerMethodTest.java
core/trunk/tests/src/test/java/org/jboss/weld/tests/decorators/abstractDecorator/Window.java
core/trunk/tests/src/test/java/org/jboss/weld/tests/decorators/abstractDecorator/WindowImpl.java
core/trunk/tests/src/test/java/org/jboss/weld/tests/decorators/abstractDecorator/broken/
core/trunk/tests/src/test/java/org/jboss/weld/tests/decorators/custom/
core/trunk/tests/src/test/java/org/jboss/weld/tests/decorators/decoratedTypes/
core/trunk/tests/src/test/java/org/jboss/weld/tests/decorators/generic/Decorated.java
core/trunk/tests/src/test/java/org/jboss/weld/tests/decorators/generic/GenericBean.java
core/trunk/tests/src/test/java/org/jboss/weld/tests/decorators/generic/NotDecorated.java
core/trunk/tests/src/test/java/org/jboss/weld/tests/decorators/generic/PartialDecorator.java
core/trunk/tests/src/test/java/org/jboss/weld/tests/decorators/generic/PartialDecoratorTest.java
core/trunk/tests/src/test/java/org/jboss/weld/tests/decorators/generic/StringPartialDecorator.java
core/trunk/tests/src/test/java/org/jboss/weld/tests/decorators/generic/TestBean.java
core/trunk/tests/src/test/java/org/jboss/weld/tests/decorators/generic/extend/
core/trunk/tests/src/test/java/org/jboss/weld/tests/decorators/interceptor/
core/trunk/tests/src/test/java/org/jboss/weld/tests/decorators/multidelegate/
core/trunk/tests/src/test/java/org/jboss/weld/tests/decorators/resolution/
core/trunk/tests/src/test/java/org/jboss/weld/tests/decorators/stackoverflow/
core/trunk/tests/src/test/java/org/jboss/weld/tests/enterprise/AbstractDAO.java
core/trunk/tests/src/test/java/org/jboss/weld/tests/enterprise/AbstractDAOImpl.java
core/trunk/tests/src/test/java/org/jboss/weld/tests/enterprise/Animal.java
core/trunk/tests/src/test/java/org/jboss/weld/tests/enterprise/Bird.java
core/trunk/tests/src/test/java/org/jboss/weld/tests/enterprise/BowlerHatException.java
core/trunk/tests/src/test/java/org/jboss/weld/tests/enterprise/Capercaillie.java
core/trunk/tests/src/test/java/org/jboss/weld/tests/enterprise/Castle.java
core/trunk/tests/src/test/java/org/jboss/weld/tests/enterprise/Cat.java
core/trunk/tests/src/test/java/org/jboss/weld/tests/enterprise/CatLocal.java
core/trunk/tests/src/test/java/org/jboss/weld/tests/enterprise/DAO.java
core/trunk/tests/src/test/java/org/jboss/weld/tests/enterprise/Dog.java
core/trunk/tests/src/test/java/org/jboss/weld/tests/enterprise/DogBean.java
core/trunk/tests/src/test/java/org/jboss/weld/tests/enterprise/EjbDescriptorLookupTest.java
core/trunk/tests/src/test/java/org/jboss/weld/tests/enterprise/EnterpriseBeanDefinitionTest.java
core/trunk/tests/src/test/java/org/jboss/weld/tests/enterprise/EnterpriseBeanTest.java
core/trunk/tests/src/test/java/org/jboss/weld/tests/enterprise/Fedora.java
core/trunk/tests/src/test/java/org/jboss/weld/tests/enterprise/FedoraImpl.java
core/trunk/tests/src/test/java/org/jboss/weld/tests/enterprise/Feed.java
core/trunk/tests/src/test/java/org/jboss/weld/tests/enterprise/Hat.java
core/trunk/tests/src/test/java/org/jboss/weld/tests/enterprise/HatRemote.java
core/trunk/tests/src/test/java/org/jboss/weld/tests/enterprise/HelloAction.java
core/trunk/tests/src/test/java/org/jboss/weld/tests/enterprise/HelloBean.java
core/trunk/tests/src/test/java/org/jboss/weld/tests/enterprise/IHelloBean.java
core/trunk/tests/src/test/java/org/jboss/weld/tests/enterprise/Result.java
core/trunk/tests/src/test/java/org/jboss/weld/tests/enterprise/ResultClient.java
core/trunk/tests/src/test/java/org/jboss/weld/tests/enterprise/ResultDAO.java
core/trunk/tests/src/test/java/org/jboss/weld/tests/enterprise/ResultDAOImpl.java
core/trunk/tests/src/test/java/org/jboss/weld/tests/enterprise/Scottish.java
core/trunk/tests/src/test/java/org/jboss/weld/tests/enterprise/lifecycle/
core/trunk/tests/src/test/java/org/jboss/weld/tests/enterprise/proxyability/
core/trunk/tests/src/test/java/org/jboss/weld/tests/event/Bar.java
core/trunk/tests/src/test/java/org/jboss/weld/tests/event/EventQualifierTest.java
core/trunk/tests/src/test/java/org/jboss/weld/tests/event/Foo.java
core/trunk/tests/src/test/java/org/jboss/weld/tests/event/NormalScopedBean.java
core/trunk/tests/src/test/java/org/jboss/weld/tests/event/SimpleEventTest.java
core/trunk/tests/src/test/java/org/jboss/weld/tests/event/Updated.java
core/trunk/tests/src/test/java/org/jboss/weld/tests/examples/
core/trunk/tests/src/test/java/org/jboss/weld/tests/exceptions/
core/trunk/tests/src/test/java/org/jboss/weld/tests/extensions/Capercaillie.java
core/trunk/tests/src/test/java/org/jboss/weld/tests/extensions/Cow.java
core/trunk/tests/src/test/java/org/jboss/weld/tests/extensions/CowLocal.java
core/trunk/tests/src/test/java/org/jboss/weld/tests/extensions/ExtensionObserver.java
core/trunk/tests/src/test/java/org/jboss/weld/tests/extensions/ExtensionTest.java
core/trunk/tests/src/test/java/org/jboss/weld/tests/extensions/Foo.java
core/trunk/tests/src/test/java/org/jboss/weld/tests/extensions/Horse.java
core/trunk/tests/src/test/java/org/jboss/weld/tests/extensions/OtherObserver.java
core/trunk/tests/src/test/java/org/jboss/weld/tests/extensions/Rat.java
core/trunk/tests/src/test/java/org/jboss/weld/tests/extensions/SimpleExtension.java
core/trunk/tests/src/test/java/org/jboss/weld/tests/extensions/Special.java
core/trunk/tests/src/test/java/org/jboss/weld/tests/extensions/Stable.java
core/trunk/tests/src/test/java/org/jboss/weld/tests/extensions/Woodland.java
core/trunk/tests/src/test/java/org/jboss/weld/tests/extensions/WoodlandExtension.java
core/trunk/tests/src/test/java/org/jboss/weld/tests/extensions/annotatedType/AnnotatedTypeExtension.java
core/trunk/tests/src/test/java/org/jboss/weld/tests/extensions/annotatedType/AnnotatedTypeExtensionTest.java
core/trunk/tests/src/test/java/org/jboss/weld/tests/extensions/annotatedType/Clothes.java
core/trunk/tests/src/test/java/org/jboss/weld/tests/extensions/annotatedType/Coins.java
core/trunk/tests/src/test/java/org/jboss/weld/tests/extensions/annotatedType/EcoFriendlyWashingMachine.java
core/trunk/tests/src/test/java/org/jboss/weld/tests/extensions/annotatedType/FastWashingMachine.java
core/trunk/tests/src/test/java/org/jboss/weld/tests/extensions/annotatedType/HotAir.java
core/trunk/tests/src/test/java/org/jboss/weld/tests/extensions/annotatedType/InjectLiteral.java
core/trunk/tests/src/test/java/org/jboss/weld/tests/extensions/annotatedType/Laundry.java
core/trunk/tests/src/test/java/org/jboss/weld/tests/extensions/annotatedType/Original.java
core/trunk/tests/src/test/java/org/jboss/weld/tests/extensions/annotatedType/Plug.java
core/trunk/tests/src/test/java/org/jboss/weld/tests/extensions/annotatedType/RunningTime.java
core/trunk/tests/src/test/java/org/jboss/weld/tests/extensions/annotatedType/SerialNumber.java
core/trunk/tests/src/test/java/org/jboss/weld/tests/extensions/annotatedType/Special.java
core/trunk/tests/src/test/java/org/jboss/weld/tests/extensions/annotatedType/SpecialLiteral.java
core/trunk/tests/src/test/java/org/jboss/weld/tests/extensions/annotatedType/TumbleDryer.java
core/trunk/tests/src/test/java/org/jboss/weld/tests/extensions/annotatedType/WashingMachine.java
core/trunk/tests/src/test/java/org/jboss/weld/tests/extensions/annotatedType/ejb/
core/trunk/tests/src/test/java/org/jboss/weld/tests/extensions/injectionTarget/
core/trunk/tests/src/test/java/org/jboss/weld/tests/extensions/interceptors/
core/trunk/tests/src/test/java/org/jboss/weld/tests/extensions/multipleBeans/
core/trunk/tests/src/test/java/org/jboss/weld/tests/generic/
core/trunk/tests/src/test/java/org/jboss/weld/tests/injectionPoint/Cow.java
core/trunk/tests/src/test/java/org/jboss/weld/tests/injectionPoint/CowShed.java
core/trunk/tests/src/test/java/org/jboss/weld/tests/injectionPoint/DoubleConsumer.java
core/trunk/tests/src/test/java/org/jboss/weld/tests/injectionPoint/DoubleGenerator.java
core/trunk/tests/src/test/java/org/jboss/weld/tests/injectionPoint/ExtraSpecial.java
core/trunk/tests/src/test/java/org/jboss/weld/tests/injectionPoint/ExtraSpecialLiteral.java
core/trunk/tests/src/test/java/org/jboss/weld/tests/injectionPoint/Field.java
core/trunk/tests/src/test/java/org/jboss/weld/tests/injectionPoint/GrassyField.java
core/trunk/tests/src/test/java/org/jboss/weld/tests/injectionPoint/InjectionPointTest.java
core/trunk/tests/src/test/java/org/jboss/weld/tests/injectionPoint/IntConsumer.java
core/trunk/tests/src/test/java/org/jboss/weld/tests/injectionPoint/IntGenerator.java
core/trunk/tests/src/test/java/org/jboss/weld/tests/injectionPoint/Pig.java
core/trunk/tests/src/test/java/org/jboss/weld/tests/injectionPoint/PigSty.java
core/trunk/tests/src/test/java/org/jboss/weld/tests/injectionPoint/Special.java
core/trunk/tests/src/test/java/org/jboss/weld/tests/injectionPoint/StringConsumer.java
core/trunk/tests/src/test/java/org/jboss/weld/tests/injectionPoint/StringGenerator.java
core/trunk/tests/src/test/java/org/jboss/weld/tests/injectionPoint/TimerManager.java
core/trunk/tests/src/test/java/org/jboss/weld/tests/injectionPoint/other/
core/trunk/tests/src/test/java/org/jboss/weld/tests/managed/newBean/
core/trunk/tests/src/test/java/org/jboss/weld/tests/nonContextual/
core/trunk/tests/src/test/java/org/jboss/weld/tests/producer/field/Baz.java
core/trunk/tests/src/test/java/org/jboss/weld/tests/producer/field/IntegerCollectionInjection.java
core/trunk/tests/src/test/java/org/jboss/weld/tests/producer/field/ListInstance.java
core/trunk/tests/src/test/java/org/jboss/weld/tests/producer/field/ListStringInstance.java
core/trunk/tests/src/test/java/org/jboss/weld/tests/producer/field/ParameterizedCollectionInjection.java
core/trunk/tests/src/test/java/org/jboss/weld/tests/producer/field/ParameterizedListInjection.java
core/trunk/tests/src/test/java/org/jboss/weld/tests/producer/field/ParameterizedProducer.java
core/trunk/tests/src/test/java/org/jboss/weld/tests/producer/field/ParameterizedProducerTest.java
core/trunk/tests/src/test/java/org/jboss/weld/tests/producer/field/ProducerBeanInvocationTest.java
core/trunk/tests/src/test/java/org/jboss/weld/tests/producer/field/Qux.java
core/trunk/tests/src/test/java/org/jboss/weld/tests/producer/field/QuxProducer.java
core/trunk/tests/src/test/java/org/jboss/weld/tests/producer/field/Target.java
core/trunk/tests/src/test/java/org/jboss/weld/tests/producer/method/Bar.java
core/trunk/tests/src/test/java/org/jboss/weld/tests/producer/method/BarConsumer.java
core/trunk/tests/src/test/java/org/jboss/weld/tests/producer/method/BarProducer.java
core/trunk/tests/src/test/java/org/jboss/weld/tests/producer/method/Baz.java
core/trunk/tests/src/test/java/org/jboss/weld/tests/producer/method/Car.java
core/trunk/tests/src/test/java/org/jboss/weld/tests/producer/method/CarFactory.java
core/trunk/tests/src/test/java/org/jboss/weld/tests/producer/method/DisposalMethodInjectionPointTest.java
core/trunk/tests/src/test/java/org/jboss/weld/tests/producer/method/DisposalMethodOnOtherBeanNotResolvedTest.java
core/trunk/tests/src/test/java/org/jboss/weld/tests/producer/method/Foo.java
core/trunk/tests/src/test/java/org/jboss/weld/tests/producer/method/FooDisposer.java
core/trunk/tests/src/test/java/org/jboss/weld/tests/producer/method/FooProducer.java
core/trunk/tests/src/test/java/org/jboss/weld/tests/producer/method/Government.java
core/trunk/tests/src/test/java/org/jboss/weld/tests/producer/method/Important.java
core/trunk/tests/src/test/java/org/jboss/weld/tests/producer/method/IntInjection.java
core/trunk/tests/src/test/java/org/jboss/weld/tests/producer/method/JmsTemplate.java
core/trunk/tests/src/test/java/org/jboss/weld/tests/producer/method/JmsTemplateConfigurationProducer.java
core/trunk/tests/src/test/java/org/jboss/weld/tests/producer/method/Long.java
core/trunk/tests/src/test/java/org/jboss/weld/tests/producer/method/ManagerProducer.java
core/trunk/tests/src/test/java/org/jboss/weld/tests/producer/method/ManagerProducerTest.java
core/trunk/tests/src/test/java/org/jboss/weld/tests/producer/method/NamedProducer.java
core/trunk/tests/src/test/java/org/jboss/weld/tests/producer/method/NamedProducerTest.java
core/trunk/tests/src/test/java/org/jboss/weld/tests/producer/method/NamedProducerWithBinding.java
core/trunk/tests/src/test/java/org/jboss/weld/tests/producer/method/NamedProducerWithBindingTest.java
core/trunk/tests/src/test/java/org/jboss/weld/tests/producer/method/NullProducerTest.java
core/trunk/tests/src/test/java/org/jboss/weld/tests/producer/method/ProducerBeanInvocationTest.java
core/trunk/tests/src/test/java/org/jboss/weld/tests/producer/method/Qux.java
core/trunk/tests/src/test/java/org/jboss/weld/tests/producer/method/QuxProducer.java
core/trunk/tests/src/test/java/org/jboss/weld/tests/producer/method/Short.java
core/trunk/tests/src/test/java/org/jboss/weld/tests/producer/method/circular/
core/trunk/tests/src/test/java/org/jboss/weld/tests/producer/method/parameterized/
core/trunk/tests/src/test/java/org/jboss/weld/tests/proxy/Foo.java
core/trunk/tests/src/test/java/org/jboss/weld/tests/proxy/ProxyTest.java
core/trunk/tests/src/test/java/org/jboss/weld/tests/proxy/enterprise/
core/trunk/tests/src/test/java/org/jboss/weld/tests/proxy/observer/
core/trunk/tests/src/test/java/org/jboss/weld/tests/proxy/weld477/
core/trunk/tests/src/test/java/org/jboss/weld/tests/proxy/weld56/
core/trunk/tests/src/test/java/org/jboss/weld/tests/resolution/Bar.java
core/trunk/tests/src/test/java/org/jboss/weld/tests/resolution/Baz.java
core/trunk/tests/src/test/java/org/jboss/weld/tests/resolution/Foo.java
core/trunk/tests/src/test/java/org/jboss/weld/tests/resolution/FooBase.java
core/trunk/tests/src/test/java/org/jboss/weld/tests/resolution/FooProducer.java
core/trunk/tests/src/test/java/org/jboss/weld/tests/resolution/LookupFoo.java
core/trunk/tests/src/test/java/org/jboss/weld/tests/resolution/LookupInstanceTest.java
core/trunk/tests/src/test/java/org/jboss/weld/tests/resolution/Special.java
core/trunk/tests/src/test/java/org/jboss/weld/tests/resolution/Weld256Test.java
core/trunk/tests/src/test/java/org/jboss/weld/tests/resolution/circular/Bar.java
core/trunk/tests/src/test/java/org/jboss/weld/tests/resolution/circular/CircularDependencyTest.java
core/trunk/tests/src/test/java/org/jboss/weld/tests/resolution/circular/DependentLooping.java
core/trunk/tests/src/test/java/org/jboss/weld/tests/resolution/circular/DependentLoopingProducer.java
core/trunk/tests/src/test/java/org/jboss/weld/tests/resolution/circular/DependentSelfConsumingDependentProducer.java
core/trunk/tests/src/test/java/org/jboss/weld/tests/resolution/circular/Farm.java
core/trunk/tests/src/test/java/org/jboss/weld/tests/resolution/circular/Fish.java
core/trunk/tests/src/test/java/org/jboss/weld/tests/resolution/circular/Foo.java
core/trunk/tests/src/test/java/org/jboss/weld/tests/resolution/circular/NormalLooping.java
core/trunk/tests/src/test/java/org/jboss/weld/tests/resolution/circular/NormalLoopingProducer.java
core/trunk/tests/src/test/java/org/jboss/weld/tests/resolution/circular/SelfConsumingDependent.java
core/trunk/tests/src/test/java/org/jboss/weld/tests/resolution/circular/Violation.java
core/trunk/tests/src/test/java/org/jboss/weld/tests/resolution/circular/Water.java
core/trunk/tests/src/test/java/org/jboss/weld/tests/resolution/circular/resource/
core/trunk/tests/src/test/java/org/jboss/weld/tests/resolution/named/
core/trunk/tests/src/test/java/org/jboss/weld/tests/resolution/wbri279/
core/trunk/tests/src/test/java/org/jboss/weld/tests/resolution/wbri293/
core/trunk/tests/src/test/java/org/jboss/weld/tests/resources/
core/trunk/tests/src/test/java/org/jboss/weld/tests/scope/Bar.java
core/trunk/tests/src/test/java/org/jboss/weld/tests/scope/Foo.java
core/trunk/tests/src/test/java/org/jboss/weld/tests/scope/ScopeTest.java
core/trunk/tests/src/test/java/org/jboss/weld/tests/scope/Special.java
core/trunk/tests/src/test/java/org/jboss/weld/tests/scope/Temp.java
core/trunk/tests/src/test/java/org/jboss/weld/tests/scope/TempConsumer.java
core/trunk/tests/src/test/java/org/jboss/weld/tests/scope/TempProducer.java
core/trunk/tests/src/test/java/org/jboss/weld/tests/scope/Useless.java
core/trunk/tests/src/test/java/org/jboss/weld/tests/serialization/
core/trunk/tests/src/test/java/org/jboss/weld/tests/session/newBean/
core/trunk/tests/src/test/java/org/jboss/weld/tests/specialization/
core/trunk/tests/src/test/java/org/jboss/weld/tests/stereotypes/
core/trunk/tests/src/test/java/org/jboss/weld/tests/unit/bootstrap/Bar.java
core/trunk/tests/src/test/java/org/jboss/weld/tests/unit/bootstrap/CheckableInjectionServices.java
core/trunk/tests/src/test/java/org/jboss/weld/tests/unit/bootstrap/ContainerStatusTest.java
core/trunk/tests/src/test/java/org/jboss/weld/tests/unit/bootstrap/DiscoverFailsBootstrapTest.java
core/trunk/tests/src/test/java/org/jboss/weld/tests/unit/bootstrap/Foo.java
core/trunk/tests/src/test/java/org/jboss/weld/tests/unit/bootstrap/InjectionServicesTest.java
core/trunk/tests/src/test/java/org/jboss/weld/tests/unit/bootstrap/PreinstantiateBeanManagerTest.java
core/trunk/tests/src/test/java/org/jboss/weld/tests/unit/bootstrap/WeldBean.java
core/trunk/tests/src/test/java/org/jboss/weld/tests/unit/bootstrap/WeldStartupTest.java
core/trunk/tests/src/test/java/org/jboss/weld/tests/unit/bootstrap/xml/
core/trunk/tests/src/test/java/org/jboss/weld/tests/unit/cluster/
core/trunk/tests/src/test/java/org/jboss/weld/tests/unit/deployment/structure/extensions/
core/trunk/tests/src/test/java/org/jboss/weld/tests/unit/deployment/structure/nonTransitiveResolution/
core/trunk/tests/src/test/java/org/jboss/weld/tests/unit/deployment/structure/resolution/
core/trunk/tests/src/test/java/org/jboss/weld/tests/unit/environments/servlet/
core/trunk/tests/src/test/java/org/jboss/weld/tests/unit/jsf/
core/trunk/tests/src/test/java/org/jboss/weld/tests/unit/reflection/annotation/
core/trunk/tests/src/test/java/org/jboss/weld/tests/unit/reflection/clazz/
core/trunk/tests/src/test/java/org/jboss/weld/tests/unit/reflection/method/
core/trunk/tests/src/test/java/org/jboss/weld/tests/unit/security/
core/trunk/tests/src/test/java/org/jboss/weld/tests/unit/util/
core/trunk/tests/src/test/java/org/jboss/weld/tests/util/annotated/
core/trunk/tests/src/test/resources/org/jboss/weld/tests/alternatives/
core/trunk/tests/src/test/resources/org/jboss/weld/tests/builtinBeans/
core/trunk/tests/src/test/resources/org/jboss/weld/tests/decorators/
core/trunk/tests/src/test/resources/org/jboss/weld/tests/enterprise/
core/trunk/tests/src/test/resources/org/jboss/weld/tests/examples/
core/trunk/tests/src/test/resources/org/jboss/weld/tests/extensions/annotatedType/ejb/
core/trunk/tests/src/test/resources/org/jboss/weld/tests/extensions/annotatedType/javax.enterprise.inject.spi.Extension
core/trunk/tests/src/test/resources/org/jboss/weld/tests/extensions/injectionTarget/
core/trunk/tests/src/test/resources/org/jboss/weld/tests/extensions/interceptors/
core/trunk/tests/src/test/resources/org/jboss/weld/tests/extensions/javax.enterprise.inject.spi.Extension
core/trunk/tests/src/test/resources/org/jboss/weld/tests/extensions/multipleBeans/
core/trunk/tests/src/test/resources/org/jboss/weld/tests/nonContextual/
core/trunk/tests/src/test/resources/org/jboss/weld/tests/resolution/
core/trunk/tests/src/test/resources/org/jboss/weld/tests/unit/
Modified:
core/trunk/tests/pom.xml
core/trunk/tests/src/main/java/org/jboss/weld/mock/MockServletContext.java
Log:
WELD-493 Tests moved to tests-arquillian
Modified: core/trunk/tests/pom.xml
===================================================================
--- core/trunk/tests/pom.xml 2010-07-28 11:35:11 UTC (rev 6821)
+++ core/trunk/tests/pom.xml 2010-07-28 11:45:17 UTC (rev 6822)
@@ -53,6 +53,13 @@
</dependency>
<dependency>
+ <groupId>org.jboss.spec.javax.servlet</groupId>
+ <artifactId>jboss-servlet-api_3.0_spec</artifactId>
+ <version>1.0.0.Beta2</version>
+ </dependency>
+
+
+ <dependency>
<groupId>javax.el</groupId>
<artifactId>el-api</artifactId>
</dependency>
Modified: core/trunk/tests/src/main/java/org/jboss/weld/mock/MockServletContext.java
===================================================================
--- core/trunk/tests/src/main/java/org/jboss/weld/mock/MockServletContext.java 2010-07-28 11:35:11 UTC (rev 6821)
+++ core/trunk/tests/src/main/java/org/jboss/weld/mock/MockServletContext.java 2010-07-28 11:45:17 UTC (rev 6822)
@@ -25,17 +25,25 @@
import java.net.URL;
import java.util.Collections;
import java.util.Enumeration;
+import java.util.EventListener;
import java.util.HashMap;
import java.util.HashSet;
import java.util.Map;
import java.util.Set;
+import javax.servlet.Filter;
+import javax.servlet.FilterRegistration;
import javax.servlet.RequestDispatcher;
import javax.servlet.Servlet;
import javax.servlet.ServletContext;
import javax.servlet.ServletException;
+import javax.servlet.ServletRegistration;
import javax.servlet.ServletRequest;
import javax.servlet.ServletResponse;
+import javax.servlet.SessionCookieConfig;
+import javax.servlet.SessionTrackingMode;
+import javax.servlet.FilterRegistration.Dynamic;
+import javax.servlet.descriptor.JspConfigDescriptor;
/**
* Mock implementation of the servlet context for testing purposes. This implementation supports all
@@ -555,4 +563,142 @@
{
return "";
}
+
+ public Dynamic addFilter(String arg0, String arg1) {
+ // TODO Auto-generated method stub
+ return null;
+ }
+
+ public Dynamic addFilter(String arg0, Filter arg1) {
+ // TODO Auto-generated method stub
+ return null;
+ }
+
+ public Dynamic addFilter(String arg0, Class<? extends Filter> arg1) {
+ // TODO Auto-generated method stub
+ return null;
+ }
+
+ public void addListener(String arg0) {
+ // TODO Auto-generated method stub
+
+ }
+
+ public <T extends EventListener> void addListener(T arg0) {
+ // TODO Auto-generated method stub
+
+ }
+
+ public void addListener(Class<? extends EventListener> arg0) {
+ // TODO Auto-generated method stub
+
+ }
+
+ public javax.servlet.ServletRegistration.Dynamic addServlet(String arg0,
+ String arg1) {
+ // TODO Auto-generated method stub
+ return null;
+ }
+
+ public javax.servlet.ServletRegistration.Dynamic addServlet(String arg0,
+ Servlet arg1) {
+ // TODO Auto-generated method stub
+ return null;
+ }
+
+ public javax.servlet.ServletRegistration.Dynamic addServlet(String arg0,
+ Class<? extends Servlet> arg1) {
+ // TODO Auto-generated method stub
+ return null;
+ }
+
+ public <T extends Filter> T createFilter(Class<T> arg0)
+ throws ServletException {
+ // TODO Auto-generated method stub
+ return null;
+ }
+
+ public <T extends EventListener> T createListener(Class<T> arg0)
+ throws ServletException {
+ // TODO Auto-generated method stub
+ return null;
+ }
+
+ public <T extends Servlet> T createServlet(Class<T> arg0)
+ throws ServletException {
+ // TODO Auto-generated method stub
+ return null;
+ }
+
+ public void declareRoles(String... arg0) {
+ // TODO Auto-generated method stub
+
+ }
+
+ public ClassLoader getClassLoader() {
+ // TODO Auto-generated method stub
+ return null;
+ }
+
+ public Set<SessionTrackingMode> getDefaultSessionTrackingModes() {
+ // TODO Auto-generated method stub
+ return null;
+ }
+
+ public int getEffectiveMajorVersion() {
+ // TODO Auto-generated method stub
+ return 0;
+ }
+
+ public int getEffectiveMinorVersion() {
+ // TODO Auto-generated method stub
+ return 0;
+ }
+
+ public Set<SessionTrackingMode> getEffectiveSessionTrackingModes() {
+ // TODO Auto-generated method stub
+ return null;
+ }
+
+ public FilterRegistration getFilterRegistration(String arg0) {
+ // TODO Auto-generated method stub
+ return null;
+ }
+
+ public Map<String, ? extends FilterRegistration> getFilterRegistrations() {
+ // TODO Auto-generated method stub
+ return null;
+ }
+
+ public JspConfigDescriptor getJspConfigDescriptor() {
+ // TODO Auto-generated method stub
+ return null;
+ }
+
+ public ServletRegistration getServletRegistration(String arg0) {
+ // TODO Auto-generated method stub
+ return null;
+ }
+
+ public Map<String, ? extends ServletRegistration> getServletRegistrations() {
+ // TODO Auto-generated method stub
+ return null;
+ }
+
+ public SessionCookieConfig getSessionCookieConfig() {
+ // TODO Auto-generated method stub
+ return null;
+ }
+
+ public boolean setInitParameter(String arg0, String arg1) {
+ // TODO Auto-generated method stub
+ return false;
+ }
+
+ public void setSessionTrackingModes(Set<SessionTrackingMode> arg0) {
+ // TODO Auto-generated method stub
+
+ }
+
+
}
Deleted: core/trunk/tests/src/test/java/org/jboss/weld/tests/activities/ActivitiesTest.java
===================================================================
--- core/trunk/tests/src/test/java/org/jboss/weld/tests/activities/ActivitiesTest.java 2010-07-28 11:35:11 UTC (rev 6821)
+++ core/trunk/tests/src/test/java/org/jboss/weld/tests/activities/ActivitiesTest.java 2010-07-28 11:45:17 UTC (rev 6822)
@@ -1,347 +0,0 @@
-/*
- * JBoss, Home of Professional Open Source
- * Copyright 2010, Red Hat, Inc., and individual contributors
- * by the @authors tag. See the copyright.txt in the distribution for a
- * full listing of individual contributors.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * http://www.apache.org/licenses/LICENSE-2.0
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.jboss.weld.tests.activities;
-
-import java.lang.annotation.Annotation;
-import java.lang.reflect.Member;
-import java.lang.reflect.Type;
-import java.util.Collections;
-import java.util.HashSet;
-import java.util.Set;
-
-import javax.enterprise.context.Dependent;
-import javax.enterprise.context.spi.Context;
-import javax.enterprise.context.spi.Contextual;
-import javax.enterprise.context.spi.CreationalContext;
-import javax.enterprise.event.Reception;
-import javax.enterprise.event.TransactionPhase;
-import javax.enterprise.inject.UnsatisfiedResolutionException;
-import javax.enterprise.inject.spi.Annotated;
-import javax.enterprise.inject.spi.Bean;
-import javax.enterprise.inject.spi.BeanManager;
-import javax.enterprise.inject.spi.InjectionPoint;
-import javax.enterprise.inject.spi.ObserverMethod;
-import javax.enterprise.util.AnnotationLiteral;
-
-import org.jboss.testharness.impl.packaging.Artifact;
-import org.jboss.weld.bean.ForwardingBean;
-import org.jboss.weld.literal.AnyLiteral;
-import org.jboss.weld.literal.DefaultLiteral;
-import org.jboss.weld.manager.BeanManagerImpl;
-import org.jboss.weld.test.AbstractWeldTest;
-import org.jboss.weld.util.collections.Arrays2;
-import org.testng.annotations.Test;
-
-/**
- *
- * Spec version: 20090519
- *
- */
-@Artifact
-public class ActivitiesTest extends AbstractWeldTest
-{
-
- private static final Set<Annotation> DEFAULT_QUALIFIERS = Collections.<Annotation> singleton(DefaultLiteral.INSTANCE);
-
- private Bean<?> createDummyBean(BeanManager beanManager, final Type injectionPointType)
- {
- final Set<InjectionPoint> injectionPoints = new HashSet<InjectionPoint>();
- final Set<Type> types = new HashSet<Type>();
- final Set<Annotation> bindings = new HashSet<Annotation>();
- bindings.add(new AnnotationLiteral<Tame>()
- {
- });
- types.add(Object.class);
- final Bean<?> bean = new Bean<Object>()
- {
-
- public Set<Annotation> getQualifiers()
- {
- return bindings;
- }
-
- public Set<InjectionPoint> getInjectionPoints()
- {
- return injectionPoints;
- }
-
- public String getName()
- {
- return null;
- }
-
- public Class<? extends Annotation> getScope()
- {
- return Dependent.class;
- }
-
- public Set<Type> getTypes()
- {
- return types;
- }
-
- public boolean isNullable()
- {
- return false;
- }
-
- public Object create(CreationalContext<Object> creationalContext)
- {
- return null;
- }
-
- public void destroy(Object instance, CreationalContext<Object> creationalContext)
- {
-
- }
-
- public Class<?> getBeanClass()
- {
- return Object.class;
- }
-
- public boolean isAlternative()
- {
- return false;
- }
-
- public Set<Class<? extends Annotation>> getStereotypes()
- {
- return Collections.emptySet();
- }
-
- };
- InjectionPoint injectionPoint = new InjectionPoint()
- {
-
- public Bean<?> getBean()
- {
- return bean;
- }
-
- public Set<Annotation> getQualifiers()
- {
- return DEFAULT_QUALIFIERS;
- }
-
- public Member getMember()
- {
- return null;
- }
-
- public Type getType()
- {
- return injectionPointType;
- }
-
- public Annotated getAnnotated()
- {
- return null;
- }
-
- public boolean isDelegate()
- {
- return false;
- }
-
- public boolean isTransient()
- {
- return false;
- }
-
- };
- injectionPoints.add(injectionPoint);
- return bean;
- }
-
- private static class DummyContext implements Context
- {
-
- public <T> T get(Contextual<T> contextual)
- {
- return null;
- }
-
- public <T> T get(Contextual<T> contextual, CreationalContext<T> creationalContext)
- {
- return null;
- }
-
- public Class<? extends Annotation> getScope()
- {
- return Dummy.class;
- }
-
- public boolean isActive()
- {
- return false;
- }
-
- }
-
- @Test
- public void testBeanBelongingToParentActivityBelongsToChildActivity()
- {
- assert getBeans(Cow.class).size() == 1;
- Contextual<?> bean = getBeans(Cow.class).iterator().next();
- BeanManager childActivity = getCurrentManager().createActivity();
- assert childActivity.getBeans(Cow.class).size() == 1;
- assert childActivity.getBeans(Cow.class).iterator().next().equals(bean);
- }
-
- @Test
- public void testBeanBelongingToParentActivityCanBeInjectedIntoChildActivityBean()
- {
- assert getBeans(Cow.class).size() == 1;
- Contextual<?> bean = getBeans(Cow.class).iterator().next();
- BeanManagerImpl childActivity = getCurrentManager().createActivity();
- Bean<?> dummyBean = createDummyBean(childActivity, Cow.class);
- childActivity.addBean(dummyBean);
- assert childActivity.getInjectableReference(dummyBean.getInjectionPoints().iterator().next(), childActivity.createCreationalContext(dummyBean)) != null;
- }
-
- @Test
- public void testObserverBelongingToParentActivityBelongsToChildActivity()
- {
- assert getCurrentManager().resolveObserverMethods(new NightTime()).size() == 1;
- ObserverMethod<?> observer = getCurrentManager().resolveObserverMethods(new NightTime()).iterator().next();
- BeanManager childActivity = getCurrentManager().createActivity();
- assert childActivity.resolveObserverMethods(new NightTime()).size() == 1;
- assert childActivity.resolveObserverMethods(new NightTime()).iterator().next().equals(observer);
- }
-
- @Test
- public void testObserverBelongingToParentFiresForChildActivity()
- {
- Fox.setObserved(false);
- BeanManager childActivity = getCurrentManager().createActivity();
- childActivity.fireEvent(new NightTime());
- assert Fox.isObserved();
- }
-
- @Test
- public void testContextObjectBelongingToParentBelongsToChild()
- {
- Context context = new DummyContext()
- {
-
- @Override
- public boolean isActive()
- {
- return true;
- }
-
- };
- getCurrentManager().addContext(context);
- BeanManager childActivity = getCurrentManager().createActivity();
- assert childActivity.getContext(Dummy.class) != null;
- }
-
- @Test
- public void testBeanBelongingToChildActivityCannotBeInjectedIntoParentActivityBean()
- {
- assert getBeans(Cow.class).size() == 1;
- BeanManagerImpl childActivity = getCurrentManager().createActivity();
- Bean<?> dummyBean = createDummyBean(childActivity, Cow.class);
- childActivity.addBean(dummyBean);
- assert getBeans(Object.class, new AnnotationLiteral<Tame>()
- {
- }).size() == 0;
- }
-
- @Test(expectedExceptions = UnsatisfiedResolutionException.class)
- public void testInstanceProcessedByParentActivity()
- {
- Context dummyContext = new DummyContext();
- getCurrentManager().addContext(dummyContext);
- assert getBeans(Cow.class).size() == 1;
- final Bean<Cow> bean = getBeans(Cow.class).iterator().next();
- BeanManagerImpl childActivity = getCurrentManager().createActivity();
- final Set<Annotation> bindingTypes = new HashSet<Annotation>();
- bindingTypes.add(new AnnotationLiteral<Tame>()
- {
- });
- childActivity.addBean(new ForwardingBean<Cow>()
- {
-
- @Override
- protected Bean<Cow> delegate()
- {
- return bean;
- }
-
- @Override
- public Set<Annotation> getQualifiers()
- {
- return bindingTypes;
- }
-
- @Override
- public Set<Class<? extends Annotation>> getStereotypes()
- {
- return Collections.emptySet();
- }
-
- });
- getReference(Field.class).get();
- }
-
- @Test
- public void testObserverBelongingToChildDoesNotFireForParentActivity()
- {
-
- BeanManagerImpl childActivity = getCurrentManager().createActivity();
- ObserverMethod<NightTime> observer = new ObserverMethod<NightTime>()
- {
-
- public void notify(NightTime event)
- {
- assert false;
- }
-
- public Class<?> getBeanClass()
- {
- return NightTime.class;
- }
-
- public Set<Annotation> getObservedQualifiers()
- {
- return Arrays2.asSet(AnyLiteral.INSTANCE, DefaultLiteral.INSTANCE);
- }
-
- public Type getObservedType()
- {
- return NightTime.class;
- }
-
- public Reception getReception()
- {
- return Reception.ALWAYS;
- }
-
- public TransactionPhase getTransactionPhase()
- {
- return TransactionPhase.IN_PROGRESS;
- }
-
- };
- // TODO Fix this test to use an observer method in a child activity
- childActivity.addObserver(observer);
- getCurrentManager().fireEvent(new NightTime());
- }
-
-}
Deleted: core/trunk/tests/src/test/java/org/jboss/weld/tests/activities/Cow.java
===================================================================
--- core/trunk/tests/src/test/java/org/jboss/weld/tests/activities/Cow.java 2010-07-28 11:35:11 UTC (rev 6821)
+++ core/trunk/tests/src/test/java/org/jboss/weld/tests/activities/Cow.java 2010-07-28 11:45:17 UTC (rev 6822)
@@ -1,22 +0,0 @@
-/*
- * JBoss, Home of Professional Open Source
- * Copyright 2010, Red Hat, Inc., and individual contributors
- * by the @authors tag. See the copyright.txt in the distribution for a
- * full listing of individual contributors.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * http://www.apache.org/licenses/LICENSE-2.0
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.jboss.weld.tests.activities;
-
-class Cow
-{
-
-}
Deleted: core/trunk/tests/src/test/java/org/jboss/weld/tests/activities/Dummy.java
===================================================================
--- core/trunk/tests/src/test/java/org/jboss/weld/tests/activities/Dummy.java 2010-07-28 11:35:11 UTC (rev 6821)
+++ core/trunk/tests/src/test/java/org/jboss/weld/tests/activities/Dummy.java 2010-07-28 11:45:17 UTC (rev 6822)
@@ -1,36 +0,0 @@
-/*
- * JBoss, Home of Professional Open Source
- * Copyright 2010, Red Hat, Inc., and individual contributors
- * by the @authors tag. See the copyright.txt in the distribution for a
- * full listing of individual contributors.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * http://www.apache.org/licenses/LICENSE-2.0
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.jboss.weld.tests.activities;
-
-import static java.lang.annotation.ElementType.FIELD;
-import static java.lang.annotation.ElementType.METHOD;
-import static java.lang.annotation.ElementType.TYPE;
-import static java.lang.annotation.RetentionPolicy.RUNTIME;
-
-import java.lang.annotation.Documented;
-import java.lang.annotation.Inherited;
-import java.lang.annotation.Retention;
-import java.lang.annotation.Target;
-
-import javax.inject.Scope;
-
-@Target( { TYPE, METHOD, FIELD })
-@Retention(RUNTIME)
-@Documented
-@Scope
-@Inherited
-@interface Dummy {}
\ No newline at end of file
Deleted: core/trunk/tests/src/test/java/org/jboss/weld/tests/activities/Field.java
===================================================================
--- core/trunk/tests/src/test/java/org/jboss/weld/tests/activities/Field.java 2010-07-28 11:35:11 UTC (rev 6821)
+++ core/trunk/tests/src/test/java/org/jboss/weld/tests/activities/Field.java 2010-07-28 11:45:17 UTC (rev 6822)
@@ -1,32 +0,0 @@
-/*
- * JBoss, Home of Professional Open Source
- * Copyright 2010, Red Hat, Inc., and individual contributors
- * by the @authors tag. See the copyright.txt in the distribution for a
- * full listing of individual contributors.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * http://www.apache.org/licenses/LICENSE-2.0
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.jboss.weld.tests.activities;
-
-import javax.enterprise.inject.Instance;
-import javax.inject.Inject;
-
-class Field
-{
-
- @Inject @Tame Instance<Cow> instance;
-
- public Cow get()
- {
- return instance.get();
- }
-
-}
Deleted: core/trunk/tests/src/test/java/org/jboss/weld/tests/activities/Fox.java
===================================================================
--- core/trunk/tests/src/test/java/org/jboss/weld/tests/activities/Fox.java 2010-07-28 11:35:11 UTC (rev 6821)
+++ core/trunk/tests/src/test/java/org/jboss/weld/tests/activities/Fox.java 2010-07-28 11:45:17 UTC (rev 6822)
@@ -1,41 +0,0 @@
-/*
- * JBoss, Home of Professional Open Source
- * Copyright 2010, Red Hat, Inc., and individual contributors
- * by the @authors tag. See the copyright.txt in the distribution for a
- * full listing of individual contributors.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * http://www.apache.org/licenses/LICENSE-2.0
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.jboss.weld.tests.activities;
-
-import javax.enterprise.event.Observes;
-
-class Fox
-{
-
- private static boolean observed = false;
-
- public void observe(@Observes NightTime nighttime)
- {
- observed = true;
- }
-
- public static boolean isObserved()
- {
- return observed;
- }
-
- public static void setObserved(boolean observed)
- {
- Fox.observed = observed;
- }
-
-}
Deleted: core/trunk/tests/src/test/java/org/jboss/weld/tests/activities/NightTime.java
===================================================================
--- core/trunk/tests/src/test/java/org/jboss/weld/tests/activities/NightTime.java 2010-07-28 11:35:11 UTC (rev 6821)
+++ core/trunk/tests/src/test/java/org/jboss/weld/tests/activities/NightTime.java 2010-07-28 11:45:17 UTC (rev 6822)
@@ -1,22 +0,0 @@
-/*
- * JBoss, Home of Professional Open Source
- * Copyright 2010, Red Hat, Inc., and individual contributors
- * by the @authors tag. See the copyright.txt in the distribution for a
- * full listing of individual contributors.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * http://www.apache.org/licenses/LICENSE-2.0
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.jboss.weld.tests.activities;
-
-class NightTime
-{
-
-}
Deleted: core/trunk/tests/src/test/java/org/jboss/weld/tests/activities/Tame.java
===================================================================
--- core/trunk/tests/src/test/java/org/jboss/weld/tests/activities/Tame.java 2010-07-28 11:35:11 UTC (rev 6821)
+++ core/trunk/tests/src/test/java/org/jboss/weld/tests/activities/Tame.java 2010-07-28 11:45:17 UTC (rev 6822)
@@ -1,38 +0,0 @@
-/*
- * JBoss, Home of Professional Open Source
- * Copyright 2010, Red Hat, Inc., and individual contributors
- * by the @authors tag. See the copyright.txt in the distribution for a
- * full listing of individual contributors.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * http://www.apache.org/licenses/LICENSE-2.0
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.jboss.weld.tests.activities;
-
-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.inject.Qualifier;
-
-@Target( { TYPE, METHOD, PARAMETER, FIELD })
-@Retention(RUNTIME)
-@Documented
-@Qualifier
-@interface Tame
-{
-
-}
Deleted: core/trunk/tests/src/test/java/org/jboss/weld/tests/annotatedType/Bean.java
===================================================================
--- core/trunk/tests/src/test/java/org/jboss/weld/tests/annotatedType/Bean.java 2010-07-28 11:35:11 UTC (rev 6821)
+++ core/trunk/tests/src/test/java/org/jboss/weld/tests/annotatedType/Bean.java 2010-07-28 11:45:17 UTC (rev 6822)
@@ -1,38 +0,0 @@
-/*
- * JBoss, Home of Professional Open Source
- * Copyright 2010, Red Hat, Inc., and individual contributors
- * by the @authors tag. See the copyright.txt in the distribution for a
- * full listing of individual contributors.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * http://www.apache.org/licenses/LICENSE-2.0
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.jboss.weld.tests.annotatedType;
-
-
-/**
- *
- * @author <a href="kabir.khan(a)jboss.com">Kabir Khan</a>
- * @version $Revision: 1.1 $
- */
-public class Bean
-{
- int field;
-
- public Bean(int i)
- {
-
- }
-
- public void method(int i)
- {
-
- }
-}
Deleted: core/trunk/tests/src/test/java/org/jboss/weld/tests/annotatedType/Child.java
===================================================================
--- core/trunk/tests/src/test/java/org/jboss/weld/tests/annotatedType/Child.java 2010-07-28 11:35:11 UTC (rev 6821)
+++ core/trunk/tests/src/test/java/org/jboss/weld/tests/annotatedType/Child.java 2010-07-28 11:45:17 UTC (rev 6822)
@@ -1,22 +0,0 @@
-/*
- * JBoss, Home of Professional Open Source
- * Copyright 2010, Red Hat, Inc., and individual contributors
- * by the @authors tag. See the copyright.txt in the distribution for a
- * full listing of individual contributors.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * http://www.apache.org/licenses/LICENSE-2.0
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.jboss.weld.tests.annotatedType;
-
-
-public class Child extends Parent
- {
- }
\ No newline at end of file
Deleted: core/trunk/tests/src/test/java/org/jboss/weld/tests/annotatedType/DeclaringTypeTest.java
===================================================================
--- core/trunk/tests/src/test/java/org/jboss/weld/tests/annotatedType/DeclaringTypeTest.java 2010-07-28 11:35:11 UTC (rev 6821)
+++ core/trunk/tests/src/test/java/org/jboss/weld/tests/annotatedType/DeclaringTypeTest.java 2010-07-28 11:45:17 UTC (rev 6822)
@@ -1,82 +0,0 @@
-/*
- * JBoss, Home of Professional Open Source
- * Copyright 2010, Red Hat, Inc., and individual contributors
- * by the @authors tag. See the copyright.txt in the distribution for a
- * full listing of individual contributors.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * http://www.apache.org/licenses/LICENSE-2.0
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.jboss.weld.tests.annotatedType;
-
-import javax.enterprise.inject.spi.AnnotatedField;
-import javax.enterprise.inject.spi.AnnotatedMethod;
-import javax.enterprise.inject.spi.AnnotatedType;
-
-import org.jboss.testharness.impl.packaging.Artifact;
-import org.jboss.weld.test.AbstractWeldTest;
-import org.testng.Assert;
-import org.testng.annotations.Test;
-
-/**
- * @author kkahn
- *
- */
-@Artifact
-public class DeclaringTypeTest extends AbstractWeldTest
-{
-
- @Test
- public void testInheritance()
- {
- AnnotatedType<Child> type = getCurrentManager().createAnnotatedType(Child.class);
- assert type.getConstructors().size() == 1;
- assert type.getFields().size() == 1;
- for (AnnotatedField<? super Child> field : type.getFields())
- {
- if (field.getJavaMember().getName().equals("parent"))
- {
- Assert.assertEquals(Parent.class, field.getJavaMember().getDeclaringClass()); // OK
- // -
- // Returns
- // Parent
- Assert.assertEquals(Parent.class, field.getDeclaringType().getJavaClass()); // FAIL
- // -
- // Returns
- // Child
- }
- else
- {
- Assert.fail("Unknown field " + field.getJavaMember());
- }
- }
-
- assert type.getMethods().size() == 1;
- for (AnnotatedMethod<? super Child> method : type.getMethods())
- {
- if (method.getJavaMember().getName().equals("parentMethod"))
- {
- Assert.assertEquals(Parent.class, method.getJavaMember().getDeclaringClass()); // OK
- // -
- // /Returns
- // Parent
- Assert.assertEquals(Parent.class, method.getDeclaringType().getJavaClass()); // FAIL
- // -
- // Returns
- // Child
- }
- else
- {
- Assert.fail("Unknown method " + method.getJavaMember());
- }
- }
- }
-
-}
Deleted: core/trunk/tests/src/test/java/org/jboss/weld/tests/annotatedType/ExampleTest.java
===================================================================
--- core/trunk/tests/src/test/java/org/jboss/weld/tests/annotatedType/ExampleTest.java 2010-07-28 11:35:11 UTC (rev 6821)
+++ core/trunk/tests/src/test/java/org/jboss/weld/tests/annotatedType/ExampleTest.java 2010-07-28 11:45:17 UTC (rev 6822)
@@ -1,79 +0,0 @@
-/*
- * JBoss, Home of Professional Open Source
- * Copyright 2010, Red Hat, Inc., and individual contributors
- * by the @authors tag. See the copyright.txt in the distribution for a
- * full listing of individual contributors.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * http://www.apache.org/licenses/LICENSE-2.0
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.jboss.weld.tests.annotatedType;
-
-import javax.enterprise.inject.spi.Annotated;
-import javax.enterprise.inject.spi.AnnotatedConstructor;
-import javax.enterprise.inject.spi.AnnotatedField;
-import javax.enterprise.inject.spi.AnnotatedMethod;
-import javax.enterprise.inject.spi.AnnotatedParameter;
-import javax.enterprise.inject.spi.AnnotatedType;
-
-import org.jboss.testharness.impl.packaging.Artifact;
-import org.jboss.weld.test.AbstractWeldTest;
-import org.testng.Assert;
-import org.testng.annotations.Test;
-
-/**
- *
- * @author <a href="kabir.khan(a)jboss.com">Kabir Khan</a>
- * @version $Revision: 1.1 $
- */
-@Artifact
-public class ExampleTest extends AbstractWeldTest
-{
- @Test
- public void testAnnotatedCallableGetParameters() throws Exception
- {
- AnnotatedType<Bean> type = getCurrentManager().createAnnotatedType(Bean.class);
-
- assertNoAnnotations(type);
-
- Assert.assertEquals(1, type.getConstructors().size());
- for (AnnotatedConstructor<Bean> ctor : type.getConstructors())
- {
- assertNoAnnotations(ctor);
-
- for (AnnotatedParameter<Bean> param : ctor.getParameters())
- {
- assertNoAnnotations(param);
- }
- }
-
- Assert.assertEquals(1, type.getMethods().size());
- for (AnnotatedMethod<? super Bean> method : type.getMethods())
- {
- assertNoAnnotations(method);
-
- for (AnnotatedParameter<? super Bean> param : method.getParameters())
- {
- assertNoAnnotations(param);
- }
- }
-
- Assert.assertEquals(1, type.getFields().size());
- for (AnnotatedField<? super Bean> field : type.getFields())
- {
- assertNoAnnotations(field);
- }
- }
-
- private void assertNoAnnotations(Annotated annotated)
- {
- Assert.assertEquals(0, annotated.getAnnotations().size());
- }
-}
Deleted: core/trunk/tests/src/test/java/org/jboss/weld/tests/annotatedType/Parent.java
===================================================================
--- core/trunk/tests/src/test/java/org/jboss/weld/tests/annotatedType/Parent.java 2010-07-28 11:35:11 UTC (rev 6821)
+++ core/trunk/tests/src/test/java/org/jboss/weld/tests/annotatedType/Parent.java 2010-07-28 11:45:17 UTC (rev 6822)
@@ -1,27 +0,0 @@
-/*
- * JBoss, Home of Professional Open Source
- * Copyright 2010, Red Hat, Inc., and individual contributors
- * by the @authors tag. See the copyright.txt in the distribution for a
- * full listing of individual contributors.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * http://www.apache.org/licenses/LICENSE-2.0
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.jboss.weld.tests.annotatedType;
-public class Parent
-{
- int parent;
-
- void parentMethod()
- {
-
- }
-}
-
Deleted: core/trunk/tests/src/test/java/org/jboss/weld/tests/beanManager/BeanManagerTest.java
===================================================================
--- core/trunk/tests/src/test/java/org/jboss/weld/tests/beanManager/BeanManagerTest.java 2010-07-28 11:35:11 UTC (rev 6821)
+++ core/trunk/tests/src/test/java/org/jboss/weld/tests/beanManager/BeanManagerTest.java 2010-07-28 11:45:17 UTC (rev 6822)
@@ -1,38 +0,0 @@
-package org.jboss.weld.tests.beanManager;
-
-import javax.enterprise.context.spi.CreationalContext;
-import javax.enterprise.inject.spi.Bean;
-
-import org.jboss.testharness.impl.packaging.Artifact;
-import org.jboss.weld.test.AbstractWeldTest;
-import org.testng.annotations.Test;
-
-@Artifact
-public class BeanManagerTest extends AbstractWeldTest
-{
-
- @Test(expectedExceptions=IllegalArgumentException.class)
- public void testNullBeanArgumentToGetReference()
- {
- Bean<Foo> bean = getBean(Foo.class);
- CreationalContext<Foo> cc = getCurrentManager().createCreationalContext(bean);
- getCurrentManager().getReference(null, Foo.class, cc);
- }
-
- @Test(expectedExceptions=IllegalArgumentException.class)
- public void testNullBeanTypeArgumentToGetReference()
- {
- Bean<Foo> bean = getBean(Foo.class);
- CreationalContext<Foo> cc = getCurrentManager().createCreationalContext(bean);
- getCurrentManager().getReference(bean, null, cc);
- }
-
- @Test(expectedExceptions=IllegalArgumentException.class)
- public void testNullCreationalContextArgumentToGetReference()
- {
- Bean<Foo> bean = getBean(Foo.class);
- CreationalContext<Foo> cc = getCurrentManager().createCreationalContext(bean);
- getCurrentManager().getReference(bean, Foo.class, null);
- }
-
-}
Deleted: core/trunk/tests/src/test/java/org/jboss/weld/tests/beanManager/Foo.java
===================================================================
--- core/trunk/tests/src/test/java/org/jboss/weld/tests/beanManager/Foo.java 2010-07-28 11:35:11 UTC (rev 6821)
+++ core/trunk/tests/src/test/java/org/jboss/weld/tests/beanManager/Foo.java 2010-07-28 11:45:17 UTC (rev 6822)
@@ -1,6 +0,0 @@
-package org.jboss.weld.tests.beanManager;
-
-public class Foo
-{
-
-}
Deleted: core/trunk/tests/src/test/java/org/jboss/weld/tests/builtinBeans/BuiltInBeanPassivationCapableTest.java
===================================================================
--- core/trunk/tests/src/test/java/org/jboss/weld/tests/builtinBeans/BuiltInBeanPassivationCapableTest.java 2010-07-28 11:35:11 UTC (rev 6821)
+++ core/trunk/tests/src/test/java/org/jboss/weld/tests/builtinBeans/BuiltInBeanPassivationCapableTest.java 2010-07-28 11:45:17 UTC (rev 6822)
@@ -1,150 +0,0 @@
-/*
- * JBoss, Home of Professional Open Source
- * Copyright 2010, Red Hat, Inc., and individual contributors
- * by the @authors tag. See the copyright.txt in the distribution for a
- * full listing of individual contributors.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * http://www.apache.org/licenses/LICENSE-2.0
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.jboss.weld.tests.builtinBeans;
-
-import static org.jboss.weld.tests.builtinBeans.Checker.checkBeanManager;
-import static org.jboss.weld.tests.builtinBeans.Checker.checkEquality;
-import static org.jboss.weld.tests.builtinBeans.Checker.checkEvent;
-import static org.jboss.weld.tests.builtinBeans.Checker.checkInjectionPoint;
-import static org.jboss.weld.tests.builtinBeans.Checker.checkInstance;
-import static org.jboss.weld.tests.builtinBeans.Checker.checkPrincipal;
-import static org.jboss.weld.tests.builtinBeans.Checker.checkUserTransaction;
-import static org.jboss.weld.tests.builtinBeans.Checker.checkValidator;
-import static org.jboss.weld.tests.builtinBeans.Checker.checkValidatorFactory;
-
-import java.security.Principal;
-
-import javax.enterprise.event.Event;
-import javax.enterprise.inject.Instance;
-import javax.enterprise.inject.spi.BeanManager;
-import javax.enterprise.inject.spi.InjectionPoint;
-import javax.transaction.UserTransaction;
-import javax.validation.Validator;
-import javax.validation.ValidatorFactory;
-
-import org.jboss.testharness.impl.packaging.Artifact;
-import org.jboss.weld.test.AbstractWeldTest;
-import org.jboss.weld.test.Utils;
-import org.testng.annotations.Test;
-
-@Artifact
-public class BuiltInBeanPassivationCapableTest extends AbstractWeldTest
-{
-
- @Test
- public void testDefaultValidatorBean() throws Throwable
- {
- Validator validator = getReference(Validator.class);
- Validator validator1 = Utils.deserialize(Utils.serialize(validator));
- assert checkValidator(validator1);
- }
-
- @Test
- public void testDefaultValidatorFactoryBean() throws Throwable
- {
- ValidatorFactory validatorFactory = getReference(ValidatorFactory.class);
- ValidatorFactory validatorFactory1 = Utils.deserialize(Utils.serialize(validatorFactory));
- assert checkValidatorFactory(validatorFactory1);
- }
-
- @Test(groups="incontainer-broken")
- public void testPrincipal() throws Throwable
- {
- Principal principal = getReference(Principal.class);
- Principal principal1 = Utils.deserialize(Utils.serialize(principal));
- assert checkPrincipal(principal1);
- }
-
- @Test
- public void testUserTransactionBean() throws Throwable
- {
- UserTransaction userTransaction = getReference(UserTransaction.class);
- UserTransaction userTransaction1 = Utils.deserialize(Utils.serialize(userTransaction));
- assert checkUserTransaction(userTransaction1);
- }
-
- @Test
- public void testBeanManagerBean() throws Throwable
- {
- BeanManager beanManager = getReference(BeanManager.class);
- BeanManager beanManager1 = Utils.deserialize(Utils.serialize(beanManager));
- assert checkBeanManager(beanManager1);
- assert checkEquality(beanManager, beanManager1);
- }
-
- @Test
- public void testInstance() throws Throwable
- {
- Instance<Cow> instance = getReference(Consumer.class).getCow();
- Instance<Cow> instance1 = Utils.deserialize(Utils.serialize(instance));
- assert checkInstance(instance1);
- assert checkEquality(instance, instance1);
- }
-
- @Test
- public void testEvent() throws Throwable
- {
- Event<Cow> event = getReference(Consumer.class).getEvent();
- CowEventObserver observer = getReference(CowEventObserver.class);
- Event<Cow> event1 = Utils.deserialize(Utils.serialize(event));
- assert checkEvent(event1, observer);
- assert checkEquality(event, event1);
- }
-
- @Test
- public void testFieldInjectionPoint() throws Throwable
- {
- Dog.reset();
- getReference(FieldInjectionPointConsumer.class).ping();
- InjectionPoint injectionPoint = Dog.getInjectionPoint();
- InjectionPoint injectionPoint1 = Utils.deserialize(Utils.serialize(injectionPoint));
- assert checkInjectionPoint(injectionPoint1, FieldInjectionPointConsumer.class);
- assert checkEquality(injectionPoint, injectionPoint1);
- }
-
- @Test
- public void testConstructorInjectionPoint() throws Throwable
- {
- Dog.reset();
- getReference(ConstructorInjectionPointConsumer.class).ping();
- InjectionPoint injectionPoint = Dog.getInjectionPoint();
- InjectionPoint injectionPoint1 = Utils.deserialize(Utils.serialize(injectionPoint));
- assert checkInjectionPoint(injectionPoint1, ConstructorInjectionPointConsumer.class);
- assert checkEquality(injectionPoint, injectionPoint1);
- }
-
- @Test
- public void testMethodInjectionPoint() throws Throwable
- {
- Dog.reset();
- getReference(MethodInjectionPointConsumer.class).ping();
- InjectionPoint injectionPoint = Dog.getInjectionPoint();
- InjectionPoint injectionPoint1 = Utils.deserialize(Utils.serialize(injectionPoint));
- assert checkInjectionPoint(injectionPoint1, MethodInjectionPointConsumer.class);
- assert checkEquality(injectionPoint, injectionPoint1);
- }
-
- @Test
- public void testAllOnBean() throws Throwable
- {
- Consumer consumer = getReference(Consumer.class);
- consumer.check();
- Consumer consumer1 = Utils.deserialize(Utils.serialize(consumer));
- consumer1.check();
- }
-
-}
Deleted: core/trunk/tests/src/test/java/org/jboss/weld/tests/builtinBeans/Checker.java
===================================================================
--- core/trunk/tests/src/test/java/org/jboss/weld/tests/builtinBeans/Checker.java 2010-07-28 11:35:11 UTC (rev 6821)
+++ core/trunk/tests/src/test/java/org/jboss/weld/tests/builtinBeans/Checker.java 2010-07-28 11:45:17 UTC (rev 6822)
@@ -1,138 +0,0 @@
-/*
- * JBoss, Home of Professional Open Source
- * Copyright 2010, Red Hat, Inc., and individual contributors
- * by the @authors tag. See the copyright.txt in the distribution for a
- * full listing of individual contributors.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * http://www.apache.org/licenses/LICENSE-2.0
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.jboss.weld.tests.builtinBeans;
-
-import java.security.Principal;
-
-import javax.enterprise.context.ApplicationScoped;
-import javax.enterprise.event.Event;
-import javax.enterprise.inject.Instance;
-import javax.enterprise.inject.spi.BeanManager;
-import javax.enterprise.inject.spi.InjectionPoint;
-import javax.transaction.SystemException;
-import javax.transaction.UserTransaction;
-import javax.validation.ValidationException;
-import javax.validation.Validator;
-import javax.validation.ValidatorFactory;
-
-public class Checker
-{
-
- public static boolean checkPrincipal(Principal principal)
- {
- principal.getName();
- return true;
- }
-
- public static boolean checkBeanManager(BeanManager beanManager)
- {
- return beanManager != null && beanManager.isScope(ApplicationScoped.class);
- }
-
- public static boolean checkUserTransaction(UserTransaction userTransaction)
- {
- try
- {
- if (userTransaction != null)
- {
- userTransaction.getStatus();
- return true;
- }
- }
- catch (SystemException e)
- {
- throw new RuntimeException(e);
- }
- return false;
- }
-
- public static boolean checkValidator(Validator validator)
- {
- try
- {
- if (validator != null)
- {
- validator.unwrap(String.class);
- }
- }
- catch (ValidationException e)
- {
- return true;
- }
- return false;
- }
-
- public static boolean checkValidatorFactory(ValidatorFactory validatorFactory)
- {
- try
- {
- if (validatorFactory != null)
- {
- validatorFactory.unwrap(String.class);
- }
- }
- catch (ValidationException e)
- {
- return true;
- }
- return false;
- }
-
- public static boolean checkInstance(Instance<Cow> cow)
- {
- if (cow != null && cow.get() != null)
- {
- return cow.get().getName().equals("Daisy");
- }
- else
- {
- return false;
- }
- }
-
- public static boolean checkEvent(Event<Cow> cowEvent, CowEventObserver observer)
- {
- observer.reset();
- if (cowEvent != null)
- {
- cowEvent.fire(new Cow());
- return observer.isObserved();
- }
- else
- {
- return false;
- }
- }
-
- public static boolean checkInjectionPoint(InjectionPoint injectionPoint, Class<?> injectedClass)
- {
- if (injectionPoint != null)
- {
- return injectedClass.equals(injectionPoint.getBean().getBeanClass());
- }
- else
- {
- return false;
- }
- }
-
- public static boolean checkEquality(Object object1, Object object2)
- {
- return object1.equals(object2) && object1.hashCode() == object2.hashCode();
- }
-
-}
Deleted: core/trunk/tests/src/test/java/org/jboss/weld/tests/builtinBeans/ConstructorInjectionPointConsumer.java
===================================================================
--- core/trunk/tests/src/test/java/org/jboss/weld/tests/builtinBeans/ConstructorInjectionPointConsumer.java 2010-07-28 11:35:11 UTC (rev 6821)
+++ core/trunk/tests/src/test/java/org/jboss/weld/tests/builtinBeans/ConstructorInjectionPointConsumer.java 2010-07-28 11:45:17 UTC (rev 6822)
@@ -1,35 +0,0 @@
-/*
- * JBoss, Home of Professional Open Source
- * Copyright 2010, Red Hat, Inc., and individual contributors
- * by the @authors tag. See the copyright.txt in the distribution for a
- * full listing of individual contributors.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * http://www.apache.org/licenses/LICENSE-2.0
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.jboss.weld.tests.builtinBeans;
-
-import java.io.Serializable;
-
-import javax.enterprise.context.SessionScoped;
-import javax.inject.Inject;
-
-@SessionScoped
-public class ConstructorInjectionPointConsumer implements Serializable
-{
-
- public ConstructorInjectionPointConsumer() {}
-
- @Inject
- public ConstructorInjectionPointConsumer(Dog dog) {}
-
- public void ping() {}
-
-}
Deleted: core/trunk/tests/src/test/java/org/jboss/weld/tests/builtinBeans/Consumer.java
===================================================================
--- core/trunk/tests/src/test/java/org/jboss/weld/tests/builtinBeans/Consumer.java 2010-07-28 11:35:11 UTC (rev 6821)
+++ core/trunk/tests/src/test/java/org/jboss/weld/tests/builtinBeans/Consumer.java 2010-07-28 11:45:17 UTC (rev 6822)
@@ -1,76 +0,0 @@
-/*
- * JBoss, Home of Professional Open Source
- * Copyright 2010, Red Hat, Inc., and individual contributors
- * by the @authors tag. See the copyright.txt in the distribution for a
- * full listing of individual contributors.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * http://www.apache.org/licenses/LICENSE-2.0
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.jboss.weld.tests.builtinBeans;
-
-import java.io.Serializable;
-
-import javax.annotation.PostConstruct;
-import javax.enterprise.context.SessionScoped;
-import javax.enterprise.event.Event;
-import javax.enterprise.inject.Instance;
-import javax.enterprise.inject.spi.BeanManager;
-import javax.inject.Inject;
-import javax.transaction.UserTransaction;
-import javax.validation.Validator;
-import javax.validation.ValidatorFactory;
-
-@SessionScoped
-public class Consumer implements Serializable
-{
-
- @Inject Validator validator;
- @Inject ValidatorFactory validatorFactory;
- // Not working incontainer as there is no principal
- //@Inject Principal principal;
- @Inject UserTransaction userTransaction;
- @Inject BeanManager beanManager;
- @Inject Instance<Cow> cow;
- @Inject Event<Cow> event;
- @Inject CowEventObserver observer;
-
- @PostConstruct
- public void postConstruct()
- {
- cow.get().setName("Daisy");
- }
-
- public Instance<Cow> getCow()
- {
- return cow;
- }
-
- public Event<Cow> getEvent()
- {
- return event;
- }
-
- public void check()
- {
- assert Checker.checkBeanManager(beanManager);
-
- // Not working incontainer as there is no principal
- //assert Checker.checkPrincipal(principal);
- assert Checker.checkUserTransaction(userTransaction);
- assert Checker.checkValidator(validator);
- assert Checker.checkValidatorFactory(validatorFactory);
- assert Checker.checkInstance(cow);
- assert Checker.checkEvent(event, observer);
- }
-
-
-
-}
Deleted: core/trunk/tests/src/test/java/org/jboss/weld/tests/builtinBeans/Cow.java
===================================================================
--- core/trunk/tests/src/test/java/org/jboss/weld/tests/builtinBeans/Cow.java 2010-07-28 11:35:11 UTC (rev 6821)
+++ core/trunk/tests/src/test/java/org/jboss/weld/tests/builtinBeans/Cow.java 2010-07-28 11:45:17 UTC (rev 6822)
@@ -1,37 +0,0 @@
-/*
- * JBoss, Home of Professional Open Source
- * Copyright 2010, Red Hat, Inc., and individual contributors
- * by the @authors tag. See the copyright.txt in the distribution for a
- * full listing of individual contributors.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * http://www.apache.org/licenses/LICENSE-2.0
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.jboss.weld.tests.builtinBeans;
-
-import javax.enterprise.context.RequestScoped;
-
-@RequestScoped
-public class Cow
-{
-
- private String name;
-
- public String getName()
- {
- return name;
- }
-
- public void setName(String name)
- {
- this.name = name;
- }
-
-}
Deleted: core/trunk/tests/src/test/java/org/jboss/weld/tests/builtinBeans/CowEventObserver.java
===================================================================
--- core/trunk/tests/src/test/java/org/jboss/weld/tests/builtinBeans/CowEventObserver.java 2010-07-28 11:35:11 UTC (rev 6821)
+++ core/trunk/tests/src/test/java/org/jboss/weld/tests/builtinBeans/CowEventObserver.java 2010-07-28 11:45:17 UTC (rev 6822)
@@ -1,45 +0,0 @@
-/*
- * JBoss, Home of Professional Open Source
- * Copyright 2010, Red Hat, Inc., and individual contributors
- * by the @authors tag. See the copyright.txt in the distribution for a
- * full listing of individual contributors.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * http://www.apache.org/licenses/LICENSE-2.0
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.jboss.weld.tests.builtinBeans;
-
-import java.io.Serializable;
-
-import javax.enterprise.context.ApplicationScoped;
-import javax.enterprise.event.Observes;
-
-@ApplicationScoped
-public class CowEventObserver implements Serializable
-{
-
- private boolean observed;
-
- public void observeEvent(@Observes Cow cow)
- {
- this.observed = true;
- }
-
- public boolean isObserved()
- {
- return observed;
- }
-
- public void reset()
- {
- this.observed = false;
- }
-
-}
Deleted: core/trunk/tests/src/test/java/org/jboss/weld/tests/builtinBeans/Dog.java
===================================================================
--- core/trunk/tests/src/test/java/org/jboss/weld/tests/builtinBeans/Dog.java 2010-07-28 11:35:11 UTC (rev 6821)
+++ core/trunk/tests/src/test/java/org/jboss/weld/tests/builtinBeans/Dog.java 2010-07-28 11:45:17 UTC (rev 6822)
@@ -1,45 +0,0 @@
-/*
- * JBoss, Home of Professional Open Source
- * Copyright 2010, Red Hat, Inc., and individual contributors
- * by the @authors tag. See the copyright.txt in the distribution for a
- * full listing of individual contributors.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * http://www.apache.org/licenses/LICENSE-2.0
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.jboss.weld.tests.builtinBeans;
-
-import java.io.Serializable;
-
-import javax.enterprise.inject.spi.InjectionPoint;
-import javax.inject.Inject;
-
-public class Dog implements Serializable
-{
-
- private static InjectionPoint injectionPoint;
-
- @Inject
- public Dog(InjectionPoint injectionPoint)
- {
- Dog.injectionPoint = injectionPoint;
- }
-
- public static void reset()
- {
- Dog.injectionPoint = null;
- }
-
- public static InjectionPoint getInjectionPoint()
- {
- return injectionPoint;
- }
-
-}
Deleted: core/trunk/tests/src/test/java/org/jboss/weld/tests/builtinBeans/FieldInjectionPointConsumer.java
===================================================================
--- core/trunk/tests/src/test/java/org/jboss/weld/tests/builtinBeans/FieldInjectionPointConsumer.java 2010-07-28 11:35:11 UTC (rev 6821)
+++ core/trunk/tests/src/test/java/org/jboss/weld/tests/builtinBeans/FieldInjectionPointConsumer.java 2010-07-28 11:45:17 UTC (rev 6822)
@@ -1,32 +0,0 @@
-/*
- * JBoss, Home of Professional Open Source
- * Copyright 2010, Red Hat, Inc., and individual contributors
- * by the @authors tag. See the copyright.txt in the distribution for a
- * full listing of individual contributors.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * http://www.apache.org/licenses/LICENSE-2.0
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.jboss.weld.tests.builtinBeans;
-
-import java.io.Serializable;
-
-import javax.enterprise.context.SessionScoped;
-import javax.inject.Inject;
-
-@SessionScoped
-public class FieldInjectionPointConsumer implements Serializable
-{
-
- @Inject Dog dogField;
-
- public void ping() {}
-
-}
Deleted: core/trunk/tests/src/test/java/org/jboss/weld/tests/builtinBeans/MethodInjectionPointConsumer.java
===================================================================
--- core/trunk/tests/src/test/java/org/jboss/weld/tests/builtinBeans/MethodInjectionPointConsumer.java 2010-07-28 11:35:11 UTC (rev 6821)
+++ core/trunk/tests/src/test/java/org/jboss/weld/tests/builtinBeans/MethodInjectionPointConsumer.java 2010-07-28 11:45:17 UTC (rev 6822)
@@ -1,33 +0,0 @@
-/*
- * JBoss, Home of Professional Open Source
- * Copyright 2010, Red Hat, Inc., and individual contributors
- * by the @authors tag. See the copyright.txt in the distribution for a
- * full listing of individual contributors.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * http://www.apache.org/licenses/LICENSE-2.0
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.jboss.weld.tests.builtinBeans;
-
-import java.io.Serializable;
-
-import javax.enterprise.context.SessionScoped;
-import javax.inject.Inject;
-
-@SessionScoped
-public class MethodInjectionPointConsumer implements Serializable
-{
-
- @Inject
- public void setDog(Dog dog) {}
-
- public void ping() {}
-
-}
Deleted: core/trunk/tests/src/test/java/org/jboss/weld/tests/builtinBeans/Produced.java
===================================================================
--- core/trunk/tests/src/test/java/org/jboss/weld/tests/builtinBeans/Produced.java 2010-07-28 11:35:11 UTC (rev 6821)
+++ core/trunk/tests/src/test/java/org/jboss/weld/tests/builtinBeans/Produced.java 2010-07-28 11:45:17 UTC (rev 6822)
@@ -1,38 +0,0 @@
-/*
- * JBoss, Home of Professional Open Source
- * Copyright 2010, Red Hat, Inc., and individual contributors
- * by the @authors tag. See the copyright.txt in the distribution for a
- * full listing of individual contributors.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * http://www.apache.org/licenses/LICENSE-2.0
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.jboss.weld.tests.builtinBeans;
-
-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.inject.Qualifier;
-
-@Qualifier
-@Retention(RUNTIME)
-@Target( { TYPE, METHOD, FIELD, PARAMETER })
-@Documented
-@interface Produced
-{
-
-}
Deleted: core/trunk/tests/src/test/java/org/jboss/weld/tests/contexts/ApplicationScopedObject.java
===================================================================
--- core/trunk/tests/src/test/java/org/jboss/weld/tests/contexts/ApplicationScopedObject.java 2010-07-28 11:35:11 UTC (rev 6821)
+++ core/trunk/tests/src/test/java/org/jboss/weld/tests/contexts/ApplicationScopedObject.java 2010-07-28 11:45:17 UTC (rev 6822)
@@ -1,36 +0,0 @@
-/*
- * JBoss, Home of Professional Open Source
- * Copyright 2010, Red Hat, Inc., and individual contributors
- * by the @authors tag. See the copyright.txt in the distribution for a
- * full listing of individual contributors.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * http://www.apache.org/licenses/LICENSE-2.0
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.jboss.weld.tests.contexts;
-
-import java.util.concurrent.atomic.AtomicInteger;
-
-import javax.enterprise.context.ApplicationScoped;
-
-@ApplicationScoped
-public class ApplicationScopedObject
-{
- private AtomicInteger counter = new AtomicInteger();
-
- public void increment()
- {
- counter.incrementAndGet();
- }
- public int getValue()
- {
- return counter.get();
- }
-}
Deleted: core/trunk/tests/src/test/java/org/jboss/weld/tests/contexts/ApplicationScopedTest.java
===================================================================
--- core/trunk/tests/src/test/java/org/jboss/weld/tests/contexts/ApplicationScopedTest.java 2010-07-28 11:35:11 UTC (rev 6821)
+++ core/trunk/tests/src/test/java/org/jboss/weld/tests/contexts/ApplicationScopedTest.java 2010-07-28 11:45:17 UTC (rev 6822)
@@ -1,56 +0,0 @@
-/*
- * JBoss, Home of Professional Open Source
- * Copyright 2010, Red Hat, Inc., and individual contributors
- * by the @authors tag. See the copyright.txt in the distribution for a
- * full listing of individual contributors.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * http://www.apache.org/licenses/LICENSE-2.0
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.jboss.weld.tests.contexts;
-
-import java.util.concurrent.CountDownLatch;
-
-import org.jboss.testharness.impl.packaging.Artifact;
-import org.jboss.weld.test.AbstractWeldTest;
-import org.testng.annotations.Test;
-
-@Artifact
-public class ApplicationScopedTest extends AbstractWeldTest
-{
-
- @Test
- public void testConcurrentInitilized() throws InterruptedException
- {
- final CountDownLatch latch = new CountDownLatch(10);
- final ApplicationScopedObject applictionScopedObject = getReference(ApplicationScopedObject.class);
- for (int i = 0; i < 10; i++)
- {
- new Thread(new Runnable()
- {
- public void run()
- {
- try
- {
- applictionScopedObject.increment();
- }
- finally
- {
- latch.countDown();
- }
- }
- }).start();
- }
- latch.await();
- int value = applictionScopedObject.getValue();
- assert value == 10;
- }
-
-}
Deleted: core/trunk/tests/src/test/java/org/jboss/weld/tests/contexts/ContextTest.java
===================================================================
--- core/trunk/tests/src/test/java/org/jboss/weld/tests/contexts/ContextTest.java 2010-07-28 11:35:11 UTC (rev 6821)
+++ core/trunk/tests/src/test/java/org/jboss/weld/tests/contexts/ContextTest.java 2010-07-28 11:45:17 UTC (rev 6822)
@@ -1,147 +0,0 @@
-/*
- * JBoss, Home of Professional Open Source
- * Copyright 2010, Red Hat, Inc., and individual contributors
- * by the @authors tag. See the copyright.txt in the distribution for a
- * full listing of individual contributors.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * http://www.apache.org/licenses/LICENSE-2.0
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.jboss.weld.tests.contexts;
-
-import javax.enterprise.context.ContextNotActiveException;
-import javax.enterprise.context.Conversation;
-
-import org.jboss.testharness.impl.packaging.Artifact;
-import org.jboss.weld.Container;
-import org.jboss.weld.context.ContextLifecycle;
-import org.jboss.weld.test.AbstractWeldTest;
-import org.testng.annotations.Test;
-
-@Artifact
-public class ContextTest extends AbstractWeldTest
-{
-
- @Test(description = "WELD-348")
- public void testCallToConversationWithContextNotActive()
- {
- boolean alreadyActive = false;
- try
- {
- alreadyActive = Container.instance().services().get(ContextLifecycle.class).isConversationActive();
- if (alreadyActive)
- {
- Container.instance().services().get(ContextLifecycle.class).getConversationContext().setActive(false);
- }
- try
- {
- getReference(Conversation.class).getId();
- assert false;
- }
- catch (ContextNotActiveException e)
- {
- // Expected
- }
- catch (Exception e)
- {
- assert false;
- }
- try
- {
- getReference(Conversation.class).getTimeout();
- assert false;
- }
- catch (ContextNotActiveException e)
- {
- // Expected
- }
- catch (Exception e)
- {
- assert false;
- }
- try
- {
- getReference(Conversation.class).begin();
- assert false;
- }
- catch (ContextNotActiveException e)
- {
- // Expected
- }
- catch (Exception e)
- {
- assert false;
- }
- try
- {
- getReference(Conversation.class).begin("foo");
- assert false;
- }
- catch (ContextNotActiveException e)
- {
- // Expected
- }
- catch (Exception e)
- {
- assert false;
- }
- try
- {
- getReference(Conversation.class).end();
- assert false;
- }
- catch (ContextNotActiveException e)
- {
- // Expected
- }
- catch (Exception e)
- {
- assert false;
- }
- try
- {
- getReference(Conversation.class).isTransient();
- assert false;
- }
- catch (ContextNotActiveException e)
- {
- // Expected
- }
- catch (Exception e)
- {
- assert false;
- }
- try
- {
- getReference(Conversation.class).setTimeout(0);
- assert false;
- }
- catch (ContextNotActiveException e)
- {
- // Expected
- }
- catch (Exception e)
- {
- assert false;
- }
- }
- finally
- {
- if (alreadyActive)
- {
- Container.instance().services().get(ContextLifecycle.class).getConversationContext().setActive(true);
- }
- }
-
- }
-
-
-
-}
Deleted: core/trunk/tests/src/test/java/org/jboss/weld/tests/contexts/ParameterizedTypeScoped.java
===================================================================
--- core/trunk/tests/src/test/java/org/jboss/weld/tests/contexts/ParameterizedTypeScoped.java 2010-07-28 11:35:11 UTC (rev 6821)
+++ core/trunk/tests/src/test/java/org/jboss/weld/tests/contexts/ParameterizedTypeScoped.java 2010-07-28 11:45:17 UTC (rev 6822)
@@ -1,34 +0,0 @@
-/*
- * JBoss, Home of Professional Open Source
- * Copyright 2010, Red Hat, Inc., and individual contributors
- * by the @authors tag. See the copyright.txt in the distribution for a
- * full listing of individual contributors.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * http://www.apache.org/licenses/LICENSE-2.0
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.jboss.weld.tests.contexts;
-
-import java.util.Arrays;
-import java.util.List;
-
-import javax.enterprise.context.RequestScoped;
-import javax.enterprise.inject.Produces;
-
-public class ParameterizedTypeScoped
-{
-
- @RequestScoped
- @Produces
- public List<String> create()
- {
- return Arrays.asList("iemon", "houjitya");
- }
-}
Deleted: core/trunk/tests/src/test/java/org/jboss/weld/tests/contexts/ParameterizedTypeScopedTest.java
===================================================================
--- core/trunk/tests/src/test/java/org/jboss/weld/tests/contexts/ParameterizedTypeScopedTest.java 2010-07-28 11:35:11 UTC (rev 6821)
+++ core/trunk/tests/src/test/java/org/jboss/weld/tests/contexts/ParameterizedTypeScopedTest.java 2010-07-28 11:45:17 UTC (rev 6822)
@@ -1,35 +0,0 @@
-/*
- * JBoss, Home of Professional Open Source
- * Copyright 2010, Red Hat, Inc., and individual contributors
- * by the @authors tag. See the copyright.txt in the distribution for a
- * full listing of individual contributors.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * http://www.apache.org/licenses/LICENSE-2.0
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.jboss.weld.tests.contexts;
-
-import java.util.List;
-
-import org.jboss.testharness.impl.packaging.Artifact;
-import org.jboss.weld.test.AbstractWeldTest;
-import org.testng.annotations.Test;
-
-@Artifact
-public class ParameterizedTypeScopedTest extends AbstractWeldTest
-{
-
- @Test
- public void testStringList()
- {
- List<String> str = getReference(StringHolder.class).getStrings();
- assert str.size() == 2;
- }
-}
Deleted: core/trunk/tests/src/test/java/org/jboss/weld/tests/contexts/PassivatingContextTest.java
===================================================================
--- core/trunk/tests/src/test/java/org/jboss/weld/tests/contexts/PassivatingContextTest.java 2010-07-28 11:35:11 UTC (rev 6821)
+++ core/trunk/tests/src/test/java/org/jboss/weld/tests/contexts/PassivatingContextTest.java 2010-07-28 11:45:17 UTC (rev 6822)
@@ -1,72 +0,0 @@
-/*
- * JBoss, Home of Professional Open Source
- * Copyright 2010, Red Hat, Inc., and individual contributors
- * by the @authors tag. See the copyright.txt in the distribution for a
- * full listing of individual contributors.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * http://www.apache.org/licenses/LICENSE-2.0
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.jboss.weld.tests.contexts;
-
-import javax.enterprise.context.ApplicationScoped;
-import javax.enterprise.context.ConversationScoped;
-import javax.enterprise.context.RequestScoped;
-import javax.enterprise.context.SessionScoped;
-
-import org.jboss.testharness.impl.packaging.Artifact;
-import org.jboss.weld.metadata.cache.MetaAnnotationStore;
-import org.testng.annotations.Test;
-
-@Artifact
-public class PassivatingContextTest extends org.jboss.weld.test.AbstractWeldTest
-{
-
- /**
- * The built-in session and conversation scopes are passivating. No other
- * built-in scope is passivating.
- */
- @Test(groups = { "contexts", "passivation" })
- public void testIsSessionScopePassivating()
- {
- assert getCurrentManager().getServices().get(MetaAnnotationStore.class).getScopeModel(SessionScoped.class).isPassivating();
- }
-
- /**
- * The built-in session and conversation scopes are passivating. No other
- * built-in scope is passivating.
- */
- @Test(groups = { "contexts", "passivation" })
- public void testIsConversationScopePassivating()
- {
- assert getCurrentManager().getServices().get(MetaAnnotationStore.class).getScopeModel(ConversationScoped.class).isPassivating();
- }
-
- /**
- * The built-in session and conversation scopes are passivating. No other
- * built-in scope is passivating.
- */
- @Test(groups = { "contexts", "passivation" })
- public void testIsApplicationScopeNonPassivating()
- {
- assert !getCurrentManager().getServices().get(MetaAnnotationStore.class).getScopeModel(ApplicationScoped.class).isPassivating();
- }
-
- /**
- * The built-in session and conversation scopes are passivating. No other
- * built-in scope is passivating.
- */
- @Test(groups = { "contexts", "passivation" })
- public void testIsRequestScopeNonPassivating()
- {
- assert !getCurrentManager().getServices().get(MetaAnnotationStore.class).getScopeModel(RequestScoped.class).isPassivating();
- }
-
-}
Deleted: core/trunk/tests/src/test/java/org/jboss/weld/tests/contexts/StringHolder.java
===================================================================
--- core/trunk/tests/src/test/java/org/jboss/weld/tests/contexts/StringHolder.java 2010-07-28 11:35:11 UTC (rev 6821)
+++ core/trunk/tests/src/test/java/org/jboss/weld/tests/contexts/StringHolder.java 2010-07-28 11:45:17 UTC (rev 6822)
@@ -1,35 +0,0 @@
-/*
- * JBoss, Home of Professional Open Source
- * Copyright 2010, Red Hat, Inc., and individual contributors
- * by the @authors tag. See the copyright.txt in the distribution for a
- * full listing of individual contributors.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * http://www.apache.org/licenses/LICENSE-2.0
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.jboss.weld.tests.contexts;
-
-import java.util.List;
-
-import javax.inject.Inject;
-
-
-public class StringHolder
-{
-
- @Inject
- private List<String> strings;
-
- public List<String> getStrings()
- {
- return strings;
- }
-
-}
Deleted: core/trunk/tests/src/test/java/org/jboss/weld/tests/decorators/SimpleBean.java
===================================================================
--- core/trunk/tests/src/test/java/org/jboss/weld/tests/decorators/SimpleBean.java 2010-07-28 11:35:11 UTC (rev 6821)
+++ core/trunk/tests/src/test/java/org/jboss/weld/tests/decorators/SimpleBean.java 2010-07-28 11:45:17 UTC (rev 6822)
@@ -1,35 +0,0 @@
-/*
- * JBoss, Home of Professional Open Source
- * Copyright 2010, Red Hat, Inc., and individual contributors
- * by the @authors tag. See the copyright.txt in the distribution for a
- * full listing of individual contributors.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * http://www.apache.org/licenses/LICENSE-2.0
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.jboss.weld.tests.decorators;
-
-/**
- *
- * @author <a href="kabir.khan(a)jboss.com">Kabir Khan</a>
- * @version $Revision: 1.1 $
- */
-public interface SimpleBean
-{
- int echo1(int i);
-
- int echo2(int i);
-
- int echo3(int i);
-
- int echo4(int i);
-
- boolean isInvoked();
-}
Deleted: core/trunk/tests/src/test/java/org/jboss/weld/tests/decorators/SimpleBeanImpl.java
===================================================================
--- core/trunk/tests/src/test/java/org/jboss/weld/tests/decorators/SimpleBeanImpl.java 2010-07-28 11:35:11 UTC (rev 6821)
+++ core/trunk/tests/src/test/java/org/jboss/weld/tests/decorators/SimpleBeanImpl.java 2010-07-28 11:45:17 UTC (rev 6822)
@@ -1,57 +0,0 @@
-/*
- * JBoss, Home of Professional Open Source
- * Copyright 2010, Red Hat, Inc., and individual contributors
- * by the @authors tag. See the copyright.txt in the distribution for a
- * full listing of individual contributors.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * http://www.apache.org/licenses/LICENSE-2.0
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.jboss.weld.tests.decorators;
-
-/**
- *
- * @author <a href="kabir.khan(a)jboss.com">Kabir Khan</a>
- * @version $Revision: 1.1 $
- */
-public class SimpleBeanImpl implements SimpleBean
-{
-
- private boolean invoked = false;
-
- public int echo1(int i)
- {
- invoked = true;
- return i;
- }
-
- public int echo2(int i)
- {
- invoked = true;
- return i;
- }
-
- public int echo3(int i)
- {
- invoked = true;
- return i;
- }
-
- public int echo4(int i)
- {
- invoked = true;
- return i;
- }
-
- public boolean isInvoked()
- {
- return invoked;
- }
-}
Deleted: core/trunk/tests/src/test/java/org/jboss/weld/tests/decorators/SimpleDecorator1.java
===================================================================
--- core/trunk/tests/src/test/java/org/jboss/weld/tests/decorators/SimpleDecorator1.java 2010-07-28 11:35:11 UTC (rev 6821)
+++ core/trunk/tests/src/test/java/org/jboss/weld/tests/decorators/SimpleDecorator1.java 2010-07-28 11:45:17 UTC (rev 6822)
@@ -1,54 +0,0 @@
-/*
- * JBoss, Home of Professional Open Source
- * Copyright 2010, Red Hat, Inc., and individual contributors
- * by the @authors tag. See the copyright.txt in the distribution for a
- * full listing of individual contributors.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * http://www.apache.org/licenses/LICENSE-2.0
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.jboss.weld.tests.decorators;
-
-import javax.decorator.Decorator;
-import javax.decorator.Delegate;
-import javax.inject.Inject;
-
-/**
- *
- * @author <a href="kabir.khan(a)jboss.com">Kabir Khan</a>
- * @version $Revision: 1.1 $
- */
-@Decorator
-public abstract class SimpleDecorator1 implements SimpleBean
-{
- @Inject @Delegate
- SimpleBean delegate;
-
- public static boolean echo1;
- public static boolean echo3;
-
- public static void reset()
- {
- echo1 = false;
- echo3 = false;
- }
-
- public int echo1(int i)
- {
- echo1 = true;
- return delegate.echo1(i);
- }
-
- public int echo3(int i)
- {
- echo3 = true;
- return delegate.echo3(i);
- }
-}
Deleted: core/trunk/tests/src/test/java/org/jboss/weld/tests/decorators/SimpleDecorator2.java
===================================================================
--- core/trunk/tests/src/test/java/org/jboss/weld/tests/decorators/SimpleDecorator2.java 2010-07-28 11:35:11 UTC (rev 6821)
+++ core/trunk/tests/src/test/java/org/jboss/weld/tests/decorators/SimpleDecorator2.java 2010-07-28 11:45:17 UTC (rev 6822)
@@ -1,54 +0,0 @@
-/*
- * JBoss, Home of Professional Open Source
- * Copyright 2010, Red Hat, Inc., and individual contributors
- * by the @authors tag. See the copyright.txt in the distribution for a
- * full listing of individual contributors.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * http://www.apache.org/licenses/LICENSE-2.0
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.jboss.weld.tests.decorators;
-
-import javax.decorator.Decorator;
-import javax.decorator.Delegate;
-import javax.inject.Inject;
-
-/**
- *
- * @author <a href="kabir.khan(a)jboss.com">Kabir Khan</a>
- * @version $Revision: 1.1 $
- */
-@Decorator
-public abstract class SimpleDecorator2 implements SimpleBean
-{
- @Inject @Delegate
- SimpleBean delegate;
-
- public static boolean echo2;
- public static boolean echo3;
-
- public static void reset()
- {
- echo2 = false;
- echo3 = false;
- }
-
- public int echo2(int i)
- {
- echo2 = true;
- return delegate.echo2(i);
- }
-
- public int echo3(int i)
- {
- echo3 = true;
- return delegate.echo3(i);
- }
-}
Deleted: core/trunk/tests/src/test/java/org/jboss/weld/tests/decorators/SimpleDecoratorTest.java
===================================================================
--- core/trunk/tests/src/test/java/org/jboss/weld/tests/decorators/SimpleDecoratorTest.java 2010-07-28 11:35:11 UTC (rev 6821)
+++ core/trunk/tests/src/test/java/org/jboss/weld/tests/decorators/SimpleDecoratorTest.java 2010-07-28 11:45:17 UTC (rev 6822)
@@ -1,76 +0,0 @@
-/*
- * JBoss, Home of Professional Open Source
- * Copyright 2010, Red Hat, Inc., and individual contributors
- * by the @authors tag. See the copyright.txt in the distribution for a
- * full listing of individual contributors.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * http://www.apache.org/licenses/LICENSE-2.0
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.jboss.weld.tests.decorators;
-
-import org.jboss.testharness.impl.packaging.Artifact;
-import org.jboss.testharness.impl.packaging.jsr299.BeansXml;
-import org.jboss.weld.test.AbstractWeldTest;
-import org.testng.annotations.Test;
-
-/**
- *
- * @author <a href="kabir.khan(a)jboss.com">Kabir Khan</a>
- * @version $Revision: 1.1 $
- */
-@Artifact
-@BeansXml("beans.xml")
-public class SimpleDecoratorTest extends AbstractWeldTest
-{
- @Test
- public void testSimpleDecorator()
- {
- SimpleBean simpleBean = getReference(SimpleBean.class);
-
- resetDecorators();
- assert simpleBean.echo1(1) == 1;
- assertDecorators(true, false, false);
- assert simpleBean.isInvoked();
-
- resetDecorators();
- assert simpleBean.echo2(2) == 2;
- assertDecorators(false, true, false);
- assert simpleBean.isInvoked();
-
- //Only SimpleDecorator1 gets invoked, although I think SimpleDecorator2 should get invoked too
- resetDecorators();
- assert simpleBean.echo3(3) == 3;
- assertDecorators(false, false, true);
-
- assert simpleBean.isInvoked();
-
- resetDecorators();
- assert simpleBean.echo4(4) == 4;
- assertDecorators(false, false, false);
-
- assert simpleBean.isInvoked();
- }
-
- private void resetDecorators()
- {
- SimpleDecorator1.reset();
- SimpleDecorator2.reset();
- }
-
- private void assertDecorators(boolean echo1, boolean echo2, boolean echo3)
- {
- assert SimpleDecorator1.echo1 == echo1;
- assert SimpleDecorator1.echo3 == echo3;
- assert SimpleDecorator2.echo2 == echo2;
- assert SimpleDecorator2.echo3 == echo3;
- }
-}
-
Deleted: core/trunk/tests/src/test/java/org/jboss/weld/tests/decorators/abstractDecorator/AbstractDecoratorTestHelper.java
===================================================================
--- core/trunk/tests/src/test/java/org/jboss/weld/tests/decorators/abstractDecorator/AbstractDecoratorTestHelper.java 2010-07-28 11:35:11 UTC (rev 6821)
+++ core/trunk/tests/src/test/java/org/jboss/weld/tests/decorators/abstractDecorator/AbstractDecoratorTestHelper.java 2010-07-28 11:45:17 UTC (rev 6822)
@@ -1,37 +0,0 @@
-/*
- * JBoss, Home of Professional Open Source
- * Copyright 2010, Red Hat, Inc., and individual contributors
- * by the @authors tag. See the copyright.txt in the distribution for a
- * full listing of individual contributors.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * http://www.apache.org/licenses/LICENSE-2.0
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package org.jboss.weld.tests.decorators.abstractDecorator;
-
-/**
- * @author <a href="mailto:mariusb@redhat.com">Marius Bogoevici</a>
- */
-public class AbstractDecoratorTestHelper
-{
- static void resetAll()
- {
- WindowImpl.drawn = false;
- WindowImpl.moved = false;
- FrameWithFieldInjectedDelegate.drawn = false;
- FrameWithFieldInjectedDelegateAndAbstractMethod.moved = false;
- FrameWithFieldInjectedDelegateAndSelfInvokedAbstractMethod.moved = false;
- FrameWithConstructorInjectedDelegate.drawn = false;
- FrameWithConstructorInjectedDelegateAndAbstractMethod.moved = false;
- FrameWithInitializerMethodInjectedDelegate.drawn = false;
- FrameWithInitializerMethodInjectedDelegateAndAbstractMethod.moved = false;
- }
-}
Deleted: core/trunk/tests/src/test/java/org/jboss/weld/tests/decorators/abstractDecorator/FrameWithConstructorInjectedDelegate.java
===================================================================
--- core/trunk/tests/src/test/java/org/jboss/weld/tests/decorators/abstractDecorator/FrameWithConstructorInjectedDelegate.java 2010-07-28 11:35:11 UTC (rev 6821)
+++ core/trunk/tests/src/test/java/org/jboss/weld/tests/decorators/abstractDecorator/FrameWithConstructorInjectedDelegate.java 2010-07-28 11:45:17 UTC (rev 6822)
@@ -1,47 +0,0 @@
-/*
- * JBoss, Home of Professional Open Source
- * Copyright 2010, Red Hat, Inc., and individual contributors
- * by the @authors tag. See the copyright.txt in the distribution for a
- * full listing of individual contributors.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * http://www.apache.org/licenses/LICENSE-2.0
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package org.jboss.weld.tests.decorators.abstractDecorator;
-
-import javax.decorator.Decorator;
-import javax.decorator.Delegate;
-import javax.inject.Inject;
-
-/**
- * @author <a href="mailto:mariusb@redhat.com">Marius Bogoevici</a>
- */
-@Decorator
-public abstract class FrameWithConstructorInjectedDelegate implements Window
-{
-
- static boolean drawn;
-
- Window window;
-
- @Inject
- FrameWithConstructorInjectedDelegate(@Delegate Window window)
- {
- this.window = window;
- }
-
- public void draw()
- {
- drawn = true;
- window.draw();
- }
-
-}
\ No newline at end of file
Deleted: core/trunk/tests/src/test/java/org/jboss/weld/tests/decorators/abstractDecorator/FrameWithConstructorInjectedDelegateAndAbstractMethod.java
===================================================================
--- core/trunk/tests/src/test/java/org/jboss/weld/tests/decorators/abstractDecorator/FrameWithConstructorInjectedDelegateAndAbstractMethod.java 2010-07-28 11:35:11 UTC (rev 6821)
+++ core/trunk/tests/src/test/java/org/jboss/weld/tests/decorators/abstractDecorator/FrameWithConstructorInjectedDelegateAndAbstractMethod.java 2010-07-28 11:45:17 UTC (rev 6822)
@@ -1,49 +0,0 @@
-/*
- * JBoss, Home of Professional Open Source
- * Copyright 2010, Red Hat, Inc., and individual contributors
- * by the @authors tag. See the copyright.txt in the distribution for a
- * full listing of individual contributors.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * http://www.apache.org/licenses/LICENSE-2.0
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package org.jboss.weld.tests.decorators.abstractDecorator;
-
-import javax.decorator.Decorator;
-import javax.decorator.Delegate;
-import javax.inject.Inject;
-
-/**
- * @author <a href="mailto:mariusb@redhat.com">Marius Bogoevici</a>
- */
-@Decorator
-public abstract class FrameWithConstructorInjectedDelegateAndAbstractMethod implements Window
-{
-
- Window window;
-
- static boolean moved = false;
-
- @Inject
- FrameWithConstructorInjectedDelegateAndAbstractMethod(@Delegate Window window)
- {
- this.window = window;
- }
-
- public abstract void draw();
-
- public void move()
- {
- moved = true;
- draw();
- }
-
-}
\ No newline at end of file
Deleted: core/trunk/tests/src/test/java/org/jboss/weld/tests/decorators/abstractDecorator/FrameWithFieldInjectedDelegate.java
===================================================================
--- core/trunk/tests/src/test/java/org/jboss/weld/tests/decorators/abstractDecorator/FrameWithFieldInjectedDelegate.java 2010-07-28 11:35:11 UTC (rev 6821)
+++ core/trunk/tests/src/test/java/org/jboss/weld/tests/decorators/abstractDecorator/FrameWithFieldInjectedDelegate.java 2010-07-28 11:45:17 UTC (rev 6822)
@@ -1,42 +0,0 @@
-/*
- * JBoss, Home of Professional Open Source
- * Copyright 2010, Red Hat, Inc., and individual contributors
- * by the @authors tag. See the copyright.txt in the distribution for a
- * full listing of individual contributors.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * http://www.apache.org/licenses/LICENSE-2.0
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package org.jboss.weld.tests.decorators.abstractDecorator;
-
-import javax.decorator.Decorator;
-import javax.decorator.Delegate;
-import javax.inject.Inject;
-
-/**
- * @author <a href="mailto:mariusb@redhat.com">Marius Bogoevici</a>
- */
-@Decorator
-public abstract class FrameWithFieldInjectedDelegate implements Window
-{
-
- static boolean drawn;
-
- @Inject @Delegate
- Window window;
-
- public void draw()
- {
- drawn = true;
- window.draw();
- }
-
-}
Deleted: core/trunk/tests/src/test/java/org/jboss/weld/tests/decorators/abstractDecorator/FrameWithFieldInjectedDelegateAndAbstractMethod.java
===================================================================
--- core/trunk/tests/src/test/java/org/jboss/weld/tests/decorators/abstractDecorator/FrameWithFieldInjectedDelegateAndAbstractMethod.java 2010-07-28 11:35:11 UTC (rev 6821)
+++ core/trunk/tests/src/test/java/org/jboss/weld/tests/decorators/abstractDecorator/FrameWithFieldInjectedDelegateAndAbstractMethod.java 2010-07-28 11:45:17 UTC (rev 6822)
@@ -1,43 +0,0 @@
-/*
- * JBoss, Home of Professional Open Source
- * Copyright 2010, Red Hat, Inc., and individual contributors
- * by the @authors tag. See the copyright.txt in the distribution for a
- * full listing of individual contributors.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * http://www.apache.org/licenses/LICENSE-2.0
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package org.jboss.weld.tests.decorators.abstractDecorator;
-
-import javax.decorator.Decorator;
-import javax.decorator.Delegate;
-import javax.inject.Inject;
-
-/**
- * @author <a href="mailto:mariusb@redhat.com">Marius Bogoevici</a>
- */
-@Decorator
-public abstract class FrameWithFieldInjectedDelegateAndAbstractMethod implements Window
-{
-
- static boolean moved;
-
- @Inject @Delegate
- Window window;
-
- public abstract void draw();
-
- public void move()
- {
- moved = true;
- window.move();
- }
-}
\ No newline at end of file
Deleted: core/trunk/tests/src/test/java/org/jboss/weld/tests/decorators/abstractDecorator/FrameWithFieldInjectedDelegateAndSelfInvokedAbstractMethod.java
===================================================================
--- core/trunk/tests/src/test/java/org/jboss/weld/tests/decorators/abstractDecorator/FrameWithFieldInjectedDelegateAndSelfInvokedAbstractMethod.java 2010-07-28 11:35:11 UTC (rev 6821)
+++ core/trunk/tests/src/test/java/org/jboss/weld/tests/decorators/abstractDecorator/FrameWithFieldInjectedDelegateAndSelfInvokedAbstractMethod.java 2010-07-28 11:45:17 UTC (rev 6822)
@@ -1,43 +0,0 @@
-/*
- * JBoss, Home of Professional Open Source
- * Copyright 2010, Red Hat, Inc., and individual contributors
- * by the @authors tag. See the copyright.txt in the distribution for a
- * full listing of individual contributors.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * http://www.apache.org/licenses/LICENSE-2.0
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package org.jboss.weld.tests.decorators.abstractDecorator;
-
-import javax.decorator.Decorator;
-import javax.decorator.Delegate;
-import javax.inject.Inject;
-
-/**
- * @author <a href="mailto:mariusb@redhat.com">Marius Bogoevici</a>
- */
-@Decorator
-public abstract class FrameWithFieldInjectedDelegateAndSelfInvokedAbstractMethod implements Window
-{
-
- static boolean moved;
-
- @Inject @Delegate
- Window window;
-
- public abstract void draw();
-
- public void move()
- {
- moved = true;
- draw();
- }
-}
\ No newline at end of file
Deleted: core/trunk/tests/src/test/java/org/jboss/weld/tests/decorators/abstractDecorator/FrameWithInitializerMethodInjectedDelegate.java
===================================================================
--- core/trunk/tests/src/test/java/org/jboss/weld/tests/decorators/abstractDecorator/FrameWithInitializerMethodInjectedDelegate.java 2010-07-28 11:35:11 UTC (rev 6821)
+++ core/trunk/tests/src/test/java/org/jboss/weld/tests/decorators/abstractDecorator/FrameWithInitializerMethodInjectedDelegate.java 2010-07-28 11:45:17 UTC (rev 6822)
@@ -1,45 +0,0 @@
-/*
- * JBoss, Home of Professional Open Source
- * Copyright 2010, Red Hat, Inc., and individual contributors
- * by the @authors tag. See the copyright.txt in the distribution for a
- * full listing of individual contributors.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * http://www.apache.org/licenses/LICENSE-2.0
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package org.jboss.weld.tests.decorators.abstractDecorator;
-
-import javax.decorator.Decorator;
-import javax.decorator.Delegate;
-import javax.inject.Inject;
-
-/**
- * @author <a href="mailto:mariusb@redhat.com">Marius Bogoevici</a>
- */
-@Decorator
-public abstract class FrameWithInitializerMethodInjectedDelegate implements Window
-{
-
- static boolean drawn;
-
- private Window window;
-
- @Inject
- void initWindow(@Delegate Window window){
- this.window = window;
- }
-
- public void draw() {
- drawn = true;
- window.draw();
- }
-
-}
\ No newline at end of file
Deleted: core/trunk/tests/src/test/java/org/jboss/weld/tests/decorators/abstractDecorator/FrameWithInitializerMethodInjectedDelegateAndAbstractMethod.java
===================================================================
--- core/trunk/tests/src/test/java/org/jboss/weld/tests/decorators/abstractDecorator/FrameWithInitializerMethodInjectedDelegateAndAbstractMethod.java 2010-07-28 11:35:11 UTC (rev 6821)
+++ core/trunk/tests/src/test/java/org/jboss/weld/tests/decorators/abstractDecorator/FrameWithInitializerMethodInjectedDelegateAndAbstractMethod.java 2010-07-28 11:45:17 UTC (rev 6822)
@@ -1,48 +0,0 @@
-/*
- * JBoss, Home of Professional Open Source
- * Copyright 2010, Red Hat, Inc., and individual contributors
- * by the @authors tag. See the copyright.txt in the distribution for a
- * full listing of individual contributors.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * http://www.apache.org/licenses/LICENSE-2.0
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package org.jboss.weld.tests.decorators.abstractDecorator;
-
-import javax.decorator.Decorator;
-import javax.decorator.Delegate;
-import javax.inject.Inject;
-
-/**
- * @author <a href="mailto:mariusb@redhat.com">Marius Bogoevici</a>
- */
-@Decorator
-public abstract class FrameWithInitializerMethodInjectedDelegateAndAbstractMethod implements Window
-{
-
- static boolean moved;
-
- private Window window;
-
- @Inject
- void initWindow(@Delegate Window window)
- {
- this.window = window;
- }
-
- public abstract void draw();
-
- public void move()
- {
- moved = true;
- window.move();
- }
-}
\ No newline at end of file
Deleted: core/trunk/tests/src/test/java/org/jboss/weld/tests/decorators/abstractDecorator/SimpleAbstractDecoratorTest.java
===================================================================
--- core/trunk/tests/src/test/java/org/jboss/weld/tests/decorators/abstractDecorator/SimpleAbstractDecoratorTest.java 2010-07-28 11:35:11 UTC (rev 6821)
+++ core/trunk/tests/src/test/java/org/jboss/weld/tests/decorators/abstractDecorator/SimpleAbstractDecoratorTest.java 2010-07-28 11:45:17 UTC (rev 6822)
@@ -1,46 +0,0 @@
-/*
- * JBoss, Home of Professional Open Source
- * Copyright 2010, Red Hat, Inc., and individual contributors
- * by the @authors tag. See the copyright.txt in the distribution for a
- * full listing of individual contributors.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * http://www.apache.org/licenses/LICENSE-2.0
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package org.jboss.weld.tests.decorators.abstractDecorator;
-
-import static org.jboss.weld.tests.decorators.abstractDecorator.AbstractDecoratorTestHelper.resetAll;
-
-import org.jboss.testharness.impl.packaging.Artifact;
-import org.jboss.testharness.impl.packaging.jsr299.BeansXml;
-import org.jboss.weld.test.AbstractWeldTest;
-import org.testng.annotations.Test;
-
-/**
- * @author <a href="mailto:mariusb@redhat.com">Marius Bogoevici</a>
- */
-@Artifact
-@BeansXml("beans-simple.xml")
-public class SimpleAbstractDecoratorTest extends AbstractWeldTest
-{
- @Test
- public void testAbstractDecoratorApplied()
- {
-
- resetAll();
-
- Window window = getReference(WindowImpl.class);
- window.draw();
- assert WindowImpl.drawn;
- assert FrameWithFieldInjectedDelegate.drawn;
- }
-
-}
Deleted: core/trunk/tests/src/test/java/org/jboss/weld/tests/decorators/abstractDecorator/SimpleAbstractDecoratorWithAbstractMethodAndInitializerMethodTest.java
===================================================================
--- core/trunk/tests/src/test/java/org/jboss/weld/tests/decorators/abstractDecorator/SimpleAbstractDecoratorWithAbstractMethodAndInitializerMethodTest.java 2010-07-28 11:35:11 UTC (rev 6821)
+++ core/trunk/tests/src/test/java/org/jboss/weld/tests/decorators/abstractDecorator/SimpleAbstractDecoratorWithAbstractMethodAndInitializerMethodTest.java 2010-07-28 11:45:17 UTC (rev 6822)
@@ -1,54 +0,0 @@
-/*
- * JBoss, Home of Professional Open Source
- * Copyright 2010, Red Hat, Inc., and individual contributors
- * by the @authors tag. See the copyright.txt in the distribution for a
- * full listing of individual contributors.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * http://www.apache.org/licenses/LICENSE-2.0
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package org.jboss.weld.tests.decorators.abstractDecorator;
-
-import static org.jboss.weld.tests.decorators.abstractDecorator.AbstractDecoratorTestHelper.resetAll;
-
-import org.jboss.testharness.impl.packaging.Artifact;
-import org.jboss.testharness.impl.packaging.jsr299.BeansXml;
-import org.jboss.weld.test.AbstractWeldTest;
-import org.testng.annotations.Test;
-
-/**
- * @author <a href="mailto:mariusb@redhat.com">Marius Bogoevici</a>
- */
-@Artifact
-@BeansXml("beans-withAbstractMethodAndInitializerMethod.xml")
-public class SimpleAbstractDecoratorWithAbstractMethodAndInitializerMethodTest extends AbstractWeldTest
-{
- @Test
- public void testAbstractDecoratorApplied()
- {
-
- Window window = getReference(WindowImpl.class);
-
- resetAll();
- window.draw();
- assert WindowImpl.drawn;
- assert FrameWithFieldInjectedDelegate.drawn;
- assert !FrameWithInitializerMethodInjectedDelegateAndAbstractMethod.moved;
-
- resetAll();
- window.move();
- assert WindowImpl.moved;
- assert !FrameWithFieldInjectedDelegate.drawn;
- assert FrameWithInitializerMethodInjectedDelegateAndAbstractMethod.moved;
-
- }
-
-}
\ No newline at end of file
Deleted: core/trunk/tests/src/test/java/org/jboss/weld/tests/decorators/abstractDecorator/SimpleAbstractDecoratorWithAbstractMethodTest.java
===================================================================
--- core/trunk/tests/src/test/java/org/jboss/weld/tests/decorators/abstractDecorator/SimpleAbstractDecoratorWithAbstractMethodTest.java 2010-07-28 11:35:11 UTC (rev 6821)
+++ core/trunk/tests/src/test/java/org/jboss/weld/tests/decorators/abstractDecorator/SimpleAbstractDecoratorWithAbstractMethodTest.java 2010-07-28 11:45:17 UTC (rev 6822)
@@ -1,54 +0,0 @@
-/*
- * JBoss, Home of Professional Open Source
- * Copyright 2010, Red Hat, Inc., and individual contributors
- * by the @authors tag. See the copyright.txt in the distribution for a
- * full listing of individual contributors.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * http://www.apache.org/licenses/LICENSE-2.0
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package org.jboss.weld.tests.decorators.abstractDecorator;
-
-import static org.jboss.weld.tests.decorators.abstractDecorator.AbstractDecoratorTestHelper.resetAll;
-
-import org.jboss.testharness.impl.packaging.Artifact;
-import org.jboss.testharness.impl.packaging.jsr299.BeansXml;
-import org.jboss.weld.test.AbstractWeldTest;
-import org.testng.annotations.Test;
-
-/**
- * @author <a href="mailto:mariusb@redhat.com">Marius Bogoevici</a>
- */
-@Artifact
-@BeansXml("beans-withAbstractMethod.xml")
-public class SimpleAbstractDecoratorWithAbstractMethodTest extends AbstractWeldTest
-{
- @Test
- public void testAbstractDecoratorApplied()
- {
-
- Window window = getReference(WindowImpl.class);
-
- resetAll();
- window.draw();
- assert WindowImpl.drawn;
- assert FrameWithFieldInjectedDelegate.drawn;
- assert !FrameWithFieldInjectedDelegateAndAbstractMethod.moved;
-
- resetAll();
- window.move();
- assert WindowImpl.moved;
- assert !FrameWithFieldInjectedDelegate.drawn;
- assert FrameWithFieldInjectedDelegateAndAbstractMethod.moved;
-
- }
-
-}
\ No newline at end of file
Deleted: core/trunk/tests/src/test/java/org/jboss/weld/tests/decorators/abstractDecorator/SimpleAbstractDecoratorWithCallToItselfTest.java
===================================================================
--- core/trunk/tests/src/test/java/org/jboss/weld/tests/decorators/abstractDecorator/SimpleAbstractDecoratorWithCallToItselfTest.java 2010-07-28 11:35:11 UTC (rev 6821)
+++ core/trunk/tests/src/test/java/org/jboss/weld/tests/decorators/abstractDecorator/SimpleAbstractDecoratorWithCallToItselfTest.java 2010-07-28 11:45:17 UTC (rev 6822)
@@ -1,48 +0,0 @@
-/*
- * JBoss, Home of Professional Open Source
- * Copyright 2010, Red Hat, Inc., and individual contributors
- * by the @authors tag. See the copyright.txt in the distribution for a
- * full listing of individual contributors.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * http://www.apache.org/licenses/LICENSE-2.0
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package org.jboss.weld.tests.decorators.abstractDecorator;
-
-import static org.jboss.weld.tests.decorators.abstractDecorator.AbstractDecoratorTestHelper.resetAll;
-
-import org.jboss.testharness.impl.packaging.Artifact;
-import org.jboss.testharness.impl.packaging.jsr299.BeansXml;
-import org.jboss.weld.test.AbstractWeldTest;
-import org.testng.annotations.Test;
-
-/**
- * @author <a href="mailto:mariusb@redhat.com">Marius Bogoevici</a>
- */
-@Artifact
-@BeansXml("beans-withCallToItself.xml")
-public class SimpleAbstractDecoratorWithCallToItselfTest extends AbstractWeldTest
-{
- @Test
- public void testAbstractDecoratorApplied()
- {
-
- Window window = getReference(WindowImpl.class);
-
- resetAll();
- window.move();
- assert WindowImpl.drawn;
- assert FrameWithFieldInjectedDelegate.drawn;
- assert FrameWithFieldInjectedDelegateAndSelfInvokedAbstractMethod.moved;
-
- }
-
-}
\ No newline at end of file
Deleted: core/trunk/tests/src/test/java/org/jboss/weld/tests/decorators/abstractDecorator/SimpleAbstractDecoratorWithConstructorTest.java
===================================================================
--- core/trunk/tests/src/test/java/org/jboss/weld/tests/decorators/abstractDecorator/SimpleAbstractDecoratorWithConstructorTest.java 2010-07-28 11:35:11 UTC (rev 6821)
+++ core/trunk/tests/src/test/java/org/jboss/weld/tests/decorators/abstractDecorator/SimpleAbstractDecoratorWithConstructorTest.java 2010-07-28 11:45:17 UTC (rev 6822)
@@ -1,54 +0,0 @@
-/*
- * JBoss, Home of Professional Open Source
- * Copyright 2010, Red Hat, Inc., and individual contributors
- * by the @authors tag. See the copyright.txt in the distribution for a
- * full listing of individual contributors.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * http://www.apache.org/licenses/LICENSE-2.0
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package org.jboss.weld.tests.decorators.abstractDecorator;
-
-import static org.jboss.weld.tests.decorators.abstractDecorator.AbstractDecoratorTestHelper.*;
-
-import org.jboss.testharness.impl.packaging.Artifact;
-import org.jboss.testharness.impl.packaging.jsr299.BeansXml;
-import org.jboss.weld.test.AbstractWeldTest;
-import org.testng.annotations.Test;
-
-/**
- * @author <a href="mailto:mariusb@redhat.com">Marius Bogoevici</a>
- */
-@Artifact
-@BeansXml("beans-withConstructor.xml")
-public class SimpleAbstractDecoratorWithConstructorTest extends AbstractWeldTest
-{
- @Test
- public void testAbstractDecoratorApplied()
- {
-
- resetAll();
-
- Window window = getReference(WindowImpl.class);
- window.draw();
- assert WindowImpl.drawn;
- assert FrameWithConstructorInjectedDelegate.drawn;
-
- resetAll();
- window.move();
- assert !WindowImpl.moved;
- assert WindowImpl.drawn;
- assert FrameWithConstructorInjectedDelegate.drawn;
- assert FrameWithConstructorInjectedDelegateAndAbstractMethod.moved;
-
- }
-
-}
\ No newline at end of file
Deleted: core/trunk/tests/src/test/java/org/jboss/weld/tests/decorators/abstractDecorator/SimpleAbstractDecoratorWithInitializerMethodTest.java
===================================================================
--- core/trunk/tests/src/test/java/org/jboss/weld/tests/decorators/abstractDecorator/SimpleAbstractDecoratorWithInitializerMethodTest.java 2010-07-28 11:35:11 UTC (rev 6821)
+++ core/trunk/tests/src/test/java/org/jboss/weld/tests/decorators/abstractDecorator/SimpleAbstractDecoratorWithInitializerMethodTest.java 2010-07-28 11:45:17 UTC (rev 6822)
@@ -1,46 +0,0 @@
-/*
- * JBoss, Home of Professional Open Source
- * Copyright 2010, Red Hat, Inc., and individual contributors
- * by the @authors tag. See the copyright.txt in the distribution for a
- * full listing of individual contributors.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * http://www.apache.org/licenses/LICENSE-2.0
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package org.jboss.weld.tests.decorators.abstractDecorator;
-
-import static org.jboss.weld.tests.decorators.abstractDecorator.AbstractDecoratorTestHelper.resetAll;
-
-import org.jboss.testharness.impl.packaging.Artifact;
-import org.jboss.testharness.impl.packaging.jsr299.BeansXml;
-import org.jboss.weld.test.AbstractWeldTest;
-import org.testng.annotations.Test;
-
-/**
- * @author <a href="mailto:mariusb@redhat.com">Marius Bogoevici</a>
- */
-@Artifact
-@BeansXml("beans-withInitializerMethod.xml")
-public class SimpleAbstractDecoratorWithInitializerMethodTest extends AbstractWeldTest
-{
- @Test
- public void testAbstractDecoratorApplied()
- {
-
- resetAll();
-
- Window window = getReference(WindowImpl.class);
- window.draw();
- assert WindowImpl.drawn;
- assert FrameWithInitializerMethodInjectedDelegate.drawn;
- }
-
-}
\ No newline at end of file
Deleted: core/trunk/tests/src/test/java/org/jboss/weld/tests/decorators/abstractDecorator/Window.java
===================================================================
--- core/trunk/tests/src/test/java/org/jboss/weld/tests/decorators/abstractDecorator/Window.java 2010-07-28 11:35:11 UTC (rev 6821)
+++ core/trunk/tests/src/test/java/org/jboss/weld/tests/decorators/abstractDecorator/Window.java 2010-07-28 11:45:17 UTC (rev 6822)
@@ -1,28 +0,0 @@
-/*
- * JBoss, Home of Professional Open Source
- * Copyright 2010, Red Hat, Inc., and individual contributors
- * by the @authors tag. See the copyright.txt in the distribution for a
- * full listing of individual contributors.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * http://www.apache.org/licenses/LICENSE-2.0
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package org.jboss.weld.tests.decorators.abstractDecorator;
-
-/**
- * @author Marius Bogoevici
- */
-public interface Window
-{
- void draw();
-
- void move();
-}
Deleted: core/trunk/tests/src/test/java/org/jboss/weld/tests/decorators/abstractDecorator/WindowImpl.java
===================================================================
--- core/trunk/tests/src/test/java/org/jboss/weld/tests/decorators/abstractDecorator/WindowImpl.java 2010-07-28 11:35:11 UTC (rev 6821)
+++ core/trunk/tests/src/test/java/org/jboss/weld/tests/decorators/abstractDecorator/WindowImpl.java 2010-07-28 11:45:17 UTC (rev 6822)
@@ -1,38 +0,0 @@
-/*
- * JBoss, Home of Professional Open Source
- * Copyright 2010, Red Hat, Inc., and individual contributors
- * by the @authors tag. See the copyright.txt in the distribution for a
- * full listing of individual contributors.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * http://www.apache.org/licenses/LICENSE-2.0
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.jboss.weld.tests.decorators.abstractDecorator;
-
-/**
- *
- * @author Marius Bogoevici
- */
-public class WindowImpl implements Window
-{
- static boolean drawn;
-
- static boolean moved;
-
- public void draw()
- {
- drawn = true;
- }
-
- public void move()
- {
- moved = true;
- }
-}
\ No newline at end of file
Deleted: core/trunk/tests/src/test/java/org/jboss/weld/tests/decorators/generic/Decorated.java
===================================================================
--- core/trunk/tests/src/test/java/org/jboss/weld/tests/decorators/generic/Decorated.java 2010-07-28 11:35:11 UTC (rev 6821)
+++ core/trunk/tests/src/test/java/org/jboss/weld/tests/decorators/generic/Decorated.java 2010-07-28 11:45:17 UTC (rev 6822)
@@ -1,26 +0,0 @@
-/*
- * JBoss, Home of Professional Open Source
- * Copyright 2010, Red Hat, Inc., and individual contributors
- * by the @authors tag. See the copyright.txt in the distribution for a
- * full listing of individual contributors.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * http://www.apache.org/licenses/LICENSE-2.0
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package org.jboss.weld.tests.decorators.generic;
-
-/**
- * @author Marius Bogoevici
- */
-public interface Decorated<T>
-{
- T decoratedEcho(T parameter);
-}
\ No newline at end of file
Deleted: core/trunk/tests/src/test/java/org/jboss/weld/tests/decorators/generic/GenericBean.java
===================================================================
--- core/trunk/tests/src/test/java/org/jboss/weld/tests/decorators/generic/GenericBean.java 2010-07-28 11:35:11 UTC (rev 6821)
+++ core/trunk/tests/src/test/java/org/jboss/weld/tests/decorators/generic/GenericBean.java 2010-07-28 11:45:17 UTC (rev 6822)
@@ -1,39 +0,0 @@
-/*
- * JBoss, Home of Professional Open Source
- * Copyright 2010, Red Hat, Inc., and individual contributors
- * by the @authors tag. See the copyright.txt in the distribution for a
- * full listing of individual contributors.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * http://www.apache.org/licenses/LICENSE-2.0
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package org.jboss.weld.tests.decorators.generic;
-
-/**
- * @author Marius Bogoevici
- */
-public class GenericBean<T> implements Decorated<T>, NotDecorated<T>
-{
- static boolean decoratedInvoked;
- static boolean notDecoratedInvoked;
-
- public T notDecoratedEcho(T parameter)
- {
- notDecoratedInvoked = true;
- return parameter;
- }
-
- public T decoratedEcho(T parameter)
- {
- decoratedInvoked = true;
- return parameter;
- }
-}
\ No newline at end of file
Deleted: core/trunk/tests/src/test/java/org/jboss/weld/tests/decorators/generic/NotDecorated.java
===================================================================
--- core/trunk/tests/src/test/java/org/jboss/weld/tests/decorators/generic/NotDecorated.java 2010-07-28 11:35:11 UTC (rev 6821)
+++ core/trunk/tests/src/test/java/org/jboss/weld/tests/decorators/generic/NotDecorated.java 2010-07-28 11:45:17 UTC (rev 6822)
@@ -1,26 +0,0 @@
-/*
- * JBoss, Home of Professional Open Source
- * Copyright 2010, Red Hat, Inc., and individual contributors
- * by the @authors tag. See the copyright.txt in the distribution for a
- * full listing of individual contributors.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * http://www.apache.org/licenses/LICENSE-2.0
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package org.jboss.weld.tests.decorators.generic;
-
-/**
- * @author Marius Bogoevici
- */
-public interface NotDecorated<T>
-{
- T notDecoratedEcho(T parameter);
-}
Deleted: core/trunk/tests/src/test/java/org/jboss/weld/tests/decorators/generic/PartialDecorator.java
===================================================================
--- core/trunk/tests/src/test/java/org/jboss/weld/tests/decorators/generic/PartialDecorator.java 2010-07-28 11:35:11 UTC (rev 6821)
+++ core/trunk/tests/src/test/java/org/jboss/weld/tests/decorators/generic/PartialDecorator.java 2010-07-28 11:45:17 UTC (rev 6822)
@@ -1,51 +0,0 @@
-/*
- * JBoss, Home of Professional Open Source
- * Copyright 2010, Red Hat, Inc., and individual contributors
- * by the @authors tag. See the copyright.txt in the distribution for a
- * full listing of individual contributors.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * http://www.apache.org/licenses/LICENSE-2.0
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package org.jboss.weld.tests.decorators.generic;
-
-import javax.decorator.Decorator;
-import javax.decorator.Delegate;
-import javax.inject.Inject;
-
-/**
- * @author Marius Bogoevici
- */
-@Decorator
-public class PartialDecorator<T> implements Decorated<T>
-{
-
- @Inject @Delegate GenericBean<T> delegate;
-
- static boolean decoratedInvoked = false;
-
- static boolean notDecoratedInvoked = false;
-
- public T decoratedEcho(T parameter)
- {
- decoratedInvoked = true;
- return delegate.decoratedEcho(parameter);
- }
-
- /**
- * Should not be invoked
- */
- public T notDecoratedEcho(T parameter)
- {
- notDecoratedInvoked = true;
- return delegate.notDecoratedEcho(parameter);
- }
-}
\ No newline at end of file
Deleted: core/trunk/tests/src/test/java/org/jboss/weld/tests/decorators/generic/PartialDecoratorTest.java
===================================================================
--- core/trunk/tests/src/test/java/org/jboss/weld/tests/decorators/generic/PartialDecoratorTest.java 2010-07-28 11:35:11 UTC (rev 6821)
+++ core/trunk/tests/src/test/java/org/jboss/weld/tests/decorators/generic/PartialDecoratorTest.java 2010-07-28 11:45:17 UTC (rev 6822)
@@ -1,45 +0,0 @@
-/*
- * JBoss, Home of Professional Open Source
- * Copyright 2010, Red Hat, Inc., and individual contributors
- * by the @authors tag. See the copyright.txt in the distribution for a
- * full listing of individual contributors.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * http://www.apache.org/licenses/LICENSE-2.0
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package org.jboss.weld.tests.decorators.generic;
-
-import org.jboss.testharness.impl.packaging.Artifact;
-import org.jboss.testharness.impl.packaging.jsr299.BeansXml;
-import org.jboss.weld.test.AbstractWeldTest;
-import org.testng.annotations.Test;
-
-/**
- * @author Marius Bogoevici
- */
-@Artifact
-@BeansXml("beans.xml")
-public class PartialDecoratorTest extends AbstractWeldTest
-{
-
- @Test
- public void testDecoratorDoesNotDecorateOutsideDecoratedTypes()
- {
- TestBean testBean = getReference(TestBean.class);
- testBean.invoke();
-
- assert PartialDecorator.decoratedInvoked;
- assert !PartialDecorator.notDecoratedInvoked;
- assert StringPartialDecorator.invoked;
- assert GenericBean.decoratedInvoked;
- assert GenericBean.notDecoratedInvoked;
- }
-}
\ No newline at end of file
Deleted: core/trunk/tests/src/test/java/org/jboss/weld/tests/decorators/generic/StringPartialDecorator.java
===================================================================
--- core/trunk/tests/src/test/java/org/jboss/weld/tests/decorators/generic/StringPartialDecorator.java 2010-07-28 11:35:11 UTC (rev 6821)
+++ core/trunk/tests/src/test/java/org/jboss/weld/tests/decorators/generic/StringPartialDecorator.java 2010-07-28 11:45:17 UTC (rev 6822)
@@ -1,41 +0,0 @@
-/*
- * JBoss, Home of Professional Open Source
- * Copyright 2010, Red Hat, Inc., and individual contributors
- * by the @authors tag. See the copyright.txt in the distribution for a
- * full listing of individual contributors.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * http://www.apache.org/licenses/LICENSE-2.0
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package org.jboss.weld.tests.decorators.generic;
-
-import javax.decorator.Decorator;
-import javax.decorator.Delegate;
-import javax.inject.Inject;
-
-/**
- * @author Marius Bogoevici
- */
-@Decorator
-public class StringPartialDecorator implements Decorated<String>
-{
- @Inject
- @Delegate
- GenericBean<String> delegate;
-
- static boolean invoked = false;
-
- public String decoratedEcho(String parameter)
- {
- invoked = true;
- return delegate.decoratedEcho(parameter);
- }
-}
Deleted: core/trunk/tests/src/test/java/org/jboss/weld/tests/decorators/generic/TestBean.java
===================================================================
--- core/trunk/tests/src/test/java/org/jboss/weld/tests/decorators/generic/TestBean.java 2010-07-28 11:35:11 UTC (rev 6821)
+++ core/trunk/tests/src/test/java/org/jboss/weld/tests/decorators/generic/TestBean.java 2010-07-28 11:45:17 UTC (rev 6822)
@@ -1,35 +0,0 @@
-/*
- * JBoss, Home of Professional Open Source
- * Copyright 2010, Red Hat, Inc., and individual contributors
- * by the @authors tag. See the copyright.txt in the distribution for a
- * full listing of individual contributors.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * http://www.apache.org/licenses/LICENSE-2.0
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package org.jboss.weld.tests.decorators.generic;
-
-import javax.enterprise.context.Dependent;
-import javax.inject.Inject;
-
-/**
- * @author Marius Bogoevici
- */
-public class TestBean
-{
- @Inject @Dependent GenericBean<String> genericBean;
-
- public void invoke()
- {
- genericBean.decoratedEcho("hello");
- genericBean.notDecoratedEcho("hello");
- }
-}
Deleted: core/trunk/tests/src/test/java/org/jboss/weld/tests/enterprise/AbstractDAO.java
===================================================================
--- core/trunk/tests/src/test/java/org/jboss/weld/tests/enterprise/AbstractDAO.java 2010-07-28 11:35:11 UTC (rev 6821)
+++ core/trunk/tests/src/test/java/org/jboss/weld/tests/enterprise/AbstractDAO.java 2010-07-28 11:45:17 UTC (rev 6822)
@@ -1,25 +0,0 @@
-/*
- * JBoss, Home of Professional Open Source
- * Copyright 2010, Red Hat, Inc., and individual contributors
- * by the @authors tag. See the copyright.txt in the distribution for a
- * full listing of individual contributors.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * http://www.apache.org/licenses/LICENSE-2.0
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.jboss.weld.tests.enterprise;
-
-public interface AbstractDAO<E>
-{
- public boolean save(E entity);
-
- public boolean isSaved();
-
-}
\ No newline at end of file
Deleted: core/trunk/tests/src/test/java/org/jboss/weld/tests/enterprise/AbstractDAOImpl.java
===================================================================
--- core/trunk/tests/src/test/java/org/jboss/weld/tests/enterprise/AbstractDAOImpl.java 2010-07-28 11:35:11 UTC (rev 6821)
+++ core/trunk/tests/src/test/java/org/jboss/weld/tests/enterprise/AbstractDAOImpl.java 2010-07-28 11:45:17 UTC (rev 6822)
@@ -1,36 +0,0 @@
-/*
- * JBoss, Home of Professional Open Source
- * Copyright 2010, Red Hat, Inc., and individual contributors
- * by the @authors tag. See the copyright.txt in the distribution for a
- * full listing of individual contributors.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * http://www.apache.org/licenses/LICENSE-2.0
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.jboss.weld.tests.enterprise;
-
-
-public abstract class AbstractDAOImpl<E>
-{
-
- private boolean saved;
-
- public boolean save(E entity)
- {
- this.saved = true;
- return true;
- }
-
- public boolean isSaved()
- {
- return saved;
- }
-
-}
Deleted: core/trunk/tests/src/test/java/org/jboss/weld/tests/enterprise/Animal.java
===================================================================
--- core/trunk/tests/src/test/java/org/jboss/weld/tests/enterprise/Animal.java 2010-07-28 11:35:11 UTC (rev 6821)
+++ core/trunk/tests/src/test/java/org/jboss/weld/tests/enterprise/Animal.java 2010-07-28 11:45:17 UTC (rev 6822)
@@ -1,22 +0,0 @@
-/*
- * JBoss, Home of Professional Open Source
- * Copyright 2010, Red Hat, Inc., and individual contributors
- * by the @authors tag. See the copyright.txt in the distribution for a
- * full listing of individual contributors.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * http://www.apache.org/licenses/LICENSE-2.0
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.jboss.weld.tests.enterprise;
-
-public interface Animal
-{
-
-}
Deleted: core/trunk/tests/src/test/java/org/jboss/weld/tests/enterprise/Bird.java
===================================================================
--- core/trunk/tests/src/test/java/org/jboss/weld/tests/enterprise/Bird.java 2010-07-28 11:35:11 UTC (rev 6821)
+++ core/trunk/tests/src/test/java/org/jboss/weld/tests/enterprise/Bird.java 2010-07-28 11:45:17 UTC (rev 6822)
@@ -1,27 +0,0 @@
-/*
- * JBoss, Home of Professional Open Source
- * Copyright 2010, Red Hat, Inc., and individual contributors
- * by the @authors tag. See the copyright.txt in the distribution for a
- * full listing of individual contributors.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * http://www.apache.org/licenses/LICENSE-2.0
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.jboss.weld.tests.enterprise;
-
-import javax.ejb.Remote;
-
-@Remote
-public interface Bird
-{
-
- public void observe(Feed feed);
-
-}
Deleted: core/trunk/tests/src/test/java/org/jboss/weld/tests/enterprise/BowlerHatException.java
===================================================================
--- core/trunk/tests/src/test/java/org/jboss/weld/tests/enterprise/BowlerHatException.java 2010-07-28 11:35:11 UTC (rev 6821)
+++ core/trunk/tests/src/test/java/org/jboss/weld/tests/enterprise/BowlerHatException.java 2010-07-28 11:45:17 UTC (rev 6822)
@@ -1,42 +0,0 @@
-/*
- * JBoss, Home of Professional Open Source
- * Copyright 2010, Red Hat, Inc., and individual contributors
- * by the @authors tag. See the copyright.txt in the distribution for a
- * full listing of individual contributors.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * http://www.apache.org/licenses/LICENSE-2.0
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.jboss.weld.tests.enterprise;
-
-public class BowlerHatException extends RuntimeException
-{
-
- public BowlerHatException()
- {
- super();
- }
-
- public BowlerHatException(String message, Throwable cause)
- {
- super(message, cause);
- }
-
- public BowlerHatException(String message)
- {
- super(message);
- }
-
- public BowlerHatException(Throwable cause)
- {
- super(cause);
- }
-
-}
Deleted: core/trunk/tests/src/test/java/org/jboss/weld/tests/enterprise/Capercaillie.java
===================================================================
--- core/trunk/tests/src/test/java/org/jboss/weld/tests/enterprise/Capercaillie.java 2010-07-28 11:35:11 UTC (rev 6821)
+++ core/trunk/tests/src/test/java/org/jboss/weld/tests/enterprise/Capercaillie.java 2010-07-28 11:45:17 UTC (rev 6822)
@@ -1,40 +0,0 @@
-/*
- * JBoss, Home of Professional Open Source
- * Copyright 2010, Red Hat, Inc., and individual contributors
- * by the @authors tag. See the copyright.txt in the distribution for a
- * full listing of individual contributors.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * http://www.apache.org/licenses/LICENSE-2.0
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.jboss.weld.tests.enterprise;
-
-import javax.ejb.Stateful;
-import javax.enterprise.context.RequestScoped;
-import javax.enterprise.event.Observes;
-
-@Stateful
-@RequestScoped
-public class Capercaillie implements Scottish, Bird
-{
-
- private Feed feed;
-
- public void observe(@Observes Feed feed)
- {
- this.feed = feed;
- }
-
- public Feed getFeed()
- {
- return feed;
- }
-
-}
Deleted: core/trunk/tests/src/test/java/org/jboss/weld/tests/enterprise/Castle.java
===================================================================
--- core/trunk/tests/src/test/java/org/jboss/weld/tests/enterprise/Castle.java 2010-07-28 11:35:11 UTC (rev 6821)
+++ core/trunk/tests/src/test/java/org/jboss/weld/tests/enterprise/Castle.java 2010-07-28 11:45:17 UTC (rev 6822)
@@ -1,37 +0,0 @@
-/*
- * JBoss, Home of Professional Open Source
- * Copyright 2010, Red Hat, Inc., and individual contributors
- * by the @authors tag. See the copyright.txt in the distribution for a
- * full listing of individual contributors.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * http://www.apache.org/licenses/LICENSE-2.0
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.jboss.weld.tests.enterprise;
-
-import javax.ejb.Stateless;
-
-@Stateless
-public class Castle
-{
-
- private boolean pinged;
-
- public boolean isPinged()
- {
- return pinged;
- }
-
- public void ping()
- {
- this.pinged = true;
- }
-
-}
Deleted: core/trunk/tests/src/test/java/org/jboss/weld/tests/enterprise/Cat.java
===================================================================
--- core/trunk/tests/src/test/java/org/jboss/weld/tests/enterprise/Cat.java 2010-07-28 11:35:11 UTC (rev 6821)
+++ core/trunk/tests/src/test/java/org/jboss/weld/tests/enterprise/Cat.java 2010-07-28 11:45:17 UTC (rev 6822)
@@ -1,29 +0,0 @@
-/*
- * JBoss, Home of Professional Open Source
- * Copyright 2010, Red Hat, Inc., and individual contributors
- * by the @authors tag. See the copyright.txt in the distribution for a
- * full listing of individual contributors.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * http://www.apache.org/licenses/LICENSE-2.0
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.jboss.weld.tests.enterprise;
-
-import javax.ejb.Stateful;
-
-/**
- * @author pmuir
- *
- */
-@Stateful
-public class Cat implements CatLocal
-{
-
-}
Deleted: core/trunk/tests/src/test/java/org/jboss/weld/tests/enterprise/CatLocal.java
===================================================================
--- core/trunk/tests/src/test/java/org/jboss/weld/tests/enterprise/CatLocal.java 2010-07-28 11:35:11 UTC (rev 6821)
+++ core/trunk/tests/src/test/java/org/jboss/weld/tests/enterprise/CatLocal.java 2010-07-28 11:45:17 UTC (rev 6822)
@@ -1,29 +0,0 @@
-/*
- * JBoss, Home of Professional Open Source
- * Copyright 2010, Red Hat, Inc., and individual contributors
- * by the @authors tag. See the copyright.txt in the distribution for a
- * full listing of individual contributors.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * http://www.apache.org/licenses/LICENSE-2.0
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.jboss.weld.tests.enterprise;
-
-import javax.ejb.Local;
-
-/**
- * @author pmuir
- *
- */
-@Local
-public interface CatLocal
-{
-
-}
Deleted: core/trunk/tests/src/test/java/org/jboss/weld/tests/enterprise/DAO.java
===================================================================
--- core/trunk/tests/src/test/java/org/jboss/weld/tests/enterprise/DAO.java 2010-07-28 11:35:11 UTC (rev 6821)
+++ core/trunk/tests/src/test/java/org/jboss/weld/tests/enterprise/DAO.java 2010-07-28 11:45:17 UTC (rev 6822)
@@ -1,36 +0,0 @@
-/*
- * JBoss, Home of Professional Open Source
- * Copyright 2010, Red Hat, Inc., and individual contributors
- * by the @authors tag. See the copyright.txt in the distribution for a
- * full listing of individual contributors.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * http://www.apache.org/licenses/LICENSE-2.0
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.jboss.weld.tests.enterprise;
-
-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 java.lang.annotation.Retention;
-import java.lang.annotation.RetentionPolicy;
-import java.lang.annotation.Target;
-
-import javax.inject.Qualifier;
-
-@Qualifier
-(a)Retention(RetentionPolicy.RUNTIME)
-@Target({FIELD, METHOD, TYPE, PARAMETER})
-public @interface DAO
-{
-
-}
Deleted: core/trunk/tests/src/test/java/org/jboss/weld/tests/enterprise/Dog.java
===================================================================
--- core/trunk/tests/src/test/java/org/jboss/weld/tests/enterprise/Dog.java 2010-07-28 11:35:11 UTC (rev 6821)
+++ core/trunk/tests/src/test/java/org/jboss/weld/tests/enterprise/Dog.java 2010-07-28 11:45:17 UTC (rev 6822)
@@ -1,25 +0,0 @@
-/*
- * JBoss, Home of Professional Open Source
- * Copyright 2010, Red Hat, Inc., and individual contributors
- * by the @authors tag. See the copyright.txt in the distribution for a
- * full listing of individual contributors.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * http://www.apache.org/licenses/LICENSE-2.0
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.jboss.weld.tests.enterprise;
-
-import javax.ejb.Local;
-
-@Local
-public interface Dog extends Animal
-{
-
-}
Deleted: core/trunk/tests/src/test/java/org/jboss/weld/tests/enterprise/DogBean.java
===================================================================
--- core/trunk/tests/src/test/java/org/jboss/weld/tests/enterprise/DogBean.java 2010-07-28 11:35:11 UTC (rev 6821)
+++ core/trunk/tests/src/test/java/org/jboss/weld/tests/enterprise/DogBean.java 2010-07-28 11:45:17 UTC (rev 6822)
@@ -1,26 +0,0 @@
-/*
- * JBoss, Home of Professional Open Source
- * Copyright 2010, Red Hat, Inc., and individual contributors
- * by the @authors tag. See the copyright.txt in the distribution for a
- * full listing of individual contributors.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * http://www.apache.org/licenses/LICENSE-2.0
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.jboss.weld.tests.enterprise;
-
-import javax.ejb.Stateless;
-
-
-@Stateless
-public class DogBean implements Dog
-{
-
-}
Deleted: core/trunk/tests/src/test/java/org/jboss/weld/tests/enterprise/EjbDescriptorLookupTest.java
===================================================================
--- core/trunk/tests/src/test/java/org/jboss/weld/tests/enterprise/EjbDescriptorLookupTest.java 2010-07-28 11:35:11 UTC (rev 6821)
+++ core/trunk/tests/src/test/java/org/jboss/weld/tests/enterprise/EjbDescriptorLookupTest.java 2010-07-28 11:45:17 UTC (rev 6822)
@@ -1,55 +0,0 @@
-/*
- * JBoss, Home of Professional Open Source
- * Copyright 2010, Red Hat, Inc., and individual contributors
- * by the @authors tag. See the copyright.txt in the distribution for a
- * full listing of individual contributors.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * http://www.apache.org/licenses/LICENSE-2.0
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.jboss.weld.tests.enterprise;
-
-import javax.enterprise.inject.spi.Bean;
-import javax.enterprise.inject.spi.InjectionTarget;
-
-import org.jboss.testharness.impl.packaging.Artifact;
-import org.jboss.testharness.impl.packaging.Packaging;
-import org.jboss.testharness.impl.packaging.PackagingType;
-import org.jboss.weld.bean.SessionBean;
-import org.jboss.weld.ejb.InternalEjbDescriptor;
-import org.jboss.weld.ejb.spi.EjbDescriptor;
-import org.jboss.weld.test.AbstractWeldTest;
-import org.testng.annotations.Test;
-
-/**
- * @author pmuir
- *
- */
-@Artifact
-(a)Packaging(PackagingType.EAR)
-public class EjbDescriptorLookupTest extends AbstractWeldTest
-{
-
- @Test
- public void testCorrectSubType()
- {
- EjbDescriptor<CatLocal> descriptor = getCurrentManager().getEjbDescriptor("Cat");
- assert descriptor.getClass().equals(InternalEjbDescriptor.class);
- Bean<CatLocal> bean = getCurrentManager().getBean(descriptor);
- assert bean != null;
- assert bean instanceof SessionBean;
- assert bean.getBeanClass().equals(Cat.class);
- InjectionTarget<CatLocal> it = getCurrentManager().createInjectionTarget(descriptor);
- assert it != null;
- assert it.getInjectionPoints().equals(bean.getInjectionPoints());
- assert it.produce(getCurrentManager().createCreationalContext(bean)) instanceof CatLocal;
- }
-
-}
Deleted: core/trunk/tests/src/test/java/org/jboss/weld/tests/enterprise/EnterpriseBeanDefinitionTest.java
===================================================================
--- core/trunk/tests/src/test/java/org/jboss/weld/tests/enterprise/EnterpriseBeanDefinitionTest.java 2010-07-28 11:35:11 UTC (rev 6821)
+++ core/trunk/tests/src/test/java/org/jboss/weld/tests/enterprise/EnterpriseBeanDefinitionTest.java 2010-07-28 11:45:17 UTC (rev 6822)
@@ -1,40 +0,0 @@
-/*
- * JBoss, Home of Professional Open Source
- * Copyright 2010, Red Hat, Inc., and individual contributors
- * by the @authors tag. See the copyright.txt in the distribution for a
- * full listing of individual contributors.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * http://www.apache.org/licenses/LICENSE-2.0
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.jboss.weld.tests.enterprise;
-
-import javax.enterprise.inject.spi.Bean;
-
-import org.jboss.testharness.impl.packaging.Artifact;
-import org.jboss.testharness.impl.packaging.Packaging;
-import org.jboss.testharness.impl.packaging.PackagingType;
-import org.jboss.weld.test.AbstractWeldTest;
-import org.jboss.weld.test.Utils;
-import org.testng.annotations.Test;
-
-@Artifact
-(a)Packaging(PackagingType.EAR)
-public class EnterpriseBeanDefinitionTest extends AbstractWeldTest
-{
-
- @Test(description="WELD-305")
- public void testSuperInterfacesAreBeanTypes()
- {
- Bean<?> bean = getBean(Dog.class);
- assert Utils.typeSetMatches(bean.getTypes(), Object.class, Dog.class, Animal.class);
- }
-
-}
Deleted: core/trunk/tests/src/test/java/org/jboss/weld/tests/enterprise/EnterpriseBeanTest.java
===================================================================
--- core/trunk/tests/src/test/java/org/jboss/weld/tests/enterprise/EnterpriseBeanTest.java 2010-07-28 11:35:11 UTC (rev 6821)
+++ core/trunk/tests/src/test/java/org/jboss/weld/tests/enterprise/EnterpriseBeanTest.java 2010-07-28 11:45:17 UTC (rev 6822)
@@ -1,111 +0,0 @@
-/*
-
- * JBoss, Home of Professional Open Source
- * Copyright 2010, Red Hat, Inc., and individual contributors
- * by the @authors tag. See the copyright.txt in the distribution for a
- * full listing of individual contributors.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * http://www.apache.org/licenses/LICENSE-2.0
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.jboss.weld.tests.enterprise;
-
-import javax.ejb.EJBException;
-
-import org.jboss.testharness.impl.packaging.Artifact;
-import org.jboss.testharness.impl.packaging.IntegrationTest;
-import org.jboss.testharness.impl.packaging.Packaging;
-import org.jboss.testharness.impl.packaging.PackagingType;
-import org.jboss.testharness.impl.packaging.ear.EjbJarXml;
-import org.jboss.weld.bean.SessionBean;
-import org.jboss.weld.test.AbstractWeldTest;
-import org.jboss.weld.test.Utils;
-import org.testng.annotations.Test;
-
-@Artifact
-@IntegrationTest
-(a)Packaging(PackagingType.EAR)
-@EjbJarXml("ejb-jar.xml")
-public class EnterpriseBeanTest extends AbstractWeldTest
-{
-
- @Test(description="WBRI-179")
- public void testSFSBWithOnlyRemoteInterfacesDeploys()
- {
-
- }
-
- @Test(description="WELD-326")
- public void testInvocationExceptionIsUnwrapped()
- {
- try
- {
- getReference(Fedora.class).causeRuntimeException();
- }
- catch (Throwable t)
- {
- if (t instanceof EJBException && t.getCause() instanceof BowlerHatException)
- {
- return;
- }
- }
- assert false : "Expected a BowlerHatException to be thrown";
- }
-
- @Test(description="WBRI-275")
- public void testSLSBBusinessMethodThrowsRuntimeException()
- {
- try
- {
- getReference(Fedora.class).causeRuntimeException();
- }
- catch (Throwable t)
- {
- if (Utils.isExceptionInHierarchy(t, BowlerHatException.class))
- {
- return;
- }
- }
- assert false : "Expected a BowlerHatException to be in the cause stack";
- }
-
- @Test(description="WELD-364", groups = "broken")
- public void testEJBRemoteInterfacesOkForObservers()
- {
- Feed feed = new Feed();
- getCurrentManager().fireEvent(feed);
- assert getReference(Scottish.class).getFeed().equals(feed);
- }
-
- @Test(description = "WELD-381")
- public void testGenericEJBWorks()
- {
- assert getReference(ResultClient.class).lookupPete().getUsername().equals("pete");
- }
-
- @Test(description = "WELD-80", groups = "broken")
- public void testPassivationOfEjbs()
- {
- HelloAction action = getReference(HelloAction.class);
- action.executeRequest();
- assert action.getHello().equals("hello");
- assert action.getGoodBye().equals("goodbye");
- }
-
- @Test(description = "Simple test for no-interface views", groups="broken")
- public void testNoInterfaceView()
- {
- Castle castle = getReference(Castle.class);
- castle.ping();
- assert castle.isPinged();
- assert getBean(Castle.class) instanceof SessionBean<?>;
- }
-
-}
Deleted: core/trunk/tests/src/test/java/org/jboss/weld/tests/enterprise/Fedora.java
===================================================================
--- core/trunk/tests/src/test/java/org/jboss/weld/tests/enterprise/Fedora.java 2010-07-28 11:35:11 UTC (rev 6821)
+++ core/trunk/tests/src/test/java/org/jboss/weld/tests/enterprise/Fedora.java 2010-07-28 11:45:17 UTC (rev 6822)
@@ -1,28 +0,0 @@
-/*
- * JBoss, Home of Professional Open Source
- * Copyright 2010, Red Hat, Inc., and individual contributors
- * by the @authors tag. See the copyright.txt in the distribution for a
- * full listing of individual contributors.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * http://www.apache.org/licenses/LICENSE-2.0
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.jboss.weld.tests.enterprise;
-
-import javax.ejb.Local;
-
-@Local
-public interface Fedora
-{
-
- public void causeRuntimeException();
-
-
-}
Deleted: core/trunk/tests/src/test/java/org/jboss/weld/tests/enterprise/FedoraImpl.java
===================================================================
--- core/trunk/tests/src/test/java/org/jboss/weld/tests/enterprise/FedoraImpl.java 2010-07-28 11:35:11 UTC (rev 6821)
+++ core/trunk/tests/src/test/java/org/jboss/weld/tests/enterprise/FedoraImpl.java 2010-07-28 11:45:17 UTC (rev 6822)
@@ -1,30 +0,0 @@
-/*
- * JBoss, Home of Professional Open Source
- * Copyright 2010, Red Hat, Inc., and individual contributors
- * by the @authors tag. See the copyright.txt in the distribution for a
- * full listing of individual contributors.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * http://www.apache.org/licenses/LICENSE-2.0
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.jboss.weld.tests.enterprise;
-
-import javax.ejb.Stateless;
-
-@Stateless
-public class FedoraImpl implements Fedora
-{
-
- public void causeRuntimeException()
- {
- throw new BowlerHatException();
- }
-
-}
Deleted: core/trunk/tests/src/test/java/org/jboss/weld/tests/enterprise/Feed.java
===================================================================
--- core/trunk/tests/src/test/java/org/jboss/weld/tests/enterprise/Feed.java 2010-07-28 11:35:11 UTC (rev 6821)
+++ core/trunk/tests/src/test/java/org/jboss/weld/tests/enterprise/Feed.java 2010-07-28 11:45:17 UTC (rev 6822)
@@ -1,22 +0,0 @@
-/*
- * JBoss, Home of Professional Open Source
- * Copyright 2010, Red Hat, Inc., and individual contributors
- * by the @authors tag. See the copyright.txt in the distribution for a
- * full listing of individual contributors.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * http://www.apache.org/licenses/LICENSE-2.0
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.jboss.weld.tests.enterprise;
-
-public class Feed
-{
-
-}
Deleted: core/trunk/tests/src/test/java/org/jboss/weld/tests/enterprise/Hat.java
===================================================================
--- core/trunk/tests/src/test/java/org/jboss/weld/tests/enterprise/Hat.java 2010-07-28 11:35:11 UTC (rev 6821)
+++ core/trunk/tests/src/test/java/org/jboss/weld/tests/enterprise/Hat.java 2010-07-28 11:45:17 UTC (rev 6822)
@@ -1,25 +0,0 @@
-/*
- * JBoss, Home of Professional Open Source
- * Copyright 2010, Red Hat, Inc., and individual contributors
- * by the @authors tag. See the copyright.txt in the distribution for a
- * full listing of individual contributors.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * http://www.apache.org/licenses/LICENSE-2.0
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.jboss.weld.tests.enterprise;
-
-import javax.ejb.Stateful;
-
-@Stateful
-public class Hat implements HatRemote
-{
-
-}
Deleted: core/trunk/tests/src/test/java/org/jboss/weld/tests/enterprise/HatRemote.java
===================================================================
--- core/trunk/tests/src/test/java/org/jboss/weld/tests/enterprise/HatRemote.java 2010-07-28 11:35:11 UTC (rev 6821)
+++ core/trunk/tests/src/test/java/org/jboss/weld/tests/enterprise/HatRemote.java 2010-07-28 11:45:17 UTC (rev 6822)
@@ -1,25 +0,0 @@
-/*
- * JBoss, Home of Professional Open Source
- * Copyright 2010, Red Hat, Inc., and individual contributors
- * by the @authors tag. See the copyright.txt in the distribution for a
- * full listing of individual contributors.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * http://www.apache.org/licenses/LICENSE-2.0
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.jboss.weld.tests.enterprise;
-
-import javax.ejb.Remote;
-
-@Remote
-public interface HatRemote
-{
-
-}
Deleted: core/trunk/tests/src/test/java/org/jboss/weld/tests/enterprise/HelloAction.java
===================================================================
--- core/trunk/tests/src/test/java/org/jboss/weld/tests/enterprise/HelloAction.java 2010-07-28 11:35:11 UTC (rev 6821)
+++ core/trunk/tests/src/test/java/org/jboss/weld/tests/enterprise/HelloAction.java 2010-07-28 11:45:17 UTC (rev 6822)
@@ -1,56 +0,0 @@
-/*
- * JBoss, Home of Professional Open Source
- * Copyright 2010, Red Hat, Inc., and individual contributors
- * by the @authors tag. See the copyright.txt in the distribution for a
- * full listing of individual contributors.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * http://www.apache.org/licenses/LICENSE-2.0
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.jboss.weld.tests.enterprise;
-
-import javax.inject.Inject;
-
-public class HelloAction
-{
-
- public static long sleepDuration = 1000 * 2;
-
- @Inject
- private IHelloBean helloBean;
-
- private String hello;
- private String goodBye;
-
- public void executeRequest()
- {
- hello = helloBean.sayHello();
- try
- {
- Thread.sleep(sleepDuration);
- }
- catch (InterruptedException e)
- {
- System.out.println("Caught Interruption.");
- }
- goodBye = helloBean.sayGoodbye();
- }
-
- public String getHello()
- {
- return hello;
- }
-
- public String getGoodBye()
- {
- return goodBye;
- }
-
-}
Deleted: core/trunk/tests/src/test/java/org/jboss/weld/tests/enterprise/HelloBean.java
===================================================================
--- core/trunk/tests/src/test/java/org/jboss/weld/tests/enterprise/HelloBean.java 2010-07-28 11:35:11 UTC (rev 6821)
+++ core/trunk/tests/src/test/java/org/jboss/weld/tests/enterprise/HelloBean.java 2010-07-28 11:45:17 UTC (rev 6822)
@@ -1,49 +0,0 @@
-/*
- * JBoss, Home of Professional Open Source
- * Copyright 2010, Red Hat, Inc., and individual contributors
- * by the @authors tag. See the copyright.txt in the distribution for a
- * full listing of individual contributors.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * http://www.apache.org/licenses/LICENSE-2.0
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.jboss.weld.tests.enterprise;
-
-import javax.annotation.Resource;
-import javax.ejb.Remove;
-import javax.ejb.Stateful;
-import javax.enterprise.context.SessionScoped;
-import javax.enterprise.inject.spi.BeanManager;
-
-import org.jboss.ejb3.annotation.CacheConfig;
-
-@Stateful
-@SessionScoped
-@CacheConfig(idleTimeoutSeconds=1)
-public class HelloBean implements IHelloBean
-{
- @Resource(mappedName = "java:comp/BeanManager")
- private BeanManager beanManager;
-
- public String sayHello()
- {
- return "hello";
- }
-
- public String sayGoodbye()
- {
- return beanManager.getELResolver() != null ? "goodbye" : "error";
- }
-
- @Remove
- public void remove()
- {
- }
-}
Deleted: core/trunk/tests/src/test/java/org/jboss/weld/tests/enterprise/IHelloBean.java
===================================================================
--- core/trunk/tests/src/test/java/org/jboss/weld/tests/enterprise/IHelloBean.java 2010-07-28 11:35:11 UTC (rev 6821)
+++ core/trunk/tests/src/test/java/org/jboss/weld/tests/enterprise/IHelloBean.java 2010-07-28 11:45:17 UTC (rev 6822)
@@ -1,31 +0,0 @@
-/*
- * JBoss, Home of Professional Open Source
- * Copyright 2010, Red Hat, Inc., and individual contributors
- * by the @authors tag. See the copyright.txt in the distribution for a
- * full listing of individual contributors.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * http://www.apache.org/licenses/LICENSE-2.0
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.jboss.weld.tests.enterprise;
-
-import javax.ejb.Local;
-
-@Local
-public interface IHelloBean
-{
-
- public abstract String sayHello();
-
- public abstract String sayGoodbye();
-
- public abstract void remove();
-
-}
\ No newline at end of file
Deleted: core/trunk/tests/src/test/java/org/jboss/weld/tests/enterprise/Result.java
===================================================================
--- core/trunk/tests/src/test/java/org/jboss/weld/tests/enterprise/Result.java 2010-07-28 11:35:11 UTC (rev 6821)
+++ core/trunk/tests/src/test/java/org/jboss/weld/tests/enterprise/Result.java 2010-07-28 11:45:17 UTC (rev 6822)
@@ -1,34 +0,0 @@
-/*
- * JBoss, Home of Professional Open Source
- * Copyright 2010, Red Hat, Inc., and individual contributors
- * by the @authors tag. See the copyright.txt in the distribution for a
- * full listing of individual contributors.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * http://www.apache.org/licenses/LICENSE-2.0
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.jboss.weld.tests.enterprise;
-
-public class Result
-{
-
- private final String username;
-
- public Result(String username)
- {
- this.username = username;
- }
-
- public String getUsername()
- {
- return username;
- }
-
-}
Deleted: core/trunk/tests/src/test/java/org/jboss/weld/tests/enterprise/ResultClient.java
===================================================================
--- core/trunk/tests/src/test/java/org/jboss/weld/tests/enterprise/ResultClient.java 2010-07-28 11:35:11 UTC (rev 6821)
+++ core/trunk/tests/src/test/java/org/jboss/weld/tests/enterprise/ResultClient.java 2010-07-28 11:45:17 UTC (rev 6822)
@@ -1,31 +0,0 @@
-/*
- * JBoss, Home of Professional Open Source
- * Copyright 2010, Red Hat, Inc., and individual contributors
- * by the @authors tag. See the copyright.txt in the distribution for a
- * full listing of individual contributors.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * http://www.apache.org/licenses/LICENSE-2.0
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.jboss.weld.tests.enterprise;
-
-import javax.inject.Inject;
-
-public class ResultClient
-{
-
- @Inject @DAO ResultDAO result;
-
- public Result lookupPete()
- {
- return result.findByUser("pete");
- }
-
-}
Deleted: core/trunk/tests/src/test/java/org/jboss/weld/tests/enterprise/ResultDAO.java
===================================================================
--- core/trunk/tests/src/test/java/org/jboss/weld/tests/enterprise/ResultDAO.java 2010-07-28 11:35:11 UTC (rev 6821)
+++ core/trunk/tests/src/test/java/org/jboss/weld/tests/enterprise/ResultDAO.java 2010-07-28 11:45:17 UTC (rev 6822)
@@ -1,27 +0,0 @@
-/*
- * JBoss, Home of Professional Open Source
- * Copyright 2010, Red Hat, Inc., and individual contributors
- * by the @authors tag. See the copyright.txt in the distribution for a
- * full listing of individual contributors.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * http://www.apache.org/licenses/LICENSE-2.0
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.jboss.weld.tests.enterprise;
-
-import javax.ejb.Local;
-
-@Local
-public interface ResultDAO extends AbstractDAO<Result>
-{
-
- public Result findByUser(String username);
-
-}
Deleted: core/trunk/tests/src/test/java/org/jboss/weld/tests/enterprise/ResultDAOImpl.java
===================================================================
--- core/trunk/tests/src/test/java/org/jboss/weld/tests/enterprise/ResultDAOImpl.java 2010-07-28 11:35:11 UTC (rev 6821)
+++ core/trunk/tests/src/test/java/org/jboss/weld/tests/enterprise/ResultDAOImpl.java 2010-07-28 11:45:17 UTC (rev 6822)
@@ -1,29 +0,0 @@
-/*
- * JBoss, Home of Professional Open Source
- * Copyright 2010, Red Hat, Inc., and individual contributors
- * by the @authors tag. See the copyright.txt in the distribution for a
- * full listing of individual contributors.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * http://www.apache.org/licenses/LICENSE-2.0
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.jboss.weld.tests.enterprise;
-
-import javax.ejb.Stateless;
-
-@DAO
-@Stateless
-public class ResultDAOImpl extends AbstractDAOImpl<Result> implements ResultDAO
-{
- public Result findByUser(String username)
- {
- return new Result(username);
- }
-}
\ No newline at end of file
Deleted: core/trunk/tests/src/test/java/org/jboss/weld/tests/enterprise/Scottish.java
===================================================================
--- core/trunk/tests/src/test/java/org/jboss/weld/tests/enterprise/Scottish.java 2010-07-28 11:35:11 UTC (rev 6821)
+++ core/trunk/tests/src/test/java/org/jboss/weld/tests/enterprise/Scottish.java 2010-07-28 11:45:17 UTC (rev 6822)
@@ -1,27 +0,0 @@
-/*
- * JBoss, Home of Professional Open Source
- * Copyright 2010, Red Hat, Inc., and individual contributors
- * by the @authors tag. See the copyright.txt in the distribution for a
- * full listing of individual contributors.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * http://www.apache.org/licenses/LICENSE-2.0
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.jboss.weld.tests.enterprise;
-
-import javax.ejb.Local;
-
-@Local
-public interface Scottish
-{
-
- public Feed getFeed();
-
-}
Deleted: core/trunk/tests/src/test/java/org/jboss/weld/tests/event/Bar.java
===================================================================
--- core/trunk/tests/src/test/java/org/jboss/weld/tests/event/Bar.java 2010-07-28 11:35:11 UTC (rev 6821)
+++ core/trunk/tests/src/test/java/org/jboss/weld/tests/event/Bar.java 2010-07-28 11:45:17 UTC (rev 6822)
@@ -1,90 +0,0 @@
-/*
- * JBoss, Home of Professional Open Source
- * Copyright 2010, Red Hat, Inc., and individual contributors
- * by the @authors tag. See the copyright.txt in the distribution for a
- * full listing of individual contributors.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * http://www.apache.org/licenses/LICENSE-2.0
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.jboss.weld.tests.event;
-
-import javax.enterprise.context.RequestScoped;
-import javax.enterprise.event.Event;
-import javax.enterprise.event.Observes;
-import javax.enterprise.inject.spi.BeanManager;
-import javax.enterprise.util.AnnotationLiteral;
-import javax.inject.Inject;
-
-@RequestScoped
-public class Bar
-{
-
- @Inject Event<String> event;
-
- @Inject @Updated Event<String> updatedEvent;
-
- @Inject BeanManager manager;
-
- private boolean unqualifiedObserved;
- private boolean updatedObserved;
-
- public void fireWithNoQualifiers()
- {
- event.fire("");
- }
-
- public void fireWithUpdatedQualifierViaSelect()
- {
- event.select(new AnnotationLiteral<Updated>() {}).fire("");
- }
-
- public void fireWithNoQualifiersViaManager()
- {
- manager.fireEvent("");
- }
-
- public void fireWithUpdatedQualifierViaManager()
- {
- manager.fireEvent("", new AnnotationLiteral<Updated>() {});
- }
-
- public void fireWithUpdatedQualifierViaAnnotation()
- {
- updatedEvent.fire("");
- }
-
- public void reset()
- {
- unqualifiedObserved = false;
- updatedObserved = false;
- }
-
- public void onEvent(@Observes String event)
- {
- unqualifiedObserved = true;
- }
-
- private void onUpdatedEvent(@Observes @Updated String event)
- {
- updatedObserved = true;
- }
-
- public boolean isUnqualifiedObserved()
- {
- return unqualifiedObserved;
- }
-
- public boolean isUpdatedObserved()
- {
- return updatedObserved;
- }
-
-}
\ No newline at end of file
Deleted: core/trunk/tests/src/test/java/org/jboss/weld/tests/event/EventQualifierTest.java
===================================================================
--- core/trunk/tests/src/test/java/org/jboss/weld/tests/event/EventQualifierTest.java 2010-07-28 11:35:11 UTC (rev 6821)
+++ core/trunk/tests/src/test/java/org/jboss/weld/tests/event/EventQualifierTest.java 2010-07-28 11:45:17 UTC (rev 6822)
@@ -1,52 +0,0 @@
-/*
- * JBoss, Home of Professional Open Source
- * Copyright 2010, Red Hat, Inc., and individual contributors
- * by the @authors tag. See the copyright.txt in the distribution for a
- * full listing of individual contributors.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * http://www.apache.org/licenses/LICENSE-2.0
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.jboss.weld.tests.event;
-
-import org.jboss.testharness.impl.packaging.Artifact;
-import org.jboss.weld.test.AbstractWeldTest;
-import org.testng.annotations.Test;
-
-@Artifact
-public class EventQualifierTest extends AbstractWeldTest
-{
-
- @Test(description="WELD-226")
- public void testDefaultQualifierNotRequired()
- {
- Bar bar = getReference(Bar.class);
- bar.fireWithNoQualifiers();
- assert bar.isUnqualifiedObserved();
- assert !bar.isUpdatedObserved();
- bar.reset();
- bar.fireWithNoQualifiersViaManager();
- assert bar.isUnqualifiedObserved();
- assert !bar.isUpdatedObserved();
- bar.reset();
- bar.fireWithUpdatedQualifierViaAnnotation();
- assert bar.isUnqualifiedObserved();
- assert bar.isUpdatedObserved();
- bar.reset();
- bar.fireWithUpdatedQualifierViaManager();
- assert bar.isUpdatedObserved();
- assert bar.isUnqualifiedObserved();
- bar.reset();
- bar.fireWithUpdatedQualifierViaSelect();
- assert bar.isUnqualifiedObserved();
- assert bar.isUpdatedObserved();
- }
-
-}
Deleted: core/trunk/tests/src/test/java/org/jboss/weld/tests/event/Foo.java
===================================================================
--- core/trunk/tests/src/test/java/org/jboss/weld/tests/event/Foo.java 2010-07-28 11:35:11 UTC (rev 6821)
+++ core/trunk/tests/src/test/java/org/jboss/weld/tests/event/Foo.java 2010-07-28 11:45:17 UTC (rev 6822)
@@ -1,22 +0,0 @@
-/*
- * JBoss, Home of Professional Open Source
- * Copyright 2010, Red Hat, Inc., and individual contributors
- * by the @authors tag. See the copyright.txt in the distribution for a
- * full listing of individual contributors.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * http://www.apache.org/licenses/LICENSE-2.0
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.jboss.weld.tests.event;
-
-public class Foo
-{
-
-}
Deleted: core/trunk/tests/src/test/java/org/jboss/weld/tests/event/NormalScopedBean.java
===================================================================
--- core/trunk/tests/src/test/java/org/jboss/weld/tests/event/NormalScopedBean.java 2010-07-28 11:35:11 UTC (rev 6821)
+++ core/trunk/tests/src/test/java/org/jboss/weld/tests/event/NormalScopedBean.java 2010-07-28 11:45:17 UTC (rev 6822)
@@ -1,32 +0,0 @@
-/*
- * JBoss, Home of Professional Open Source
- * Copyright 2010, Red Hat, Inc., and individual contributors
- * by the @authors tag. See the copyright.txt in the distribution for a
- * full listing of individual contributors.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * http://www.apache.org/licenses/LICENSE-2.0
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package org.jboss.weld.tests.event;
-
-import java.io.Serializable;
-
-import javax.enterprise.context.SessionScoped;
-import javax.enterprise.event.Event;
-import javax.enterprise.inject.Any;
-
-@SessionScoped
-public class NormalScopedBean implements Serializable
-{
-
- @Any Event<Foo> event;
-
-}
Deleted: core/trunk/tests/src/test/java/org/jboss/weld/tests/event/SimpleEventTest.java
===================================================================
--- core/trunk/tests/src/test/java/org/jboss/weld/tests/event/SimpleEventTest.java 2010-07-28 11:35:11 UTC (rev 6821)
+++ core/trunk/tests/src/test/java/org/jboss/weld/tests/event/SimpleEventTest.java 2010-07-28 11:45:17 UTC (rev 6822)
@@ -1,152 +0,0 @@
-/*
- * JBoss, Home of Professional Open Source
- * Copyright 2010, Red Hat, Inc., and individual contributors
- * by the @authors tag. See the copyright.txt in the distribution for a
- * full listing of individual contributors.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * http://www.apache.org/licenses/LICENSE-2.0
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.jboss.weld.tests.event;
-
-import javax.enterprise.event.Event;
-import javax.enterprise.event.Observes;
-import javax.enterprise.inject.Any;
-import javax.enterprise.util.AnnotationLiteral;
-import javax.inject.Inject;
-
-import org.jboss.testharness.impl.packaging.Artifact;
-import org.jboss.weld.manager.BeanManagerImpl;
-import org.jboss.weld.test.AbstractWeldTest;
-import org.testng.annotations.Test;
-
-@Artifact
-public class SimpleEventTest extends AbstractWeldTest
-{
- private static boolean RECEIVE_1_OBSERVED;
- private static boolean RECEIVE_2_OBSERVED;
- private static boolean RECEIVE_3_OBSERVED;
-
- private static void initFlags() {
- RECEIVE_1_OBSERVED = false;
- RECEIVE_2_OBSERVED = false;
- RECEIVE_3_OBSERVED = false;
- }
-
- @Test
- public void testFireEventOnManager()
- {
- BeanManagerImpl manager = getCurrentManager();
-
- initFlags();
-
- manager.fireEvent("Fired using Manager Interface with AnnotationLiteral.", new AnnotationLiteral<Updated>(){});
-
- assert RECEIVE_1_OBSERVED == true;
- assert RECEIVE_2_OBSERVED == true;
- assert RECEIVE_3_OBSERVED == true;
-
- initFlags();
-
- manager.fireEvent("Fired using Manager Interface.");
-
- assert RECEIVE_1_OBSERVED == false; // not called
- assert RECEIVE_2_OBSERVED == true;
- assert RECEIVE_3_OBSERVED == true;
- }
-
- @Test
- public void testFireEventOnEvent()
- {
- App app = getReference(App.class);
-
- initFlags();
-
- app.fireEventByBindingDeclaredAtInjectionPoint();
-
- assert RECEIVE_1_OBSERVED == true;
- assert RECEIVE_2_OBSERVED == true;
- assert RECEIVE_3_OBSERVED == true;
-
- initFlags();
-
- app.fireEventByAnnotationLiteral();
-
- assert RECEIVE_1_OBSERVED == true;
- assert RECEIVE_2_OBSERVED == true;
- assert RECEIVE_3_OBSERVED == true;
-
- initFlags();
-
- app.fireEventViaAny();
-
- assert RECEIVE_2_OBSERVED == true;
- assert RECEIVE_1_OBSERVED == false; // not called
- assert RECEIVE_3_OBSERVED == true;
-
- initFlags();
-
- app.fireEventViaWithNoQualifier();
-
- assert RECEIVE_1_OBSERVED == false; // not called
- assert RECEIVE_2_OBSERVED == true;
- assert RECEIVE_3_OBSERVED == true;
- }
-
- public static class App
- {
- @Inject @Any
- Event<String> event1;
-
- @Inject @Updated
- Event<String> event2;
-
- @Inject
- Event<String> event4;
-
- public void fireEventByAnnotationLiteral()
- {
- event1.select(new AnnotationLiteral<Updated>(){}).fire("Fired using Event Interface with AnnotationLiteral.");
- }
-
- public void fireEventByBindingDeclaredAtInjectionPoint()
- {
- event2.fire("Fired using Event Interface with Binding Declared.");
- }
-
- public void fireEventViaAny()
- {
- event1.fire("Fired using Event Interface");
- }
-
- public void fireEventViaWithNoQualifier()
- {
- event4.fire("Fired using Event Interface with no qualifier");
- }
- }
-
- public static class Receiver
- {
- public void receive1(@Observes @Updated String s)
- {
- RECEIVE_1_OBSERVED = true;
- }
-
- public void receive2(@Any @Observes String s)
- {
- RECEIVE_2_OBSERVED = true;
- }
-
- public void receive3(@Observes String s)
- {
- RECEIVE_3_OBSERVED = true;
- }
- }
-}
\ No newline at end of file
Deleted: core/trunk/tests/src/test/java/org/jboss/weld/tests/event/Updated.java
===================================================================
--- core/trunk/tests/src/test/java/org/jboss/weld/tests/event/Updated.java 2010-07-28 11:35:11 UTC (rev 6821)
+++ core/trunk/tests/src/test/java/org/jboss/weld/tests/event/Updated.java 2010-07-28 11:45:17 UTC (rev 6822)
@@ -1,38 +0,0 @@
-/*
- * JBoss, Home of Professional Open Source
- * Copyright 2010, Red Hat, Inc., and individual contributors
- * by the @authors tag. See the copyright.txt in the distribution for a
- * full listing of individual contributors.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * http://www.apache.org/licenses/LICENSE-2.0
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.jboss.weld.tests.event;
-
-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.inject.Qualifier;
-
-@Qualifier
-@Retention(RUNTIME)
-@Target( { TYPE, METHOD, FIELD, PARAMETER })
-@Documented
-@interface Updated
-{
-
-}
Deleted: core/trunk/tests/src/test/java/org/jboss/weld/tests/extensions/Capercaillie.java
===================================================================
--- core/trunk/tests/src/test/java/org/jboss/weld/tests/extensions/Capercaillie.java 2010-07-28 11:35:11 UTC (rev 6821)
+++ core/trunk/tests/src/test/java/org/jboss/weld/tests/extensions/Capercaillie.java 2010-07-28 11:45:17 UTC (rev 6822)
@@ -1,27 +0,0 @@
-/*
- * JBoss, Home of Professional Open Source
- * Copyright 2010, Red Hat, Inc., and individual contributors
- * by the @authors tag. See the copyright.txt in the distribution for a
- * full listing of individual contributors.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * http://www.apache.org/licenses/LICENSE-2.0
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.jboss.weld.tests.extensions;
-
-public class Capercaillie
-{
-
- public Capercaillie(String name)
- {
- // TODO Auto-generated constructor stub
- }
-
-}
Deleted: core/trunk/tests/src/test/java/org/jboss/weld/tests/extensions/Cow.java
===================================================================
--- core/trunk/tests/src/test/java/org/jboss/weld/tests/extensions/Cow.java 2010-07-28 11:35:11 UTC (rev 6821)
+++ core/trunk/tests/src/test/java/org/jboss/weld/tests/extensions/Cow.java 2010-07-28 11:45:17 UTC (rev 6822)
@@ -1,25 +0,0 @@
-/*
- * JBoss, Home of Professional Open Source
- * Copyright 2010, Red Hat, Inc., and individual contributors
- * by the @authors tag. See the copyright.txt in the distribution for a
- * full listing of individual contributors.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * http://www.apache.org/licenses/LICENSE-2.0
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.jboss.weld.tests.extensions;
-
-import javax.ejb.Stateless;
-
-@Stateless
-public class Cow implements CowLocal
-{
-
-}
Deleted: core/trunk/tests/src/test/java/org/jboss/weld/tests/extensions/CowLocal.java
===================================================================
--- core/trunk/tests/src/test/java/org/jboss/weld/tests/extensions/CowLocal.java 2010-07-28 11:35:11 UTC (rev 6821)
+++ core/trunk/tests/src/test/java/org/jboss/weld/tests/extensions/CowLocal.java 2010-07-28 11:45:17 UTC (rev 6822)
@@ -1,25 +0,0 @@
-/*
- * JBoss, Home of Professional Open Source
- * Copyright 2010, Red Hat, Inc., and individual contributors
- * by the @authors tag. See the copyright.txt in the distribution for a
- * full listing of individual contributors.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * http://www.apache.org/licenses/LICENSE-2.0
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.jboss.weld.tests.extensions;
-
-import javax.ejb.Local;
-
-@Local
-public interface CowLocal
-{
-
-}
Deleted: core/trunk/tests/src/test/java/org/jboss/weld/tests/extensions/ExtensionObserver.java
===================================================================
--- core/trunk/tests/src/test/java/org/jboss/weld/tests/extensions/ExtensionObserver.java 2010-07-28 11:35:11 UTC (rev 6821)
+++ core/trunk/tests/src/test/java/org/jboss/weld/tests/extensions/ExtensionObserver.java 2010-07-28 11:45:17 UTC (rev 6822)
@@ -1,295 +0,0 @@
-/*
- * JBoss, Home of Professional Open Source
- * Copyright 2010, Red Hat, Inc., and individual contributors
- * by the @authors tag. See the copyright.txt in the distribution for a
- * full listing of individual contributors.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * http://www.apache.org/licenses/LICENSE-2.0
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.jboss.weld.tests.extensions;
-
-import javax.enterprise.event.Observes;
-import javax.enterprise.inject.spi.AfterBeanDiscovery;
-import javax.enterprise.inject.spi.AfterDeploymentValidation;
-import javax.enterprise.inject.spi.BeforeBeanDiscovery;
-import javax.enterprise.inject.spi.Extension;
-import javax.enterprise.inject.spi.ProcessAnnotatedType;
-import javax.enterprise.inject.spi.ProcessBean;
-import javax.enterprise.inject.spi.ProcessInjectionTarget;
-import javax.enterprise.inject.spi.ProcessManagedBean;
-import javax.enterprise.inject.spi.ProcessObserverMethod;
-import javax.enterprise.inject.spi.ProcessProducer;
-import javax.enterprise.inject.spi.ProcessProducerField;
-import javax.enterprise.inject.spi.ProcessProducerMethod;
-import javax.enterprise.inject.spi.ProcessSessionBean;
-
-public class ExtensionObserver implements Extension
-{
-
- private boolean allBeforeBeanDiscovery;
- private boolean allAfterBeanDiscovery;
- private boolean allAfterDeploymentValidation;
- private boolean allProcessBean;
- private boolean allProcessInjectionTarget;
- private boolean allProcessManagedBean;
- private boolean allProcessObserverMethod;
- private boolean allProcessProducer;
- private boolean allProcessProducerField;
- private boolean allProcessProducerMethod;
- private boolean allProcessSessionBean;
- private boolean allProcessAnnnotatedType;
-
- private boolean beforeBeanDiscovery;
- private boolean afterBeanDiscovery;
- private boolean afterDeploymentValidation;
- private boolean processBean;
- private boolean processInjectionTarget;
- private boolean processManagedBean;
- private boolean processObserverMethod;
- private boolean processProducer;
- private boolean processProducerField;
- private boolean processProducerMethod;
- private boolean processSessionBean;
- private boolean processAnnotatedType;
-
- public void observeAll(@Observes Object event)
- {
- if (event instanceof BeforeBeanDiscovery)
- {
- allBeforeBeanDiscovery = true;
- }
- if (event instanceof AfterBeanDiscovery)
- {
- allAfterBeanDiscovery = true;
- }
- if (event instanceof AfterDeploymentValidation)
- {
- allAfterDeploymentValidation = true;
- }
- if (event instanceof ProcessBean<?> && !(event instanceof ProcessProducerField<?, ?> || event instanceof ProcessProducerMethod<?, ?> || event instanceof ProcessManagedBean<?> || event instanceof ProcessSessionBean<?>))
- {
- allProcessBean = true;
- }
- if (event instanceof ProcessInjectionTarget<?>)
- {
- allProcessInjectionTarget = true;
- }
- if (event instanceof ProcessManagedBean<?>)
- {
- allProcessManagedBean = true;
- }
- if (event instanceof ProcessObserverMethod<?, ?>)
- {
- allProcessObserverMethod = true;
- }
- if (event instanceof ProcessProducer<?, ?>)
- {
- allProcessProducer = true;
- }
- if (event instanceof ProcessProducerField<?, ?>)
- {
- allProcessProducerField = true;
- }
- if (event instanceof ProcessProducerMethod<?, ?>)
- {
- allProcessProducerMethod = true;
- }
- if (event instanceof ProcessSessionBean<?>)
- {
- allProcessSessionBean = true;
- }
- if (event instanceof ProcessAnnotatedType<?>)
- {
- allProcessAnnnotatedType = true;
- }
- }
-
- public void observeBeforeBeanDiscovery(@Observes BeforeBeanDiscovery event)
- {
- beforeBeanDiscovery = true;
- }
-
- public void observeAfterBeanDiscovery(@Observes AfterBeanDiscovery event)
- {
- afterBeanDiscovery = true;
- }
-
- public void observeAfterDeploymentValidation(@Observes AfterDeploymentValidation event)
- {
- afterDeploymentValidation = true;
- }
-
- public void observeProcessBean(@Observes ProcessBean<?> event)
- {
- processBean = true;
- }
-
- public void observeProcessInjectionTarget(@Observes ProcessInjectionTarget<?> event)
- {
- processInjectionTarget = true;
- }
-
- public void observeProcessProducer(@Observes ProcessProducer<?, ?> event)
- {
- processProducer = true;
- }
-
- public void observeProcessProducerMethod(@Observes ProcessProducerMethod<?, ?> event)
- {
- processProducerMethod = true;
- }
-
- public void observeProcessProducerField(@Observes ProcessProducerField<?, ?> event)
- {
- processProducerField = true;
- }
-
- public void observeProcessObserverMethod(@Observes ProcessObserverMethod<?, ?> event)
- {
- processObserverMethod = true;
- }
-
- public void observeProcessManagedBean(@Observes ProcessManagedBean<?> event)
- {
- processManagedBean = true;
- }
-
- public void observeProcessSessionBean(@Observes ProcessSessionBean<?> event)
- {
- processSessionBean = true;
- }
-
- public void observeProcessAnnotatedType(@Observes ProcessAnnotatedType<?> event)
- {
- processAnnotatedType = true;
- }
-
- public boolean isAllBeforeBeanDiscovery()
- {
- return allBeforeBeanDiscovery;
- }
-
- public boolean isAllAfterBeanDiscovery()
- {
- return allAfterBeanDiscovery;
- }
-
- public boolean isAllAfterDeploymentValidation()
- {
- return allAfterDeploymentValidation;
- }
-
- public boolean isAllProcessBean()
- {
- return allProcessBean;
- }
-
- public boolean isAllProcessInjectionTarget()
- {
- return allProcessInjectionTarget;
- }
-
- public boolean isAllProcessManagedBean()
- {
- return allProcessManagedBean;
- }
-
- public boolean isAllProcessObserverMethod()
- {
- return allProcessObserverMethod;
- }
-
- public boolean isAllProcessProducer()
- {
- return allProcessProducer;
- }
-
- public boolean isAllProcessProducerField()
- {
- return allProcessProducerField;
- }
-
- public boolean isAllProcessProducerMethod()
- {
- return allProcessProducerMethod;
- }
-
- public boolean isAllProcessSessionBean()
- {
- return allProcessSessionBean;
- }
-
- public boolean isAllProcessAnnnotatedType()
- {
- return allProcessAnnnotatedType;
- }
-
- public boolean isBeforeBeanDiscovery()
- {
- return beforeBeanDiscovery;
- }
-
- public boolean isAfterBeanDiscovery()
- {
- return afterBeanDiscovery;
- }
-
- public boolean isAfterDeploymentValidation()
- {
- return afterDeploymentValidation;
- }
-
- public boolean isProcessBean()
- {
- return processBean;
- }
-
- public boolean isProcessInjectionTarget()
- {
- return processInjectionTarget;
- }
-
- public boolean isProcessManagedBean()
- {
- return processManagedBean;
- }
-
- public boolean isProcessObserverMethod()
- {
- return processObserverMethod;
- }
-
- public boolean isProcessProducer()
- {
- return processProducer;
- }
-
- public boolean isProcessProducerField()
- {
- return processProducerField;
- }
-
- public boolean isProcessProducerMethod()
- {
- return processProducerMethod;
- }
-
- public boolean isProcessSessionBean()
- {
- return processSessionBean;
- }
-
- public boolean isProcessAnnotatedType()
- {
- return processAnnotatedType;
- }
-
-}
Deleted: core/trunk/tests/src/test/java/org/jboss/weld/tests/extensions/ExtensionTest.java
===================================================================
--- core/trunk/tests/src/test/java/org/jboss/weld/tests/extensions/ExtensionTest.java 2010-07-28 11:35:11 UTC (rev 6821)
+++ core/trunk/tests/src/test/java/org/jboss/weld/tests/extensions/ExtensionTest.java 2010-07-28 11:45:17 UTC (rev 6822)
@@ -1,119 +0,0 @@
-/*
- * JBoss, Home of Professional Open Source
- * Copyright 2010, Red Hat, Inc., and individual contributors
- * by the @authors tag. See the copyright.txt in the distribution for a
- * full listing of individual contributors.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * http://www.apache.org/licenses/LICENSE-2.0
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.jboss.weld.tests.extensions;
-
-import org.jboss.testharness.impl.packaging.Artifact;
-import org.jboss.testharness.impl.packaging.IntegrationTest;
-import org.jboss.testharness.impl.packaging.Packaging;
-import org.jboss.testharness.impl.packaging.PackagingType;
-import org.jboss.testharness.impl.packaging.jsr299.Extension;
-import org.jboss.weld.test.AbstractWeldTest;
-import org.testng.annotations.Test;
-
-@Artifact
-@IntegrationTest
-(a)Packaging(PackagingType.EAR)
-@Extension("javax.enterprise.inject.spi.Extension")
-public class ExtensionTest extends AbstractWeldTest
-{
-
- @Test(description="WELD-234")
- public void testExtensionInjectableAsBean()
- {
- assert getReference(SimpleExtension.class).isObservedBeforeBeanDiscovery();
- }
-
- @Test(description="WELD-243")
- public void testContainerEventsOnlySentToExtensionBeans()
- {
- ExtensionObserver extensionObserver = getReference(ExtensionObserver.class);
- OtherObserver otherObserver = getReference(OtherObserver.class);
-
- assert extensionObserver.isBeforeBeanDiscovery();
- assert extensionObserver.isAllBeforeBeanDiscovery();
- assert !otherObserver.isBeforeBeanDiscovery();
- assert !otherObserver.isAllBeforeBeanDiscovery();
-
- assert extensionObserver.isAfterBeanDiscovery();
- assert extensionObserver.isAllAfterBeanDiscovery();
- assert !otherObserver.isAfterBeanDiscovery();
- assert !otherObserver.isAllAfterBeanDiscovery();
-
- assert extensionObserver.isProcessAnnotatedType();
- assert extensionObserver.isAllProcessAnnnotatedType();
- assert !otherObserver.isProcessAnnotatedType();
- assert !otherObserver.isAllProcessAnnotatedType();
-
- assert extensionObserver.isProcessBean();
- assert extensionObserver.isAllProcessBean();
- assert !otherObserver.isProcessBean();
- assert !otherObserver.isAllProcessBean();
-
- assert extensionObserver.isProcessInjectionTarget();
- assert extensionObserver.isAllProcessInjectionTarget();
- assert !otherObserver.isProcessInjectionTarget();
- assert !otherObserver.isAllProcessInjectionTarget();
-
- assert extensionObserver.isProcessManagedBean();
- assert extensionObserver.isAllProcessManagedBean();
- assert !otherObserver.isProcessManagedBean();
- assert !otherObserver.isAllProcessManagedBean();
-
- assert extensionObserver.isProcessObserverMethod();
- assert extensionObserver.isAllProcessObserverMethod();
- assert !otherObserver.isProcessObserverMethod();
- assert !otherObserver.isAllProcessObserverMethod();
-
- assert extensionObserver.isProcessProducer();
- assert extensionObserver.isAllProcessProducer();
- assert !otherObserver.isProcessProducer();
- assert !otherObserver.isAllProcessProducer();
-
- assert extensionObserver.isProcessProducerField();
- assert extensionObserver.isAllProcessProducerField();
- assert !otherObserver.isProcessProducerField();
- assert !otherObserver.isAllProcessProducerField();
-
- assert extensionObserver.isProcessProducerMethod();
- assert extensionObserver.isAllProcessProducerField();
- assert !otherObserver.isProcessProducerMethod();
- assert !otherObserver.isAllProcessProducerMethod();
-
- assert extensionObserver.isProcessSessionBean();
- assert extensionObserver.isAllProcessSessionBean();
- assert !otherObserver.isProcessSessionBean();
- assert !otherObserver.isAllProcessSessionBean();
-
- assert extensionObserver.isAfterDeploymentValidation();
- assert extensionObserver.isAllAfterDeploymentValidation();
- assert !otherObserver.isAfterDeploymentValidation();
- assert !otherObserver.isAllAfterDeploymentValidation();
-
- }
-
- @Test
- public void testInjectionTargetWrapped()
- {
- getReference(Capercaillie.class);
- assert Woodland.isPostConstructCalled();
- assert WoodlandExtension.isInjectCalled();
- assert WoodlandExtension.isPostConstructCalled();
- assert WoodlandExtension.isPreDestroyCalled();
- assert WoodlandExtension.isProduceCalled();
- }
-
-}
Deleted: core/trunk/tests/src/test/java/org/jboss/weld/tests/extensions/Foo.java
===================================================================
--- core/trunk/tests/src/test/java/org/jboss/weld/tests/extensions/Foo.java 2010-07-28 11:35:11 UTC (rev 6821)
+++ core/trunk/tests/src/test/java/org/jboss/weld/tests/extensions/Foo.java 2010-07-28 11:45:17 UTC (rev 6822)
@@ -1,31 +0,0 @@
-/*
- * JBoss, Home of Professional Open Source
- * Copyright 2010, Red Hat, Inc., and individual contributors
- * by the @authors tag. See the copyright.txt in the distribution for a
- * full listing of individual contributors.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * http://www.apache.org/licenses/LICENSE-2.0
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.jboss.weld.tests.extensions;
-
-import javax.inject.Inject;
-
-public class Foo
-{
-
- @Inject SimpleExtension simpleExtension;
-
- public SimpleExtension getSimpleExtension()
- {
- return simpleExtension;
- }
-
-}
Deleted: core/trunk/tests/src/test/java/org/jboss/weld/tests/extensions/Horse.java
===================================================================
--- core/trunk/tests/src/test/java/org/jboss/weld/tests/extensions/Horse.java 2010-07-28 11:35:11 UTC (rev 6821)
+++ core/trunk/tests/src/test/java/org/jboss/weld/tests/extensions/Horse.java 2010-07-28 11:45:17 UTC (rev 6822)
@@ -1,22 +0,0 @@
-/*
- * JBoss, Home of Professional Open Source
- * Copyright 2010, Red Hat, Inc., and individual contributors
- * by the @authors tag. See the copyright.txt in the distribution for a
- * full listing of individual contributors.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * http://www.apache.org/licenses/LICENSE-2.0
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.jboss.weld.tests.extensions;
-
-public class Horse
-{
-
-}
Deleted: core/trunk/tests/src/test/java/org/jboss/weld/tests/extensions/OtherObserver.java
===================================================================
--- core/trunk/tests/src/test/java/org/jboss/weld/tests/extensions/OtherObserver.java 2010-07-28 11:35:11 UTC (rev 6821)
+++ core/trunk/tests/src/test/java/org/jboss/weld/tests/extensions/OtherObserver.java 2010-07-28 11:45:17 UTC (rev 6822)
@@ -1,296 +0,0 @@
-/*
- * JBoss, Home of Professional Open Source
- * Copyright 2010, Red Hat, Inc., and individual contributors
- * by the @authors tag. See the copyright.txt in the distribution for a
- * full listing of individual contributors.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * http://www.apache.org/licenses/LICENSE-2.0
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.jboss.weld.tests.extensions;
-
-import javax.enterprise.context.ApplicationScoped;
-import javax.enterprise.event.Observes;
-import javax.enterprise.inject.spi.AfterBeanDiscovery;
-import javax.enterprise.inject.spi.AfterDeploymentValidation;
-import javax.enterprise.inject.spi.BeforeBeanDiscovery;
-import javax.enterprise.inject.spi.ProcessAnnotatedType;
-import javax.enterprise.inject.spi.ProcessBean;
-import javax.enterprise.inject.spi.ProcessInjectionTarget;
-import javax.enterprise.inject.spi.ProcessManagedBean;
-import javax.enterprise.inject.spi.ProcessObserverMethod;
-import javax.enterprise.inject.spi.ProcessProducer;
-import javax.enterprise.inject.spi.ProcessProducerField;
-import javax.enterprise.inject.spi.ProcessProducerMethod;
-import javax.enterprise.inject.spi.ProcessSessionBean;
-
-@ApplicationScoped
-public class OtherObserver
-{
-
- private boolean allBeforeBeanDiscovery;
- private boolean allAfterBeanDiscovery;
- private boolean allAfterDeploymentValidation;
- private boolean allProcessBean;
- private boolean allProcessInjectionTarget;
- private boolean allProcessManagedBean;
- private boolean allProcessObserverMethod;
- private boolean allProcessProducer;
- private boolean allProcessProducerField;
- private boolean allProcessProducerMethod;
- private boolean allProcessSession;
- private boolean allProcessAnnotatedType;
-
- private boolean beforeBeanDiscovery;
- private boolean afterBeanDiscovery;
- private boolean afterDeploymentValidation;
- private boolean processBean;
- private boolean processInjectionTarget;
- private boolean processManagedBean;
- private boolean processObserverMethod;
- private boolean processProducer;
- private boolean processProducerField;
- private boolean processProducerMethod;
- private boolean processSessionBean;
- private boolean processAnnotatedType;
-
- public void observeAll(@Observes Object event)
- {
- if (event instanceof BeforeBeanDiscovery)
- {
- allBeforeBeanDiscovery = true;
- }
- if (event instanceof AfterBeanDiscovery)
- {
- allAfterBeanDiscovery = true;
- }
- if (event instanceof AfterDeploymentValidation)
- {
- allAfterDeploymentValidation = true;
- }
- if (event instanceof ProcessBean<?> && !(event instanceof ProcessProducerField<?, ?> || event instanceof ProcessProducerMethod<?, ?> || event instanceof ProcessManagedBean<?> || event instanceof ProcessSessionBean<?>))
- {
- allProcessBean = true;
- }
- if (event instanceof ProcessInjectionTarget<?>)
- {
- allProcessInjectionTarget = true;
- }
- if (event instanceof ProcessManagedBean<?>)
- {
- allProcessManagedBean = true;
- }
- if (event instanceof ProcessObserverMethod<?, ?>)
- {
- allProcessObserverMethod = true;
- }
- if (event instanceof ProcessProducer<?, ?>)
- {
- allProcessProducer = true;
- }
- if (event instanceof ProcessProducerField<?, ?>)
- {
- allProcessProducerField = true;
- }
- if (event instanceof ProcessProducerMethod<?, ?>)
- {
- allProcessProducerMethod = true;
- }
- if (event instanceof ProcessSessionBean<?>)
- {
- allProcessSession = true;
- }
- if (event instanceof ProcessAnnotatedType<?>)
- {
- allProcessAnnotatedType = true;
- }
- }
-
- public void observeBeforeBeanDiscovery(@Observes BeforeBeanDiscovery event)
- {
- beforeBeanDiscovery = true;
- }
-
- public void observeAfterBeanDiscovery(@Observes AfterBeanDiscovery event)
- {
- afterBeanDiscovery = true;
- }
-
- public void observeAfterDeploymentValidation(@Observes AfterDeploymentValidation event)
- {
- afterDeploymentValidation = true;
- }
-
- public void observeProcessBean(@Observes ProcessBean<?> event)
- {
- processBean = true;
- }
-
- public void observeProcessInjectionTarget(@Observes ProcessInjectionTarget<?> event)
- {
- processInjectionTarget = true;
- }
-
- public void observeProcessProducer(@Observes ProcessProducer<?, ?> event)
- {
- processProducer = true;
- }
-
- public void observeProcessProducerMethod(@Observes ProcessProducerMethod<?, ?> event)
- {
- processProducerMethod = true;
- }
-
- public void observeProcessProducerField(@Observes ProcessProducerField<?, ?> event)
- {
- processProducerField = true;
- }
-
- public void observeProcessObserverMethod(@Observes ProcessObserverMethod<?, ?> event)
- {
- processObserverMethod = true;
- }
-
- public void observeProcessManagedBean(@Observes ProcessManagedBean<?> event)
- {
- processManagedBean = true;
- }
-
- public void observeProcessSessionBean(@Observes ProcessSessionBean<?> event)
- {
- processSessionBean = true;
- }
-
- public void observeProcessAnnotatedType(@Observes ProcessAnnotatedType<?> event)
- {
- processAnnotatedType = true;
- }
-
- public boolean isAllBeforeBeanDiscovery()
- {
- return allBeforeBeanDiscovery;
- }
-
- public boolean isAllAfterBeanDiscovery()
- {
- return allAfterBeanDiscovery;
- }
-
- public boolean isAllAfterDeploymentValidation()
- {
- return allAfterDeploymentValidation;
- }
-
- public boolean isAllProcessBean()
- {
- return allProcessBean;
- }
-
- public boolean isAllProcessInjectionTarget()
- {
- return allProcessInjectionTarget;
- }
-
- public boolean isAllProcessManagedBean()
- {
- return allProcessManagedBean;
- }
-
- public boolean isAllProcessObserverMethod()
- {
- return allProcessObserverMethod;
- }
-
- public boolean isAllProcessProducer()
- {
- return allProcessProducer;
- }
-
- public boolean isAllProcessProducerField()
- {
- return allProcessProducerField;
- }
-
- public boolean isAllProcessProducerMethod()
- {
- return allProcessProducerMethod;
- }
-
- public boolean isAllProcessSessionBean()
- {
- return allProcessSession;
- }
-
- public boolean isAllProcessAnnotatedType()
- {
- return allProcessAnnotatedType;
- }
-
- public boolean isBeforeBeanDiscovery()
- {
- return beforeBeanDiscovery;
- }
-
- public boolean isAfterBeanDiscovery()
- {
- return afterBeanDiscovery;
- }
-
- public boolean isAfterDeploymentValidation()
- {
- return afterDeploymentValidation;
- }
-
- public boolean isProcessBean()
- {
- return processBean;
- }
-
- public boolean isProcessInjectionTarget()
- {
- return processInjectionTarget;
- }
-
- public boolean isProcessManagedBean()
- {
- return processManagedBean;
- }
-
- public boolean isProcessObserverMethod()
- {
- return processObserverMethod;
- }
-
- public boolean isProcessProducer()
- {
- return processProducer;
- }
-
- public boolean isProcessProducerField()
- {
- return processProducerField;
- }
-
- public boolean isProcessProducerMethod()
- {
- return processProducerMethod;
- }
-
- public boolean isProcessSessionBean()
- {
- return processSessionBean;
- }
-
- public boolean isProcessAnnotatedType()
- {
- return processAnnotatedType;
- }
-
-}
Deleted: core/trunk/tests/src/test/java/org/jboss/weld/tests/extensions/Rat.java
===================================================================
--- core/trunk/tests/src/test/java/org/jboss/weld/tests/extensions/Rat.java 2010-07-28 11:35:11 UTC (rev 6821)
+++ core/trunk/tests/src/test/java/org/jboss/weld/tests/extensions/Rat.java 2010-07-28 11:45:17 UTC (rev 6822)
@@ -1,22 +0,0 @@
-/*
- * JBoss, Home of Professional Open Source
- * Copyright 2010, Red Hat, Inc., and individual contributors
- * by the @authors tag. See the copyright.txt in the distribution for a
- * full listing of individual contributors.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * http://www.apache.org/licenses/LICENSE-2.0
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.jboss.weld.tests.extensions;
-
-public class Rat
-{
-
-}
Deleted: core/trunk/tests/src/test/java/org/jboss/weld/tests/extensions/SimpleExtension.java
===================================================================
--- core/trunk/tests/src/test/java/org/jboss/weld/tests/extensions/SimpleExtension.java 2010-07-28 11:35:11 UTC (rev 6821)
+++ core/trunk/tests/src/test/java/org/jboss/weld/tests/extensions/SimpleExtension.java 2010-07-28 11:45:17 UTC (rev 6822)
@@ -1,46 +0,0 @@
-/*
- * JBoss, Home of Professional Open Source
- * Copyright 2010, Red Hat, Inc., and individual contributors
- * by the @authors tag. See the copyright.txt in the distribution for a
- * full listing of individual contributors.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * http://www.apache.org/licenses/LICENSE-2.0
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.jboss.weld.tests.extensions;
-import javax.enterprise.event.Observes;
-import javax.enterprise.inject.spi.BeanManager;
-import javax.enterprise.inject.spi.BeforeBeanDiscovery;
-import javax.enterprise.inject.spi.BeforeShutdown;
-import javax.enterprise.inject.spi.Extension;
-
-
-public class SimpleExtension implements Extension
-{
-
- private static boolean observedBeforeBeanDiscovery;
-
- public void observe(@Observes BeforeBeanDiscovery event)
- {
- observedBeforeBeanDiscovery = true;
- }
-
- public static boolean isObservedBeforeBeanDiscovery()
- {
- return observedBeforeBeanDiscovery;
- }
-
- public void observeBeforeShutdown(@Observes BeforeShutdown beforeShutdown, BeanManager beanManager)
- {
- assert beanManager != null;
- assert beanManager.getELResolver() != null;
- }
-
-}
Deleted: core/trunk/tests/src/test/java/org/jboss/weld/tests/extensions/Special.java
===================================================================
--- core/trunk/tests/src/test/java/org/jboss/weld/tests/extensions/Special.java 2010-07-28 11:35:11 UTC (rev 6821)
+++ core/trunk/tests/src/test/java/org/jboss/weld/tests/extensions/Special.java 2010-07-28 11:45:17 UTC (rev 6822)
@@ -1,36 +0,0 @@
-/*
- * JBoss, Home of Professional Open Source
- * Copyright 2010, Red Hat, Inc., and individual contributors
- * by the @authors tag. See the copyright.txt in the distribution for a
- * full listing of individual contributors.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * http://www.apache.org/licenses/LICENSE-2.0
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.jboss.weld.tests.extensions;
-
-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 java.lang.annotation.Retention;
-import java.lang.annotation.RetentionPolicy;
-import java.lang.annotation.Target;
-
-import javax.inject.Qualifier;
-
-@Qualifier
-(a)Retention(RetentionPolicy.RUNTIME)
-@Target({FIELD, METHOD, TYPE, PARAMETER})
-public @interface Special
-{
-
-}
Deleted: core/trunk/tests/src/test/java/org/jboss/weld/tests/extensions/Stable.java
===================================================================
--- core/trunk/tests/src/test/java/org/jboss/weld/tests/extensions/Stable.java 2010-07-28 11:35:11 UTC (rev 6821)
+++ core/trunk/tests/src/test/java/org/jboss/weld/tests/extensions/Stable.java 2010-07-28 11:45:17 UTC (rev 6822)
@@ -1,31 +0,0 @@
-/*
- * JBoss, Home of Professional Open Source
- * Copyright 2010, Red Hat, Inc., and individual contributors
- * by the @authors tag. See the copyright.txt in the distribution for a
- * full listing of individual contributors.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * http://www.apache.org/licenses/LICENSE-2.0
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.jboss.weld.tests.extensions;
-
-import javax.enterprise.inject.Produces;
-
-public class Stable
-{
-
- @Produces @Special Rat rat = new Rat();
-
- @Produces @Special Horse produce()
- {
- return new Horse();
- }
-
-}
Deleted: core/trunk/tests/src/test/java/org/jboss/weld/tests/extensions/Woodland.java
===================================================================
--- core/trunk/tests/src/test/java/org/jboss/weld/tests/extensions/Woodland.java 2010-07-28 11:35:11 UTC (rev 6821)
+++ core/trunk/tests/src/test/java/org/jboss/weld/tests/extensions/Woodland.java 2010-07-28 11:45:17 UTC (rev 6822)
@@ -1,46 +0,0 @@
-/*
- * JBoss, Home of Professional Open Source
- * Copyright 2010, Red Hat, Inc., and individual contributors
- * by the @authors tag. See the copyright.txt in the distribution for a
- * full listing of individual contributors.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * http://www.apache.org/licenses/LICENSE-2.0
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.jboss.weld.tests.extensions;
-
-import javax.annotation.PostConstruct;
-import javax.enterprise.inject.Produces;
-
-public class Woodland
-{
-
- private static boolean postConstructCalled;
-
- @Produces
- private Capercaillie capercaillie = new Capercaillie("bob");
-
- @PostConstruct
- public void postConstruct()
- {
- postConstructCalled = true;
- }
-
- public static boolean isPostConstructCalled()
- {
- return postConstructCalled;
- }
-
- public static void reset()
- {
- postConstructCalled = false;
- }
-
-}
Deleted: core/trunk/tests/src/test/java/org/jboss/weld/tests/extensions/WoodlandExtension.java
===================================================================
--- core/trunk/tests/src/test/java/org/jboss/weld/tests/extensions/WoodlandExtension.java 2010-07-28 11:35:11 UTC (rev 6821)
+++ core/trunk/tests/src/test/java/org/jboss/weld/tests/extensions/WoodlandExtension.java 2010-07-28 11:45:17 UTC (rev 6822)
@@ -1,115 +0,0 @@
-/*
- * JBoss, Home of Professional Open Source
- * Copyright 2010, Red Hat, Inc., and individual contributors
- * by the @authors tag. See the copyright.txt in the distribution for a
- * full listing of individual contributors.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * http://www.apache.org/licenses/LICENSE-2.0
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.jboss.weld.tests.extensions;
-
-import java.util.Set;
-
-import javax.enterprise.context.spi.CreationalContext;
-import javax.enterprise.event.Observes;
-import javax.enterprise.inject.spi.BeforeShutdown;
-import javax.enterprise.inject.spi.Extension;
-import javax.enterprise.inject.spi.InjectionPoint;
-import javax.enterprise.inject.spi.InjectionTarget;
-import javax.enterprise.inject.spi.ProcessInjectionTarget;
-
-public class WoodlandExtension implements Extension
-{
-
- private static boolean injectCalled;
- private static boolean postConstructCalled;
- private static boolean preDestroyCalled;
- private static boolean produceCalled;
-
- public void cleanup(@Observes BeforeShutdown shutdown)
- {
- reset();
- Woodland.reset();
- }
-
- public void enhanceWoodland(final @Observes ProcessInjectionTarget<Woodland> processWoodland)
- {
- final InjectionTarget<Woodland> it = processWoodland.getInjectionTarget();
- processWoodland.setInjectionTarget(new InjectionTarget<Woodland>()
- {
-
- public void inject(Woodland instance, CreationalContext<Woodland> ctx)
- {
- injectCalled = true;
- it.inject(instance, ctx);
- }
-
- public void postConstruct(Woodland instance)
- {
- postConstructCalled = true;
- it.postConstruct(instance);
- }
-
- public void preDestroy(Woodland instance)
- {
- preDestroyCalled = true;
- it.preDestroy(instance);
- }
-
- public void dispose(Woodland instance)
- {
- // No-op for class bean
-
- }
-
- public Set<InjectionPoint> getInjectionPoints()
- {
- return it.getInjectionPoints();
- }
-
- public Woodland produce(CreationalContext<Woodland> ctx)
- {
- produceCalled = true;
- return it.produce(ctx);
- }
-
- });
- }
-
- public static void reset()
- {
- injectCalled = false;
- postConstructCalled = false;
- preDestroyCalled = false;
- preDestroyCalled = false;
- }
-
- public static boolean isInjectCalled()
- {
- return injectCalled;
- }
-
- public static boolean isPostConstructCalled()
- {
- return postConstructCalled;
- }
-
- public static boolean isPreDestroyCalled()
- {
- return preDestroyCalled;
- }
-
- public static boolean isProduceCalled()
- {
- return produceCalled;
- }
-
-}
Deleted: core/trunk/tests/src/test/java/org/jboss/weld/tests/extensions/annotatedType/AnnotatedTypeExtension.java
===================================================================
--- core/trunk/tests/src/test/java/org/jboss/weld/tests/extensions/annotatedType/AnnotatedTypeExtension.java 2010-07-28 11:35:11 UTC (rev 6821)
+++ core/trunk/tests/src/test/java/org/jboss/weld/tests/extensions/annotatedType/AnnotatedTypeExtension.java 2010-07-28 11:45:17 UTC (rev 6822)
@@ -1,563 +0,0 @@
-/*
- * JBoss, Home of Professional Open Source
- * Copyright 2010, Red Hat, Inc., and individual contributors
- * by the @authors tag. See the copyright.txt in the distribution for a
- * full listing of individual contributors.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * http://www.apache.org/licenses/LICENSE-2.0
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.jboss.weld.tests.extensions.annotatedType;
-
-import java.lang.annotation.Annotation;
-import java.lang.reflect.Constructor;
-import java.lang.reflect.Field;
-import java.lang.reflect.Method;
-import java.lang.reflect.Type;
-import java.util.ArrayList;
-import java.util.Collections;
-import java.util.HashSet;
-import java.util.List;
-import java.util.Set;
-
-import javax.enterprise.event.Observes;
-import javax.enterprise.inject.spi.AnnotatedCallable;
-import javax.enterprise.inject.spi.AnnotatedConstructor;
-import javax.enterprise.inject.spi.AnnotatedField;
-import javax.enterprise.inject.spi.AnnotatedMethod;
-import javax.enterprise.inject.spi.AnnotatedParameter;
-import javax.enterprise.inject.spi.AnnotatedType;
-import javax.enterprise.inject.spi.BeforeBeanDiscovery;
-import javax.enterprise.inject.spi.Extension;
-import javax.enterprise.inject.spi.ProcessAnnotatedType;
-import javax.inject.Inject;
-
-import org.jboss.weld.tests.extensions.annotatedType.EcoFriendlyWashingMachine.EcoFriendlyWashingMachineLiteral;
-import org.jboss.weld.util.collections.Arrays2;
-
-public class AnnotatedTypeExtension implements Extension
-{
-
- public void addTumbleDryer(@Observes BeforeBeanDiscovery beforeBeanDiscovery)
- {
-
- final Set<AnnotatedConstructor<TumbleDryer>> constructors = new HashSet<AnnotatedConstructor<TumbleDryer>>();
- final Set<AnnotatedField<? super TumbleDryer>> fields = new HashSet<AnnotatedField<? super TumbleDryer>>();
- final Set<AnnotatedMethod<? super TumbleDryer>> methods = new HashSet<AnnotatedMethod<? super TumbleDryer>>();
-
- final AnnotatedType<TumbleDryer> tumbleDryer = new AnnotatedType<TumbleDryer>()
- {
-
- public Set<AnnotatedConstructor<TumbleDryer>> getConstructors()
- {
- return constructors;
- }
-
- public Set<AnnotatedField<? super TumbleDryer>> getFields()
- {
- return fields;
- }
-
- public Set<AnnotatedMethod<? super TumbleDryer>> getMethods()
- {
- return methods;
- }
-
- // Now the easy stuff
-
- public Class<TumbleDryer> getJavaClass()
- {
- return TumbleDryer.class;
- }
-
- public <T extends Annotation> T getAnnotation(Class<T> annotationType)
- {
- // Class has no annotations
- return null;
- }
-
- public Set<Annotation> getAnnotations()
- {
- return Collections.emptySet();
- }
-
- public Type getBaseType()
- {
- return TumbleDryer.class;
- }
-
- public Set<Type> getTypeClosure()
- {
- return Arrays2.<Type>asSet(TumbleDryer.class, Object.class);
- }
-
- public boolean isAnnotationPresent(Class<? extends Annotation> annotationType)
- {
- // Class has no annotations
- return false;
- }
-
- };
-
- AnnotatedField<TumbleDryer> plug = new AnnotatedField<TumbleDryer>()
- {
-
- public Field getJavaMember()
- {
- try
- {
- return TumbleDryer.class.getDeclaredField("plug");
- }
- catch (NoSuchFieldException e)
- {
- throw new RuntimeException(e);
- }
- }
-
- public boolean isStatic()
- {
- return false;
- }
-
- public <T extends Annotation> T getAnnotation(Class<T> annotationType)
- {
- if (annotationType.equals(Inject.class))
- {
- return annotationType.cast(InjectLiteral.INSTANCE);
- }
- else if (annotationType.equals(Special.class))
- {
- return annotationType.cast(SpecialLiteral.INSTANCE);
- }
- else
- {
- return null;
- }
- }
-
- public Set<Annotation> getAnnotations()
- {
- return Arrays2.asSet(InjectLiteral.INSTANCE, SpecialLiteral.INSTANCE);
- }
-
- public Type getBaseType()
- {
- return Plug.class;
- }
-
- public Set<Type> getTypeClosure()
- {
- return Arrays2.<Type>asSet(Plug.class, Object.class);
- }
-
- public boolean isAnnotationPresent(Class<? extends Annotation> annotationType)
- {
- if (annotationType.equals(Inject.class) || annotationType.equals(Special.class))
- {
- return true;
- }
- else
- {
- return false;
- }
- }
-
- public AnnotatedType<TumbleDryer> getDeclaringType()
- {
- return tumbleDryer;
- }
- };
- fields.add(plug);
-
-
- final List<AnnotatedParameter<TumbleDryer>> runningTimeParameters = new ArrayList<AnnotatedParameter<TumbleDryer>>();
- final AnnotatedMethod<TumbleDryer> runningTimeMethod = new AnnotatedMethod<TumbleDryer>()
- {
-
- public Method getJavaMember()
- {
- try
- {
- return TumbleDryer.class.getDeclaredMethod("setRunningTime", RunningTime.class);
- }
- catch (NoSuchMethodException e)
- {
- throw new RuntimeException(e);
- }
- }
-
- public List<AnnotatedParameter<TumbleDryer>> getParameters()
- {
- return runningTimeParameters;
- }
-
- public AnnotatedType<TumbleDryer> getDeclaringType()
- {
- return tumbleDryer;
- }
-
- public boolean isStatic()
- {
- return false;
- }
-
- public <T extends Annotation> T getAnnotation(Class<T> annotationType)
- {
- if (annotationType.equals(Inject.class))
- {
- return annotationType.cast(InjectLiteral.INSTANCE);
- }
- else
- {
- return null;
- }
- }
-
- public Set<Annotation> getAnnotations()
- {
- return Collections.<Annotation>singleton(InjectLiteral.INSTANCE);
- }
-
- public Type getBaseType()
- {
- return TumbleDryer.class;
- }
-
- public Set<Type> getTypeClosure()
- {
- return Arrays2.<Type>asSet(TumbleDryer.class, Object.class);
- }
-
- public boolean isAnnotationPresent(Class<? extends Annotation> annotationType)
- {
- if (annotationType.equals(Inject.class))
- {
- return true;
- }
- else
- {
- return false;
- }
- }
-
- };
- methods.add(runningTimeMethod);
-
- final AnnotatedParameter<TumbleDryer> runningTimeParameter = new AnnotatedParameter<TumbleDryer>()
- {
-
- public AnnotatedCallable<TumbleDryer> getDeclaringCallable()
- {
- return runningTimeMethod;
- }
-
- public int getPosition()
- {
- return 0;
- }
-
- public <T extends Annotation> T getAnnotation(Class<T> annotationType)
- {
- if (annotationType.equals(Special.class))
- {
- return annotationType.cast(SpecialLiteral.INSTANCE);
- }
- else
- {
- return null;
- }
- }
-
- public Set<Annotation> getAnnotations()
- {
- return Collections.<Annotation>singleton(SpecialLiteral.INSTANCE);
- }
-
- public Type getBaseType()
- {
- return RunningTime.class;
- }
-
- public Set<Type> getTypeClosure()
- {
- return Collections.<Type>singleton(RunningTime.class);
- }
-
- public boolean isAnnotationPresent(Class<? extends Annotation> annotationType)
- {
- if (annotationType.equals(Special.class))
- {
- return true;
- }
- else
- {
- return false;
- }
- }
- };
- runningTimeParameters.add(runningTimeParameter);
-
- final List<AnnotatedParameter<TumbleDryer>> clothesParameters = new ArrayList<AnnotatedParameter<TumbleDryer>>();
- final AnnotatedConstructor<TumbleDryer> clothesConstructor = new AnnotatedConstructor<TumbleDryer>()
- {
-
- public Constructor<TumbleDryer> getJavaMember()
- {
- try
- {
- return TumbleDryer.class.getDeclaredConstructor(Clothes.class);
- }
- catch (NoSuchMethodException e)
- {
- throw new RuntimeException(e);
- }
- }
-
- public List<AnnotatedParameter<TumbleDryer>> getParameters()
- {
- return clothesParameters;
- }
-
- public AnnotatedType<TumbleDryer> getDeclaringType()
- {
- return tumbleDryer;
- }
-
- public boolean isStatic()
- {
- return false;
- }
-
- public <T extends Annotation> T getAnnotation(Class<T> annotationType)
- {
- if (annotationType.equals(Inject.class))
- {
- return annotationType.cast(InjectLiteral.INSTANCE);
- }
- else
- {
- return null;
- }
- }
-
- public Set<Annotation> getAnnotations()
- {
- return Collections.<Annotation>singleton(InjectLiteral.INSTANCE);
- }
-
- public Type getBaseType()
- {
- return TumbleDryer.class;
- }
-
- public Set<Type> getTypeClosure()
- {
- return Arrays2.<Type>asSet(TumbleDryer.class, Object.class);
- }
-
- public boolean isAnnotationPresent(Class<? extends Annotation> annotationType)
- {
- if (annotationType.equals(Inject.class))
- {
- return true;
- }
- else
- {
- return false;
- }
- }
- };
- constructors.add(clothesConstructor);
-
- AnnotatedParameter<TumbleDryer> clothesParameter = new AnnotatedParameter<TumbleDryer>()
- {
-
- public AnnotatedCallable<TumbleDryer> getDeclaringCallable()
- {
- return clothesConstructor;
- }
-
- public int getPosition()
- {
- return 0;
- }
-
-
- public <T extends Annotation> T getAnnotation(Class<T> annotationType)
- {
- if (annotationType.equals(Special.class))
- {
- return annotationType.cast(SpecialLiteral.INSTANCE);
- }
- else
- {
- return null;
- }
- }
-
- public Set<Annotation> getAnnotations()
- {
- return Collections.<Annotation>singleton(SpecialLiteral.INSTANCE);
- }
-
- public Type getBaseType()
- {
- return Clothes.class;
- }
-
- public Set<Type> getTypeClosure()
- {
- return Arrays2.<Type>asSet(Clothes.class, Object.class);
- }
-
- public boolean isAnnotationPresent(Class<? extends Annotation> annotationType)
- {
- if (annotationType.equals(Special.class))
- {
- return true;
- }
- else
- {
- return false;
- }
- }
- };
- clothesParameters.add(clothesParameter);
-
- beforeBeanDiscovery.addAnnotatedType(tumbleDryer);
- }
-
- /**
- * Adds an eco friendly wasing machine
- * @param beforeBeanDiscovery
- */
- public void addWashingMachine(@Observes BeforeBeanDiscovery beforeBeanDiscovery)
- {
- final Set<AnnotatedConstructor<WashingMachine>> constructors = new HashSet<AnnotatedConstructor<WashingMachine>>();
- final AnnotatedType<WashingMachine> type = new AnnotatedType<WashingMachine>()
- {
-
- public Set<AnnotatedConstructor<WashingMachine>> getConstructors()
- {
- return constructors;
- }
-
- public Set<AnnotatedField<? super WashingMachine>> getFields()
- {
- return Collections.emptySet();
- }
-
- public Class<WashingMachine> getJavaClass()
- {
- return WashingMachine.class;
- }
-
- public Set<AnnotatedMethod<? super WashingMachine>> getMethods()
- {
- return Collections.emptySet();
- }
-
- public <T extends Annotation> T getAnnotation(Class<T> annotationType)
- {
- if(annotationType == EcoFriendlyWashingMachine.class)
- {
- return annotationType.cast(EcoFriendlyWashingMachineLiteral.INSTANCE);
- }
- return null;
- }
-
- public Set<Annotation> getAnnotations()
- {
- return Collections.<Annotation>singleton(EcoFriendlyWashingMachineLiteral.INSTANCE);
- }
-
- public Type getBaseType()
- {
- return WashingMachine.class;
- }
-
- public Set<Type> getTypeClosure()
- {
- return Arrays2.<Type>asSet(WashingMachine.class, Object.class);
- }
-
- public boolean isAnnotationPresent(Class<? extends Annotation> annotationType)
- {
- return annotationType == EcoFriendlyWashingMachine.class;
- }
-
- };
-
- final AnnotatedConstructor<WashingMachine> constructor = new AnnotatedConstructor<WashingMachine>()
- {
-
- public Constructor<WashingMachine> getJavaMember()
- {
- try
- {
- return WashingMachine.class.getDeclaredConstructor();
- }
- catch (NoSuchMethodException e)
- {
- throw new RuntimeException(e);
- }
- }
-
- public List<AnnotatedParameter<WashingMachine>> getParameters()
- {
- return Collections.emptyList();
- }
-
- public AnnotatedType<WashingMachine> getDeclaringType()
- {
- return type;
- }
-
- public boolean isStatic()
- {
- return false;
- }
-
- public <T extends Annotation> T getAnnotation(Class<T> annotationType)
- {
- return null;
- }
-
- public Set<Annotation> getAnnotations()
- {
- return Collections.emptySet();
- }
-
- public Type getBaseType()
- {
- return WashingMachine.class;
- }
-
- public Set<Type> getTypeClosure()
- {
- return Arrays2.<Type>asSet(WashingMachine.class, Object.class);
- }
-
- public boolean isAnnotationPresent(Class<? extends Annotation> annotationType)
- {
- return false;
- }
- };
- constructors.add(constructor);
-
- beforeBeanDiscovery.addAnnotatedType(type);
- }
-
- public void vetoOriginalTumbleDryer(@Observes ProcessAnnotatedType<TumbleDryer> event)
- {
- event.veto();
- }
-
-}
Deleted: core/trunk/tests/src/test/java/org/jboss/weld/tests/extensions/annotatedType/AnnotatedTypeExtensionTest.java
===================================================================
--- core/trunk/tests/src/test/java/org/jboss/weld/tests/extensions/annotatedType/AnnotatedTypeExtensionTest.java 2010-07-28 11:35:11 UTC (rev 6821)
+++ core/trunk/tests/src/test/java/org/jboss/weld/tests/extensions/annotatedType/AnnotatedTypeExtensionTest.java 2010-07-28 11:45:17 UTC (rev 6822)
@@ -1,157 +0,0 @@
-/*
- * JBoss, Home of Professional Open Source
- * Copyright 2010, Red Hat, Inc., and individual contributors
- * by the @authors tag. See the copyright.txt in the distribution for a
- * full listing of individual contributors.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * http://www.apache.org/licenses/LICENSE-2.0
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.jboss.weld.tests.extensions.annotatedType;
-
-import java.lang.reflect.Constructor;
-import java.lang.reflect.Method;
-import java.util.Arrays;
-import java.util.Set;
-
-import javax.enterprise.inject.Any;
-import javax.enterprise.inject.spi.AnnotatedConstructor;
-import javax.enterprise.inject.spi.AnnotatedField;
-import javax.enterprise.inject.spi.AnnotatedMethod;
-import javax.enterprise.inject.spi.AnnotatedParameter;
-import javax.enterprise.inject.spi.Bean;
-import javax.enterprise.inject.spi.InjectionPoint;
-
-import org.jboss.testharness.impl.packaging.Artifact;
-import org.jboss.testharness.impl.packaging.IntegrationTest;
-import org.jboss.testharness.impl.packaging.jsr299.Extension;
-import org.jboss.weld.test.AbstractWeldTest;
-import org.jboss.weld.test.Utils;
-import org.jboss.weld.tests.extensions.annotatedType.EcoFriendlyWashingMachine.EcoFriendlyWashingMachineLiteral;
-import org.testng.annotations.Test;
-
-@Artifact
-@IntegrationTest
-@Extension("javax.enterprise.inject.spi.Extension")
-public class AnnotatedTypeExtensionTest extends AbstractWeldTest
-{
-
- @Test
- public void testMultipleBeansOfSameType()
- {
- Laundry laundry = getReference(Laundry.class);
- assert laundry.ecoFriendlyWashingMachine != null;
- assert laundry.fastWashingMachine != null;
- }
-
- @Test(description = "WELD-371")
- public void testAnnotationsAreOverridden()
- {
- Bean<WashingMachine> bean = getBean(WashingMachine.class, EcoFriendlyWashingMachineLiteral.INSTANCE);
- assert Utils.annotationSetMatches(bean.getQualifiers(), Any.class, EcoFriendlyWashingMachine.class);
-
- // Verify overriding the class structure works
- Clothes.reset();
- TumbleDryer tumbleDryer = getReference(TumbleDryer.class);
- Bean<TumbleDryer> tumbleDryerBean = getBean(TumbleDryer.class);
- assert tumbleDryer != null;
-
- assert !containsConstructor(tumbleDryerBean.getInjectionPoints(), SerialNumber.class);
- assert containsConstructor(tumbleDryerBean.getInjectionPoints(), Clothes.class);
- assert tumbleDryer.getSerialNumber() == null;
- assert tumbleDryer.getClothes() != null;
- assert !Clothes.getInjectionPoint().getAnnotated().isAnnotationPresent(Original.class);
- AnnotatedConstructor<?> clothesConstructor = getConstructor(tumbleDryerBean.getInjectionPoints(), Clothes.class);
- assert clothesConstructor.getParameters().get(0).isAnnotationPresent(Special.class);
- assert !clothesConstructor.getParameters().get(0).isAnnotationPresent(Original.class);
-
- assert containsField(tumbleDryerBean.getInjectionPoints(), "plug");
- assert !containsField(tumbleDryerBean.getInjectionPoints(), "coins");
- assert tumbleDryer.getPlug() != null;
- assert tumbleDryer.getCoins() == null;
-
- assert containsMethod(tumbleDryerBean.getInjectionPoints(), "setRunningTime", RunningTime.class);
- assert !containsMethod(tumbleDryerBean.getInjectionPoints(), "setHotAir", HotAir.class);
- assert tumbleDryer.getRunningTime() != null;
- assert tumbleDryer.getHotAir() == null;
- AnnotatedMethod<?> runningTimeMethod = getMethod(tumbleDryerBean.getInjectionPoints(), "setRunningTime", RunningTime.class);
- assert runningTimeMethod.getParameters().get(0).isAnnotationPresent(Special.class);
- assert !runningTimeMethod.getParameters().get(0).isAnnotationPresent(Original.class);
- }
-
- private static boolean containsField(Set<InjectionPoint> injectionPoints, String name)
- {
- for (InjectionPoint ip : injectionPoints)
- {
- if (ip.getAnnotated() instanceof AnnotatedField<?>)
- {
- AnnotatedField<?> field = (AnnotatedField<?>) ip.getAnnotated();
- if (field.getJavaMember().getName().equals(name))
- {
- return true;
- }
- }
- }
- return false;
- }
-
- private static boolean containsConstructor(Set<InjectionPoint> injectionPoints, Class<?>... parameters)
- {
- return getConstructor(injectionPoints, parameters) != null;
- }
-
- private static AnnotatedConstructor<?> getConstructor(Set<InjectionPoint> injectionPoints, Class<?>... parameters)
- {
- for (InjectionPoint ip : injectionPoints)
- {
- if (ip.getAnnotated() instanceof AnnotatedParameter<?>)
- {
- AnnotatedParameter<?> param = (AnnotatedParameter<?>) ip.getAnnotated();
- if (param.getDeclaringCallable() instanceof AnnotatedConstructor<?>)
- {
- Class<?>[] parameterTypes = ((Constructor<?>) param.getDeclaringCallable().getJavaMember()).getParameterTypes();
- if (Arrays.equals(parameters, parameterTypes))
- {
- return (AnnotatedConstructor<?>) param.getDeclaringCallable();
- }
- }
- }
- }
- return null;
- }
-
- private static boolean containsMethod(Set<InjectionPoint> injectionPoints, String name, Class<?>... parameters)
- {
- return getMethod(injectionPoints, name, parameters) != null;
- }
-
- private static AnnotatedMethod<?> getMethod(Set<InjectionPoint> injectionPoints, String name, Class<?>... parameters)
- {
- for (InjectionPoint ip : injectionPoints)
- {
- if (ip.getAnnotated() instanceof AnnotatedParameter<?>)
- {
- AnnotatedParameter<?> param = (AnnotatedParameter<?>) ip.getAnnotated();
- if (param.getDeclaringCallable() instanceof AnnotatedMethod<?>)
- {
- Class<?>[] parameterTypes = ((Method) param.getDeclaringCallable().getJavaMember()).getParameterTypes();
- String methodName = param.getDeclaringCallable().getJavaMember().getName();
- if (Arrays.equals(parameters, parameterTypes) && methodName.equals(name))
- {
- return (AnnotatedMethod<?>) param.getDeclaringCallable();
- }
- }
- }
- }
- return null;
- }
-
-
-}
Deleted: core/trunk/tests/src/test/java/org/jboss/weld/tests/extensions/annotatedType/Clothes.java
===================================================================
--- core/trunk/tests/src/test/java/org/jboss/weld/tests/extensions/annotatedType/Clothes.java 2010-07-28 11:35:11 UTC (rev 6821)
+++ core/trunk/tests/src/test/java/org/jboss/weld/tests/extensions/annotatedType/Clothes.java 2010-07-28 11:45:17 UTC (rev 6822)
@@ -1,44 +0,0 @@
-/*
- * JBoss, Home of Professional Open Source
- * Copyright 2010, Red Hat, Inc., and individual contributors
- * by the @authors tag. See the copyright.txt in the distribution for a
- * full listing of individual contributors.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * http://www.apache.org/licenses/LICENSE-2.0
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.jboss.weld.tests.extensions.annotatedType;
-
-import javax.enterprise.inject.spi.InjectionPoint;
-import javax.inject.Inject;
-
-@Special
-public class Clothes
-{
-
- private static InjectionPoint injectionPoint;
-
- @Inject
- public void setInjectionPoint(InjectionPoint injectionPoint)
- {
- Clothes.injectionPoint = injectionPoint;
- }
-
- public static void reset()
- {
- injectionPoint = null;
- }
-
- public static InjectionPoint getInjectionPoint()
- {
- return injectionPoint;
- }
-
-}
Deleted: core/trunk/tests/src/test/java/org/jboss/weld/tests/extensions/annotatedType/Coins.java
===================================================================
--- core/trunk/tests/src/test/java/org/jboss/weld/tests/extensions/annotatedType/Coins.java 2010-07-28 11:35:11 UTC (rev 6821)
+++ core/trunk/tests/src/test/java/org/jboss/weld/tests/extensions/annotatedType/Coins.java 2010-07-28 11:45:17 UTC (rev 6822)
@@ -1,22 +0,0 @@
-/*
- * JBoss, Home of Professional Open Source
- * Copyright 2010, Red Hat, Inc., and individual contributors
- * by the @authors tag. See the copyright.txt in the distribution for a
- * full listing of individual contributors.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * http://www.apache.org/licenses/LICENSE-2.0
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.jboss.weld.tests.extensions.annotatedType;
-
-public class Coins
-{
-
-}
Deleted: core/trunk/tests/src/test/java/org/jboss/weld/tests/extensions/annotatedType/EcoFriendlyWashingMachine.java
===================================================================
--- core/trunk/tests/src/test/java/org/jboss/weld/tests/extensions/annotatedType/EcoFriendlyWashingMachine.java 2010-07-28 11:35:11 UTC (rev 6821)
+++ core/trunk/tests/src/test/java/org/jboss/weld/tests/extensions/annotatedType/EcoFriendlyWashingMachine.java 2010-07-28 11:45:17 UTC (rev 6822)
@@ -1,49 +0,0 @@
-/*
- * JBoss, Home of Professional Open Source
- * Copyright 2010, Red Hat, Inc., and individual contributors
- * by the @authors tag. See the copyright.txt in the distribution for a
- * full listing of individual contributors.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * http://www.apache.org/licenses/LICENSE-2.0
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.jboss.weld.tests.extensions.annotatedType;
-
-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.util.AnnotationLiteral;
-import javax.inject.Qualifier;
-
-@Target( { TYPE, METHOD, PARAMETER, FIELD })
-@Retention(RUNTIME)
-@Documented
-@Qualifier
-public @interface EcoFriendlyWashingMachine
-{
-
- @SuppressWarnings("serial")
- public static class EcoFriendlyWashingMachineLiteral extends AnnotationLiteral<EcoFriendlyWashingMachine> implements EcoFriendlyWashingMachine
- {
-
- public static final EcoFriendlyWashingMachine INSTANCE = new EcoFriendlyWashingMachineLiteral();
-
- private EcoFriendlyWashingMachineLiteral() {}
-
- }
-
-}
Deleted: core/trunk/tests/src/test/java/org/jboss/weld/tests/extensions/annotatedType/FastWashingMachine.java
===================================================================
--- core/trunk/tests/src/test/java/org/jboss/weld/tests/extensions/annotatedType/FastWashingMachine.java 2010-07-28 11:35:11 UTC (rev 6821)
+++ core/trunk/tests/src/test/java/org/jboss/weld/tests/extensions/annotatedType/FastWashingMachine.java 2010-07-28 11:45:17 UTC (rev 6822)
@@ -1,38 +0,0 @@
-/*
- * JBoss, Home of Professional Open Source
- * Copyright 2010, Red Hat, Inc., and individual contributors
- * by the @authors tag. See the copyright.txt in the distribution for a
- * full listing of individual contributors.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * http://www.apache.org/licenses/LICENSE-2.0
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.jboss.weld.tests.extensions.annotatedType;
-
-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.inject.Qualifier;
-
-@Target( { TYPE, METHOD, PARAMETER, FIELD })
-@Retention(RUNTIME)
-@Documented
-@Qualifier
-public @interface FastWashingMachine
-{
-
-}
Deleted: core/trunk/tests/src/test/java/org/jboss/weld/tests/extensions/annotatedType/HotAir.java
===================================================================
--- core/trunk/tests/src/test/java/org/jboss/weld/tests/extensions/annotatedType/HotAir.java 2010-07-28 11:35:11 UTC (rev 6821)
+++ core/trunk/tests/src/test/java/org/jboss/weld/tests/extensions/annotatedType/HotAir.java 2010-07-28 11:45:17 UTC (rev 6822)
@@ -1,22 +0,0 @@
-/*
- * JBoss, Home of Professional Open Source
- * Copyright 2010, Red Hat, Inc., and individual contributors
- * by the @authors tag. See the copyright.txt in the distribution for a
- * full listing of individual contributors.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * http://www.apache.org/licenses/LICENSE-2.0
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.jboss.weld.tests.extensions.annotatedType;
-
-public class HotAir
-{
-
-}
Deleted: core/trunk/tests/src/test/java/org/jboss/weld/tests/extensions/annotatedType/InjectLiteral.java
===================================================================
--- core/trunk/tests/src/test/java/org/jboss/weld/tests/extensions/annotatedType/InjectLiteral.java 2010-07-28 11:35:11 UTC (rev 6821)
+++ core/trunk/tests/src/test/java/org/jboss/weld/tests/extensions/annotatedType/InjectLiteral.java 2010-07-28 11:45:17 UTC (rev 6822)
@@ -1,29 +0,0 @@
-/*
- * JBoss, Home of Professional Open Source
- * Copyright 2008, Red Hat, Inc., and individual contributors
- * by the @authors tag. See the copyright.txt in the distribution for a
- * full listing of individual contributors.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * http://www.apache.org/licenses/LICENSE-2.0
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.jboss.weld.tests.extensions.annotatedType;
-
-import javax.enterprise.util.AnnotationLiteral;
-import javax.inject.Inject;
-
-public class InjectLiteral extends AnnotationLiteral<Inject> implements Inject
-{
-
- public static final Inject INSTANCE = new InjectLiteral();
-
- private InjectLiteral() {}
-
-}
\ No newline at end of file
Deleted: core/trunk/tests/src/test/java/org/jboss/weld/tests/extensions/annotatedType/Laundry.java
===================================================================
--- core/trunk/tests/src/test/java/org/jboss/weld/tests/extensions/annotatedType/Laundry.java 2010-07-28 11:35:11 UTC (rev 6821)
+++ core/trunk/tests/src/test/java/org/jboss/weld/tests/extensions/annotatedType/Laundry.java 2010-07-28 11:45:17 UTC (rev 6822)
@@ -1,28 +0,0 @@
-/*
- * JBoss, Home of Professional Open Source
- * Copyright 2010, Red Hat, Inc., and individual contributors
- * by the @authors tag. See the copyright.txt in the distribution for a
- * full listing of individual contributors.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * http://www.apache.org/licenses/LICENSE-2.0
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.jboss.weld.tests.extensions.annotatedType;
-
-import javax.inject.Inject;
-
-public class Laundry
-{
- @Inject @FastWashingMachine
- public WashingMachine fastWashingMachine;
-
- @Inject @EcoFriendlyWashingMachine
- public WashingMachine ecoFriendlyWashingMachine;
-}
Deleted: core/trunk/tests/src/test/java/org/jboss/weld/tests/extensions/annotatedType/Original.java
===================================================================
--- core/trunk/tests/src/test/java/org/jboss/weld/tests/extensions/annotatedType/Original.java 2010-07-28 11:35:11 UTC (rev 6821)
+++ core/trunk/tests/src/test/java/org/jboss/weld/tests/extensions/annotatedType/Original.java 2010-07-28 11:45:17 UTC (rev 6822)
@@ -1,38 +0,0 @@
-/*
- * JBoss, Home of Professional Open Source
- * Copyright 2010, Red Hat, Inc., and individual contributors
- * by the @authors tag. See the copyright.txt in the distribution for a
- * full listing of individual contributors.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * http://www.apache.org/licenses/LICENSE-2.0
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.jboss.weld.tests.extensions.annotatedType;
-
-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.inject.Qualifier;
-
-@Target( { TYPE, METHOD, PARAMETER, FIELD })
-@Retention(RUNTIME)
-@Documented
-@Qualifier
-public @interface Original
-{
-
-}
Deleted: core/trunk/tests/src/test/java/org/jboss/weld/tests/extensions/annotatedType/Plug.java
===================================================================
--- core/trunk/tests/src/test/java/org/jboss/weld/tests/extensions/annotatedType/Plug.java 2010-07-28 11:35:11 UTC (rev 6821)
+++ core/trunk/tests/src/test/java/org/jboss/weld/tests/extensions/annotatedType/Plug.java 2010-07-28 11:45:17 UTC (rev 6822)
@@ -1,23 +0,0 @@
-/*
- * JBoss, Home of Professional Open Source
- * Copyright 2010, Red Hat, Inc., and individual contributors
- * by the @authors tag. See the copyright.txt in the distribution for a
- * full listing of individual contributors.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * http://www.apache.org/licenses/LICENSE-2.0
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.jboss.weld.tests.extensions.annotatedType;
-
-@Special
-public class Plug
-{
-
-}
Deleted: core/trunk/tests/src/test/java/org/jboss/weld/tests/extensions/annotatedType/RunningTime.java
===================================================================
--- core/trunk/tests/src/test/java/org/jboss/weld/tests/extensions/annotatedType/RunningTime.java 2010-07-28 11:35:11 UTC (rev 6821)
+++ core/trunk/tests/src/test/java/org/jboss/weld/tests/extensions/annotatedType/RunningTime.java 2010-07-28 11:45:17 UTC (rev 6822)
@@ -1,23 +0,0 @@
-/*
- * JBoss, Home of Professional Open Source
- * Copyright 2010, Red Hat, Inc., and individual contributors
- * by the @authors tag. See the copyright.txt in the distribution for a
- * full listing of individual contributors.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * http://www.apache.org/licenses/LICENSE-2.0
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.jboss.weld.tests.extensions.annotatedType;
-
-@Special
-public class RunningTime
-{
-
-}
Deleted: core/trunk/tests/src/test/java/org/jboss/weld/tests/extensions/annotatedType/SerialNumber.java
===================================================================
--- core/trunk/tests/src/test/java/org/jboss/weld/tests/extensions/annotatedType/SerialNumber.java 2010-07-28 11:35:11 UTC (rev 6821)
+++ core/trunk/tests/src/test/java/org/jboss/weld/tests/extensions/annotatedType/SerialNumber.java 2010-07-28 11:45:17 UTC (rev 6822)
@@ -1,22 +0,0 @@
-/*
- * JBoss, Home of Professional Open Source
- * Copyright 2010, Red Hat, Inc., and individual contributors
- * by the @authors tag. See the copyright.txt in the distribution for a
- * full listing of individual contributors.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * http://www.apache.org/licenses/LICENSE-2.0
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.jboss.weld.tests.extensions.annotatedType;
-
-public class SerialNumber
-{
-
-}
Deleted: core/trunk/tests/src/test/java/org/jboss/weld/tests/extensions/annotatedType/Special.java
===================================================================
--- core/trunk/tests/src/test/java/org/jboss/weld/tests/extensions/annotatedType/Special.java 2010-07-28 11:35:11 UTC (rev 6821)
+++ core/trunk/tests/src/test/java/org/jboss/weld/tests/extensions/annotatedType/Special.java 2010-07-28 11:45:17 UTC (rev 6822)
@@ -1,38 +0,0 @@
-/*
- * JBoss, Home of Professional Open Source
- * Copyright 2010, Red Hat, Inc., and individual contributors
- * by the @authors tag. See the copyright.txt in the distribution for a
- * full listing of individual contributors.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * http://www.apache.org/licenses/LICENSE-2.0
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.jboss.weld.tests.extensions.annotatedType;
-
-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.inject.Qualifier;
-
-@Target( { TYPE, METHOD, PARAMETER, FIELD })
-@Retention(RUNTIME)
-@Documented
-@Qualifier
-public @interface Special
-{
-
-}
Deleted: core/trunk/tests/src/test/java/org/jboss/weld/tests/extensions/annotatedType/SpecialLiteral.java
===================================================================
--- core/trunk/tests/src/test/java/org/jboss/weld/tests/extensions/annotatedType/SpecialLiteral.java 2010-07-28 11:35:11 UTC (rev 6821)
+++ core/trunk/tests/src/test/java/org/jboss/weld/tests/extensions/annotatedType/SpecialLiteral.java 2010-07-28 11:45:17 UTC (rev 6822)
@@ -1,28 +0,0 @@
-/*
- * JBoss, Home of Professional Open Source
- * Copyright 2008, Red Hat, Inc., and individual contributors
- * by the @authors tag. See the copyright.txt in the distribution for a
- * full listing of individual contributors.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * http://www.apache.org/licenses/LICENSE-2.0
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.jboss.weld.tests.extensions.annotatedType;
-
-import javax.enterprise.util.AnnotationLiteral;
-
-public class SpecialLiteral extends AnnotationLiteral<Special> implements Special
-{
-
- public static final Special INSTANCE = new SpecialLiteral();
-
- private SpecialLiteral() {}
-
-}
\ No newline at end of file
Deleted: core/trunk/tests/src/test/java/org/jboss/weld/tests/extensions/annotatedType/TumbleDryer.java
===================================================================
--- core/trunk/tests/src/test/java/org/jboss/weld/tests/extensions/annotatedType/TumbleDryer.java 2010-07-28 11:35:11 UTC (rev 6821)
+++ core/trunk/tests/src/test/java/org/jboss/weld/tests/extensions/annotatedType/TumbleDryer.java 2010-07-28 11:45:17 UTC (rev 6822)
@@ -1,93 +0,0 @@
-/*
- * JBoss, Home of Professional Open Source
- * Copyright 2010, Red Hat, Inc., and individual contributors
- * by the @authors tag. See the copyright.txt in the distribution for a
- * full listing of individual contributors.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * http://www.apache.org/licenses/LICENSE-2.0
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.jboss.weld.tests.extensions.annotatedType;
-
-import javax.inject.Inject;
-
-
-public class TumbleDryer
-{
-
-
- private Plug plug;
-
- @Inject @Original
- private Coins coins;
-
- private final Clothes clothers;
-
- private RunningTime runningTime;
-
- private final SerialNumber serialNumber;
-
- private HotAir hotAir;
-
- public TumbleDryer(@Original Clothes clothes)
- {
- this.clothers = clothes;
- this.serialNumber = null;
- }
-
- @Inject
- public TumbleDryer(SerialNumber serialNumber)
- {
- this.serialNumber = serialNumber;
- this.clothers = null;
- }
-
- public void setRunningTime(@Original RunningTime runningTime)
- {
- this.runningTime = runningTime;
- }
-
- @Inject
- public void setHotAir(HotAir hotAir)
- {
- this.hotAir = hotAir;
- }
-
- public Plug getPlug()
- {
- return plug;
- }
-
- public Clothes getClothes()
- {
- return clothers;
- }
-
- public HotAir getHotAir()
- {
- return hotAir;
- }
-
- public RunningTime getRunningTime()
- {
- return runningTime;
- }
-
- public SerialNumber getSerialNumber()
- {
- return serialNumber;
- }
-
- public Coins getCoins()
- {
- return coins;
- }
-
-}
Deleted: core/trunk/tests/src/test/java/org/jboss/weld/tests/extensions/annotatedType/WashingMachine.java
===================================================================
--- core/trunk/tests/src/test/java/org/jboss/weld/tests/extensions/annotatedType/WashingMachine.java 2010-07-28 11:35:11 UTC (rev 6821)
+++ core/trunk/tests/src/test/java/org/jboss/weld/tests/extensions/annotatedType/WashingMachine.java 2010-07-28 11:45:17 UTC (rev 6822)
@@ -1,23 +0,0 @@
-/*
- * JBoss, Home of Professional Open Source
- * Copyright 2010, Red Hat, Inc., and individual contributors
- * by the @authors tag. See the copyright.txt in the distribution for a
- * full listing of individual contributors.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * http://www.apache.org/licenses/LICENSE-2.0
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.jboss.weld.tests.extensions.annotatedType;
-
-@FastWashingMachine
-public class WashingMachine
-{
-
-}
Deleted: core/trunk/tests/src/test/java/org/jboss/weld/tests/injectionPoint/Cow.java
===================================================================
--- core/trunk/tests/src/test/java/org/jboss/weld/tests/injectionPoint/Cow.java 2010-07-28 11:35:11 UTC (rev 6821)
+++ core/trunk/tests/src/test/java/org/jboss/weld/tests/injectionPoint/Cow.java 2010-07-28 11:45:17 UTC (rev 6822)
@@ -1,34 +0,0 @@
-/*
- * JBoss, Home of Professional Open Source
- * Copyright 2010, Red Hat, Inc., and individual contributors
- * by the @authors tag. See the copyright.txt in the distribution for a
- * full listing of individual contributors.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * http://www.apache.org/licenses/LICENSE-2.0
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.jboss.weld.tests.injectionPoint;
-
-public class Cow
-{
-
- private final String name;
-
- public Cow(String name)
- {
- this.name = name;
- }
-
- public String getName()
- {
- return name;
- }
-
-}
Deleted: core/trunk/tests/src/test/java/org/jboss/weld/tests/injectionPoint/CowShed.java
===================================================================
--- core/trunk/tests/src/test/java/org/jboss/weld/tests/injectionPoint/CowShed.java 2010-07-28 11:35:11 UTC (rev 6821)
+++ core/trunk/tests/src/test/java/org/jboss/weld/tests/injectionPoint/CowShed.java 2010-07-28 11:45:17 UTC (rev 6822)
@@ -1,36 +0,0 @@
-/*
- * JBoss, Home of Professional Open Source
- * Copyright 2010, Red Hat, Inc., and individual contributors
- * by the @authors tag. See the copyright.txt in the distribution for a
- * full listing of individual contributors.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * http://www.apache.org/licenses/LICENSE-2.0
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.jboss.weld.tests.injectionPoint;
-
-import javax.enterprise.inject.Produces;
-import javax.enterprise.inject.spi.InjectionPoint;
-
-import org.jboss.weld.injection.FieldInjectionPoint;
-
-public class CowShed
-{
-
- @Produces
- public Cow get(InjectionPoint ip)
- {
- assert ip instanceof FieldInjectionPoint<?, ?>;
- FieldInjectionPoint<?, ?> fip = (FieldInjectionPoint<?, ?>) ip;
- assert fip.getDeclaringType().getJavaClass().equals(Field.class);
- return new Cow("daisy");
- }
-
-}
Deleted: core/trunk/tests/src/test/java/org/jboss/weld/tests/injectionPoint/DoubleConsumer.java
===================================================================
--- core/trunk/tests/src/test/java/org/jboss/weld/tests/injectionPoint/DoubleConsumer.java 2010-07-28 11:35:11 UTC (rev 6821)
+++ core/trunk/tests/src/test/java/org/jboss/weld/tests/injectionPoint/DoubleConsumer.java 2010-07-28 11:45:17 UTC (rev 6822)
@@ -1,44 +0,0 @@
-/*
- * JBoss, Home of Professional Open Source
- * Copyright 2010, Red Hat, Inc., and individual contributors
- * by the @authors tag. See the copyright.txt in the distribution for a
- * full listing of individual contributors.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * http://www.apache.org/licenses/LICENSE-2.0
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.jboss.weld.tests.injectionPoint;
-
-import java.io.Serializable;
-
-import javax.enterprise.context.SessionScoped;
-import javax.inject.Inject;
-import javax.inject.Named;
-
-@Named
-@SessionScoped
-public class DoubleConsumer implements Serializable
-{
-
- private static final long serialVersionUID = 6619645042310126425L;
-
- @Inject
- private double maxNumber;
-
- public DoubleConsumer()
- {
- }
-
- public void ping()
- {
-
- }
-
-}
Deleted: core/trunk/tests/src/test/java/org/jboss/weld/tests/injectionPoint/DoubleGenerator.java
===================================================================
--- core/trunk/tests/src/test/java/org/jboss/weld/tests/injectionPoint/DoubleGenerator.java 2010-07-28 11:35:11 UTC (rev 6821)
+++ core/trunk/tests/src/test/java/org/jboss/weld/tests/injectionPoint/DoubleGenerator.java 2010-07-28 11:45:17 UTC (rev 6822)
@@ -1,41 +0,0 @@
-/*
- * JBoss, Home of Professional Open Source
- * Copyright 2010, Red Hat, Inc., and individual contributors
- * by the @authors tag. See the copyright.txt in the distribution for a
- * full listing of individual contributors.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * http://www.apache.org/licenses/LICENSE-2.0
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.jboss.weld.tests.injectionPoint;
-
-import java.io.Serializable;
-import java.util.Timer;
-
-import javax.enterprise.context.ApplicationScoped;
-import javax.enterprise.inject.Produces;
-import javax.inject.Inject;
-
-@ApplicationScoped
-public class DoubleGenerator implements Serializable
-{
-
- private static final long serialVersionUID = -7213673465118041882L;
-
- @Inject Timer timer;
-
- @Produces
- double getDouble()
- {
- timer.cancel();
- return 11.1;
- }
-
-}
Deleted: core/trunk/tests/src/test/java/org/jboss/weld/tests/injectionPoint/ExtraSpecial.java
===================================================================
--- core/trunk/tests/src/test/java/org/jboss/weld/tests/injectionPoint/ExtraSpecial.java 2010-07-28 11:35:11 UTC (rev 6821)
+++ core/trunk/tests/src/test/java/org/jboss/weld/tests/injectionPoint/ExtraSpecial.java 2010-07-28 11:45:17 UTC (rev 6822)
@@ -1,36 +0,0 @@
-/*
- * JBoss, Home of Professional Open Source
- * Copyright 2010, Red Hat, Inc. and/or its affiliates, and individual
- * contributors by the @authors tag. See the copyright.txt in the
- * distribution for a full listing of individual contributors.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * http://www.apache.org/licenses/LICENSE-2.0
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.jboss.weld.tests.injectionPoint;
-
-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 java.lang.annotation.Retention;
-import java.lang.annotation.RetentionPolicy;
-import java.lang.annotation.Target;
-
-import javax.inject.Qualifier;
-
-@Qualifier
-(a)Retention(RetentionPolicy.RUNTIME)
-@Target({FIELD, METHOD, TYPE, PARAMETER})
-public @interface ExtraSpecial
-{
-
-}
Deleted: core/trunk/tests/src/test/java/org/jboss/weld/tests/injectionPoint/ExtraSpecialLiteral.java
===================================================================
--- core/trunk/tests/src/test/java/org/jboss/weld/tests/injectionPoint/ExtraSpecialLiteral.java 2010-07-28 11:35:11 UTC (rev 6821)
+++ core/trunk/tests/src/test/java/org/jboss/weld/tests/injectionPoint/ExtraSpecialLiteral.java 2010-07-28 11:45:17 UTC (rev 6822)
@@ -1,29 +0,0 @@
-/*
- * JBoss, Home of Professional Open Source
- * Copyright 2010, Red Hat, Inc. and/or its affiliates, and individual
- * contributors by the @authors tag. See the copyright.txt in the
- * distribution for a full listing of individual contributors.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * http://www.apache.org/licenses/LICENSE-2.0
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package org.jboss.weld.tests.injectionPoint;
-
-import javax.enterprise.util.AnnotationLiteral;
-
-public class ExtraSpecialLiteral extends AnnotationLiteral<ExtraSpecial> implements ExtraSpecial
-{
- public static final ExtraSpecial INSTANCE = new ExtraSpecialLiteral();
-
- private ExtraSpecialLiteral() {
- }
-
-}
Deleted: core/trunk/tests/src/test/java/org/jboss/weld/tests/injectionPoint/Field.java
===================================================================
--- core/trunk/tests/src/test/java/org/jboss/weld/tests/injectionPoint/Field.java 2010-07-28 11:35:11 UTC (rev 6821)
+++ core/trunk/tests/src/test/java/org/jboss/weld/tests/injectionPoint/Field.java 2010-07-28 11:45:17 UTC (rev 6822)
@@ -1,31 +0,0 @@
-/*
- * JBoss, Home of Professional Open Source
- * Copyright 2010, Red Hat, Inc., and individual contributors
- * by the @authors tag. See the copyright.txt in the distribution for a
- * full listing of individual contributors.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * http://www.apache.org/licenses/LICENSE-2.0
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.jboss.weld.tests.injectionPoint;
-
-import javax.inject.Inject;
-
-public class Field
-{
-
- @Inject Cow cow;
-
- public Cow getCow()
- {
- return cow;
- }
-
-}
Deleted: core/trunk/tests/src/test/java/org/jboss/weld/tests/injectionPoint/GrassyField.java
===================================================================
--- core/trunk/tests/src/test/java/org/jboss/weld/tests/injectionPoint/GrassyField.java 2010-07-28 11:35:11 UTC (rev 6821)
+++ core/trunk/tests/src/test/java/org/jboss/weld/tests/injectionPoint/GrassyField.java 2010-07-28 11:45:17 UTC (rev 6822)
@@ -1,22 +0,0 @@
-/*
- * JBoss, Home of Professional Open Source
- * Copyright 2010, Red Hat, Inc., and individual contributors
- * by the @authors tag. See the copyright.txt in the distribution for a
- * full listing of individual contributors.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * http://www.apache.org/licenses/LICENSE-2.0
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.jboss.weld.tests.injectionPoint;
-
-public class GrassyField extends Field
-{
-
-}
Deleted: core/trunk/tests/src/test/java/org/jboss/weld/tests/injectionPoint/InjectionPointTest.java
===================================================================
--- core/trunk/tests/src/test/java/org/jboss/weld/tests/injectionPoint/InjectionPointTest.java 2010-07-28 11:35:11 UTC (rev 6821)
+++ core/trunk/tests/src/test/java/org/jboss/weld/tests/injectionPoint/InjectionPointTest.java 2010-07-28 11:45:17 UTC (rev 6822)
@@ -1,87 +0,0 @@
-/*
- * JBoss, Home of Professional Open Source
- * Copyright 2010, Red Hat, Inc., and individual contributors
- * by the @authors tag. See the copyright.txt in the distribution for a
- * full listing of individual contributors.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * http://www.apache.org/licenses/LICENSE-2.0
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.jboss.weld.tests.injectionPoint;
-
-import java.lang.reflect.ParameterizedType;
-
-import javax.enterprise.inject.IllegalProductException;
-import javax.enterprise.inject.Instance;
-import javax.enterprise.inject.spi.InjectionPoint;
-
-import org.jboss.testharness.impl.packaging.Artifact;
-import org.jboss.weld.test.AbstractWeldTest;
-import org.jboss.weld.test.Utils;
-import org.testng.annotations.Test;
-
-@Artifact
-public class InjectionPointTest extends AbstractWeldTest
-{
-
- @Test(description="WELD-239")
- public void testCorrectInjectionPointUsed()
- {
- getReference(IntConsumer.class).ping();
-
- try
- {
- getReference(DoubleConsumer.class).ping();
- }
- catch (IllegalProductException e)
- {
- assert e.getMessage().contains("Injection Point: field org.jboss.weld.tests.injectionPoint.DoubleGenerator.timer");
- }
- }
-
- @Test(description="WELD-316")
- public void testFieldInjectionPointSerializability() throws Throwable
- {
- getReference(StringConsumer.class).ping();
- InjectionPoint ip = StringGenerator.getInjectionPoint();
- assert ip != null;
- assert ip.getMember().getName().equals("str");
- InjectionPoint ip1 = Utils.deserialize(Utils.serialize(ip));
- assert ip1.getMember().getName().equals("str");
- }
-
- @Test
- public void testGetDeclaringType()
- {
- assert getReference(GrassyField.class).getCow().getName().equals("daisy");
- }
-
- @Test(description = "WELD-438")
- public void testInjectionPointWhenInstanceGetIsUsed() throws Exception
- {
- Pig pig = getReference(PigSty.class).getPig();
- assert pig != null;
- assert pig.getInjectionPoint().getBean() != null;
- assert pig.getInjectionPoint().getBean().getBeanClass().equals(PigSty.class);
- assert pig.getInjectionPoint().getMember().equals(PigSty.class.getDeclaredField("pig"));
- assert pig.getInjectionPoint().getAnnotated() != null;
- assert pig.getInjectionPoint().getAnnotated().getBaseType() instanceof ParameterizedType;
- ParameterizedType parameterizedType = ((ParameterizedType) pig.getInjectionPoint().getAnnotated().getBaseType());
- assert parameterizedType.getRawType().equals(Instance.class);
- assert parameterizedType.getActualTypeArguments().length == 1;
- assert parameterizedType.getActualTypeArguments()[0].equals(Pig.class);
- assert pig.getInjectionPoint().getAnnotated().isAnnotationPresent(Special.class);
- assert !pig.getInjectionPoint().getAnnotated().isAnnotationPresent(ExtraSpecial.class);
- assert Utils.annotationSetMatches(pig.injectionPoint.getQualifiers(), Special.class, ExtraSpecial.class);
- assert Pig.class.equals(pig.getInjectionPoint().getType());
-
- }
-
-}
Deleted: core/trunk/tests/src/test/java/org/jboss/weld/tests/injectionPoint/IntConsumer.java
===================================================================
--- core/trunk/tests/src/test/java/org/jboss/weld/tests/injectionPoint/IntConsumer.java 2010-07-28 11:35:11 UTC (rev 6821)
+++ core/trunk/tests/src/test/java/org/jboss/weld/tests/injectionPoint/IntConsumer.java 2010-07-28 11:45:17 UTC (rev 6822)
@@ -1,44 +0,0 @@
-/*
- * JBoss, Home of Professional Open Source
- * Copyright 2010, Red Hat, Inc., and individual contributors
- * by the @authors tag. See the copyright.txt in the distribution for a
- * full listing of individual contributors.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * http://www.apache.org/licenses/LICENSE-2.0
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.jboss.weld.tests.injectionPoint;
-
-import java.io.Serializable;
-
-import javax.enterprise.context.SessionScoped;
-import javax.inject.Inject;
-import javax.inject.Named;
-
-@Named
-@SessionScoped
-public class IntConsumer implements Serializable
-{
-
- private static final long serialVersionUID = 6619645042310126425L;
-
- @Inject
- private int maxNumber;
-
- public IntConsumer()
- {
- }
-
- public void ping()
- {
-
- }
-
-}
Deleted: core/trunk/tests/src/test/java/org/jboss/weld/tests/injectionPoint/IntGenerator.java
===================================================================
--- core/trunk/tests/src/test/java/org/jboss/weld/tests/injectionPoint/IntGenerator.java 2010-07-28 11:35:11 UTC (rev 6821)
+++ core/trunk/tests/src/test/java/org/jboss/weld/tests/injectionPoint/IntGenerator.java 2010-07-28 11:45:17 UTC (rev 6822)
@@ -1,45 +0,0 @@
-/*
- * JBoss, Home of Professional Open Source
- * Copyright 2010, Red Hat, Inc., and individual contributors
- * by the @authors tag. See the copyright.txt in the distribution for a
- * full listing of individual contributors.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * http://www.apache.org/licenses/LICENSE-2.0
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.jboss.weld.tests.injectionPoint;
-
-import java.io.Serializable;
-import java.util.Timer;
-
-import javax.enterprise.context.ApplicationScoped;
-import javax.enterprise.inject.Instance;
-import javax.enterprise.inject.Produces;
-import javax.inject.Inject;
-
-@ApplicationScoped
-public class IntGenerator implements Serializable
-{
-
- private static final long serialVersionUID = -7213673465118041882L;
-
- @Inject
- private Instance<Timer> timerInstance;
-
- @Produces
- int getInt()
- {
- // This has no purpose other than to invoke a method on the proxy so that the proxy instance
- // is retrieved via the producer method
- timerInstance.get().cancel();
- return 100;
- }
-
-}
Deleted: core/trunk/tests/src/test/java/org/jboss/weld/tests/injectionPoint/Pig.java
===================================================================
--- core/trunk/tests/src/test/java/org/jboss/weld/tests/injectionPoint/Pig.java 2010-07-28 11:35:11 UTC (rev 6821)
+++ core/trunk/tests/src/test/java/org/jboss/weld/tests/injectionPoint/Pig.java 2010-07-28 11:45:17 UTC (rev 6822)
@@ -1,33 +0,0 @@
-/*
- * JBoss, Home of Professional Open Source
- * Copyright 2010, Red Hat, Inc., and individual contributors
- * by the @authors tag. See the copyright.txt in the distribution for a
- * full listing of individual contributors.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * http://www.apache.org/licenses/LICENSE-2.0
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.jboss.weld.tests.injectionPoint;
-
-import javax.enterprise.inject.spi.InjectionPoint;
-import javax.inject.Inject;
-
-@Special @ExtraSpecial
-public class Pig
-{
-
- @Inject InjectionPoint injectionPoint;
-
- public InjectionPoint getInjectionPoint()
- {
- return injectionPoint;
- }
-
-}
Deleted: core/trunk/tests/src/test/java/org/jboss/weld/tests/injectionPoint/PigSty.java
===================================================================
--- core/trunk/tests/src/test/java/org/jboss/weld/tests/injectionPoint/PigSty.java 2010-07-28 11:35:11 UTC (rev 6821)
+++ core/trunk/tests/src/test/java/org/jboss/weld/tests/injectionPoint/PigSty.java 2010-07-28 11:45:17 UTC (rev 6822)
@@ -1,33 +0,0 @@
-/*
- * JBoss, Home of Professional Open Source
- * Copyright 2010, Red Hat, Inc. and/or its affiliates, and individual
- * contributors by the @authors tag. See the copyright.txt in the
- * distribution for a full listing of individual contributors.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * http://www.apache.org/licenses/LICENSE-2.0
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package org.jboss.weld.tests.injectionPoint;
-
-import javax.enterprise.inject.Instance;
-import javax.inject.Inject;
-
-public class PigSty
-{
- @Inject @Special Instance<Pig> pig;
-
- public Pig getPig()
- {
- return pig.select(ExtraSpecialLiteral.INSTANCE).get();
- }
-
-}
-
Deleted: core/trunk/tests/src/test/java/org/jboss/weld/tests/injectionPoint/Special.java
===================================================================
--- core/trunk/tests/src/test/java/org/jboss/weld/tests/injectionPoint/Special.java 2010-07-28 11:35:11 UTC (rev 6821)
+++ core/trunk/tests/src/test/java/org/jboss/weld/tests/injectionPoint/Special.java 2010-07-28 11:45:17 UTC (rev 6822)
@@ -1,36 +0,0 @@
-/*
- * JBoss, Home of Professional Open Source
- * Copyright 2010, Red Hat, Inc., and individual contributors
- * by the @authors tag. See the copyright.txt in the distribution for a
- * full listing of individual contributors.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * http://www.apache.org/licenses/LICENSE-2.0
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.jboss.weld.tests.injectionPoint;
-
-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 java.lang.annotation.Retention;
-import java.lang.annotation.RetentionPolicy;
-import java.lang.annotation.Target;
-
-import javax.inject.Qualifier;
-
-@Qualifier
-(a)Retention(RetentionPolicy.RUNTIME)
-@Target({FIELD, METHOD, TYPE, PARAMETER})
-public @interface Special
-{
-
-}
Deleted: core/trunk/tests/src/test/java/org/jboss/weld/tests/injectionPoint/StringConsumer.java
===================================================================
--- core/trunk/tests/src/test/java/org/jboss/weld/tests/injectionPoint/StringConsumer.java 2010-07-28 11:35:11 UTC (rev 6821)
+++ core/trunk/tests/src/test/java/org/jboss/weld/tests/injectionPoint/StringConsumer.java 2010-07-28 11:45:17 UTC (rev 6822)
@@ -1,28 +0,0 @@
-/*
- * JBoss, Home of Professional Open Source
- * Copyright 2010, Red Hat, Inc., and individual contributors
- * by the @authors tag. See the copyright.txt in the distribution for a
- * full listing of individual contributors.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * http://www.apache.org/licenses/LICENSE-2.0
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.jboss.weld.tests.injectionPoint;
-
-import javax.inject.Inject;
-
-public class StringConsumer
-{
-
- @Inject String str;
-
- public void ping() {}
-
-}
Deleted: core/trunk/tests/src/test/java/org/jboss/weld/tests/injectionPoint/StringGenerator.java
===================================================================
--- core/trunk/tests/src/test/java/org/jboss/weld/tests/injectionPoint/StringGenerator.java 2010-07-28 11:35:11 UTC (rev 6821)
+++ core/trunk/tests/src/test/java/org/jboss/weld/tests/injectionPoint/StringGenerator.java 2010-07-28 11:45:17 UTC (rev 6822)
@@ -1,43 +0,0 @@
-/*
- * JBoss, Home of Professional Open Source
- * Copyright 2010, Red Hat, Inc., and individual contributors
- * by the @authors tag. See the copyright.txt in the distribution for a
- * full listing of individual contributors.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * http://www.apache.org/licenses/LICENSE-2.0
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.jboss.weld.tests.injectionPoint;
-
-import javax.enterprise.inject.Produces;
-import javax.enterprise.inject.spi.InjectionPoint;
-
-public class StringGenerator
-{
-
- private static InjectionPoint injectionPoint;
-
- public static InjectionPoint getInjectionPoint()
- {
- return injectionPoint;
- }
-
- public static void reset()
- {
- injectionPoint = null;
- }
-
- @Produces String getString(InjectionPoint ip)
- {
- injectionPoint = ip;
- return "";
- }
-
-}
Deleted: core/trunk/tests/src/test/java/org/jboss/weld/tests/injectionPoint/TimerManager.java
===================================================================
--- core/trunk/tests/src/test/java/org/jboss/weld/tests/injectionPoint/TimerManager.java 2010-07-28 11:35:11 UTC (rev 6821)
+++ core/trunk/tests/src/test/java/org/jboss/weld/tests/injectionPoint/TimerManager.java 2010-07-28 11:45:17 UTC (rev 6822)
@@ -1,37 +0,0 @@
-/*
- * JBoss, Home of Professional Open Source
- * Copyright 2010, Red Hat, Inc., and individual contributors
- * by the @authors tag. See the copyright.txt in the distribution for a
- * full listing of individual contributors.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * http://www.apache.org/licenses/LICENSE-2.0
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.jboss.weld.tests.injectionPoint;
-
-import java.io.Serializable;
-import java.util.Timer;
-
-import javax.enterprise.context.RequestScoped;
-import javax.enterprise.inject.Produces;
-
-public class TimerManager implements Serializable
-{
-
- private static final long serialVersionUID = 5156835887786174326L;
-
- @Produces
- @RequestScoped
- public Timer getTimer()
- {
- return new Timer();
- }
-
-}
Deleted: core/trunk/tests/src/test/java/org/jboss/weld/tests/producer/field/Baz.java
===================================================================
--- core/trunk/tests/src/test/java/org/jboss/weld/tests/producer/field/Baz.java 2010-07-28 11:35:11 UTC (rev 6821)
+++ core/trunk/tests/src/test/java/org/jboss/weld/tests/producer/field/Baz.java 2010-07-28 11:45:17 UTC (rev 6822)
@@ -1,13 +0,0 @@
-package org.jboss.weld.tests.producer.field;
-
-import java.lang.annotation.Retention;
-import java.lang.annotation.RetentionPolicy;
-
-import javax.inject.Qualifier;
-
-(a)Retention(RetentionPolicy.RUNTIME)
-@Qualifier
-public @interface Baz
-{
-
-}
Deleted: core/trunk/tests/src/test/java/org/jboss/weld/tests/producer/field/IntegerCollectionInjection.java
===================================================================
--- core/trunk/tests/src/test/java/org/jboss/weld/tests/producer/field/IntegerCollectionInjection.java 2010-07-28 11:35:11 UTC (rev 6821)
+++ core/trunk/tests/src/test/java/org/jboss/weld/tests/producer/field/IntegerCollectionInjection.java 2010-07-28 11:45:17 UTC (rev 6822)
@@ -1,60 +0,0 @@
-/*
- * JBoss, Home of Professional Open Source
- * Copyright 2010, Red Hat, Inc., and individual contributors
- * by the @authors tag. See the copyright.txt in the distribution for a
- * full listing of individual contributors.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * http://www.apache.org/licenses/LICENSE-2.0
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.jboss.weld.tests.producer.field;
-
-import java.util.Collection;
-
-import javax.inject.Inject;
-
-public class IntegerCollectionInjection
-{
-
- private Collection<Integer> value;
-
- @Inject
- private Collection<Integer> fieldInjection;
-
- private Collection<Integer> setterInjection;
-
- @Inject
- public void init(Collection<Integer> setterInjection)
- {
- this.setterInjection = setterInjection;
- }
-
- @Inject
- public IntegerCollectionInjection(Collection<Integer> com)
- {
- this.value = com;
- }
-
- public Collection<Integer> getValue()
- {
- return value;
- }
-
- public Collection<Integer> getFieldInjection()
- {
- return fieldInjection;
- }
-
- public Collection<Integer> getSetterInjection()
- {
- return setterInjection;
- }
-
-}
Deleted: core/trunk/tests/src/test/java/org/jboss/weld/tests/producer/field/ListInstance.java
===================================================================
--- core/trunk/tests/src/test/java/org/jboss/weld/tests/producer/field/ListInstance.java 2010-07-28 11:35:11 UTC (rev 6821)
+++ core/trunk/tests/src/test/java/org/jboss/weld/tests/producer/field/ListInstance.java 2010-07-28 11:45:17 UTC (rev 6822)
@@ -1,35 +0,0 @@
-/*
- * JBoss, Home of Professional Open Source
- * Copyright 2010, Red Hat, Inc., and individual contributors
- * by the @authors tag. See the copyright.txt in the distribution for a
- * full listing of individual contributors.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * http://www.apache.org/licenses/LICENSE-2.0
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.jboss.weld.tests.producer.field;
-
-import java.util.List;
-
-import javax.enterprise.inject.Any;
-import javax.enterprise.inject.Instance;
-import javax.inject.Inject;
-
-public class ListInstance
-{
- @Inject @Any
- Instance<List> instance;
-
- public Instance<List> get()
- {
- return instance;
- }
-
-}
Deleted: core/trunk/tests/src/test/java/org/jboss/weld/tests/producer/field/ListStringInstance.java
===================================================================
--- core/trunk/tests/src/test/java/org/jboss/weld/tests/producer/field/ListStringInstance.java 2010-07-28 11:35:11 UTC (rev 6821)
+++ core/trunk/tests/src/test/java/org/jboss/weld/tests/producer/field/ListStringInstance.java 2010-07-28 11:45:17 UTC (rev 6822)
@@ -1,34 +0,0 @@
-/*
- * JBoss, Home of Professional Open Source
- * Copyright 2010, Red Hat, Inc., and individual contributors
- * by the @authors tag. See the copyright.txt in the distribution for a
- * full listing of individual contributors.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * http://www.apache.org/licenses/LICENSE-2.0
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.jboss.weld.tests.producer.field;
-
-import java.util.List;
-
-import javax.enterprise.inject.Any;
-import javax.enterprise.inject.Instance;
-import javax.inject.Inject;
-
-public class ListStringInstance
-{
- @Inject @Any Instance<List<String>> instance;
-
- public List<String> get()
- {
- return instance.get();
- }
-
-}
Deleted: core/trunk/tests/src/test/java/org/jboss/weld/tests/producer/field/ParameterizedCollectionInjection.java
===================================================================
--- core/trunk/tests/src/test/java/org/jboss/weld/tests/producer/field/ParameterizedCollectionInjection.java 2010-07-28 11:35:11 UTC (rev 6821)
+++ core/trunk/tests/src/test/java/org/jboss/weld/tests/producer/field/ParameterizedCollectionInjection.java 2010-07-28 11:45:17 UTC (rev 6822)
@@ -1,60 +0,0 @@
-/*
- * JBoss, Home of Professional Open Source
- * Copyright 2010, Red Hat, Inc., and individual contributors
- * by the @authors tag. See the copyright.txt in the distribution for a
- * full listing of individual contributors.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * http://www.apache.org/licenses/LICENSE-2.0
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.jboss.weld.tests.producer.field;
-
-import java.util.Collection;
-
-import javax.inject.Inject;
-
-public class ParameterizedCollectionInjection
-{
-
- private Collection<String> value;
-
- @Inject
- private Collection<String> fieldInjection;
-
- private Collection<String> setterInjection;
-
- @Inject
- public void init(Collection<String> setterInjection)
- {
- this.setterInjection = setterInjection;
- }
-
- @Inject
- public ParameterizedCollectionInjection(Collection<String> com)
- {
- this.value = com;
- }
-
- public Collection<String> getValue()
- {
- return value;
- }
-
- public Collection<String> getFieldInjection()
- {
- return fieldInjection;
- }
-
- public Collection<String> getSetterInjection()
- {
- return setterInjection;
- }
-
-}
Deleted: core/trunk/tests/src/test/java/org/jboss/weld/tests/producer/field/ParameterizedListInjection.java
===================================================================
--- core/trunk/tests/src/test/java/org/jboss/weld/tests/producer/field/ParameterizedListInjection.java 2010-07-28 11:35:11 UTC (rev 6821)
+++ core/trunk/tests/src/test/java/org/jboss/weld/tests/producer/field/ParameterizedListInjection.java 2010-07-28 11:45:17 UTC (rev 6822)
@@ -1,60 +0,0 @@
-/*
- * JBoss, Home of Professional Open Source
- * Copyright 2010, Red Hat, Inc., and individual contributors
- * by the @authors tag. See the copyright.txt in the distribution for a
- * full listing of individual contributors.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * http://www.apache.org/licenses/LICENSE-2.0
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.jboss.weld.tests.producer.field;
-
-import java.util.List;
-
-import javax.inject.Inject;
-
-public class ParameterizedListInjection
-{
-
- private List<String> value;
-
- @Inject
- private List<String> fieldInjection;
-
- private List<String> setterInjection;
-
- @Inject
- public void init(List<String> setterInjection)
- {
- this.setterInjection = setterInjection;
- }
-
- @Inject
- public ParameterizedListInjection(List<String> com)
- {
- this.value = com;
- }
-
- public java.util.List<String> getValue()
- {
- return value;
- }
-
- public List<String> getFieldInjection()
- {
- return fieldInjection;
- }
-
- public List<String> getSetterInjection()
- {
- return setterInjection;
- }
-
-}
Deleted: core/trunk/tests/src/test/java/org/jboss/weld/tests/producer/field/ParameterizedProducer.java
===================================================================
--- core/trunk/tests/src/test/java/org/jboss/weld/tests/producer/field/ParameterizedProducer.java 2010-07-28 11:35:11 UTC (rev 6821)
+++ core/trunk/tests/src/test/java/org/jboss/weld/tests/producer/field/ParameterizedProducer.java 2010-07-28 11:45:17 UTC (rev 6822)
@@ -1,42 +0,0 @@
-/*
- * JBoss, Home of Professional Open Source
- * Copyright 2010, Red Hat, Inc., and individual contributors
- * by the @authors tag. See the copyright.txt in the distribution for a
- * full listing of individual contributors.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * http://www.apache.org/licenses/LICENSE-2.0
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.jboss.weld.tests.producer.field;
-
-import java.util.ArrayList;
-import java.util.Arrays;
-import java.util.List;
-
-import javax.enterprise.inject.Produces;
-
-public class ParameterizedProducer
-{
-
- @Produces
- public List<String> createStringList()
- {
- return Arrays.asList("aaa", "bbb");
- }
-
- @Produces
- public ArrayList<Integer> createIntegerList()
- {
- List<Integer> list = Arrays.asList(1, 2, 3, 4);
- ArrayList<Integer> arrayList = new ArrayList<Integer>();
- arrayList.addAll(list);
- return arrayList;
- }
-}
Deleted: core/trunk/tests/src/test/java/org/jboss/weld/tests/producer/field/ParameterizedProducerTest.java
===================================================================
--- core/trunk/tests/src/test/java/org/jboss/weld/tests/producer/field/ParameterizedProducerTest.java 2010-07-28 11:35:11 UTC (rev 6821)
+++ core/trunk/tests/src/test/java/org/jboss/weld/tests/producer/field/ParameterizedProducerTest.java 2010-07-28 11:45:17 UTC (rev 6822)
@@ -1,82 +0,0 @@
-/*
- * JBoss, Home of Professional Open Source
- * Copyright 2010, Red Hat, Inc., and individual contributors
- * by the @authors tag. See the copyright.txt in the distribution for a
- * full listing of individual contributors.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * http://www.apache.org/licenses/LICENSE-2.0
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.jboss.weld.tests.producer.field;
-
-import java.util.Collection;
-import java.util.List;
-
-import org.jboss.testharness.impl.packaging.Artifact;
-import org.jboss.weld.test.AbstractWeldTest;
-import org.testng.annotations.Test;
-
-@Artifact
-public class ParameterizedProducerTest extends AbstractWeldTest
-{
-
- @Test
- public void testParameterizedListInjection()
- {
- List<String> strings = getReference(Target.class).getStringList();
- assert strings.size() == 2;
-
- ParameterizedListInjection item = getReference(ParameterizedListInjection.class);
- assert item.getFieldInjection().size() == 2;
- assert item.getValue().size() == 2;
- assert item.getSetterInjection().size() == 2;
-
- }
-
- @Test
- public void testParameterizedCollectionInjection()
- {
- Collection<String> strings = getReference(Target.class).getStrings();
- assert strings.size() == 2;
-
- ParameterizedCollectionInjection item = getReference(ParameterizedCollectionInjection.class);
- assert item.getFieldInjection().size() == 2;
- assert item.getValue().size() == 2;
- assert item.getSetterInjection().size() == 2;
-
- }
-
- @Test
- public void testIntegerCollectionInjection()
- {
- Collection<Integer> integers = getReference(Target.class).getIntegers();
- assert integers.size() == 4;
-
- IntegerCollectionInjection item = getReference(IntegerCollectionInjection.class);
- assert item.getFieldInjection().size() == 4;
- assert item.getValue().size() == 4;
- assert item.getSetterInjection().size() == 4;
-
- }
-
- @Test
- public void testInstanceList()
- {
- ListInstance listInstance = getReference(ListInstance.class);
- assert listInstance.get().isAmbiguous();
- }
-
- @Test
- public void testTypeParameterInstance()
- {
- ListStringInstance listInstance = getReference(ListStringInstance.class);
- assert listInstance.get().size() == 2;
- }
-}
Deleted: core/trunk/tests/src/test/java/org/jboss/weld/tests/producer/field/ProducerBeanInvocationTest.java
===================================================================
--- core/trunk/tests/src/test/java/org/jboss/weld/tests/producer/field/ProducerBeanInvocationTest.java 2010-07-28 11:35:11 UTC (rev 6821)
+++ core/trunk/tests/src/test/java/org/jboss/weld/tests/producer/field/ProducerBeanInvocationTest.java 2010-07-28 11:45:17 UTC (rev 6822)
@@ -1,48 +0,0 @@
-/*
- * JBoss, Home of Professional Open Source
- * Copyright 2008, Red Hat, Inc. and/or its affiliates, and individual contributors
- * by the @authors tag. See the copyright.txt in the distribution for a
- * full listing of individual contributors.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * http://www.apache.org/licenses/LICENSE-2.0
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package org.jboss.weld.tests.producer.field;
-
-import javax.enterprise.util.AnnotationLiteral;
-
-import org.jboss.testharness.impl.packaging.Artifact;
-import org.jboss.weld.test.AbstractWeldTest;
-import org.testng.annotations.Test;
-
-/**
- * Simple test which invokes a method directly on a normal scoped producer
- * bean to ensure that it's proxy is for that bean and not the product
- * of a producer method.
- *
- * @author David Allen
- *
- */
-@Artifact
-public class ProducerBeanInvocationTest extends AbstractWeldTest
-{
- @Test
- // WELD-546
- public void test()
- {
- Qux bar = getReference(Qux.class);
- assert bar.getBar().equals("qux");
- QuxProducer producer = getReference(QuxProducer.class);
- assert producer.ping();
- Qux bazBar = getReference(Qux.class, new AnnotationLiteral<Baz>(){});
- assert bazBar.getBar().equals("baz");
- }
-}
Deleted: core/trunk/tests/src/test/java/org/jboss/weld/tests/producer/field/Qux.java
===================================================================
--- core/trunk/tests/src/test/java/org/jboss/weld/tests/producer/field/Qux.java 2010-07-28 11:35:11 UTC (rev 6821)
+++ core/trunk/tests/src/test/java/org/jboss/weld/tests/producer/field/Qux.java 2010-07-28 11:45:17 UTC (rev 6822)
@@ -1,26 +0,0 @@
-package org.jboss.weld.tests.producer.field;
-
-import javax.enterprise.context.RequestScoped;
-
-@RequestScoped
-public class Qux
-{
-
- private final String name;
-
- public Qux(String name)
- {
- this.name = name;
- }
-
- public Qux()
- {
- this("qux");
- }
-
- public String getBar()
- {
- return name;
- }
-
-}
Deleted: core/trunk/tests/src/test/java/org/jboss/weld/tests/producer/field/QuxProducer.java
===================================================================
--- core/trunk/tests/src/test/java/org/jboss/weld/tests/producer/field/QuxProducer.java 2010-07-28 11:35:11 UTC (rev 6821)
+++ core/trunk/tests/src/test/java/org/jboss/weld/tests/producer/field/QuxProducer.java 2010-07-28 11:45:17 UTC (rev 6822)
@@ -1,18 +0,0 @@
-package org.jboss.weld.tests.producer.field;
-
-import javax.enterprise.context.RequestScoped;
-import javax.enterprise.inject.Produces;
-
-@RequestScoped
-public class QuxProducer
-{
-
- @Produces @Baz @RequestScoped
- private Qux bar = new Qux("baz");
-
- public boolean ping()
- {
- return true;
- };
-
-}
Deleted: core/trunk/tests/src/test/java/org/jboss/weld/tests/producer/field/Target.java
===================================================================
--- core/trunk/tests/src/test/java/org/jboss/weld/tests/producer/field/Target.java 2010-07-28 11:35:11 UTC (rev 6821)
+++ core/trunk/tests/src/test/java/org/jboss/weld/tests/producer/field/Target.java 2010-07-28 11:45:17 UTC (rev 6822)
@@ -1,48 +0,0 @@
-/*
- * JBoss, Home of Professional Open Source
- * Copyright 2010, Red Hat, Inc., and individual contributors
- * by the @authors tag. See the copyright.txt in the distribution for a
- * full listing of individual contributors.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * http://www.apache.org/licenses/LICENSE-2.0
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.jboss.weld.tests.producer.field;
-
-import java.util.Collection;
-import java.util.List;
-
-import javax.inject.Inject;
-
-public class Target
-{
-
- @Inject private Collection<String> strings;
-
- @Inject private Collection<Integer> integers;
-
- @Inject private List<String> stringList;
-
- public Collection<String> getStrings()
- {
- return strings;
- }
-
- public Collection<Integer> getIntegers()
- {
- return integers;
- }
-
- public List<String> getStringList()
- {
- return stringList;
- }
-
-}
Deleted: core/trunk/tests/src/test/java/org/jboss/weld/tests/producer/method/Bar.java
===================================================================
--- core/trunk/tests/src/test/java/org/jboss/weld/tests/producer/method/Bar.java 2010-07-28 11:35:11 UTC (rev 6821)
+++ core/trunk/tests/src/test/java/org/jboss/weld/tests/producer/method/Bar.java 2010-07-28 11:45:17 UTC (rev 6822)
@@ -1,26 +0,0 @@
-/*
- * JBoss, Home of Professional Open Source
- * Copyright 2010, Red Hat, Inc., and individual contributors
- * by the @authors tag. See the copyright.txt in the distribution for a
- * full listing of individual contributors.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * http://www.apache.org/licenses/LICENSE-2.0
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.jboss.weld.tests.producer.method;
-
-public class Bar
-{
-
- public Bar(String blah)
- {
-
- }
-}
Deleted: core/trunk/tests/src/test/java/org/jboss/weld/tests/producer/method/BarConsumer.java
===================================================================
--- core/trunk/tests/src/test/java/org/jboss/weld/tests/producer/method/BarConsumer.java 2010-07-28 11:35:11 UTC (rev 6821)
+++ core/trunk/tests/src/test/java/org/jboss/weld/tests/producer/method/BarConsumer.java 2010-07-28 11:45:17 UTC (rev 6822)
@@ -1,32 +0,0 @@
-/*
- * JBoss, Home of Professional Open Source
- * Copyright 2010, Red Hat, Inc., and individual contributors
- * by the @authors tag. See the copyright.txt in the distribution for a
- * full listing of individual contributors.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * http://www.apache.org/licenses/LICENSE-2.0
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.jboss.weld.tests.producer.method;
-
-import javax.enterprise.context.RequestScoped;
-import javax.inject.Inject;
-
-@RequestScoped
-public class BarConsumer
-{
- @Inject
- private Bar bar;
-
- public Bar getBar()
- {
- return bar;
- }
-}
Deleted: core/trunk/tests/src/test/java/org/jboss/weld/tests/producer/method/BarProducer.java
===================================================================
--- core/trunk/tests/src/test/java/org/jboss/weld/tests/producer/method/BarProducer.java 2010-07-28 11:35:11 UTC (rev 6821)
+++ core/trunk/tests/src/test/java/org/jboss/weld/tests/producer/method/BarProducer.java 2010-07-28 11:45:17 UTC (rev 6822)
@@ -1,74 +0,0 @@
-/*
- * JBoss, Home of Professional Open Source
- * Copyright 2010, Red Hat, Inc., and individual contributors
- * by the @authors tag. See the copyright.txt in the distribution for a
- * full listing of individual contributors.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * http://www.apache.org/licenses/LICENSE-2.0
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.jboss.weld.tests.producer.method;
-
-import java.lang.reflect.Member;
-
-import javax.enterprise.inject.Any;
-import javax.enterprise.inject.Default;
-import javax.enterprise.inject.Disposes;
-import javax.enterprise.inject.Produces;
-import javax.enterprise.inject.spi.InjectionPoint;
-
-/**
- * Class with a producer method and disposal method both containing InjectionPoint
- * parameters.
- *
- * @author David Allen
- *
- */
-public class BarProducer
-{
- private static Bar disposedBar;
- private static Member disposedInjection;
- private static Member producedInjection;
-
- @Produces
- public Bar getBar(InjectionPoint injectionPoint)
- {
- producedInjection = injectionPoint.getMember();
- return new Bar("blah");
- }
-
- public void dispose(@Disposes @Any Bar bar, InjectionPoint injectionPoint)
- {
- disposedBar = bar;
- disposedInjection = injectionPoint.getMember();
- }
-
- public static Bar getDisposedBar()
- {
- return disposedBar;
- }
-
- public static Member getDisposedInjection()
- {
- return disposedInjection;
- }
-
- public static Member getProducedInjection()
- {
- return producedInjection;
- }
-
- public static void reset()
- {
- disposedBar = null;
- disposedInjection = null;
- producedInjection = null;
- }
-}
Deleted: core/trunk/tests/src/test/java/org/jboss/weld/tests/producer/method/Baz.java
===================================================================
--- core/trunk/tests/src/test/java/org/jboss/weld/tests/producer/method/Baz.java 2010-07-28 11:35:11 UTC (rev 6821)
+++ core/trunk/tests/src/test/java/org/jboss/weld/tests/producer/method/Baz.java 2010-07-28 11:45:17 UTC (rev 6822)
@@ -1,13 +0,0 @@
-package org.jboss.weld.tests.producer.method;
-
-import java.lang.annotation.Retention;
-import java.lang.annotation.RetentionPolicy;
-
-import javax.inject.Qualifier;
-
-(a)Retention(RetentionPolicy.RUNTIME)
-@Qualifier
-public @interface Baz
-{
-
-}
Deleted: core/trunk/tests/src/test/java/org/jboss/weld/tests/producer/method/Car.java
===================================================================
--- core/trunk/tests/src/test/java/org/jboss/weld/tests/producer/method/Car.java 2010-07-28 11:35:11 UTC (rev 6821)
+++ core/trunk/tests/src/test/java/org/jboss/weld/tests/producer/method/Car.java 2010-07-28 11:45:17 UTC (rev 6822)
@@ -1,26 +0,0 @@
-/*
- * JBoss, Home of Professional Open Source
- * Copyright 2010, Red Hat, Inc., and individual contributors
- * by the @authors tag. See the copyright.txt in the distribution for a
- * full listing of individual contributors.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * http://www.apache.org/licenses/LICENSE-2.0
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.jboss.weld.tests.producer.method;
-
-import java.io.Serializable;
-
-public class Car implements Serializable
-{
-
- private static final long serialVersionUID = 1L;
-
-}
Deleted: core/trunk/tests/src/test/java/org/jboss/weld/tests/producer/method/CarFactory.java
===================================================================
--- core/trunk/tests/src/test/java/org/jboss/weld/tests/producer/method/CarFactory.java 2010-07-28 11:35:11 UTC (rev 6821)
+++ core/trunk/tests/src/test/java/org/jboss/weld/tests/producer/method/CarFactory.java 2010-07-28 11:45:17 UTC (rev 6822)
@@ -1,30 +0,0 @@
-/*
- * JBoss, Home of Professional Open Source
- * Copyright 2010, Red Hat, Inc., and individual contributors
- * by the @authors tag. See the copyright.txt in the distribution for a
- * full listing of individual contributors.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * http://www.apache.org/licenses/LICENSE-2.0
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.jboss.weld.tests.producer.method;
-
-import javax.enterprise.inject.Produces;
-
-public class CarFactory
-{
-
- @Produces @Important
- public Car produceGovernmentCar()
- {
- return null;
- }
-
-}
Deleted: core/trunk/tests/src/test/java/org/jboss/weld/tests/producer/method/DisposalMethodInjectionPointTest.java
===================================================================
--- core/trunk/tests/src/test/java/org/jboss/weld/tests/producer/method/DisposalMethodInjectionPointTest.java 2010-07-28 11:35:11 UTC (rev 6821)
+++ core/trunk/tests/src/test/java/org/jboss/weld/tests/producer/method/DisposalMethodInjectionPointTest.java 2010-07-28 11:45:17 UTC (rev 6822)
@@ -1,43 +0,0 @@
-/*
- * JBoss, Home of Professional Open Source
- * Copyright 2010, Red Hat, Inc., and individual contributors
- * by the @authors tag. See the copyright.txt in the distribution for a
- * full listing of individual contributors.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * http://www.apache.org/licenses/LICENSE-2.0
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.jboss.weld.tests.producer.method;
-
-import javax.enterprise.context.spi.CreationalContext;
-import javax.enterprise.inject.spi.Bean;
-
-import org.jboss.testharness.impl.packaging.Artifact;
-import org.jboss.weld.test.AbstractWeldTest;
-import org.testng.annotations.Test;
-
-@Artifact
-public class DisposalMethodInjectionPointTest extends AbstractWeldTest
-{
- @Test(groups = { "broken" })
- // WELD-358
- public void test()
- {
- BarProducer.reset();
- Bean<BarConsumer> barConsumerBean = getBean(BarConsumer.class);
- CreationalContext<BarConsumer> ctx = getCurrentManager().createCreationalContext(barConsumerBean);
- BarConsumer barConsumer = barConsumerBean.create(ctx);
- assert BarProducer.getProducedInjection().getName().equals("bar");
- Bar bar = barConsumer.getBar();
- barConsumerBean.destroy(barConsumer, ctx);
- assert BarProducer.getDisposedBar() == bar;
- assert BarProducer.getDisposedInjection().getName().equals("bar");
- }
-}
Deleted: core/trunk/tests/src/test/java/org/jboss/weld/tests/producer/method/DisposalMethodOnOtherBeanNotResolvedTest.java
===================================================================
--- core/trunk/tests/src/test/java/org/jboss/weld/tests/producer/method/DisposalMethodOnOtherBeanNotResolvedTest.java 2010-07-28 11:35:11 UTC (rev 6821)
+++ core/trunk/tests/src/test/java/org/jboss/weld/tests/producer/method/DisposalMethodOnOtherBeanNotResolvedTest.java 2010-07-28 11:45:17 UTC (rev 6822)
@@ -1,43 +0,0 @@
-/*
- * JBoss, Home of Professional Open Source
- * Copyright 2010, Red Hat, Inc., and individual contributors
- * by the @authors tag. See the copyright.txt in the distribution for a
- * full listing of individual contributors.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * http://www.apache.org/licenses/LICENSE-2.0
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.jboss.weld.tests.producer.method;
-
-import javax.enterprise.context.spi.CreationalContext;
-import javax.enterprise.inject.spi.Bean;
-
-import org.jboss.testharness.impl.packaging.Artifact;
-import org.jboss.weld.test.AbstractWeldTest;
-import org.testng.annotations.Test;
-
-@Artifact
-public class DisposalMethodOnOtherBeanNotResolvedTest extends AbstractWeldTest
-{
- @Test
- public void test()
- {
- FooDisposer.reset();
- FooProducer.reset();
- Bean<Foo> bean = getBean(Foo.class);
- CreationalContext<Foo> ctx = getCurrentManager().createCreationalContext(bean);
- Foo instance = bean.create(ctx);
- assert instance.getBlah().equals("foo!");
- bean.destroy(instance, ctx);
- assert !FooDisposer.isDisposed();
- assert FooProducer.isDisposed();
- }
-
-}
Deleted: core/trunk/tests/src/test/java/org/jboss/weld/tests/producer/method/Foo.java
===================================================================
--- core/trunk/tests/src/test/java/org/jboss/weld/tests/producer/method/Foo.java 2010-07-28 11:35:11 UTC (rev 6821)
+++ core/trunk/tests/src/test/java/org/jboss/weld/tests/producer/method/Foo.java 2010-07-28 11:45:17 UTC (rev 6822)
@@ -1,41 +0,0 @@
-/*
- * JBoss, Home of Professional Open Source
- * Copyright 2010, Red Hat, Inc., and individual contributors
- * by the @authors tag. See the copyright.txt in the distribution for a
- * full listing of individual contributors.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * http://www.apache.org/licenses/LICENSE-2.0
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.jboss.weld.tests.producer.method;
-
-/**
- * @author pmuir
- *
- */
-public class Foo
-{
-
- private final String blah;
-
- public Foo(String blah)
- {
- this.blah = blah;
- }
-
- /**
- * @return the blah
- */
- public String getBlah()
- {
- return blah;
- }
-
-}
Deleted: core/trunk/tests/src/test/java/org/jboss/weld/tests/producer/method/FooDisposer.java
===================================================================
--- core/trunk/tests/src/test/java/org/jboss/weld/tests/producer/method/FooDisposer.java 2010-07-28 11:35:11 UTC (rev 6821)
+++ core/trunk/tests/src/test/java/org/jboss/weld/tests/producer/method/FooDisposer.java 2010-07-28 11:45:17 UTC (rev 6822)
@@ -1,56 +0,0 @@
-/*
- * JBoss, Home of Professional Open Source
- * Copyright 2010, Red Hat, Inc., and individual contributors
- * by the @authors tag. See the copyright.txt in the distribution for a
- * full listing of individual contributors.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * http://www.apache.org/licenses/LICENSE-2.0
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.jboss.weld.tests.producer.method;
-
-import javax.enterprise.inject.Any;
-import javax.enterprise.inject.Disposes;
-import javax.enterprise.inject.Produces;
-
-/**
- * @author pmuir
- *
- */
-public class FooDisposer
-{
-
- private static boolean disposed;
-
- public static void reset()
- {
- disposed = false;
- }
-
- void disposeFoo(@Disposes @Any Foo foo)
- {
- disposed = true;
- }
-
- /**
- * @return the disposed
- */
- public static boolean isDisposed()
- {
- return disposed;
- }
-
- @Produces @Important
- public Foo getFoo()
- {
- return new Foo("bar!");
- }
-
-}
Deleted: core/trunk/tests/src/test/java/org/jboss/weld/tests/producer/method/FooProducer.java
===================================================================
--- core/trunk/tests/src/test/java/org/jboss/weld/tests/producer/method/FooProducer.java 2010-07-28 11:35:11 UTC (rev 6821)
+++ core/trunk/tests/src/test/java/org/jboss/weld/tests/producer/method/FooProducer.java 2010-07-28 11:45:17 UTC (rev 6822)
@@ -1,54 +0,0 @@
-/*
- * JBoss, Home of Professional Open Source
- * Copyright 2010, Red Hat, Inc., and individual contributors
- * by the @authors tag. See the copyright.txt in the distribution for a
- * full listing of individual contributors.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * http://www.apache.org/licenses/LICENSE-2.0
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.jboss.weld.tests.producer.method;
-
-import javax.enterprise.inject.Disposes;
-import javax.enterprise.inject.Produces;
-
-/**
- * @author pmuir
- *
- */
-public class FooProducer
-{
-
- @Produces Foo getFoo()
- {
- return new Foo("foo!");
- }
-
- private static boolean disposed;
-
- public static void reset()
- {
- disposed = false;
- }
-
- public void disposeFoo(@Disposes Foo foo)
- {
- disposed = true;
- }
-
- /**
- * @return the disposed
- */
- public static boolean isDisposed()
- {
- return disposed;
- }
-
-}
Deleted: core/trunk/tests/src/test/java/org/jboss/weld/tests/producer/method/Government.java
===================================================================
--- core/trunk/tests/src/test/java/org/jboss/weld/tests/producer/method/Government.java 2010-07-28 11:35:11 UTC (rev 6821)
+++ core/trunk/tests/src/test/java/org/jboss/weld/tests/producer/method/Government.java 2010-07-28 11:45:17 UTC (rev 6822)
@@ -1,37 +0,0 @@
-/*
- * JBoss, Home of Professional Open Source
- * Copyright 2010, Red Hat, Inc., and individual contributors
- * by the @authors tag. See the copyright.txt in the distribution for a
- * full listing of individual contributors.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * http://www.apache.org/licenses/LICENSE-2.0
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.jboss.weld.tests.producer.method;
-
-import java.io.Serializable;
-
-import javax.enterprise.context.SessionScoped;
-
-@SessionScoped
-public class Government implements Serializable
-{
-
- private static final long serialVersionUID = 1L;
-
- @Important Car governmentCar;
-
- public void destabilize()
- {
-
- }
-
-
-}
Deleted: core/trunk/tests/src/test/java/org/jboss/weld/tests/producer/method/Important.java
===================================================================
--- core/trunk/tests/src/test/java/org/jboss/weld/tests/producer/method/Important.java 2010-07-28 11:35:11 UTC (rev 6821)
+++ core/trunk/tests/src/test/java/org/jboss/weld/tests/producer/method/Important.java 2010-07-28 11:45:17 UTC (rev 6822)
@@ -1,41 +0,0 @@
-/*
- * JBoss, Home of Professional Open Source
- * Copyright 2010, Red Hat, Inc., and individual contributors
- * by the @authors tag. See the copyright.txt in the distribution for a
- * full listing of individual contributors.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * http://www.apache.org/licenses/LICENSE-2.0
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.jboss.weld.tests.producer.method;
-
-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.Inherited;
-import java.lang.annotation.Retention;
-import java.lang.annotation.Target;
-
-import javax.inject.Qualifier;
-
-/**
- * @author Dan Allen
- */
-@Target( { TYPE, METHOD, PARAMETER, FIELD })
-@Retention(RUNTIME)
-@Documented
-@Qualifier
-@Inherited
-public @interface Important {
-}
Deleted: core/trunk/tests/src/test/java/org/jboss/weld/tests/producer/method/IntInjection.java
===================================================================
--- core/trunk/tests/src/test/java/org/jboss/weld/tests/producer/method/IntInjection.java 2010-07-28 11:35:11 UTC (rev 6821)
+++ core/trunk/tests/src/test/java/org/jboss/weld/tests/producer/method/IntInjection.java 2010-07-28 11:45:17 UTC (rev 6822)
@@ -1,31 +0,0 @@
-/*
- * JBoss, Home of Professional Open Source
- * Copyright 2010, Red Hat, Inc., and individual contributors
- * by the @authors tag. See the copyright.txt in the distribution for a
- * full listing of individual contributors.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * http://www.apache.org/licenses/LICENSE-2.0
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.jboss.weld.tests.producer.method;
-
-import javax.inject.Inject;
-
-public class IntInjection
-{
-
- int value;
-
- @Inject public IntInjection(Integer integer)
- {
- this.value = integer;
- }
-
-}
Deleted: core/trunk/tests/src/test/java/org/jboss/weld/tests/producer/method/JmsTemplate.java
===================================================================
--- core/trunk/tests/src/test/java/org/jboss/weld/tests/producer/method/JmsTemplate.java 2010-07-28 11:35:11 UTC (rev 6821)
+++ core/trunk/tests/src/test/java/org/jboss/weld/tests/producer/method/JmsTemplate.java 2010-07-28 11:45:17 UTC (rev 6822)
@@ -1,34 +0,0 @@
-/*
- * JBoss, Home of Professional Open Source
- * Copyright 2010, Red Hat, Inc., and individual contributors
- * by the @authors tag. See the copyright.txt in the distribution for a
- * full listing of individual contributors.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * http://www.apache.org/licenses/LICENSE-2.0
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.jboss.weld.tests.producer.method;
-
-public class JmsTemplate
-{
-
- private final int receiveTimeout;
-
- public JmsTemplate(int receiveTimeout)
- {
- this.receiveTimeout = receiveTimeout;
- }
-
- public int getReceiveTimeout()
- {
- return receiveTimeout;
- }
-
-}
Deleted: core/trunk/tests/src/test/java/org/jboss/weld/tests/producer/method/JmsTemplateConfigurationProducer.java
===================================================================
--- core/trunk/tests/src/test/java/org/jboss/weld/tests/producer/method/JmsTemplateConfigurationProducer.java 2010-07-28 11:35:11 UTC (rev 6821)
+++ core/trunk/tests/src/test/java/org/jboss/weld/tests/producer/method/JmsTemplateConfigurationProducer.java 2010-07-28 11:45:17 UTC (rev 6822)
@@ -1,47 +0,0 @@
-/*
- * JBoss, Home of Professional Open Source
- * Copyright 2010, Red Hat, Inc., and individual contributors
- * by the @authors tag. See the copyright.txt in the distribution for a
- * full listing of individual contributors.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * http://www.apache.org/licenses/LICENSE-2.0
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.jboss.weld.tests.producer.method;
-
-import javax.enterprise.inject.Produces;
-import javax.inject.Named;
-
-public class JmsTemplateConfigurationProducer
-{
-
- public static final int LONG_RECEIVE_TIMEOUT = 3 * 3600;
- public static final int SHORT_RECEIVE_TIMEOUT = 100;
-
- @Produces @Long
- private int longReceiveTimeout = LONG_RECEIVE_TIMEOUT;
-
- @Produces @Short
- private int shortReceiveTimeout = SHORT_RECEIVE_TIMEOUT;
-
- @Produces
- @Named
- public JmsTemplate getErrorQueueTemplate(@Long int receiveTimeout)
- {
- return new JmsTemplate(receiveTimeout);
- }
-
- @Produces
- @Named
- public JmsTemplate getLogQueueTemplate(@Short int receiveTimeout)
- {
- return new JmsTemplate(receiveTimeout);
- }
-}
\ No newline at end of file
Deleted: core/trunk/tests/src/test/java/org/jboss/weld/tests/producer/method/Long.java
===================================================================
--- core/trunk/tests/src/test/java/org/jboss/weld/tests/producer/method/Long.java 2010-07-28 11:35:11 UTC (rev 6821)
+++ core/trunk/tests/src/test/java/org/jboss/weld/tests/producer/method/Long.java 2010-07-28 11:45:17 UTC (rev 6822)
@@ -1,41 +0,0 @@
-/*
- * JBoss, Home of Professional Open Source
- * Copyright 2010, Red Hat, Inc., and individual contributors
- * by the @authors tag. See the copyright.txt in the distribution for a
- * full listing of individual contributors.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * http://www.apache.org/licenses/LICENSE-2.0
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.jboss.weld.tests.producer.method;
-
-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.Inherited;
-import java.lang.annotation.Retention;
-import java.lang.annotation.Target;
-
-import javax.inject.Qualifier;
-
-/**
- * @author Dan Allen
- */
-@Target( { TYPE, METHOD, PARAMETER, FIELD })
-@Retention(RUNTIME)
-@Documented
-@Qualifier
-@Inherited
-public @interface Long {
-}
Deleted: core/trunk/tests/src/test/java/org/jboss/weld/tests/producer/method/ManagerProducer.java
===================================================================
--- core/trunk/tests/src/test/java/org/jboss/weld/tests/producer/method/ManagerProducer.java 2010-07-28 11:35:11 UTC (rev 6821)
+++ core/trunk/tests/src/test/java/org/jboss/weld/tests/producer/method/ManagerProducer.java 2010-07-28 11:45:17 UTC (rev 6822)
@@ -1,48 +0,0 @@
-/*
- * JBoss, Home of Professional Open Source
- * Copyright 2010, Red Hat, Inc., and individual contributors
- * by the @authors tag. See the copyright.txt in the distribution for a
- * full listing of individual contributors.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * http://www.apache.org/licenses/LICENSE-2.0
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.jboss.weld.tests.producer.method;
-
-import javax.enterprise.inject.Produces;
-import javax.enterprise.inject.spi.BeanManager;
-import javax.enterprise.inject.spi.InjectionPoint;
-import javax.inject.Inject;
-
-class ManagerProducer
-{
-
- @Inject BeanManager beanManager;
-
- private static boolean injectionPointInjected;
-
- public static boolean isInjectionPointInjected()
- {
- return injectionPointInjected;
- }
-
- public static void setInjectionPointInjected(boolean injectionPointInjected)
- {
- ManagerProducer.injectionPointInjected = injectionPointInjected;
- }
-
- @Produces
- Integer create(InjectionPoint point)
- {
- injectionPointInjected = point != null;
- return 10;
- }
-
-}
Deleted: core/trunk/tests/src/test/java/org/jboss/weld/tests/producer/method/ManagerProducerTest.java
===================================================================
--- core/trunk/tests/src/test/java/org/jboss/weld/tests/producer/method/ManagerProducerTest.java 2010-07-28 11:35:11 UTC (rev 6821)
+++ core/trunk/tests/src/test/java/org/jboss/weld/tests/producer/method/ManagerProducerTest.java 2010-07-28 11:45:17 UTC (rev 6822)
@@ -1,34 +0,0 @@
-/*
- * JBoss, Home of Professional Open Source
- * Copyright 2010, Red Hat, Inc., and individual contributors
- * by the @authors tag. See the copyright.txt in the distribution for a
- * full listing of individual contributors.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * http://www.apache.org/licenses/LICENSE-2.0
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.jboss.weld.tests.producer.method;
-
-import org.jboss.testharness.impl.packaging.Artifact;
-import org.jboss.weld.test.AbstractWeldTest;
-import org.testng.annotations.Test;
-
-@Artifact
-public class ManagerProducerTest extends AbstractWeldTest
-{
- @Test(description="WBRI-183")
- public void testInjectManagerProducer()
- {
- ManagerProducer.setInjectionPointInjected(false);
- getReference(IntInjection.class);
- assert ManagerProducer.isInjectionPointInjected();
- }
-
-}
Deleted: core/trunk/tests/src/test/java/org/jboss/weld/tests/producer/method/NamedProducer.java
===================================================================
--- core/trunk/tests/src/test/java/org/jboss/weld/tests/producer/method/NamedProducer.java 2010-07-28 11:35:11 UTC (rev 6821)
+++ core/trunk/tests/src/test/java/org/jboss/weld/tests/producer/method/NamedProducer.java 2010-07-28 11:45:17 UTC (rev 6822)
@@ -1,37 +0,0 @@
-/*
- * JBoss, Home of Professional Open Source
- * Copyright 2010, Red Hat, Inc., and individual contributors
- * by the @authors tag. See the copyright.txt in the distribution for a
- * full listing of individual contributors.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * http://www.apache.org/licenses/LICENSE-2.0
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.jboss.weld.tests.producer.method;
-
-import javax.enterprise.inject.Produces;
-import javax.inject.Named;
-
-public class NamedProducer
-{
- @Named("itoen")
- @Produces
- public String[] createName()
- {
- return new String[] { "oh", "otya" };
- }
-
- @Named("iemon")
- @Produces
- public String[] createName2()
- {
- return new String[] { "fukujyuen", "iemon", "otya" };
- }
-}
Deleted: core/trunk/tests/src/test/java/org/jboss/weld/tests/producer/method/NamedProducerTest.java
===================================================================
--- core/trunk/tests/src/test/java/org/jboss/weld/tests/producer/method/NamedProducerTest.java 2010-07-28 11:35:11 UTC (rev 6821)
+++ core/trunk/tests/src/test/java/org/jboss/weld/tests/producer/method/NamedProducerTest.java 2010-07-28 11:45:17 UTC (rev 6822)
@@ -1,58 +0,0 @@
-/*
- * JBoss, Home of Professional Open Source
- * Copyright 2010, Red Hat, Inc., and individual contributors
- * by the @authors tag. See the copyright.txt in the distribution for a
- * full listing of individual contributors.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * http://www.apache.org/licenses/LICENSE-2.0
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.jboss.weld.tests.producer.method;
-
-import java.util.ArrayList;
-import java.util.Arrays;
-import java.util.List;
-import java.util.Set;
-
-import javax.enterprise.inject.spi.Bean;
-
-import org.jboss.testharness.impl.packaging.Artifact;
-import org.jboss.weld.test.AbstractWeldTest;
-import org.testng.annotations.Test;
-
-@Artifact
-public class NamedProducerTest extends AbstractWeldTest
-{
-
- @Test
- public void testNamedProducer()
- {
- Bean<?> iemonBean = getCurrentManager().resolve(getCurrentManager().getBeans("iemon"));
- String[] iemon = (String[]) getCurrentManager().getReference(iemonBean, Object.class, getCurrentManager().createCreationalContext(iemonBean));
- assert iemon.length == 3;
- Bean<?> itoenBean = getCurrentManager().resolve(getCurrentManager().getBeans("itoen"));
- String[] itoen = (String[]) getCurrentManager().getReference(itoenBean, Object.class, getCurrentManager().createCreationalContext(itoenBean));
- assert itoen.length == 2;
- }
-
- @Test
- public void testDefaultNamedProducerMethod()
- {
- Set<Bean<?>> beans = getCurrentManager().getBeans(JmsTemplate.class);
- assert beans.size() == 2;
- List<String> beanNames = new ArrayList<String>(Arrays.asList("errorQueueTemplate", "logQueueTemplate"));
- for (Bean<?> b : beans)
- {
- beanNames.remove(b.getName());
- }
- assert beanNames.isEmpty();
- }
-
-}
Deleted: core/trunk/tests/src/test/java/org/jboss/weld/tests/producer/method/NamedProducerWithBinding.java
===================================================================
--- core/trunk/tests/src/test/java/org/jboss/weld/tests/producer/method/NamedProducerWithBinding.java 2010-07-28 11:35:11 UTC (rev 6821)
+++ core/trunk/tests/src/test/java/org/jboss/weld/tests/producer/method/NamedProducerWithBinding.java 2010-07-28 11:45:17 UTC (rev 6822)
@@ -1,31 +0,0 @@
-/*
- * JBoss, Home of Professional Open Source
- * Copyright 2010, Red Hat, Inc., and individual contributors
- * by the @authors tag. See the copyright.txt in the distribution for a
- * full listing of individual contributors.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * http://www.apache.org/licenses/LICENSE-2.0
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.jboss.weld.tests.producer.method;
-
-import java.util.Date;
-
-import javax.enterprise.inject.Produces;
-import javax.inject.Named;
-
-/**
- * @author Dan Allen
- */
-public class NamedProducerWithBinding {
- public @Produces @Important @Named Date getDate() {
- return new Date();
- }
-}
Deleted: core/trunk/tests/src/test/java/org/jboss/weld/tests/producer/method/NamedProducerWithBindingTest.java
===================================================================
--- core/trunk/tests/src/test/java/org/jboss/weld/tests/producer/method/NamedProducerWithBindingTest.java 2010-07-28 11:35:11 UTC (rev 6821)
+++ core/trunk/tests/src/test/java/org/jboss/weld/tests/producer/method/NamedProducerWithBindingTest.java 2010-07-28 11:45:17 UTC (rev 6822)
@@ -1,42 +0,0 @@
-/*
- * JBoss, Home of Professional Open Source
- * Copyright 2010, Red Hat, Inc., and individual contributors
- * by the @authors tag. See the copyright.txt in the distribution for a
- * full listing of individual contributors.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * http://www.apache.org/licenses/LICENSE-2.0
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.jboss.weld.tests.producer.method;
-
-import static org.testng.Assert.assertNotNull;
-
-import java.util.Date;
-
-import javax.enterprise.inject.spi.Bean;
-
-import org.jboss.testharness.impl.packaging.Artifact;
-import org.jboss.weld.test.AbstractWeldTest;
-import org.testng.annotations.Test;
-
-/**
- * @author Dan Allen
- */
-@Artifact(addCurrentPackage = true)
-public class NamedProducerWithBindingTest extends AbstractWeldTest
-{
- @Test
- public void testGetNamedProducerWithBinding()
- {
- Bean<?> bean = getCurrentManager().resolve(getCurrentManager().getBeans("date"));
- Date date = (Date) getCurrentManager().getReference(bean, Object.class, getCurrentManager().createCreationalContext(bean));
- assertNotNull(date);
- }
-}
Deleted: core/trunk/tests/src/test/java/org/jboss/weld/tests/producer/method/NullProducerTest.java
===================================================================
--- core/trunk/tests/src/test/java/org/jboss/weld/tests/producer/method/NullProducerTest.java 2010-07-28 11:35:11 UTC (rev 6821)
+++ core/trunk/tests/src/test/java/org/jboss/weld/tests/producer/method/NullProducerTest.java 2010-07-28 11:45:17 UTC (rev 6822)
@@ -1,33 +0,0 @@
-/*
- * JBoss, Home of Professional Open Source
- * Copyright 2010, Red Hat, Inc., and individual contributors
- * by the @authors tag. See the copyright.txt in the distribution for a
- * full listing of individual contributors.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * http://www.apache.org/licenses/LICENSE-2.0
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.jboss.weld.tests.producer.method;
-
-import org.jboss.testharness.impl.packaging.Artifact;
-import org.jboss.weld.test.AbstractWeldTest;
-import org.testng.annotations.Test;
-
-@Artifact
-public class NullProducerTest extends AbstractWeldTest
-{
-
- @Test(description="WBRI-276")
- public void testProducerMethodReturnsNull()
- {
- getReference(Government.class).destabilize();
- }
-
-}
Deleted: core/trunk/tests/src/test/java/org/jboss/weld/tests/producer/method/ProducerBeanInvocationTest.java
===================================================================
--- core/trunk/tests/src/test/java/org/jboss/weld/tests/producer/method/ProducerBeanInvocationTest.java 2010-07-28 11:35:11 UTC (rev 6821)
+++ core/trunk/tests/src/test/java/org/jboss/weld/tests/producer/method/ProducerBeanInvocationTest.java 2010-07-28 11:45:17 UTC (rev 6822)
@@ -1,48 +0,0 @@
-/*
- * JBoss, Home of Professional Open Source
- * Copyright 2008, Red Hat, Inc. and/or its affiliates, and individual contributors
- * by the @authors tag. See the copyright.txt in the distribution for a
- * full listing of individual contributors.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * http://www.apache.org/licenses/LICENSE-2.0
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package org.jboss.weld.tests.producer.method;
-
-import javax.enterprise.util.AnnotationLiteral;
-
-import org.jboss.testharness.impl.packaging.Artifact;
-import org.jboss.weld.test.AbstractWeldTest;
-import org.testng.annotations.Test;
-
-/**
- * Simple test which invokes a method directly on a normal scoped producer
- * bean to ensure that it's proxy is for that bean and not the product
- * of a producer method.
- *
- * @author David Allen
- *
- */
-@Artifact
-public class ProducerBeanInvocationTest extends AbstractWeldTest
-{
- @Test
- // WELD-546
- public void test()
- {
- Qux bar = getReference(Qux.class);
- assert bar.getBar().equals("qux");
- QuxProducer producer = getReference(QuxProducer.class);
- assert producer.ping();
- Qux bazBar = getReference(Qux.class, new AnnotationLiteral<Baz>(){});
- assert bazBar.getBar().equals("baz");
- }
-}
Deleted: core/trunk/tests/src/test/java/org/jboss/weld/tests/producer/method/Qux.java
===================================================================
--- core/trunk/tests/src/test/java/org/jboss/weld/tests/producer/method/Qux.java 2010-07-28 11:35:11 UTC (rev 6821)
+++ core/trunk/tests/src/test/java/org/jboss/weld/tests/producer/method/Qux.java 2010-07-28 11:45:17 UTC (rev 6822)
@@ -1,26 +0,0 @@
-package org.jboss.weld.tests.producer.method;
-
-import javax.enterprise.context.RequestScoped;
-
-@RequestScoped
-public class Qux
-{
-
- private final String name;
-
- public Qux(String name)
- {
- this.name = name;
- }
-
- public Qux()
- {
- this("qux");
- }
-
- public String getBar()
- {
- return name;
- }
-
-}
Deleted: core/trunk/tests/src/test/java/org/jboss/weld/tests/producer/method/QuxProducer.java
===================================================================
--- core/trunk/tests/src/test/java/org/jboss/weld/tests/producer/method/QuxProducer.java 2010-07-28 11:35:11 UTC (rev 6821)
+++ core/trunk/tests/src/test/java/org/jboss/weld/tests/producer/method/QuxProducer.java 2010-07-28 11:45:17 UTC (rev 6822)
@@ -1,21 +0,0 @@
-package org.jboss.weld.tests.producer.method;
-
-import javax.enterprise.context.RequestScoped;
-import javax.enterprise.inject.Produces;
-
-@RequestScoped
-public class QuxProducer
-{
-
- @Produces @Baz @RequestScoped
- public Qux getQux()
- {
- return new Qux("baz");
- }
-
- public boolean ping()
- {
- return true;
- };
-
-}
Deleted: core/trunk/tests/src/test/java/org/jboss/weld/tests/producer/method/Short.java
===================================================================
--- core/trunk/tests/src/test/java/org/jboss/weld/tests/producer/method/Short.java 2010-07-28 11:35:11 UTC (rev 6821)
+++ core/trunk/tests/src/test/java/org/jboss/weld/tests/producer/method/Short.java 2010-07-28 11:45:17 UTC (rev 6822)
@@ -1,41 +0,0 @@
-/*
- * JBoss, Home of Professional Open Source
- * Copyright 2010, Red Hat, Inc., and individual contributors
- * by the @authors tag. See the copyright.txt in the distribution for a
- * full listing of individual contributors.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * http://www.apache.org/licenses/LICENSE-2.0
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.jboss.weld.tests.producer.method;
-
-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.Inherited;
-import java.lang.annotation.Retention;
-import java.lang.annotation.Target;
-
-import javax.inject.Qualifier;
-
-/**
- * @author Dan Allen
- */
-@Target( { TYPE, METHOD, PARAMETER, FIELD })
-@Retention(RUNTIME)
-@Documented
-@Qualifier
-@Inherited
-public @interface Short {
-}
Deleted: core/trunk/tests/src/test/java/org/jboss/weld/tests/proxy/Foo.java
===================================================================
--- core/trunk/tests/src/test/java/org/jboss/weld/tests/proxy/Foo.java 2010-07-28 11:35:11 UTC (rev 6821)
+++ core/trunk/tests/src/test/java/org/jboss/weld/tests/proxy/Foo.java 2010-07-28 11:45:17 UTC (rev 6822)
@@ -1,34 +0,0 @@
-/*
- * JBoss, Home of Professional Open Source
- * Copyright 2010, Red Hat, Inc., and individual contributors
- * by the @authors tag. See the copyright.txt in the distribution for a
- * full listing of individual contributors.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * http://www.apache.org/licenses/LICENSE-2.0
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.jboss.weld.tests.proxy;
-
-import java.io.Serializable;
-
-import javax.enterprise.context.RequestScoped;
-import javax.inject.Named;
-
-@Named
-@RequestScoped
-class Foo implements Serializable
-{
-
- public String getMsg()
- {
- return "Hi";
- }
-
-}
\ No newline at end of file
Deleted: core/trunk/tests/src/test/java/org/jboss/weld/tests/proxy/ProxyTest.java
===================================================================
--- core/trunk/tests/src/test/java/org/jboss/weld/tests/proxy/ProxyTest.java 2010-07-28 11:35:11 UTC (rev 6821)
+++ core/trunk/tests/src/test/java/org/jboss/weld/tests/proxy/ProxyTest.java 2010-07-28 11:45:17 UTC (rev 6822)
@@ -1,36 +0,0 @@
-/*
- * JBoss, Home of Professional Open Source
- * Copyright 2010, Red Hat, Inc., and individual contributors
- * by the @authors tag. See the copyright.txt in the distribution for a
- * full listing of individual contributors.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * http://www.apache.org/licenses/LICENSE-2.0
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.jboss.weld.tests.proxy;
-
-import javax.enterprise.inject.spi.Bean;
-
-import org.jboss.testharness.impl.packaging.Artifact;
-import org.jboss.weld.test.AbstractWeldTest;
-import org.testng.annotations.Test;
-
-@Artifact
-public class ProxyTest extends AbstractWeldTest
-{
-
- @Test(description="WBRI-122")
- public void testImplementationClassImplementsSerializable()
- {
- Bean<?> bean = getCurrentManager().resolve(getCurrentManager().getBeans("foo"));
- assert getCurrentManager().getReference(bean, Object.class, getCurrentManager().createCreationalContext(bean)) != null;
- }
-
-}
Deleted: core/trunk/tests/src/test/java/org/jboss/weld/tests/resolution/Bar.java
===================================================================
--- core/trunk/tests/src/test/java/org/jboss/weld/tests/resolution/Bar.java 2010-07-28 11:35:11 UTC (rev 6821)
+++ core/trunk/tests/src/test/java/org/jboss/weld/tests/resolution/Bar.java 2010-07-28 11:45:17 UTC (rev 6822)
@@ -1,22 +0,0 @@
-/*
- * JBoss, Home of Professional Open Source
- * Copyright 2010, Red Hat, Inc., and individual contributors
- * by the @authors tag. See the copyright.txt in the distribution for a
- * full listing of individual contributors.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * http://www.apache.org/licenses/LICENSE-2.0
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.jboss.weld.tests.resolution;
-
-public class Bar
-{
-
-}
Deleted: core/trunk/tests/src/test/java/org/jboss/weld/tests/resolution/Baz.java
===================================================================
--- core/trunk/tests/src/test/java/org/jboss/weld/tests/resolution/Baz.java 2010-07-28 11:35:11 UTC (rev 6821)
+++ core/trunk/tests/src/test/java/org/jboss/weld/tests/resolution/Baz.java 2010-07-28 11:45:17 UTC (rev 6822)
@@ -1,22 +0,0 @@
-/*
- * JBoss, Home of Professional Open Source
- * Copyright 2010, Red Hat, Inc., and individual contributors
- * by the @authors tag. See the copyright.txt in the distribution for a
- * full listing of individual contributors.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * http://www.apache.org/licenses/LICENSE-2.0
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.jboss.weld.tests.resolution;
-
-public class Baz
-{
-
-}
Deleted: core/trunk/tests/src/test/java/org/jboss/weld/tests/resolution/Foo.java
===================================================================
--- core/trunk/tests/src/test/java/org/jboss/weld/tests/resolution/Foo.java 2010-07-28 11:35:11 UTC (rev 6821)
+++ core/trunk/tests/src/test/java/org/jboss/weld/tests/resolution/Foo.java 2010-07-28 11:45:17 UTC (rev 6822)
@@ -1,27 +0,0 @@
-/*
- * JBoss, Home of Professional Open Source
- * Copyright 2010, Red Hat, Inc., and individual contributors
- * by the @authors tag. See the copyright.txt in the distribution for a
- * full listing of individual contributors.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * http://www.apache.org/licenses/LICENSE-2.0
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.jboss.weld.tests.resolution;
-
-public class Foo extends FooBase<Bar>
-{
-
- public String getName()
- {
- return "foo";
- }
-
-}
Deleted: core/trunk/tests/src/test/java/org/jboss/weld/tests/resolution/FooBase.java
===================================================================
--- core/trunk/tests/src/test/java/org/jboss/weld/tests/resolution/FooBase.java 2010-07-28 11:35:11 UTC (rev 6821)
+++ core/trunk/tests/src/test/java/org/jboss/weld/tests/resolution/FooBase.java 2010-07-28 11:45:17 UTC (rev 6822)
@@ -1,27 +0,0 @@
-/*
- * JBoss, Home of Professional Open Source
- * Copyright 2010, Red Hat, Inc., and individual contributors
- * by the @authors tag. See the copyright.txt in the distribution for a
- * full listing of individual contributors.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * http://www.apache.org/licenses/LICENSE-2.0
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.jboss.weld.tests.resolution;
-
-public class FooBase<T>
-{
-
- public String getName()
- {
- return "foobase";
- }
-
-}
Deleted: core/trunk/tests/src/test/java/org/jboss/weld/tests/resolution/FooProducer.java
===================================================================
--- core/trunk/tests/src/test/java/org/jboss/weld/tests/resolution/FooProducer.java 2010-07-28 11:35:11 UTC (rev 6821)
+++ core/trunk/tests/src/test/java/org/jboss/weld/tests/resolution/FooProducer.java 2010-07-28 11:45:17 UTC (rev 6822)
@@ -1,30 +0,0 @@
-/*
- * JBoss, Home of Professional Open Source
- * Copyright 2010, Red Hat, Inc., and individual contributors
- * by the @authors tag. See the copyright.txt in the distribution for a
- * full listing of individual contributors.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * http://www.apache.org/licenses/LICENSE-2.0
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.jboss.weld.tests.resolution;
-
-import javax.enterprise.inject.Produces;
-
-public class FooProducer
-{
-
- @Produces @Special
- public FooBase<Baz> produce()
- {
- return new FooBase<Baz>();
- }
-
-}
Deleted: core/trunk/tests/src/test/java/org/jboss/weld/tests/resolution/LookupFoo.java
===================================================================
--- core/trunk/tests/src/test/java/org/jboss/weld/tests/resolution/LookupFoo.java 2010-07-28 11:35:11 UTC (rev 6821)
+++ core/trunk/tests/src/test/java/org/jboss/weld/tests/resolution/LookupFoo.java 2010-07-28 11:45:17 UTC (rev 6822)
@@ -1,38 +0,0 @@
-/*
- * JBoss, Home of Professional Open Source
- * Copyright 2010, Red Hat, Inc., and individual contributors
- * by the @authors tag. See the copyright.txt in the distribution for a
- * full listing of individual contributors.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * http://www.apache.org/licenses/LICENSE-2.0
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.jboss.weld.tests.resolution;
-
-import javax.inject.Inject;
-
-public class LookupFoo
-{
-
- @Inject Foo foo;
-
- @Inject @Special FooBase<Baz> foobaz;
-
- public Foo getFoo()
- {
- return foo;
- }
-
- public FooBase<Baz> getFoobaz()
- {
- return foobaz;
- }
-
-}
Deleted: core/trunk/tests/src/test/java/org/jboss/weld/tests/resolution/LookupInstanceTest.java
===================================================================
--- core/trunk/tests/src/test/java/org/jboss/weld/tests/resolution/LookupInstanceTest.java 2010-07-28 11:35:11 UTC (rev 6821)
+++ core/trunk/tests/src/test/java/org/jboss/weld/tests/resolution/LookupInstanceTest.java 2010-07-28 11:45:17 UTC (rev 6822)
@@ -1,40 +0,0 @@
-/*
- * JBoss, Home of Professional Open Source
- * Copyright 2010, Red Hat, Inc., and individual contributors
- * by the @authors tag. See the copyright.txt in the distribution for a
- * full listing of individual contributors.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * http://www.apache.org/licenses/LICENSE-2.0
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.jboss.weld.tests.resolution;
-
-import java.util.List;
-
-import javax.enterprise.inject.Instance;
-import javax.enterprise.util.TypeLiteral;
-
-import org.jboss.testharness.impl.packaging.Artifact;
-import org.jboss.weld.literal.DefaultLiteral;
-import org.jboss.weld.test.AbstractWeldTest;
-import org.testng.annotations.Test;
-
-@Artifact
-public class LookupInstanceTest extends AbstractWeldTest
-{
-
-
- @Test
- public void testLookupInstance() throws Exception
- {
- assert getReference(new TypeLiteral<Instance<List<?>>>(){}.getRawType(), DefaultLiteral.INSTANCE) == null;
- }
-
-}
Deleted: core/trunk/tests/src/test/java/org/jboss/weld/tests/resolution/Special.java
===================================================================
--- core/trunk/tests/src/test/java/org/jboss/weld/tests/resolution/Special.java 2010-07-28 11:35:11 UTC (rev 6821)
+++ core/trunk/tests/src/test/java/org/jboss/weld/tests/resolution/Special.java 2010-07-28 11:45:17 UTC (rev 6822)
@@ -1,36 +0,0 @@
-/*
- * JBoss, Home of Professional Open Source
- * Copyright 2010, Red Hat, Inc., and individual contributors
- * by the @authors tag. See the copyright.txt in the distribution for a
- * full listing of individual contributors.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * http://www.apache.org/licenses/LICENSE-2.0
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.jboss.weld.tests.resolution;
-
-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 java.lang.annotation.Retention;
-import java.lang.annotation.RetentionPolicy;
-import java.lang.annotation.Target;
-
-import javax.inject.Qualifier;
-
-@Qualifier
-(a)Retention(RetentionPolicy.RUNTIME)
-@Target({FIELD, METHOD, TYPE, PARAMETER})
-public @interface Special
-{
-
-}
Deleted: core/trunk/tests/src/test/java/org/jboss/weld/tests/resolution/Weld256Test.java
===================================================================
--- core/trunk/tests/src/test/java/org/jboss/weld/tests/resolution/Weld256Test.java 2010-07-28 11:35:11 UTC (rev 6821)
+++ core/trunk/tests/src/test/java/org/jboss/weld/tests/resolution/Weld256Test.java 2010-07-28 11:45:17 UTC (rev 6822)
@@ -1,35 +0,0 @@
-/*
- * JBoss, Home of Professional Open Source
- * Copyright 2010, Red Hat, Inc., and individual contributors
- * by the @authors tag. See the copyright.txt in the distribution for a
- * full listing of individual contributors.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * http://www.apache.org/licenses/LICENSE-2.0
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.jboss.weld.tests.resolution;
-
-import org.jboss.testharness.impl.packaging.Artifact;
-import org.jboss.weld.test.AbstractWeldTest;
-import org.testng.annotations.Test;
-
-@Artifact
-public class Weld256Test extends AbstractWeldTest
-{
-
- @Test
- public void testParameterizedInjection()
- {
- LookupFoo lookupFoo = getReference(LookupFoo.class);
- assert lookupFoo.getFoo().getName().equals("foo");
- assert lookupFoo.getFoobaz().getName().equals("foobase");
- }
-
-}
Deleted: core/trunk/tests/src/test/java/org/jboss/weld/tests/resolution/circular/Bar.java
===================================================================
--- core/trunk/tests/src/test/java/org/jboss/weld/tests/resolution/circular/Bar.java 2010-07-28 11:35:11 UTC (rev 6821)
+++ core/trunk/tests/src/test/java/org/jboss/weld/tests/resolution/circular/Bar.java 2010-07-28 11:45:17 UTC (rev 6822)
@@ -1,50 +0,0 @@
-/*
- * JBoss, Home of Professional Open Source
- * Copyright 2010, Red Hat, Inc., and individual contributors
- * by the @authors tag. See the copyright.txt in the distribution for a
- * full listing of individual contributors.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * http://www.apache.org/licenses/LICENSE-2.0
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.jboss.weld.tests.resolution.circular;
-
-import javax.annotation.PostConstruct;
-import javax.enterprise.context.ApplicationScoped;
-import javax.inject.Inject;
-
-@ApplicationScoped
-class Bar
-{
-
- public static boolean success;
-
- @Inject Foo foo;
-
- public Bar()
- {
- success = false;
- }
-
- @PostConstruct
- public void postConstruct()
- {
- if (foo.getName().equals("foo"))
- {
- success = true;
- }
- }
-
- public String getName()
- {
- return "bar";
- }
-
-}
Deleted: core/trunk/tests/src/test/java/org/jboss/weld/tests/resolution/circular/CircularDependencyTest.java
===================================================================
--- core/trunk/tests/src/test/java/org/jboss/weld/tests/resolution/circular/CircularDependencyTest.java 2010-07-28 11:35:11 UTC (rev 6821)
+++ core/trunk/tests/src/test/java/org/jboss/weld/tests/resolution/circular/CircularDependencyTest.java 2010-07-28 11:45:17 UTC (rev 6822)
@@ -1,47 +0,0 @@
-/*
- * JBoss, Home of Professional Open Source
- * Copyright 2010, Red Hat, Inc., and individual contributors
- * by the @authors tag. See the copyright.txt in the distribution for a
- * full listing of individual contributors.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * http://www.apache.org/licenses/LICENSE-2.0
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.jboss.weld.tests.resolution.circular;
-
-import org.jboss.testharness.impl.packaging.Artifact;
-import org.jboss.weld.test.AbstractWeldTest;
-import org.testng.annotations.Test;
-
-@Artifact
-public class CircularDependencyTest extends AbstractWeldTest
-{
-
- @Test
- public void testCircularInjectionOnTwoSimpleDependentBeans() throws Exception
- {
- getReference(Foo.class).getName();
- assert Foo.success;
- assert Bar.success;
- }
-
- @Test
- public void testDependentProducerMethodDeclaredOnDependentBeanWhichInjectsProducedBean() throws Exception
- {
- getReference(DependentSelfConsumingDependentProducer.class).ping();
- }
-
- @Test
- public void testDependentSelfConsumingProducer() throws Exception
- {
- getReference(Violation.class).ping();
- }
-
-}
Deleted: core/trunk/tests/src/test/java/org/jboss/weld/tests/resolution/circular/DependentLooping.java
===================================================================
--- core/trunk/tests/src/test/java/org/jboss/weld/tests/resolution/circular/DependentLooping.java 2010-07-28 11:35:11 UTC (rev 6821)
+++ core/trunk/tests/src/test/java/org/jboss/weld/tests/resolution/circular/DependentLooping.java 2010-07-28 11:45:17 UTC (rev 6822)
@@ -1,38 +0,0 @@
-/*
- * JBoss, Home of Professional Open Source
- * Copyright 2010, Red Hat, Inc., and individual contributors
- * by the @authors tag. See the copyright.txt in the distribution for a
- * full listing of individual contributors.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * http://www.apache.org/licenses/LICENSE-2.0
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.jboss.weld.tests.resolution.circular;
-
-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.inject.Qualifier;
-
-@Target( { TYPE, METHOD, PARAMETER, FIELD })
-@Retention(RUNTIME)
-@Documented
-@Qualifier
-@interface DependentLooping
-{
-
-}
Deleted: core/trunk/tests/src/test/java/org/jboss/weld/tests/resolution/circular/DependentLoopingProducer.java
===================================================================
--- core/trunk/tests/src/test/java/org/jboss/weld/tests/resolution/circular/DependentLoopingProducer.java 2010-07-28 11:35:11 UTC (rev 6821)
+++ core/trunk/tests/src/test/java/org/jboss/weld/tests/resolution/circular/DependentLoopingProducer.java 2010-07-28 11:45:17 UTC (rev 6822)
@@ -1,29 +0,0 @@
-/*
- * JBoss, Home of Professional Open Source
- * Copyright 2010, Red Hat, Inc., and individual contributors
- * by the @authors tag. See the copyright.txt in the distribution for a
- * full listing of individual contributors.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * http://www.apache.org/licenses/LICENSE-2.0
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.jboss.weld.tests.resolution.circular;
-
-import javax.enterprise.inject.Produces;
-
-class DependentLoopingProducer
-{
-
- @Produces @DependentLooping
- public Violation produceViolation(@DependentLooping Violation violation) {
- return new Violation();
- }
-
-}
\ No newline at end of file
Deleted: core/trunk/tests/src/test/java/org/jboss/weld/tests/resolution/circular/DependentSelfConsumingDependentProducer.java
===================================================================
--- core/trunk/tests/src/test/java/org/jboss/weld/tests/resolution/circular/DependentSelfConsumingDependentProducer.java 2010-07-28 11:35:11 UTC (rev 6821)
+++ core/trunk/tests/src/test/java/org/jboss/weld/tests/resolution/circular/DependentSelfConsumingDependentProducer.java 2010-07-28 11:45:17 UTC (rev 6822)
@@ -1,33 +0,0 @@
-/*
- * JBoss, Home of Professional Open Source
- * Copyright 2010, Red Hat, Inc., and individual contributors
- * by the @authors tag. See the copyright.txt in the distribution for a
- * full listing of individual contributors.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * http://www.apache.org/licenses/LICENSE-2.0
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.jboss.weld.tests.resolution.circular;
-
-import javax.enterprise.inject.Produces;
-
-class DependentSelfConsumingDependentProducer
-{
- @SelfConsumingDependent Violation violation;
-
- @Produces @SelfConsumingDependent
- public Violation produceViolation() {
- return new Violation();
- }
-
- public void ping() {
-
- }
-}
\ No newline at end of file
Deleted: core/trunk/tests/src/test/java/org/jboss/weld/tests/resolution/circular/Farm.java
===================================================================
--- core/trunk/tests/src/test/java/org/jboss/weld/tests/resolution/circular/Farm.java 2010-07-28 11:35:11 UTC (rev 6821)
+++ core/trunk/tests/src/test/java/org/jboss/weld/tests/resolution/circular/Farm.java 2010-07-28 11:45:17 UTC (rev 6822)
@@ -1,29 +0,0 @@
-/*
- * JBoss, Home of Professional Open Source
- * Copyright 2010, Red Hat, Inc., and individual contributors
- * by the @authors tag. See the copyright.txt in the distribution for a
- * full listing of individual contributors.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * http://www.apache.org/licenses/LICENSE-2.0
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.jboss.weld.tests.resolution.circular;
-
-import javax.inject.Inject;
-
-class Farm
-{
-
- @Inject
- public Farm(Farm farm)
- {
- }
-
-}
Deleted: core/trunk/tests/src/test/java/org/jboss/weld/tests/resolution/circular/Fish.java
===================================================================
--- core/trunk/tests/src/test/java/org/jboss/weld/tests/resolution/circular/Fish.java 2010-07-28 11:35:11 UTC (rev 6821)
+++ core/trunk/tests/src/test/java/org/jboss/weld/tests/resolution/circular/Fish.java 2010-07-28 11:45:17 UTC (rev 6822)
@@ -1,32 +0,0 @@
-/*
- * JBoss, Home of Professional Open Source
- * Copyright 2010, Red Hat, Inc., and individual contributors
- * by the @authors tag. See the copyright.txt in the distribution for a
- * full listing of individual contributors.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * http://www.apache.org/licenses/LICENSE-2.0
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.jboss.weld.tests.resolution.circular;
-
-import javax.inject.Inject;
-
-class Fish
-{
-
- private Water water;
-
- @Inject
- public Fish(Water water)
- {
- this.water = water;
- }
-
-}
Deleted: core/trunk/tests/src/test/java/org/jboss/weld/tests/resolution/circular/Foo.java
===================================================================
--- core/trunk/tests/src/test/java/org/jboss/weld/tests/resolution/circular/Foo.java 2010-07-28 11:35:11 UTC (rev 6821)
+++ core/trunk/tests/src/test/java/org/jboss/weld/tests/resolution/circular/Foo.java 2010-07-28 11:45:17 UTC (rev 6822)
@@ -1,48 +0,0 @@
-/*
- * JBoss, Home of Professional Open Source
- * Copyright 2010, Red Hat, Inc., and individual contributors
- * by the @authors tag. See the copyright.txt in the distribution for a
- * full listing of individual contributors.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * http://www.apache.org/licenses/LICENSE-2.0
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.jboss.weld.tests.resolution.circular;
-
-import javax.annotation.PostConstruct;
-import javax.inject.Inject;
-
-class Foo
-{
-
- public static boolean success;
-
- @Inject Bar bar;
-
- public Foo()
- {
- success = false;
- }
-
- @PostConstruct
- public void postConstruct()
- {
- if (bar.getName().equals("bar"))
- {
- success = true;
- }
- }
-
- public String getName()
- {
- return "foo";
- }
-
-}
Deleted: core/trunk/tests/src/test/java/org/jboss/weld/tests/resolution/circular/NormalLooping.java
===================================================================
--- core/trunk/tests/src/test/java/org/jboss/weld/tests/resolution/circular/NormalLooping.java 2010-07-28 11:35:11 UTC (rev 6821)
+++ core/trunk/tests/src/test/java/org/jboss/weld/tests/resolution/circular/NormalLooping.java 2010-07-28 11:45:17 UTC (rev 6822)
@@ -1,38 +0,0 @@
-/*
- * JBoss, Home of Professional Open Source
- * Copyright 2010, Red Hat, Inc., and individual contributors
- * by the @authors tag. See the copyright.txt in the distribution for a
- * full listing of individual contributors.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * http://www.apache.org/licenses/LICENSE-2.0
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.jboss.weld.tests.resolution.circular;
-
-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.inject.Qualifier;
-
-@Target( { TYPE, METHOD, PARAMETER, FIELD })
-@Retention(RUNTIME)
-@Documented
-@Qualifier
-@interface NormalLooping
-{
-
-}
Deleted: core/trunk/tests/src/test/java/org/jboss/weld/tests/resolution/circular/NormalLoopingProducer.java
===================================================================
--- core/trunk/tests/src/test/java/org/jboss/weld/tests/resolution/circular/NormalLoopingProducer.java 2010-07-28 11:35:11 UTC (rev 6821)
+++ core/trunk/tests/src/test/java/org/jboss/weld/tests/resolution/circular/NormalLoopingProducer.java 2010-07-28 11:45:17 UTC (rev 6822)
@@ -1,31 +0,0 @@
-/*
- * JBoss, Home of Professional Open Source
- * Copyright 2010, Red Hat, Inc., and individual contributors
- * by the @authors tag. See the copyright.txt in the distribution for a
- * full listing of individual contributors.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * http://www.apache.org/licenses/LICENSE-2.0
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.jboss.weld.tests.resolution.circular;
-
-import javax.enterprise.context.ApplicationScoped;
-import javax.enterprise.inject.Produces;
-
-@ApplicationScoped
-class NormalLoopingProducer
-{
-
- @Produces @ApplicationScoped @NormalLooping
- public Violation produceViolation(@NormalLooping Violation violation) {
- return new Violation();
- }
-
-}
\ No newline at end of file
Deleted: core/trunk/tests/src/test/java/org/jboss/weld/tests/resolution/circular/SelfConsumingDependent.java
===================================================================
--- core/trunk/tests/src/test/java/org/jboss/weld/tests/resolution/circular/SelfConsumingDependent.java 2010-07-28 11:35:11 UTC (rev 6821)
+++ core/trunk/tests/src/test/java/org/jboss/weld/tests/resolution/circular/SelfConsumingDependent.java 2010-07-28 11:45:17 UTC (rev 6822)
@@ -1,38 +0,0 @@
-/*
- * JBoss, Home of Professional Open Source
- * Copyright 2010, Red Hat, Inc., and individual contributors
- * by the @authors tag. See the copyright.txt in the distribution for a
- * full listing of individual contributors.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * http://www.apache.org/licenses/LICENSE-2.0
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.jboss.weld.tests.resolution.circular;
-
-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.inject.Qualifier;
-
-@Target( { TYPE, METHOD, PARAMETER, FIELD })
-@Retention(RUNTIME)
-@Documented
-@Qualifier
-@interface SelfConsumingDependent
-{
-
-}
Deleted: core/trunk/tests/src/test/java/org/jboss/weld/tests/resolution/circular/Violation.java
===================================================================
--- core/trunk/tests/src/test/java/org/jboss/weld/tests/resolution/circular/Violation.java 2010-07-28 11:35:11 UTC (rev 6821)
+++ core/trunk/tests/src/test/java/org/jboss/weld/tests/resolution/circular/Violation.java 2010-07-28 11:45:17 UTC (rev 6822)
@@ -1,29 +0,0 @@
-/*
- * JBoss, Home of Professional Open Source
- * Copyright 2010, Red Hat, Inc., and individual contributors
- * by the @authors tag. See the copyright.txt in the distribution for a
- * full listing of individual contributors.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * http://www.apache.org/licenses/LICENSE-2.0
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.jboss.weld.tests.resolution.circular;
-
-import java.io.Serializable;
-
-class Violation implements Serializable
-{
-
- public void ping()
- {
-
- }
-
-}
Deleted: core/trunk/tests/src/test/java/org/jboss/weld/tests/resolution/circular/Water.java
===================================================================
--- core/trunk/tests/src/test/java/org/jboss/weld/tests/resolution/circular/Water.java 2010-07-28 11:35:11 UTC (rev 6821)
+++ core/trunk/tests/src/test/java/org/jboss/weld/tests/resolution/circular/Water.java 2010-07-28 11:45:17 UTC (rev 6822)
@@ -1,28 +0,0 @@
-/*
- * JBoss, Home of Professional Open Source
- * Copyright 2010, Red Hat, Inc., and individual contributors
- * by the @authors tag. See the copyright.txt in the distribution for a
- * full listing of individual contributors.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * http://www.apache.org/licenses/LICENSE-2.0
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.jboss.weld.tests.resolution.circular;
-
-import javax.inject.Inject;
-
-class Water
-{
- @Inject
- public Water(Fish fish)
- {
- }
-
-}
Deleted: core/trunk/tests/src/test/java/org/jboss/weld/tests/scope/Bar.java
===================================================================
--- core/trunk/tests/src/test/java/org/jboss/weld/tests/scope/Bar.java 2010-07-28 11:35:11 UTC (rev 6821)
+++ core/trunk/tests/src/test/java/org/jboss/weld/tests/scope/Bar.java 2010-07-28 11:45:17 UTC (rev 6822)
@@ -1,24 +0,0 @@
-/*
- * JBoss, Home of Professional Open Source
- * Copyright 2010, Red Hat, Inc., and individual contributors
- * by the @authors tag. See the copyright.txt in the distribution for a
- * full listing of individual contributors.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * http://www.apache.org/licenses/LICENSE-2.0
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.jboss.weld.tests.scope;
-
-import javax.enterprise.context.Dependent;
-
-@Dependent
-class Bar extends Foo
-{
-}
\ No newline at end of file
Deleted: core/trunk/tests/src/test/java/org/jboss/weld/tests/scope/Foo.java
===================================================================
--- core/trunk/tests/src/test/java/org/jboss/weld/tests/scope/Foo.java 2010-07-28 11:35:11 UTC (rev 6821)
+++ core/trunk/tests/src/test/java/org/jboss/weld/tests/scope/Foo.java 2010-07-28 11:45:17 UTC (rev 6822)
@@ -1,24 +0,0 @@
-/*
- * JBoss, Home of Professional Open Source
- * Copyright 2010, Red Hat, Inc., and individual contributors
- * by the @authors tag. See the copyright.txt in the distribution for a
- * full listing of individual contributors.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * http://www.apache.org/licenses/LICENSE-2.0
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.jboss.weld.tests.scope;
-
-import javax.enterprise.context.RequestScoped;
-
-@RequestScoped
-class Foo
-{
-}
\ No newline at end of file
Deleted: core/trunk/tests/src/test/java/org/jboss/weld/tests/scope/ScopeTest.java
===================================================================
--- core/trunk/tests/src/test/java/org/jboss/weld/tests/scope/ScopeTest.java 2010-07-28 11:35:11 UTC (rev 6821)
+++ core/trunk/tests/src/test/java/org/jboss/weld/tests/scope/ScopeTest.java 2010-07-28 11:45:17 UTC (rev 6822)
@@ -1,80 +0,0 @@
-/*
- * JBoss, Home of Professional Open Source
- * Copyright 2010, Red Hat, Inc., and individual contributors
- * by the @authors tag. See the copyright.txt in the distribution for a
- * full listing of individual contributors.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * http://www.apache.org/licenses/LICENSE-2.0
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.jboss.weld.tests.scope;
-
-import java.lang.annotation.Annotation;
-
-import javax.enterprise.context.Dependent;
-import javax.enterprise.context.RequestScoped;
-import javax.enterprise.inject.spi.Bean;
-import javax.enterprise.util.AnnotationLiteral;
-
-import org.jboss.testharness.impl.packaging.Artifact;
-import org.jboss.weld.Container;
-import org.jboss.weld.context.ContextLifecycle;
-import org.jboss.weld.context.beanstore.HashMapBeanStore;
-import org.jboss.weld.test.AbstractWeldTest;
-import org.testng.annotations.Test;
-
-@Artifact
-public class ScopeTest extends AbstractWeldTest
-{
-
- private static Annotation USELESS_LITERAL = new AnnotationLiteral<Useless>() {};
- private static Annotation SPECIAL_LITERAL = new AnnotationLiteral<Special>() {};
-
- @Test(description="WELD-322")
- public void testScopeDeclaredOnSubclassOverridesScopeOnSuperClass()
- {
- assert getCurrentManager().resolve(getCurrentManager().getBeans(Bar.class)).getScope().equals(Dependent.class);
- }
- @Test(description="WELD-311")
- public void testScopeOfProducerMethod()
- {
- Bean<Temp> specialTempBean = getBean(Temp.class, SPECIAL_LITERAL);
- Bean<Temp> uselessTempBean = getBean(Temp.class, USELESS_LITERAL);
- assert specialTempBean.getScope().equals(RequestScoped.class);
- assert uselessTempBean.getScope().equals(RequestScoped.class);
- assert getReference(specialTempBean).getNumber() == 10;
- assert getReference(uselessTempBean).getNumber() == 11;
-
- TempConsumer tempConsumer = getReference(TempConsumer.class);
- tempConsumer.getSpecialTemp().setNumber(101);
- tempConsumer.getUselessTemp().setNumber(102);
-
- assert tempConsumer.getSpecialTemp().getNumber() == 101;
- assert tempConsumer.getUselessTemp().getNumber() == 102;
- assert getReference(specialTempBean).getNumber() == 101;
- assert getReference(uselessTempBean).getNumber() == 102;
-
- newRequest();
-
- assert tempConsumer.getSpecialTemp().getNumber() == 10;
- assert tempConsumer.getUselessTemp().getNumber() == 11;
- assert getReference(specialTempBean).getNumber() == 10;
- assert getReference(uselessTempBean).getNumber() == 11;
- }
-
- private void newRequest()
- {
- ContextLifecycle lifecycle = Container.instance().services().get(ContextLifecycle.class);
- lifecycle.endRequest("test", lifecycle.getRequestContext().getBeanStore());
- lifecycle.restoreSession("test", new HashMapBeanStore());
- lifecycle.beginRequest("test", new HashMapBeanStore());
- }
-
-}
Deleted: core/trunk/tests/src/test/java/org/jboss/weld/tests/scope/Special.java
===================================================================
--- core/trunk/tests/src/test/java/org/jboss/weld/tests/scope/Special.java 2010-07-28 11:35:11 UTC (rev 6821)
+++ core/trunk/tests/src/test/java/org/jboss/weld/tests/scope/Special.java 2010-07-28 11:45:17 UTC (rev 6822)
@@ -1,36 +0,0 @@
-/*
- * JBoss, Home of Professional Open Source
- * Copyright 2010, Red Hat, Inc., and individual contributors
- * by the @authors tag. See the copyright.txt in the distribution for a
- * full listing of individual contributors.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * http://www.apache.org/licenses/LICENSE-2.0
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.jboss.weld.tests.scope;
-
-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 java.lang.annotation.Retention;
-import java.lang.annotation.RetentionPolicy;
-import java.lang.annotation.Target;
-
-import javax.inject.Qualifier;
-
-@Qualifier
-(a)Retention(RetentionPolicy.RUNTIME)
-@Target({FIELD, METHOD, TYPE, PARAMETER})
-public @interface Special
-{
-
-}
Deleted: core/trunk/tests/src/test/java/org/jboss/weld/tests/scope/Temp.java
===================================================================
--- core/trunk/tests/src/test/java/org/jboss/weld/tests/scope/Temp.java 2010-07-28 11:35:11 UTC (rev 6821)
+++ core/trunk/tests/src/test/java/org/jboss/weld/tests/scope/Temp.java 2010-07-28 11:45:17 UTC (rev 6822)
@@ -1,44 +0,0 @@
-/*
- * JBoss, Home of Professional Open Source
- * Copyright 2010, Red Hat, Inc., and individual contributors
- * by the @authors tag. See the copyright.txt in the distribution for a
- * full listing of individual contributors.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * http://www.apache.org/licenses/LICENSE-2.0
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.jboss.weld.tests.scope;
-
-public class Temp
-{
-
- private int number;
-
- public Temp(int number)
- {
- this.number = number;
- }
-
- public Temp()
- {
- number = 0;
- }
-
- public int getNumber()
- {
- return number;
- }
-
- public void setNumber(int number)
- {
- this.number = number;
- }
-
-}
Deleted: core/trunk/tests/src/test/java/org/jboss/weld/tests/scope/TempConsumer.java
===================================================================
--- core/trunk/tests/src/test/java/org/jboss/weld/tests/scope/TempConsumer.java 2010-07-28 11:35:11 UTC (rev 6821)
+++ core/trunk/tests/src/test/java/org/jboss/weld/tests/scope/TempConsumer.java 2010-07-28 11:45:17 UTC (rev 6822)
@@ -1,40 +0,0 @@
-/*
- * JBoss, Home of Professional Open Source
- * Copyright 2010, Red Hat, Inc., and individual contributors
- * by the @authors tag. See the copyright.txt in the distribution for a
- * full listing of individual contributors.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * http://www.apache.org/licenses/LICENSE-2.0
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.jboss.weld.tests.scope;
-
-import javax.enterprise.context.ApplicationScoped;
-import javax.inject.Inject;
-
-@ApplicationScoped
-public class TempConsumer
-{
-
- @Inject @Special Temp specialTemp;
- @Inject @Useless Temp uselessTemp;
-
- public Temp getSpecialTemp()
- {
- return specialTemp;
- }
-
- public Temp getUselessTemp()
- {
- return uselessTemp;
- }
-
-
-}
Deleted: core/trunk/tests/src/test/java/org/jboss/weld/tests/scope/TempProducer.java
===================================================================
--- core/trunk/tests/src/test/java/org/jboss/weld/tests/scope/TempProducer.java 2010-07-28 11:35:11 UTC (rev 6821)
+++ core/trunk/tests/src/test/java/org/jboss/weld/tests/scope/TempProducer.java 2010-07-28 11:45:17 UTC (rev 6822)
@@ -1,44 +0,0 @@
-/*
- * JBoss, Home of Professional Open Source
- * Copyright 2010, Red Hat, Inc., and individual contributors
- * by the @authors tag. See the copyright.txt in the distribution for a
- * full listing of individual contributors.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * http://www.apache.org/licenses/LICENSE-2.0
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.jboss.weld.tests.scope;
-
-import java.io.Serializable;
-
-import javax.enterprise.context.RequestScoped;
-import javax.enterprise.context.SessionScoped;
-import javax.enterprise.inject.Produces;
-import javax.inject.Named;
-
-@Named
-@SessionScoped
-public class TempProducer implements Serializable
-{
-
- @Produces
- @RequestScoped
- @Special
- public Temp getTemp()
- {
- return new Temp(10);
- }
-
- @Produces
- @RequestScoped
- @Useless
- Temp t = new Temp(11);
-
-}
\ No newline at end of file
Deleted: core/trunk/tests/src/test/java/org/jboss/weld/tests/scope/Useless.java
===================================================================
--- core/trunk/tests/src/test/java/org/jboss/weld/tests/scope/Useless.java 2010-07-28 11:35:11 UTC (rev 6821)
+++ core/trunk/tests/src/test/java/org/jboss/weld/tests/scope/Useless.java 2010-07-28 11:45:17 UTC (rev 6822)
@@ -1,36 +0,0 @@
-/*
- * JBoss, Home of Professional Open Source
- * Copyright 2010, Red Hat, Inc., and individual contributors
- * by the @authors tag. See the copyright.txt in the distribution for a
- * full listing of individual contributors.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * http://www.apache.org/licenses/LICENSE-2.0
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.jboss.weld.tests.scope;
-
-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 java.lang.annotation.Retention;
-import java.lang.annotation.RetentionPolicy;
-import java.lang.annotation.Target;
-
-import javax.inject.Qualifier;
-
-@Qualifier
-(a)Retention(RetentionPolicy.RUNTIME)
-@Target({FIELD, METHOD, TYPE, PARAMETER})
-public @interface Useless
-{
-
-}
Deleted: core/trunk/tests/src/test/java/org/jboss/weld/tests/unit/bootstrap/Bar.java
===================================================================
--- core/trunk/tests/src/test/java/org/jboss/weld/tests/unit/bootstrap/Bar.java 2010-07-28 11:35:11 UTC (rev 6821)
+++ core/trunk/tests/src/test/java/org/jboss/weld/tests/unit/bootstrap/Bar.java 2010-07-28 11:45:17 UTC (rev 6822)
@@ -1,26 +0,0 @@
-/*
- * JBoss, Home of Professional Open Source
- * Copyright 2010, Red Hat, Inc., and individual contributors
- * by the @authors tag. See the copyright.txt in the distribution for a
- * full listing of individual contributors.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * http://www.apache.org/licenses/LICENSE-2.0
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.jboss.weld.tests.unit.bootstrap;
-
-/**
- * @author pmuir
- *
- */
-public class Bar
-{
-
-}
Deleted: core/trunk/tests/src/test/java/org/jboss/weld/tests/unit/bootstrap/CheckableInjectionServices.java
===================================================================
--- core/trunk/tests/src/test/java/org/jboss/weld/tests/unit/bootstrap/CheckableInjectionServices.java 2010-07-28 11:35:11 UTC (rev 6821)
+++ core/trunk/tests/src/test/java/org/jboss/weld/tests/unit/bootstrap/CheckableInjectionServices.java 2010-07-28 11:45:17 UTC (rev 6822)
@@ -1,84 +0,0 @@
-/*
- * JBoss, Home of Professional Open Source
- * Copyright 2010, Red Hat, Inc., and individual contributors
- * by the @authors tag. See the copyright.txt in the distribution for a
- * full listing of individual contributors.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * http://www.apache.org/licenses/LICENSE-2.0
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.jboss.weld.tests.unit.bootstrap;
-
-import org.jboss.weld.injection.spi.InjectionContext;
-import org.jboss.weld.injection.spi.InjectionServices;
-
-/**
- * @author pmuir
- *
- */
-public class CheckableInjectionServices implements InjectionServices
-{
-
- private boolean before = false;
- private boolean after = false;
- private boolean injectedAfter = false;
- private boolean injectionTargetCorrect = false;
-
- public <T> void aroundInject(InjectionContext<T> injectionContext)
- {
- before = true;
- if (injectionContext.getTarget() instanceof Foo)
- {
- ((Foo) injectionContext.getTarget()).message = "hi!";
- if (injectionContext.getInjectionTarget().getInjectionPoints().size() == 1)
- {
- injectionTargetCorrect = injectionContext.getInjectionTarget().getInjectionPoints().iterator().next().getType().equals(Bar.class);
- }
- }
- injectionContext.proceed();
- after = true;
- if (injectionContext.getTarget() instanceof Foo)
- {
- Foo foo = (Foo) injectionContext.getTarget();
- injectedAfter = foo.getBar() instanceof Bar && foo.getMessage().equals("hi!");
- }
- }
-
- public void reset()
- {
- before = false;
- after = false;
- injectedAfter = false;
- injectionTargetCorrect = false;
- }
-
- public boolean isBefore()
- {
- return before;
- }
-
- public boolean isAfter()
- {
- return after;
- }
-
- public boolean isInjectedAfter()
- {
- return injectedAfter;
- }
-
- public boolean isInjectionTargetCorrect()
- {
- return injectionTargetCorrect;
- }
-
- public void cleanup() {}
-
-}
Deleted: core/trunk/tests/src/test/java/org/jboss/weld/tests/unit/bootstrap/ContainerStatusTest.java
===================================================================
--- core/trunk/tests/src/test/java/org/jboss/weld/tests/unit/bootstrap/ContainerStatusTest.java 2010-07-28 11:35:11 UTC (rev 6821)
+++ core/trunk/tests/src/test/java/org/jboss/weld/tests/unit/bootstrap/ContainerStatusTest.java 2010-07-28 11:45:17 UTC (rev 6822)
@@ -1,49 +0,0 @@
-/*
- * JBoss, Home of Professional Open Source
- * Copyright 2010, Red Hat, Inc., and individual contributors
- * by the @authors tag. See the copyright.txt in the distribution for a
- * full listing of individual contributors.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * http://www.apache.org/licenses/LICENSE-2.0
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.jboss.weld.tests.unit.bootstrap;
-
-import org.jboss.weld.Container;
-import org.jboss.weld.ContainerState;
-import org.jboss.weld.mock.MockServletLifecycle;
-import org.jboss.weld.mock.TestContainer;
-import org.testng.annotations.Test;
-
-public class ContainerStatusTest
-{
-
- @Test
- public void testStatus()
- {
- TestContainer container = new TestContainer(new MockServletLifecycle());
- assert !Container.available();
- container.getLifecycle().initialize();
- assert !Container.available();
- assert Container.instance().getState().equals(ContainerState.STARTING);
- container.getLifecycle().getBootstrap().startInitialization();
- assert !Container.available();
- assert Container.instance().getState().equals(ContainerState.STARTING);
- container.getLifecycle().getBootstrap().deployBeans();
- assert Container.available();
- assert Container.instance().getState().equals(ContainerState.INITIALIZED);
- container.getLifecycle().getBootstrap().validateBeans().endInitialization();
- assert Container.available();
- assert Container.instance().getState().equals(ContainerState.VALIDATED);
- container.stopContainer();
- assert !Container.available();
- }
-
-}
Deleted: core/trunk/tests/src/test/java/org/jboss/weld/tests/unit/bootstrap/DiscoverFailsBootstrapTest.java
===================================================================
--- core/trunk/tests/src/test/java/org/jboss/weld/tests/unit/bootstrap/DiscoverFailsBootstrapTest.java 2010-07-28 11:35:11 UTC (rev 6821)
+++ core/trunk/tests/src/test/java/org/jboss/weld/tests/unit/bootstrap/DiscoverFailsBootstrapTest.java 2010-07-28 11:45:17 UTC (rev 6822)
@@ -1,35 +0,0 @@
-/*
- * JBoss, Home of Professional Open Source
- * Copyright 2010, Red Hat, Inc., and individual contributors
- * by the @authors tag. See the copyright.txt in the distribution for a
- * full listing of individual contributors.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * http://www.apache.org/licenses/LICENSE-2.0
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.jboss.weld.tests.unit.bootstrap;
-
-import org.jboss.weld.bootstrap.WeldBootstrap;
-import org.jboss.weld.bootstrap.api.Bootstrap;
-import org.jboss.weld.bootstrap.api.Environments;
-import org.jboss.weld.context.api.helpers.ConcurrentHashMapBeanStore;
-import org.testng.annotations.Test;
-
-public class DiscoverFailsBootstrapTest
-{
-
- @Test(groups="bootstrap", expectedExceptions=IllegalArgumentException.class)
- public void testDiscoverFails()
- {
- Bootstrap bootstrap = new WeldBootstrap();
- bootstrap.startContainer(Environments.SE, null, new ConcurrentHashMapBeanStore());
- }
-
-}
Deleted: core/trunk/tests/src/test/java/org/jboss/weld/tests/unit/bootstrap/Foo.java
===================================================================
--- core/trunk/tests/src/test/java/org/jboss/weld/tests/unit/bootstrap/Foo.java 2010-07-28 11:35:11 UTC (rev 6821)
+++ core/trunk/tests/src/test/java/org/jboss/weld/tests/unit/bootstrap/Foo.java 2010-07-28 11:45:17 UTC (rev 6822)
@@ -1,49 +0,0 @@
-/*
- * JBoss, Home of Professional Open Source
- * Copyright 2010, Red Hat, Inc., and individual contributors
- * by the @authors tag. See the copyright.txt in the distribution for a
- * full listing of individual contributors.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * http://www.apache.org/licenses/LICENSE-2.0
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.jboss.weld.tests.unit.bootstrap;
-
-import javax.inject.Inject;
-
-/**
- * @author pmuir
- *
- */
-public class Foo
-{
-
- @Inject
- private Bar bar;
-
- public String message;
-
- /**
- * @return the bar
- */
- public Bar getBar()
- {
- return bar;
- }
-
- /**
- * @return the message
- */
- public String getMessage()
- {
- return message;
- }
-
-}
Deleted: core/trunk/tests/src/test/java/org/jboss/weld/tests/unit/bootstrap/InjectionServicesTest.java
===================================================================
--- core/trunk/tests/src/test/java/org/jboss/weld/tests/unit/bootstrap/InjectionServicesTest.java 2010-07-28 11:35:11 UTC (rev 6821)
+++ core/trunk/tests/src/test/java/org/jboss/weld/tests/unit/bootstrap/InjectionServicesTest.java 2010-07-28 11:45:17 UTC (rev 6822)
@@ -1,59 +0,0 @@
-/*
- * JBoss, Home of Professional Open Source
- * Copyright 2010, Red Hat, Inc., and individual contributors
- * by the @authors tag. See the copyright.txt in the distribution for a
- * full listing of individual contributors.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * http://www.apache.org/licenses/LICENSE-2.0
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.jboss.weld.tests.unit.bootstrap;
-
-import java.util.Arrays;
-
-import javax.enterprise.inject.spi.Bean;
-import javax.enterprise.inject.spi.BeanManager;
-
-import org.jboss.weld.injection.spi.InjectionServices;
-import org.jboss.weld.mock.MockEELifecycle;
-import org.jboss.weld.mock.TestContainer;
-import org.testng.annotations.Test;
-
-public class InjectionServicesTest
-{
-
- @Test
- public void testInjectionOfTarget()
- {
- TestContainer container = new TestContainer(new MockEELifecycle(), Arrays.asList(Foo.class, Bar.class), null);
- CheckableInjectionServices ijs = new CheckableInjectionServices();
- container.getLifecycle().getWar().getServices().add(InjectionServices.class, ijs);
- container.startContainer();
- container.ensureRequestActive();
-
- BeanManager manager = container.getBeanManager();
-
- Bean<? extends Object> bean = manager.resolve(manager.getBeans(Foo.class));
- ijs.reset();
- Foo foo = (Foo) manager.getReference(bean, Foo.class, manager.createCreationalContext(bean));
-
- assert ijs.isBefore();
- assert ijs.isAfter();
- assert ijs.isInjectedAfter();
- assert ijs.isInjectionTargetCorrect();
-
- assert foo.getBar() != null;
- assert foo.getMessage().equals("hi!");
-
-
- container.stopContainer();
- }
-
-}
Deleted: core/trunk/tests/src/test/java/org/jboss/weld/tests/unit/bootstrap/PreinstantiateBeanManagerTest.java
===================================================================
--- core/trunk/tests/src/test/java/org/jboss/weld/tests/unit/bootstrap/PreinstantiateBeanManagerTest.java 2010-07-28 11:35:11 UTC (rev 6821)
+++ core/trunk/tests/src/test/java/org/jboss/weld/tests/unit/bootstrap/PreinstantiateBeanManagerTest.java 2010-07-28 11:45:17 UTC (rev 6822)
@@ -1,71 +0,0 @@
-/*
- * JBoss, Home of Professional Open Source
- * Copyright 2010, Red Hat, Inc., and individual contributors
- * by the @authors tag. See the copyright.txt in the distribution for a
- * full listing of individual contributors.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * http://www.apache.org/licenses/LICENSE-2.0
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.jboss.weld.tests.unit.bootstrap;
-
-import java.util.ArrayList;
-import java.util.List;
-import java.util.Set;
-
-import javax.enterprise.inject.spi.Bean;
-import javax.enterprise.inject.spi.BeanManager;
-
-import org.jboss.weld.mock.MockEELifecycle;
-import org.jboss.weld.mock.TestContainer;
-import org.testng.annotations.Test;
-
-/**
- * @author kkhan
- *
- */
-public class PreinstantiateBeanManagerTest
-{
-
- @Test
- public void test()
- {
- //Start the container, but do not deploy weld yet
- List<Class<?>> classes = new ArrayList<Class<?>>();
- classes.add(WeldBean.class);
- TestContainer container = new TestContainer(new MockEELifecycle(), classes, null);
- container.getLifecycle().initialize();
-
- BeanManager bootstrapManager = container.getBeanManager();
- assert bootstrapManager != null;
-
- //Check the bean is null since it is not there yet
- Set<Bean<?>> beans = bootstrapManager.getBeans(WeldBean.class);
- assert beans == null || beans.size() == 0;
-
-
- //Start the application
- container.getLifecycle().beginApplication();
- container.ensureRequestActive();
-
- //Check the manager is the same as before
- BeanManager manager = container.getBeanManager();
- assert manager != null;
- assert bootstrapManager == manager;
-
- //Check we can get the bean
- Bean<? extends Object> bean = manager.resolve(manager.getBeans(WeldBean.class));
- WeldBean weldBean = (WeldBean) manager.getReference(bean, WeldBean.class, manager.createCreationalContext(bean));
- assert weldBean != null;
-
- container.stopContainer();
- }
-
-}
Deleted: core/trunk/tests/src/test/java/org/jboss/weld/tests/unit/bootstrap/WeldBean.java
===================================================================
--- core/trunk/tests/src/test/java/org/jboss/weld/tests/unit/bootstrap/WeldBean.java 2010-07-28 11:35:11 UTC (rev 6821)
+++ core/trunk/tests/src/test/java/org/jboss/weld/tests/unit/bootstrap/WeldBean.java 2010-07-28 11:45:17 UTC (rev 6822)
@@ -1,27 +0,0 @@
-/*
- * JBoss, Home of Professional Open Source
- * Copyright 2010, Red Hat, Inc., and individual contributors
- * by the @authors tag. See the copyright.txt in the distribution for a
- * full listing of individual contributors.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * http://www.apache.org/licenses/LICENSE-2.0
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.jboss.weld.tests.unit.bootstrap;
-
-/**
- *
- * @author <a href="kabir.khan(a)jboss.com">Kabir Khan</a>
- * @version $Revision: 1.1 $
- */
-public class WeldBean
-{
-
-}
Deleted: core/trunk/tests/src/test/java/org/jboss/weld/tests/unit/bootstrap/WeldStartupTest.java
===================================================================
--- core/trunk/tests/src/test/java/org/jboss/weld/tests/unit/bootstrap/WeldStartupTest.java 2010-07-28 11:35:11 UTC (rev 6821)
+++ core/trunk/tests/src/test/java/org/jboss/weld/tests/unit/bootstrap/WeldStartupTest.java 2010-07-28 11:45:17 UTC (rev 6822)
@@ -1,53 +0,0 @@
-/*
- * JBoss, Home of Professional Open Source
- * Copyright 2010, Red Hat, Inc., and individual contributors
- * by the @authors tag. See the copyright.txt in the distribution for a
- * full listing of individual contributors.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * http://www.apache.org/licenses/LICENSE-2.0
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.jboss.weld.tests.unit.bootstrap;
-
-import java.util.Arrays;
-
-import javax.enterprise.inject.spi.Bean;
-import javax.enterprise.inject.spi.BeanManager;
-
-import org.jboss.weld.mock.MockEELifecycle;
-import org.jboss.weld.mock.TestContainer;
-import org.testng.annotations.Test;
-
-/**
- * @author pmuir
- *
- */
-public class WeldStartupTest
-{
-
- @Test
- public void test()
- {
- TestContainer container = new TestContainer(new MockEELifecycle(), Arrays.asList(Foo.class, Bar.class), null);
- container.startContainer();
- container.ensureRequestActive();
-
- BeanManager manager = container.getBeanManager();
-
- Bean<? extends Object> bean = manager.resolve(manager.getBeans(Foo.class));
- Foo foo = (Foo) manager.getReference(bean, Foo.class, manager.createCreationalContext(bean));
-
- assert foo != null;
- assert foo.getBar() != null;
-
- container.stopContainer();
- }
-
-}
Deleted: core/trunk/tests/src/test/resources/org/jboss/weld/tests/extensions/annotatedType/javax.enterprise.inject.spi.Extension
===================================================================
--- core/trunk/tests/src/test/resources/org/jboss/weld/tests/extensions/annotatedType/javax.enterprise.inject.spi.Extension 2010-07-28 11:35:11 UTC (rev 6821)
+++ core/trunk/tests/src/test/resources/org/jboss/weld/tests/extensions/annotatedType/javax.enterprise.inject.spi.Extension 2010-07-28 11:45:17 UTC (rev 6822)
@@ -1 +0,0 @@
-org.jboss.weld.tests.extensions.annotatedType.AnnotatedTypeExtension
Deleted: core/trunk/tests/src/test/resources/org/jboss/weld/tests/extensions/javax.enterprise.inject.spi.Extension
===================================================================
--- core/trunk/tests/src/test/resources/org/jboss/weld/tests/extensions/javax.enterprise.inject.spi.Extension 2010-07-28 11:35:11 UTC (rev 6821)
+++ core/trunk/tests/src/test/resources/org/jboss/weld/tests/extensions/javax.enterprise.inject.spi.Extension 2010-07-28 11:45:17 UTC (rev 6822)
@@ -1,3 +0,0 @@
-org.jboss.weld.tests.extensions.SimpleExtension
-org.jboss.weld.tests.extensions.ExtensionObserver
-org.jboss.weld.tests.extensions.WoodlandExtension
\ No newline at end of file
13 years, 8 months
Weld SVN: r6821 - in core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/extensions: injectionTarget and 1 other directories.
by weld-commits@lists.jboss.org
Author: aslak
Date: 2010-07-28 07:35:11 -0400 (Wed, 28 Jul 2010)
New Revision: 6821
Added:
core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/extensions/injectionTarget/
Modified:
core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/extensions/injectionTarget/InjectionTargetTest.java
core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/extensions/multipleBeans/MultipleBeansExtension.java
Log:
WELD-493 More converted tests
Copied: core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/extensions/injectionTarget (from rev 6755, core/trunk/tests/src/test/java/org/jboss/weld/tests/extensions/injectionTarget)
Modified: core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/extensions/injectionTarget/InjectionTargetTest.java
===================================================================
--- core/trunk/tests/src/test/java/org/jboss/weld/tests/extensions/injectionTarget/InjectionTargetTest.java 2010-07-22 17:06:40 UTC (rev 6755)
+++ core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/extensions/injectionTarget/InjectionTargetTest.java 2010-07-28 11:35:11 UTC (rev 6821)
@@ -18,54 +18,84 @@
import javax.enterprise.context.spi.CreationalContext;
import javax.enterprise.inject.spi.Bean;
+import javax.enterprise.inject.spi.Extension;
+import javax.inject.Inject;
-import org.jboss.testharness.impl.packaging.Artifact;
-import org.jboss.testharness.impl.packaging.IntegrationTest;
-import org.jboss.testharness.impl.packaging.Packaging;
-import org.jboss.testharness.impl.packaging.PackagingType;
-import org.jboss.testharness.impl.packaging.jsr299.BeansXml;
-import org.jboss.testharness.impl.packaging.jsr299.Extension;
-import org.jboss.weld.test.AbstractWeldTest;
-import org.testng.annotations.Test;
+import org.jboss.arquillian.api.Deployment;
+import org.jboss.arquillian.junit.Arquillian;
+import org.jboss.shrinkwrap.api.Archive;
+import org.jboss.shrinkwrap.api.BeanArchive;
+import org.jboss.shrinkwrap.api.ShrinkWrap;
+import org.jboss.shrinkwrap.api.spec.EnterpriseArchive;
+import org.jboss.weld.manager.BeanManagerImpl;
+import org.jboss.weld.test.Utils;
+import org.jboss.weld.tests.category.Integration;
+import org.junit.Assert;
+import org.junit.Test;
+import org.junit.experimental.categories.Category;
+import org.junit.runner.RunWith;
-@Artifact
-@IntegrationTest
-@BeansXml("beans.xml")
-(a)Packaging(PackagingType.EAR)
-@Extension("javax.enterprise.inject.spi.Extension")
-public class InjectionTargetTest extends AbstractWeldTest
+(a)Category(Integration.class)
+(a)RunWith(Arquillian.class)
+public class InjectionTargetTest
{
- @Test(description="WELD-557")
+ @Deployment
+ public static Archive<?> deploy()
+ {
+ return ShrinkWrap.create(EnterpriseArchive.class, "test.ear")
+ .addModule(
+ ShrinkWrap.create(BeanArchive.class)
+ .intercept(SecurityInterceptor.class)
+ .decorate(AircraftDecorator.class)
+ .addPackage(InjectionTargetTest.class.getPackage())
+ .addClass(Utils.class)
+ .addServiceProvider(Extension.class, InjectionTargetExtension.class)
+ );
+ }
+
+ @Inject
+ private BeanManagerImpl beanManager;
+
+ /*
+ * description = "WELD-557"
+ */
+ @Test
public void testActualInstanceAndNotProxyPassedToInject()
{
InjectionTargetWrapper.clear();
- Spitfire aircraft = getReference(Spitfire.class);
+ Spitfire aircraft = Utils.getReference(beanManager, Spitfire.class);
aircraft.isFlying();
- assert aircraft.isTheSameInstance(InjectionTargetWrapper.injectInstance);
+ Assert.assertTrue(aircraft.isTheSameInstance(InjectionTargetWrapper.injectInstance));
}
- @Test(description="WELD-557")
+ /*
+ * description = "WELD-557"
+ */
+ @Test
public void testActualInstanceAndNotProxyPassedToPostConstruct()
{
InjectionTargetWrapper.clear();
- Spitfire aircraft = getReference(Spitfire.class);
+ Spitfire aircraft = Utils.getReference(beanManager, Spitfire.class);
aircraft.isFlying();
- assert aircraft.isTheSameInstance(InjectionTargetWrapper.postConstructInstance);
+ Assert.assertTrue(aircraft.isTheSameInstance(InjectionTargetWrapper.postConstructInstance));
}
- @Test(description="WELD-557")
+ /*
+ * description = "WELD-557"
+ */
+ @Test
public void testActualInstanceAndNotProxyPassedToPreDestroy()
{
// prepare instance
InjectionTargetWrapper.clear();
- Bean<Spitfire> bean = getBean(Spitfire.class);
- CreationalContext<Spitfire> ctx = getCurrentManager().createCreationalContext(bean);
- Spitfire aircraft = (Spitfire) getCurrentManager().getReference(bean, Spitfire.class, ctx);
+ Bean<Spitfire> bean = Utils.getBean(beanManager, Spitfire.class);
+ CreationalContext<Spitfire> ctx = beanManager.createCreationalContext(bean);
+ Spitfire aircraft = (Spitfire) beanManager.getReference(bean, Spitfire.class, ctx);
// invoke business method
aircraft.isFlying();
// destroy instance
bean.destroy(aircraft, ctx);
- assert aircraft.isTheSameInstance(InjectionTargetWrapper.preDestroyInstance);
+ Assert.assertTrue(aircraft.isTheSameInstance(InjectionTargetWrapper.preDestroyInstance));
}
}
Modified: core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/extensions/multipleBeans/MultipleBeansExtension.java
===================================================================
--- core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/extensions/multipleBeans/MultipleBeansExtension.java 2010-07-28 10:18:08 UTC (rev 6820)
+++ core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/extensions/multipleBeans/MultipleBeansExtension.java 2010-07-28 11:35:11 UTC (rev 6821)
@@ -21,8 +21,11 @@
import javax.enterprise.event.Observes;
import javax.enterprise.inject.Produces;
+import javax.enterprise.inject.spi.AnnotatedField;
+import javax.enterprise.inject.spi.AnnotatedType;
import javax.enterprise.inject.spi.BeforeBeanDiscovery;
import javax.enterprise.inject.spi.Extension;
+import javax.enterprise.inject.spi.ProcessAnnotatedType;
import javax.enterprise.util.AnnotationLiteral;
import javax.inject.Inject;
@@ -37,6 +40,8 @@
public class MultipleBeansExtension implements Extension
{
+ private boolean addedBlogFormatterSeen = false;
+
public void addNewAnnotatedTypes(@Observes BeforeBeanDiscovery event) throws SecurityException, NoSuchFieldException, NoSuchMethodException
{
TestAnnotatedTypeBuilder<BlogFormatter> formatter = new TestAnnotatedTypeBuilder<BlogFormatter>(BlogFormatter.class);
@@ -61,7 +66,31 @@
event.addAnnotatedType(uselessBuilder.create());
}
+
+ public void observeProcessBlogFormatter(@Observes ProcessAnnotatedType<BlogFormatter> event)
+ {
+ AnnotatedType<BlogFormatter> type = event.getAnnotatedType();
+ for(AnnotatedField<? super BlogFormatter> f : type.getFields())
+ {
+ if(f.getJavaMember().getName().equals("content"))
+ {
+ if(f.isAnnotationPresent(Author.class))
+ {
+ if(f.getAnnotation(Author.class).name().equals("Bob"))
+ {
+ addedBlogFormatterSeen = true;
+ }
+ }
+ }
+ }
+ }
+
+ public boolean isAddedBlogFormatterSeen()
+ {
+ return addedBlogFormatterSeen;
+ }
+
private static class InjectLiteral extends AnnotationLiteral<Inject> implements Inject
{
13 years, 8 months
Weld SVN: r6820 - in core/trunk/tests-arquillian/src: main/java/org/jboss/weld/test and 91 other directories.
by weld-commits@lists.jboss.org
Author: aslak
Date: 2010-07-28 06:18:08 -0400 (Wed, 28 Jul 2010)
New Revision: 6820
Added:
core/trunk/tests-arquillian/src/main/java/org/jboss/weld/test/
core/trunk/tests-arquillian/src/main/java/org/jboss/weld/test/Utils.java
core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/activities/
core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/activities/ActivitiesTest.java
core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/activities/Cow.java
core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/activities/Dummy.java
core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/activities/Field.java
core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/activities/Fox.java
core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/activities/NightTime.java
core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/activities/Tame.java
core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/activities/child/
core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/activities/child/BeanWithInjection.java
core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/activities/child/MyBean.java
core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/activities/child/SameBeanTypeInChildActivityTest.java
core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/activities/child/SpecialBindingType.java
core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/activities/current/
core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/activities/current/Cow.java
core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/activities/current/Donkey.java
core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/activities/current/Dummy.java
core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/activities/current/Dusk.java
core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/activities/current/ELCurrentActivityTest.java
core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/activities/current/EventCurrentActivityTest.java
core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/activities/current/Field.java
core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/activities/current/Horse.java
core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/activities/current/InactiveScopeTest.java
core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/activities/current/InjectedManagerCurrentActivityTest.java
core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/activities/current/InstanceCurrentActivityTest.java
core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/activities/current/JndiManagerCurrentActivityTest.java
core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/activities/current/NightTime.java
core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/activities/current/NonNormalScope.java
core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/activities/current/NonNormalScopeTest.java
core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/activities/current/Tame.java
core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/activities/current/TestableObserverMethod.java
core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/beanDeployment/
core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/beanDeployment/managed/
core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/beanDeployment/managed/multiple/
core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/beanDeployment/managed/multiple/Animal.java
core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/beanDeployment/managed/multiple/BootstrapTest.java
core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/beanDeployment/managed/multiple/Salmon.java
core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/beanDeployment/managed/multiple/ScottishFish.java
core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/beanDeployment/managed/multiple/SeaBass.java
core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/beanDeployment/managed/multiple/Sole.java
core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/beanDeployment/managed/multiple/Tuna.java
core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/beanDeployment/managed/multiple/Whitefish.java
core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/beanDeployment/managed/single/
core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/beanDeployment/managed/single/BootstrapTest.java
core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/beanDeployment/managed/single/Tuna.java
core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/beanDeployment/mixed/
core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/beanDeployment/mixed/Animal.java
core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/beanDeployment/mixed/BootstrapTest.java
core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/beanDeployment/mixed/Elephant.java
core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/beanDeployment/mixed/ElephantLocal.java
core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/beanDeployment/mixed/Hound.java
core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/beanDeployment/mixed/HoundLocal.java
core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/beanDeployment/mixed/Panther.java
core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/beanDeployment/mixed/PantherLocal.java
core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/beanDeployment/mixed/Salmon.java
core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/beanDeployment/mixed/ScottishFish.java
core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/beanDeployment/mixed/SeaBass.java
core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/beanDeployment/mixed/Sole.java
core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/beanDeployment/mixed/Synchronous.java
core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/beanDeployment/mixed/Tame.java
core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/beanDeployment/mixed/Tiger.java
core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/beanDeployment/mixed/TigerLocal.java
core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/beanDeployment/mixed/Tuna.java
core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/beanDeployment/mixed/Whitefish.java
core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/beanDeployment/producers/
core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/beanDeployment/producers/singleProducerMethod/
core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/beanDeployment/producers/singleProducerMethod/Animal.java
core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/beanDeployment/producers/singleProducerMethod/BootstrapTest.java
core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/beanDeployment/producers/singleProducerMethod/DeadlyAnimal.java
core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/beanDeployment/producers/singleProducerMethod/DeadlySpider.java
core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/beanDeployment/producers/singleProducerMethod/DefangedTarantula.java
core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/beanDeployment/producers/singleProducerMethod/Spider.java
core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/beanDeployment/producers/singleProducerMethod/Tame.java
core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/beanDeployment/producers/singleProducerMethod/Tarantula.java
core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/beanDeployment/producers/singleProducerMethod/TarantulaProducer.java
core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/beanDeployment/session/
core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/beanDeployment/session/multiple/
core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/beanDeployment/session/multiple/BootstrapTest.java
core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/beanDeployment/session/multiple/Elephant.java
core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/beanDeployment/session/multiple/ElephantLocal.java
core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/beanDeployment/session/multiple/Hound.java
core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/beanDeployment/session/multiple/HoundLocal.java
core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/beanDeployment/session/multiple/Panther.java
core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/beanDeployment/session/multiple/PantherLocal.java
core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/beanDeployment/session/multiple/Synchronous.java
core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/beanDeployment/session/multiple/Tame.java
core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/beanDeployment/session/multiple/Tiger.java
core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/beanDeployment/session/multiple/TigerLocal.java
core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/beanDeployment/session/single/
core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/beanDeployment/session/single/BootstrapTest.java
core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/beanDeployment/session/single/Hound.java
core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/beanDeployment/session/single/HoundLocal.java
core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/beanDeployment/session/single/Tame.java
core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/beanManager/
core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/beanManager/BeanManagerTest.java
core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/beanManager/Foo.java
core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/beanManager/annotation/
core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/beanManager/annotation/ManagerAnnotationTest.java
core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/beanManager/serializability/
core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/beanManager/serializability/Foo.java
core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/beanManager/serializability/ManagerTest.java
core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/builtinBeans/
core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/builtinBeans/BuiltInBeanPassivationCapableTest.java
core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/builtinBeans/Checker.java
core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/builtinBeans/ConstructorInjectionPointConsumer.java
core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/builtinBeans/Consumer.java
core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/builtinBeans/Cow.java
core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/builtinBeans/CowEventObserver.java
core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/builtinBeans/Dog.java
core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/builtinBeans/FieldInjectionPointConsumer.java
core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/builtinBeans/MethodInjectionPointConsumer.java
core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/builtinBeans/Produced.java
core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/builtinBeans/ee/
core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/builtinBeans/ee/Checker.java
core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/builtinBeans/ee/EEResourceConsumer.java
core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/builtinBeans/ee/EEResourceProducer.java
core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/builtinBeans/ee/EEResourceProducerFieldPassivationCapableTest.java
core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/builtinBeans/ee/Horse.java
core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/builtinBeans/ee/HorseRemote.java
core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/builtinBeans/ee/Produced.java
core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/builtinBeans/weld471/
core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/builtinBeans/weld471/Bar.java
core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/builtinBeans/weld471/Foo.java
core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/builtinBeans/weld471/InstanceTest.java
core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/contexts/
core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/contexts/ApplicationScopedObject.java
core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/contexts/ApplicationScopedTest.java
core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/contexts/ContextTest.java
core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/contexts/ParameterizedTypeScoped.java
core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/contexts/ParameterizedTypeScopedTest.java
core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/contexts/PassivatingContextTest.java
core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/contexts/StringHolder.java
core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/enterprise/
core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/enterprise/AbstractDAO.java
core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/enterprise/AbstractDAOImpl.java
core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/enterprise/Animal.java
core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/enterprise/Bird.java
core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/enterprise/BowlerHatException.java
core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/enterprise/Capercaillie.java
core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/enterprise/Castle.java
core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/enterprise/Cat.java
core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/enterprise/CatLocal.java
core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/enterprise/DAO.java
core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/enterprise/Dog.java
core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/enterprise/DogBean.java
core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/enterprise/EjbDescriptorLookupTest.java
core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/enterprise/EnterpriseBeanDefinitionTest.java
core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/enterprise/EnterpriseBeanTest.java
core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/enterprise/Fedora.java
core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/enterprise/FedoraImpl.java
core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/enterprise/Feed.java
core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/enterprise/Hat.java
core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/enterprise/HatRemote.java
core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/enterprise/HelloAction.java
core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/enterprise/HelloBean.java
core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/enterprise/IHelloBean.java
core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/enterprise/Result.java
core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/enterprise/ResultClient.java
core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/enterprise/ResultDAO.java
core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/enterprise/ResultDAOImpl.java
core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/enterprise/Scottish.java
core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/enterprise/lifecycle/
core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/enterprise/lifecycle/AlteStadt.java
core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/enterprise/lifecycle/BeanImpl.java
core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/enterprise/lifecycle/BeanLocal.java
core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/enterprise/lifecycle/DirectOrderProcessor.java
core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/enterprise/lifecycle/DirectOrderProcessorLocal.java
core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/enterprise/lifecycle/EnterpriseBeanLifecycleTest.java
core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/enterprise/lifecycle/FrankfurtAmMain.java
core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/enterprise/lifecycle/GeschichtslosStadt.java
core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/enterprise/lifecycle/Giessen.java
core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/enterprise/lifecycle/GrossStadt.java
core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/enterprise/lifecycle/GutenbergMuseum.java
core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/enterprise/lifecycle/IndirectOrderProcessor.java
core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/enterprise/lifecycle/IntermediateOrderProcessor.java
core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/enterprise/lifecycle/Kassel.java
core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/enterprise/lifecycle/KleinStadt.java
core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/enterprise/lifecycle/LandgraffenSchloss.java
core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/enterprise/lifecycle/Mainz.java
core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/enterprise/lifecycle/Marburg.java
core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/enterprise/lifecycle/MockCreationalContext.java
core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/enterprise/lifecycle/NeueStadt.java
core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/enterprise/lifecycle/OrderProcessor.java
core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/enterprise/lifecycle/OrderProcessorLocal.java
core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/enterprise/lifecycle/RoemerPassage.java
core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/enterprise/lifecycle/Schloss.java
core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/enterprise/lifecycle/SchoeneStadt.java
core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/enterprise/lifecycle/UniStadt.java
core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/enterprise/proxyability/
core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/enterprise/proxyability/EnterpriseBeanLifecycleTest.java
core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/enterprise/proxyability/MyStatelessBean.java
core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/enterprise/proxyability/MyStatelessBeanLocal.java
core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/enterprise/proxyability/SimpleBean.java
core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/event/
core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/event/Bar.java
core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/event/EventQualifierTest.java
core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/event/Foo.java
core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/event/NormalScopedBean.java
core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/event/SimpleEventTest.java
core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/event/Updated.java
core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/exceptions/
core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/exceptions/ExceptionHandlingTest.java
core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/exceptions/FooException.java
core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/exceptions/Large.java
core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/exceptions/Lorry_Broken.java
core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/exceptions/Ship.java
core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/exceptions/ShipProducer_Broken.java
core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/extensions/
core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/extensions/Capercaillie.java
core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/extensions/Cow.java
core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/extensions/CowLocal.java
core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/extensions/ExtensionObserver.java
core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/extensions/ExtensionTest.java
core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/extensions/Foo.java
core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/extensions/Horse.java
core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/extensions/OtherObserver.java
core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/extensions/Rat.java
core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/extensions/SimpleExtension.java
core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/extensions/Special.java
core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/extensions/Stable.java
core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/extensions/Woodland.java
core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/extensions/WoodlandExtension.java
core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/extensions/annotatedType/
core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/extensions/annotatedType/AnnotatedTypeExtension.java
core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/extensions/annotatedType/AnnotatedTypeExtensionTest.java
core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/extensions/annotatedType/Clothes.java
core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/extensions/annotatedType/Coins.java
core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/extensions/annotatedType/EcoFriendlyWashingMachine.java
core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/extensions/annotatedType/FastWashingMachine.java
core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/extensions/annotatedType/HotAir.java
core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/extensions/annotatedType/InjectLiteral.java
core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/extensions/annotatedType/Laundry.java
core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/extensions/annotatedType/Original.java
core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/extensions/annotatedType/Plug.java
core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/extensions/annotatedType/RunningTime.java
core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/extensions/annotatedType/SerialNumber.java
core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/extensions/annotatedType/Special.java
core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/extensions/annotatedType/SpecialLiteral.java
core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/extensions/annotatedType/TumbleDryer.java
core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/extensions/annotatedType/WashingMachine.java
core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/extensions/annotatedType/ejb/
core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/extensions/annotatedType/ejb/AnnotatedTypeEjbExtension.java
core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/extensions/annotatedType/ejb/AnnotatedTypeSessionBeanTest.java
core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/extensions/annotatedType/ejb/BigLathe.java
core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/extensions/annotatedType/ejb/ConveyorShaft.java
core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/extensions/annotatedType/ejb/Lathe.java
core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/extensions/annotatedType/ejb/LatheLocal.java
core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/extensions/annotatedType/ejb/Shaft.java
core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/extensions/annotatedType/ejb/SmallLathe.java
core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/extensions/annotatedType/invalidParameters/
core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/extensions/annotatedType/invalidParameters/AnnotatedTypeExtension.java
core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/extensions/annotatedType/invalidParameters/AnnotatedTypeExtensionTest.java
core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/extensions/annotatedType/invalidParameters/Clothes.java
core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/extensions/annotatedType/invalidParameters/InjectLiteral.java
core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/extensions/annotatedType/invalidParameters/TumbleDryer.java
core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/extensions/interceptors/
core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/extensions/interceptors/FullMarathon.java
core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/extensions/interceptors/Incremented.java
core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/extensions/interceptors/IncrementingInterceptor.java
core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/extensions/interceptors/InterceptorExtension.java
core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/extensions/interceptors/InterceptorExtensionTest.java
core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/extensions/interceptors/LifecycleInterceptor.java
core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/extensions/interceptors/Marathon.java
core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/extensions/interceptors/NumberSource.java
core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/extensions/multipleBeans/
core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/extensions/multipleBeans/Author.java
core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/extensions/multipleBeans/AuthorLiteral.java
core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/extensions/multipleBeans/BlogConsumer.java
core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/extensions/multipleBeans/BlogFormatter.java
core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/extensions/multipleBeans/BlogSource.java
core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/extensions/multipleBeans/Consumer.java
core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/extensions/multipleBeans/ConsumerLiteral.java
core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/extensions/multipleBeans/FormattedBlog.java
core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/extensions/multipleBeans/FormattedBlogLiteral.java
core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/extensions/multipleBeans/MultipleBeansExtension.java
core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/extensions/multipleBeans/MultipleBeansTest.java
core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/extensions/multipleBeans/UselessBean.java
core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/injectionPoint/
core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/injectionPoint/Cow.java
core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/injectionPoint/CowShed.java
core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/injectionPoint/DoubleConsumer.java
core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/injectionPoint/DoubleGenerator.java
core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/injectionPoint/ExtraSpecial.java
core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/injectionPoint/ExtraSpecialLiteral.java
core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/injectionPoint/Field.java
core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/injectionPoint/GrassyField.java
core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/injectionPoint/InjectionPointTest.java
core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/injectionPoint/IntConsumer.java
core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/injectionPoint/IntGenerator.java
core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/injectionPoint/Pig.java
core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/injectionPoint/PigSty.java
core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/injectionPoint/Special.java
core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/injectionPoint/StringConsumer.java
core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/injectionPoint/StringGenerator.java
core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/injectionPoint/TimerManager.java
core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/injectionPoint/other/
core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/injectionPoint/other/Foo.java
core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/producer/
core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/producer/field/
core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/producer/field/Baz.java
core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/producer/field/IntegerCollectionInjection.java
core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/producer/field/ListInstance.java
core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/producer/field/ListStringInstance.java
core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/producer/field/ParameterizedCollectionInjection.java
core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/producer/field/ParameterizedListInjection.java
core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/producer/field/ParameterizedProducer.java
core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/producer/field/ParameterizedProducerTest.java
core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/producer/field/ProducerBeanInvocationTest.java
core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/producer/field/Qux.java
core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/producer/field/QuxProducer.java
core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/producer/field/Target.java
core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/producer/method/
core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/producer/method/Bar.java
core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/producer/method/BarConsumer.java
core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/producer/method/BarProducer.java
core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/producer/method/Baz.java
core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/producer/method/Car.java
core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/producer/method/CarFactory.java
core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/producer/method/DisposalMethodInjectionPointTest.java
core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/producer/method/DisposalMethodOnOtherBeanNotResolvedTest.java
core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/producer/method/Foo.java
core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/producer/method/FooDisposer.java
core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/producer/method/FooProducer.java
core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/producer/method/Government.java
core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/producer/method/Important.java
core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/producer/method/IntInjection.java
core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/producer/method/JmsTemplate.java
core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/producer/method/JmsTemplateConfigurationProducer.java
core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/producer/method/Long.java
core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/producer/method/ManagerProducer.java
core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/producer/method/ManagerProducerTest.java
core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/producer/method/NamedProducer.java
core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/producer/method/NamedProducerTest.java
core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/producer/method/NamedProducerWithBinding.java
core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/producer/method/NamedProducerWithBindingTest.java
core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/producer/method/NullProducerTest.java
core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/producer/method/ProducerBeanInvocationTest.java
core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/producer/method/Qux.java
core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/producer/method/QuxProducer.java
core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/producer/method/Short.java
core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/producer/method/circular/
core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/producer/method/circular/Bar.java
core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/producer/method/circular/CircularInjectionTest.java
core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/producer/method/circular/Foo.java
core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/producer/method/parameterized/
core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/producer/method/parameterized/Parameterized.java
core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/producer/method/parameterized/Parameterized1.java
core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/producer/method/parameterized/Parameterized2.java
core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/producer/method/parameterized/ParameterizedProducer.java
core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/producer/method/parameterized/ParameterizedTest.java
core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/producer/method/parameterized/TestBean.java
core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/proxy/
core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/proxy/Foo.java
core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/proxy/ProxyTest.java
core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/proxy/enterprise/
core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/proxy/enterprise/EnterpriseBeanProxyTest.java
core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/proxy/enterprise/Mouse.java
core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/proxy/observer/
core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/proxy/observer/Baz.java
core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/proxy/observer/ObserverInjectionTest.java
core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/proxy/observer/Qux.java
core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/proxy/observer/SampleObserver.java
core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/proxy/weld477/
core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/proxy/weld477/InjectedClass.java
core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/proxy/weld477/ProxiabilityTest.java
core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/proxy/weld477/ScopedClass.java
core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/proxy/weld56/
core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/proxy/weld56/Bar.java
core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/proxy/weld56/Foo.java
core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/proxy/weld56/ProxyTest.java
core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/resolution/
core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/resolution/Bar.java
core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/resolution/Baz.java
core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/resolution/Foo.java
core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/resolution/FooBase.java
core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/resolution/FooProducer.java
core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/resolution/LookupFoo.java
core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/resolution/LookupInstanceTest.java
core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/resolution/Special.java
core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/resolution/Weld256Test.java
core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/resolution/circular/
core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/resolution/circular/Bar.java
core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/resolution/circular/CircularDependencyTest.java
core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/resolution/circular/DependentLooping.java
core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/resolution/circular/DependentLoopingProducer.java
core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/resolution/circular/DependentSelfConsumingDependentProducer.java
core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/resolution/circular/Farm.java
core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/resolution/circular/Fish.java
core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/resolution/circular/Foo.java
core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/resolution/circular/NormalLooping.java
core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/resolution/circular/NormalLoopingProducer.java
core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/resolution/circular/SelfConsumingDependent.java
core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/resolution/circular/Violation.java
core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/resolution/circular/Water.java
core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/resolution/circular/resource/
core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/resolution/circular/resource/Baz.java
core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/resolution/circular/resource/FooDB.java
core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/resolution/circular/resource/ResourceCircularDependencyTest.java
core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/resolution/named/
core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/resolution/named/FooBean.java
core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/resolution/named/Important.java
core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/resolution/named/NamedBeanConsumer.java
core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/resolution/named/NamedBeanTest.java
core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/resolution/named/NamedBeanWithBinding.java
core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/resolution/wbri279/
core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/resolution/wbri279/AbstractFactory.java
core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/resolution/wbri279/DummyParent.java
core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/resolution/wbri279/IntFactory.java
core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/resolution/wbri279/IntegerFactory.java
core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/resolution/wbri279/SomeBean.java
core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/resolution/wbri279/Weld279Test.java
core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/resolution/wbri293/
core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/resolution/wbri293/ContextualReferenceTest.java
core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/resolution/wbri293/Sheep.java
core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/resources/
core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/resources/ResourceTest.java
core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/resources/UTConsumer.java
core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/scope/
core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/scope/Bar.java
core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/scope/Foo.java
core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/scope/ScopeTest.java
core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/scope/Special.java
core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/scope/Temp.java
core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/scope/TempConsumer.java
core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/scope/TempProducer.java
core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/scope/Useless.java
core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/serialization/
core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/serialization/LoggerConsumer.java
core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/serialization/LoggerProducer.java
core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/serialization/Mock.java
core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/serialization/SerializationTest.java
core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/serialization/TestConversationManager.java
core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/session/
core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/session/newBean/
core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/session/newBean/NewEnterpriseBeanTest.java
core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/session/newBean/WrappedEnterpriseBean.java
core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/session/newBean/WrappedEnterpriseBeanLocal.java
core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/stereotypes/
core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/stereotypes/Animal.java
core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/stereotypes/AnimalOrderStereotype.java
core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/stereotypes/AnimalStereotype.java
core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/stereotypes/Order.java
core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/stereotypes/RequestScopedAnimalStereotype.java
core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/stereotypes/StereotypesTest.java
core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/unit/
core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/unit/bootstrap/
core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/unit/bootstrap/Bar.java
core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/unit/bootstrap/CheckableInjectionServices.java
core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/unit/bootstrap/ContainerStatusTest.java
core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/unit/bootstrap/DiscoverFailsBootstrapTest.java
core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/unit/bootstrap/Foo.java
core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/unit/bootstrap/InjectionServicesTest.java
core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/unit/bootstrap/PreinstantiateBeanManagerTest.java
core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/unit/bootstrap/WeldBean.java
core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/unit/bootstrap/WeldStartupTest.java
core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/unit/bootstrap/xml/
core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/unit/bootstrap/xml/Alt.java
core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/unit/bootstrap/xml/BeansXmlTest.java
core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/unit/bootstrap/xml/Dec.java
core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/unit/bootstrap/xml/Int.java
core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/unit/bootstrap/xml/IntBind.java
core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/unit/bootstrap/xml/Plain.java
core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/unit/cluster/
core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/unit/cluster/Fodder.java
core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/unit/cluster/Foo.java
core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/unit/cluster/Horse.java
core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/unit/cluster/NaiveClusterTest.java
core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/unit/cluster/Stable.java
core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/unit/cluster/SwitchableContainerTest.java
core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/unit/deployment/
core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/unit/deployment/structure/
core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/unit/deployment/structure/extensions/
core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/unit/deployment/structure/extensions/Bar.java
core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/unit/deployment/structure/extensions/CountingObserver1.java
core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/unit/deployment/structure/extensions/CountingObserver2.java
core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/unit/deployment/structure/extensions/Foo.java
core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/unit/deployment/structure/extensions/NonBdaExtensionTest.java
core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/unit/deployment/structure/extensions/Observer1.java
core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/unit/deployment/structure/extensions/Observer2.java
core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/unit/deployment/structure/extensions/ObserverBase.java
core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/unit/deployment/structure/nonTransitiveResolution/
core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/unit/deployment/structure/nonTransitiveResolution/Alt.java
core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/unit/deployment/structure/nonTransitiveResolution/Bar.java
core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/unit/deployment/structure/nonTransitiveResolution/Foo.java
core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/unit/deployment/structure/nonTransitiveResolution/TransitiveResolutionTest.java
core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/unit/deployment/structure/resolution/
core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/unit/deployment/structure/resolution/AccessibleManagerResolutionTest.java
core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/unit/deployment/structure/resolution/Cat.java
core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/unit/deployment/structure/resolution/Chicken.java
core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/unit/deployment/structure/resolution/Cow.java
core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/unit/deployment/structure/resolution/Horse.java
core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/unit/deployment/structure/resolution/Pig.java
core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/unit/environments/
core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/unit/environments/servlet/
core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/unit/environments/servlet/Animal.java
core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/unit/environments/servlet/DeadlyAnimal.java
core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/unit/environments/servlet/DeadlySpider.java
core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/unit/environments/servlet/DefangedTarantula.java
core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/unit/environments/servlet/Hound.java
core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/unit/environments/servlet/HoundLocal.java
core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/unit/environments/servlet/Salmon.java
core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/unit/environments/servlet/ScottishFish.java
core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/unit/environments/servlet/SeaBass.java
core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/unit/environments/servlet/ServletEnvironmentTest.java
core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/unit/environments/servlet/ServletLifecycleTest.java
core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/unit/environments/servlet/Sole.java
core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/unit/environments/servlet/Spider.java
core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/unit/environments/servlet/Tame.java
core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/unit/environments/servlet/Tarantula.java
core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/unit/environments/servlet/TarantulaProducer.java
core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/unit/environments/servlet/Tuna.java
core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/unit/environments/servlet/Whitefish.java
core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/unit/jsf/
core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/unit/jsf/JsfApiAbstractionTest.java
core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/unit/reflection/
core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/unit/reflection/annotation/
core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/unit/reflection/annotation/AnnotationTest.java
core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/unit/reflection/annotation/Quality.java
core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/unit/reflection/annotation/Synchronous.java
core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/unit/reflection/clazz/
core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/unit/reflection/clazz/Animal.java
core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/unit/reflection/clazz/Antelope.java
core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/unit/reflection/clazz/Kangaroo.java
core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/unit/reflection/clazz/Koala.java
core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/unit/reflection/clazz/Order.java
core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/unit/reflection/clazz/Possum.java
core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/unit/reflection/clazz/Random.java
core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/unit/reflection/clazz/WeldClassTest.java
core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/unit/reflection/method/
core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/unit/reflection/method/Choice.java
core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/unit/reflection/method/WeldMethodTest.java
core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/unit/security/
core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/unit/security/ReflectionTest.java
core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/unit/security/SecurityTest.java
core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/unit/security/SuperTestObject.java
core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/unit/security/TestObject.java
core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/unit/util/
core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/unit/util/AnnotatedTypesTest.java
core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/unit/util/Chair.java
core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/unit/util/ComfyChair.java
core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/util/
core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/util/annotated/
core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/util/annotated/AbstractTestAnnotatedCallable.java
core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/util/annotated/AbstractTestAnnotatedElement.java
core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/util/annotated/AbstractTestAnnotatedMember.java
core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/util/annotated/TestAnnotatedConstructor.java
core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/util/annotated/TestAnnotatedField.java
core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/util/annotated/TestAnnotatedMethod.java
core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/util/annotated/TestAnnotatedParameter.java
core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/util/annotated/TestAnnotatedType.java
core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/util/annotated/TestAnnotatedTypeBuilder.java
core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/util/annotated/TestAnnotationBuilder.java
core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/util/annotated/TestAnnotationStore.java
core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/util/annotated/TestTypeClosureBuilder.java
core/trunk/tests-arquillian/src/test/resources/arquillian.xml
core/trunk/tests-arquillian/src/test/resources/org/jboss/weld/tests/builtinBeans/
core/trunk/tests-arquillian/src/test/resources/org/jboss/weld/tests/builtinBeans/ee/
core/trunk/tests-arquillian/src/test/resources/org/jboss/weld/tests/builtinBeans/ee/persistence.xml
core/trunk/tests-arquillian/src/test/resources/org/jboss/weld/tests/enterprise/
core/trunk/tests-arquillian/src/test/resources/org/jboss/weld/tests/enterprise/ejb-jar.xml
core/trunk/tests-arquillian/src/test/resources/org/jboss/weld/tests/resolution/
core/trunk/tests-arquillian/src/test/resources/org/jboss/weld/tests/resolution/circular/
core/trunk/tests-arquillian/src/test/resources/org/jboss/weld/tests/resolution/circular/resource/
core/trunk/tests-arquillian/src/test/resources/org/jboss/weld/tests/resolution/circular/resource/persistence.xml
core/trunk/tests-arquillian/src/test/resources/org/jboss/weld/tests/unit/
core/trunk/tests-arquillian/src/test/resources/org/jboss/weld/tests/unit/bootstrap/
core/trunk/tests-arquillian/src/test/resources/org/jboss/weld/tests/unit/bootstrap/javax.enterprise.inject.spi.Extension
core/trunk/tests-arquillian/src/test/resources/org/jboss/weld/tests/unit/bootstrap/xml/
core/trunk/tests-arquillian/src/test/resources/org/jboss/weld/tests/unit/bootstrap/xml/alternative.xml
core/trunk/tests-arquillian/src/test/resources/org/jboss/weld/tests/unit/bootstrap/xml/decorator.xml
core/trunk/tests-arquillian/src/test/resources/org/jboss/weld/tests/unit/bootstrap/xml/interceptor.xml
core/trunk/tests-arquillian/src/test/resources/org/jboss/weld/tests/unit/bootstrap/xml/multipleAlternativeBlocks.xml
core/trunk/tests-arquillian/src/test/resources/org/jboss/weld/tests/unit/bootstrap/xml/multipleDecoratorBlocks.xml
core/trunk/tests-arquillian/src/test/resources/org/jboss/weld/tests/unit/bootstrap/xml/multipleInterceptorsBlocks.xml
core/trunk/tests-arquillian/src/test/resources/org/jboss/weld/tests/unit/bootstrap/xml/namespaced.xml
core/trunk/tests-arquillian/src/test/resources/org/jboss/weld/tests/unit/bootstrap/xml/nonDefaultNamespaced.xml
core/trunk/tests-arquillian/src/test/resources/org/jboss/weld/tests/unit/bootstrap/xml/nonPrettyPrinted.xml
core/trunk/tests-arquillian/src/test/resources/org/jboss/weld/tests/unit/bootstrap/xml/unloadable.xml
core/trunk/tests-arquillian/src/test/resources/org/jboss/weld/tests/unit/bootstrap/xml/unparseable.xml
core/trunk/tests-arquillian/src/test/resources/org/jboss/weld/tests/unit/deployment/
core/trunk/tests-arquillian/src/test/resources/org/jboss/weld/tests/unit/deployment/structure/
core/trunk/tests-arquillian/src/test/resources/org/jboss/weld/tests/unit/deployment/structure/extensions/
core/trunk/tests-arquillian/src/test/resources/org/jboss/weld/tests/unit/deployment/structure/extensions/javax.enterprise.inject.spi.Extension
core/trunk/tests-arquillian/src/test/resources/org/jboss/weld/tests/unit/deployment/structure/nonTransitiveResolution/
core/trunk/tests-arquillian/src/test/resources/org/jboss/weld/tests/unit/deployment/structure/nonTransitiveResolution/beans.xml
Log:
WELD-493 Added new batch of converted tests
Added: core/trunk/tests-arquillian/src/main/java/org/jboss/weld/test/Utils.java
===================================================================
--- core/trunk/tests-arquillian/src/main/java/org/jboss/weld/test/Utils.java (rev 0)
+++ core/trunk/tests-arquillian/src/main/java/org/jboss/weld/test/Utils.java 2010-07-28 10:18:08 UTC (rev 6820)
@@ -0,0 +1,177 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2010, Red Hat, Inc., and individual contributors
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * http://www.apache.org/licenses/LICENSE-2.0
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.jboss.weld.test;
+
+import static org.jboss.weld.logging.messages.BeanManagerMessage.UNRESOLVABLE_TYPE;
+
+import java.io.ByteArrayInputStream;
+import java.io.ByteArrayOutputStream;
+import java.io.IOException;
+import java.io.ObjectInputStream;
+import java.io.ObjectOutputStream;
+import java.lang.annotation.Annotation;
+import java.lang.reflect.Type;
+import java.net.URL;
+import java.util.ArrayList;
+import java.util.Arrays;
+import java.util.List;
+import java.util.Set;
+
+import javax.el.ELContext;
+import javax.enterprise.inject.spi.Bean;
+import javax.enterprise.util.TypeLiteral;
+
+import org.jboss.weld.bean.proxy.Proxy;
+import org.jboss.weld.exceptions.UnsatisfiedResolutionException;
+import org.jboss.weld.manager.BeanManagerImpl;
+import org.jboss.weld.mock.el.EL;
+import org.jboss.weld.util.collections.EnumerationList;
+
+
+public class Utils
+{
+
+ /**
+ * Checks if all annotations are in a given set of annotations
+ *
+ * @param annotations The annotation set
+ * @param annotationTypes The annotations to match
+ * @return True if match, false otherwise
+ */
+ public static boolean annotationSetMatches(Set<? extends Annotation> annotations, Class<? extends Annotation>... annotationTypes)
+ {
+ List<Class<? extends Annotation>> annotationTypeList = new ArrayList<Class<? extends Annotation>>();
+ annotationTypeList.addAll(Arrays.asList(annotationTypes));
+ for (Annotation annotation : annotations)
+ {
+ if (annotationTypeList.contains(annotation.annotationType()))
+ {
+ annotationTypeList.remove(annotation.annotationType());
+ }
+ else
+ {
+ return false;
+ }
+ }
+ return annotationTypeList.size() == 0;
+ }
+
+ public static boolean typeSetMatches(Set<Type> types, Type... requiredTypes)
+ {
+ List<Type> typeList = Arrays.asList(requiredTypes);
+ return requiredTypes.length == types.size() && types.containsAll(typeList);
+ }
+
+ public static Iterable<URL> getResources(Class<?> clazz, String name)
+ {
+ if (name.startsWith("/"))
+ {
+ name = name.substring(1);
+ }
+ else
+ {
+ name = clazz.getPackage().getName().replace(".", "/") + "/" + name;
+ }
+ try
+ {
+ return new EnumerationList<URL>(clazz.getClassLoader().getResources(name));
+ }
+ catch (IOException e)
+ {
+ throw new RuntimeException("Error loading resource from classloader" + name, e);
+ }
+ }
+
+ public static byte[] serialize(Object instance) throws IOException
+ {
+ ByteArrayOutputStream bytes = new ByteArrayOutputStream();
+ ObjectOutputStream out = new ObjectOutputStream(bytes);
+ out.writeObject(instance);
+ return bytes.toByteArray();
+ }
+
+ public static <T> T deserialize(byte[] bytes) throws IOException, ClassNotFoundException
+ {
+ ObjectInputStream in = new ObjectInputStream(new ByteArrayInputStream(bytes));
+ return (T) in.readObject();
+ }
+
+ public static boolean isExceptionInHierarchy(Throwable exception, Class<? extends Throwable> expectedException )
+ {
+ while (exception != null)
+ {
+ if (exception.getClass().equals(expectedException))
+ {
+ return true;
+ }
+ exception = exception.getCause();
+ }
+ return false;
+ }
+
+ public static <T> Bean<T> getBean(BeanManagerImpl beanManager, Type beanType, Annotation... bindings)
+ {
+ Set<Bean<?>> beans = beanManager.getBeans(beanType, bindings);
+ Bean<?> bean = beanManager.resolve(beans);
+ if (bean == null)
+ {
+ throw new UnsatisfiedResolutionException(UNRESOLVABLE_TYPE, beanType, Arrays.toString(bindings));
+ }
+
+ @SuppressWarnings("unchecked")
+ Bean<T> typedBean = (Bean<T>) bean;
+
+ return typedBean;
+ }
+
+ @SuppressWarnings("unchecked")
+ public static <T> Set<Bean<T>> getBeans(BeanManagerImpl beanManager, Class<T> type, Annotation... bindings)
+ {
+ return (Set) beanManager.getBeans(type, bindings);
+ }
+
+ @SuppressWarnings("unchecked")
+ public static <T> Set<Bean<T>> getBeans(BeanManagerImpl beanManager, TypeLiteral<T> type, Annotation... bindings)
+ {
+ return (Set) beanManager.getBeans(type.getType(), bindings);
+ }
+
+ @SuppressWarnings("unchecked")
+ public static <T> T getReference(BeanManagerImpl beanManager, Class<T> beanType, Annotation... bindings)
+ {
+ Bean<?> bean = getBean(beanManager, beanType, bindings);
+ return (T) beanManager.getReference(bean, beanType, beanManager.createCreationalContext(bean));
+ }
+
+ @SuppressWarnings("unchecked")
+ public static <T> T getReference(BeanManagerImpl beanManager, Bean<T> bean)
+ {
+ return (T) beanManager.getReference(bean, bean.getBeanClass(), beanManager.createCreationalContext(bean));
+ }
+
+ @SuppressWarnings("unchecked")
+ public static <T> T evaluateValueExpression(BeanManagerImpl beanManager, String expression, Class<T> expectedType)
+ {
+ ELContext elContext = EL.createELContext(beanManager.getCurrent());
+ return (T) EL.EXPRESSION_FACTORY.createValueExpression(elContext, expression, expectedType).getValue(elContext);
+ }
+
+ public static boolean isProxy(Object proxy)
+ {
+ return proxy instanceof Proxy;
+ }
+}
Added: core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/activities/ActivitiesTest.java
===================================================================
--- core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/activities/ActivitiesTest.java (rev 0)
+++ core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/activities/ActivitiesTest.java 2010-07-28 10:18:08 UTC (rev 6820)
@@ -0,0 +1,365 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2010, Red Hat, Inc., and individual contributors
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * http://www.apache.org/licenses/LICENSE-2.0
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.jboss.weld.tests.activities;
+
+import java.lang.annotation.Annotation;
+import java.lang.reflect.Member;
+import java.lang.reflect.Type;
+import java.util.Collections;
+import java.util.HashSet;
+import java.util.Set;
+
+import javax.enterprise.context.Dependent;
+import javax.enterprise.context.spi.Context;
+import javax.enterprise.context.spi.Contextual;
+import javax.enterprise.context.spi.CreationalContext;
+import javax.enterprise.event.Reception;
+import javax.enterprise.event.TransactionPhase;
+import javax.enterprise.inject.UnsatisfiedResolutionException;
+import javax.enterprise.inject.spi.Annotated;
+import javax.enterprise.inject.spi.Bean;
+import javax.enterprise.inject.spi.BeanManager;
+import javax.enterprise.inject.spi.InjectionPoint;
+import javax.enterprise.inject.spi.ObserverMethod;
+import javax.enterprise.util.AnnotationLiteral;
+import javax.inject.Inject;
+
+import org.jboss.arquillian.api.Deployment;
+import org.jboss.arquillian.junit.Arquillian;
+import org.jboss.shrinkwrap.api.Archive;
+import org.jboss.shrinkwrap.api.BeanArchive;
+import org.jboss.shrinkwrap.api.ShrinkWrap;
+import org.jboss.weld.bean.ForwardingBean;
+import org.jboss.weld.literal.AnyLiteral;
+import org.jboss.weld.literal.DefaultLiteral;
+import org.jboss.weld.manager.BeanManagerImpl;
+import org.jboss.weld.test.Utils;
+import org.jboss.weld.util.collections.Arrays2;
+import org.junit.Assert;
+import org.junit.Test;
+import org.junit.runner.RunWith;
+
+/**
+ *
+ * Spec version: 20090519
+ *
+ */
+(a)RunWith(Arquillian.class)
+public class ActivitiesTest
+{
+ @Deployment
+ public static Archive<?> deploy()
+ {
+ return ShrinkWrap.create(BeanArchive.class)
+ .addPackage(ActivitiesTest.class.getPackage())
+ .addClass(Utils.class);
+ }
+
+ private static final Set<Annotation> DEFAULT_QUALIFIERS = Collections.<Annotation> singleton(DefaultLiteral.INSTANCE);
+
+ private Bean<?> createDummyBean(BeanManager beanManager, final Type injectionPointType)
+ {
+ final Set<InjectionPoint> injectionPoints = new HashSet<InjectionPoint>();
+ final Set<Type> types = new HashSet<Type>();
+ final Set<Annotation> bindings = new HashSet<Annotation>();
+ bindings.add(new AnnotationLiteral<Tame>()
+ {
+ });
+ types.add(Object.class);
+ final Bean<?> bean = new Bean<Object>()
+ {
+
+ public Set<Annotation> getQualifiers()
+ {
+ return bindings;
+ }
+
+ public Set<InjectionPoint> getInjectionPoints()
+ {
+ return injectionPoints;
+ }
+
+ public String getName()
+ {
+ return null;
+ }
+
+ public Class<? extends Annotation> getScope()
+ {
+ return Dependent.class;
+ }
+
+ public Set<Type> getTypes()
+ {
+ return types;
+ }
+
+ public boolean isNullable()
+ {
+ return false;
+ }
+
+ public Object create(CreationalContext<Object> creationalContext)
+ {
+ return null;
+ }
+
+ public void destroy(Object instance, CreationalContext<Object> creationalContext)
+ {
+
+ }
+
+ public Class<?> getBeanClass()
+ {
+ return Object.class;
+ }
+
+ public boolean isAlternative()
+ {
+ return false;
+ }
+
+ public Set<Class<? extends Annotation>> getStereotypes()
+ {
+ return Collections.emptySet();
+ }
+
+ };
+ InjectionPoint injectionPoint = new InjectionPoint()
+ {
+
+ public Bean<?> getBean()
+ {
+ return bean;
+ }
+
+ public Set<Annotation> getQualifiers()
+ {
+ return DEFAULT_QUALIFIERS;
+ }
+
+ public Member getMember()
+ {
+ return null;
+ }
+
+ public Type getType()
+ {
+ return injectionPointType;
+ }
+
+ public Annotated getAnnotated()
+ {
+ return null;
+ }
+
+ public boolean isDelegate()
+ {
+ return false;
+ }
+
+ public boolean isTransient()
+ {
+ return false;
+ }
+
+ };
+ injectionPoints.add(injectionPoint);
+ return bean;
+ }
+
+ private static class DummyContext implements Context
+ {
+
+ public <T> T get(Contextual<T> contextual)
+ {
+ return null;
+ }
+
+ public <T> T get(Contextual<T> contextual, CreationalContext<T> creationalContext)
+ {
+ return null;
+ }
+
+ public Class<? extends Annotation> getScope()
+ {
+ return Dummy.class;
+ }
+
+ public boolean isActive()
+ {
+ return false;
+ }
+
+ }
+
+ @Inject
+ private BeanManagerImpl beanManager;
+
+ @Test
+ public void testBeanBelongingToParentActivityBelongsToChildActivity()
+ {
+ Assert.assertEquals(1, beanManager.getBeans(Cow.class).size());
+ Contextual<?> bean = beanManager.getBeans(Cow.class).iterator().next();
+ BeanManager childActivity = beanManager.createActivity();
+ Assert.assertEquals(1, childActivity.getBeans(Cow.class).size());
+ Assert.assertEquals(bean, childActivity.getBeans(Cow.class).iterator().next());
+ }
+
+ @Test
+ public void testBeanBelongingToParentActivityCanBeInjectedIntoChildActivityBean()
+ {
+ Assert.assertEquals(1, beanManager.getBeans(Cow.class).size());
+ BeanManagerImpl childActivity = beanManager.createActivity();
+ Bean<?> dummyBean = createDummyBean(childActivity, Cow.class);
+ childActivity.addBean(dummyBean);
+ Assert.assertNotNull(
+ childActivity.getInjectableReference(
+ dummyBean.getInjectionPoints().iterator().next(),
+ childActivity.createCreationalContext(dummyBean)));
+ }
+
+ @Test
+ public void testObserverBelongingToParentActivityBelongsToChildActivity()
+ {
+ Assert.assertEquals(1, beanManager.resolveObserverMethods(new NightTime()).size());
+ ObserverMethod<?> observer = beanManager.resolveObserverMethods(new NightTime()).iterator().next();
+ BeanManager childActivity = beanManager.createActivity();
+ Assert.assertEquals(1, childActivity.resolveObserverMethods(new NightTime()).size());
+ Assert.assertEquals(observer, childActivity.resolveObserverMethods(new NightTime()).iterator().next());
+ }
+
+ @Test
+ public void testObserverBelongingToParentFiresForChildActivity()
+ {
+ Fox.setObserved(false);
+ BeanManager childActivity = beanManager.createActivity();
+ childActivity.fireEvent(new NightTime());
+ Assert.assertTrue(Fox.isObserved());
+ }
+
+ @Test
+ public void testContextObjectBelongingToParentBelongsToChild()
+ {
+ Context context = new DummyContext()
+ {
+
+ @Override
+ public boolean isActive()
+ {
+ return true;
+ }
+
+ };
+ beanManager.addContext(context);
+ BeanManager childActivity = beanManager.createActivity();
+ Assert.assertNotNull(childActivity.getContext(Dummy.class));
+ }
+
+ @Test
+ public void testBeanBelongingToChildActivityCannotBeInjectedIntoParentActivityBean()
+ {
+ Assert.assertEquals(1, beanManager.getBeans(Cow.class).size());
+ BeanManagerImpl childActivity = beanManager.createActivity();
+ Bean<?> dummyBean = createDummyBean(childActivity, Cow.class);
+ childActivity.addBean(dummyBean);
+ Assert.assertEquals(0, beanManager.getBeans(Object.class, new AnnotationLiteral<Tame>()
+ {
+ }).size());
+ }
+
+ @Test(expected = UnsatisfiedResolutionException.class)
+ public void testInstanceProcessedByParentActivity()
+ {
+ Context dummyContext = new DummyContext();
+ beanManager.addContext(dummyContext);
+ Assert.assertEquals(1, beanManager.getBeans(Cow.class).size());
+ final Bean<Cow> bean = (Bean<Cow>)beanManager.getBeans(Cow.class).iterator().next();
+ BeanManagerImpl childActivity = beanManager.createActivity();
+ final Set<Annotation> bindingTypes = new HashSet<Annotation>();
+ bindingTypes.add(new AnnotationLiteral<Tame>()
+ {
+ });
+ childActivity.addBean(new ForwardingBean<Cow>()
+ {
+
+ @Override
+ protected Bean<Cow> delegate()
+ {
+ return bean;
+ }
+
+ @Override
+ public Set<Annotation> getQualifiers()
+ {
+ return bindingTypes;
+ }
+
+ @Override
+ public Set<Class<? extends Annotation>> getStereotypes()
+ {
+ return Collections.emptySet();
+ }
+
+ });
+ Utils.getReference(beanManager, Field.class).get();
+ }
+
+ @Test
+ public void testObserverBelongingToChildDoesNotFireForParentActivity()
+ {
+ BeanManagerImpl childActivity = beanManager.createActivity();
+ ObserverMethod<NightTime> observer = new ObserverMethod<NightTime>()
+ {
+
+ public void notify(NightTime event)
+ {
+ assert false;
+ }
+
+ public Class<?> getBeanClass()
+ {
+ return NightTime.class;
+ }
+
+ public Set<Annotation> getObservedQualifiers()
+ {
+ return Arrays2.asSet(AnyLiteral.INSTANCE, DefaultLiteral.INSTANCE);
+ }
+
+ public Type getObservedType()
+ {
+ return NightTime.class;
+ }
+
+ public Reception getReception()
+ {
+ return Reception.ALWAYS;
+ }
+
+ public TransactionPhase getTransactionPhase()
+ {
+ return TransactionPhase.IN_PROGRESS;
+ }
+
+ };
+ // TODO Fix this test to use an observer method in a child activity
+ childActivity.addObserver(observer);
+ beanManager.fireEvent(new NightTime());
+ }
+
+}
Added: core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/activities/Cow.java
===================================================================
--- core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/activities/Cow.java (rev 0)
+++ core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/activities/Cow.java 2010-07-28 10:18:08 UTC (rev 6820)
@@ -0,0 +1,22 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2010, Red Hat, Inc., and individual contributors
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * http://www.apache.org/licenses/LICENSE-2.0
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.jboss.weld.tests.activities;
+
+class Cow
+{
+
+}
Added: core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/activities/Dummy.java
===================================================================
--- core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/activities/Dummy.java (rev 0)
+++ core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/activities/Dummy.java 2010-07-28 10:18:08 UTC (rev 6820)
@@ -0,0 +1,36 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2010, Red Hat, Inc., and individual contributors
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * http://www.apache.org/licenses/LICENSE-2.0
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.jboss.weld.tests.activities;
+
+import static java.lang.annotation.ElementType.FIELD;
+import static java.lang.annotation.ElementType.METHOD;
+import static java.lang.annotation.ElementType.TYPE;
+import static java.lang.annotation.RetentionPolicy.RUNTIME;
+
+import java.lang.annotation.Documented;
+import java.lang.annotation.Inherited;
+import java.lang.annotation.Retention;
+import java.lang.annotation.Target;
+
+import javax.inject.Scope;
+
+@Target( { TYPE, METHOD, FIELD })
+@Retention(RUNTIME)
+@Documented
+@Scope
+@Inherited
+@interface Dummy {}
\ No newline at end of file
Added: core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/activities/Field.java
===================================================================
--- core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/activities/Field.java (rev 0)
+++ core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/activities/Field.java 2010-07-28 10:18:08 UTC (rev 6820)
@@ -0,0 +1,32 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2010, Red Hat, Inc., and individual contributors
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * http://www.apache.org/licenses/LICENSE-2.0
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.jboss.weld.tests.activities;
+
+import javax.enterprise.inject.Instance;
+import javax.inject.Inject;
+
+class Field
+{
+
+ @Inject @Tame Instance<Cow> instance;
+
+ public Cow get()
+ {
+ return instance.get();
+ }
+
+}
Added: core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/activities/Fox.java
===================================================================
--- core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/activities/Fox.java (rev 0)
+++ core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/activities/Fox.java 2010-07-28 10:18:08 UTC (rev 6820)
@@ -0,0 +1,41 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2010, Red Hat, Inc., and individual contributors
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * http://www.apache.org/licenses/LICENSE-2.0
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.jboss.weld.tests.activities;
+
+import javax.enterprise.event.Observes;
+
+class Fox
+{
+
+ private static boolean observed = false;
+
+ public void observe(@Observes NightTime nighttime)
+ {
+ observed = true;
+ }
+
+ public static boolean isObserved()
+ {
+ return observed;
+ }
+
+ public static void setObserved(boolean observed)
+ {
+ Fox.observed = observed;
+ }
+
+}
Added: core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/activities/NightTime.java
===================================================================
--- core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/activities/NightTime.java (rev 0)
+++ core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/activities/NightTime.java 2010-07-28 10:18:08 UTC (rev 6820)
@@ -0,0 +1,22 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2010, Red Hat, Inc., and individual contributors
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * http://www.apache.org/licenses/LICENSE-2.0
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.jboss.weld.tests.activities;
+
+class NightTime
+{
+
+}
Added: core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/activities/Tame.java
===================================================================
--- core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/activities/Tame.java (rev 0)
+++ core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/activities/Tame.java 2010-07-28 10:18:08 UTC (rev 6820)
@@ -0,0 +1,38 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2010, Red Hat, Inc., and individual contributors
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * http://www.apache.org/licenses/LICENSE-2.0
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.jboss.weld.tests.activities;
+
+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.inject.Qualifier;
+
+@Target( { TYPE, METHOD, PARAMETER, FIELD })
+@Retention(RUNTIME)
+@Documented
+@Qualifier
+@interface Tame
+{
+
+}
Added: core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/activities/child/BeanWithInjection.java
===================================================================
--- core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/activities/child/BeanWithInjection.java (rev 0)
+++ core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/activities/child/BeanWithInjection.java 2010-07-28 10:18:08 UTC (rev 6820)
@@ -0,0 +1,23 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2010, Red Hat, Inc., and individual contributors
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * http://www.apache.org/licenses/LICENSE-2.0
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.jboss.weld.tests.activities.child;
+
+class BeanWithInjection
+{
+ @SpecialBindingType
+ protected MyBean myBean;
+}
Added: core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/activities/child/MyBean.java
===================================================================
--- core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/activities/child/MyBean.java (rev 0)
+++ core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/activities/child/MyBean.java 2010-07-28 10:18:08 UTC (rev 6820)
@@ -0,0 +1,23 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2010, Red Hat, Inc., and individual contributors
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * http://www.apache.org/licenses/LICENSE-2.0
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.jboss.weld.tests.activities.child;
+
+@SpecialBindingType
+class MyBean
+{
+
+}
Added: core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/activities/child/SameBeanTypeInChildActivityTest.java
===================================================================
--- core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/activities/child/SameBeanTypeInChildActivityTest.java (rev 0)
+++ core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/activities/child/SameBeanTypeInChildActivityTest.java 2010-07-28 10:18:08 UTC (rev 6820)
@@ -0,0 +1,153 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2010, Red Hat, Inc., and individual contributors
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * http://www.apache.org/licenses/LICENSE-2.0
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.jboss.weld.tests.activities.child;
+
+import java.lang.annotation.Annotation;
+import java.lang.reflect.Type;
+import java.util.Collections;
+import java.util.HashSet;
+import java.util.Set;
+
+import javax.enterprise.context.Dependent;
+import javax.enterprise.context.spi.CreationalContext;
+import javax.enterprise.inject.InjectionException;
+import javax.enterprise.inject.spi.Bean;
+import javax.enterprise.inject.spi.BeanManager;
+import javax.enterprise.inject.spi.InjectionPoint;
+import javax.enterprise.util.AnnotationLiteral;
+import javax.inject.Inject;
+
+import org.jboss.arquillian.api.Deployment;
+import org.jboss.arquillian.junit.Arquillian;
+import org.jboss.shrinkwrap.api.Archive;
+import org.jboss.shrinkwrap.api.BeanArchive;
+import org.jboss.shrinkwrap.api.ShrinkWrap;
+import org.jboss.weld.literal.DefaultLiteral;
+import org.jboss.weld.manager.BeanManagerImpl;
+import org.jboss.weld.tests.category.Broken;
+import org.junit.Test;
+import org.junit.experimental.categories.Category;
+import org.junit.runner.RunWith;
+
+/**
+ *
+ * Spec version: 20090519
+ *
+ */
+(a)RunWith(Arquillian.class)
+public class SameBeanTypeInChildActivityTest
+{
+ @Deployment
+ public static Archive<?> deploy()
+ {
+ return ShrinkWrap.create(BeanArchive.class)
+ .addPackage(SameBeanTypeInChildActivityTest.class.getPackage());
+ }
+
+ private static final Set<Annotation> DEFAULT_QUALIFIERS = Collections.<Annotation>singleton(DefaultLiteral.INSTANCE);
+
+ private Bean<?> createDummyBean(BeanManager beanManager)
+ {
+ final Set<InjectionPoint> injectionPoints = new HashSet<InjectionPoint>();
+ final Set<Type> types = new HashSet<Type>();
+ final Set<Annotation> bindings = new HashSet<Annotation>();
+ bindings.add(new AnnotationLiteral<SpecialBindingType>() {});
+ types.add(Object.class);
+ final Bean<?> bean = new Bean<MyBean>()
+ {
+
+ public Set<Annotation> getQualifiers()
+ {
+ return bindings;
+ }
+
+ public Set<InjectionPoint> getInjectionPoints()
+ {
+ return injectionPoints;
+ }
+
+ public String getName()
+ {
+ return null;
+ }
+
+ public Class<? extends Annotation> getScope()
+ {
+ return Dependent.class;
+ }
+
+ public Set<Type> getTypes()
+ {
+ return types;
+ }
+
+ public boolean isNullable()
+ {
+ return false;
+ }
+
+ public MyBean create(CreationalContext<MyBean> creationalContext)
+ {
+ return null;
+ }
+
+ public void destroy(MyBean instance, CreationalContext<MyBean> creationalContext)
+ {
+
+ }
+
+ public Class<?> getBeanClass()
+ {
+ return MyBean.class;
+ }
+
+ public boolean isAlternative()
+ {
+ return false;
+ }
+
+ public Set<Class<? extends Annotation>> getStereotypes()
+ {
+ return Collections.emptySet();
+ }
+
+ };
+ return bean;
+ }
+
+ @Inject
+ private BeanManagerImpl beanManager;
+
+ @Test(expected = InjectionException.class)
+ @Category(Broken.class)
+ public void testSameBeanTypeInChildAsParentInjection()
+ {
+ BeanManagerImpl childActivity = beanManager.createActivity();
+ Bean<?> anotherMyBean = createDummyBean(childActivity);
+ childActivity.addBean(anotherMyBean);
+ }
+
+ @Test(expected = InjectionException.class)
+ @Category(Broken.class)
+ public void testSameBeanTypeInChildAsIndirectParentInjection()
+ {
+ BeanManagerImpl childActivity = beanManager.createActivity();
+ BeanManagerImpl grandChildActivity = childActivity.createActivity();
+ Bean<?> anotherMyBean = createDummyBean(grandChildActivity);
+ grandChildActivity.addBean(anotherMyBean);
+ }
+}
Added: core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/activities/child/SpecialBindingType.java
===================================================================
--- core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/activities/child/SpecialBindingType.java (rev 0)
+++ core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/activities/child/SpecialBindingType.java 2010-07-28 10:18:08 UTC (rev 6820)
@@ -0,0 +1,36 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2010, Red Hat, Inc., and individual contributors
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * http://www.apache.org/licenses/LICENSE-2.0
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.jboss.weld.tests.activities.child;
+
+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.Retention;
+import java.lang.annotation.Target;
+
+import javax.inject.Qualifier;
+
+@Retention(RUNTIME)
+@Target({TYPE, METHOD, FIELD, PARAMETER})
+@Qualifier
+@interface SpecialBindingType
+{
+
+}
Added: core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/activities/current/Cow.java
===================================================================
--- core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/activities/current/Cow.java (rev 0)
+++ core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/activities/current/Cow.java 2010-07-28 10:18:08 UTC (rev 6820)
@@ -0,0 +1,22 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2010, Red Hat, Inc., and individual contributors
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * http://www.apache.org/licenses/LICENSE-2.0
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.jboss.weld.tests.activities.current;
+
+class Cow
+{
+
+}
Added: core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/activities/current/Donkey.java
===================================================================
--- core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/activities/current/Donkey.java (rev 0)
+++ core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/activities/current/Donkey.java 2010-07-28 10:18:08 UTC (rev 6820)
@@ -0,0 +1,38 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2010, Red Hat, Inc., and individual contributors
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * http://www.apache.org/licenses/LICENSE-2.0
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.jboss.weld.tests.activities.current;
+
+import javax.enterprise.inject.spi.BeanManager;
+import javax.naming.InitialContext;
+import javax.naming.NamingException;
+
+class Donkey
+{
+
+ BeanManager beanManager;
+
+ public Donkey() throws NamingException
+ {
+ beanManager = (BeanManager) new InitialContext().lookup("java:comp/BeanManager");
+ }
+
+ public BeanManager getManager()
+ {
+ return beanManager;
+ }
+
+}
Added: core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/activities/current/Dummy.java
===================================================================
--- core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/activities/current/Dummy.java (rev 0)
+++ core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/activities/current/Dummy.java 2010-07-28 10:18:08 UTC (rev 6820)
@@ -0,0 +1,36 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2010, Red Hat, Inc., and individual contributors
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * http://www.apache.org/licenses/LICENSE-2.0
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.jboss.weld.tests.activities.current;
+
+import static java.lang.annotation.ElementType.FIELD;
+import static java.lang.annotation.ElementType.METHOD;
+import static java.lang.annotation.ElementType.TYPE;
+import static java.lang.annotation.RetentionPolicy.RUNTIME;
+
+import java.lang.annotation.Documented;
+import java.lang.annotation.Inherited;
+import java.lang.annotation.Retention;
+import java.lang.annotation.Target;
+
+import javax.enterprise.context.NormalScope;
+
+@Target( { TYPE, METHOD, FIELD })
+@Retention(RUNTIME)
+@Documented
+@NormalScope
+@Inherited
+@interface Dummy {}
\ No newline at end of file
Added: core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/activities/current/Dusk.java
===================================================================
--- core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/activities/current/Dusk.java (rev 0)
+++ core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/activities/current/Dusk.java 2010-07-28 10:18:08 UTC (rev 6820)
@@ -0,0 +1,34 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2010, Red Hat, Inc., and individual contributors
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * http://www.apache.org/licenses/LICENSE-2.0
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.jboss.weld.tests.activities.current;
+
+import javax.enterprise.event.Event;
+import javax.enterprise.inject.Any;
+import javax.inject.Inject;
+
+class Dusk
+{
+
+ @Inject
+ public Dusk(@Any Event<NightTime> event)
+ {
+ event.fire(new NightTime());
+ }
+
+ public void ping() {}
+
+}
Added: core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/activities/current/ELCurrentActivityTest.java
===================================================================
--- core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/activities/current/ELCurrentActivityTest.java (rev 0)
+++ core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/activities/current/ELCurrentActivityTest.java 2010-07-28 10:18:08 UTC (rev 6820)
@@ -0,0 +1,194 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2010, Red Hat, Inc., and individual contributors
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * http://www.apache.org/licenses/LICENSE-2.0
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.jboss.weld.tests.activities.current;
+
+import java.lang.annotation.Annotation;
+import java.lang.reflect.Type;
+import java.util.Collections;
+import java.util.HashSet;
+import java.util.Set;
+
+import javax.enterprise.context.Dependent;
+import javax.enterprise.context.spi.Context;
+import javax.enterprise.context.spi.Contextual;
+import javax.enterprise.context.spi.CreationalContext;
+import javax.enterprise.inject.spi.Bean;
+import javax.enterprise.inject.spi.BeanManager;
+import javax.enterprise.inject.spi.InjectionPoint;
+import javax.enterprise.util.AnnotationLiteral;
+import javax.inject.Inject;
+
+import org.jboss.arquillian.api.Deployment;
+import org.jboss.arquillian.junit.Arquillian;
+import org.jboss.shrinkwrap.api.Archive;
+import org.jboss.shrinkwrap.api.BeanArchive;
+import org.jboss.shrinkwrap.api.ShrinkWrap;
+import org.jboss.weld.manager.BeanManagerImpl;
+import org.jboss.weld.mock.el.EL;
+import org.jboss.weld.test.Utils;
+import org.junit.Assert;
+import org.junit.Test;
+import org.junit.runner.RunWith;
+
+import com.sun.el.ExpressionFactoryImpl;
+
+/**
+ *
+ * Spec version: 20090519
+ *
+ */
+(a)RunWith(Arquillian.class)
+public class ELCurrentActivityTest
+{
+ @Deployment
+ public static Archive<?> deploy()
+ {
+ return ShrinkWrap.create(BeanArchive.class)
+ .addPackage(ELCurrentActivityTest.class.getPackage())
+ .addClasses(Utils.class, EL.class)
+ .addPackages(true, ExpressionFactoryImpl.class.getPackage());
+ }
+
+ private static class DummyContext implements Context
+ {
+ private boolean active = true;
+
+ public <T> T get(Contextual<T> contextual)
+ {
+ return null;
+ }
+
+ public <T> T get(Contextual<T> contextual, CreationalContext<T> creationalContext)
+ {
+ return null;
+ }
+
+ public Class<? extends Annotation> getScope()
+ {
+ return Dummy.class;
+ }
+
+ public boolean isActive()
+ {
+ return active;
+ }
+
+ public void setActive(boolean active)
+ {
+ this.active = active;
+ }
+
+ }
+
+ private static class Daisy implements Bean<Cow>
+ {
+
+ private static final Set<Type> TYPES = new HashSet<Type>();
+
+ private final static Set<Annotation> BINDING_TYPES = new HashSet<Annotation>();
+
+
+ static
+ {
+ TYPES.add(Cow.class);
+ TYPES.add(Object.class);
+ BINDING_TYPES.add(new AnnotationLiteral<Tame>() {});
+ }
+
+ public Daisy(BeanManager beanManager)
+ {
+ }
+
+ public Set<Annotation> getQualifiers()
+ {
+ return BINDING_TYPES;
+ }
+
+ public Set<InjectionPoint> getInjectionPoints()
+ {
+ return Collections.emptySet();
+ }
+
+ public String getName()
+ {
+ return "daisy";
+ }
+
+ public Class<? extends Annotation> getScope()
+ {
+ return Dependent.class;
+ }
+
+ public Set<Type> getTypes()
+ {
+ return TYPES;
+ }
+
+ public boolean isNullable()
+ {
+ return true;
+ }
+
+ public boolean isSerializable()
+ {
+ return false;
+ }
+
+ public Cow create(CreationalContext<Cow> creationalContext)
+ {
+ return new Cow();
+ }
+
+ public void destroy(Cow instance, CreationalContext<Cow> creationalContext)
+ {
+ // TODO Auto-generated method stub
+
+ }
+
+ public Class<?> getBeanClass()
+ {
+ return Cow.class;
+ }
+
+ public boolean isAlternative()
+ {
+ return false;
+ }
+
+ public Set<Class<? extends Annotation>> getStereotypes()
+ {
+ return Collections.emptySet();
+ }
+
+ }
+
+ @Inject
+ private BeanManagerImpl beanManager;
+
+ @Test
+ public void testELEvaluationProcessedByCurrentActivty()
+ {
+ Context dummyContext = new DummyContext();
+ beanManager.addContext(dummyContext);
+ Assert.assertEquals(1, beanManager.getBeans(Cow.class).size());
+ BeanManagerImpl childActivity = beanManager.createActivity();
+ childActivity.addBean(new Daisy(childActivity));
+ childActivity.setCurrent(dummyContext.getScope());
+ Assert.assertNotNull(Utils.evaluateValueExpression(beanManager, "#{daisy}", Cow.class));
+ }
+
+}
Added: core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/activities/current/EventCurrentActivityTest.java
===================================================================
--- core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/activities/current/EventCurrentActivityTest.java (rev 0)
+++ core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/activities/current/EventCurrentActivityTest.java 2010-07-28 10:18:08 UTC (rev 6820)
@@ -0,0 +1,142 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2010, Red Hat, Inc., and individual contributors
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * http://www.apache.org/licenses/LICENSE-2.0
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.jboss.weld.tests.activities.current;
+
+import java.lang.annotation.Annotation;
+import java.lang.reflect.Type;
+import java.util.Collections;
+import java.util.Set;
+
+import javax.enterprise.context.spi.Context;
+import javax.enterprise.context.spi.Contextual;
+import javax.enterprise.context.spi.CreationalContext;
+import javax.enterprise.event.Reception;
+import javax.enterprise.event.TransactionPhase;
+import javax.inject.Inject;
+
+import org.jboss.arquillian.api.Deployment;
+import org.jboss.arquillian.junit.Arquillian;
+import org.jboss.shrinkwrap.api.Archive;
+import org.jboss.shrinkwrap.api.BeanArchive;
+import org.jboss.shrinkwrap.api.ShrinkWrap;
+import org.jboss.weld.literal.AnyLiteral;
+import org.jboss.weld.manager.BeanManagerImpl;
+import org.jboss.weld.test.Utils;
+import org.jboss.weld.tests.category.Broken;
+import org.junit.Assert;
+import org.junit.Test;
+import org.junit.experimental.categories.Category;
+import org.junit.runner.RunWith;
+
+/**
+ *
+ * Spec version: 20090519
+ *
+ */
+(a)RunWith(Arquillian.class)
+public class EventCurrentActivityTest
+{
+ @Deployment
+ public static Archive<?> deploy()
+ {
+ return ShrinkWrap.create(BeanArchive.class)
+ .addPackage(EventCurrentActivityTest.class.getPackage())
+ .addClasses(Utils.class);
+ }
+
+ private static class DummyContext implements Context
+ {
+
+ public <T> T get(Contextual<T> contextual)
+ {
+ return null;
+ }
+
+ public <T> T get(Contextual<T> contextual, CreationalContext<T> creationalContext)
+ {
+ return null;
+ }
+
+ public Class<? extends Annotation> getScope()
+ {
+ return Dummy.class;
+ }
+
+ public boolean isActive()
+ {
+ return true;
+ }
+
+ }
+
+ @Inject
+ private BeanManagerImpl beanManager;
+
+ @Test
+ @Category(Broken.class)
+ public void testEventProcessedByCurrentActivity()
+ {
+ DummyContext dummyContext = new DummyContext();
+ beanManager.addContext(dummyContext);
+ BeanManagerImpl childActivity = beanManager.createActivity();
+ TestableObserverMethod<NightTime> observer = new TestableObserverMethod<NightTime>()
+ {
+
+ boolean observed = false;
+
+ public void notify(NightTime event)
+ {
+ observed = true;
+ }
+
+ public boolean isObserved()
+ {
+ return observed;
+ }
+
+ public Class<?> getBeanClass()
+ {
+ return NightTime.class;
+ }
+
+ public Set<Annotation> getObservedQualifiers()
+ {
+ return Collections.<Annotation>singleton(AnyLiteral.INSTANCE);
+ }
+
+ public Type getObservedType()
+ {
+ return NightTime.class;
+ }
+
+ public Reception getReception()
+ {
+ return Reception.ALWAYS;
+ }
+
+ public TransactionPhase getTransactionPhase()
+ {
+ return TransactionPhase.IN_PROGRESS;
+ }
+
+ };
+ childActivity.addObserver(observer);
+ childActivity.setCurrent(dummyContext.getScope());
+ Utils.getReference(beanManager, Dusk.class).ping();
+ Assert.assertTrue(observer.isObserved());
+ }
+}
Added: core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/activities/current/Field.java
===================================================================
--- core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/activities/current/Field.java (rev 0)
+++ core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/activities/current/Field.java 2010-07-28 10:18:08 UTC (rev 6820)
@@ -0,0 +1,32 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2010, Red Hat, Inc., and individual contributors
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * http://www.apache.org/licenses/LICENSE-2.0
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.jboss.weld.tests.activities.current;
+
+import javax.enterprise.inject.Instance;
+import javax.inject.Inject;
+
+class Field
+{
+
+ @Inject @Tame Instance<Cow> instance;
+
+ public Cow get()
+ {
+ return instance.get();
+ }
+
+}
Added: core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/activities/current/Horse.java
===================================================================
--- core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/activities/current/Horse.java (rev 0)
+++ core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/activities/current/Horse.java 2010-07-28 10:18:08 UTC (rev 6820)
@@ -0,0 +1,32 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2010, Red Hat, Inc., and individual contributors
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * http://www.apache.org/licenses/LICENSE-2.0
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.jboss.weld.tests.activities.current;
+
+import javax.enterprise.inject.spi.BeanManager;
+import javax.inject.Inject;
+
+class Horse
+{
+
+ @Inject BeanManager beanManager;
+
+ public BeanManager getManager()
+ {
+ return beanManager;
+ }
+
+}
Added: core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/activities/current/InactiveScopeTest.java
===================================================================
--- core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/activities/current/InactiveScopeTest.java (rev 0)
+++ core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/activities/current/InactiveScopeTest.java 2010-07-28 10:18:08 UTC (rev 6820)
@@ -0,0 +1,97 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2010, Red Hat, Inc., and individual contributors
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * http://www.apache.org/licenses/LICENSE-2.0
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.jboss.weld.tests.activities.current;
+
+import java.lang.annotation.Annotation;
+
+import javax.enterprise.context.ContextNotActiveException;
+import javax.enterprise.context.spi.Context;
+import javax.enterprise.context.spi.Contextual;
+import javax.enterprise.context.spi.CreationalContext;
+import javax.inject.Inject;
+
+import org.jboss.arquillian.api.Deployment;
+import org.jboss.arquillian.junit.Arquillian;
+import org.jboss.shrinkwrap.api.Archive;
+import org.jboss.shrinkwrap.api.BeanArchive;
+import org.jboss.shrinkwrap.api.ShrinkWrap;
+import org.jboss.weld.manager.BeanManagerImpl;
+import org.jboss.weld.manager.api.WeldManager;
+import org.junit.Test;
+import org.junit.runner.RunWith;
+
+/**
+ *
+ * Spec version: 20090519
+ *
+ */
+(a)RunWith(Arquillian.class)
+public class InactiveScopeTest
+{
+ @Deployment
+ public static Archive<?> deploy()
+ {
+ return ShrinkWrap.create(BeanArchive.class)
+ .addPackage(InactiveScopeTest.class.getPackage());
+ }
+
+ private static class DummyContext implements Context
+ {
+
+ private boolean active = true;
+
+ public <T> T get(Contextual<T> contextual)
+ {
+ return null;
+ }
+
+ public <T> T get(Contextual<T> contextual, CreationalContext<T> creationalContext)
+ {
+ return null;
+ }
+
+ public Class<? extends Annotation> getScope()
+ {
+ return Dummy.class;
+ }
+
+ public boolean isActive()
+ {
+ return active;
+ }
+
+ public void setActive(boolean active)
+ {
+ this.active = active;
+ }
+
+ }
+
+ @Inject
+ private BeanManagerImpl beanManager;
+
+ @Test(expected = ContextNotActiveException.class)
+ public void testInactiveScope()
+ {
+ DummyContext dummyContext = new DummyContext();
+ dummyContext.setActive(false);
+ beanManager.addContext(dummyContext);
+ WeldManager childActivity = beanManager.createActivity();
+ childActivity.setCurrent(dummyContext.getScope());
+ }
+
+}
Added: core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/activities/current/InjectedManagerCurrentActivityTest.java
===================================================================
--- core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/activities/current/InjectedManagerCurrentActivityTest.java (rev 0)
+++ core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/activities/current/InjectedManagerCurrentActivityTest.java 2010-07-28 10:18:08 UTC (rev 6820)
@@ -0,0 +1,100 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2010, Red Hat, Inc., and individual contributors
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * http://www.apache.org/licenses/LICENSE-2.0
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.jboss.weld.tests.activities.current;
+
+import java.lang.annotation.Annotation;
+
+import javax.enterprise.context.spi.Context;
+import javax.enterprise.context.spi.Contextual;
+import javax.enterprise.context.spi.CreationalContext;
+import javax.inject.Inject;
+
+import org.jboss.arquillian.api.Deployment;
+import org.jboss.arquillian.junit.Arquillian;
+import org.jboss.shrinkwrap.api.Archive;
+import org.jboss.shrinkwrap.api.BeanArchive;
+import org.jboss.shrinkwrap.api.ShrinkWrap;
+import org.jboss.weld.manager.BeanManagerImpl;
+import org.jboss.weld.manager.api.WeldManager;
+import org.jboss.weld.test.Utils;
+import org.junit.Assert;
+import org.junit.Test;
+import org.junit.runner.RunWith;
+
+/**
+ *
+ * Spec version: 20090519
+ *
+ */
+(a)RunWith(Arquillian.class)
+public class InjectedManagerCurrentActivityTest
+{
+ @Deployment
+ public static Archive<?> deploy()
+ {
+ return ShrinkWrap.create(BeanArchive.class)
+ .addPackage(InjectedManagerCurrentActivityTest.class.getPackage())
+ .addClass(Utils.class);
+ }
+
+ private static class DummyContext implements Context
+ {
+
+ private boolean active = true;
+
+ public <T> T get(Contextual<T> contextual)
+ {
+ return null;
+ }
+
+ public <T> T get(Contextual<T> contextual, CreationalContext<T> creationalContext)
+ {
+ return null;
+ }
+
+ public Class<? extends Annotation> getScope()
+ {
+ return Dummy.class;
+ }
+
+ public boolean isActive()
+ {
+ return active;
+ }
+
+ public void setActive(boolean active)
+ {
+ this.active = active;
+ }
+
+ }
+
+ @Inject
+ private BeanManagerImpl beanManager;
+
+ @Test
+ public void testInjectedManagerIsCurrentActivity()
+ {
+ Context dummyContext = new DummyContext();
+ beanManager.addContext(dummyContext);
+ Assert.assertEquals(1, beanManager.getBeans(Cow.class).size());
+ WeldManager childActivity = beanManager.createActivity();
+ childActivity.setCurrent(dummyContext.getScope());
+ Assert.assertEquals(childActivity, Utils.getReference(beanManager, Horse.class).getManager());
+ }
+
+}
Added: core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/activities/current/InstanceCurrentActivityTest.java
===================================================================
--- core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/activities/current/InstanceCurrentActivityTest.java (rev 0)
+++ core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/activities/current/InstanceCurrentActivityTest.java 2010-07-28 10:18:08 UTC (rev 6820)
@@ -0,0 +1,199 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2010, Red Hat, Inc., and individual contributors
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * http://www.apache.org/licenses/LICENSE-2.0
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.jboss.weld.tests.activities.current;
+
+import java.lang.annotation.Annotation;
+import java.lang.reflect.Type;
+import java.util.Collections;
+import java.util.HashSet;
+import java.util.Set;
+
+import javax.enterprise.context.Dependent;
+import javax.enterprise.context.spi.Context;
+import javax.enterprise.context.spi.Contextual;
+import javax.enterprise.context.spi.CreationalContext;
+import javax.enterprise.inject.spi.Bean;
+import javax.enterprise.inject.spi.BeanManager;
+import javax.enterprise.inject.spi.InjectionPoint;
+import javax.enterprise.util.AnnotationLiteral;
+import javax.inject.Inject;
+
+import org.jboss.arquillian.api.Deployment;
+import org.jboss.arquillian.junit.Arquillian;
+import org.jboss.shrinkwrap.api.Archive;
+import org.jboss.shrinkwrap.api.BeanArchive;
+import org.jboss.shrinkwrap.api.ShrinkWrap;
+import org.jboss.weld.manager.BeanManagerImpl;
+import org.jboss.weld.test.Utils;
+import org.junit.Assert;
+import org.junit.Test;
+import org.junit.runner.RunWith;
+
+/**
+ *
+ * Spec version: 20090519
+ *
+ */
+(a)RunWith(Arquillian.class)
+public class InstanceCurrentActivityTest
+{
+ @Deployment
+ public static Archive<?> deploy()
+ {
+ return ShrinkWrap.create(BeanArchive.class)
+ .addPackage(InstanceCurrentActivityTest.class.getPackage())
+ .addClass(Utils.class);
+ }
+
+ public static class TameLiteral extends AnnotationLiteral<Tame> implements Tame {}
+
+ private static class DummyContext implements Context
+ {
+
+ private boolean active = true;
+
+ public <T> T get(Contextual<T> contextual)
+ {
+ return null;
+ }
+
+ public <T> T get(Contextual<T> contextual, CreationalContext<T> creationalContext)
+ {
+ return null;
+ }
+
+ public Class<? extends Annotation> getScope()
+ {
+ return Dummy.class;
+ }
+
+ public boolean isActive()
+ {
+ return active;
+ }
+
+ public void setActive(boolean active)
+ {
+ this.active = active;
+ }
+
+ }
+
+ private static class NonNormalContext extends DummyContext
+ {
+
+ @Override
+ public Class<? extends Annotation> getScope()
+ {
+ return NonNormalScope.class;
+ }
+
+ }
+
+ private static class Daisy implements Bean<Cow>
+ {
+
+ private static final Set<Type> TYPES = new HashSet<Type>();
+
+ private final static Set<Annotation> BINDING_TYPES = new HashSet<Annotation>();
+
+
+ static
+ {
+ TYPES.add(Cow.class);
+ TYPES.add(Object.class);
+ BINDING_TYPES.add(new TameLiteral());
+ }
+
+ public Daisy(BeanManager beanManager)
+ {
+ }
+
+ public Set<Annotation> getQualifiers()
+ {
+ return BINDING_TYPES;
+ }
+
+ public Set<InjectionPoint> getInjectionPoints()
+ {
+ return Collections.emptySet();
+ }
+
+ public String getName()
+ {
+ return "daisy";
+ }
+
+ public Class<? extends Annotation> getScope()
+ {
+ return Dependent.class;
+ }
+
+ public Set<Type> getTypes()
+ {
+ return TYPES;
+ }
+
+ public boolean isNullable()
+ {
+ return true;
+ }
+
+ public Cow create(CreationalContext<Cow> creationalContext)
+ {
+ return new Cow();
+ }
+
+ public void destroy(Cow instance, CreationalContext<Cow> creationalContext)
+ {
+ // TODO Auto-generated method stub
+
+ }
+
+ public Class<?> getBeanClass()
+ {
+ return Cow.class;
+ }
+
+ public boolean isAlternative()
+ {
+ return false;
+ }
+
+ public Set<Class<? extends Annotation>> getStereotypes()
+ {
+ return Collections.emptySet();
+ }
+
+ }
+
+ @Inject
+ private BeanManagerImpl beanManager;
+
+ @Test
+ public void testInstanceProcessedByCurrentActivity()
+ {
+ Context dummyContext = new DummyContext();
+ beanManager.addContext(dummyContext);
+ Assert.assertEquals(1, beanManager.getBeans(Cow.class).size());
+ BeanManagerImpl childActivity = beanManager.createActivity();
+ childActivity.addBean(new Daisy(childActivity));
+ childActivity.setCurrent(dummyContext.getScope());
+ Assert.assertNotNull(Utils.getReference(beanManager, Field.class).get());
+ }
+
+}
Added: core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/activities/current/JndiManagerCurrentActivityTest.java
===================================================================
--- core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/activities/current/JndiManagerCurrentActivityTest.java (rev 0)
+++ core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/activities/current/JndiManagerCurrentActivityTest.java 2010-07-28 10:18:08 UTC (rev 6820)
@@ -0,0 +1,102 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2010, Red Hat, Inc., and individual contributors
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * http://www.apache.org/licenses/LICENSE-2.0
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.jboss.weld.tests.activities.current;
+
+import java.lang.annotation.Annotation;
+
+import javax.enterprise.context.spi.Context;
+import javax.enterprise.context.spi.Contextual;
+import javax.enterprise.context.spi.CreationalContext;
+import javax.inject.Inject;
+
+import org.jboss.arquillian.api.Deployment;
+import org.jboss.arquillian.junit.Arquillian;
+import org.jboss.shrinkwrap.api.Archive;
+import org.jboss.shrinkwrap.api.BeanArchive;
+import org.jboss.shrinkwrap.api.ShrinkWrap;
+import org.jboss.weld.manager.BeanManagerImpl;
+import org.jboss.weld.manager.api.WeldManager;
+import org.jboss.weld.test.Utils;
+import org.jboss.weld.tests.category.Integration;
+import org.junit.Assert;
+import org.junit.Test;
+import org.junit.experimental.categories.Category;
+import org.junit.runner.RunWith;
+
+/**
+ *
+ * Spec version: 20090519
+ *
+ */
+(a)Category(Integration.class)
+(a)RunWith(Arquillian.class)
+public class JndiManagerCurrentActivityTest
+{
+ @Deployment
+ public static Archive<?> deploy()
+ {
+ return ShrinkWrap.create(BeanArchive.class)
+ .addPackage(JndiManagerCurrentActivityTest.class.getPackage())
+ .addClass(Utils.class);
+ }
+
+ private static class DummyContext implements Context
+ {
+
+ private boolean active = true;
+
+ public <T> T get(Contextual<T> contextual)
+ {
+ return null;
+ }
+
+ public <T> T get(Contextual<T> contextual, CreationalContext<T> creationalContext)
+ {
+ return null;
+ }
+
+ public Class<? extends Annotation> getScope()
+ {
+ return Dummy.class;
+ }
+
+ public boolean isActive()
+ {
+ return active;
+ }
+
+ public void setActive(boolean active)
+ {
+ this.active = active;
+ }
+
+ }
+
+ @Inject
+ private BeanManagerImpl beanManager;
+
+ @Test
+ public void testJndiManagerIsCurrentActivity()
+ {
+ Context dummyContext = new DummyContext();
+ beanManager.addContext(dummyContext);
+ Assert.assertEquals(1, beanManager.getBeans(Cow.class).size());
+ WeldManager childActivity = beanManager.createActivity();
+ childActivity.setCurrent(dummyContext.getScope());
+ Assert.assertEquals(childActivity, Utils.getReference(beanManager, Donkey.class).getManager());
+ }
+}
Added: core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/activities/current/NightTime.java
===================================================================
--- core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/activities/current/NightTime.java (rev 0)
+++ core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/activities/current/NightTime.java 2010-07-28 10:18:08 UTC (rev 6820)
@@ -0,0 +1,22 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2010, Red Hat, Inc., and individual contributors
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * http://www.apache.org/licenses/LICENSE-2.0
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.jboss.weld.tests.activities.current;
+
+class NightTime
+{
+
+}
Added: core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/activities/current/NonNormalScope.java
===================================================================
--- core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/activities/current/NonNormalScope.java (rev 0)
+++ core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/activities/current/NonNormalScope.java 2010-07-28 10:18:08 UTC (rev 6820)
@@ -0,0 +1,36 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2010, Red Hat, Inc., and individual contributors
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * http://www.apache.org/licenses/LICENSE-2.0
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.jboss.weld.tests.activities.current;
+
+import static java.lang.annotation.ElementType.FIELD;
+import static java.lang.annotation.ElementType.METHOD;
+import static java.lang.annotation.ElementType.TYPE;
+import static java.lang.annotation.RetentionPolicy.RUNTIME;
+
+import java.lang.annotation.Documented;
+import java.lang.annotation.Inherited;
+import java.lang.annotation.Retention;
+import java.lang.annotation.Target;
+
+import javax.inject.Scope;
+
+@Target( { TYPE, METHOD, FIELD })
+@Retention(RUNTIME)
+@Documented
+@Scope
+@Inherited
+@interface NonNormalScope {}
\ No newline at end of file
Added: core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/activities/current/NonNormalScopeTest.java
===================================================================
--- core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/activities/current/NonNormalScopeTest.java (rev 0)
+++ core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/activities/current/NonNormalScopeTest.java 2010-07-28 10:18:08 UTC (rev 6820)
@@ -0,0 +1,102 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2010, Red Hat, Inc., and individual contributors
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * http://www.apache.org/licenses/LICENSE-2.0
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.jboss.weld.tests.activities.current;
+
+import java.lang.annotation.Annotation;
+
+import javax.enterprise.context.spi.Context;
+import javax.enterprise.context.spi.Contextual;
+import javax.enterprise.context.spi.CreationalContext;
+import javax.inject.Inject;
+
+import org.jboss.arquillian.api.Deployment;
+import org.jboss.arquillian.junit.Arquillian;
+import org.jboss.shrinkwrap.api.Archive;
+import org.jboss.shrinkwrap.api.BeanArchive;
+import org.jboss.shrinkwrap.api.ShrinkWrap;
+import org.jboss.weld.manager.BeanManagerImpl;
+import org.jboss.weld.manager.api.WeldManager;
+import org.jboss.weld.test.Utils;
+import org.junit.Test;
+import org.junit.runner.RunWith;
+
+(a)RunWith(Arquillian.class)
+public class NonNormalScopeTest
+{
+ @Deployment
+ public static Archive<?> deploy()
+ {
+ return ShrinkWrap.create(BeanArchive.class)
+ .addPackage(NonNormalScopeTest.class.getPackage())
+ .addClass(Utils.class);
+ }
+
+ private static class DummyContext implements Context
+ {
+
+ private boolean active = true;
+
+ public <T> T get(Contextual<T> contextual)
+ {
+ return null;
+ }
+
+ public <T> T get(Contextual<T> contextual, CreationalContext<T> creationalContext)
+ {
+ return null;
+ }
+
+ public Class<? extends Annotation> getScope()
+ {
+ return Dummy.class;
+ }
+
+ public boolean isActive()
+ {
+ return active;
+ }
+
+ public void setActive(boolean active)
+ {
+ this.active = active;
+ }
+
+ }
+
+ private static class NonNormalContext extends DummyContext
+ {
+
+ @Override
+ public Class<? extends Annotation> getScope()
+ {
+ return NonNormalScope.class;
+ }
+
+ }
+
+ @Inject
+ private BeanManagerImpl beanManager;
+
+ @Test(expected = IllegalArgumentException.class)
+ public void testNonNormalScope()
+ {
+ Context dummyContext = new NonNormalContext();
+ beanManager.addContext(dummyContext);
+ WeldManager childActivity = beanManager.createActivity();
+ childActivity.setCurrent(dummyContext.getScope());
+ }
+}
Added: core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/activities/current/Tame.java
===================================================================
--- core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/activities/current/Tame.java (rev 0)
+++ core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/activities/current/Tame.java 2010-07-28 10:18:08 UTC (rev 6820)
@@ -0,0 +1,38 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2010, Red Hat, Inc., and individual contributors
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * http://www.apache.org/licenses/LICENSE-2.0
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.jboss.weld.tests.activities.current;
+
+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.inject.Qualifier;
+
+@Target( { TYPE, METHOD, PARAMETER, FIELD })
+@Retention(RUNTIME)
+@Documented
+@Qualifier
+@interface Tame
+{
+
+}
Added: core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/activities/current/TestableObserverMethod.java
===================================================================
--- core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/activities/current/TestableObserverMethod.java (rev 0)
+++ core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/activities/current/TestableObserverMethod.java 2010-07-28 10:18:08 UTC (rev 6820)
@@ -0,0 +1,26 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2010, Red Hat, Inc., and individual contributors
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * http://www.apache.org/licenses/LICENSE-2.0
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.jboss.weld.tests.activities.current;
+
+import javax.enterprise.inject.spi.ObserverMethod;
+
+public interface TestableObserverMethod<T> extends ObserverMethod<T>
+{
+
+ public boolean isObserved();
+
+}
\ No newline at end of file
Added: core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/beanDeployment/managed/multiple/Animal.java
===================================================================
--- core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/beanDeployment/managed/multiple/Animal.java (rev 0)
+++ core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/beanDeployment/managed/multiple/Animal.java 2010-07-28 10:18:08 UTC (rev 6820)
@@ -0,0 +1,22 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2010, Red Hat, Inc., and individual contributors
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * http://www.apache.org/licenses/LICENSE-2.0
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.jboss.weld.tests.beanDeployment.managed.multiple;
+
+interface Animal
+{
+
+}
Added: core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/beanDeployment/managed/multiple/BootstrapTest.java
===================================================================
--- core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/beanDeployment/managed/multiple/BootstrapTest.java (rev 0)
+++ core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/beanDeployment/managed/multiple/BootstrapTest.java 2010-07-28 10:18:08 UTC (rev 6820)
@@ -0,0 +1,74 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2010, Red Hat, Inc., and individual contributors
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * http://www.apache.org/licenses/LICENSE-2.0
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.jboss.weld.tests.beanDeployment.managed.multiple;
+
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+
+import javax.enterprise.inject.spi.Bean;
+import javax.inject.Inject;
+
+import org.jboss.arquillian.api.Deployment;
+import org.jboss.arquillian.junit.Arquillian;
+import org.jboss.shrinkwrap.api.Archive;
+import org.jboss.shrinkwrap.api.BeanArchive;
+import org.jboss.shrinkwrap.api.ShrinkWrap;
+import org.jboss.weld.bean.ManagedBean;
+import org.jboss.weld.bean.RIBean;
+import org.jboss.weld.manager.BeanManagerImpl;
+import org.junit.Assert;
+import org.junit.Test;
+import org.junit.runner.RunWith;
+
+(a)RunWith(Arquillian.class)
+public class BootstrapTest
+{
+ @Deployment
+ public static Archive<?> deploy()
+ {
+ return ShrinkWrap.create(BeanArchive.class)
+ .addPackage(BootstrapTest.class.getPackage());
+ }
+
+ @Inject
+ private BeanManagerImpl beanManager;
+
+ @Test
+ public void testMultipleSimpleBean()
+ {
+ List<Bean<?>> beans = beanManager.getBeans();
+ Map<Class<?>, Bean<?>> classes = new HashMap<Class<?>, Bean<?>>();
+ for (Bean<?> bean : beans)
+ {
+ if (bean instanceof RIBean)
+ {
+ classes.put(((RIBean<?>) bean).getType(), bean);
+ }
+ }
+ Assert.assertTrue(classes.containsKey(Tuna.class));
+ Assert.assertTrue(classes.containsKey(Salmon.class));
+ Assert.assertTrue(classes.containsKey(SeaBass.class));
+ Assert.assertTrue(classes.containsKey(Sole.class));
+
+ Assert.assertTrue(classes.get(Tuna.class) instanceof ManagedBean);
+ Assert.assertTrue(classes.get(Salmon.class) instanceof ManagedBean);
+ Assert.assertTrue(classes.get(SeaBass.class) instanceof ManagedBean);
+ Assert.assertTrue(classes.get(Sole.class) instanceof ManagedBean);
+ }
+
+}
Added: core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/beanDeployment/managed/multiple/Salmon.java
===================================================================
--- core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/beanDeployment/managed/multiple/Salmon.java (rev 0)
+++ core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/beanDeployment/managed/multiple/Salmon.java 2010-07-28 10:18:08 UTC (rev 6820)
@@ -0,0 +1,25 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2010, Red Hat, Inc., and individual contributors
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * http://www.apache.org/licenses/LICENSE-2.0
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.jboss.weld.tests.beanDeployment.managed.multiple;
+
+import javax.inject.Named;
+
+@Named
+class Salmon implements ScottishFish
+{
+
+}
Added: core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/beanDeployment/managed/multiple/ScottishFish.java
===================================================================
--- core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/beanDeployment/managed/multiple/ScottishFish.java (rev 0)
+++ core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/beanDeployment/managed/multiple/ScottishFish.java 2010-07-28 10:18:08 UTC (rev 6820)
@@ -0,0 +1,22 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2010, Red Hat, Inc., and individual contributors
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * http://www.apache.org/licenses/LICENSE-2.0
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.jboss.weld.tests.beanDeployment.managed.multiple;
+
+interface ScottishFish extends Animal
+{
+
+}
Added: core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/beanDeployment/managed/multiple/SeaBass.java
===================================================================
--- core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/beanDeployment/managed/multiple/SeaBass.java (rev 0)
+++ core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/beanDeployment/managed/multiple/SeaBass.java 2010-07-28 10:18:08 UTC (rev 6820)
@@ -0,0 +1,25 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2010, Red Hat, Inc., and individual contributors
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * http://www.apache.org/licenses/LICENSE-2.0
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.jboss.weld.tests.beanDeployment.managed.multiple;
+
+import javax.enterprise.context.RequestScoped;
+
+@RequestScoped
+class SeaBass implements Animal
+{
+
+}
Added: core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/beanDeployment/managed/multiple/Sole.java
===================================================================
--- core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/beanDeployment/managed/multiple/Sole.java (rev 0)
+++ core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/beanDeployment/managed/multiple/Sole.java 2010-07-28 10:18:08 UTC (rev 6820)
@@ -0,0 +1,26 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2010, Red Hat, Inc., and individual contributors
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * http://www.apache.org/licenses/LICENSE-2.0
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.jboss.weld.tests.beanDeployment.managed.multiple;
+
+import javax.inject.Named;
+
+@Whitefish
+@Named("whitefish")
+class Sole implements ScottishFish
+{
+
+}
Added: core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/beanDeployment/managed/multiple/Tuna.java
===================================================================
--- core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/beanDeployment/managed/multiple/Tuna.java (rev 0)
+++ core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/beanDeployment/managed/multiple/Tuna.java 2010-07-28 10:18:08 UTC (rev 6820)
@@ -0,0 +1,30 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2010, Red Hat, Inc., and individual contributors
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * http://www.apache.org/licenses/LICENSE-2.0
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.jboss.weld.tests.beanDeployment.managed.multiple;
+
+import javax.enterprise.context.RequestScoped;
+
+@RequestScoped
+class Tuna
+{
+
+ public String getName()
+ {
+ return "Ophir";
+ }
+
+}
Added: core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/beanDeployment/managed/multiple/Whitefish.java
===================================================================
--- core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/beanDeployment/managed/multiple/Whitefish.java (rev 0)
+++ core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/beanDeployment/managed/multiple/Whitefish.java 2010-07-28 10:18:08 UTC (rev 6820)
@@ -0,0 +1,38 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2010, Red Hat, Inc., and individual contributors
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * http://www.apache.org/licenses/LICENSE-2.0
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.jboss.weld.tests.beanDeployment.managed.multiple;
+
+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.inject.Qualifier;
+
+@Target( { TYPE, METHOD, PARAMETER, FIELD })
+@Retention(RUNTIME)
+@Documented
+@Qualifier
+public @interface Whitefish
+{
+
+}
Added: core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/beanDeployment/managed/single/BootstrapTest.java
===================================================================
--- core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/beanDeployment/managed/single/BootstrapTest.java (rev 0)
+++ core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/beanDeployment/managed/single/BootstrapTest.java 2010-07-28 10:18:08 UTC (rev 6820)
@@ -0,0 +1,65 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2010, Red Hat, Inc., and individual contributors
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * http://www.apache.org/licenses/LICENSE-2.0
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.jboss.weld.tests.beanDeployment.managed.single;
+
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+
+import javax.enterprise.inject.spi.Bean;
+import javax.inject.Inject;
+
+import org.jboss.arquillian.api.Deployment;
+import org.jboss.arquillian.junit.Arquillian;
+import org.jboss.shrinkwrap.api.Archive;
+import org.jboss.shrinkwrap.api.BeanArchive;
+import org.jboss.shrinkwrap.api.ShrinkWrap;
+import org.jboss.weld.bean.RIBean;
+import org.jboss.weld.manager.BeanManagerImpl;
+import org.junit.Assert;
+import org.junit.Test;
+import org.junit.runner.RunWith;
+
+(a)RunWith(Arquillian.class)
+public class BootstrapTest
+{
+ @Deployment
+ public static Archive<?> deploy()
+ {
+ return ShrinkWrap.create(BeanArchive.class)
+ .addPackage(BootstrapTest.class.getPackage());
+ }
+
+ @Inject
+ private BeanManagerImpl beanManager;
+
+ @Test
+ public void testSingleSimpleBean()
+ {
+ List<Bean<?>> beans = beanManager.getBeans();
+ Map<Class<?>, Bean<?>> classes = new HashMap<Class<?>, Bean<?>>();
+ for (Bean<?> bean : beans)
+ {
+ if (bean instanceof RIBean)
+ {
+ classes.put(((RIBean<?>) bean).getType(), bean);
+ }
+ }
+ Assert.assertTrue(classes.containsKey(Tuna.class));
+ }
+
+}
Added: core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/beanDeployment/managed/single/Tuna.java
===================================================================
--- core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/beanDeployment/managed/single/Tuna.java (rev 0)
+++ core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/beanDeployment/managed/single/Tuna.java 2010-07-28 10:18:08 UTC (rev 6820)
@@ -0,0 +1,30 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2010, Red Hat, Inc., and individual contributors
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * http://www.apache.org/licenses/LICENSE-2.0
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.jboss.weld.tests.beanDeployment.managed.single;
+
+import javax.enterprise.context.RequestScoped;
+
+@RequestScoped
+class Tuna
+{
+
+ public String getName()
+ {
+ return "Ophir";
+ }
+
+}
Added: core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/beanDeployment/mixed/Animal.java
===================================================================
--- core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/beanDeployment/mixed/Animal.java (rev 0)
+++ core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/beanDeployment/mixed/Animal.java 2010-07-28 10:18:08 UTC (rev 6820)
@@ -0,0 +1,22 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2010, Red Hat, Inc., and individual contributors
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * http://www.apache.org/licenses/LICENSE-2.0
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.jboss.weld.tests.beanDeployment.mixed;
+
+interface Animal
+{
+
+}
Added: core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/beanDeployment/mixed/BootstrapTest.java
===================================================================
--- core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/beanDeployment/mixed/BootstrapTest.java (rev 0)
+++ core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/beanDeployment/mixed/BootstrapTest.java 2010-07-28 10:18:08 UTC (rev 6820)
@@ -0,0 +1,89 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2010, Red Hat, Inc., and individual contributors
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * http://www.apache.org/licenses/LICENSE-2.0
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.jboss.weld.tests.beanDeployment.mixed;
+
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+
+import javax.enterprise.inject.spi.Bean;
+import javax.inject.Inject;
+
+import org.jboss.arquillian.api.Deployment;
+import org.jboss.arquillian.junit.Arquillian;
+import org.jboss.shrinkwrap.api.Archive;
+import org.jboss.shrinkwrap.api.ShrinkWrap;
+import org.jboss.shrinkwrap.api.asset.EmptyAsset;
+import org.jboss.shrinkwrap.api.spec.EnterpriseArchive;
+import org.jboss.shrinkwrap.api.spec.JavaArchive;
+import org.jboss.weld.bean.ManagedBean;
+import org.jboss.weld.bean.RIBean;
+import org.jboss.weld.bean.SessionBean;
+import org.jboss.weld.manager.BeanManagerImpl;
+import org.junit.Assert;
+import org.junit.Test;
+import org.junit.runner.RunWith;
+
+(a)RunWith(Arquillian.class)
+public class BootstrapTest
+{
+ @Deployment
+ public static Archive<?> deploy()
+ {
+ return ShrinkWrap.create(EnterpriseArchive.class, "test.ear")
+ .addModule(
+ ShrinkWrap.create(JavaArchive.class)
+ .addPackage(BootstrapTest.class.getPackage())
+ .addManifestResource(EmptyAsset.INSTANCE, "beans.xml")
+ );
+ }
+
+ @Inject
+ private BeanManagerImpl beanManager;
+
+ @Test
+ public void testMultipleEnterpriseAndSimpleBean()
+ {
+ List<Bean<?>> beans = beanManager.getBeans();
+ Map<Class<?>, Bean<?>> classes = new HashMap<Class<?>, Bean<?>>();
+ for (Bean<?> bean : beans)
+ {
+ if (bean instanceof RIBean)
+ {
+ classes.put(((RIBean<?>) bean).getType(), bean);
+ }
+ }
+ Assert.assertTrue(classes.containsKey(Hound.class));
+ Assert.assertTrue(classes.containsKey(Elephant.class));
+ Assert.assertTrue(classes.containsKey(Panther.class));
+ Assert.assertTrue(classes.containsKey(Tiger.class));
+ Assert.assertTrue(classes.containsKey(Tuna.class));
+ Assert.assertTrue(classes.containsKey(Salmon.class));
+ Assert.assertTrue(classes.containsKey(SeaBass.class));
+ Assert.assertTrue(classes.containsKey(Sole.class));
+
+ Assert.assertTrue(classes.get(Hound.class) instanceof SessionBean);
+ Assert.assertTrue(classes.get(Elephant.class) instanceof SessionBean);
+ Assert.assertTrue(classes.get(Panther.class) instanceof SessionBean);
+ Assert.assertTrue(classes.get(Tiger.class) instanceof SessionBean);
+ Assert.assertTrue(classes.get(Tuna.class) instanceof ManagedBean);
+ Assert.assertTrue(classes.get(Salmon.class) instanceof ManagedBean);
+ Assert.assertTrue(classes.get(SeaBass.class) instanceof ManagedBean);
+ Assert.assertTrue(classes.get(Sole.class) instanceof ManagedBean);
+ }
+
+}
Added: core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/beanDeployment/mixed/Elephant.java
===================================================================
--- core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/beanDeployment/mixed/Elephant.java (rev 0)
+++ core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/beanDeployment/mixed/Elephant.java 2010-07-28 10:18:08 UTC (rev 6820)
@@ -0,0 +1,38 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2010, Red Hat, Inc., and individual contributors
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * http://www.apache.org/licenses/LICENSE-2.0
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.jboss.weld.tests.beanDeployment.mixed;
+
+import javax.ejb.Remove;
+import javax.ejb.Stateful;
+
+@Stateful
+class Elephant implements ElephantLocal
+{
+
+ @Remove
+ public void remove1()
+ {
+
+ }
+
+ @Remove
+ public void remove2()
+ {
+
+ }
+
+}
Added: core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/beanDeployment/mixed/ElephantLocal.java
===================================================================
--- core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/beanDeployment/mixed/ElephantLocal.java (rev 0)
+++ core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/beanDeployment/mixed/ElephantLocal.java 2010-07-28 10:18:08 UTC (rev 6820)
@@ -0,0 +1,25 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2010, Red Hat, Inc., and individual contributors
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * http://www.apache.org/licenses/LICENSE-2.0
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.jboss.weld.tests.beanDeployment.mixed;
+
+import javax.ejb.Local;
+
+@Local
+public interface ElephantLocal
+{
+
+}
Added: core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/beanDeployment/mixed/Hound.java
===================================================================
--- core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/beanDeployment/mixed/Hound.java (rev 0)
+++ core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/beanDeployment/mixed/Hound.java 2010-07-28 10:18:08 UTC (rev 6820)
@@ -0,0 +1,32 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2010, Red Hat, Inc., and individual contributors
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * http://www.apache.org/licenses/LICENSE-2.0
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.jboss.weld.tests.beanDeployment.mixed;
+
+import javax.ejb.Remove;
+import javax.ejb.Stateful;
+import javax.inject.Named;
+
+@Stateful
+@Tame
+@Named("Pongo")
+class Hound implements HoundLocal
+{
+ @Remove
+ public void bye() {
+ }
+
+}
Added: core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/beanDeployment/mixed/HoundLocal.java
===================================================================
--- core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/beanDeployment/mixed/HoundLocal.java (rev 0)
+++ core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/beanDeployment/mixed/HoundLocal.java 2010-07-28 10:18:08 UTC (rev 6820)
@@ -0,0 +1,25 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2010, Red Hat, Inc., and individual contributors
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * http://www.apache.org/licenses/LICENSE-2.0
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.jboss.weld.tests.beanDeployment.mixed;
+
+import javax.ejb.Local;
+
+@Local
+public interface HoundLocal
+{
+
+}
Added: core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/beanDeployment/mixed/Panther.java
===================================================================
--- core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/beanDeployment/mixed/Panther.java (rev 0)
+++ core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/beanDeployment/mixed/Panther.java 2010-07-28 10:18:08 UTC (rev 6820)
@@ -0,0 +1,32 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2010, Red Hat, Inc., and individual contributors
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * http://www.apache.org/licenses/LICENSE-2.0
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.jboss.weld.tests.beanDeployment.mixed;
+
+import javax.ejb.Remove;
+import javax.ejb.Stateful;
+
+@Stateful
+class Panther implements PantherLocal
+{
+
+ @Remove
+ public void remove(String foo)
+ {
+
+ }
+
+}
Added: core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/beanDeployment/mixed/PantherLocal.java
===================================================================
--- core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/beanDeployment/mixed/PantherLocal.java (rev 0)
+++ core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/beanDeployment/mixed/PantherLocal.java 2010-07-28 10:18:08 UTC (rev 6820)
@@ -0,0 +1,22 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2010, Red Hat, Inc., and individual contributors
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * http://www.apache.org/licenses/LICENSE-2.0
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.jboss.weld.tests.beanDeployment.mixed;
+
+public interface PantherLocal
+{
+
+}
Added: core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/beanDeployment/mixed/Salmon.java
===================================================================
--- core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/beanDeployment/mixed/Salmon.java (rev 0)
+++ core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/beanDeployment/mixed/Salmon.java 2010-07-28 10:18:08 UTC (rev 6820)
@@ -0,0 +1,25 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2010, Red Hat, Inc., and individual contributors
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * http://www.apache.org/licenses/LICENSE-2.0
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.jboss.weld.tests.beanDeployment.mixed;
+
+import javax.inject.Named;
+
+@Named
+class Salmon implements ScottishFish
+{
+
+}
Added: core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/beanDeployment/mixed/ScottishFish.java
===================================================================
--- core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/beanDeployment/mixed/ScottishFish.java (rev 0)
+++ core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/beanDeployment/mixed/ScottishFish.java 2010-07-28 10:18:08 UTC (rev 6820)
@@ -0,0 +1,22 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2010, Red Hat, Inc., and individual contributors
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * http://www.apache.org/licenses/LICENSE-2.0
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.jboss.weld.tests.beanDeployment.mixed;
+
+interface ScottishFish extends Animal
+{
+
+}
Added: core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/beanDeployment/mixed/SeaBass.java
===================================================================
--- core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/beanDeployment/mixed/SeaBass.java (rev 0)
+++ core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/beanDeployment/mixed/SeaBass.java 2010-07-28 10:18:08 UTC (rev 6820)
@@ -0,0 +1,25 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2010, Red Hat, Inc., and individual contributors
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * http://www.apache.org/licenses/LICENSE-2.0
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.jboss.weld.tests.beanDeployment.mixed;
+
+import javax.enterprise.context.RequestScoped;
+
+@RequestScoped
+class SeaBass implements Animal
+{
+
+}
Added: core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/beanDeployment/mixed/Sole.java
===================================================================
--- core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/beanDeployment/mixed/Sole.java (rev 0)
+++ core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/beanDeployment/mixed/Sole.java 2010-07-28 10:18:08 UTC (rev 6820)
@@ -0,0 +1,26 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2010, Red Hat, Inc., and individual contributors
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * http://www.apache.org/licenses/LICENSE-2.0
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.jboss.weld.tests.beanDeployment.mixed;
+
+import javax.inject.Named;
+
+@Whitefish
+@Named("whitefish")
+class Sole implements ScottishFish
+{
+
+}
Added: core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/beanDeployment/mixed/Synchronous.java
===================================================================
--- core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/beanDeployment/mixed/Synchronous.java (rev 0)
+++ core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/beanDeployment/mixed/Synchronous.java 2010-07-28 10:18:08 UTC (rev 6820)
@@ -0,0 +1,37 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2010, Red Hat, Inc., and individual contributors
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * http://www.apache.org/licenses/LICENSE-2.0
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.jboss.weld.tests.beanDeployment.mixed;
+
+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.inject.Qualifier;
+
+@Target( { TYPE, METHOD, PARAMETER })
+@Retention(RUNTIME)
+@Documented
+@Qualifier
+@interface Synchronous
+{
+
+}
Added: core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/beanDeployment/mixed/Tame.java
===================================================================
--- core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/beanDeployment/mixed/Tame.java (rev 0)
+++ core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/beanDeployment/mixed/Tame.java 2010-07-28 10:18:08 UTC (rev 6820)
@@ -0,0 +1,38 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2010, Red Hat, Inc., and individual contributors
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * http://www.apache.org/licenses/LICENSE-2.0
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.jboss.weld.tests.beanDeployment.mixed;
+
+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.inject.Qualifier;
+
+@Target( { TYPE, METHOD, PARAMETER, FIELD })
+@Retention(RUNTIME)
+@Documented
+@Qualifier
+@interface Tame
+{
+
+}
Added: core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/beanDeployment/mixed/Tiger.java
===================================================================
--- core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/beanDeployment/mixed/Tiger.java (rev 0)
+++ core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/beanDeployment/mixed/Tiger.java 2010-07-28 10:18:08 UTC (rev 6820)
@@ -0,0 +1,33 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2010, Red Hat, Inc., and individual contributors
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * http://www.apache.org/licenses/LICENSE-2.0
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.jboss.weld.tests.beanDeployment.mixed;
+
+import javax.ejb.Remove;
+import javax.ejb.Stateful;
+
+@Stateful
+@Synchronous
+public class Tiger implements TigerLocal
+{
+
+ @Remove
+ public void remove()
+ {
+
+ }
+
+}
Added: core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/beanDeployment/mixed/TigerLocal.java
===================================================================
--- core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/beanDeployment/mixed/TigerLocal.java (rev 0)
+++ core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/beanDeployment/mixed/TigerLocal.java 2010-07-28 10:18:08 UTC (rev 6820)
@@ -0,0 +1,25 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2010, Red Hat, Inc., and individual contributors
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * http://www.apache.org/licenses/LICENSE-2.0
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.jboss.weld.tests.beanDeployment.mixed;
+
+import javax.ejb.Local;
+
+@Local
+public interface TigerLocal
+{
+
+}
Added: core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/beanDeployment/mixed/Tuna.java
===================================================================
--- core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/beanDeployment/mixed/Tuna.java (rev 0)
+++ core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/beanDeployment/mixed/Tuna.java 2010-07-28 10:18:08 UTC (rev 6820)
@@ -0,0 +1,30 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2010, Red Hat, Inc., and individual contributors
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * http://www.apache.org/licenses/LICENSE-2.0
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.jboss.weld.tests.beanDeployment.mixed;
+
+import javax.enterprise.context.RequestScoped;
+
+@RequestScoped
+class Tuna
+{
+
+ public String getName()
+ {
+ return "Ophir";
+ }
+
+}
Added: core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/beanDeployment/mixed/Whitefish.java
===================================================================
--- core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/beanDeployment/mixed/Whitefish.java (rev 0)
+++ core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/beanDeployment/mixed/Whitefish.java 2010-07-28 10:18:08 UTC (rev 6820)
@@ -0,0 +1,38 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2010, Red Hat, Inc., and individual contributors
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * http://www.apache.org/licenses/LICENSE-2.0
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.jboss.weld.tests.beanDeployment.mixed;
+
+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.inject.Qualifier;
+
+@Target( { TYPE, METHOD, PARAMETER, FIELD })
+@Retention(RUNTIME)
+@Documented
+@Qualifier
+public @interface Whitefish
+{
+
+}
Added: core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/beanDeployment/producers/singleProducerMethod/Animal.java
===================================================================
--- core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/beanDeployment/producers/singleProducerMethod/Animal.java (rev 0)
+++ core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/beanDeployment/producers/singleProducerMethod/Animal.java 2010-07-28 10:18:08 UTC (rev 6820)
@@ -0,0 +1,22 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2010, Red Hat, Inc., and individual contributors
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * http://www.apache.org/licenses/LICENSE-2.0
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.jboss.weld.tests.beanDeployment.producers.singleProducerMethod;
+
+interface Animal
+{
+
+}
Added: core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/beanDeployment/producers/singleProducerMethod/BootstrapTest.java
===================================================================
--- core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/beanDeployment/producers/singleProducerMethod/BootstrapTest.java (rev 0)
+++ core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/beanDeployment/producers/singleProducerMethod/BootstrapTest.java 2010-07-28 10:18:08 UTC (rev 6820)
@@ -0,0 +1,78 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2010, Red Hat, Inc., and individual contributors
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * http://www.apache.org/licenses/LICENSE-2.0
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.jboss.weld.tests.beanDeployment.producers.singleProducerMethod;
+
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+
+import javax.enterprise.inject.spi.Bean;
+import javax.inject.Inject;
+
+import org.jboss.arquillian.api.Deployment;
+import org.jboss.arquillian.junit.Arquillian;
+import org.jboss.shrinkwrap.api.Archive;
+import org.jboss.shrinkwrap.api.ShrinkWrap;
+import org.jboss.shrinkwrap.api.asset.EmptyAsset;
+import org.jboss.shrinkwrap.api.spec.EnterpriseArchive;
+import org.jboss.shrinkwrap.api.spec.JavaArchive;
+import org.jboss.weld.bean.ManagedBean;
+import org.jboss.weld.bean.ProducerMethod;
+import org.jboss.weld.bean.RIBean;
+import org.jboss.weld.manager.BeanManagerImpl;
+import org.junit.Assert;
+import org.junit.Test;
+import org.junit.runner.RunWith;
+
+(a)RunWith(Arquillian.class)
+public class BootstrapTest
+{
+ @Deployment
+ public static Archive<?> deploy()
+ {
+ return ShrinkWrap.create(EnterpriseArchive.class, "test.ear")
+ .addModule(
+ ShrinkWrap.create(JavaArchive.class)
+ .addPackage(BootstrapTest.class.getPackage())
+ .addManifestResource(EmptyAsset.INSTANCE, "beans.xml")
+ );
+ }
+
+ @Inject
+ private BeanManagerImpl beanManager;
+
+ @Test
+ public void testProducerMethodBean()
+ {
+ //deployBeans(TarantulaProducer.class);
+ List<Bean<?>> beans = beanManager.getBeans();
+ Map<Class<?>, Bean<?>> classes = new HashMap<Class<?>, Bean<?>>();
+ for (Bean<?> bean : beans)
+ {
+ if (bean instanceof RIBean<?>)
+ {
+ classes.put(((RIBean<?>) bean).getType(), bean);
+ }
+ }
+ Assert.assertTrue(classes.containsKey(TarantulaProducer.class));
+ Assert.assertTrue(classes.containsKey(Tarantula.class));
+
+ Assert.assertTrue(classes.get(TarantulaProducer.class) instanceof ManagedBean<?>);
+ Assert.assertTrue(classes.get(Tarantula.class) instanceof ProducerMethod<?, ?>);
+ }
+
+}
Added: core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/beanDeployment/producers/singleProducerMethod/DeadlyAnimal.java
===================================================================
--- core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/beanDeployment/producers/singleProducerMethod/DeadlyAnimal.java (rev 0)
+++ core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/beanDeployment/producers/singleProducerMethod/DeadlyAnimal.java 2010-07-28 10:18:08 UTC (rev 6820)
@@ -0,0 +1,22 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2010, Red Hat, Inc., and individual contributors
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * http://www.apache.org/licenses/LICENSE-2.0
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.jboss.weld.tests.beanDeployment.producers.singleProducerMethod;
+
+interface DeadlyAnimal
+{
+
+}
Added: core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/beanDeployment/producers/singleProducerMethod/DeadlySpider.java
===================================================================
--- core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/beanDeployment/producers/singleProducerMethod/DeadlySpider.java (rev 0)
+++ core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/beanDeployment/producers/singleProducerMethod/DeadlySpider.java 2010-07-28 10:18:08 UTC (rev 6820)
@@ -0,0 +1,22 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2010, Red Hat, Inc., and individual contributors
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * http://www.apache.org/licenses/LICENSE-2.0
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.jboss.weld.tests.beanDeployment.producers.singleProducerMethod;
+
+interface DeadlySpider extends DeadlyAnimal
+{
+
+}
Added: core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/beanDeployment/producers/singleProducerMethod/DefangedTarantula.java
===================================================================
--- core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/beanDeployment/producers/singleProducerMethod/DefangedTarantula.java (rev 0)
+++ core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/beanDeployment/producers/singleProducerMethod/DefangedTarantula.java 2010-07-28 10:18:08 UTC (rev 6820)
@@ -0,0 +1,27 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2010, Red Hat, Inc., and individual contributors
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * http://www.apache.org/licenses/LICENSE-2.0
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.jboss.weld.tests.beanDeployment.producers.singleProducerMethod;
+
+class DefangedTarantula extends Tarantula
+{
+
+ public DefangedTarantula()
+ {
+ super("defanged");
+ }
+
+}
Added: core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/beanDeployment/producers/singleProducerMethod/Spider.java
===================================================================
--- core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/beanDeployment/producers/singleProducerMethod/Spider.java (rev 0)
+++ core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/beanDeployment/producers/singleProducerMethod/Spider.java 2010-07-28 10:18:08 UTC (rev 6820)
@@ -0,0 +1,27 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2010, Red Hat, Inc., and individual contributors
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * http://www.apache.org/licenses/LICENSE-2.0
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.jboss.weld.tests.beanDeployment.producers.singleProducerMethod;
+
+class Spider implements Animal
+{
+
+ public final void layEggs()
+ {
+
+ }
+
+}
Added: core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/beanDeployment/producers/singleProducerMethod/Tame.java
===================================================================
--- core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/beanDeployment/producers/singleProducerMethod/Tame.java (rev 0)
+++ core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/beanDeployment/producers/singleProducerMethod/Tame.java 2010-07-28 10:18:08 UTC (rev 6820)
@@ -0,0 +1,38 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2010, Red Hat, Inc., and individual contributors
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * http://www.apache.org/licenses/LICENSE-2.0
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.jboss.weld.tests.beanDeployment.producers.singleProducerMethod;
+
+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.inject.Qualifier;
+
+@Target( { TYPE, METHOD, PARAMETER, FIELD })
+@Retention(RUNTIME)
+@Documented
+@Qualifier
+@interface Tame
+{
+
+}
Added: core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/beanDeployment/producers/singleProducerMethod/Tarantula.java
===================================================================
--- core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/beanDeployment/producers/singleProducerMethod/Tarantula.java (rev 0)
+++ core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/beanDeployment/producers/singleProducerMethod/Tarantula.java 2010-07-28 10:18:08 UTC (rev 6820)
@@ -0,0 +1,29 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2010, Red Hat, Inc., and individual contributors
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * http://www.apache.org/licenses/LICENSE-2.0
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.jboss.weld.tests.beanDeployment.producers.singleProducerMethod;
+
+
+
+class Tarantula extends Spider implements DeadlySpider
+{
+
+ public Tarantula(String foo)
+ {
+ // TODO Auto-generated constructor stub
+ }
+
+}
Added: core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/beanDeployment/producers/singleProducerMethod/TarantulaProducer.java
===================================================================
--- core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/beanDeployment/producers/singleProducerMethod/TarantulaProducer.java (rev 0)
+++ core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/beanDeployment/producers/singleProducerMethod/TarantulaProducer.java 2010-07-28 10:18:08 UTC (rev 6820)
@@ -0,0 +1,29 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2010, Red Hat, Inc., and individual contributors
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * http://www.apache.org/licenses/LICENSE-2.0
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.jboss.weld.tests.beanDeployment.producers.singleProducerMethod;
+
+import javax.enterprise.inject.Produces;
+
+public class TarantulaProducer
+{
+
+ @Produces @Tame public Tarantula produceTameTarantula()
+ {
+ return new DefangedTarantula();
+ }
+
+}
Added: core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/beanDeployment/session/multiple/BootstrapTest.java
===================================================================
--- core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/beanDeployment/session/multiple/BootstrapTest.java (rev 0)
+++ core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/beanDeployment/session/multiple/BootstrapTest.java 2010-07-28 10:18:08 UTC (rev 6820)
@@ -0,0 +1,80 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2010, Red Hat, Inc., and individual contributors
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * http://www.apache.org/licenses/LICENSE-2.0
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.jboss.weld.tests.beanDeployment.session.multiple;
+
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+
+import javax.enterprise.inject.spi.Bean;
+import javax.inject.Inject;
+
+import org.jboss.arquillian.api.Deployment;
+import org.jboss.arquillian.junit.Arquillian;
+import org.jboss.shrinkwrap.api.Archive;
+import org.jboss.shrinkwrap.api.ShrinkWrap;
+import org.jboss.shrinkwrap.api.asset.EmptyAsset;
+import org.jboss.shrinkwrap.api.spec.EnterpriseArchive;
+import org.jboss.shrinkwrap.api.spec.JavaArchive;
+import org.jboss.weld.bean.RIBean;
+import org.jboss.weld.bean.SessionBean;
+import org.jboss.weld.manager.BeanManagerImpl;
+import org.junit.Assert;
+import org.junit.Test;
+import org.junit.runner.RunWith;
+
+(a)RunWith(Arquillian.class)
+public class BootstrapTest
+{
+ @Deployment
+ public static Archive<?> deploy()
+ {
+ return ShrinkWrap.create(EnterpriseArchive.class, "test.ear")
+ .addModule(
+ ShrinkWrap.create(JavaArchive.class)
+ .addPackage(BootstrapTest.class.getPackage())
+ .addManifestResource(EmptyAsset.INSTANCE, "beans.xml")
+ );
+ }
+
+ @Inject
+ private BeanManagerImpl beanManager;
+
+ @Test
+ public void testMultipleEnterpriseBean()
+ {
+ List<Bean<?>> beans = beanManager.getBeans();
+ Map<Class<?>, Bean<?>> classes = new HashMap<Class<?>, Bean<?>>();
+ for (Bean<?> bean : beans)
+ {
+ if (bean instanceof RIBean)
+ {
+ classes.put(((RIBean<?>) bean).getType(), bean);
+ }
+ }
+ Assert.assertTrue(classes.containsKey(Hound.class));
+ Assert.assertTrue(classes.containsKey(Elephant.class));
+ Assert.assertTrue(classes.containsKey(Panther.class));
+ Assert.assertTrue(classes.containsKey(Tiger.class));
+
+ Assert.assertTrue(classes.get(Hound.class) instanceof SessionBean);
+ Assert.assertTrue(classes.get(Elephant.class) instanceof SessionBean);
+ Assert.assertTrue(classes.get(Panther.class) instanceof SessionBean);
+ Assert.assertTrue(classes.get(Tiger.class) instanceof SessionBean);
+ }
+
+}
Added: core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/beanDeployment/session/multiple/Elephant.java
===================================================================
--- core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/beanDeployment/session/multiple/Elephant.java (rev 0)
+++ core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/beanDeployment/session/multiple/Elephant.java 2010-07-28 10:18:08 UTC (rev 6820)
@@ -0,0 +1,38 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2010, Red Hat, Inc., and individual contributors
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * http://www.apache.org/licenses/LICENSE-2.0
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.jboss.weld.tests.beanDeployment.session.multiple;
+
+import javax.ejb.Remove;
+import javax.ejb.Stateful;
+
+@Stateful
+class Elephant implements ElephantLocal
+{
+
+ @Remove
+ public void remove1()
+ {
+
+ }
+
+ @Remove
+ public void remove2()
+ {
+
+ }
+
+}
Added: core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/beanDeployment/session/multiple/ElephantLocal.java
===================================================================
--- core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/beanDeployment/session/multiple/ElephantLocal.java (rev 0)
+++ core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/beanDeployment/session/multiple/ElephantLocal.java 2010-07-28 10:18:08 UTC (rev 6820)
@@ -0,0 +1,25 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2010, Red Hat, Inc., and individual contributors
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * http://www.apache.org/licenses/LICENSE-2.0
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.jboss.weld.tests.beanDeployment.session.multiple;
+
+import javax.ejb.Local;
+
+@Local
+public interface ElephantLocal
+{
+
+}
Added: core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/beanDeployment/session/multiple/Hound.java
===================================================================
--- core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/beanDeployment/session/multiple/Hound.java (rev 0)
+++ core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/beanDeployment/session/multiple/Hound.java 2010-07-28 10:18:08 UTC (rev 6820)
@@ -0,0 +1,32 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2010, Red Hat, Inc., and individual contributors
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * http://www.apache.org/licenses/LICENSE-2.0
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.jboss.weld.tests.beanDeployment.session.multiple;
+
+import javax.ejb.Remove;
+import javax.ejb.Stateful;
+import javax.inject.Named;
+
+@Stateful
+@Tame
+@Named("Pongo")
+class Hound implements HoundLocal
+{
+ @Remove
+ public void bye() {
+ }
+
+}
Added: core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/beanDeployment/session/multiple/HoundLocal.java
===================================================================
--- core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/beanDeployment/session/multiple/HoundLocal.java (rev 0)
+++ core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/beanDeployment/session/multiple/HoundLocal.java 2010-07-28 10:18:08 UTC (rev 6820)
@@ -0,0 +1,25 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2010, Red Hat, Inc., and individual contributors
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * http://www.apache.org/licenses/LICENSE-2.0
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.jboss.weld.tests.beanDeployment.session.multiple;
+
+import javax.ejb.Local;
+
+@Local
+public interface HoundLocal
+{
+
+}
Added: core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/beanDeployment/session/multiple/Panther.java
===================================================================
--- core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/beanDeployment/session/multiple/Panther.java (rev 0)
+++ core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/beanDeployment/session/multiple/Panther.java 2010-07-28 10:18:08 UTC (rev 6820)
@@ -0,0 +1,32 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2010, Red Hat, Inc., and individual contributors
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * http://www.apache.org/licenses/LICENSE-2.0
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.jboss.weld.tests.beanDeployment.session.multiple;
+
+import javax.ejb.Remove;
+import javax.ejb.Stateful;
+
+@Stateful
+class Panther implements PantherLocal
+{
+
+ @Remove
+ public void remove(String foo)
+ {
+
+ }
+
+}
Added: core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/beanDeployment/session/multiple/PantherLocal.java
===================================================================
--- core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/beanDeployment/session/multiple/PantherLocal.java (rev 0)
+++ core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/beanDeployment/session/multiple/PantherLocal.java 2010-07-28 10:18:08 UTC (rev 6820)
@@ -0,0 +1,22 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2010, Red Hat, Inc., and individual contributors
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * http://www.apache.org/licenses/LICENSE-2.0
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.jboss.weld.tests.beanDeployment.session.multiple;
+
+public interface PantherLocal
+{
+
+}
Added: core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/beanDeployment/session/multiple/Synchronous.java
===================================================================
--- core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/beanDeployment/session/multiple/Synchronous.java (rev 0)
+++ core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/beanDeployment/session/multiple/Synchronous.java 2010-07-28 10:18:08 UTC (rev 6820)
@@ -0,0 +1,37 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2010, Red Hat, Inc., and individual contributors
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * http://www.apache.org/licenses/LICENSE-2.0
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.jboss.weld.tests.beanDeployment.session.multiple;
+
+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.inject.Qualifier;
+
+@Target( { TYPE, METHOD, PARAMETER })
+@Retention(RUNTIME)
+@Documented
+@Qualifier
+@interface Synchronous
+{
+
+}
Added: core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/beanDeployment/session/multiple/Tame.java
===================================================================
--- core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/beanDeployment/session/multiple/Tame.java (rev 0)
+++ core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/beanDeployment/session/multiple/Tame.java 2010-07-28 10:18:08 UTC (rev 6820)
@@ -0,0 +1,38 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2010, Red Hat, Inc., and individual contributors
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * http://www.apache.org/licenses/LICENSE-2.0
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.jboss.weld.tests.beanDeployment.session.multiple;
+
+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.inject.Qualifier;
+
+@Target( { TYPE, METHOD, PARAMETER, FIELD })
+@Retention(RUNTIME)
+@Documented
+@Qualifier
+@interface Tame
+{
+
+}
Added: core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/beanDeployment/session/multiple/Tiger.java
===================================================================
--- core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/beanDeployment/session/multiple/Tiger.java (rev 0)
+++ core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/beanDeployment/session/multiple/Tiger.java 2010-07-28 10:18:08 UTC (rev 6820)
@@ -0,0 +1,33 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2010, Red Hat, Inc., and individual contributors
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * http://www.apache.org/licenses/LICENSE-2.0
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.jboss.weld.tests.beanDeployment.session.multiple;
+
+import javax.ejb.Remove;
+import javax.ejb.Stateful;
+
+@Stateful
+@Synchronous
+public class Tiger implements TigerLocal
+{
+
+ @Remove
+ public void remove()
+ {
+
+ }
+
+}
Added: core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/beanDeployment/session/multiple/TigerLocal.java
===================================================================
--- core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/beanDeployment/session/multiple/TigerLocal.java (rev 0)
+++ core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/beanDeployment/session/multiple/TigerLocal.java 2010-07-28 10:18:08 UTC (rev 6820)
@@ -0,0 +1,25 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2010, Red Hat, Inc., and individual contributors
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * http://www.apache.org/licenses/LICENSE-2.0
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.jboss.weld.tests.beanDeployment.session.multiple;
+
+import javax.ejb.Local;
+
+@Local
+public interface TigerLocal
+{
+
+}
Added: core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/beanDeployment/session/single/BootstrapTest.java
===================================================================
--- core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/beanDeployment/session/single/BootstrapTest.java (rev 0)
+++ core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/beanDeployment/session/single/BootstrapTest.java 2010-07-28 10:18:08 UTC (rev 6820)
@@ -0,0 +1,69 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2010, Red Hat, Inc., and individual contributors
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * http://www.apache.org/licenses/LICENSE-2.0
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.jboss.weld.tests.beanDeployment.session.single;
+
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+
+import javax.enterprise.inject.spi.Bean;
+import javax.inject.Inject;
+
+import org.jboss.arquillian.api.Deployment;
+import org.jboss.arquillian.junit.Arquillian;
+import org.jboss.shrinkwrap.api.Archive;
+import org.jboss.shrinkwrap.api.BeanArchive;
+import org.jboss.shrinkwrap.api.ShrinkWrap;
+import org.jboss.shrinkwrap.api.spec.EnterpriseArchive;
+import org.jboss.weld.bean.RIBean;
+import org.jboss.weld.manager.BeanManagerImpl;
+import org.junit.Assert;
+import org.junit.Test;
+import org.junit.runner.RunWith;
+
+(a)RunWith(Arquillian.class)
+public class BootstrapTest
+{
+ @Deployment
+ public static Archive<?> deploy()
+ {
+ return ShrinkWrap.create(EnterpriseArchive.class, "test.ear")
+ .addModule(
+ ShrinkWrap.create(BeanArchive.class)
+ .addPackage(BootstrapTest.class.getPackage())
+ );
+ }
+
+ @Inject
+ private BeanManagerImpl beanManager;
+
+ @Test
+ public void testSingleEnterpriseBean()
+ {
+ List<Bean<?>> beans = beanManager.getBeans();
+ Map<Class<?>, Bean<?>> classes = new HashMap<Class<?>, Bean<?>>();
+ for (Bean<?> bean : beans)
+ {
+ if (bean instanceof RIBean)
+ {
+ classes.put(((RIBean<?>) bean).getType(), bean);
+ }
+ }
+ Assert.assertTrue(classes.containsKey(Hound.class));
+ }
+
+}
Added: core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/beanDeployment/session/single/Hound.java
===================================================================
--- core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/beanDeployment/session/single/Hound.java (rev 0)
+++ core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/beanDeployment/session/single/Hound.java 2010-07-28 10:18:08 UTC (rev 6820)
@@ -0,0 +1,32 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2010, Red Hat, Inc., and individual contributors
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * http://www.apache.org/licenses/LICENSE-2.0
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.jboss.weld.tests.beanDeployment.session.single;
+
+import javax.ejb.Remove;
+import javax.ejb.Stateful;
+import javax.inject.Named;
+
+@Stateful
+@Tame
+@Named("Pongo")
+class Hound implements HoundLocal
+{
+ @Remove
+ public void bye() {
+ }
+
+}
Added: core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/beanDeployment/session/single/HoundLocal.java
===================================================================
--- core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/beanDeployment/session/single/HoundLocal.java (rev 0)
+++ core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/beanDeployment/session/single/HoundLocal.java 2010-07-28 10:18:08 UTC (rev 6820)
@@ -0,0 +1,25 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2010, Red Hat, Inc., and individual contributors
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * http://www.apache.org/licenses/LICENSE-2.0
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.jboss.weld.tests.beanDeployment.session.single;
+
+import javax.ejb.Local;
+
+@Local
+public interface HoundLocal
+{
+
+}
Added: core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/beanDeployment/session/single/Tame.java
===================================================================
--- core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/beanDeployment/session/single/Tame.java (rev 0)
+++ core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/beanDeployment/session/single/Tame.java 2010-07-28 10:18:08 UTC (rev 6820)
@@ -0,0 +1,38 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2010, Red Hat, Inc., and individual contributors
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * http://www.apache.org/licenses/LICENSE-2.0
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.jboss.weld.tests.beanDeployment.session.single;
+
+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.inject.Qualifier;
+
+@Target( { TYPE, METHOD, PARAMETER, FIELD })
+@Retention(RUNTIME)
+@Documented
+@Qualifier
+@interface Tame
+{
+
+}
Added: core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/beanManager/BeanManagerTest.java
===================================================================
--- core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/beanManager/BeanManagerTest.java (rev 0)
+++ core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/beanManager/BeanManagerTest.java 2010-07-28 10:18:08 UTC (rev 6820)
@@ -0,0 +1,53 @@
+package org.jboss.weld.tests.beanManager;
+
+import javax.enterprise.context.spi.CreationalContext;
+import javax.enterprise.inject.spi.Bean;
+import javax.inject.Inject;
+
+import org.jboss.arquillian.api.Deployment;
+import org.jboss.arquillian.junit.Arquillian;
+import org.jboss.shrinkwrap.api.Archive;
+import org.jboss.shrinkwrap.api.BeanArchive;
+import org.jboss.shrinkwrap.api.ShrinkWrap;
+import org.jboss.weld.manager.BeanManagerImpl;
+import org.jboss.weld.test.Utils;
+import org.junit.Test;
+import org.junit.runner.RunWith;
+
+(a)RunWith(Arquillian.class)
+public class BeanManagerTest
+{
+ @Deployment
+ public static Archive<?> deploy()
+ {
+ return ShrinkWrap.create(BeanArchive.class)
+ .addPackage(BeanManagerTest.class.getPackage())
+ .addClass(Utils.class);
+ }
+
+ @Inject
+ private BeanManagerImpl beanManager;
+
+ @Test(expected=IllegalArgumentException.class)
+ public void testNullBeanArgumentToGetReference()
+ {
+ Bean<Foo> bean = Utils.getBean(beanManager, Foo.class);
+ CreationalContext<Foo> cc = beanManager.createCreationalContext(bean);
+ beanManager.getReference(null, Foo.class, cc);
+ }
+
+ @Test(expected=IllegalArgumentException.class)
+ public void testNullBeanTypeArgumentToGetReference()
+ {
+ Bean<Foo> bean = Utils.getBean(beanManager, Foo.class);
+ CreationalContext<Foo> cc = beanManager.createCreationalContext(bean);
+ beanManager.getReference(bean, null, cc);
+ }
+
+ @Test(expected=IllegalArgumentException.class)
+ public void testNullCreationalContextArgumentToGetReference()
+ {
+ Bean<Foo> bean = Utils.getBean(beanManager, Foo.class);
+ beanManager.getReference(bean, Foo.class, null);
+ }
+}
Added: core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/beanManager/Foo.java
===================================================================
--- core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/beanManager/Foo.java (rev 0)
+++ core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/beanManager/Foo.java 2010-07-28 10:18:08 UTC (rev 6820)
@@ -0,0 +1,6 @@
+package org.jboss.weld.tests.beanManager;
+
+public class Foo
+{
+
+}
Added: core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/beanManager/annotation/ManagerAnnotationTest.java
===================================================================
--- core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/beanManager/annotation/ManagerAnnotationTest.java (rev 0)
+++ core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/beanManager/annotation/ManagerAnnotationTest.java 2010-07-28 10:18:08 UTC (rev 6820)
@@ -0,0 +1,99 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2010, Red Hat, Inc., and individual contributors
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * http://www.apache.org/licenses/LICENSE-2.0
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.jboss.weld.tests.beanManager.annotation;
+
+import javax.enterprise.inject.spi.BeanManager;
+import javax.inject.Inject;
+import javax.persistence.PersistenceContext;
+
+import org.jboss.arquillian.api.Deployment;
+import org.jboss.arquillian.junit.Arquillian;
+import org.jboss.shrinkwrap.api.Archive;
+import org.jboss.shrinkwrap.api.BeanArchive;
+import org.jboss.shrinkwrap.api.ShrinkWrap;
+import org.junit.Assert;
+import org.junit.Test;
+import org.junit.runner.RunWith;
+
+(a)RunWith(Arquillian.class)
+public class ManagerAnnotationTest
+{
+ @Deployment
+ public static Archive<?> deploy()
+ {
+ return ShrinkWrap.create(BeanArchive.class);
+ }
+
+ @Inject
+ private BeanManager beanManager;
+
+ /*
+ * description="WELD-299"
+ */
+ @Test
+ public void testIsQualifier() throws Exception
+ {
+ Assert.assertFalse(beanManager.isQualifier(PersistenceContext.class));
+ }
+
+ /*
+ * description="WELD-299"
+ */
+ @Test
+ public void testIsInterceptorBinding() throws Exception
+ {
+ Assert.assertFalse(beanManager.isInterceptorBinding(PersistenceContext.class));
+ }
+
+ /*
+ * description="WELD-299"
+ */
+ @Test
+ public void testIsNormalScope() throws Exception
+ {
+ Assert.assertFalse(beanManager.isNormalScope(PersistenceContext.class));
+ }
+
+ /*
+ * description="WELD-299"
+ */
+ @Test
+ public void testIsPassivatingScope() throws Exception
+ {
+ Assert.assertFalse(beanManager.isPassivatingScope(PersistenceContext.class));
+ }
+
+ /*
+ * description="WELD-299"
+ */
+ @Test
+ public void testIsScope() throws Exception
+ {
+ Assert.assertFalse(beanManager.isScope(PersistenceContext.class));
+ }
+
+ /*
+ * description="WELD-299"
+ */
+ @Test
+ public void testIsStereotype() throws Exception
+ {
+ Assert.assertFalse(beanManager.isStereotype(PersistenceContext.class));
+ }
+
+
+}
Added: core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/beanManager/serializability/Foo.java
===================================================================
--- core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/beanManager/serializability/Foo.java (rev 0)
+++ core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/beanManager/serializability/Foo.java 2010-07-28 10:18:08 UTC (rev 6820)
@@ -0,0 +1,22 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2010, Red Hat, Inc., and individual contributors
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * http://www.apache.org/licenses/LICENSE-2.0
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.jboss.weld.tests.beanManager.serializability;
+
+public class Foo
+{
+
+}
Added: core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/beanManager/serializability/ManagerTest.java
===================================================================
--- core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/beanManager/serializability/ManagerTest.java (rev 0)
+++ core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/beanManager/serializability/ManagerTest.java 2010-07-28 10:18:08 UTC (rev 6820)
@@ -0,0 +1,158 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2010, Red Hat, Inc., and individual contributors
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * http://www.apache.org/licenses/LICENSE-2.0
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.jboss.weld.tests.beanManager.serializability;
+
+import java.lang.annotation.Annotation;
+import java.lang.reflect.Type;
+import java.util.Collections;
+import java.util.HashSet;
+import java.util.Set;
+
+import javax.enterprise.context.Dependent;
+import javax.enterprise.context.spi.CreationalContext;
+import javax.enterprise.inject.spi.Bean;
+import javax.enterprise.inject.spi.InjectionPoint;
+import javax.inject.Inject;
+
+import org.jboss.arquillian.api.Deployment;
+import org.jboss.arquillian.junit.Arquillian;
+import org.jboss.shrinkwrap.api.Archive;
+import org.jboss.shrinkwrap.api.ShrinkWrap;
+import org.jboss.shrinkwrap.api.asset.EmptyAsset;
+import org.jboss.shrinkwrap.api.spec.WebArchive;
+import org.jboss.weld.literal.DefaultLiteral;
+import org.jboss.weld.manager.BeanManagerImpl;
+import org.jboss.weld.test.Utils;
+import org.junit.Assert;
+import org.junit.Test;
+import org.junit.runner.RunWith;
+
+(a)RunWith(Arquillian.class)
+public class ManagerTest
+{
+ @Deployment
+ public static Archive<?> deploy()
+ {
+ return ShrinkWrap.create(WebArchive.class, "test.war")
+ .addPackage(ManagerTest.class.getPackage())
+ .addClass(Utils.class)
+ .addWebResource(EmptyAsset.INSTANCE, "beans.xml");
+ }
+
+ private static final Set<Annotation> DEFAULT_QUALIFIERS = Collections.<Annotation>singleton(DefaultLiteral.INSTANCE);
+
+ private static interface Dummy {}
+
+ private static class DummyBean implements Bean<Dummy>
+ {
+ private static final Set<Type> TYPES = new HashSet<Type>();
+
+ static
+ {
+ TYPES.add(Dummy.class);
+ TYPES.add(Object.class);
+ }
+
+ public Set<Annotation> getQualifiers()
+ {
+ return DEFAULT_QUALIFIERS;
+ }
+
+ public Set<InjectionPoint> getInjectionPoints()
+ {
+ return Collections.emptySet();
+ }
+
+ public String getName()
+ {
+ return null;
+ }
+
+ public Class<? extends Annotation> getScope()
+ {
+ return Dependent.class;
+ }
+
+ public Set<Type> getTypes()
+ {
+ return TYPES;
+ }
+
+ public boolean isNullable()
+ {
+ return true;
+ }
+
+ public Dummy create(CreationalContext<Dummy> creationalContext)
+ {
+ return null;
+ }
+
+ public void destroy(Dummy instance, CreationalContext<Dummy> creationalContext)
+ {
+
+ }
+
+ public Class<?> getBeanClass()
+ {
+ return Dummy.class;
+ }
+
+ public boolean isAlternative()
+ {
+ return false;
+ }
+
+ public Set<Class<? extends Annotation>> getStereotypes()
+ {
+ return Collections.emptySet();
+ }
+
+ }
+
+ @Inject
+ private BeanManagerImpl beanManager;
+
+ @Test
+ public void testRootManagerSerializability() throws Exception
+ {
+ String rootManagerId = beanManager.getId();
+ BeanManagerImpl deserializedRootManager = (BeanManagerImpl) Utils.deserialize(Utils.serialize(beanManager));
+ Assert.assertEquals(rootManagerId, deserializedRootManager.getId());
+ Assert.assertEquals(1, beanManager.getBeans(Foo.class).size());
+ Assert.assertEquals(1, deserializedRootManager.getBeans(Foo.class).size());
+ Assert.assertEquals(
+ deserializedRootManager.getBeans(Foo.class).iterator().next(),
+ beanManager.getBeans(Foo.class).iterator().next());
+ }
+
+ @Test
+ public void testChildManagerSerializability() throws Exception
+ {
+ BeanManagerImpl childManager = beanManager.createActivity();
+ Bean<?> dummyBean = new DummyBean();
+ childManager.addBean(dummyBean);
+ String childManagerId = childManager.getId();
+ BeanManagerImpl deserializedChildManager = (BeanManagerImpl) Utils.deserialize(Utils.serialize(childManager));
+ Assert.assertEquals(childManagerId, deserializedChildManager.getId());
+ Assert.assertEquals(1, childManager.getBeans(Dummy.class).size());
+ Assert.assertEquals(1, deserializedChildManager.getBeans(Dummy.class).size());
+ Assert.assertEquals(
+ deserializedChildManager.getBeans(Dummy.class).iterator().next(),
+ childManager.getBeans(Dummy.class).iterator().next());
+ }
+}
Added: core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/builtinBeans/BuiltInBeanPassivationCapableTest.java
===================================================================
--- core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/builtinBeans/BuiltInBeanPassivationCapableTest.java (rev 0)
+++ core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/builtinBeans/BuiltInBeanPassivationCapableTest.java 2010-07-28 10:18:08 UTC (rev 6820)
@@ -0,0 +1,159 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2010, Red Hat, Inc., and individual contributors
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * http://www.apache.org/licenses/LICENSE-2.0
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.jboss.weld.tests.builtinBeans;
+
+import static org.jboss.weld.tests.builtinBeans.Checker.checkBeanManager;
+import static org.jboss.weld.tests.builtinBeans.Checker.checkEquality;
+import static org.jboss.weld.tests.builtinBeans.Checker.checkEvent;
+import static org.jboss.weld.tests.builtinBeans.Checker.checkInjectionPoint;
+import static org.jboss.weld.tests.builtinBeans.Checker.checkInstance;
+import static org.jboss.weld.tests.builtinBeans.Checker.checkPrincipal;
+import static org.jboss.weld.tests.builtinBeans.Checker.checkUserTransaction;
+import static org.jboss.weld.tests.builtinBeans.Checker.checkValidator;
+import static org.jboss.weld.tests.builtinBeans.Checker.checkValidatorFactory;
+
+import java.security.Principal;
+
+import javax.enterprise.event.Event;
+import javax.enterprise.inject.Instance;
+import javax.enterprise.inject.spi.BeanManager;
+import javax.enterprise.inject.spi.InjectionPoint;
+import javax.transaction.UserTransaction;
+import javax.validation.Validator;
+import javax.validation.ValidatorFactory;
+
+import org.jboss.arquillian.api.Deployment;
+import org.jboss.arquillian.junit.Arquillian;
+import org.jboss.shrinkwrap.api.Archive;
+import org.jboss.shrinkwrap.api.BeanArchive;
+import org.jboss.shrinkwrap.api.ShrinkWrap;
+import org.jboss.weld.test.Utils;
+import org.jboss.weld.tests.category.Broken;
+import org.jboss.weld.tests.category.Integration;
+import org.junit.Assert;
+import org.junit.Test;
+import org.junit.experimental.categories.Category;
+import org.junit.runner.RunWith;
+
+(a)RunWith(Arquillian.class)
+public class BuiltInBeanPassivationCapableTest
+{
+ @Deployment
+ public static Archive<?> deploy()
+ {
+ return ShrinkWrap.create(BeanArchive.class)
+ .addPackage(BuiltInBeanPassivationCapableTest.class.getPackage())
+ .addClass(Utils.class);
+ }
+
+ @Test
+ public void testDefaultValidatorBean(Validator validator) throws Throwable
+ {
+ Validator validator1 = Utils.deserialize(Utils.serialize(validator));
+ Assert.assertTrue(checkValidator(validator1));
+ }
+
+ @Test
+ public void testDefaultValidatorFactoryBean(ValidatorFactory validatorFactory) throws Throwable
+ {
+ ValidatorFactory validatorFactory1 = Utils.deserialize(Utils.serialize(validatorFactory));
+ Assert.assertTrue(checkValidatorFactory(validatorFactory1));
+ }
+
+ @Test
+ @Category({Integration.class, Broken.class})
+ public void testPrincipal(Principal principal) throws Throwable
+ {
+ Principal principal1 = Utils.deserialize(Utils.serialize(principal));
+ Assert.assertTrue(checkPrincipal(principal1));
+ }
+
+ @Test
+ public void testUserTransactionBean(UserTransaction userTransaction) throws Throwable
+ {
+ UserTransaction userTransaction1 = Utils.deserialize(Utils.serialize(userTransaction));
+ Assert.assertTrue(checkUserTransaction(userTransaction1));
+ }
+
+ @Test
+ public void testBeanManagerBean(BeanManager beanManager) throws Throwable
+ {
+ BeanManager beanManager1 = Utils.deserialize(Utils.serialize(beanManager));
+ Assert.assertTrue(checkBeanManager(beanManager1));
+ Assert.assertTrue(checkEquality(beanManager, beanManager1));
+ }
+
+ @Test
+ public void testInstance(Consumer consumer) throws Throwable
+ {
+ Instance<Cow> instance = consumer.getCow();
+ Instance<Cow> instance1 = Utils.deserialize(Utils.serialize(instance));
+ Assert.assertTrue(checkInstance(instance1));
+ Assert.assertTrue(checkEquality(instance, instance1));
+ }
+
+ @Test
+ public void testEvent(Consumer consumer, CowEventObserver observer) throws Throwable
+ {
+ Event<Cow> event = consumer.getEvent();
+ Event<Cow> event1 = Utils.deserialize(Utils.serialize(event));
+ Assert.assertTrue(checkEvent(event1, observer));
+ Assert.assertTrue(checkEquality(event, event1));
+ }
+
+ @Test
+ public void testFieldInjectionPoint(FieldInjectionPointConsumer consumer) throws Throwable
+ {
+ Dog.reset();
+ consumer.ping();
+ InjectionPoint injectionPoint = Dog.getInjectionPoint();
+ InjectionPoint injectionPoint1 = Utils.deserialize(Utils.serialize(injectionPoint));
+ Assert.assertTrue(checkInjectionPoint(injectionPoint1, FieldInjectionPointConsumer.class));
+ Assert.assertTrue(checkEquality(injectionPoint, injectionPoint1));
+ }
+
+ @Test
+ public void testConstructorInjectionPoint(ConstructorInjectionPointConsumer consumer) throws Throwable
+ {
+ Dog.reset();
+ consumer.ping();
+ InjectionPoint injectionPoint = Dog.getInjectionPoint();
+ InjectionPoint injectionPoint1 = Utils.deserialize(Utils.serialize(injectionPoint));
+ Assert.assertTrue(checkInjectionPoint(injectionPoint1, ConstructorInjectionPointConsumer.class));
+ Assert.assertTrue(checkEquality(injectionPoint, injectionPoint1));
+ }
+
+ @Test
+ public void testMethodInjectionPoint(MethodInjectionPointConsumer consumer) throws Throwable
+ {
+ Dog.reset();
+ consumer.ping();
+ InjectionPoint injectionPoint = Dog.getInjectionPoint();
+ InjectionPoint injectionPoint1 = Utils.deserialize(Utils.serialize(injectionPoint));
+ Assert.assertTrue(checkInjectionPoint(injectionPoint1, MethodInjectionPointConsumer.class));
+ Assert.assertTrue(checkEquality(injectionPoint, injectionPoint1));
+ }
+
+ @Test
+ public void testAllOnBean(Consumer consumer) throws Throwable
+ {
+ consumer.check();
+ Consumer consumer1 = Utils.deserialize(Utils.serialize(consumer));
+ consumer1.check();
+ }
+
+}
Added: core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/builtinBeans/Checker.java
===================================================================
--- core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/builtinBeans/Checker.java (rev 0)
+++ core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/builtinBeans/Checker.java 2010-07-28 10:18:08 UTC (rev 6820)
@@ -0,0 +1,138 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2010, Red Hat, Inc., and individual contributors
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * http://www.apache.org/licenses/LICENSE-2.0
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.jboss.weld.tests.builtinBeans;
+
+import java.security.Principal;
+
+import javax.enterprise.context.ApplicationScoped;
+import javax.enterprise.event.Event;
+import javax.enterprise.inject.Instance;
+import javax.enterprise.inject.spi.BeanManager;
+import javax.enterprise.inject.spi.InjectionPoint;
+import javax.transaction.SystemException;
+import javax.transaction.UserTransaction;
+import javax.validation.ValidationException;
+import javax.validation.Validator;
+import javax.validation.ValidatorFactory;
+
+public class Checker
+{
+
+ public static boolean checkPrincipal(Principal principal)
+ {
+ principal.getName();
+ return true;
+ }
+
+ public static boolean checkBeanManager(BeanManager beanManager)
+ {
+ return beanManager != null && beanManager.isScope(ApplicationScoped.class);
+ }
+
+ public static boolean checkUserTransaction(UserTransaction userTransaction)
+ {
+ try
+ {
+ if (userTransaction != null)
+ {
+ userTransaction.getStatus();
+ return true;
+ }
+ }
+ catch (SystemException e)
+ {
+ throw new RuntimeException(e);
+ }
+ return false;
+ }
+
+ public static boolean checkValidator(Validator validator)
+ {
+ try
+ {
+ if (validator != null)
+ {
+ validator.unwrap(String.class);
+ }
+ }
+ catch (ValidationException e)
+ {
+ return true;
+ }
+ return false;
+ }
+
+ public static boolean checkValidatorFactory(ValidatorFactory validatorFactory)
+ {
+ try
+ {
+ if (validatorFactory != null)
+ {
+ validatorFactory.unwrap(String.class);
+ }
+ }
+ catch (ValidationException e)
+ {
+ return true;
+ }
+ return false;
+ }
+
+ public static boolean checkInstance(Instance<Cow> cow)
+ {
+ if (cow != null && cow.get() != null)
+ {
+ return "Daisy".equals(cow.get().getName());
+ }
+ else
+ {
+ return false;
+ }
+ }
+
+ public static boolean checkEvent(Event<Cow> cowEvent, CowEventObserver observer)
+ {
+ observer.reset();
+ if (cowEvent != null)
+ {
+ cowEvent.fire(new Cow());
+ return observer.isObserved();
+ }
+ else
+ {
+ return false;
+ }
+ }
+
+ public static boolean checkInjectionPoint(InjectionPoint injectionPoint, Class<?> injectedClass)
+ {
+ if (injectionPoint != null)
+ {
+ return injectedClass.equals(injectionPoint.getBean().getBeanClass());
+ }
+ else
+ {
+ return false;
+ }
+ }
+
+ public static boolean checkEquality(Object object1, Object object2)
+ {
+ return object1.equals(object2) && object1.hashCode() == object2.hashCode();
+ }
+
+}
Added: core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/builtinBeans/ConstructorInjectionPointConsumer.java
===================================================================
--- core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/builtinBeans/ConstructorInjectionPointConsumer.java (rev 0)
+++ core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/builtinBeans/ConstructorInjectionPointConsumer.java 2010-07-28 10:18:08 UTC (rev 6820)
@@ -0,0 +1,35 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2010, Red Hat, Inc., and individual contributors
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * http://www.apache.org/licenses/LICENSE-2.0
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.jboss.weld.tests.builtinBeans;
+
+import java.io.Serializable;
+
+import javax.enterprise.context.SessionScoped;
+import javax.inject.Inject;
+
+@SessionScoped
+public class ConstructorInjectionPointConsumer implements Serializable
+{
+
+ public ConstructorInjectionPointConsumer() {}
+
+ @Inject
+ public ConstructorInjectionPointConsumer(Dog dog) {}
+
+ public void ping() {}
+
+}
Added: core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/builtinBeans/Consumer.java
===================================================================
--- core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/builtinBeans/Consumer.java (rev 0)
+++ core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/builtinBeans/Consumer.java 2010-07-28 10:18:08 UTC (rev 6820)
@@ -0,0 +1,76 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2010, Red Hat, Inc., and individual contributors
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * http://www.apache.org/licenses/LICENSE-2.0
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.jboss.weld.tests.builtinBeans;
+
+import java.io.Serializable;
+
+import javax.annotation.PostConstruct;
+import javax.enterprise.context.SessionScoped;
+import javax.enterprise.event.Event;
+import javax.enterprise.inject.Instance;
+import javax.enterprise.inject.spi.BeanManager;
+import javax.inject.Inject;
+import javax.transaction.UserTransaction;
+import javax.validation.Validator;
+import javax.validation.ValidatorFactory;
+
+@SessionScoped
+public class Consumer implements Serializable
+{
+
+ @Inject Validator validator;
+ @Inject ValidatorFactory validatorFactory;
+ // Not working incontainer as there is no principal
+ //@Inject Principal principal;
+ @Inject UserTransaction userTransaction;
+ @Inject BeanManager beanManager;
+ @Inject Instance<Cow> cow;
+ @Inject Event<Cow> event;
+ @Inject CowEventObserver observer;
+
+ @PostConstruct
+ public void postConstruct()
+ {
+ cow.get().setName("Daisy");
+ }
+
+ public Instance<Cow> getCow()
+ {
+ return cow;
+ }
+
+ public Event<Cow> getEvent()
+ {
+ return event;
+ }
+
+ public void check()
+ {
+ assert Checker.checkBeanManager(beanManager);
+
+ // Not working incontainer as there is no principal
+ //assert Checker.checkPrincipal(principal);
+ assert Checker.checkUserTransaction(userTransaction);
+ assert Checker.checkValidator(validator);
+ assert Checker.checkValidatorFactory(validatorFactory);
+ assert Checker.checkInstance(cow);
+ assert Checker.checkEvent(event, observer);
+ }
+
+
+
+}
Added: core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/builtinBeans/Cow.java
===================================================================
--- core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/builtinBeans/Cow.java (rev 0)
+++ core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/builtinBeans/Cow.java 2010-07-28 10:18:08 UTC (rev 6820)
@@ -0,0 +1,37 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2010, Red Hat, Inc., and individual contributors
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * http://www.apache.org/licenses/LICENSE-2.0
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.jboss.weld.tests.builtinBeans;
+
+import javax.enterprise.context.RequestScoped;
+
+@RequestScoped
+public class Cow
+{
+
+ private String name;
+
+ public String getName()
+ {
+ return name;
+ }
+
+ public void setName(String name)
+ {
+ this.name = name;
+ }
+
+}
Added: core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/builtinBeans/CowEventObserver.java
===================================================================
--- core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/builtinBeans/CowEventObserver.java (rev 0)
+++ core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/builtinBeans/CowEventObserver.java 2010-07-28 10:18:08 UTC (rev 6820)
@@ -0,0 +1,45 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2010, Red Hat, Inc., and individual contributors
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * http://www.apache.org/licenses/LICENSE-2.0
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.jboss.weld.tests.builtinBeans;
+
+import java.io.Serializable;
+
+import javax.enterprise.context.ApplicationScoped;
+import javax.enterprise.event.Observes;
+
+@ApplicationScoped
+public class CowEventObserver implements Serializable
+{
+
+ private boolean observed;
+
+ public void observeEvent(@Observes Cow cow)
+ {
+ this.observed = true;
+ }
+
+ public boolean isObserved()
+ {
+ return observed;
+ }
+
+ public void reset()
+ {
+ this.observed = false;
+ }
+
+}
Added: core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/builtinBeans/Dog.java
===================================================================
--- core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/builtinBeans/Dog.java (rev 0)
+++ core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/builtinBeans/Dog.java 2010-07-28 10:18:08 UTC (rev 6820)
@@ -0,0 +1,45 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2010, Red Hat, Inc., and individual contributors
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * http://www.apache.org/licenses/LICENSE-2.0
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.jboss.weld.tests.builtinBeans;
+
+import java.io.Serializable;
+
+import javax.enterprise.inject.spi.InjectionPoint;
+import javax.inject.Inject;
+
+public class Dog implements Serializable
+{
+
+ private static InjectionPoint injectionPoint;
+
+ @Inject
+ public Dog(InjectionPoint injectionPoint)
+ {
+ Dog.injectionPoint = injectionPoint;
+ }
+
+ public static void reset()
+ {
+ Dog.injectionPoint = null;
+ }
+
+ public static InjectionPoint getInjectionPoint()
+ {
+ return injectionPoint;
+ }
+
+}
Added: core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/builtinBeans/FieldInjectionPointConsumer.java
===================================================================
--- core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/builtinBeans/FieldInjectionPointConsumer.java (rev 0)
+++ core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/builtinBeans/FieldInjectionPointConsumer.java 2010-07-28 10:18:08 UTC (rev 6820)
@@ -0,0 +1,32 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2010, Red Hat, Inc., and individual contributors
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * http://www.apache.org/licenses/LICENSE-2.0
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.jboss.weld.tests.builtinBeans;
+
+import java.io.Serializable;
+
+import javax.enterprise.context.SessionScoped;
+import javax.inject.Inject;
+
+@SessionScoped
+public class FieldInjectionPointConsumer implements Serializable
+{
+
+ @Inject Dog dogField;
+
+ public void ping() {}
+
+}
Added: core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/builtinBeans/MethodInjectionPointConsumer.java
===================================================================
--- core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/builtinBeans/MethodInjectionPointConsumer.java (rev 0)
+++ core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/builtinBeans/MethodInjectionPointConsumer.java 2010-07-28 10:18:08 UTC (rev 6820)
@@ -0,0 +1,33 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2010, Red Hat, Inc., and individual contributors
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * http://www.apache.org/licenses/LICENSE-2.0
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.jboss.weld.tests.builtinBeans;
+
+import java.io.Serializable;
+
+import javax.enterprise.context.SessionScoped;
+import javax.inject.Inject;
+
+@SessionScoped
+public class MethodInjectionPointConsumer implements Serializable
+{
+
+ @Inject
+ public void setDog(Dog dog) {}
+
+ public void ping() {}
+
+}
Added: core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/builtinBeans/Produced.java
===================================================================
--- core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/builtinBeans/Produced.java (rev 0)
+++ core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/builtinBeans/Produced.java 2010-07-28 10:18:08 UTC (rev 6820)
@@ -0,0 +1,38 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2010, Red Hat, Inc., and individual contributors
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * http://www.apache.org/licenses/LICENSE-2.0
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.jboss.weld.tests.builtinBeans;
+
+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.inject.Qualifier;
+
+@Qualifier
+@Retention(RUNTIME)
+@Target( { TYPE, METHOD, FIELD, PARAMETER })
+@Documented
+@interface Produced
+{
+
+}
Added: core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/builtinBeans/ee/Checker.java
===================================================================
--- core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/builtinBeans/ee/Checker.java (rev 0)
+++ core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/builtinBeans/ee/Checker.java 2010-07-28 10:18:08 UTC (rev 6820)
@@ -0,0 +1,81 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2010, Red Hat, Inc., and individual contributors
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * http://www.apache.org/licenses/LICENSE-2.0
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.jboss.weld.tests.builtinBeans.ee;
+
+import javax.persistence.EntityManager;
+import javax.persistence.EntityManagerFactory;
+import javax.transaction.SystemException;
+import javax.transaction.UserTransaction;
+
+public class Checker
+{
+
+ public static boolean checkUserTransaction(UserTransaction userTransaction)
+ {
+ try
+ {
+ if (userTransaction != null)
+ {
+ userTransaction.getStatus();
+ return true;
+ }
+ }
+ catch (SystemException e)
+ {
+ throw new RuntimeException(e);
+ }
+ return false;
+ }
+
+
+ public static boolean checkEntityManager(EntityManager entityManager)
+ {
+ if (entityManager != null)
+ {
+ return entityManager.isOpen();
+ }
+ else
+ {
+ return false;
+ }
+ }
+
+ public static boolean checkEntityManagerFactory(EntityManagerFactory entityManagerFactory)
+ {
+ if (entityManagerFactory != null)
+ {
+ return entityManagerFactory.isOpen();
+ }
+ else
+ {
+ return false;
+ }
+ }
+
+ public static boolean checkRemoteEjb(HorseRemote horse)
+ {
+ if (horse != null)
+ {
+ return horse.ping();
+ }
+ else
+ {
+ return false;
+ }
+ }
+
+}
Added: core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/builtinBeans/ee/EEResourceConsumer.java
===================================================================
--- core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/builtinBeans/ee/EEResourceConsumer.java (rev 0)
+++ core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/builtinBeans/ee/EEResourceConsumer.java 2010-07-28 10:18:08 UTC (rev 6820)
@@ -0,0 +1,51 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2010, Red Hat, Inc., and individual contributors
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * http://www.apache.org/licenses/LICENSE-2.0
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.jboss.weld.tests.builtinBeans.ee;
+
+import static org.jboss.weld.tests.builtinBeans.ee.Checker.checkEntityManager;
+import static org.jboss.weld.tests.builtinBeans.ee.Checker.checkEntityManagerFactory;
+import static org.jboss.weld.tests.builtinBeans.ee.Checker.checkRemoteEjb;
+import static org.jboss.weld.tests.builtinBeans.ee.Checker.checkUserTransaction;
+
+import java.io.Serializable;
+
+import javax.enterprise.context.SessionScoped;
+import javax.inject.Inject;
+import javax.persistence.EntityManager;
+import javax.persistence.EntityManagerFactory;
+import javax.transaction.UserTransaction;
+
+import org.junit.Assert;
+
+@SessionScoped
+public class EEResourceConsumer implements Serializable
+{
+
+ @Inject @Produced UserTransaction userTransaction;
+ @Inject @Produced EntityManager entityManager;
+ @Inject @Produced EntityManagerFactory entityManagerFactory;
+ @Inject @Produced HorseRemote horse;
+
+ public void check()
+ {
+ Assert.assertTrue(checkUserTransaction(userTransaction));
+ Assert.assertTrue(checkEntityManager(entityManager));
+ Assert.assertTrue(checkEntityManagerFactory(entityManagerFactory));
+ Assert.assertTrue(checkRemoteEjb(horse));
+ }
+
+}
Added: core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/builtinBeans/ee/EEResourceProducer.java
===================================================================
--- core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/builtinBeans/ee/EEResourceProducer.java (rev 0)
+++ core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/builtinBeans/ee/EEResourceProducer.java 2010-07-28 10:18:08 UTC (rev 6820)
@@ -0,0 +1,51 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2010, Red Hat, Inc., and individual contributors
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * http://www.apache.org/licenses/LICENSE-2.0
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.jboss.weld.tests.builtinBeans.ee;
+
+import javax.annotation.Resource;
+import javax.ejb.EJB;
+import javax.enterprise.inject.Produces;
+import javax.persistence.EntityManager;
+import javax.persistence.EntityManagerFactory;
+import javax.persistence.PersistenceContext;
+import javax.persistence.PersistenceUnit;
+import javax.transaction.UserTransaction;
+
+public class EEResourceProducer
+{
+
+ @Resource(mappedName="java:comp/UserTransaction")
+ @Produced
+ @Produces
+ private UserTransaction transaction;
+
+ @PersistenceContext
+ @Produces
+ @Produced
+ private EntityManager entityManager;
+
+ @PersistenceUnit
+ @Produces
+ @Produced
+ private EntityManagerFactory entityManagerFactory;
+
+ @EJB
+ @Produces
+ @Produced
+ private HorseRemote horse;
+
+}
Added: core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/builtinBeans/ee/EEResourceProducerFieldPassivationCapableTest.java
===================================================================
--- core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/builtinBeans/ee/EEResourceProducerFieldPassivationCapableTest.java (rev 0)
+++ core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/builtinBeans/ee/EEResourceProducerFieldPassivationCapableTest.java 2010-07-28 10:18:08 UTC (rev 6820)
@@ -0,0 +1,97 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2010, Red Hat, Inc., and individual contributors
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * http://www.apache.org/licenses/LICENSE-2.0
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.jboss.weld.tests.builtinBeans.ee;
+
+import static org.jboss.weld.tests.builtinBeans.ee.Checker.checkEntityManager;
+import static org.jboss.weld.tests.builtinBeans.ee.Checker.checkEntityManagerFactory;
+import static org.jboss.weld.tests.builtinBeans.ee.Checker.checkRemoteEjb;
+import static org.jboss.weld.tests.builtinBeans.ee.Checker.checkUserTransaction;
+
+import javax.persistence.EntityManager;
+import javax.persistence.EntityManagerFactory;
+import javax.transaction.UserTransaction;
+
+import org.jboss.arquillian.api.Deployment;
+import org.jboss.arquillian.junit.Arquillian;
+import org.jboss.shrinkwrap.api.Archive;
+import org.jboss.shrinkwrap.api.ShrinkWrap;
+import org.jboss.shrinkwrap.api.asset.EmptyAsset;
+import org.jboss.shrinkwrap.api.spec.EnterpriseArchive;
+import org.jboss.shrinkwrap.api.spec.JavaArchive;
+import org.jboss.weld.test.Utils;
+import org.jboss.weld.tests.category.Integration;
+import org.junit.Assert;
+import org.junit.Test;
+import org.junit.experimental.categories.Category;
+import org.junit.runner.RunWith;
+
+(a)Category(Integration.class)
+(a)RunWith(Arquillian.class)
+public class EEResourceProducerFieldPassivationCapableTest
+{
+ @Deployment
+ public static Archive<?> deploy()
+ {
+ return ShrinkWrap.create(EnterpriseArchive.class, "test.ear")
+ .addModule(
+ ShrinkWrap.create(JavaArchive.class)
+ .addPackage(EEResourceProducerFieldPassivationCapableTest.class.getPackage())
+ .addClass(Utils.class)
+ .addManifestResource(
+ EEResourceProducerFieldPassivationCapableTest.class.getPackage(),
+ "persistence.xml", "persistence.xml")
+ .addManifestResource(EmptyAsset.INSTANCE, "beans.xml")
+ );
+ }
+
+ @Test
+ public void testResource(@Produced UserTransaction userTransaction) throws Throwable
+ {
+ UserTransaction userTransaction1 = Utils.deserialize(Utils.serialize(userTransaction));
+ Assert.assertTrue(checkUserTransaction(userTransaction1));
+ }
+
+ @Test
+ public void testEntityManager(@Produced EntityManager entityManager) throws Throwable
+ {
+ EntityManager entityManager1 = Utils.deserialize(Utils.serialize(entityManager));
+ Assert.assertTrue(checkEntityManager(entityManager1));
+ }
+
+ @Test
+ public void testEntityManagerFactory(@Produced EntityManagerFactory entityManagerFactory) throws Throwable
+ {
+ EntityManagerFactory entityManagerFactory1 = Utils.deserialize(Utils.serialize(entityManagerFactory));
+ Assert.assertTrue(checkEntityManagerFactory(entityManagerFactory1));
+ }
+
+ @Test
+ public void testRemoteEjb(@Produced HorseRemote horse) throws Throwable
+ {
+ HorseRemote horse1 = Utils.deserialize(Utils.serialize(horse));
+ Assert.assertTrue(checkRemoteEjb(horse1));
+ }
+
+ @Test
+ public void testAllOnBean(EEResourceConsumer consumer) throws Throwable
+ {
+ consumer.check();
+ EEResourceConsumer consumer1 = Utils.deserialize(Utils.serialize(consumer));
+ consumer1.check();
+ }
+
+}
Added: core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/builtinBeans/ee/Horse.java
===================================================================
--- core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/builtinBeans/ee/Horse.java (rev 0)
+++ core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/builtinBeans/ee/Horse.java 2010-07-28 10:18:08 UTC (rev 6820)
@@ -0,0 +1,29 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2010, Red Hat, Inc., and individual contributors
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * http://www.apache.org/licenses/LICENSE-2.0
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.jboss.weld.tests.builtinBeans.ee;
+
+import javax.ejb.Stateful;
+
+
+@Stateful
+public class Horse implements HorseRemote
+{
+ public boolean ping()
+ {
+ return true;
+ }
+}
Added: core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/builtinBeans/ee/HorseRemote.java
===================================================================
--- core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/builtinBeans/ee/HorseRemote.java (rev 0)
+++ core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/builtinBeans/ee/HorseRemote.java 2010-07-28 10:18:08 UTC (rev 6820)
@@ -0,0 +1,27 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2010, Red Hat, Inc., and individual contributors
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * http://www.apache.org/licenses/LICENSE-2.0
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.jboss.weld.tests.builtinBeans.ee;
+
+import javax.ejb.Remote;
+
+@Remote
+public interface HorseRemote
+{
+
+ public boolean ping();
+
+}
Added: core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/builtinBeans/ee/Produced.java
===================================================================
--- core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/builtinBeans/ee/Produced.java (rev 0)
+++ core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/builtinBeans/ee/Produced.java 2010-07-28 10:18:08 UTC (rev 6820)
@@ -0,0 +1,38 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2010, Red Hat, Inc., and individual contributors
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * http://www.apache.org/licenses/LICENSE-2.0
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.jboss.weld.tests.builtinBeans.ee;
+
+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.inject.Qualifier;
+
+@Qualifier
+@Retention(RUNTIME)
+@Target( { TYPE, METHOD, FIELD, PARAMETER })
+@Documented
+@interface Produced
+{
+
+}
Added: core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/builtinBeans/weld471/Bar.java
===================================================================
--- core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/builtinBeans/weld471/Bar.java (rev 0)
+++ core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/builtinBeans/weld471/Bar.java 2010-07-28 10:18:08 UTC (rev 6820)
@@ -0,0 +1,27 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2010, Red Hat, Inc., and individual contributors
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * http://www.apache.org/licenses/LICENSE-2.0
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.jboss.weld.tests.builtinBeans.weld471;
+
+import javax.enterprise.context.ApplicationScoped;
+import javax.enterprise.inject.Instance;
+import javax.enterprise.inject.New;
+import javax.inject.Inject;
+
+@ApplicationScoped
+public class Bar {
+ @Inject @New private Instance<Foo> foo;
+}
Added: core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/builtinBeans/weld471/Foo.java
===================================================================
--- core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/builtinBeans/weld471/Foo.java (rev 0)
+++ core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/builtinBeans/weld471/Foo.java 2010-07-28 10:18:08 UTC (rev 6820)
@@ -0,0 +1,24 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2010, Red Hat, Inc., and individual contributors
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * http://www.apache.org/licenses/LICENSE-2.0
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.jboss.weld.tests.builtinBeans.weld471;
+
+import javax.enterprise.context.ApplicationScoped;
+
+@ApplicationScoped
+public class Foo {
+
+}
Added: core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/builtinBeans/weld471/InstanceTest.java
===================================================================
--- core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/builtinBeans/weld471/InstanceTest.java (rev 0)
+++ core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/builtinBeans/weld471/InstanceTest.java 2010-07-28 10:18:08 UTC (rev 6820)
@@ -0,0 +1,43 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2010, Red Hat, Inc., and individual contributors
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * http://www.apache.org/licenses/LICENSE-2.0
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.jboss.weld.tests.builtinBeans.weld471;
+
+import org.jboss.arquillian.api.Deployment;
+import org.jboss.arquillian.junit.Arquillian;
+import org.jboss.shrinkwrap.api.Archive;
+import org.jboss.shrinkwrap.api.BeanArchive;
+import org.jboss.shrinkwrap.api.ShrinkWrap;
+import org.junit.Assert;
+import org.junit.Test;
+import org.junit.runner.RunWith;
+
+(a)RunWith(Arquillian.class)
+public class InstanceTest
+{
+ @Deployment
+ public static Archive<?> deploy()
+ {
+ return ShrinkWrap.create(BeanArchive.class)
+ .addPackage(InstanceTest.class.getPackage());
+ }
+
+ @Test
+ public void testNewInstance(Bar bar)
+ {
+ Assert.assertNotNull(bar);
+ }
+}
Added: core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/contexts/ApplicationScopedObject.java
===================================================================
--- core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/contexts/ApplicationScopedObject.java (rev 0)
+++ core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/contexts/ApplicationScopedObject.java 2010-07-28 10:18:08 UTC (rev 6820)
@@ -0,0 +1,36 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2010, Red Hat, Inc., and individual contributors
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * http://www.apache.org/licenses/LICENSE-2.0
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.jboss.weld.tests.contexts;
+
+import java.util.concurrent.atomic.AtomicInteger;
+
+import javax.enterprise.context.ApplicationScoped;
+
+@ApplicationScoped
+public class ApplicationScopedObject
+{
+ private AtomicInteger counter = new AtomicInteger();
+
+ public void increment()
+ {
+ counter.incrementAndGet();
+ }
+ public int getValue()
+ {
+ return counter.get();
+ }
+}
Added: core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/contexts/ApplicationScopedTest.java
===================================================================
--- core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/contexts/ApplicationScopedTest.java (rev 0)
+++ core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/contexts/ApplicationScopedTest.java 2010-07-28 10:18:08 UTC (rev 6820)
@@ -0,0 +1,65 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2010, Red Hat, Inc., and individual contributors
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * http://www.apache.org/licenses/LICENSE-2.0
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.jboss.weld.tests.contexts;
+
+import java.util.concurrent.CountDownLatch;
+
+import org.jboss.arquillian.api.Deployment;
+import org.jboss.arquillian.junit.Arquillian;
+import org.jboss.shrinkwrap.api.Archive;
+import org.jboss.shrinkwrap.api.BeanArchive;
+import org.jboss.shrinkwrap.api.ShrinkWrap;
+import org.junit.Test;
+import org.junit.runner.RunWith;
+
+(a)RunWith(Arquillian.class)
+public class ApplicationScopedTest
+{
+ @Deployment
+ public static Archive<?> deploy()
+ {
+ return ShrinkWrap.create(BeanArchive.class)
+ .addPackage(ApplicationScopedTest.class.getPackage());
+ }
+
+ @Test
+ public void testConcurrentInitilized(final ApplicationScopedObject applicationScopedObject) throws InterruptedException
+ {
+ final CountDownLatch latch = new CountDownLatch(10);
+ for (int i = 0; i < 10; i++)
+ {
+ new Thread(new Runnable()
+ {
+ public void run()
+ {
+ try
+ {
+ applicationScopedObject.increment();
+ }
+ finally
+ {
+ latch.countDown();
+ }
+ }
+ }).start();
+ }
+ latch.await();
+ int value = applicationScopedObject.getValue();
+ assert value == 10;
+ }
+
+}
Added: core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/contexts/ContextTest.java
===================================================================
--- core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/contexts/ContextTest.java (rev 0)
+++ core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/contexts/ContextTest.java 2010-07-28 10:18:08 UTC (rev 6820)
@@ -0,0 +1,165 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2010, Red Hat, Inc., and individual contributors
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * http://www.apache.org/licenses/LICENSE-2.0
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.jboss.weld.tests.contexts;
+
+import javax.enterprise.context.ContextNotActiveException;
+import javax.enterprise.context.Conversation;
+import javax.inject.Inject;
+
+import org.jboss.arquillian.api.Deployment;
+import org.jboss.arquillian.junit.Arquillian;
+import org.jboss.shrinkwrap.api.Archive;
+import org.jboss.shrinkwrap.api.BeanArchive;
+import org.jboss.shrinkwrap.api.ShrinkWrap;
+import org.jboss.weld.Container;
+import org.jboss.weld.context.ContextLifecycle;
+import org.jboss.weld.manager.BeanManagerImpl;
+import org.jboss.weld.test.Utils;
+import org.junit.Assert;
+import org.junit.Test;
+import org.junit.runner.RunWith;
+
+(a)RunWith(Arquillian.class)
+public class ContextTest
+{
+ @Deployment
+ public static Archive<?> deploy()
+ {
+ return ShrinkWrap.create(BeanArchive.class)
+ .addPackage(ContextTest.class.getPackage())
+ .addClass(Utils.class);
+ }
+
+ @Inject
+ private BeanManagerImpl beanManager;
+
+ /*
+ * description = "WELD-348"
+ */
+ @Test
+ public void testCallToConversationWithContextNotActive()
+ {
+ boolean alreadyActive = false;
+ try
+ {
+ alreadyActive = Container.instance().services().get(ContextLifecycle.class).isConversationActive();
+ if (alreadyActive)
+ {
+ Container.instance().services().get(ContextLifecycle.class).getConversationContext().setActive(false);
+ }
+ try
+ {
+ Utils.getReference(beanManager, Conversation.class).getId();
+ Assert.fail();
+ }
+ catch (ContextNotActiveException e)
+ {
+ // Expected
+ }
+ catch (Exception e)
+ {
+ Assert.fail();
+ }
+ try
+ {
+ Utils.getReference(beanManager, Conversation.class).getTimeout();
+ Assert.fail();
+ }
+ catch (ContextNotActiveException e)
+ {
+ // Expected
+ }
+ catch (Exception e)
+ {
+ Assert.fail();
+ }
+ try
+ {
+ Utils.getReference(beanManager, Conversation.class).begin();
+ Assert.fail();
+ }
+ catch (ContextNotActiveException e)
+ {
+ // Expected
+ }
+ catch (Exception e)
+ {
+ Assert.fail();
+ }
+ try
+ {
+ Utils.getReference(beanManager, Conversation.class).begin("foo");
+ Assert.fail();
+ }
+ catch (ContextNotActiveException e)
+ {
+ // Expected
+ }
+ catch (Exception e)
+ {
+ Assert.fail();
+ }
+ try
+ {
+ Utils.getReference(beanManager, Conversation.class).end();
+ Assert.fail();
+ }
+ catch (ContextNotActiveException e)
+ {
+ // Expected
+ }
+ catch (Exception e)
+ {
+ Assert.fail();
+ }
+ try
+ {
+ Utils.getReference(beanManager, Conversation.class).isTransient();
+ Assert.fail();
+ }
+ catch (ContextNotActiveException e)
+ {
+ // Expected
+ }
+ catch (Exception e)
+ {
+ Assert.fail();
+ }
+ try
+ {
+ Utils.getReference(beanManager, Conversation.class).setTimeout(0);
+ assert false;
+ }
+ catch (ContextNotActiveException e)
+ {
+ // Expected
+ }
+ catch (Exception e)
+ {
+ Assert.fail();
+ }
+ }
+ finally
+ {
+ if (alreadyActive)
+ {
+ Container.instance().services().get(ContextLifecycle.class).getConversationContext().setActive(true);
+ }
+ }
+
+ }
+}
Added: core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/contexts/ParameterizedTypeScoped.java
===================================================================
--- core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/contexts/ParameterizedTypeScoped.java (rev 0)
+++ core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/contexts/ParameterizedTypeScoped.java 2010-07-28 10:18:08 UTC (rev 6820)
@@ -0,0 +1,34 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2010, Red Hat, Inc., and individual contributors
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * http://www.apache.org/licenses/LICENSE-2.0
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.jboss.weld.tests.contexts;
+
+import java.util.Arrays;
+import java.util.List;
+
+import javax.enterprise.context.RequestScoped;
+import javax.enterprise.inject.Produces;
+
+public class ParameterizedTypeScoped
+{
+
+ @RequestScoped
+ @Produces
+ public List<String> create()
+ {
+ return Arrays.asList("iemon", "houjitya");
+ }
+}
Added: core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/contexts/ParameterizedTypeScopedTest.java
===================================================================
--- core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/contexts/ParameterizedTypeScopedTest.java (rev 0)
+++ core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/contexts/ParameterizedTypeScopedTest.java 2010-07-28 10:18:08 UTC (rev 6820)
@@ -0,0 +1,46 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2010, Red Hat, Inc., and individual contributors
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * http://www.apache.org/licenses/LICENSE-2.0
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.jboss.weld.tests.contexts;
+
+import java.util.List;
+
+import org.jboss.arquillian.api.Deployment;
+import org.jboss.arquillian.junit.Arquillian;
+import org.jboss.shrinkwrap.api.Archive;
+import org.jboss.shrinkwrap.api.BeanArchive;
+import org.jboss.shrinkwrap.api.ShrinkWrap;
+import org.junit.Assert;
+import org.junit.Test;
+import org.junit.runner.RunWith;
+
+(a)RunWith(Arquillian.class)
+public class ParameterizedTypeScopedTest
+{
+ @Deployment
+ public static Archive<?> deploy()
+ {
+ return ShrinkWrap.create(BeanArchive.class)
+ .addPackage(ParameterizedTypeScopedTest.class.getPackage());
+ }
+
+ @Test
+ public void testStringList(StringHolder holder)
+ {
+ List<String> str = holder.getStrings();
+ Assert.assertEquals(2, str.size());
+ }
+}
Added: core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/contexts/PassivatingContextTest.java
===================================================================
--- core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/contexts/PassivatingContextTest.java (rev 0)
+++ core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/contexts/PassivatingContextTest.java 2010-07-28 10:18:08 UTC (rev 6820)
@@ -0,0 +1,89 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2010, Red Hat, Inc., and individual contributors
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * http://www.apache.org/licenses/LICENSE-2.0
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.jboss.weld.tests.contexts;
+
+import javax.enterprise.context.ApplicationScoped;
+import javax.enterprise.context.ConversationScoped;
+import javax.enterprise.context.RequestScoped;
+import javax.enterprise.context.SessionScoped;
+import javax.inject.Inject;
+
+import org.jboss.arquillian.api.Deployment;
+import org.jboss.arquillian.junit.Arquillian;
+import org.jboss.shrinkwrap.api.Archive;
+import org.jboss.shrinkwrap.api.BeanArchive;
+import org.jboss.shrinkwrap.api.ShrinkWrap;
+import org.jboss.weld.manager.BeanManagerImpl;
+import org.jboss.weld.metadata.cache.MetaAnnotationStore;
+import org.junit.Assert;
+import org.junit.Test;
+import org.junit.runner.RunWith;
+
+(a)RunWith(Arquillian.class)
+public class PassivatingContextTest
+{
+ @Deployment
+ public static Archive<?> deploy()
+ {
+ return ShrinkWrap.create(BeanArchive.class)
+ .addPackage(PassivatingContextTest.class.getPackage());
+ }
+
+ @Inject
+ private BeanManagerImpl beanManager;
+
+ /**
+ * The built-in session and conversation scopes are passivating. No other
+ * built-in scope is passivating.
+ */
+ @Test
+ public void testIsSessionScopePassivating()
+ {
+ Assert.assertTrue(beanManager.getServices().get(MetaAnnotationStore.class).getScopeModel(SessionScoped.class).isPassivating());
+ }
+
+ /**
+ * The built-in session and conversation scopes are passivating. No other
+ * built-in scope is passivating.
+ */
+ @Test
+ public void testIsConversationScopePassivating()
+ {
+ Assert.assertTrue(beanManager.getServices().get(MetaAnnotationStore.class).getScopeModel(ConversationScoped.class).isPassivating());
+ }
+
+ /**
+ * The built-in session and conversation scopes are passivating. No other
+ * built-in scope is passivating.
+ */
+ @Test
+ public void testIsApplicationScopeNonPassivating()
+ {
+ Assert.assertFalse(beanManager.getServices().get(MetaAnnotationStore.class).getScopeModel(ApplicationScoped.class).isPassivating());
+ }
+
+ /**
+ * The built-in session and conversation scopes are passivating. No other
+ * built-in scope is passivating.
+ */
+ @Test
+ public void testIsRequestScopeNonPassivating()
+ {
+ Assert.assertFalse(beanManager.getServices().get(MetaAnnotationStore.class).getScopeModel(RequestScoped.class).isPassivating());
+ }
+
+}
Added: core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/contexts/StringHolder.java
===================================================================
--- core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/contexts/StringHolder.java (rev 0)
+++ core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/contexts/StringHolder.java 2010-07-28 10:18:08 UTC (rev 6820)
@@ -0,0 +1,35 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2010, Red Hat, Inc., and individual contributors
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * http://www.apache.org/licenses/LICENSE-2.0
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.jboss.weld.tests.contexts;
+
+import java.util.List;
+
+import javax.inject.Inject;
+
+
+public class StringHolder
+{
+
+ @Inject
+ private List<String> strings;
+
+ public List<String> getStrings()
+ {
+ return strings;
+ }
+
+}
Added: core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/enterprise/AbstractDAO.java
===================================================================
--- core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/enterprise/AbstractDAO.java (rev 0)
+++ core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/enterprise/AbstractDAO.java 2010-07-28 10:18:08 UTC (rev 6820)
@@ -0,0 +1,25 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2010, Red Hat, Inc., and individual contributors
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * http://www.apache.org/licenses/LICENSE-2.0
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.jboss.weld.tests.enterprise;
+
+public interface AbstractDAO<E>
+{
+ public boolean save(E entity);
+
+ public boolean isSaved();
+
+}
\ No newline at end of file
Added: core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/enterprise/AbstractDAOImpl.java
===================================================================
--- core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/enterprise/AbstractDAOImpl.java (rev 0)
+++ core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/enterprise/AbstractDAOImpl.java 2010-07-28 10:18:08 UTC (rev 6820)
@@ -0,0 +1,36 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2010, Red Hat, Inc., and individual contributors
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * http://www.apache.org/licenses/LICENSE-2.0
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.jboss.weld.tests.enterprise;
+
+
+public abstract class AbstractDAOImpl<E>
+{
+
+ private boolean saved;
+
+ public boolean save(E entity)
+ {
+ this.saved = true;
+ return true;
+ }
+
+ public boolean isSaved()
+ {
+ return saved;
+ }
+
+}
Added: core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/enterprise/Animal.java
===================================================================
--- core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/enterprise/Animal.java (rev 0)
+++ core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/enterprise/Animal.java 2010-07-28 10:18:08 UTC (rev 6820)
@@ -0,0 +1,22 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2010, Red Hat, Inc., and individual contributors
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * http://www.apache.org/licenses/LICENSE-2.0
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.jboss.weld.tests.enterprise;
+
+public interface Animal
+{
+
+}
Added: core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/enterprise/Bird.java
===================================================================
--- core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/enterprise/Bird.java (rev 0)
+++ core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/enterprise/Bird.java 2010-07-28 10:18:08 UTC (rev 6820)
@@ -0,0 +1,27 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2010, Red Hat, Inc., and individual contributors
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * http://www.apache.org/licenses/LICENSE-2.0
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.jboss.weld.tests.enterprise;
+
+import javax.ejb.Remote;
+
+@Remote
+public interface Bird
+{
+
+ public void observe(Feed feed);
+
+}
Added: core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/enterprise/BowlerHatException.java
===================================================================
--- core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/enterprise/BowlerHatException.java (rev 0)
+++ core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/enterprise/BowlerHatException.java 2010-07-28 10:18:08 UTC (rev 6820)
@@ -0,0 +1,42 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2010, Red Hat, Inc., and individual contributors
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * http://www.apache.org/licenses/LICENSE-2.0
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.jboss.weld.tests.enterprise;
+
+public class BowlerHatException extends RuntimeException
+{
+
+ public BowlerHatException()
+ {
+ super();
+ }
+
+ public BowlerHatException(String message, Throwable cause)
+ {
+ super(message, cause);
+ }
+
+ public BowlerHatException(String message)
+ {
+ super(message);
+ }
+
+ public BowlerHatException(Throwable cause)
+ {
+ super(cause);
+ }
+
+}
Added: core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/enterprise/Capercaillie.java
===================================================================
--- core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/enterprise/Capercaillie.java (rev 0)
+++ core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/enterprise/Capercaillie.java 2010-07-28 10:18:08 UTC (rev 6820)
@@ -0,0 +1,40 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2010, Red Hat, Inc., and individual contributors
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * http://www.apache.org/licenses/LICENSE-2.0
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.jboss.weld.tests.enterprise;
+
+import javax.ejb.Stateful;
+import javax.enterprise.context.RequestScoped;
+import javax.enterprise.event.Observes;
+
+@Stateful
+@RequestScoped
+public class Capercaillie implements Scottish, Bird
+{
+
+ private Feed feed;
+
+ public void observe(@Observes Feed feed)
+ {
+ this.feed = feed;
+ }
+
+ public Feed getFeed()
+ {
+ return feed;
+ }
+
+}
Added: core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/enterprise/Castle.java
===================================================================
--- core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/enterprise/Castle.java (rev 0)
+++ core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/enterprise/Castle.java 2010-07-28 10:18:08 UTC (rev 6820)
@@ -0,0 +1,37 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2010, Red Hat, Inc., and individual contributors
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * http://www.apache.org/licenses/LICENSE-2.0
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.jboss.weld.tests.enterprise;
+
+import javax.ejb.Stateless;
+
+@Stateless
+public class Castle
+{
+
+ private boolean pinged;
+
+ public boolean isPinged()
+ {
+ return pinged;
+ }
+
+ public void ping()
+ {
+ this.pinged = true;
+ }
+
+}
Added: core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/enterprise/Cat.java
===================================================================
--- core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/enterprise/Cat.java (rev 0)
+++ core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/enterprise/Cat.java 2010-07-28 10:18:08 UTC (rev 6820)
@@ -0,0 +1,29 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2010, Red Hat, Inc., and individual contributors
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * http://www.apache.org/licenses/LICENSE-2.0
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.jboss.weld.tests.enterprise;
+
+import javax.ejb.Stateful;
+
+/**
+ * @author pmuir
+ *
+ */
+@Stateful
+public class Cat implements CatLocal
+{
+
+}
Added: core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/enterprise/CatLocal.java
===================================================================
--- core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/enterprise/CatLocal.java (rev 0)
+++ core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/enterprise/CatLocal.java 2010-07-28 10:18:08 UTC (rev 6820)
@@ -0,0 +1,29 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2010, Red Hat, Inc., and individual contributors
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * http://www.apache.org/licenses/LICENSE-2.0
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.jboss.weld.tests.enterprise;
+
+import javax.ejb.Local;
+
+/**
+ * @author pmuir
+ *
+ */
+@Local
+public interface CatLocal
+{
+
+}
Added: core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/enterprise/DAO.java
===================================================================
--- core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/enterprise/DAO.java (rev 0)
+++ core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/enterprise/DAO.java 2010-07-28 10:18:08 UTC (rev 6820)
@@ -0,0 +1,36 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2010, Red Hat, Inc., and individual contributors
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * http://www.apache.org/licenses/LICENSE-2.0
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.jboss.weld.tests.enterprise;
+
+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 java.lang.annotation.Retention;
+import java.lang.annotation.RetentionPolicy;
+import java.lang.annotation.Target;
+
+import javax.inject.Qualifier;
+
+@Qualifier
+(a)Retention(RetentionPolicy.RUNTIME)
+@Target({FIELD, METHOD, TYPE, PARAMETER})
+public @interface DAO
+{
+
+}
Added: core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/enterprise/Dog.java
===================================================================
--- core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/enterprise/Dog.java (rev 0)
+++ core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/enterprise/Dog.java 2010-07-28 10:18:08 UTC (rev 6820)
@@ -0,0 +1,25 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2010, Red Hat, Inc., and individual contributors
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * http://www.apache.org/licenses/LICENSE-2.0
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.jboss.weld.tests.enterprise;
+
+import javax.ejb.Local;
+
+@Local
+public interface Dog extends Animal
+{
+
+}
Added: core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/enterprise/DogBean.java
===================================================================
--- core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/enterprise/DogBean.java (rev 0)
+++ core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/enterprise/DogBean.java 2010-07-28 10:18:08 UTC (rev 6820)
@@ -0,0 +1,26 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2010, Red Hat, Inc., and individual contributors
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * http://www.apache.org/licenses/LICENSE-2.0
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.jboss.weld.tests.enterprise;
+
+import javax.ejb.Stateless;
+
+
+@Stateless
+public class DogBean implements Dog
+{
+
+}
Added: core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/enterprise/EjbDescriptorLookupTest.java
===================================================================
--- core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/enterprise/EjbDescriptorLookupTest.java (rev 0)
+++ core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/enterprise/EjbDescriptorLookupTest.java 2010-07-28 10:18:08 UTC (rev 6820)
@@ -0,0 +1,74 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2010, Red Hat, Inc., and individual contributors
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * http://www.apache.org/licenses/LICENSE-2.0
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.jboss.weld.tests.enterprise;
+
+import javax.enterprise.inject.spi.Bean;
+import javax.enterprise.inject.spi.InjectionTarget;
+import javax.inject.Inject;
+
+import org.jboss.arquillian.api.Deployment;
+import org.jboss.arquillian.junit.Arquillian;
+import org.jboss.shrinkwrap.api.Archive;
+import org.jboss.shrinkwrap.api.ShrinkWrap;
+import org.jboss.shrinkwrap.api.asset.EmptyAsset;
+import org.jboss.shrinkwrap.api.spec.EnterpriseArchive;
+import org.jboss.shrinkwrap.api.spec.JavaArchive;
+import org.jboss.weld.bean.SessionBean;
+import org.jboss.weld.ejb.InternalEjbDescriptor;
+import org.jboss.weld.ejb.spi.EjbDescriptor;
+import org.jboss.weld.manager.BeanManagerImpl;
+import org.junit.Assert;
+import org.junit.Test;
+import org.junit.runner.RunWith;
+
+/**
+ * @author pmuir
+ *
+ */
+(a)RunWith(Arquillian.class)
+public class EjbDescriptorLookupTest
+{
+ @Deployment
+ public static Archive<?> deploy()
+ {
+ return ShrinkWrap.create(EnterpriseArchive.class, "test.ear")
+ .addModule(
+ ShrinkWrap.create(JavaArchive.class)
+ .addPackage(EjbDescriptorLookupTest.class.getPackage())
+ .addManifestResource(EmptyAsset.INSTANCE, "beans.xml")
+ );
+ }
+
+ @Inject
+ private BeanManagerImpl beanManager;
+
+ @Test
+ public void testCorrectSubType()
+ {
+ EjbDescriptor<CatLocal> descriptor = beanManager.getEjbDescriptor("Cat");
+ assert descriptor.getClass().equals(InternalEjbDescriptor.class);
+ Bean<CatLocal> bean = beanManager.getBean(descriptor);
+ Assert.assertNotNull(bean);
+ Assert.assertTrue(bean instanceof SessionBean<?>);
+ Assert.assertEquals(Cat.class, bean.getBeanClass());
+ InjectionTarget<CatLocal> it = beanManager.createInjectionTarget(descriptor);
+ Assert.assertNotNull(it);
+ Assert.assertEquals(bean.getInjectionPoints(), it.getInjectionPoints());
+ Assert.assertTrue(it.produce(beanManager.createCreationalContext(bean)) instanceof CatLocal);
+ }
+
+}
Added: core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/enterprise/EnterpriseBeanDefinitionTest.java
===================================================================
--- core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/enterprise/EnterpriseBeanDefinitionTest.java (rev 0)
+++ core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/enterprise/EnterpriseBeanDefinitionTest.java 2010-07-28 10:18:08 UTC (rev 6820)
@@ -0,0 +1,60 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2010, Red Hat, Inc., and individual contributors
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * http://www.apache.org/licenses/LICENSE-2.0
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.jboss.weld.tests.enterprise;
+
+import javax.enterprise.inject.spi.Bean;
+import javax.inject.Inject;
+
+import org.jboss.arquillian.api.Deployment;
+import org.jboss.arquillian.junit.Arquillian;
+import org.jboss.shrinkwrap.api.Archive;
+import org.jboss.shrinkwrap.api.BeanArchive;
+import org.jboss.shrinkwrap.api.ShrinkWrap;
+import org.jboss.shrinkwrap.api.spec.EnterpriseArchive;
+import org.jboss.weld.manager.BeanManagerImpl;
+import org.jboss.weld.test.Utils;
+import org.junit.Assert;
+import org.junit.Test;
+import org.junit.runner.RunWith;
+
+(a)RunWith(Arquillian.class)
+public class EnterpriseBeanDefinitionTest
+{
+ @Deployment
+ public static Archive<?> deploy()
+ {
+ return ShrinkWrap.create(EnterpriseArchive.class, "test.ear")
+ .addModule(
+ ShrinkWrap.create(BeanArchive.class)
+ .addPackage(EnterpriseBeanDefinitionTest.class.getPackage())
+ .addClass(Utils.class)
+ );
+ }
+
+ @Inject
+ private BeanManagerImpl beanManager;
+
+ /*
+ * description="WELD-305"
+ */
+ @Test
+ public void testSuperInterfacesAreBeanTypes()
+ {
+ Bean<?> bean = Utils.getBean(beanManager, Dog.class);
+ Assert.assertTrue(Utils.typeSetMatches(bean.getTypes(), Object.class, Dog.class, Animal.class));
+ }
+}
\ No newline at end of file
Added: core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/enterprise/EnterpriseBeanTest.java
===================================================================
--- core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/enterprise/EnterpriseBeanTest.java (rev 0)
+++ core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/enterprise/EnterpriseBeanTest.java 2010-07-28 10:18:08 UTC (rev 6820)
@@ -0,0 +1,154 @@
+/*
+
+ * JBoss, Home of Professional Open Source
+ * Copyright 2010, Red Hat, Inc., and individual contributors
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * http://www.apache.org/licenses/LICENSE-2.0
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.jboss.weld.tests.enterprise;
+
+import javax.ejb.EJBException;
+import javax.inject.Inject;
+
+import org.jboss.arquillian.api.Deployment;
+import org.jboss.arquillian.junit.Arquillian;
+import org.jboss.shrinkwrap.api.Archive;
+import org.jboss.shrinkwrap.api.ShrinkWrap;
+import org.jboss.shrinkwrap.api.asset.EmptyAsset;
+import org.jboss.shrinkwrap.api.spec.EnterpriseArchive;
+import org.jboss.shrinkwrap.api.spec.JavaArchive;
+import org.jboss.weld.bean.SessionBean;
+import org.jboss.weld.manager.BeanManagerImpl;
+import org.jboss.weld.test.Utils;
+import org.jboss.weld.tests.category.Broken;
+import org.jboss.weld.tests.category.Integration;
+import org.junit.Assert;
+import org.junit.Test;
+import org.junit.experimental.categories.Category;
+import org.junit.runner.RunWith;
+
+(a)Category(Integration.class)
+(a)RunWith(Arquillian.class)
+public class EnterpriseBeanTest
+{
+ @Deployment
+ public static Archive<?> deploy()
+ {
+ return ShrinkWrap.create(EnterpriseArchive.class, "test.ear")
+ .addModule(
+ ShrinkWrap.create(JavaArchive.class)
+ .addPackage(EnterpriseBeanTest.class.getPackage())
+ .addClass(Utils.class)
+ .addManifestResource(EmptyAsset.INSTANCE, "beans.xml")
+ .addManifestResource(EjbDescriptorLookupTest.class.getPackage(), "ejb-jar.xml", "ejb-jar.xml")
+ );
+ }
+
+ @Inject
+ private BeanManagerImpl beanManager;
+
+ /*
+ * description="WBRI-179"
+ */
+ @Test
+ public void testSFSBWithOnlyRemoteInterfacesDeploys()
+ {
+ // TODO: Need implementation ?
+ }
+
+ /*
+ * description="WELD-326"
+ */
+ @Test
+ public void testInvocationExceptionIsUnwrapped(Fedora fedora)
+ {
+ try
+ {
+ fedora.causeRuntimeException();
+ }
+ catch (Throwable t)
+ {
+ if (t instanceof EJBException && t.getCause() instanceof BowlerHatException)
+ {
+ return;
+ }
+ }
+ Assert.fail("Expected a BowlerHatException to be thrown");
+ }
+
+ /*
+ * description="WBRI-275"
+ */
+ @Test
+ public void testSLSBBusinessMethodThrowsRuntimeException(Fedora fedora)
+ {
+ try
+ {
+ fedora.causeRuntimeException();
+ }
+ catch (Throwable t)
+ {
+ if (Utils.isExceptionInHierarchy(t, BowlerHatException.class))
+ {
+ return;
+ }
+ }
+ Assert.fail("Expected a BowlerHatException to be in the cause stack");
+ }
+
+ /*
+ * description = "WELD-364"
+ */
+ @Test
+ @Category(Broken.class)
+ public void testEJBRemoteInterfacesOkForObservers(Scottish scottish)
+ {
+ Feed feed = new Feed();
+ beanManager.fireEvent(feed);
+ Assert.assertEquals(feed, scottish.getFeed());
+ }
+
+ /*
+ * description = "WELD-381"
+ */
+ @Test
+ public void testGenericEJBWorks(ResultClient client)
+ {
+ Assert.assertEquals("pete", client.lookupPete().getUsername());
+ }
+
+ /*
+ * description = "WELD-80"
+ */
+ @Test
+ @Category(Broken.class)
+ public void testPassivationOfEjbs(HelloAction action)
+ {
+ action.executeRequest();
+ Assert.assertEquals("hello", action.getHello());
+ Assert.assertEquals("goodbye", action.getGoodBye());
+ }
+
+ /*
+ * description = "Simple test for no-interface views"
+ */
+ @Test
+ @Category(Broken.class)
+ public void testNoInterfaceView(Castle castle)
+ {
+ castle.ping();
+ Assert.assertTrue(castle.isPinged());
+ Assert.assertTrue(Utils.getBean(beanManager, Castle.class) instanceof SessionBean<?>);
+ }
+
+}
Added: core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/enterprise/Fedora.java
===================================================================
--- core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/enterprise/Fedora.java (rev 0)
+++ core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/enterprise/Fedora.java 2010-07-28 10:18:08 UTC (rev 6820)
@@ -0,0 +1,28 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2010, Red Hat, Inc., and individual contributors
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * http://www.apache.org/licenses/LICENSE-2.0
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.jboss.weld.tests.enterprise;
+
+import javax.ejb.Local;
+
+@Local
+public interface Fedora
+{
+
+ public void causeRuntimeException();
+
+
+}
Added: core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/enterprise/FedoraImpl.java
===================================================================
--- core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/enterprise/FedoraImpl.java (rev 0)
+++ core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/enterprise/FedoraImpl.java 2010-07-28 10:18:08 UTC (rev 6820)
@@ -0,0 +1,30 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2010, Red Hat, Inc., and individual contributors
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * http://www.apache.org/licenses/LICENSE-2.0
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.jboss.weld.tests.enterprise;
+
+import javax.ejb.Stateless;
+
+@Stateless
+public class FedoraImpl implements Fedora
+{
+
+ public void causeRuntimeException()
+ {
+ throw new BowlerHatException();
+ }
+
+}
Added: core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/enterprise/Feed.java
===================================================================
--- core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/enterprise/Feed.java (rev 0)
+++ core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/enterprise/Feed.java 2010-07-28 10:18:08 UTC (rev 6820)
@@ -0,0 +1,22 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2010, Red Hat, Inc., and individual contributors
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * http://www.apache.org/licenses/LICENSE-2.0
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.jboss.weld.tests.enterprise;
+
+public class Feed
+{
+
+}
Added: core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/enterprise/Hat.java
===================================================================
--- core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/enterprise/Hat.java (rev 0)
+++ core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/enterprise/Hat.java 2010-07-28 10:18:08 UTC (rev 6820)
@@ -0,0 +1,25 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2010, Red Hat, Inc., and individual contributors
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * http://www.apache.org/licenses/LICENSE-2.0
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.jboss.weld.tests.enterprise;
+
+import javax.ejb.Stateful;
+
+@Stateful
+public class Hat implements HatRemote
+{
+
+}
Added: core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/enterprise/HatRemote.java
===================================================================
--- core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/enterprise/HatRemote.java (rev 0)
+++ core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/enterprise/HatRemote.java 2010-07-28 10:18:08 UTC (rev 6820)
@@ -0,0 +1,25 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2010, Red Hat, Inc., and individual contributors
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * http://www.apache.org/licenses/LICENSE-2.0
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.jboss.weld.tests.enterprise;
+
+import javax.ejb.Remote;
+
+@Remote
+public interface HatRemote
+{
+
+}
Added: core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/enterprise/HelloAction.java
===================================================================
--- core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/enterprise/HelloAction.java (rev 0)
+++ core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/enterprise/HelloAction.java 2010-07-28 10:18:08 UTC (rev 6820)
@@ -0,0 +1,56 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2010, Red Hat, Inc., and individual contributors
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * http://www.apache.org/licenses/LICENSE-2.0
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.jboss.weld.tests.enterprise;
+
+import javax.inject.Inject;
+
+public class HelloAction
+{
+
+ public static long sleepDuration = 1000 * 2;
+
+ @Inject
+ private IHelloBean helloBean;
+
+ private String hello;
+ private String goodBye;
+
+ public void executeRequest()
+ {
+ hello = helloBean.sayHello();
+ try
+ {
+ Thread.sleep(sleepDuration);
+ }
+ catch (InterruptedException e)
+ {
+ System.out.println("Caught Interruption.");
+ }
+ goodBye = helloBean.sayGoodbye();
+ }
+
+ public String getHello()
+ {
+ return hello;
+ }
+
+ public String getGoodBye()
+ {
+ return goodBye;
+ }
+
+}
Added: core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/enterprise/HelloBean.java
===================================================================
--- core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/enterprise/HelloBean.java (rev 0)
+++ core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/enterprise/HelloBean.java 2010-07-28 10:18:08 UTC (rev 6820)
@@ -0,0 +1,49 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2010, Red Hat, Inc., and individual contributors
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * http://www.apache.org/licenses/LICENSE-2.0
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.jboss.weld.tests.enterprise;
+
+import javax.annotation.Resource;
+import javax.ejb.Remove;
+import javax.ejb.Stateful;
+import javax.enterprise.context.SessionScoped;
+import javax.enterprise.inject.spi.BeanManager;
+
+import org.jboss.ejb3.annotation.CacheConfig;
+
+@Stateful
+@SessionScoped
+@CacheConfig(idleTimeoutSeconds=1)
+public class HelloBean implements IHelloBean
+{
+ @Resource(mappedName = "java:comp/BeanManager")
+ private BeanManager beanManager;
+
+ public String sayHello()
+ {
+ return "hello";
+ }
+
+ public String sayGoodbye()
+ {
+ return beanManager.getELResolver() != null ? "goodbye" : "error";
+ }
+
+ @Remove
+ public void remove()
+ {
+ }
+}
Added: core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/enterprise/IHelloBean.java
===================================================================
--- core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/enterprise/IHelloBean.java (rev 0)
+++ core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/enterprise/IHelloBean.java 2010-07-28 10:18:08 UTC (rev 6820)
@@ -0,0 +1,31 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2010, Red Hat, Inc., and individual contributors
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * http://www.apache.org/licenses/LICENSE-2.0
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.jboss.weld.tests.enterprise;
+
+import javax.ejb.Local;
+
+@Local
+public interface IHelloBean
+{
+
+ public abstract String sayHello();
+
+ public abstract String sayGoodbye();
+
+ public abstract void remove();
+
+}
\ No newline at end of file
Added: core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/enterprise/Result.java
===================================================================
--- core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/enterprise/Result.java (rev 0)
+++ core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/enterprise/Result.java 2010-07-28 10:18:08 UTC (rev 6820)
@@ -0,0 +1,34 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2010, Red Hat, Inc., and individual contributors
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * http://www.apache.org/licenses/LICENSE-2.0
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.jboss.weld.tests.enterprise;
+
+public class Result
+{
+
+ private final String username;
+
+ public Result(String username)
+ {
+ this.username = username;
+ }
+
+ public String getUsername()
+ {
+ return username;
+ }
+
+}
Added: core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/enterprise/ResultClient.java
===================================================================
--- core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/enterprise/ResultClient.java (rev 0)
+++ core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/enterprise/ResultClient.java 2010-07-28 10:18:08 UTC (rev 6820)
@@ -0,0 +1,31 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2010, Red Hat, Inc., and individual contributors
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * http://www.apache.org/licenses/LICENSE-2.0
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.jboss.weld.tests.enterprise;
+
+import javax.inject.Inject;
+
+public class ResultClient
+{
+
+ @Inject @DAO ResultDAO result;
+
+ public Result lookupPete()
+ {
+ return result.findByUser("pete");
+ }
+
+}
Added: core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/enterprise/ResultDAO.java
===================================================================
--- core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/enterprise/ResultDAO.java (rev 0)
+++ core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/enterprise/ResultDAO.java 2010-07-28 10:18:08 UTC (rev 6820)
@@ -0,0 +1,27 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2010, Red Hat, Inc., and individual contributors
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * http://www.apache.org/licenses/LICENSE-2.0
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.jboss.weld.tests.enterprise;
+
+import javax.ejb.Local;
+
+@Local
+public interface ResultDAO extends AbstractDAO<Result>
+{
+
+ public Result findByUser(String username);
+
+}
Added: core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/enterprise/ResultDAOImpl.java
===================================================================
--- core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/enterprise/ResultDAOImpl.java (rev 0)
+++ core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/enterprise/ResultDAOImpl.java 2010-07-28 10:18:08 UTC (rev 6820)
@@ -0,0 +1,29 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2010, Red Hat, Inc., and individual contributors
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * http://www.apache.org/licenses/LICENSE-2.0
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.jboss.weld.tests.enterprise;
+
+import javax.ejb.Stateless;
+
+@DAO
+@Stateless
+public class ResultDAOImpl extends AbstractDAOImpl<Result> implements ResultDAO
+{
+ public Result findByUser(String username)
+ {
+ return new Result(username);
+ }
+}
\ No newline at end of file
Added: core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/enterprise/Scottish.java
===================================================================
--- core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/enterprise/Scottish.java (rev 0)
+++ core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/enterprise/Scottish.java 2010-07-28 10:18:08 UTC (rev 6820)
@@ -0,0 +1,27 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2010, Red Hat, Inc., and individual contributors
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * http://www.apache.org/licenses/LICENSE-2.0
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.jboss.weld.tests.enterprise;
+
+import javax.ejb.Local;
+
+@Local
+public interface Scottish
+{
+
+ public Feed getFeed();
+
+}
Added: core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/enterprise/lifecycle/AlteStadt.java
===================================================================
--- core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/enterprise/lifecycle/AlteStadt.java (rev 0)
+++ core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/enterprise/lifecycle/AlteStadt.java 2010-07-28 10:18:08 UTC (rev 6820)
@@ -0,0 +1,31 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2010, Red Hat, Inc., and individual contributors
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * http://www.apache.org/licenses/LICENSE-2.0
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.jboss.weld.tests.enterprise.lifecycle;
+
+import javax.ejb.Local;
+
+@Local
+public interface AlteStadt
+{
+ public String getPlaceOfInterest();
+
+ public void performPostConstructChecks();
+
+ public void initializeBean(GutenbergMuseum pointOfInterest);
+
+ public GutenbergMuseum getAnotherPlaceOfInterest();
+}
Added: core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/enterprise/lifecycle/BeanImpl.java
===================================================================
--- core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/enterprise/lifecycle/BeanImpl.java (rev 0)
+++ core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/enterprise/lifecycle/BeanImpl.java 2010-07-28 10:18:08 UTC (rev 6820)
@@ -0,0 +1,30 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2010, Red Hat, Inc., and individual contributors
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * http://www.apache.org/licenses/LICENSE-2.0
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.jboss.weld.tests.enterprise.lifecycle;
+
+import javax.ejb.Stateless;
+
+@Stateless
+public class BeanImpl implements BeanLocal
+{
+
+ public void ping()
+ {
+
+ }
+
+}
Added: core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/enterprise/lifecycle/BeanLocal.java
===================================================================
--- core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/enterprise/lifecycle/BeanLocal.java (rev 0)
+++ core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/enterprise/lifecycle/BeanLocal.java 2010-07-28 10:18:08 UTC (rev 6820)
@@ -0,0 +1,24 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2010, Red Hat, Inc., and individual contributors
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * http://www.apache.org/licenses/LICENSE-2.0
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.jboss.weld.tests.enterprise.lifecycle;
+
+public interface BeanLocal
+{
+
+ public void ping();
+
+}
Added: core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/enterprise/lifecycle/DirectOrderProcessor.java
===================================================================
--- core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/enterprise/lifecycle/DirectOrderProcessor.java (rev 0)
+++ core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/enterprise/lifecycle/DirectOrderProcessor.java 2010-07-28 10:18:08 UTC (rev 6820)
@@ -0,0 +1,25 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2010, Red Hat, Inc., and individual contributors
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * http://www.apache.org/licenses/LICENSE-2.0
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.jboss.weld.tests.enterprise.lifecycle;
+
+import javax.ejb.Stateful;
+
+@Stateful
+public class DirectOrderProcessor extends OrderProcessor implements DirectOrderProcessorLocal
+{
+
+}
Added: core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/enterprise/lifecycle/DirectOrderProcessorLocal.java
===================================================================
--- core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/enterprise/lifecycle/DirectOrderProcessorLocal.java (rev 0)
+++ core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/enterprise/lifecycle/DirectOrderProcessorLocal.java 2010-07-28 10:18:08 UTC (rev 6820)
@@ -0,0 +1,25 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2010, Red Hat, Inc., and individual contributors
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * http://www.apache.org/licenses/LICENSE-2.0
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.jboss.weld.tests.enterprise.lifecycle;
+
+import javax.ejb.Local;
+
+@Local
+public interface DirectOrderProcessorLocal
+{
+ void order();
+}
Added: core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/enterprise/lifecycle/EnterpriseBeanLifecycleTest.java
===================================================================
--- core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/enterprise/lifecycle/EnterpriseBeanLifecycleTest.java (rev 0)
+++ core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/enterprise/lifecycle/EnterpriseBeanLifecycleTest.java 2010-07-28 10:18:08 UTC (rev 6820)
@@ -0,0 +1,128 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2010, Red Hat, Inc., and individual contributors
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * http://www.apache.org/licenses/LICENSE-2.0
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.jboss.weld.tests.enterprise.lifecycle;
+
+import javax.enterprise.context.spi.CreationalContext;
+import javax.enterprise.inject.spi.Bean;
+import javax.inject.Inject;
+
+import org.jboss.arquillian.api.Deployment;
+import org.jboss.arquillian.junit.Arquillian;
+import org.jboss.shrinkwrap.api.Archive;
+import org.jboss.shrinkwrap.api.ShrinkWrap;
+import org.jboss.shrinkwrap.api.asset.EmptyAsset;
+import org.jboss.shrinkwrap.api.spec.EnterpriseArchive;
+import org.jboss.shrinkwrap.api.spec.JavaArchive;
+import org.jboss.weld.Container;
+import org.jboss.weld.context.ContextLifecycle;
+import org.jboss.weld.context.RequestContext;
+import org.jboss.weld.manager.BeanManagerImpl;
+import org.jboss.weld.test.Utils;
+import org.jboss.weld.tests.category.Integration;
+import org.junit.Assert;
+import org.junit.Test;
+import org.junit.experimental.categories.Category;
+import org.junit.runner.RunWith;
+
+/**
+ * Sections
+ *
+ * 6.5. Lifecycle of stateful session beans
+ * 6.6. Lifecycle of stateless session and singleton beans
+ * 6.11. Lifecycle of EJBs
+ *
+ * Mostly overlapping with other tests...
+ *
+ * @author Nicklas Karlsson
+ * @author David Allen
+ *
+ * Spec version: Public Release Draft 2
+ *
+ */
+(a)Category(Integration.class)
+(a)RunWith(Arquillian.class)
+public class EnterpriseBeanLifecycleTest
+{
+ @Deployment
+ public static Archive<?> deploy()
+ {
+ return ShrinkWrap.create(EnterpriseArchive.class, "test.ear")
+ .addModule(
+ ShrinkWrap.create(JavaArchive.class, "test.jar")
+ .addPackage(EnterpriseBeanLifecycleTest.class.getPackage())
+ .addClass(Utils.class)
+ .addManifestResource(EmptyAsset.INSTANCE, "beans.xml")
+ );
+ }
+
+ @Inject
+ private BeanManagerImpl beanManager;
+
+ /**
+ * When the create() method of a Bean object that represents a stateful
+ * session bean that is called, the container creates and returns a session
+ * bean proxy, as defined in Section 3.3.9, "Session bean proxies".
+ */
+ @Test
+ public void testCreateSFSB(GrossStadt frankfurt)
+ {
+ Bean<KleinStadt> stadtBean = Utils.getBean(beanManager, KleinStadt.class);
+ Assert.assertNotNull("Expected a bean for stateful session bean Kassel", stadtBean);
+ CreationalContext<KleinStadt> creationalContext = new MockCreationalContext<KleinStadt>();
+ KleinStadt stadtInstance = stadtBean.create(creationalContext);
+ Assert.assertNotNull("Expected instance to be created by container", stadtInstance);
+ Assert.assertTrue("PostConstruct should be invoked when bean instance is created", frankfurt.isKleinStadtCreated());
+ frankfurt.resetCreatedFlags();
+
+ // Create a second one to make sure create always does create a new session bean
+ KleinStadt anotherStadtInstance = stadtBean.create(creationalContext);
+ Assert.assertNotNull("Expected second instance of session bean", anotherStadtInstance);
+ Assert.assertTrue(frankfurt.isKleinStadtCreated());
+ Assert.assertNotSame("create() should not return same bean as before", anotherStadtInstance, stadtInstance);
+
+ // Verify that the instance returned is a proxy by checking for all local interfaces
+ Assert.assertTrue(stadtInstance instanceof KleinStadt);
+ Assert.assertTrue(stadtInstance instanceof SchoeneStadt);
+ }
+
+ @Test
+ public void testDestroyRemovesSFSB(GrossStadt frankfurt) throws Exception
+ {
+ Bean<KleinStadt> stadtBean = Utils.getBean(beanManager, KleinStadt.class);
+ Assert.assertNotNull("Expected a bean for stateful session bean Kassel", stadtBean);
+ RequestContext requestContext = Container.instance().services().get(ContextLifecycle.class).getRequestContext();
+ CreationalContext<KleinStadt> creationalContext = new MockCreationalContext<KleinStadt>();
+ KleinStadt kassel = requestContext.get(stadtBean, creationalContext);
+ stadtBean.destroy(kassel, creationalContext);
+
+ Assert.assertTrue("Expected SFSB bean to be destroyed", frankfurt.isKleinStadtDestroyed());
+ requestContext.destroy();
+ kassel = requestContext.get(stadtBean);
+ Assert.assertNull("SFSB bean should not exist after being destroyed", kassel);
+ }
+
+ @Test
+ public void testDestroyDoesntTryToRemoveSLSB()
+ {
+ Bean<BeanLocal> bean = Utils.getBean(beanManager, BeanLocal.class);
+ Assert.assertNotNull("Expected a bean for stateless session bean BeanLocal", bean);
+ CreationalContext<BeanLocal> creationalContext = beanManager.createCreationalContext(bean);
+ BeanLocal instance = bean.create(creationalContext);
+ bean.destroy(instance, creationalContext);
+ }
+
+}
Added: core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/enterprise/lifecycle/FrankfurtAmMain.java
===================================================================
--- core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/enterprise/lifecycle/FrankfurtAmMain.java (rev 0)
+++ core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/enterprise/lifecycle/FrankfurtAmMain.java 2010-07-28 10:18:08 UTC (rev 6820)
@@ -0,0 +1,78 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2010, Red Hat, Inc., and individual contributors
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * http://www.apache.org/licenses/LICENSE-2.0
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.jboss.weld.tests.enterprise.lifecycle;
+
+import javax.ejb.Remove;
+import javax.ejb.Stateful;
+import javax.enterprise.context.RequestScoped;
+
+@Stateful
+@RequestScoped
+public class FrankfurtAmMain implements GrossStadt
+{
+
+ private boolean kleinStadtCreated = false;
+ private boolean kleinStadtDestroyed = false;
+
+ public boolean isKleinStadtCreated()
+ {
+ return kleinStadtCreated;
+ }
+
+ public boolean isKleinStadtDestroyed()
+ {
+ return kleinStadtDestroyed;
+ }
+
+ public void kleinStadtCreated()
+ {
+ kleinStadtCreated = true;
+ }
+
+ public void kleinStadtDestroyed()
+ {
+ kleinStadtDestroyed = true;
+ }
+
+ public void resetCreatedFlags()
+ {
+ kleinStadtCreated = false;
+ }
+
+ public void resetDestroyedFlags()
+ {
+ kleinStadtDestroyed = false;
+ }
+
+ @Remove
+ public void dispose()
+ {
+ }
+
+ private boolean schlossDestroyed = false;
+
+ public boolean isSchlossDestroyed()
+ {
+ return schlossDestroyed;
+ }
+
+ public void schlossDestroyed()
+ {
+ schlossDestroyed = true;
+ }
+
+}
Added: core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/enterprise/lifecycle/GeschichtslosStadt.java
===================================================================
--- core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/enterprise/lifecycle/GeschichtslosStadt.java (rev 0)
+++ core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/enterprise/lifecycle/GeschichtslosStadt.java 2010-07-28 10:18:08 UTC (rev 6820)
@@ -0,0 +1,25 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2010, Red Hat, Inc., and individual contributors
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * http://www.apache.org/licenses/LICENSE-2.0
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.jboss.weld.tests.enterprise.lifecycle;
+
+import javax.ejb.Local;
+
+@Local
+public interface GeschichtslosStadt
+{
+
+}
Added: core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/enterprise/lifecycle/Giessen.java
===================================================================
--- core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/enterprise/lifecycle/Giessen.java (rev 0)
+++ core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/enterprise/lifecycle/Giessen.java 2010-07-28 10:18:08 UTC (rev 6820)
@@ -0,0 +1,26 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2010, Red Hat, Inc., and individual contributors
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * http://www.apache.org/licenses/LICENSE-2.0
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.jboss.weld.tests.enterprise.lifecycle;
+
+public class Giessen implements NeueStadt, GeschichtslosStadt
+{
+
+ public void mehrBauen()
+ {
+ }
+
+}
Added: core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/enterprise/lifecycle/GrossStadt.java
===================================================================
--- core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/enterprise/lifecycle/GrossStadt.java (rev 0)
+++ core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/enterprise/lifecycle/GrossStadt.java 2010-07-28 10:18:08 UTC (rev 6820)
@@ -0,0 +1,41 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2010, Red Hat, Inc., and individual contributors
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * http://www.apache.org/licenses/LICENSE-2.0
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.jboss.weld.tests.enterprise.lifecycle;
+
+import javax.ejb.Local;
+
+@Local
+public interface GrossStadt
+{
+ public void kleinStadtCreated();
+
+ public void kleinStadtDestroyed();
+
+ public boolean isKleinStadtCreated();
+
+ public boolean isKleinStadtDestroyed();
+
+ public void resetCreatedFlags();
+
+ public void resetDestroyedFlags();
+
+ public void dispose();
+
+ public void schlossDestroyed();
+
+ public boolean isSchlossDestroyed();
+}
Added: core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/enterprise/lifecycle/GutenbergMuseum.java
===================================================================
--- core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/enterprise/lifecycle/GutenbergMuseum.java (rev 0)
+++ core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/enterprise/lifecycle/GutenbergMuseum.java 2010-07-28 10:18:08 UTC (rev 6820)
@@ -0,0 +1,22 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2010, Red Hat, Inc., and individual contributors
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * http://www.apache.org/licenses/LICENSE-2.0
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.jboss.weld.tests.enterprise.lifecycle;
+
+public class GutenbergMuseum
+{
+
+}
Added: core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/enterprise/lifecycle/IndirectOrderProcessor.java
===================================================================
--- core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/enterprise/lifecycle/IndirectOrderProcessor.java (rev 0)
+++ core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/enterprise/lifecycle/IndirectOrderProcessor.java 2010-07-28 10:18:08 UTC (rev 6820)
@@ -0,0 +1,25 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2010, Red Hat, Inc., and individual contributors
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * http://www.apache.org/licenses/LICENSE-2.0
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.jboss.weld.tests.enterprise.lifecycle;
+
+import javax.ejb.Stateful;
+
+@Stateful
+public class IndirectOrderProcessor extends IntermediateOrderProcessor implements OrderProcessorLocal
+{
+
+}
\ No newline at end of file
Added: core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/enterprise/lifecycle/IntermediateOrderProcessor.java
===================================================================
--- core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/enterprise/lifecycle/IntermediateOrderProcessor.java (rev 0)
+++ core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/enterprise/lifecycle/IntermediateOrderProcessor.java 2010-07-28 10:18:08 UTC (rev 6820)
@@ -0,0 +1,22 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2010, Red Hat, Inc., and individual contributors
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * http://www.apache.org/licenses/LICENSE-2.0
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.jboss.weld.tests.enterprise.lifecycle;
+
+class IntermediateOrderProcessor extends OrderProcessor
+{
+
+}
\ No newline at end of file
Added: core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/enterprise/lifecycle/Kassel.java
===================================================================
--- core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/enterprise/lifecycle/Kassel.java (rev 0)
+++ core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/enterprise/lifecycle/Kassel.java 2010-07-28 10:18:08 UTC (rev 6820)
@@ -0,0 +1,50 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2010, Red Hat, Inc., and individual contributors
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * http://www.apache.org/licenses/LICENSE-2.0
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.jboss.weld.tests.enterprise.lifecycle;
+
+import javax.annotation.PostConstruct;
+import javax.annotation.PreDestroy;
+import javax.ejb.Remove;
+import javax.ejb.Stateful;
+import javax.enterprise.context.RequestScoped;
+import javax.inject.Inject;
+
+@Stateful
+@RequestScoped
+public class Kassel implements KleinStadt, SchoeneStadt
+{
+ @Inject
+ private GrossStadt grossStadt;
+
+ @PostConstruct
+ public void begruendet()
+ {
+ grossStadt.kleinStadtCreated();
+ }
+
+ @Remove
+ public void zustandVergessen()
+ {
+ }
+
+ @PreDestroy
+ public void zustandVerloren()
+ {
+ grossStadt.kleinStadtDestroyed();
+ }
+
+}
Added: core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/enterprise/lifecycle/KleinStadt.java
===================================================================
--- core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/enterprise/lifecycle/KleinStadt.java (rev 0)
+++ core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/enterprise/lifecycle/KleinStadt.java 2010-07-28 10:18:08 UTC (rev 6820)
@@ -0,0 +1,30 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2010, Red Hat, Inc., and individual contributors
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * http://www.apache.org/licenses/LICENSE-2.0
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.jboss.weld.tests.enterprise.lifecycle;
+
+import javax.ejb.Local;
+
+@Local
+public interface KleinStadt
+{
+ public void begruendet();
+
+ public void zustandVergessen();
+
+ public void zustandVerloren();
+
+}
Added: core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/enterprise/lifecycle/LandgraffenSchloss.java
===================================================================
--- core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/enterprise/lifecycle/LandgraffenSchloss.java (rev 0)
+++ core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/enterprise/lifecycle/LandgraffenSchloss.java 2010-07-28 10:18:08 UTC (rev 6820)
@@ -0,0 +1,43 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2010, Red Hat, Inc., and individual contributors
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * http://www.apache.org/licenses/LICENSE-2.0
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.jboss.weld.tests.enterprise.lifecycle;
+
+import javax.annotation.PreDestroy;
+import javax.ejb.Remove;
+import javax.ejb.Stateful;
+import javax.enterprise.context.Dependent;
+import javax.inject.Inject;
+
+@Stateful
+@Dependent
+public class LandgraffenSchloss implements Schloss
+{
+ @Inject
+ private GrossStadt biggerCity;
+
+ @PreDestroy
+ public void destructionCallback()
+ {
+ biggerCity.schlossDestroyed();
+ }
+
+ @Remove
+ public void remove()
+ {
+ }
+
+}
Added: core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/enterprise/lifecycle/Mainz.java
===================================================================
--- core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/enterprise/lifecycle/Mainz.java (rev 0)
+++ core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/enterprise/lifecycle/Mainz.java 2010-07-28 10:18:08 UTC (rev 6820)
@@ -0,0 +1,55 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2010, Red Hat, Inc., and individual contributors
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * http://www.apache.org/licenses/LICENSE-2.0
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.jboss.weld.tests.enterprise.lifecycle;
+
+import javax.annotation.PostConstruct;
+import javax.ejb.Stateless;
+import javax.inject.Inject;
+
+@Stateless
+public class Mainz implements AlteStadt
+{
+ @Inject
+ private RoemerPassage placeOfInterest;
+
+ private GutenbergMuseum anotherPlaceOfInterest;
+
+ private String name;
+
+ public String getPlaceOfInterest()
+ {
+ return name;
+ }
+
+ @PostConstruct
+ public void performPostConstructChecks()
+ {
+ if ( placeOfInterest != null )
+ name = placeOfInterest.getName();
+ }
+
+ @Inject
+ public void initializeBean(GutenbergMuseum pointOfInterest)
+ {
+ this.anotherPlaceOfInterest = pointOfInterest;
+ }
+
+ public GutenbergMuseum getAnotherPlaceOfInterest()
+ {
+ return anotherPlaceOfInterest;
+ }
+}
Added: core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/enterprise/lifecycle/Marburg.java
===================================================================
--- core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/enterprise/lifecycle/Marburg.java (rev 0)
+++ core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/enterprise/lifecycle/Marburg.java 2010-07-28 10:18:08 UTC (rev 6820)
@@ -0,0 +1,34 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2010, Red Hat, Inc., and individual contributors
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * http://www.apache.org/licenses/LICENSE-2.0
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.jboss.weld.tests.enterprise.lifecycle;
+
+import javax.ejb.Remove;
+import javax.ejb.Stateful;
+import javax.inject.Inject;
+
+@Stateful
+public class Marburg implements UniStadt
+{
+ @Inject
+ private Schloss theCastle;
+
+ @Remove
+ public void removeBean()
+ {
+ }
+
+}
Added: core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/enterprise/lifecycle/MockCreationalContext.java
===================================================================
--- core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/enterprise/lifecycle/MockCreationalContext.java (rev 0)
+++ core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/enterprise/lifecycle/MockCreationalContext.java 2010-07-28 10:18:08 UTC (rev 6820)
@@ -0,0 +1,35 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2010, Red Hat, Inc., and individual contributors
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * http://www.apache.org/licenses/LICENSE-2.0
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.jboss.weld.tests.enterprise.lifecycle;
+
+import javax.enterprise.context.spi.CreationalContext;
+
+public class MockCreationalContext<T> implements CreationalContext<T>
+{
+
+ public void push(T incompleteInstance)
+ {
+
+ }
+
+ public void release()
+ {
+ // TODO Auto-generated method stub
+
+ }
+
+}
Added: core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/enterprise/lifecycle/NeueStadt.java
===================================================================
--- core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/enterprise/lifecycle/NeueStadt.java (rev 0)
+++ core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/enterprise/lifecycle/NeueStadt.java 2010-07-28 10:18:08 UTC (rev 6820)
@@ -0,0 +1,25 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2010, Red Hat, Inc., and individual contributors
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * http://www.apache.org/licenses/LICENSE-2.0
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.jboss.weld.tests.enterprise.lifecycle;
+
+import javax.ejb.Local;
+
+@Local
+public interface NeueStadt
+{
+ public void mehrBauen();
+}
Added: core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/enterprise/lifecycle/OrderProcessor.java
===================================================================
--- core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/enterprise/lifecycle/OrderProcessor.java (rev 0)
+++ core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/enterprise/lifecycle/OrderProcessor.java 2010-07-28 10:18:08 UTC (rev 6820)
@@ -0,0 +1,46 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2010, Red Hat, Inc., and individual contributors
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * http://www.apache.org/licenses/LICENSE-2.0
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.jboss.weld.tests.enterprise.lifecycle;
+
+import javax.annotation.PostConstruct;
+import javax.annotation.PreDestroy;
+
+public class OrderProcessor
+{
+ public static boolean postConstructCalled = false;
+
+ public static boolean preDestroyCalled = true;
+
+ @PostConstruct
+ public void postConstruct()
+ {
+ postConstructCalled = true;
+ }
+
+ @PreDestroy
+ public void preDestroy()
+ {
+ preDestroyCalled = true;
+ }
+
+ public void order()
+ {
+
+ }
+
+
+}
Added: core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/enterprise/lifecycle/OrderProcessorLocal.java
===================================================================
--- core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/enterprise/lifecycle/OrderProcessorLocal.java (rev 0)
+++ core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/enterprise/lifecycle/OrderProcessorLocal.java 2010-07-28 10:18:08 UTC (rev 6820)
@@ -0,0 +1,25 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2010, Red Hat, Inc., and individual contributors
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * http://www.apache.org/licenses/LICENSE-2.0
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.jboss.weld.tests.enterprise.lifecycle;
+
+import javax.ejb.Local;
+
+@Local
+public interface OrderProcessorLocal
+{
+ void order();
+}
Added: core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/enterprise/lifecycle/RoemerPassage.java
===================================================================
--- core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/enterprise/lifecycle/RoemerPassage.java (rev 0)
+++ core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/enterprise/lifecycle/RoemerPassage.java 2010-07-28 10:18:08 UTC (rev 6820)
@@ -0,0 +1,27 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2010, Red Hat, Inc., and individual contributors
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * http://www.apache.org/licenses/LICENSE-2.0
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.jboss.weld.tests.enterprise.lifecycle;
+
+class RoemerPassage
+{
+ public final static String name = "RoemerPassage";
+
+ public String getName()
+ {
+ return name;
+ }
+}
Added: core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/enterprise/lifecycle/Schloss.java
===================================================================
--- core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/enterprise/lifecycle/Schloss.java (rev 0)
+++ core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/enterprise/lifecycle/Schloss.java 2010-07-28 10:18:08 UTC (rev 6820)
@@ -0,0 +1,27 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2010, Red Hat, Inc., and individual contributors
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * http://www.apache.org/licenses/LICENSE-2.0
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.jboss.weld.tests.enterprise.lifecycle;
+
+import javax.ejb.Local;
+
+@Local
+public interface Schloss
+{
+ public void destructionCallback();
+
+ public void remove();
+}
Added: core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/enterprise/lifecycle/SchoeneStadt.java
===================================================================
--- core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/enterprise/lifecycle/SchoeneStadt.java (rev 0)
+++ core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/enterprise/lifecycle/SchoeneStadt.java 2010-07-28 10:18:08 UTC (rev 6820)
@@ -0,0 +1,25 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2010, Red Hat, Inc., and individual contributors
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * http://www.apache.org/licenses/LICENSE-2.0
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.jboss.weld.tests.enterprise.lifecycle;
+
+import javax.ejb.Local;
+
+@Local
+public interface SchoeneStadt
+{
+
+}
Added: core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/enterprise/lifecycle/UniStadt.java
===================================================================
--- core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/enterprise/lifecycle/UniStadt.java (rev 0)
+++ core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/enterprise/lifecycle/UniStadt.java 2010-07-28 10:18:08 UTC (rev 6820)
@@ -0,0 +1,25 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2010, Red Hat, Inc., and individual contributors
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * http://www.apache.org/licenses/LICENSE-2.0
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.jboss.weld.tests.enterprise.lifecycle;
+
+import javax.ejb.Local;
+
+@Local
+public interface UniStadt
+{
+ public void removeBean();
+}
Added: core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/enterprise/proxyability/EnterpriseBeanLifecycleTest.java
===================================================================
--- core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/enterprise/proxyability/EnterpriseBeanLifecycleTest.java (rev 0)
+++ core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/enterprise/proxyability/EnterpriseBeanLifecycleTest.java 2010-07-28 10:18:08 UTC (rev 6820)
@@ -0,0 +1,55 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2010, Red Hat, Inc., and individual contributors
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * http://www.apache.org/licenses/LICENSE-2.0
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.jboss.weld.tests.enterprise.proxyability;
+
+import org.jboss.arquillian.api.Deployment;
+import org.jboss.arquillian.junit.Arquillian;
+import org.jboss.shrinkwrap.api.Archive;
+import org.jboss.shrinkwrap.api.ShrinkWrap;
+import org.jboss.shrinkwrap.api.asset.EmptyAsset;
+import org.jboss.shrinkwrap.api.spec.EnterpriseArchive;
+import org.jboss.shrinkwrap.api.spec.JavaArchive;
+import org.jboss.weld.tests.category.Integration;
+import org.junit.Assert;
+import org.junit.Test;
+import org.junit.experimental.categories.Category;
+import org.junit.runner.RunWith;
+
+(a)Category(Integration.class)
+(a)RunWith(Arquillian.class)
+public class EnterpriseBeanLifecycleTest
+{
+ @Deployment
+ public static Archive<?> deploy()
+ {
+ return ShrinkWrap.create(EnterpriseArchive.class, "test.ear")
+ .addModule(
+ ShrinkWrap.create(JavaArchive.class)
+ .addPackage(EnterpriseBeanLifecycleTest.class.getPackage())
+ .addManifestResource(EmptyAsset.INSTANCE, "beans.xml")
+ );
+ }
+
+ /*
+ * description="WELD-290"
+ */
+ @Test
+ public void testSLSBInjectedIntoPassivatingManagedBean(SimpleBean bean)
+ {
+ Assert.assertEquals("This is my message from my stateless bean", bean.getMessage());
+ }
+}
Added: core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/enterprise/proxyability/MyStatelessBean.java
===================================================================
--- core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/enterprise/proxyability/MyStatelessBean.java (rev 0)
+++ core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/enterprise/proxyability/MyStatelessBean.java 2010-07-28 10:18:08 UTC (rev 6820)
@@ -0,0 +1,34 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2010, Red Hat, Inc., and individual contributors
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * http://www.apache.org/licenses/LICENSE-2.0
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.jboss.weld.tests.enterprise.proxyability;
+
+import java.io.Serializable;
+
+import javax.ejb.Stateless;
+
+/**
+ * Session Bean implementation class MyStatelessBean
+ */
+@Stateless
+public class MyStatelessBean implements MyStatelessBeanLocal, Serializable
+{
+
+ public String getText()
+ {
+ return "This is my message from my stateless bean";
+ }
+}
Added: core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/enterprise/proxyability/MyStatelessBeanLocal.java
===================================================================
--- core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/enterprise/proxyability/MyStatelessBeanLocal.java (rev 0)
+++ core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/enterprise/proxyability/MyStatelessBeanLocal.java 2010-07-28 10:18:08 UTC (rev 6820)
@@ -0,0 +1,26 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2010, Red Hat, Inc., and individual contributors
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * http://www.apache.org/licenses/LICENSE-2.0
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.jboss.weld.tests.enterprise.proxyability;
+
+import javax.ejb.Local;
+
+@Local
+public interface MyStatelessBeanLocal
+{
+
+ String getText();
+}
Added: core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/enterprise/proxyability/SimpleBean.java
===================================================================
--- core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/enterprise/proxyability/SimpleBean.java (rev 0)
+++ core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/enterprise/proxyability/SimpleBean.java 2010-07-28 10:18:08 UTC (rev 6820)
@@ -0,0 +1,36 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2010, Red Hat, Inc., and individual contributors
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * http://www.apache.org/licenses/LICENSE-2.0
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.jboss.weld.tests.enterprise.proxyability;
+
+import java.io.Serializable;
+
+import javax.enterprise.context.SessionScoped;
+import javax.inject.Inject;
+
+@SessionScoped
+public class SimpleBean implements Serializable
+{
+
+ @Inject
+ private MyStatelessBeanLocal myStatelessBean;
+
+ public String getMessage()
+ {
+ return myStatelessBean.getText();
+ }
+
+}
Added: core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/event/Bar.java
===================================================================
--- core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/event/Bar.java (rev 0)
+++ core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/event/Bar.java 2010-07-28 10:18:08 UTC (rev 6820)
@@ -0,0 +1,90 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2010, Red Hat, Inc., and individual contributors
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * http://www.apache.org/licenses/LICENSE-2.0
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.jboss.weld.tests.event;
+
+import javax.enterprise.context.RequestScoped;
+import javax.enterprise.event.Event;
+import javax.enterprise.event.Observes;
+import javax.enterprise.inject.spi.BeanManager;
+import javax.enterprise.util.AnnotationLiteral;
+import javax.inject.Inject;
+
+@RequestScoped
+public class Bar
+{
+
+ @Inject Event<String> event;
+
+ @Inject @Updated Event<String> updatedEvent;
+
+ @Inject BeanManager manager;
+
+ private boolean unqualifiedObserved;
+ private boolean updatedObserved;
+
+ public void fireWithNoQualifiers()
+ {
+ event.fire("");
+ }
+
+ public void fireWithUpdatedQualifierViaSelect()
+ {
+ event.select(new AnnotationLiteral<Updated>() {}).fire("");
+ }
+
+ public void fireWithNoQualifiersViaManager()
+ {
+ manager.fireEvent("");
+ }
+
+ public void fireWithUpdatedQualifierViaManager()
+ {
+ manager.fireEvent("", new AnnotationLiteral<Updated>() {});
+ }
+
+ public void fireWithUpdatedQualifierViaAnnotation()
+ {
+ updatedEvent.fire("");
+ }
+
+ public void reset()
+ {
+ unqualifiedObserved = false;
+ updatedObserved = false;
+ }
+
+ public void onEvent(@Observes String event)
+ {
+ unqualifiedObserved = true;
+ }
+
+ private void onUpdatedEvent(@Observes @Updated String event)
+ {
+ updatedObserved = true;
+ }
+
+ public boolean isUnqualifiedObserved()
+ {
+ return unqualifiedObserved;
+ }
+
+ public boolean isUpdatedObserved()
+ {
+ return updatedObserved;
+ }
+
+}
\ No newline at end of file
Added: core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/event/EventQualifierTest.java
===================================================================
--- core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/event/EventQualifierTest.java (rev 0)
+++ core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/event/EventQualifierTest.java 2010-07-28 10:18:08 UTC (rev 6820)
@@ -0,0 +1,65 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2010, Red Hat, Inc., and individual contributors
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * http://www.apache.org/licenses/LICENSE-2.0
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.jboss.weld.tests.event;
+
+import org.jboss.arquillian.api.Deployment;
+import org.jboss.arquillian.junit.Arquillian;
+import org.jboss.shrinkwrap.api.Archive;
+import org.jboss.shrinkwrap.api.BeanArchive;
+import org.jboss.shrinkwrap.api.ShrinkWrap;
+import org.junit.Assert;
+import org.junit.Test;
+import org.junit.runner.RunWith;
+
+(a)RunWith(Arquillian.class)
+public class EventQualifierTest
+{
+ @Deployment
+ public static Archive<?> deploy()
+ {
+ return ShrinkWrap.create(BeanArchive.class)
+ .addPackage(EventQualifierTest.class.getPackage());
+ }
+
+ /*
+ * description = "WELD-226"
+ */
+ @Test
+ public void testDefaultQualifierNotRequired(Bar bar)
+ {
+ bar.fireWithNoQualifiers();
+ Assert.assertTrue(bar.isUnqualifiedObserved());
+ Assert.assertFalse(bar.isUpdatedObserved());
+ bar.reset();
+ bar.fireWithNoQualifiersViaManager();
+ Assert.assertTrue(bar.isUnqualifiedObserved());
+ Assert.assertFalse(bar.isUpdatedObserved());
+ bar.reset();
+ bar.fireWithUpdatedQualifierViaAnnotation();
+ Assert.assertTrue(bar.isUnqualifiedObserved());
+ Assert.assertTrue(bar.isUpdatedObserved());
+ bar.reset();
+ bar.fireWithUpdatedQualifierViaManager();
+ Assert.assertTrue(bar.isUpdatedObserved());
+ Assert.assertTrue(bar.isUnqualifiedObserved());
+ bar.reset();
+ bar.fireWithUpdatedQualifierViaSelect();
+ Assert.assertTrue(bar.isUnqualifiedObserved());
+ Assert.assertTrue(bar.isUpdatedObserved());
+ }
+
+}
Added: core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/event/Foo.java
===================================================================
--- core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/event/Foo.java (rev 0)
+++ core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/event/Foo.java 2010-07-28 10:18:08 UTC (rev 6820)
@@ -0,0 +1,22 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2010, Red Hat, Inc., and individual contributors
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * http://www.apache.org/licenses/LICENSE-2.0
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.jboss.weld.tests.event;
+
+public class Foo
+{
+
+}
Added: core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/event/NormalScopedBean.java
===================================================================
--- core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/event/NormalScopedBean.java (rev 0)
+++ core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/event/NormalScopedBean.java 2010-07-28 10:18:08 UTC (rev 6820)
@@ -0,0 +1,32 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2010, Red Hat, Inc., and individual contributors
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * http://www.apache.org/licenses/LICENSE-2.0
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package org.jboss.weld.tests.event;
+
+import java.io.Serializable;
+
+import javax.enterprise.context.SessionScoped;
+import javax.enterprise.event.Event;
+import javax.enterprise.inject.Any;
+
+@SessionScoped
+public class NormalScopedBean implements Serializable
+{
+
+ @Any Event<Foo> event;
+
+}
Added: core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/event/SimpleEventTest.java
===================================================================
--- core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/event/SimpleEventTest.java (rev 0)
+++ core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/event/SimpleEventTest.java 2010-07-28 10:18:08 UTC (rev 6820)
@@ -0,0 +1,162 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2010, Red Hat, Inc., and individual contributors
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * http://www.apache.org/licenses/LICENSE-2.0
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.jboss.weld.tests.event;
+
+import javax.enterprise.event.Event;
+import javax.enterprise.event.Observes;
+import javax.enterprise.inject.Any;
+import javax.enterprise.util.AnnotationLiteral;
+import javax.inject.Inject;
+
+import org.jboss.arquillian.api.Deployment;
+import org.jboss.arquillian.junit.Arquillian;
+import org.jboss.shrinkwrap.api.Archive;
+import org.jboss.shrinkwrap.api.BeanArchive;
+import org.jboss.shrinkwrap.api.ShrinkWrap;
+import org.jboss.weld.manager.BeanManagerImpl;
+import org.junit.Test;
+import org.junit.runner.RunWith;
+
+(a)RunWith(Arquillian.class)
+public class SimpleEventTest
+{
+ @Deployment
+ public static Archive<?> deploy()
+ {
+ return ShrinkWrap.create(BeanArchive.class)
+ .addPackage(SimpleEventTest.class.getPackage());
+ }
+
+ private static boolean RECEIVE_1_OBSERVED;
+ private static boolean RECEIVE_2_OBSERVED;
+ private static boolean RECEIVE_3_OBSERVED;
+
+ private static void initFlags() {
+ RECEIVE_1_OBSERVED = false;
+ RECEIVE_2_OBSERVED = false;
+ RECEIVE_3_OBSERVED = false;
+ }
+
+ @Inject
+ private BeanManagerImpl beanManager;
+
+ @Test
+ public void testFireEventOnManager()
+ {
+ initFlags();
+
+ beanManager.fireEvent("Fired using Manager Interface with AnnotationLiteral.", new AnnotationLiteral<Updated>(){});
+
+ assert RECEIVE_1_OBSERVED == true;
+ assert RECEIVE_2_OBSERVED == true;
+ assert RECEIVE_3_OBSERVED == true;
+
+ initFlags();
+
+ beanManager.fireEvent("Fired using Manager Interface.");
+
+ assert RECEIVE_1_OBSERVED == false; // not called
+ assert RECEIVE_2_OBSERVED == true;
+ assert RECEIVE_3_OBSERVED == true;
+ }
+
+ @Test
+ public void testFireEventOnEvent(App app)
+ {
+ initFlags();
+
+ app.fireEventByBindingDeclaredAtInjectionPoint();
+
+ assert RECEIVE_1_OBSERVED == true;
+ assert RECEIVE_2_OBSERVED == true;
+ assert RECEIVE_3_OBSERVED == true;
+
+ initFlags();
+
+ app.fireEventByAnnotationLiteral();
+
+ assert RECEIVE_1_OBSERVED == true;
+ assert RECEIVE_2_OBSERVED == true;
+ assert RECEIVE_3_OBSERVED == true;
+
+ initFlags();
+
+ app.fireEventViaAny();
+
+ assert RECEIVE_2_OBSERVED == true;
+ assert RECEIVE_1_OBSERVED == false; // not called
+ assert RECEIVE_3_OBSERVED == true;
+
+ initFlags();
+
+ app.fireEventViaWithNoQualifier();
+
+ assert RECEIVE_1_OBSERVED == false; // not called
+ assert RECEIVE_2_OBSERVED == true;
+ assert RECEIVE_3_OBSERVED == true;
+ }
+
+ public static class App
+ {
+ @Inject @Any
+ Event<String> event1;
+
+ @Inject @Updated
+ Event<String> event2;
+
+ @Inject
+ Event<String> event4;
+
+ public void fireEventByAnnotationLiteral()
+ {
+ event1.select(new AnnotationLiteral<Updated>(){}).fire("Fired using Event Interface with AnnotationLiteral.");
+ }
+
+ public void fireEventByBindingDeclaredAtInjectionPoint()
+ {
+ event2.fire("Fired using Event Interface with Binding Declared.");
+ }
+
+ public void fireEventViaAny()
+ {
+ event1.fire("Fired using Event Interface");
+ }
+
+ public void fireEventViaWithNoQualifier()
+ {
+ event4.fire("Fired using Event Interface with no qualifier");
+ }
+ }
+
+ public static class Receiver
+ {
+ public void receive1(@Observes @Updated String s)
+ {
+ RECEIVE_1_OBSERVED = true;
+ }
+
+ public void receive2(@Any @Observes String s)
+ {
+ RECEIVE_2_OBSERVED = true;
+ }
+
+ public void receive3(@Observes String s)
+ {
+ RECEIVE_3_OBSERVED = true;
+ }
+ }
+}
\ No newline at end of file
Added: core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/event/Updated.java
===================================================================
--- core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/event/Updated.java (rev 0)
+++ core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/event/Updated.java 2010-07-28 10:18:08 UTC (rev 6820)
@@ -0,0 +1,38 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2010, Red Hat, Inc., and individual contributors
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * http://www.apache.org/licenses/LICENSE-2.0
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.jboss.weld.tests.event;
+
+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.inject.Qualifier;
+
+@Qualifier
+@Retention(RUNTIME)
+@Target( { TYPE, METHOD, FIELD, PARAMETER })
+@Documented
+@interface Updated
+{
+
+}
Added: core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/exceptions/ExceptionHandlingTest.java
===================================================================
--- core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/exceptions/ExceptionHandlingTest.java (rev 0)
+++ core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/exceptions/ExceptionHandlingTest.java 2010-07-28 10:18:08 UTC (rev 6820)
@@ -0,0 +1,80 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2010, Red Hat, Inc., and individual contributors
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * http://www.apache.org/licenses/LICENSE-2.0
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.jboss.weld.tests.exceptions;
+
+import javax.enterprise.inject.CreationException;
+import javax.enterprise.util.AnnotationLiteral;
+import javax.inject.Inject;
+
+import org.jboss.arquillian.api.Deployment;
+import org.jboss.arquillian.junit.Arquillian;
+import org.jboss.shrinkwrap.api.Archive;
+import org.jboss.shrinkwrap.api.BeanArchive;
+import org.jboss.shrinkwrap.api.ShrinkWrap;
+import org.jboss.weld.manager.BeanManagerImpl;
+import org.jboss.weld.test.Utils;
+import org.junit.Test;
+import org.junit.runner.RunWith;
+
+(a)RunWith(Arquillian.class)
+public class ExceptionHandlingTest
+{
+ @Deployment
+ public static Archive<?> deploy()
+ {
+ return ShrinkWrap.create(BeanArchive.class)
+ .addPackage(ExceptionHandlingTest.class.getPackage())
+ .addClass(Utils.class);
+ }
+
+ @Inject
+ private BeanManagerImpl beanManager;
+
+ @Test(expected = FooException.class)
+ public void testCreationExceptionWrapsRealExceptionForSimpleBean() throws Exception
+ {
+ try
+ {
+ Utils.getReference(beanManager, Lorry_Broken.class);
+ }
+ catch (Exception e)
+ {
+ if (e instanceof CreationException)
+ {
+ throw (Exception) e.getCause();
+ }
+ }
+ }
+
+
+ @Test(expected = FooException.class)
+ public void testCreationExceptionWrapsRealExceptionForProducerBean() throws Exception
+ {
+ try
+ {
+ Utils.getReference(beanManager, Ship.class, new AnnotationLiteral<Large>() {});
+ }
+ catch (Exception e)
+ {
+ if (e instanceof CreationException)
+ {
+ throw (Exception) e.getCause();
+ }
+ }
+ }
+
+}
Added: core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/exceptions/FooException.java
===================================================================
--- core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/exceptions/FooException.java (rev 0)
+++ core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/exceptions/FooException.java 2010-07-28 10:18:08 UTC (rev 6820)
@@ -0,0 +1,22 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2010, Red Hat, Inc., and individual contributors
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * http://www.apache.org/licenses/LICENSE-2.0
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.jboss.weld.tests.exceptions;
+
+public class FooException extends Exception
+{
+
+}
Added: core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/exceptions/Large.java
===================================================================
--- core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/exceptions/Large.java (rev 0)
+++ core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/exceptions/Large.java 2010-07-28 10:18:08 UTC (rev 6820)
@@ -0,0 +1,38 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2010, Red Hat, Inc., and individual contributors
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * http://www.apache.org/licenses/LICENSE-2.0
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.jboss.weld.tests.exceptions;
+
+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.inject.Qualifier;
+
+@Target( { TYPE, METHOD, PARAMETER, FIELD })
+@Retention(RUNTIME)
+@Documented
+@Qualifier
+@interface Large
+{
+
+}
Added: core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/exceptions/Lorry_Broken.java
===================================================================
--- core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/exceptions/Lorry_Broken.java (rev 0)
+++ core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/exceptions/Lorry_Broken.java 2010-07-28 10:18:08 UTC (rev 6820)
@@ -0,0 +1,27 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2010, Red Hat, Inc., and individual contributors
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * http://www.apache.org/licenses/LICENSE-2.0
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.jboss.weld.tests.exceptions;
+
+class Lorry_Broken
+{
+
+ public Lorry_Broken() throws Exception
+ {
+ throw new FooException();
+ }
+
+}
Added: core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/exceptions/Ship.java
===================================================================
--- core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/exceptions/Ship.java (rev 0)
+++ core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/exceptions/Ship.java 2010-07-28 10:18:08 UTC (rev 6820)
@@ -0,0 +1,22 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2010, Red Hat, Inc., and individual contributors
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * http://www.apache.org/licenses/LICENSE-2.0
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.jboss.weld.tests.exceptions;
+
+class Ship
+{
+
+}
Added: core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/exceptions/ShipProducer_Broken.java
===================================================================
--- core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/exceptions/ShipProducer_Broken.java (rev 0)
+++ core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/exceptions/ShipProducer_Broken.java 2010-07-28 10:18:08 UTC (rev 6820)
@@ -0,0 +1,30 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2010, Red Hat, Inc., and individual contributors
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * http://www.apache.org/licenses/LICENSE-2.0
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.jboss.weld.tests.exceptions;
+
+import javax.enterprise.inject.Produces;
+
+public class ShipProducer_Broken
+{
+
+ @Produces @Large
+ public Ship produceShip() throws FooException
+ {
+ throw new FooException();
+ }
+
+}
Added: core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/extensions/Capercaillie.java
===================================================================
--- core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/extensions/Capercaillie.java (rev 0)
+++ core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/extensions/Capercaillie.java 2010-07-28 10:18:08 UTC (rev 6820)
@@ -0,0 +1,27 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2010, Red Hat, Inc., and individual contributors
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * http://www.apache.org/licenses/LICENSE-2.0
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.jboss.weld.tests.extensions;
+
+public class Capercaillie
+{
+
+ public Capercaillie(String name)
+ {
+ // TODO Auto-generated constructor stub
+ }
+
+}
Added: core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/extensions/Cow.java
===================================================================
--- core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/extensions/Cow.java (rev 0)
+++ core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/extensions/Cow.java 2010-07-28 10:18:08 UTC (rev 6820)
@@ -0,0 +1,25 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2010, Red Hat, Inc., and individual contributors
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * http://www.apache.org/licenses/LICENSE-2.0
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.jboss.weld.tests.extensions;
+
+import javax.ejb.Stateless;
+
+@Stateless
+public class Cow implements CowLocal
+{
+
+}
Added: core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/extensions/CowLocal.java
===================================================================
--- core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/extensions/CowLocal.java (rev 0)
+++ core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/extensions/CowLocal.java 2010-07-28 10:18:08 UTC (rev 6820)
@@ -0,0 +1,25 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2010, Red Hat, Inc., and individual contributors
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * http://www.apache.org/licenses/LICENSE-2.0
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.jboss.weld.tests.extensions;
+
+import javax.ejb.Local;
+
+@Local
+public interface CowLocal
+{
+
+}
Added: core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/extensions/ExtensionObserver.java
===================================================================
--- core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/extensions/ExtensionObserver.java (rev 0)
+++ core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/extensions/ExtensionObserver.java 2010-07-28 10:18:08 UTC (rev 6820)
@@ -0,0 +1,295 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2010, Red Hat, Inc., and individual contributors
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * http://www.apache.org/licenses/LICENSE-2.0
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.jboss.weld.tests.extensions;
+
+import javax.enterprise.event.Observes;
+import javax.enterprise.inject.spi.AfterBeanDiscovery;
+import javax.enterprise.inject.spi.AfterDeploymentValidation;
+import javax.enterprise.inject.spi.BeforeBeanDiscovery;
+import javax.enterprise.inject.spi.Extension;
+import javax.enterprise.inject.spi.ProcessAnnotatedType;
+import javax.enterprise.inject.spi.ProcessBean;
+import javax.enterprise.inject.spi.ProcessInjectionTarget;
+import javax.enterprise.inject.spi.ProcessManagedBean;
+import javax.enterprise.inject.spi.ProcessObserverMethod;
+import javax.enterprise.inject.spi.ProcessProducer;
+import javax.enterprise.inject.spi.ProcessProducerField;
+import javax.enterprise.inject.spi.ProcessProducerMethod;
+import javax.enterprise.inject.spi.ProcessSessionBean;
+
+public class ExtensionObserver implements Extension
+{
+
+ private boolean allBeforeBeanDiscovery;
+ private boolean allAfterBeanDiscovery;
+ private boolean allAfterDeploymentValidation;
+ private boolean allProcessBean;
+ private boolean allProcessInjectionTarget;
+ private boolean allProcessManagedBean;
+ private boolean allProcessObserverMethod;
+ private boolean allProcessProducer;
+ private boolean allProcessProducerField;
+ private boolean allProcessProducerMethod;
+ private boolean allProcessSessionBean;
+ private boolean allProcessAnnnotatedType;
+
+ private boolean beforeBeanDiscovery;
+ private boolean afterBeanDiscovery;
+ private boolean afterDeploymentValidation;
+ private boolean processBean;
+ private boolean processInjectionTarget;
+ private boolean processManagedBean;
+ private boolean processObserverMethod;
+ private boolean processProducer;
+ private boolean processProducerField;
+ private boolean processProducerMethod;
+ private boolean processSessionBean;
+ private boolean processAnnotatedType;
+
+ public void observeAll(@Observes Object event)
+ {
+ if (event instanceof BeforeBeanDiscovery)
+ {
+ allBeforeBeanDiscovery = true;
+ }
+ if (event instanceof AfterBeanDiscovery)
+ {
+ allAfterBeanDiscovery = true;
+ }
+ if (event instanceof AfterDeploymentValidation)
+ {
+ allAfterDeploymentValidation = true;
+ }
+ if (event instanceof ProcessBean<?> && !(event instanceof ProcessProducerField<?, ?> || event instanceof ProcessProducerMethod<?, ?> || event instanceof ProcessManagedBean<?> || event instanceof ProcessSessionBean<?>))
+ {
+ allProcessBean = true;
+ }
+ if (event instanceof ProcessInjectionTarget<?>)
+ {
+ allProcessInjectionTarget = true;
+ }
+ if (event instanceof ProcessManagedBean<?>)
+ {
+ allProcessManagedBean = true;
+ }
+ if (event instanceof ProcessObserverMethod<?, ?>)
+ {
+ allProcessObserverMethod = true;
+ }
+ if (event instanceof ProcessProducer<?, ?>)
+ {
+ allProcessProducer = true;
+ }
+ if (event instanceof ProcessProducerField<?, ?>)
+ {
+ allProcessProducerField = true;
+ }
+ if (event instanceof ProcessProducerMethod<?, ?>)
+ {
+ allProcessProducerMethod = true;
+ }
+ if (event instanceof ProcessSessionBean<?>)
+ {
+ allProcessSessionBean = true;
+ }
+ if (event instanceof ProcessAnnotatedType<?>)
+ {
+ allProcessAnnnotatedType = true;
+ }
+ }
+
+ public void observeBeforeBeanDiscovery(@Observes BeforeBeanDiscovery event)
+ {
+ beforeBeanDiscovery = true;
+ }
+
+ public void observeAfterBeanDiscovery(@Observes AfterBeanDiscovery event)
+ {
+ afterBeanDiscovery = true;
+ }
+
+ public void observeAfterDeploymentValidation(@Observes AfterDeploymentValidation event)
+ {
+ afterDeploymentValidation = true;
+ }
+
+ public void observeProcessBean(@Observes ProcessBean<?> event)
+ {
+ processBean = true;
+ }
+
+ public void observeProcessInjectionTarget(@Observes ProcessInjectionTarget<?> event)
+ {
+ processInjectionTarget = true;
+ }
+
+ public void observeProcessProducer(@Observes ProcessProducer<?, ?> event)
+ {
+ processProducer = true;
+ }
+
+ public void observeProcessProducerMethod(@Observes ProcessProducerMethod<?, ?> event)
+ {
+ processProducerMethod = true;
+ }
+
+ public void observeProcessProducerField(@Observes ProcessProducerField<?, ?> event)
+ {
+ processProducerField = true;
+ }
+
+ public void observeProcessObserverMethod(@Observes ProcessObserverMethod<?, ?> event)
+ {
+ processObserverMethod = true;
+ }
+
+ public void observeProcessManagedBean(@Observes ProcessManagedBean<?> event)
+ {
+ processManagedBean = true;
+ }
+
+ public void observeProcessSessionBean(@Observes ProcessSessionBean<?> event)
+ {
+ processSessionBean = true;
+ }
+
+ public void observeProcessAnnotatedType(@Observes ProcessAnnotatedType<?> event)
+ {
+ processAnnotatedType = true;
+ }
+
+ public boolean isAllBeforeBeanDiscovery()
+ {
+ return allBeforeBeanDiscovery;
+ }
+
+ public boolean isAllAfterBeanDiscovery()
+ {
+ return allAfterBeanDiscovery;
+ }
+
+ public boolean isAllAfterDeploymentValidation()
+ {
+ return allAfterDeploymentValidation;
+ }
+
+ public boolean isAllProcessBean()
+ {
+ return allProcessBean;
+ }
+
+ public boolean isAllProcessInjectionTarget()
+ {
+ return allProcessInjectionTarget;
+ }
+
+ public boolean isAllProcessManagedBean()
+ {
+ return allProcessManagedBean;
+ }
+
+ public boolean isAllProcessObserverMethod()
+ {
+ return allProcessObserverMethod;
+ }
+
+ public boolean isAllProcessProducer()
+ {
+ return allProcessProducer;
+ }
+
+ public boolean isAllProcessProducerField()
+ {
+ return allProcessProducerField;
+ }
+
+ public boolean isAllProcessProducerMethod()
+ {
+ return allProcessProducerMethod;
+ }
+
+ public boolean isAllProcessSessionBean()
+ {
+ return allProcessSessionBean;
+ }
+
+ public boolean isAllProcessAnnnotatedType()
+ {
+ return allProcessAnnnotatedType;
+ }
+
+ public boolean isBeforeBeanDiscovery()
+ {
+ return beforeBeanDiscovery;
+ }
+
+ public boolean isAfterBeanDiscovery()
+ {
+ return afterBeanDiscovery;
+ }
+
+ public boolean isAfterDeploymentValidation()
+ {
+ return afterDeploymentValidation;
+ }
+
+ public boolean isProcessBean()
+ {
+ return processBean;
+ }
+
+ public boolean isProcessInjectionTarget()
+ {
+ return processInjectionTarget;
+ }
+
+ public boolean isProcessManagedBean()
+ {
+ return processManagedBean;
+ }
+
+ public boolean isProcessObserverMethod()
+ {
+ return processObserverMethod;
+ }
+
+ public boolean isProcessProducer()
+ {
+ return processProducer;
+ }
+
+ public boolean isProcessProducerField()
+ {
+ return processProducerField;
+ }
+
+ public boolean isProcessProducerMethod()
+ {
+ return processProducerMethod;
+ }
+
+ public boolean isProcessSessionBean()
+ {
+ return processSessionBean;
+ }
+
+ public boolean isProcessAnnotatedType()
+ {
+ return processAnnotatedType;
+ }
+
+}
Added: core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/extensions/ExtensionTest.java
===================================================================
--- core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/extensions/ExtensionTest.java (rev 0)
+++ core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/extensions/ExtensionTest.java 2010-07-28 10:18:08 UTC (rev 6820)
@@ -0,0 +1,136 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2010, Red Hat, Inc., and individual contributors
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * http://www.apache.org/licenses/LICENSE-2.0
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.jboss.weld.tests.extensions;
+
+import javax.enterprise.inject.spi.Extension;
+
+import org.jboss.arquillian.api.Deployment;
+import org.jboss.arquillian.junit.Arquillian;
+import org.jboss.shrinkwrap.api.Archive;
+import org.jboss.shrinkwrap.api.BeanArchive;
+import org.jboss.shrinkwrap.api.ShrinkWrap;
+import org.jboss.shrinkwrap.api.spec.EnterpriseArchive;
+import org.jboss.weld.tests.category.Integration;
+import org.junit.Assert;
+import org.junit.Test;
+import org.junit.experimental.categories.Category;
+import org.junit.runner.RunWith;
+
+(a)Category(Integration.class)
+(a)RunWith(Arquillian.class)
+public class ExtensionTest
+{
+ @Deployment
+ public static Archive<?> deploy()
+ {
+ return ShrinkWrap.create(EnterpriseArchive.class, "test.ear")
+ .addModule(
+ ShrinkWrap.create(BeanArchive.class)
+ .addPackage(ExtensionTest.class.getPackage())
+ .addServiceProvider(Extension.class,
+ SimpleExtension.class,
+ ExtensionObserver.class,
+ WoodlandExtension.class)
+ );
+ }
+
+ /*
+ * description = "WELD-234"
+ */
+ @Test
+ public void testExtensionInjectableAsBean(SimpleExtension extension)
+ {
+ Assert.assertTrue(extension.isObservedBeforeBeanDiscovery());
+ }
+
+ /*
+ * description = "WELD-243"
+ */
+ @Test
+ public void testContainerEventsOnlySentToExtensionBeans(ExtensionObserver extensionObserver, OtherObserver otherObserver)
+ {
+ Assert.assertTrue(extensionObserver.isBeforeBeanDiscovery());
+ Assert.assertTrue(extensionObserver.isAllBeforeBeanDiscovery());
+ Assert.assertFalse(otherObserver.isBeforeBeanDiscovery());
+ Assert.assertFalse(otherObserver.isAllBeforeBeanDiscovery());
+
+ Assert.assertTrue(extensionObserver.isAfterBeanDiscovery());
+ Assert.assertTrue(extensionObserver.isAllAfterBeanDiscovery());
+ Assert.assertFalse(otherObserver.isAfterBeanDiscovery());
+ Assert.assertFalse(otherObserver.isAllAfterBeanDiscovery());
+
+ Assert.assertTrue(extensionObserver.isProcessAnnotatedType());
+ Assert.assertTrue(extensionObserver.isAllProcessAnnnotatedType());
+ Assert.assertFalse(otherObserver.isProcessAnnotatedType());
+ Assert.assertFalse(otherObserver.isAllProcessAnnotatedType());
+
+ Assert.assertTrue(extensionObserver.isProcessBean());
+ Assert.assertTrue(extensionObserver.isAllProcessBean());
+ Assert.assertFalse(otherObserver.isProcessBean());
+ Assert.assertFalse(otherObserver.isAllProcessBean());
+
+ Assert.assertTrue(extensionObserver.isProcessInjectionTarget());
+ Assert.assertTrue(extensionObserver.isAllProcessInjectionTarget());
+ Assert.assertFalse(otherObserver.isProcessInjectionTarget());
+ Assert.assertFalse(otherObserver.isAllProcessInjectionTarget());
+
+ Assert.assertTrue(extensionObserver.isProcessManagedBean());
+ Assert.assertTrue(extensionObserver.isAllProcessManagedBean());
+ Assert.assertFalse(otherObserver.isProcessManagedBean());
+ Assert.assertFalse(otherObserver.isAllProcessManagedBean());
+
+ Assert.assertTrue(extensionObserver.isProcessObserverMethod());
+ Assert.assertTrue(extensionObserver.isAllProcessObserverMethod());
+ Assert.assertFalse(otherObserver.isProcessObserverMethod());
+ Assert.assertFalse(otherObserver.isAllProcessObserverMethod());
+
+ Assert.assertTrue(extensionObserver.isProcessProducer());
+ Assert.assertTrue(extensionObserver.isAllProcessProducer());
+ Assert.assertFalse(otherObserver.isProcessProducer());
+ Assert.assertFalse(otherObserver.isAllProcessProducer());
+
+ Assert.assertTrue(extensionObserver.isProcessProducerField());
+ Assert.assertTrue(extensionObserver.isAllProcessProducerField());
+ Assert.assertFalse(otherObserver.isProcessProducerField());
+ Assert.assertFalse(otherObserver.isAllProcessProducerField());
+
+ Assert.assertTrue(extensionObserver.isProcessProducerMethod());
+ Assert.assertTrue(extensionObserver.isAllProcessProducerField());
+ Assert.assertFalse(otherObserver.isProcessProducerMethod());
+ Assert.assertFalse(otherObserver.isAllProcessProducerMethod());
+
+ Assert.assertTrue(extensionObserver.isProcessSessionBean());
+ Assert.assertTrue(extensionObserver.isAllProcessSessionBean());
+ Assert.assertFalse(otherObserver.isProcessSessionBean());
+ Assert.assertFalse(otherObserver.isAllProcessSessionBean());
+
+ Assert.assertTrue(extensionObserver.isAfterDeploymentValidation());
+ Assert.assertTrue(extensionObserver.isAllAfterDeploymentValidation());
+ Assert.assertFalse(otherObserver.isAfterDeploymentValidation());
+ Assert.assertFalse(otherObserver.isAllAfterDeploymentValidation());
+ }
+
+ @Test
+ public void testInjectionTargetWrapped(Capercaillie capercaillie)
+ {
+ Assert.assertTrue(Woodland.isPostConstructCalled());
+ Assert.assertTrue(WoodlandExtension.isInjectCalled());
+ Assert.assertTrue(WoodlandExtension.isPostConstructCalled());
+ Assert.assertTrue(WoodlandExtension.isPreDestroyCalled());
+ Assert.assertTrue(WoodlandExtension.isProduceCalled());
+ }
+}
Added: core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/extensions/Foo.java
===================================================================
--- core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/extensions/Foo.java (rev 0)
+++ core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/extensions/Foo.java 2010-07-28 10:18:08 UTC (rev 6820)
@@ -0,0 +1,31 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2010, Red Hat, Inc., and individual contributors
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * http://www.apache.org/licenses/LICENSE-2.0
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.jboss.weld.tests.extensions;
+
+import javax.inject.Inject;
+
+public class Foo
+{
+
+ @Inject SimpleExtension simpleExtension;
+
+ public SimpleExtension getSimpleExtension()
+ {
+ return simpleExtension;
+ }
+
+}
Added: core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/extensions/Horse.java
===================================================================
--- core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/extensions/Horse.java (rev 0)
+++ core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/extensions/Horse.java 2010-07-28 10:18:08 UTC (rev 6820)
@@ -0,0 +1,22 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2010, Red Hat, Inc., and individual contributors
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * http://www.apache.org/licenses/LICENSE-2.0
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.jboss.weld.tests.extensions;
+
+public class Horse
+{
+
+}
Added: core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/extensions/OtherObserver.java
===================================================================
--- core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/extensions/OtherObserver.java (rev 0)
+++ core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/extensions/OtherObserver.java 2010-07-28 10:18:08 UTC (rev 6820)
@@ -0,0 +1,296 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2010, Red Hat, Inc., and individual contributors
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * http://www.apache.org/licenses/LICENSE-2.0
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.jboss.weld.tests.extensions;
+
+import javax.enterprise.context.ApplicationScoped;
+import javax.enterprise.event.Observes;
+import javax.enterprise.inject.spi.AfterBeanDiscovery;
+import javax.enterprise.inject.spi.AfterDeploymentValidation;
+import javax.enterprise.inject.spi.BeforeBeanDiscovery;
+import javax.enterprise.inject.spi.ProcessAnnotatedType;
+import javax.enterprise.inject.spi.ProcessBean;
+import javax.enterprise.inject.spi.ProcessInjectionTarget;
+import javax.enterprise.inject.spi.ProcessManagedBean;
+import javax.enterprise.inject.spi.ProcessObserverMethod;
+import javax.enterprise.inject.spi.ProcessProducer;
+import javax.enterprise.inject.spi.ProcessProducerField;
+import javax.enterprise.inject.spi.ProcessProducerMethod;
+import javax.enterprise.inject.spi.ProcessSessionBean;
+
+@ApplicationScoped
+public class OtherObserver
+{
+
+ private boolean allBeforeBeanDiscovery;
+ private boolean allAfterBeanDiscovery;
+ private boolean allAfterDeploymentValidation;
+ private boolean allProcessBean;
+ private boolean allProcessInjectionTarget;
+ private boolean allProcessManagedBean;
+ private boolean allProcessObserverMethod;
+ private boolean allProcessProducer;
+ private boolean allProcessProducerField;
+ private boolean allProcessProducerMethod;
+ private boolean allProcessSession;
+ private boolean allProcessAnnotatedType;
+
+ private boolean beforeBeanDiscovery;
+ private boolean afterBeanDiscovery;
+ private boolean afterDeploymentValidation;
+ private boolean processBean;
+ private boolean processInjectionTarget;
+ private boolean processManagedBean;
+ private boolean processObserverMethod;
+ private boolean processProducer;
+ private boolean processProducerField;
+ private boolean processProducerMethod;
+ private boolean processSessionBean;
+ private boolean processAnnotatedType;
+
+ public void observeAll(@Observes Object event)
+ {
+ if (event instanceof BeforeBeanDiscovery)
+ {
+ allBeforeBeanDiscovery = true;
+ }
+ if (event instanceof AfterBeanDiscovery)
+ {
+ allAfterBeanDiscovery = true;
+ }
+ if (event instanceof AfterDeploymentValidation)
+ {
+ allAfterDeploymentValidation = true;
+ }
+ if (event instanceof ProcessBean<?> && !(event instanceof ProcessProducerField<?, ?> || event instanceof ProcessProducerMethod<?, ?> || event instanceof ProcessManagedBean<?> || event instanceof ProcessSessionBean<?>))
+ {
+ allProcessBean = true;
+ }
+ if (event instanceof ProcessInjectionTarget<?>)
+ {
+ allProcessInjectionTarget = true;
+ }
+ if (event instanceof ProcessManagedBean<?>)
+ {
+ allProcessManagedBean = true;
+ }
+ if (event instanceof ProcessObserverMethod<?, ?>)
+ {
+ allProcessObserverMethod = true;
+ }
+ if (event instanceof ProcessProducer<?, ?>)
+ {
+ allProcessProducer = true;
+ }
+ if (event instanceof ProcessProducerField<?, ?>)
+ {
+ allProcessProducerField = true;
+ }
+ if (event instanceof ProcessProducerMethod<?, ?>)
+ {
+ allProcessProducerMethod = true;
+ }
+ if (event instanceof ProcessSessionBean<?>)
+ {
+ allProcessSession = true;
+ }
+ if (event instanceof ProcessAnnotatedType<?>)
+ {
+ allProcessAnnotatedType = true;
+ }
+ }
+
+ public void observeBeforeBeanDiscovery(@Observes BeforeBeanDiscovery event)
+ {
+ beforeBeanDiscovery = true;
+ }
+
+ public void observeAfterBeanDiscovery(@Observes AfterBeanDiscovery event)
+ {
+ afterBeanDiscovery = true;
+ }
+
+ public void observeAfterDeploymentValidation(@Observes AfterDeploymentValidation event)
+ {
+ afterDeploymentValidation = true;
+ }
+
+ public void observeProcessBean(@Observes ProcessBean<?> event)
+ {
+ processBean = true;
+ }
+
+ public void observeProcessInjectionTarget(@Observes ProcessInjectionTarget<?> event)
+ {
+ processInjectionTarget = true;
+ }
+
+ public void observeProcessProducer(@Observes ProcessProducer<?, ?> event)
+ {
+ processProducer = true;
+ }
+
+ public void observeProcessProducerMethod(@Observes ProcessProducerMethod<?, ?> event)
+ {
+ processProducerMethod = true;
+ }
+
+ public void observeProcessProducerField(@Observes ProcessProducerField<?, ?> event)
+ {
+ processProducerField = true;
+ }
+
+ public void observeProcessObserverMethod(@Observes ProcessObserverMethod<?, ?> event)
+ {
+ processObserverMethod = true;
+ }
+
+ public void observeProcessManagedBean(@Observes ProcessManagedBean<?> event)
+ {
+ processManagedBean = true;
+ }
+
+ public void observeProcessSessionBean(@Observes ProcessSessionBean<?> event)
+ {
+ processSessionBean = true;
+ }
+
+ public void observeProcessAnnotatedType(@Observes ProcessAnnotatedType<?> event)
+ {
+ processAnnotatedType = true;
+ }
+
+ public boolean isAllBeforeBeanDiscovery()
+ {
+ return allBeforeBeanDiscovery;
+ }
+
+ public boolean isAllAfterBeanDiscovery()
+ {
+ return allAfterBeanDiscovery;
+ }
+
+ public boolean isAllAfterDeploymentValidation()
+ {
+ return allAfterDeploymentValidation;
+ }
+
+ public boolean isAllProcessBean()
+ {
+ return allProcessBean;
+ }
+
+ public boolean isAllProcessInjectionTarget()
+ {
+ return allProcessInjectionTarget;
+ }
+
+ public boolean isAllProcessManagedBean()
+ {
+ return allProcessManagedBean;
+ }
+
+ public boolean isAllProcessObserverMethod()
+ {
+ return allProcessObserverMethod;
+ }
+
+ public boolean isAllProcessProducer()
+ {
+ return allProcessProducer;
+ }
+
+ public boolean isAllProcessProducerField()
+ {
+ return allProcessProducerField;
+ }
+
+ public boolean isAllProcessProducerMethod()
+ {
+ return allProcessProducerMethod;
+ }
+
+ public boolean isAllProcessSessionBean()
+ {
+ return allProcessSession;
+ }
+
+ public boolean isAllProcessAnnotatedType()
+ {
+ return allProcessAnnotatedType;
+ }
+
+ public boolean isBeforeBeanDiscovery()
+ {
+ return beforeBeanDiscovery;
+ }
+
+ public boolean isAfterBeanDiscovery()
+ {
+ return afterBeanDiscovery;
+ }
+
+ public boolean isAfterDeploymentValidation()
+ {
+ return afterDeploymentValidation;
+ }
+
+ public boolean isProcessBean()
+ {
+ return processBean;
+ }
+
+ public boolean isProcessInjectionTarget()
+ {
+ return processInjectionTarget;
+ }
+
+ public boolean isProcessManagedBean()
+ {
+ return processManagedBean;
+ }
+
+ public boolean isProcessObserverMethod()
+ {
+ return processObserverMethod;
+ }
+
+ public boolean isProcessProducer()
+ {
+ return processProducer;
+ }
+
+ public boolean isProcessProducerField()
+ {
+ return processProducerField;
+ }
+
+ public boolean isProcessProducerMethod()
+ {
+ return processProducerMethod;
+ }
+
+ public boolean isProcessSessionBean()
+ {
+ return processSessionBean;
+ }
+
+ public boolean isProcessAnnotatedType()
+ {
+ return processAnnotatedType;
+ }
+
+}
Added: core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/extensions/Rat.java
===================================================================
--- core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/extensions/Rat.java (rev 0)
+++ core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/extensions/Rat.java 2010-07-28 10:18:08 UTC (rev 6820)
@@ -0,0 +1,22 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2010, Red Hat, Inc., and individual contributors
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * http://www.apache.org/licenses/LICENSE-2.0
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.jboss.weld.tests.extensions;
+
+public class Rat
+{
+
+}
Added: core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/extensions/SimpleExtension.java
===================================================================
--- core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/extensions/SimpleExtension.java (rev 0)
+++ core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/extensions/SimpleExtension.java 2010-07-28 10:18:08 UTC (rev 6820)
@@ -0,0 +1,46 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2010, Red Hat, Inc., and individual contributors
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * http://www.apache.org/licenses/LICENSE-2.0
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.jboss.weld.tests.extensions;
+import javax.enterprise.event.Observes;
+import javax.enterprise.inject.spi.BeanManager;
+import javax.enterprise.inject.spi.BeforeBeanDiscovery;
+import javax.enterprise.inject.spi.BeforeShutdown;
+import javax.enterprise.inject.spi.Extension;
+
+
+public class SimpleExtension implements Extension
+{
+
+ private static boolean observedBeforeBeanDiscovery;
+
+ public void observe(@Observes BeforeBeanDiscovery event)
+ {
+ observedBeforeBeanDiscovery = true;
+ }
+
+ public static boolean isObservedBeforeBeanDiscovery()
+ {
+ return observedBeforeBeanDiscovery;
+ }
+
+ public void observeBeforeShutdown(@Observes BeforeShutdown beforeShutdown, BeanManager beanManager)
+ {
+ assert beanManager != null;
+ assert beanManager.getELResolver() != null;
+ }
+
+}
Added: core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/extensions/Special.java
===================================================================
--- core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/extensions/Special.java (rev 0)
+++ core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/extensions/Special.java 2010-07-28 10:18:08 UTC (rev 6820)
@@ -0,0 +1,36 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2010, Red Hat, Inc., and individual contributors
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * http://www.apache.org/licenses/LICENSE-2.0
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.jboss.weld.tests.extensions;
+
+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 java.lang.annotation.Retention;
+import java.lang.annotation.RetentionPolicy;
+import java.lang.annotation.Target;
+
+import javax.inject.Qualifier;
+
+@Qualifier
+(a)Retention(RetentionPolicy.RUNTIME)
+@Target({FIELD, METHOD, TYPE, PARAMETER})
+public @interface Special
+{
+
+}
Added: core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/extensions/Stable.java
===================================================================
--- core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/extensions/Stable.java (rev 0)
+++ core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/extensions/Stable.java 2010-07-28 10:18:08 UTC (rev 6820)
@@ -0,0 +1,31 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2010, Red Hat, Inc., and individual contributors
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * http://www.apache.org/licenses/LICENSE-2.0
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.jboss.weld.tests.extensions;
+
+import javax.enterprise.inject.Produces;
+
+public class Stable
+{
+
+ @Produces @Special Rat rat = new Rat();
+
+ @Produces @Special Horse produce()
+ {
+ return new Horse();
+ }
+
+}
Added: core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/extensions/Woodland.java
===================================================================
--- core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/extensions/Woodland.java (rev 0)
+++ core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/extensions/Woodland.java 2010-07-28 10:18:08 UTC (rev 6820)
@@ -0,0 +1,46 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2010, Red Hat, Inc., and individual contributors
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * http://www.apache.org/licenses/LICENSE-2.0
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.jboss.weld.tests.extensions;
+
+import javax.annotation.PostConstruct;
+import javax.enterprise.inject.Produces;
+
+public class Woodland
+{
+
+ private static boolean postConstructCalled;
+
+ @Produces
+ private Capercaillie capercaillie = new Capercaillie("bob");
+
+ @PostConstruct
+ public void postConstruct()
+ {
+ postConstructCalled = true;
+ }
+
+ public static boolean isPostConstructCalled()
+ {
+ return postConstructCalled;
+ }
+
+ public static void reset()
+ {
+ postConstructCalled = false;
+ }
+
+}
Added: core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/extensions/WoodlandExtension.java
===================================================================
--- core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/extensions/WoodlandExtension.java (rev 0)
+++ core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/extensions/WoodlandExtension.java 2010-07-28 10:18:08 UTC (rev 6820)
@@ -0,0 +1,115 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2010, Red Hat, Inc., and individual contributors
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * http://www.apache.org/licenses/LICENSE-2.0
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.jboss.weld.tests.extensions;
+
+import java.util.Set;
+
+import javax.enterprise.context.spi.CreationalContext;
+import javax.enterprise.event.Observes;
+import javax.enterprise.inject.spi.BeforeShutdown;
+import javax.enterprise.inject.spi.Extension;
+import javax.enterprise.inject.spi.InjectionPoint;
+import javax.enterprise.inject.spi.InjectionTarget;
+import javax.enterprise.inject.spi.ProcessInjectionTarget;
+
+public class WoodlandExtension implements Extension
+{
+
+ private static boolean injectCalled;
+ private static boolean postConstructCalled;
+ private static boolean preDestroyCalled;
+ private static boolean produceCalled;
+
+ public void cleanup(@Observes BeforeShutdown shutdown)
+ {
+ reset();
+ Woodland.reset();
+ }
+
+ public void enhanceWoodland(final @Observes ProcessInjectionTarget<Woodland> processWoodland)
+ {
+ final InjectionTarget<Woodland> it = processWoodland.getInjectionTarget();
+ processWoodland.setInjectionTarget(new InjectionTarget<Woodland>()
+ {
+
+ public void inject(Woodland instance, CreationalContext<Woodland> ctx)
+ {
+ injectCalled = true;
+ it.inject(instance, ctx);
+ }
+
+ public void postConstruct(Woodland instance)
+ {
+ postConstructCalled = true;
+ it.postConstruct(instance);
+ }
+
+ public void preDestroy(Woodland instance)
+ {
+ preDestroyCalled = true;
+ it.preDestroy(instance);
+ }
+
+ public void dispose(Woodland instance)
+ {
+ // No-op for class bean
+
+ }
+
+ public Set<InjectionPoint> getInjectionPoints()
+ {
+ return it.getInjectionPoints();
+ }
+
+ public Woodland produce(CreationalContext<Woodland> ctx)
+ {
+ produceCalled = true;
+ return it.produce(ctx);
+ }
+
+ });
+ }
+
+ public static void reset()
+ {
+ injectCalled = false;
+ postConstructCalled = false;
+ preDestroyCalled = false;
+ preDestroyCalled = false;
+ }
+
+ public static boolean isInjectCalled()
+ {
+ return injectCalled;
+ }
+
+ public static boolean isPostConstructCalled()
+ {
+ return postConstructCalled;
+ }
+
+ public static boolean isPreDestroyCalled()
+ {
+ return preDestroyCalled;
+ }
+
+ public static boolean isProduceCalled()
+ {
+ return produceCalled;
+ }
+
+}
Added: core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/extensions/annotatedType/AnnotatedTypeExtension.java
===================================================================
--- core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/extensions/annotatedType/AnnotatedTypeExtension.java (rev 0)
+++ core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/extensions/annotatedType/AnnotatedTypeExtension.java 2010-07-28 10:18:08 UTC (rev 6820)
@@ -0,0 +1,563 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2010, Red Hat, Inc., and individual contributors
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * http://www.apache.org/licenses/LICENSE-2.0
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.jboss.weld.tests.extensions.annotatedType;
+
+import java.lang.annotation.Annotation;
+import java.lang.reflect.Constructor;
+import java.lang.reflect.Field;
+import java.lang.reflect.Method;
+import java.lang.reflect.Type;
+import java.util.ArrayList;
+import java.util.Collections;
+import java.util.HashSet;
+import java.util.List;
+import java.util.Set;
+
+import javax.enterprise.event.Observes;
+import javax.enterprise.inject.spi.AnnotatedCallable;
+import javax.enterprise.inject.spi.AnnotatedConstructor;
+import javax.enterprise.inject.spi.AnnotatedField;
+import javax.enterprise.inject.spi.AnnotatedMethod;
+import javax.enterprise.inject.spi.AnnotatedParameter;
+import javax.enterprise.inject.spi.AnnotatedType;
+import javax.enterprise.inject.spi.BeforeBeanDiscovery;
+import javax.enterprise.inject.spi.Extension;
+import javax.enterprise.inject.spi.ProcessAnnotatedType;
+import javax.inject.Inject;
+
+import org.jboss.weld.tests.extensions.annotatedType.EcoFriendlyWashingMachine.EcoFriendlyWashingMachineLiteral;
+import org.jboss.weld.util.collections.Arrays2;
+
+public class AnnotatedTypeExtension implements Extension
+{
+
+ public void addTumbleDryer(@Observes BeforeBeanDiscovery beforeBeanDiscovery)
+ {
+
+ final Set<AnnotatedConstructor<TumbleDryer>> constructors = new HashSet<AnnotatedConstructor<TumbleDryer>>();
+ final Set<AnnotatedField<? super TumbleDryer>> fields = new HashSet<AnnotatedField<? super TumbleDryer>>();
+ final Set<AnnotatedMethod<? super TumbleDryer>> methods = new HashSet<AnnotatedMethod<? super TumbleDryer>>();
+
+ final AnnotatedType<TumbleDryer> tumbleDryer = new AnnotatedType<TumbleDryer>()
+ {
+
+ public Set<AnnotatedConstructor<TumbleDryer>> getConstructors()
+ {
+ return constructors;
+ }
+
+ public Set<AnnotatedField<? super TumbleDryer>> getFields()
+ {
+ return fields;
+ }
+
+ public Set<AnnotatedMethod<? super TumbleDryer>> getMethods()
+ {
+ return methods;
+ }
+
+ // Now the easy stuff
+
+ public Class<TumbleDryer> getJavaClass()
+ {
+ return TumbleDryer.class;
+ }
+
+ public <T extends Annotation> T getAnnotation(Class<T> annotationType)
+ {
+ // Class has no annotations
+ return null;
+ }
+
+ public Set<Annotation> getAnnotations()
+ {
+ return Collections.emptySet();
+ }
+
+ public Type getBaseType()
+ {
+ return TumbleDryer.class;
+ }
+
+ public Set<Type> getTypeClosure()
+ {
+ return Arrays2.<Type>asSet(TumbleDryer.class, Object.class);
+ }
+
+ public boolean isAnnotationPresent(Class<? extends Annotation> annotationType)
+ {
+ // Class has no annotations
+ return false;
+ }
+
+ };
+
+ AnnotatedField<TumbleDryer> plug = new AnnotatedField<TumbleDryer>()
+ {
+
+ public Field getJavaMember()
+ {
+ try
+ {
+ return TumbleDryer.class.getDeclaredField("plug");
+ }
+ catch (NoSuchFieldException e)
+ {
+ throw new RuntimeException(e);
+ }
+ }
+
+ public boolean isStatic()
+ {
+ return false;
+ }
+
+ public <T extends Annotation> T getAnnotation(Class<T> annotationType)
+ {
+ if (annotationType.equals(Inject.class))
+ {
+ return annotationType.cast(InjectLiteral.INSTANCE);
+ }
+ else if (annotationType.equals(Special.class))
+ {
+ return annotationType.cast(SpecialLiteral.INSTANCE);
+ }
+ else
+ {
+ return null;
+ }
+ }
+
+ public Set<Annotation> getAnnotations()
+ {
+ return Arrays2.asSet(InjectLiteral.INSTANCE, SpecialLiteral.INSTANCE);
+ }
+
+ public Type getBaseType()
+ {
+ return Plug.class;
+ }
+
+ public Set<Type> getTypeClosure()
+ {
+ return Arrays2.<Type>asSet(Plug.class, Object.class);
+ }
+
+ public boolean isAnnotationPresent(Class<? extends Annotation> annotationType)
+ {
+ if (annotationType.equals(Inject.class) || annotationType.equals(Special.class))
+ {
+ return true;
+ }
+ else
+ {
+ return false;
+ }
+ }
+
+ public AnnotatedType<TumbleDryer> getDeclaringType()
+ {
+ return tumbleDryer;
+ }
+ };
+ fields.add(plug);
+
+
+ final List<AnnotatedParameter<TumbleDryer>> runningTimeParameters = new ArrayList<AnnotatedParameter<TumbleDryer>>();
+ final AnnotatedMethod<TumbleDryer> runningTimeMethod = new AnnotatedMethod<TumbleDryer>()
+ {
+
+ public Method getJavaMember()
+ {
+ try
+ {
+ return TumbleDryer.class.getDeclaredMethod("setRunningTime", RunningTime.class);
+ }
+ catch (NoSuchMethodException e)
+ {
+ throw new RuntimeException(e);
+ }
+ }
+
+ public List<AnnotatedParameter<TumbleDryer>> getParameters()
+ {
+ return runningTimeParameters;
+ }
+
+ public AnnotatedType<TumbleDryer> getDeclaringType()
+ {
+ return tumbleDryer;
+ }
+
+ public boolean isStatic()
+ {
+ return false;
+ }
+
+ public <T extends Annotation> T getAnnotation(Class<T> annotationType)
+ {
+ if (annotationType.equals(Inject.class))
+ {
+ return annotationType.cast(InjectLiteral.INSTANCE);
+ }
+ else
+ {
+ return null;
+ }
+ }
+
+ public Set<Annotation> getAnnotations()
+ {
+ return Collections.<Annotation>singleton(InjectLiteral.INSTANCE);
+ }
+
+ public Type getBaseType()
+ {
+ return TumbleDryer.class;
+ }
+
+ public Set<Type> getTypeClosure()
+ {
+ return Arrays2.<Type>asSet(TumbleDryer.class, Object.class);
+ }
+
+ public boolean isAnnotationPresent(Class<? extends Annotation> annotationType)
+ {
+ if (annotationType.equals(Inject.class))
+ {
+ return true;
+ }
+ else
+ {
+ return false;
+ }
+ }
+
+ };
+ methods.add(runningTimeMethod);
+
+ final AnnotatedParameter<TumbleDryer> runningTimeParameter = new AnnotatedParameter<TumbleDryer>()
+ {
+
+ public AnnotatedCallable<TumbleDryer> getDeclaringCallable()
+ {
+ return runningTimeMethod;
+ }
+
+ public int getPosition()
+ {
+ return 0;
+ }
+
+ public <T extends Annotation> T getAnnotation(Class<T> annotationType)
+ {
+ if (annotationType.equals(Special.class))
+ {
+ return annotationType.cast(SpecialLiteral.INSTANCE);
+ }
+ else
+ {
+ return null;
+ }
+ }
+
+ public Set<Annotation> getAnnotations()
+ {
+ return Collections.<Annotation>singleton(SpecialLiteral.INSTANCE);
+ }
+
+ public Type getBaseType()
+ {
+ return RunningTime.class;
+ }
+
+ public Set<Type> getTypeClosure()
+ {
+ return Collections.<Type>singleton(RunningTime.class);
+ }
+
+ public boolean isAnnotationPresent(Class<? extends Annotation> annotationType)
+ {
+ if (annotationType.equals(Special.class))
+ {
+ return true;
+ }
+ else
+ {
+ return false;
+ }
+ }
+ };
+ runningTimeParameters.add(runningTimeParameter);
+
+ final List<AnnotatedParameter<TumbleDryer>> clothesParameters = new ArrayList<AnnotatedParameter<TumbleDryer>>();
+ final AnnotatedConstructor<TumbleDryer> clothesConstructor = new AnnotatedConstructor<TumbleDryer>()
+ {
+
+ public Constructor<TumbleDryer> getJavaMember()
+ {
+ try
+ {
+ return TumbleDryer.class.getDeclaredConstructor(Clothes.class);
+ }
+ catch (NoSuchMethodException e)
+ {
+ throw new RuntimeException(e);
+ }
+ }
+
+ public List<AnnotatedParameter<TumbleDryer>> getParameters()
+ {
+ return clothesParameters;
+ }
+
+ public AnnotatedType<TumbleDryer> getDeclaringType()
+ {
+ return tumbleDryer;
+ }
+
+ public boolean isStatic()
+ {
+ return false;
+ }
+
+ public <T extends Annotation> T getAnnotation(Class<T> annotationType)
+ {
+ if (annotationType.equals(Inject.class))
+ {
+ return annotationType.cast(InjectLiteral.INSTANCE);
+ }
+ else
+ {
+ return null;
+ }
+ }
+
+ public Set<Annotation> getAnnotations()
+ {
+ return Collections.<Annotation>singleton(InjectLiteral.INSTANCE);
+ }
+
+ public Type getBaseType()
+ {
+ return TumbleDryer.class;
+ }
+
+ public Set<Type> getTypeClosure()
+ {
+ return Arrays2.<Type>asSet(TumbleDryer.class, Object.class);
+ }
+
+ public boolean isAnnotationPresent(Class<? extends Annotation> annotationType)
+ {
+ if (annotationType.equals(Inject.class))
+ {
+ return true;
+ }
+ else
+ {
+ return false;
+ }
+ }
+ };
+ constructors.add(clothesConstructor);
+
+ AnnotatedParameter<TumbleDryer> clothesParameter = new AnnotatedParameter<TumbleDryer>()
+ {
+
+ public AnnotatedCallable<TumbleDryer> getDeclaringCallable()
+ {
+ return clothesConstructor;
+ }
+
+ public int getPosition()
+ {
+ return 0;
+ }
+
+
+ public <T extends Annotation> T getAnnotation(Class<T> annotationType)
+ {
+ if (annotationType.equals(Special.class))
+ {
+ return annotationType.cast(SpecialLiteral.INSTANCE);
+ }
+ else
+ {
+ return null;
+ }
+ }
+
+ public Set<Annotation> getAnnotations()
+ {
+ return Collections.<Annotation>singleton(SpecialLiteral.INSTANCE);
+ }
+
+ public Type getBaseType()
+ {
+ return Clothes.class;
+ }
+
+ public Set<Type> getTypeClosure()
+ {
+ return Arrays2.<Type>asSet(Clothes.class, Object.class);
+ }
+
+ public boolean isAnnotationPresent(Class<? extends Annotation> annotationType)
+ {
+ if (annotationType.equals(Special.class))
+ {
+ return true;
+ }
+ else
+ {
+ return false;
+ }
+ }
+ };
+ clothesParameters.add(clothesParameter);
+
+ beforeBeanDiscovery.addAnnotatedType(tumbleDryer);
+ }
+
+ /**
+ * Adds an eco friendly wasing machine
+ * @param beforeBeanDiscovery
+ */
+ public void addWashingMachine(@Observes BeforeBeanDiscovery beforeBeanDiscovery)
+ {
+ final Set<AnnotatedConstructor<WashingMachine>> constructors = new HashSet<AnnotatedConstructor<WashingMachine>>();
+ final AnnotatedType<WashingMachine> type = new AnnotatedType<WashingMachine>()
+ {
+
+ public Set<AnnotatedConstructor<WashingMachine>> getConstructors()
+ {
+ return constructors;
+ }
+
+ public Set<AnnotatedField<? super WashingMachine>> getFields()
+ {
+ return Collections.emptySet();
+ }
+
+ public Class<WashingMachine> getJavaClass()
+ {
+ return WashingMachine.class;
+ }
+
+ public Set<AnnotatedMethod<? super WashingMachine>> getMethods()
+ {
+ return Collections.emptySet();
+ }
+
+ public <T extends Annotation> T getAnnotation(Class<T> annotationType)
+ {
+ if(annotationType == EcoFriendlyWashingMachine.class)
+ {
+ return annotationType.cast(EcoFriendlyWashingMachineLiteral.INSTANCE);
+ }
+ return null;
+ }
+
+ public Set<Annotation> getAnnotations()
+ {
+ return Collections.<Annotation>singleton(EcoFriendlyWashingMachineLiteral.INSTANCE);
+ }
+
+ public Type getBaseType()
+ {
+ return WashingMachine.class;
+ }
+
+ public Set<Type> getTypeClosure()
+ {
+ return Arrays2.<Type>asSet(WashingMachine.class, Object.class);
+ }
+
+ public boolean isAnnotationPresent(Class<? extends Annotation> annotationType)
+ {
+ return annotationType == EcoFriendlyWashingMachine.class;
+ }
+
+ };
+
+ final AnnotatedConstructor<WashingMachine> constructor = new AnnotatedConstructor<WashingMachine>()
+ {
+
+ public Constructor<WashingMachine> getJavaMember()
+ {
+ try
+ {
+ return WashingMachine.class.getDeclaredConstructor();
+ }
+ catch (NoSuchMethodException e)
+ {
+ throw new RuntimeException(e);
+ }
+ }
+
+ public List<AnnotatedParameter<WashingMachine>> getParameters()
+ {
+ return Collections.emptyList();
+ }
+
+ public AnnotatedType<WashingMachine> getDeclaringType()
+ {
+ return type;
+ }
+
+ public boolean isStatic()
+ {
+ return false;
+ }
+
+ public <T extends Annotation> T getAnnotation(Class<T> annotationType)
+ {
+ return null;
+ }
+
+ public Set<Annotation> getAnnotations()
+ {
+ return Collections.emptySet();
+ }
+
+ public Type getBaseType()
+ {
+ return WashingMachine.class;
+ }
+
+ public Set<Type> getTypeClosure()
+ {
+ return Arrays2.<Type>asSet(WashingMachine.class, Object.class);
+ }
+
+ public boolean isAnnotationPresent(Class<? extends Annotation> annotationType)
+ {
+ return false;
+ }
+ };
+ constructors.add(constructor);
+
+ beforeBeanDiscovery.addAnnotatedType(type);
+ }
+
+ public void vetoOriginalTumbleDryer(@Observes ProcessAnnotatedType<TumbleDryer> event)
+ {
+ event.veto();
+ }
+
+}
Added: core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/extensions/annotatedType/AnnotatedTypeExtensionTest.java
===================================================================
--- core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/extensions/annotatedType/AnnotatedTypeExtensionTest.java (rev 0)
+++ core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/extensions/annotatedType/AnnotatedTypeExtensionTest.java 2010-07-28 10:18:08 UTC (rev 6820)
@@ -0,0 +1,179 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2010, Red Hat, Inc., and individual contributors
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * http://www.apache.org/licenses/LICENSE-2.0
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.jboss.weld.tests.extensions.annotatedType;
+
+import java.lang.reflect.Constructor;
+import java.lang.reflect.Method;
+import java.util.Arrays;
+import java.util.Set;
+
+import javax.enterprise.inject.Any;
+import javax.enterprise.inject.spi.AnnotatedConstructor;
+import javax.enterprise.inject.spi.AnnotatedField;
+import javax.enterprise.inject.spi.AnnotatedMethod;
+import javax.enterprise.inject.spi.AnnotatedParameter;
+import javax.enterprise.inject.spi.Bean;
+import javax.enterprise.inject.spi.Extension;
+import javax.enterprise.inject.spi.InjectionPoint;
+import javax.inject.Inject;
+
+import org.jboss.arquillian.api.Deployment;
+import org.jboss.arquillian.junit.Arquillian;
+import org.jboss.shrinkwrap.api.Archive;
+import org.jboss.shrinkwrap.api.BeanArchive;
+import org.jboss.shrinkwrap.api.ShrinkWrap;
+import org.jboss.shrinkwrap.api.spec.EnterpriseArchive;
+import org.jboss.weld.manager.BeanManagerImpl;
+import org.jboss.weld.test.Utils;
+import org.jboss.weld.tests.category.Integration;
+import org.jboss.weld.tests.extensions.annotatedType.EcoFriendlyWashingMachine.EcoFriendlyWashingMachineLiteral;
+import org.junit.Assert;
+import org.junit.Test;
+import org.junit.experimental.categories.Category;
+import org.junit.runner.RunWith;
+
+(a)Category(Integration.class)
+(a)RunWith(Arquillian.class)
+public class AnnotatedTypeExtensionTest
+{
+ @Deployment
+ public static Archive<?> deploy()
+ {
+ return ShrinkWrap.create(EnterpriseArchive.class, "test.ear")
+ .addModule(
+ ShrinkWrap.create(BeanArchive.class)
+ .addPackage(AnnotatedTypeExtensionTest.class.getPackage())
+ .addClass(Utils.class)
+ .addServiceProvider(Extension.class, AnnotatedTypeExtension.class)
+ );
+ }
+
+ @Inject
+ private BeanManagerImpl beanManager;
+
+ @Test
+ public void testMultipleBeansOfSameType(Laundry laundry)
+ {
+ Assert.assertNotNull(laundry.ecoFriendlyWashingMachine);
+ Assert.assertNotNull(laundry.fastWashingMachine);
+ }
+
+ /*
+ * description = "WELD-371"
+ */
+ @Test
+ public void testAnnotationsAreOverridden()
+ {
+ Bean<WashingMachine> bean = Utils.getBean(beanManager, WashingMachine.class, EcoFriendlyWashingMachineLiteral.INSTANCE);
+ Assert.assertTrue(Utils.annotationSetMatches(bean.getQualifiers(), Any.class, EcoFriendlyWashingMachine.class));
+
+ // Verify overriding the class structure works
+ Clothes.reset();
+ TumbleDryer tumbleDryer = Utils.getReference(beanManager, TumbleDryer.class);
+ Bean<TumbleDryer> tumbleDryerBean = Utils.getBean(beanManager, TumbleDryer.class);
+ Assert.assertNotNull(tumbleDryer);
+
+ Assert.assertFalse(containsConstructor(tumbleDryerBean.getInjectionPoints(), SerialNumber.class));
+ Assert.assertTrue(containsConstructor(tumbleDryerBean.getInjectionPoints(), Clothes.class));
+ Assert.assertNull(tumbleDryer.getSerialNumber());
+ Assert.assertNotNull(tumbleDryer.getClothes());
+ Assert.assertFalse(Clothes.getInjectionPoint().getAnnotated().isAnnotationPresent(Original.class));
+ AnnotatedConstructor<?> clothesConstructor = getConstructor(tumbleDryerBean.getInjectionPoints(), Clothes.class);
+ Assert.assertTrue(clothesConstructor.getParameters().get(0).isAnnotationPresent(Special.class));
+ Assert.assertFalse(clothesConstructor.getParameters().get(0).isAnnotationPresent(Original.class));
+
+ Assert.assertTrue(containsField(tumbleDryerBean.getInjectionPoints(), "plug"));
+ Assert.assertFalse(containsField(tumbleDryerBean.getInjectionPoints(), "coins"));
+ Assert.assertNotNull(tumbleDryer.getPlug());
+ Assert.assertNull(tumbleDryer.getCoins());
+
+ Assert.assertTrue(containsMethod(tumbleDryerBean.getInjectionPoints(), "setRunningTime", RunningTime.class));
+ Assert.assertFalse(containsMethod(tumbleDryerBean.getInjectionPoints(), "setHotAir", HotAir.class));
+ Assert.assertNotNull(tumbleDryer.getRunningTime());
+ Assert.assertNull(tumbleDryer.getHotAir());
+ AnnotatedMethod<?> runningTimeMethod = getMethod(tumbleDryerBean.getInjectionPoints(), "setRunningTime", RunningTime.class);
+ Assert.assertTrue(runningTimeMethod.getParameters().get(0).isAnnotationPresent(Special.class));
+ Assert.assertFalse(runningTimeMethod.getParameters().get(0).isAnnotationPresent(Original.class));
+ }
+
+ private static boolean containsField(Set<InjectionPoint> injectionPoints, String name)
+ {
+ for (InjectionPoint ip : injectionPoints)
+ {
+ if (ip.getAnnotated() instanceof AnnotatedField<?>)
+ {
+ AnnotatedField<?> field = (AnnotatedField<?>) ip.getAnnotated();
+ if (field.getJavaMember().getName().equals(name))
+ {
+ return true;
+ }
+ }
+ }
+ return false;
+ }
+
+ private static boolean containsConstructor(Set<InjectionPoint> injectionPoints, Class<?>... parameters)
+ {
+ return getConstructor(injectionPoints, parameters) != null;
+ }
+
+ private static AnnotatedConstructor<?> getConstructor(Set<InjectionPoint> injectionPoints, Class<?>... parameters)
+ {
+ for (InjectionPoint ip : injectionPoints)
+ {
+ if (ip.getAnnotated() instanceof AnnotatedParameter<?>)
+ {
+ AnnotatedParameter<?> param = (AnnotatedParameter<?>) ip.getAnnotated();
+ if (param.getDeclaringCallable() instanceof AnnotatedConstructor<?>)
+ {
+ Class<?>[] parameterTypes = ((Constructor<?>) param.getDeclaringCallable().getJavaMember()).getParameterTypes();
+ if (Arrays.equals(parameters, parameterTypes))
+ {
+ return (AnnotatedConstructor<?>) param.getDeclaringCallable();
+ }
+ }
+ }
+ }
+ return null;
+ }
+
+ private static boolean containsMethod(Set<InjectionPoint> injectionPoints, String name, Class<?>... parameters)
+ {
+ return getMethod(injectionPoints, name, parameters) != null;
+ }
+
+ private static AnnotatedMethod<?> getMethod(Set<InjectionPoint> injectionPoints, String name, Class<?>... parameters)
+ {
+ for (InjectionPoint ip : injectionPoints)
+ {
+ if (ip.getAnnotated() instanceof AnnotatedParameter<?>)
+ {
+ AnnotatedParameter<?> param = (AnnotatedParameter<?>) ip.getAnnotated();
+ if (param.getDeclaringCallable() instanceof AnnotatedMethod<?>)
+ {
+ Class<?>[] parameterTypes = ((Method) param.getDeclaringCallable().getJavaMember()).getParameterTypes();
+ String methodName = param.getDeclaringCallable().getJavaMember().getName();
+ if (Arrays.equals(parameters, parameterTypes) && methodName.equals(name))
+ {
+ return (AnnotatedMethod<?>) param.getDeclaringCallable();
+ }
+ }
+ }
+ }
+ return null;
+ }
+}
Added: core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/extensions/annotatedType/Clothes.java
===================================================================
--- core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/extensions/annotatedType/Clothes.java (rev 0)
+++ core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/extensions/annotatedType/Clothes.java 2010-07-28 10:18:08 UTC (rev 6820)
@@ -0,0 +1,44 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2010, Red Hat, Inc., and individual contributors
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * http://www.apache.org/licenses/LICENSE-2.0
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.jboss.weld.tests.extensions.annotatedType;
+
+import javax.enterprise.inject.spi.InjectionPoint;
+import javax.inject.Inject;
+
+@Special
+public class Clothes
+{
+
+ private static InjectionPoint injectionPoint;
+
+ @Inject
+ public void setInjectionPoint(InjectionPoint injectionPoint)
+ {
+ Clothes.injectionPoint = injectionPoint;
+ }
+
+ public static void reset()
+ {
+ injectionPoint = null;
+ }
+
+ public static InjectionPoint getInjectionPoint()
+ {
+ return injectionPoint;
+ }
+
+}
Added: core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/extensions/annotatedType/Coins.java
===================================================================
--- core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/extensions/annotatedType/Coins.java (rev 0)
+++ core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/extensions/annotatedType/Coins.java 2010-07-28 10:18:08 UTC (rev 6820)
@@ -0,0 +1,22 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2010, Red Hat, Inc., and individual contributors
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * http://www.apache.org/licenses/LICENSE-2.0
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.jboss.weld.tests.extensions.annotatedType;
+
+public class Coins
+{
+
+}
Added: core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/extensions/annotatedType/EcoFriendlyWashingMachine.java
===================================================================
--- core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/extensions/annotatedType/EcoFriendlyWashingMachine.java (rev 0)
+++ core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/extensions/annotatedType/EcoFriendlyWashingMachine.java 2010-07-28 10:18:08 UTC (rev 6820)
@@ -0,0 +1,49 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2010, Red Hat, Inc., and individual contributors
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * http://www.apache.org/licenses/LICENSE-2.0
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.jboss.weld.tests.extensions.annotatedType;
+
+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.util.AnnotationLiteral;
+import javax.inject.Qualifier;
+
+@Target( { TYPE, METHOD, PARAMETER, FIELD })
+@Retention(RUNTIME)
+@Documented
+@Qualifier
+public @interface EcoFriendlyWashingMachine
+{
+
+ @SuppressWarnings("serial")
+ public static class EcoFriendlyWashingMachineLiteral extends AnnotationLiteral<EcoFriendlyWashingMachine> implements EcoFriendlyWashingMachine
+ {
+
+ public static final EcoFriendlyWashingMachine INSTANCE = new EcoFriendlyWashingMachineLiteral();
+
+ private EcoFriendlyWashingMachineLiteral() {}
+
+ }
+
+}
Added: core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/extensions/annotatedType/FastWashingMachine.java
===================================================================
--- core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/extensions/annotatedType/FastWashingMachine.java (rev 0)
+++ core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/extensions/annotatedType/FastWashingMachine.java 2010-07-28 10:18:08 UTC (rev 6820)
@@ -0,0 +1,38 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2010, Red Hat, Inc., and individual contributors
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * http://www.apache.org/licenses/LICENSE-2.0
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.jboss.weld.tests.extensions.annotatedType;
+
+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.inject.Qualifier;
+
+@Target( { TYPE, METHOD, PARAMETER, FIELD })
+@Retention(RUNTIME)
+@Documented
+@Qualifier
+public @interface FastWashingMachine
+{
+
+}
Added: core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/extensions/annotatedType/HotAir.java
===================================================================
--- core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/extensions/annotatedType/HotAir.java (rev 0)
+++ core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/extensions/annotatedType/HotAir.java 2010-07-28 10:18:08 UTC (rev 6820)
@@ -0,0 +1,22 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2010, Red Hat, Inc., and individual contributors
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * http://www.apache.org/licenses/LICENSE-2.0
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.jboss.weld.tests.extensions.annotatedType;
+
+public class HotAir
+{
+
+}
Added: core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/extensions/annotatedType/InjectLiteral.java
===================================================================
--- core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/extensions/annotatedType/InjectLiteral.java (rev 0)
+++ core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/extensions/annotatedType/InjectLiteral.java 2010-07-28 10:18:08 UTC (rev 6820)
@@ -0,0 +1,29 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2008, Red Hat, Inc., and individual contributors
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * http://www.apache.org/licenses/LICENSE-2.0
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.jboss.weld.tests.extensions.annotatedType;
+
+import javax.enterprise.util.AnnotationLiteral;
+import javax.inject.Inject;
+
+public class InjectLiteral extends AnnotationLiteral<Inject> implements Inject
+{
+
+ public static final Inject INSTANCE = new InjectLiteral();
+
+ private InjectLiteral() {}
+
+}
\ No newline at end of file
Added: core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/extensions/annotatedType/Laundry.java
===================================================================
--- core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/extensions/annotatedType/Laundry.java (rev 0)
+++ core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/extensions/annotatedType/Laundry.java 2010-07-28 10:18:08 UTC (rev 6820)
@@ -0,0 +1,28 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2010, Red Hat, Inc., and individual contributors
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * http://www.apache.org/licenses/LICENSE-2.0
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.jboss.weld.tests.extensions.annotatedType;
+
+import javax.inject.Inject;
+
+public class Laundry
+{
+ @Inject @FastWashingMachine
+ public WashingMachine fastWashingMachine;
+
+ @Inject @EcoFriendlyWashingMachine
+ public WashingMachine ecoFriendlyWashingMachine;
+}
Added: core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/extensions/annotatedType/Original.java
===================================================================
--- core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/extensions/annotatedType/Original.java (rev 0)
+++ core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/extensions/annotatedType/Original.java 2010-07-28 10:18:08 UTC (rev 6820)
@@ -0,0 +1,38 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2010, Red Hat, Inc., and individual contributors
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * http://www.apache.org/licenses/LICENSE-2.0
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.jboss.weld.tests.extensions.annotatedType;
+
+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.inject.Qualifier;
+
+@Target( { TYPE, METHOD, PARAMETER, FIELD })
+@Retention(RUNTIME)
+@Documented
+@Qualifier
+public @interface Original
+{
+
+}
Added: core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/extensions/annotatedType/Plug.java
===================================================================
--- core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/extensions/annotatedType/Plug.java (rev 0)
+++ core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/extensions/annotatedType/Plug.java 2010-07-28 10:18:08 UTC (rev 6820)
@@ -0,0 +1,23 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2010, Red Hat, Inc., and individual contributors
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * http://www.apache.org/licenses/LICENSE-2.0
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.jboss.weld.tests.extensions.annotatedType;
+
+@Special
+public class Plug
+{
+
+}
Added: core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/extensions/annotatedType/RunningTime.java
===================================================================
--- core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/extensions/annotatedType/RunningTime.java (rev 0)
+++ core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/extensions/annotatedType/RunningTime.java 2010-07-28 10:18:08 UTC (rev 6820)
@@ -0,0 +1,23 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2010, Red Hat, Inc., and individual contributors
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * http://www.apache.org/licenses/LICENSE-2.0
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.jboss.weld.tests.extensions.annotatedType;
+
+@Special
+public class RunningTime
+{
+
+}
Added: core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/extensions/annotatedType/SerialNumber.java
===================================================================
--- core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/extensions/annotatedType/SerialNumber.java (rev 0)
+++ core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/extensions/annotatedType/SerialNumber.java 2010-07-28 10:18:08 UTC (rev 6820)
@@ -0,0 +1,22 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2010, Red Hat, Inc., and individual contributors
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * http://www.apache.org/licenses/LICENSE-2.0
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.jboss.weld.tests.extensions.annotatedType;
+
+public class SerialNumber
+{
+
+}
Added: core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/extensions/annotatedType/Special.java
===================================================================
--- core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/extensions/annotatedType/Special.java (rev 0)
+++ core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/extensions/annotatedType/Special.java 2010-07-28 10:18:08 UTC (rev 6820)
@@ -0,0 +1,38 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2010, Red Hat, Inc., and individual contributors
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * http://www.apache.org/licenses/LICENSE-2.0
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.jboss.weld.tests.extensions.annotatedType;
+
+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.inject.Qualifier;
+
+@Target( { TYPE, METHOD, PARAMETER, FIELD })
+@Retention(RUNTIME)
+@Documented
+@Qualifier
+public @interface Special
+{
+
+}
Added: core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/extensions/annotatedType/SpecialLiteral.java
===================================================================
--- core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/extensions/annotatedType/SpecialLiteral.java (rev 0)
+++ core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/extensions/annotatedType/SpecialLiteral.java 2010-07-28 10:18:08 UTC (rev 6820)
@@ -0,0 +1,28 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2008, Red Hat, Inc., and individual contributors
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * http://www.apache.org/licenses/LICENSE-2.0
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.jboss.weld.tests.extensions.annotatedType;
+
+import javax.enterprise.util.AnnotationLiteral;
+
+public class SpecialLiteral extends AnnotationLiteral<Special> implements Special
+{
+
+ public static final Special INSTANCE = new SpecialLiteral();
+
+ private SpecialLiteral() {}
+
+}
\ No newline at end of file
Added: core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/extensions/annotatedType/TumbleDryer.java
===================================================================
--- core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/extensions/annotatedType/TumbleDryer.java (rev 0)
+++ core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/extensions/annotatedType/TumbleDryer.java 2010-07-28 10:18:08 UTC (rev 6820)
@@ -0,0 +1,93 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2010, Red Hat, Inc., and individual contributors
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * http://www.apache.org/licenses/LICENSE-2.0
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.jboss.weld.tests.extensions.annotatedType;
+
+import javax.inject.Inject;
+
+
+public class TumbleDryer
+{
+
+
+ private Plug plug;
+
+ @Inject @Original
+ private Coins coins;
+
+ private final Clothes clothers;
+
+ private RunningTime runningTime;
+
+ private final SerialNumber serialNumber;
+
+ private HotAir hotAir;
+
+ public TumbleDryer(@Original Clothes clothes)
+ {
+ this.clothers = clothes;
+ this.serialNumber = null;
+ }
+
+ @Inject
+ public TumbleDryer(SerialNumber serialNumber)
+ {
+ this.serialNumber = serialNumber;
+ this.clothers = null;
+ }
+
+ public void setRunningTime(@Original RunningTime runningTime)
+ {
+ this.runningTime = runningTime;
+ }
+
+ @Inject
+ public void setHotAir(HotAir hotAir)
+ {
+ this.hotAir = hotAir;
+ }
+
+ public Plug getPlug()
+ {
+ return plug;
+ }
+
+ public Clothes getClothes()
+ {
+ return clothers;
+ }
+
+ public HotAir getHotAir()
+ {
+ return hotAir;
+ }
+
+ public RunningTime getRunningTime()
+ {
+ return runningTime;
+ }
+
+ public SerialNumber getSerialNumber()
+ {
+ return serialNumber;
+ }
+
+ public Coins getCoins()
+ {
+ return coins;
+ }
+
+}
Added: core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/extensions/annotatedType/WashingMachine.java
===================================================================
--- core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/extensions/annotatedType/WashingMachine.java (rev 0)
+++ core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/extensions/annotatedType/WashingMachine.java 2010-07-28 10:18:08 UTC (rev 6820)
@@ -0,0 +1,23 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2010, Red Hat, Inc., and individual contributors
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * http://www.apache.org/licenses/LICENSE-2.0
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.jboss.weld.tests.extensions.annotatedType;
+
+@FastWashingMachine
+public class WashingMachine
+{
+
+}
Added: core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/extensions/annotatedType/ejb/AnnotatedTypeEjbExtension.java
===================================================================
--- core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/extensions/annotatedType/ejb/AnnotatedTypeEjbExtension.java (rev 0)
+++ core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/extensions/annotatedType/ejb/AnnotatedTypeEjbExtension.java 2010-07-28 10:18:08 UTC (rev 6820)
@@ -0,0 +1,60 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2010, Red Hat, Inc., and individual contributors
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * http://www.apache.org/licenses/LICENSE-2.0
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.jboss.weld.tests.extensions.annotatedType.ejb;
+
+import java.lang.annotation.Annotation;
+import java.lang.reflect.Method;
+
+import javax.enterprise.event.Observes;
+import javax.enterprise.inject.Produces;
+import javax.enterprise.inject.spi.BeforeBeanDiscovery;
+import javax.enterprise.inject.spi.Extension;
+import javax.enterprise.inject.spi.ProcessAnnotatedType;
+import javax.enterprise.util.AnnotationLiteral;
+
+import org.jboss.weld.tests.util.annotated.TestAnnotatedTypeBuilder;
+
+public class AnnotatedTypeEjbExtension implements Extension
+{
+ /**
+ * Adds two ejb beans
+ */
+ public void beforeBeanDiscovery(@Observes BeforeBeanDiscovery beforeBeanDiscovery)
+ {
+ TestAnnotatedTypeBuilder<Lathe> builder = new TestAnnotatedTypeBuilder<Lathe>(Lathe.class);
+ builder.addToClass(new AnnotationLiteral<SmallLathe>() { });
+ beforeBeanDiscovery.addAnnotatedType(builder.create());
+ builder = new TestAnnotatedTypeBuilder<Lathe>(Lathe.class);
+ builder.addToClass(new AnnotationLiteral<BigLathe>() { });
+ beforeBeanDiscovery.addAnnotatedType(builder.create());
+ }
+ /**
+ * Adds annotations to an EJB
+ */
+ public void overrideLatheAnnotations(@Observes ProcessAnnotatedType<Lathe> event) throws SecurityException, NoSuchMethodException
+ {
+ TestAnnotatedTypeBuilder<Lathe> builder = new TestAnnotatedTypeBuilder<Lathe>(Lathe.class);
+ for(Annotation a : event.getAnnotatedType().getAnnotations())
+ {
+ builder.addToClass(a);
+ }
+ Method method = Lathe.class.getMethod("doWork");
+ builder.addToMethod(method, new AnnotationLiteral<ConveyorShaft>() {});
+ builder.addToMethod(method, new AnnotationLiteral<Produces>() {});
+ event.setAnnotatedType(builder.create());
+ }
+}
Added: core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/extensions/annotatedType/ejb/AnnotatedTypeSessionBeanTest.java
===================================================================
--- core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/extensions/annotatedType/ejb/AnnotatedTypeSessionBeanTest.java (rev 0)
+++ core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/extensions/annotatedType/ejb/AnnotatedTypeSessionBeanTest.java 2010-07-28 10:18:08 UTC (rev 6820)
@@ -0,0 +1,66 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2010, Red Hat, Inc., and individual contributors
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * http://www.apache.org/licenses/LICENSE-2.0
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.jboss.weld.tests.extensions.annotatedType.ejb;
+
+import javax.enterprise.inject.spi.Extension;
+
+import org.jboss.arquillian.api.Deployment;
+import org.jboss.arquillian.junit.Arquillian;
+import org.jboss.shrinkwrap.api.Archive;
+import org.jboss.shrinkwrap.api.BeanArchive;
+import org.jboss.shrinkwrap.api.ShrinkWrap;
+import org.jboss.shrinkwrap.api.spec.EnterpriseArchive;
+import org.jboss.weld.tests.category.Integration;
+import org.jboss.weld.tests.util.annotated.TestAnnotatedTypeBuilder;
+import org.junit.Assert;
+import org.junit.Test;
+import org.junit.experimental.categories.Category;
+import org.junit.runner.RunWith;
+/**
+ * Tests that it is possible to override ejb annotations through the SPI
+ * @author Stuart Douglas <stuart(a)baileyroberts.com.au>
+ *
+ */
+(a)Category(Integration.class)
+(a)RunWith(Arquillian.class)
+public class AnnotatedTypeSessionBeanTest
+{
+ @Deployment
+ public static Archive<?> deploy()
+ {
+ return ShrinkWrap.create(EnterpriseArchive.class, "test.ear")
+ .addModule(
+ ShrinkWrap.create(BeanArchive.class)
+ .addPackage(AnnotatedTypeSessionBeanTest.class.getPackage())
+ .addPackage(TestAnnotatedTypeBuilder.class.getPackage())
+ .addServiceProvider(Extension.class, AnnotatedTypeEjbExtension.class)
+ );
+ }
+
+ @Test
+ public void testOverridingEjbAnnotations(@ConveyorShaft Shaft conveyerShaft)
+ {
+ Assert.assertNotNull(conveyerShaft);
+ }
+
+ @Test
+ public void testAddingBultipleBeansPerEjbClass(@BigLathe LatheLocal bigLathe, @SmallLathe LatheLocal smallLathe)
+ {
+ Assert.assertNotNull(bigLathe);
+ Assert.assertNotNull(smallLathe);
+ }
+}
Added: core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/extensions/annotatedType/ejb/BigLathe.java
===================================================================
--- core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/extensions/annotatedType/ejb/BigLathe.java (rev 0)
+++ core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/extensions/annotatedType/ejb/BigLathe.java 2010-07-28 10:18:08 UTC (rev 6820)
@@ -0,0 +1,29 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2010, Red Hat, Inc., and individual contributors
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * http://www.apache.org/licenses/LICENSE-2.0
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.jboss.weld.tests.extensions.annotatedType.ejb;
+
+import java.lang.annotation.Retention;
+import java.lang.annotation.RetentionPolicy;
+
+import javax.inject.Qualifier;
+
+@Qualifier
+(a)Retention(RetentionPolicy.RUNTIME)
+public @interface BigLathe
+{
+
+}
Added: core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/extensions/annotatedType/ejb/ConveyorShaft.java
===================================================================
--- core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/extensions/annotatedType/ejb/ConveyorShaft.java (rev 0)
+++ core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/extensions/annotatedType/ejb/ConveyorShaft.java 2010-07-28 10:18:08 UTC (rev 6820)
@@ -0,0 +1,29 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2010, Red Hat, Inc., and individual contributors
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * http://www.apache.org/licenses/LICENSE-2.0
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.jboss.weld.tests.extensions.annotatedType.ejb;
+
+import java.lang.annotation.Retention;
+import java.lang.annotation.RetentionPolicy;
+
+import javax.inject.Qualifier;
+
+@Qualifier
+(a)Retention(RetentionPolicy.RUNTIME)
+public @interface ConveyorShaft
+{
+
+}
Added: core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/extensions/annotatedType/ejb/Lathe.java
===================================================================
--- core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/extensions/annotatedType/ejb/Lathe.java (rev 0)
+++ core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/extensions/annotatedType/ejb/Lathe.java 2010-07-28 10:18:08 UTC (rev 6820)
@@ -0,0 +1,28 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2010, Red Hat, Inc., and individual contributors
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * http://www.apache.org/licenses/LICENSE-2.0
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.jboss.weld.tests.extensions.annotatedType.ejb;
+
+import javax.ejb.Stateless;
+
+@Stateless
+public class Lathe implements LatheLocal
+{
+ public Shaft doWork()
+ {
+ return new Shaft();
+ }
+}
Added: core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/extensions/annotatedType/ejb/LatheLocal.java
===================================================================
--- core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/extensions/annotatedType/ejb/LatheLocal.java (rev 0)
+++ core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/extensions/annotatedType/ejb/LatheLocal.java 2010-07-28 10:18:08 UTC (rev 6820)
@@ -0,0 +1,27 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2010, Red Hat, Inc., and individual contributors
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * http://www.apache.org/licenses/LICENSE-2.0
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.jboss.weld.tests.extensions.annotatedType.ejb;
+
+import javax.ejb.Local;
+
+@Local
+public interface LatheLocal
+{
+
+ public Shaft doWork();
+
+}
\ No newline at end of file
Added: core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/extensions/annotatedType/ejb/Shaft.java
===================================================================
--- core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/extensions/annotatedType/ejb/Shaft.java (rev 0)
+++ core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/extensions/annotatedType/ejb/Shaft.java 2010-07-28 10:18:08 UTC (rev 6820)
@@ -0,0 +1,22 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2010, Red Hat, Inc., and individual contributors
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * http://www.apache.org/licenses/LICENSE-2.0
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.jboss.weld.tests.extensions.annotatedType.ejb;
+
+public class Shaft
+{
+
+}
Added: core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/extensions/annotatedType/ejb/SmallLathe.java
===================================================================
--- core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/extensions/annotatedType/ejb/SmallLathe.java (rev 0)
+++ core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/extensions/annotatedType/ejb/SmallLathe.java 2010-07-28 10:18:08 UTC (rev 6820)
@@ -0,0 +1,29 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2010, Red Hat, Inc., and individual contributors
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * http://www.apache.org/licenses/LICENSE-2.0
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.jboss.weld.tests.extensions.annotatedType.ejb;
+
+import java.lang.annotation.Retention;
+import java.lang.annotation.RetentionPolicy;
+
+import javax.inject.Qualifier;
+
+@Qualifier
+(a)Retention(RetentionPolicy.RUNTIME)
+public @interface SmallLathe
+{
+
+}
Added: core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/extensions/annotatedType/invalidParameters/AnnotatedTypeExtension.java
===================================================================
--- core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/extensions/annotatedType/invalidParameters/AnnotatedTypeExtension.java (rev 0)
+++ core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/extensions/annotatedType/invalidParameters/AnnotatedTypeExtension.java 2010-07-28 10:18:08 UTC (rev 6820)
@@ -0,0 +1,221 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2010, Red Hat, Inc., and individual contributors
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * http://www.apache.org/licenses/LICENSE-2.0
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.jboss.weld.tests.extensions.annotatedType.invalidParameters;
+
+import java.lang.annotation.Annotation;
+import java.lang.reflect.Constructor;
+import java.lang.reflect.Type;
+import java.util.ArrayList;
+import java.util.Collections;
+import java.util.HashSet;
+import java.util.List;
+import java.util.Set;
+
+import javax.enterprise.event.Observes;
+import javax.enterprise.inject.spi.AnnotatedCallable;
+import javax.enterprise.inject.spi.AnnotatedConstructor;
+import javax.enterprise.inject.spi.AnnotatedField;
+import javax.enterprise.inject.spi.AnnotatedMethod;
+import javax.enterprise.inject.spi.AnnotatedParameter;
+import javax.enterprise.inject.spi.AnnotatedType;
+import javax.enterprise.inject.spi.BeforeBeanDiscovery;
+import javax.enterprise.inject.spi.Extension;
+import javax.inject.Inject;
+
+import org.jboss.weld.util.collections.Arrays2;
+
+public class AnnotatedTypeExtension implements Extension
+{
+
+ public void addTumbleDryer(@Observes BeforeBeanDiscovery beforeBeanDiscovery)
+ {
+
+ final Set<AnnotatedConstructor<TumbleDryer>> constructors = new HashSet<AnnotatedConstructor<TumbleDryer>>();
+
+
+ final AnnotatedType<TumbleDryer> tumbleDryer = new AnnotatedType<TumbleDryer>()
+ {
+
+ public Set<AnnotatedConstructor<TumbleDryer>> getConstructors()
+ {
+ return constructors;
+ }
+
+ public Set<AnnotatedField<? super TumbleDryer>> getFields()
+ {
+ return Collections.emptySet();
+ }
+
+ public Set<AnnotatedMethod<? super TumbleDryer>> getMethods()
+ {
+ return Collections.emptySet();
+ }
+
+ // Now the easy stuff
+
+ public Class<TumbleDryer> getJavaClass()
+ {
+ return TumbleDryer.class;
+ }
+
+ public <T extends Annotation> T getAnnotation(Class<T> annotationType)
+ {
+ // Class has no annotations
+ return null;
+ }
+
+ public Set<Annotation> getAnnotations()
+ {
+ return Collections.emptySet();
+ }
+
+ public Type getBaseType()
+ {
+ return TumbleDryer.class;
+ }
+
+ public Set<Type> getTypeClosure()
+ {
+ return Arrays2.<Type>asSet(TumbleDryer.class, Object.class);
+ }
+
+ public boolean isAnnotationPresent(Class<? extends Annotation> annotationType)
+ {
+ // Class has no annotations
+ return false;
+ }
+
+ };
+
+ final List<AnnotatedParameter<TumbleDryer>> clothesParameters = new ArrayList<AnnotatedParameter<TumbleDryer>>();
+ final AnnotatedConstructor<TumbleDryer> clothesConstructor = new AnnotatedConstructor<TumbleDryer>()
+ {
+
+ public Constructor<TumbleDryer> getJavaMember()
+ {
+ try
+ {
+ return TumbleDryer.class.getDeclaredConstructor(Clothes.class);
+ }
+ catch (NoSuchMethodException e)
+ {
+ throw new RuntimeException(e);
+ }
+ }
+
+ public List<AnnotatedParameter<TumbleDryer>> getParameters()
+ {
+ return clothesParameters;
+ }
+
+ public AnnotatedType<TumbleDryer> getDeclaringType()
+ {
+ return tumbleDryer;
+ }
+
+ public boolean isStatic()
+ {
+ return false;
+ }
+
+ public <T extends Annotation> T getAnnotation(Class<T> annotationType)
+ {
+ if (annotationType.equals(Inject.class))
+ {
+ return annotationType.cast(InjectLiteral.INSTANCE);
+ }
+ else
+ {
+ return null;
+ }
+ }
+
+ public Set<Annotation> getAnnotations()
+ {
+ return Collections.<Annotation>singleton(InjectLiteral.INSTANCE);
+ }
+
+ public Type getBaseType()
+ {
+ return TumbleDryer.class;
+ }
+
+ public Set<Type> getTypeClosure()
+ {
+ return Arrays2.<Type>asSet(TumbleDryer.class, Object.class);
+ }
+
+ public boolean isAnnotationPresent(Class<? extends Annotation> annotationType)
+ {
+ if (annotationType.equals(Inject.class))
+ {
+ return true;
+ }
+ else
+ {
+ return false;
+ }
+ }
+ };
+ constructors.add(clothesConstructor);
+
+ AnnotatedParameter<TumbleDryer> clothesParameter = new AnnotatedParameter<TumbleDryer>()
+ {
+
+ public AnnotatedCallable<TumbleDryer> getDeclaringCallable()
+ {
+ return clothesConstructor;
+ }
+
+ public int getPosition()
+ {
+ return 0;
+ }
+
+
+ public <T extends Annotation> T getAnnotation(Class<T> annotationType)
+ {
+ return null;
+ }
+
+ public Set<Annotation> getAnnotations()
+ {
+ return Collections.emptySet();
+ }
+
+ public Type getBaseType()
+ {
+ return Clothes.class;
+ }
+
+ public Set<Type> getTypeClosure()
+ {
+ return Arrays2.<Type>asSet(Clothes.class, Object.class);
+ }
+
+ public boolean isAnnotationPresent(Class<? extends Annotation> annotationType)
+ {
+ return false;
+ }
+ };
+ clothesParameters.add(clothesParameter);
+ clothesParameters.add(clothesParameter);
+
+ beforeBeanDiscovery.addAnnotatedType(tumbleDryer);
+ }
+
+}
Added: core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/extensions/annotatedType/invalidParameters/AnnotatedTypeExtensionTest.java
===================================================================
--- core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/extensions/annotatedType/invalidParameters/AnnotatedTypeExtensionTest.java (rev 0)
+++ core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/extensions/annotatedType/invalidParameters/AnnotatedTypeExtensionTest.java 2010-07-28 10:18:08 UTC (rev 6820)
@@ -0,0 +1,55 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2010, Red Hat, Inc., and individual contributors
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * http://www.apache.org/licenses/LICENSE-2.0
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.jboss.weld.tests.extensions.annotatedType.invalidParameters;
+
+import javax.enterprise.inject.spi.Extension;
+
+import org.jboss.arquillian.api.Deployment;
+import org.jboss.arquillian.junit.Arquillian;
+import org.jboss.shrinkwrap.api.Archive;
+import org.jboss.shrinkwrap.api.ShrinkWrap;
+import org.jboss.shrinkwrap.api.asset.EmptyAsset;
+import org.jboss.shrinkwrap.api.spec.WebArchive;
+import org.jboss.weld.tests.category.Integration;
+import org.junit.Test;
+import org.junit.experimental.categories.Category;
+import org.junit.runner.RunWith;
+
+//(a)ExpectedDeploymentException(Exception.class)
+(a)Category(Integration.class)
+(a)RunWith(Arquillian.class)
+public class AnnotatedTypeExtensionTest
+{
+ @Deployment
+ public static Archive<?> deploy()
+ {
+ return ShrinkWrap.create(WebArchive.class, "test.war")
+ .addWebResource(EmptyAsset.INSTANCE, "beans.xml")
+ .addPackage(AnnotatedTypeExtensionTest.class.getPackage())
+ .addServiceProvider(Extension.class, AnnotatedTypeExtension.class);
+ }
+
+ /*
+ * description = "WELD-371"
+ */
+ @Test
+ public void testIncorrectlyOverridenParameters()
+ {
+ assert false;
+ }
+
+}
Added: core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/extensions/annotatedType/invalidParameters/Clothes.java
===================================================================
--- core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/extensions/annotatedType/invalidParameters/Clothes.java (rev 0)
+++ core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/extensions/annotatedType/invalidParameters/Clothes.java 2010-07-28 10:18:08 UTC (rev 6820)
@@ -0,0 +1,43 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2010, Red Hat, Inc., and individual contributors
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * http://www.apache.org/licenses/LICENSE-2.0
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.jboss.weld.tests.extensions.annotatedType.invalidParameters;
+
+import javax.enterprise.inject.spi.InjectionPoint;
+import javax.inject.Inject;
+
+public class Clothes
+{
+
+ private static InjectionPoint injectionPoint;
+
+ @Inject
+ public void setInjectionPoint(InjectionPoint injectionPoint)
+ {
+ Clothes.injectionPoint = injectionPoint;
+ }
+
+ public static void reset()
+ {
+ injectionPoint = null;
+ }
+
+ public static InjectionPoint getInjectionPoint()
+ {
+ return injectionPoint;
+ }
+
+}
Added: core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/extensions/annotatedType/invalidParameters/InjectLiteral.java
===================================================================
--- core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/extensions/annotatedType/invalidParameters/InjectLiteral.java (rev 0)
+++ core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/extensions/annotatedType/invalidParameters/InjectLiteral.java 2010-07-28 10:18:08 UTC (rev 6820)
@@ -0,0 +1,29 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2008, Red Hat, Inc., and individual contributors
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * http://www.apache.org/licenses/LICENSE-2.0
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.jboss.weld.tests.extensions.annotatedType.invalidParameters;
+
+import javax.enterprise.util.AnnotationLiteral;
+import javax.inject.Inject;
+
+public class InjectLiteral extends AnnotationLiteral<Inject> implements Inject
+{
+
+ public static final Inject INSTANCE = new InjectLiteral();
+
+ private InjectLiteral() {}
+
+}
\ No newline at end of file
Added: core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/extensions/annotatedType/invalidParameters/TumbleDryer.java
===================================================================
--- core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/extensions/annotatedType/invalidParameters/TumbleDryer.java (rev 0)
+++ core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/extensions/annotatedType/invalidParameters/TumbleDryer.java 2010-07-28 10:18:08 UTC (rev 6820)
@@ -0,0 +1,39 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2010, Red Hat, Inc., and individual contributors
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * http://www.apache.org/licenses/LICENSE-2.0
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.jboss.weld.tests.extensions.annotatedType.invalidParameters;
+
+import javax.inject.Inject;
+
+
+
+public class TumbleDryer
+{
+
+ private final Clothes clothers;
+
+ @Inject
+ public TumbleDryer(Clothes clothes)
+ {
+ this.clothers = clothes;
+ }
+
+ public Clothes getClothes()
+ {
+ return clothers;
+ }
+
+}
Added: core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/extensions/interceptors/FullMarathon.java
===================================================================
--- core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/extensions/interceptors/FullMarathon.java (rev 0)
+++ core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/extensions/interceptors/FullMarathon.java 2010-07-28 10:18:08 UTC (rev 6820)
@@ -0,0 +1,29 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2010, Red Hat, Inc., and individual contributors
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * http://www.apache.org/licenses/LICENSE-2.0
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.jboss.weld.tests.extensions.interceptors;
+
+import java.lang.annotation.ElementType;
+import java.lang.annotation.Retention;
+import java.lang.annotation.RetentionPolicy;
+import java.lang.annotation.Target;
+
+(a)Retention(RetentionPolicy.RUNTIME)
+@Target(value = { ElementType.TYPE })
+public @interface FullMarathon
+{
+
+}
Added: core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/extensions/interceptors/Incremented.java
===================================================================
--- core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/extensions/interceptors/Incremented.java (rev 0)
+++ core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/extensions/interceptors/Incremented.java 2010-07-28 10:18:08 UTC (rev 6820)
@@ -0,0 +1,29 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2010, Red Hat, Inc., and individual contributors
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * http://www.apache.org/licenses/LICENSE-2.0
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.jboss.weld.tests.extensions.interceptors;
+
+import java.lang.annotation.ElementType;
+import java.lang.annotation.Retention;
+import java.lang.annotation.RetentionPolicy;
+import java.lang.annotation.Target;
+
+(a)Retention(RetentionPolicy.RUNTIME)
+@Target(value = { ElementType.TYPE, ElementType.METHOD })
+public @interface Incremented
+{
+
+}
Added: core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/extensions/interceptors/IncrementingInterceptor.java
===================================================================
--- core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/extensions/interceptors/IncrementingInterceptor.java (rev 0)
+++ core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/extensions/interceptors/IncrementingInterceptor.java 2010-07-28 10:18:08 UTC (rev 6820)
@@ -0,0 +1,43 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2010, Red Hat, Inc., and individual contributors
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * http://www.apache.org/licenses/LICENSE-2.0
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.jboss.weld.tests.extensions.interceptors;
+
+import javax.interceptor.InvocationContext;
+
+/**
+ * Interceptor that adds one to the result of a method
+ *
+ * @author Stuart Douglas <stuart(a)baileyroberts.com.au>
+ *
+ */
+public class IncrementingInterceptor
+{
+ private static boolean doAroundCalled = false;
+
+ // @AroundInvoke
+ public Object doAround(InvocationContext context) throws Exception
+ {
+ doAroundCalled = true;
+ Integer res = (Integer)context.proceed();
+ return res + 1;
+ }
+
+ public static boolean isDoAroundCalled()
+ {
+ return doAroundCalled;
+ }
+}
Added: core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/extensions/interceptors/InterceptorExtension.java
===================================================================
--- core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/extensions/interceptors/InterceptorExtension.java (rev 0)
+++ core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/extensions/interceptors/InterceptorExtension.java 2010-07-28 10:18:08 UTC (rev 6820)
@@ -0,0 +1,95 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2010, Red Hat, Inc., and individual contributors
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * http://www.apache.org/licenses/LICENSE-2.0
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.jboss.weld.tests.extensions.interceptors;
+
+import java.lang.reflect.Method;
+
+import javax.annotation.PostConstruct;
+import javax.annotation.PreDestroy;
+import javax.enterprise.event.Observes;
+import javax.enterprise.inject.spi.BeanManager;
+import javax.enterprise.inject.spi.BeforeBeanDiscovery;
+import javax.enterprise.inject.spi.Extension;
+import javax.enterprise.util.AnnotationLiteral;
+import javax.interceptor.AroundInvoke;
+import javax.interceptor.Interceptor;
+import javax.interceptor.InvocationContext;
+
+import org.jboss.weld.tests.util.annotated.TestAnnotatedTypeBuilder;
+
+/**
+ *
+ * @author Stuart Douglas <stuart(a)baileyroberts.com.au>
+ *
+ */
+public class InterceptorExtension implements Extension
+{
+ /**
+ * registers two interceptors via the SPI
+ */
+ public void beforeBeanDiscovery(@Observes BeforeBeanDiscovery event, BeanManager beanManager) throws SecurityException, NoSuchMethodException
+ {
+ event.addInterceptorBinding(Incremented.class);
+ event.addInterceptorBinding(FullMarathon.class);
+
+ TestAnnotatedTypeBuilder<IncrementingInterceptor> incBuilder = new TestAnnotatedTypeBuilder<IncrementingInterceptor>(IncrementingInterceptor.class);
+ incBuilder.addToClass(new InterceptorLiteral());
+ incBuilder.addToClass(new IncrementedLiteral());
+
+ Method around = IncrementingInterceptor.class.getMethod("doAround", InvocationContext.class);
+ incBuilder.addToMethod(around, new AroundInvokeLiteral());
+ event.addAnnotatedType(incBuilder.create());
+
+ TestAnnotatedTypeBuilder<LifecycleInterceptor> marBuilder = new TestAnnotatedTypeBuilder<LifecycleInterceptor>(LifecycleInterceptor.class);
+ marBuilder.addToClass(new InterceptorLiteral());
+ marBuilder.addToClass(new FullMarathonImpl());
+
+ Method pre = LifecycleInterceptor.class.getMethod("preDestroy", InvocationContext.class);
+ marBuilder.addToMethod(pre, new PreDestroyLiteral());
+
+ Method post = LifecycleInterceptor.class.getMethod("postConstruct", InvocationContext.class);
+ marBuilder.addToMethod(post, new PostConstructLiteral());
+
+ event.addAnnotatedType(marBuilder.create());
+
+ }
+
+ private static class InterceptorLiteral extends AnnotationLiteral<Interceptor> implements Interceptor
+ {
+ };
+
+ private static class IncrementedLiteral extends AnnotationLiteral<Incremented> implements Incremented
+ {
+ };
+
+ private static class AroundInvokeLiteral extends AnnotationLiteral<AroundInvoke> implements AroundInvoke
+ {
+ };
+
+ private static class PreDestroyLiteral extends AnnotationLiteral<PreDestroy> implements PreDestroy
+ {
+ };
+
+ private static class PostConstructLiteral extends AnnotationLiteral<PostConstruct> implements PostConstruct
+ {
+ };
+
+ private static class FullMarathonImpl extends AnnotationLiteral<FullMarathon> implements FullMarathon
+ {
+ };
+
+}
Added: core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/extensions/interceptors/InterceptorExtensionTest.java
===================================================================
--- core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/extensions/interceptors/InterceptorExtensionTest.java (rev 0)
+++ core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/extensions/interceptors/InterceptorExtensionTest.java 2010-07-28 10:18:08 UTC (rev 6820)
@@ -0,0 +1,86 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2010, Red Hat, Inc., and individual contributors
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * http://www.apache.org/licenses/LICENSE-2.0
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.jboss.weld.tests.extensions.interceptors;
+
+import javax.enterprise.context.spi.CreationalContext;
+import javax.enterprise.inject.spi.Bean;
+import javax.enterprise.inject.spi.BeanManager;
+import javax.enterprise.inject.spi.Extension;
+import javax.inject.Inject;
+
+import org.jboss.arquillian.api.Deployment;
+import org.jboss.arquillian.junit.Arquillian;
+import org.jboss.shrinkwrap.api.Archive;
+import org.jboss.shrinkwrap.api.BeanArchive;
+import org.jboss.shrinkwrap.api.ShrinkWrap;
+import org.jboss.shrinkwrap.api.spec.EnterpriseArchive;
+import org.jboss.weld.test.Utils;
+import org.jboss.weld.tests.category.Integration;
+import org.jboss.weld.tests.util.annotated.TestAnnotatedTypeBuilder;
+import org.junit.Assert;
+import org.junit.Test;
+import org.junit.experimental.categories.Category;
+import org.junit.runner.RunWith;
+
+/**
+ * Tests that interceptors registered via the SPI work correctly
+ *
+ * @author Stuart Douglas <stuart(a)baileyroberts.com.au>
+ *
+ */
+(a)Category(Integration.class)
+(a)RunWith(Arquillian.class)
+public class InterceptorExtensionTest
+{
+ @Deployment
+ public static Archive<?> deploy()
+ {
+ return ShrinkWrap.create(EnterpriseArchive.class, "test.ear")
+ .addModule(
+ ShrinkWrap.create(BeanArchive.class)
+ .intercept(IncrementingInterceptor.class, LifecycleInterceptor.class)
+ .addPackage(InterceptorExtensionTest.class.getPackage())
+ .addPackage(TestAnnotatedTypeBuilder.class.getPackage())
+ .addServiceProvider(Extension.class, InterceptorExtension.class)
+ );
+ }
+
+ @Inject
+ private BeanManager beanManager;
+
+ @Test
+ public void testInterceptorCalled(NumberSource ng)
+ {
+ Assert.assertEquals(1, ng.value());
+ Assert.assertTrue(IncrementingInterceptor.isDoAroundCalled());
+ }
+
+ @Test
+ @SuppressWarnings("unchecked")
+ public void testLifecycleInterceptor()
+ {
+ Bean bean = beanManager.getBeans(Marathon.class).iterator().next();
+ CreationalContext creationalContext = beanManager.createCreationalContext(bean);
+ Marathon m = (Marathon)bean.create(creationalContext);
+
+ Assert.assertTrue(LifecycleInterceptor.isPostConstructCalled());
+ Assert.assertEquals(24, m.getLength());
+ bean.destroy(m, creationalContext);
+ Assert.assertTrue(LifecycleInterceptor.isPreDestroyCalled());
+ }
+
+}
Added: core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/extensions/interceptors/LifecycleInterceptor.java
===================================================================
--- core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/extensions/interceptors/LifecycleInterceptor.java (rev 0)
+++ core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/extensions/interceptors/LifecycleInterceptor.java 2010-07-28 10:18:08 UTC (rev 6820)
@@ -0,0 +1,59 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2010, Red Hat, Inc., and individual contributors
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * http://www.apache.org/licenses/LICENSE-2.0
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.jboss.weld.tests.extensions.interceptors;
+
+import javax.interceptor.InvocationContext;
+
+/**
+ *
+ * @author Stuart Douglas <stuart(a)baileyroberts.com.au>
+ *
+ */
+public class LifecycleInterceptor
+{
+ static private boolean preDestroyCalled = false;
+ static private boolean postConstructCalled = false;
+
+ // PreDestroy
+ public void preDestroy(InvocationContext ctx)
+ {
+ preDestroyCalled = true;
+ }
+
+ // @PostConstruct
+ public void postConstruct(InvocationContext ctx)
+ {
+ Object marathon = ctx.getTarget();
+ if (marathon instanceof Marathon)
+ {
+ Marathon m = (Marathon) marathon;
+ m.setLength(42);
+ }
+ postConstructCalled = true;
+ }
+
+ static public boolean isPostConstructCalled()
+ {
+ return postConstructCalled;
+ }
+
+ static public boolean isPreDestroyCalled()
+ {
+ return preDestroyCalled;
+ }
+
+}
Added: core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/extensions/interceptors/Marathon.java
===================================================================
--- core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/extensions/interceptors/Marathon.java (rev 0)
+++ core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/extensions/interceptors/Marathon.java 2010-07-28 10:18:08 UTC (rev 6820)
@@ -0,0 +1,34 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2010, Red Hat, Inc., and individual contributors
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * http://www.apache.org/licenses/LICENSE-2.0
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.jboss.weld.tests.extensions.interceptors;
+
+@FullMarathon
+public class Marathon
+{
+ long length;
+
+ public long getLength()
+ {
+ return length;
+ }
+
+ public void setLength(long length)
+ {
+ this.length = length;
+ }
+
+}
Added: core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/extensions/interceptors/NumberSource.java
===================================================================
--- core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/extensions/interceptors/NumberSource.java (rev 0)
+++ core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/extensions/interceptors/NumberSource.java 2010-07-28 10:18:08 UTC (rev 6820)
@@ -0,0 +1,31 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2010, Red Hat, Inc., and individual contributors
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * http://www.apache.org/licenses/LICENSE-2.0
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.jboss.weld.tests.extensions.interceptors;
+
+/**
+ *
+ * @author Stuart Douglas <stuart(a)baileyroberts.com.au>
+ *
+ */
+public class NumberSource
+{
+ @Incremented
+ public int value()
+ {
+ return 1;
+ }
+}
Added: core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/extensions/multipleBeans/Author.java
===================================================================
--- core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/extensions/multipleBeans/Author.java (rev 0)
+++ core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/extensions/multipleBeans/Author.java 2010-07-28 10:18:08 UTC (rev 6820)
@@ -0,0 +1,32 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2010, Red Hat, Inc., and individual contributors
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * http://www.apache.org/licenses/LICENSE-2.0
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.jboss.weld.tests.extensions.multipleBeans;
+
+import java.lang.annotation.ElementType;
+import java.lang.annotation.Retention;
+import java.lang.annotation.RetentionPolicy;
+import java.lang.annotation.Target;
+
+import javax.inject.Qualifier;
+
+@Qualifier
+(a)Retention(RetentionPolicy.RUNTIME)
+@Target( { ElementType.FIELD, ElementType.TYPE, ElementType.METHOD })
+public @interface Author
+{
+ public String name();
+}
Added: core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/extensions/multipleBeans/AuthorLiteral.java
===================================================================
--- core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/extensions/multipleBeans/AuthorLiteral.java (rev 0)
+++ core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/extensions/multipleBeans/AuthorLiteral.java 2010-07-28 10:18:08 UTC (rev 6820)
@@ -0,0 +1,23 @@
+/**
+ *
+ */
+package org.jboss.weld.tests.extensions.multipleBeans;
+
+import javax.enterprise.util.AnnotationLiteral;
+
+class AuthorLiteral extends AnnotationLiteral<Author> implements Author
+{
+
+ final String name;
+
+ AuthorLiteral(String name)
+ {
+ this.name = name;
+ }
+
+ public String name()
+ {
+ return name;
+ }
+
+}
\ No newline at end of file
Added: core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/extensions/multipleBeans/BlogConsumer.java
===================================================================
--- core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/extensions/multipleBeans/BlogConsumer.java (rev 0)
+++ core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/extensions/multipleBeans/BlogConsumer.java 2010-07-28 10:18:08 UTC (rev 6820)
@@ -0,0 +1,27 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2010, Red Hat, Inc., and individual contributors
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * http://www.apache.org/licenses/LICENSE-2.0
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.jboss.weld.tests.extensions.multipleBeans;
+
+import javax.inject.Inject;
+
+@Consumer(name = "Barry")
+public class BlogConsumer
+{
+ @Inject
+ @FormattedBlog(name = "Barry")
+ public String blogContent;
+}
Added: core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/extensions/multipleBeans/BlogFormatter.java
===================================================================
--- core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/extensions/multipleBeans/BlogFormatter.java (rev 0)
+++ core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/extensions/multipleBeans/BlogFormatter.java 2010-07-28 10:18:08 UTC (rev 6820)
@@ -0,0 +1,35 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2010, Red Hat, Inc., and individual contributors
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * http://www.apache.org/licenses/LICENSE-2.0
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.jboss.weld.tests.extensions.multipleBeans;
+
+import javax.enterprise.inject.Produces;
+import javax.inject.Inject;
+
+public class BlogFormatter
+{
+ @Inject
+ @Author(name = "Barry")
+ public String content;
+
+ @Produces
+ @FormattedBlog(name = "Barry")
+ public String format()
+ {
+ return "+" + content + "+";
+ }
+
+}
Added: core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/extensions/multipleBeans/BlogSource.java
===================================================================
--- core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/extensions/multipleBeans/BlogSource.java (rev 0)
+++ core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/extensions/multipleBeans/BlogSource.java 2010-07-28 10:18:08 UTC (rev 6820)
@@ -0,0 +1,30 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2010, Red Hat, Inc., and individual contributors
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * http://www.apache.org/licenses/LICENSE-2.0
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.jboss.weld.tests.extensions.multipleBeans;
+
+import javax.enterprise.inject.Produces;
+
+public class BlogSource
+{
+ @Produces
+ @Author(name = "Barry")
+ String barrysBlog = "Barry's content";
+
+ @Produces
+ @Author(name = "Bob")
+ String bobsBlog = "Bob's content";
+}
Added: core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/extensions/multipleBeans/Consumer.java
===================================================================
--- core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/extensions/multipleBeans/Consumer.java (rev 0)
+++ core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/extensions/multipleBeans/Consumer.java 2010-07-28 10:18:08 UTC (rev 6820)
@@ -0,0 +1,32 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2010, Red Hat, Inc., and individual contributors
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * http://www.apache.org/licenses/LICENSE-2.0
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.jboss.weld.tests.extensions.multipleBeans;
+
+import java.lang.annotation.ElementType;
+import java.lang.annotation.Retention;
+import java.lang.annotation.RetentionPolicy;
+import java.lang.annotation.Target;
+
+import javax.inject.Qualifier;
+
+@Qualifier
+(a)Retention(RetentionPolicy.RUNTIME)
+@Target( { ElementType.FIELD, ElementType.TYPE, ElementType.METHOD })
+public @interface Consumer
+{
+ public String name();
+}
Added: core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/extensions/multipleBeans/ConsumerLiteral.java
===================================================================
--- core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/extensions/multipleBeans/ConsumerLiteral.java (rev 0)
+++ core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/extensions/multipleBeans/ConsumerLiteral.java 2010-07-28 10:18:08 UTC (rev 6820)
@@ -0,0 +1,23 @@
+/**
+ *
+ */
+package org.jboss.weld.tests.extensions.multipleBeans;
+
+import javax.enterprise.util.AnnotationLiteral;
+
+class ConsumerLiteral extends AnnotationLiteral<Consumer> implements Consumer
+{
+
+ final String name;
+
+ ConsumerLiteral(String name)
+ {
+ this.name = name;
+ }
+
+ public String name()
+ {
+ return name;
+ }
+
+}
\ No newline at end of file
Added: core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/extensions/multipleBeans/FormattedBlog.java
===================================================================
--- core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/extensions/multipleBeans/FormattedBlog.java (rev 0)
+++ core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/extensions/multipleBeans/FormattedBlog.java 2010-07-28 10:18:08 UTC (rev 6820)
@@ -0,0 +1,32 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2010, Red Hat, Inc., and individual contributors
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * http://www.apache.org/licenses/LICENSE-2.0
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.jboss.weld.tests.extensions.multipleBeans;
+
+import java.lang.annotation.ElementType;
+import java.lang.annotation.Retention;
+import java.lang.annotation.RetentionPolicy;
+import java.lang.annotation.Target;
+
+import javax.inject.Qualifier;
+
+@Qualifier
+(a)Retention(RetentionPolicy.RUNTIME)
+@Target( { ElementType.FIELD, ElementType.TYPE, ElementType.METHOD })
+public @interface FormattedBlog
+{
+ public String name();
+}
Added: core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/extensions/multipleBeans/FormattedBlogLiteral.java
===================================================================
--- core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/extensions/multipleBeans/FormattedBlogLiteral.java (rev 0)
+++ core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/extensions/multipleBeans/FormattedBlogLiteral.java 2010-07-28 10:18:08 UTC (rev 6820)
@@ -0,0 +1,23 @@
+/**
+ *
+ */
+package org.jboss.weld.tests.extensions.multipleBeans;
+
+import javax.enterprise.util.AnnotationLiteral;
+
+class FormattedBlogLiteral extends AnnotationLiteral<FormattedBlog> implements FormattedBlog
+{
+
+ final String name;
+
+ FormattedBlogLiteral(String name)
+ {
+ this.name = name;
+ }
+
+ public String name()
+ {
+ return name;
+ }
+
+}
\ No newline at end of file
Added: core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/extensions/multipleBeans/MultipleBeansExtension.java
===================================================================
--- core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/extensions/multipleBeans/MultipleBeansExtension.java (rev 0)
+++ core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/extensions/multipleBeans/MultipleBeansExtension.java 2010-07-28 10:18:08 UTC (rev 6820)
@@ -0,0 +1,74 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2010, Red Hat, Inc., and individual contributors
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * http://www.apache.org/licenses/LICENSE-2.0
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.jboss.weld.tests.extensions.multipleBeans;
+
+import java.lang.reflect.Field;
+import java.lang.reflect.Method;
+
+import javax.enterprise.event.Observes;
+import javax.enterprise.inject.Produces;
+import javax.enterprise.inject.spi.BeforeBeanDiscovery;
+import javax.enterprise.inject.spi.Extension;
+import javax.enterprise.util.AnnotationLiteral;
+import javax.inject.Inject;
+
+import org.jboss.weld.tests.util.annotated.TestAnnotatedTypeBuilder;
+
+/**
+ * Extension that registers addition types via the SPI
+ *
+ * @author Stuart Douglas <stuart(a)baileyroberts.com.au>
+ *
+ */
+public class MultipleBeansExtension implements Extension
+{
+
+ public void addNewAnnotatedTypes(@Observes BeforeBeanDiscovery event) throws SecurityException, NoSuchFieldException, NoSuchMethodException
+ {
+ TestAnnotatedTypeBuilder<BlogFormatter> formatter = new TestAnnotatedTypeBuilder<BlogFormatter>(BlogFormatter.class);
+ Field content = BlogFormatter.class.getField("content");
+ formatter.addToField(content, new InjectLiteral());
+ formatter.addToField(content, new AuthorLiteral("Bob"));
+ Method format = BlogFormatter.class.getMethod("format");
+ formatter.addToMethod(format, new ProducesLiteral());
+ formatter.addToMethod(format, new FormattedBlogLiteral("Bob"));
+ event.addAnnotatedType(formatter.create());
+
+ TestAnnotatedTypeBuilder<BlogConsumer> consumer = new TestAnnotatedTypeBuilder<BlogConsumer>(BlogConsumer.class);
+ consumer.addToClass(new ConsumerLiteral("Bob"));
+ content = BlogConsumer.class.getField("blogContent");
+ consumer.addToField(content, new InjectLiteral());
+ consumer.addToField(content, new FormattedBlogLiteral("Bob"));
+ event.addAnnotatedType(consumer.create());
+
+ // two beans that are exactly the same
+ // this is not very useful, however should still work
+ TestAnnotatedTypeBuilder<UselessBean> uselessBuilder = new TestAnnotatedTypeBuilder<UselessBean>(UselessBean.class);
+ event.addAnnotatedType(uselessBuilder.create());
+
+ }
+
+ private static class InjectLiteral extends AnnotationLiteral<Inject> implements Inject
+ {
+
+ }
+
+ private static class ProducesLiteral extends AnnotationLiteral<Produces> implements Produces
+ {
+
+ }
+}
Added: core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/extensions/multipleBeans/MultipleBeansTest.java
===================================================================
--- core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/extensions/multipleBeans/MultipleBeansTest.java (rev 0)
+++ core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/extensions/multipleBeans/MultipleBeansTest.java 2010-07-28 10:18:08 UTC (rev 6820)
@@ -0,0 +1,100 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2010, Red Hat, Inc., and individual contributors
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * http://www.apache.org/licenses/LICENSE-2.0
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.jboss.weld.tests.extensions.multipleBeans;
+
+
+import javax.enterprise.inject.spi.Extension;
+import javax.inject.Inject;
+
+import org.jboss.arquillian.api.Deployment;
+import org.jboss.arquillian.junit.Arquillian;
+import org.jboss.shrinkwrap.api.Archive;
+import org.jboss.shrinkwrap.api.BeanArchive;
+import org.jboss.shrinkwrap.api.ShrinkWrap;
+import org.jboss.shrinkwrap.api.spec.EnterpriseArchive;
+import org.jboss.weld.manager.BeanManagerImpl;
+import org.jboss.weld.test.Utils;
+import org.jboss.weld.tests.category.Broken;
+import org.jboss.weld.tests.category.Integration;
+import org.jboss.weld.tests.util.annotated.TestAnnotatedTypeBuilder;
+import org.junit.Assert;
+import org.junit.Test;
+import org.junit.experimental.categories.Category;
+import org.junit.runner.RunWith;
+
+/**
+ * Tests that it is possible to add multiple beans with the same java class type
+ * through the SPI
+ *
+ * @author Stuart Douglas <stuart(a)baileyroberts.com.au>
+ *
+ */
+(a)Category(Integration.class)
+(a)RunWith(Arquillian.class)
+public class MultipleBeansTest
+{
+ @Deployment
+ public static Archive<?> deploy()
+ {
+ return ShrinkWrap.create(EnterpriseArchive.class, "test.ear")
+ .addModule(
+ ShrinkWrap.create(BeanArchive.class)
+ .addPackage(MultipleBeansTest.class.getPackage())
+ .addPackage(TestAnnotatedTypeBuilder.class.getPackage())
+ .addClass(Utils.class)
+ .addServiceProvider(Extension.class, MultipleBeansExtension.class)
+ );
+ }
+
+ @Inject
+ private BeanManagerImpl beanManager;
+
+ @Test
+ public void testFormatterRegistered()
+ {
+ // test that we have added two beans with the same qualifiers
+ Assert.assertEquals(2, Utils.getBeans(beanManager, BlogFormatter.class).size());
+ // test that the beans which have different producer methods produce
+ // different values
+ Assert.assertEquals("+Bob's content+", Utils.getReference(beanManager, String.class, new FormattedBlogLiteral("Bob")));
+ Assert.assertEquals("+Barry's content+", Utils.getReference(beanManager, String.class, new FormattedBlogLiteral("Barry")));
+ }
+
+ @Test
+ public void testBlogConsumed()
+ {
+ // test that the two different BlogConsumers have been registered
+ // correctly
+ BlogConsumer consumer = Utils.getReference(beanManager, BlogConsumer.class, new ConsumerLiteral("Barry"));
+ Assert.assertEquals("+Barry's content+", consumer.blogContent);
+ consumer = Utils.getReference(beanManager, BlogConsumer.class, new ConsumerLiteral("Bob"));
+ Assert.assertEquals("+Bob's content+", consumer.blogContent);
+ }
+
+ /**
+ * Apparently it is not possible to add two beans that are exactly the same.
+ * Even though this is not very useful it should still be possible.
+ *
+ */
+ @Test
+ @Category(Broken.class)
+ public void testTwoBeansExactlyTheSame()
+ {
+ Assert.assertEquals(2, beanManager.getBeans(UselessBean.class).size());
+ }
+
+}
Added: core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/extensions/multipleBeans/UselessBean.java
===================================================================
--- core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/extensions/multipleBeans/UselessBean.java (rev 0)
+++ core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/extensions/multipleBeans/UselessBean.java 2010-07-28 10:18:08 UTC (rev 6820)
@@ -0,0 +1,28 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2010, Red Hat, Inc., and individual contributors
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * http://www.apache.org/licenses/LICENSE-2.0
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.jboss.weld.tests.extensions.multipleBeans;
+
+/**
+ *
+ *
+ * @author Stuart Douglas <stuart(a)baileyroberts.com.au>
+ *
+ */
+public class UselessBean
+{
+
+}
Added: core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/injectionPoint/Cow.java
===================================================================
--- core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/injectionPoint/Cow.java (rev 0)
+++ core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/injectionPoint/Cow.java 2010-07-28 10:18:08 UTC (rev 6820)
@@ -0,0 +1,34 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2010, Red Hat, Inc., and individual contributors
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * http://www.apache.org/licenses/LICENSE-2.0
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.jboss.weld.tests.injectionPoint;
+
+public class Cow
+{
+
+ private final String name;
+
+ public Cow(String name)
+ {
+ this.name = name;
+ }
+
+ public String getName()
+ {
+ return name;
+ }
+
+}
Added: core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/injectionPoint/CowShed.java
===================================================================
--- core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/injectionPoint/CowShed.java (rev 0)
+++ core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/injectionPoint/CowShed.java 2010-07-28 10:18:08 UTC (rev 6820)
@@ -0,0 +1,36 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2010, Red Hat, Inc., and individual contributors
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * http://www.apache.org/licenses/LICENSE-2.0
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.jboss.weld.tests.injectionPoint;
+
+import javax.enterprise.inject.Produces;
+import javax.enterprise.inject.spi.InjectionPoint;
+
+import org.jboss.weld.injection.FieldInjectionPoint;
+
+public class CowShed
+{
+
+ @Produces
+ public Cow get(InjectionPoint ip)
+ {
+ assert ip instanceof FieldInjectionPoint<?, ?>;
+ FieldInjectionPoint<?, ?> fip = (FieldInjectionPoint<?, ?>) ip;
+ assert fip.getDeclaringType().getJavaClass().equals(Field.class);
+ return new Cow("daisy");
+ }
+
+}
Added: core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/injectionPoint/DoubleConsumer.java
===================================================================
--- core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/injectionPoint/DoubleConsumer.java (rev 0)
+++ core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/injectionPoint/DoubleConsumer.java 2010-07-28 10:18:08 UTC (rev 6820)
@@ -0,0 +1,44 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2010, Red Hat, Inc., and individual contributors
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * http://www.apache.org/licenses/LICENSE-2.0
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.jboss.weld.tests.injectionPoint;
+
+import java.io.Serializable;
+
+import javax.enterprise.context.SessionScoped;
+import javax.inject.Inject;
+import javax.inject.Named;
+
+@Named
+@SessionScoped
+public class DoubleConsumer implements Serializable
+{
+
+ private static final long serialVersionUID = 6619645042310126425L;
+
+ @Inject
+ private double maxNumber;
+
+ public DoubleConsumer()
+ {
+ }
+
+ public void ping()
+ {
+
+ }
+
+}
Added: core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/injectionPoint/DoubleGenerator.java
===================================================================
--- core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/injectionPoint/DoubleGenerator.java (rev 0)
+++ core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/injectionPoint/DoubleGenerator.java 2010-07-28 10:18:08 UTC (rev 6820)
@@ -0,0 +1,41 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2010, Red Hat, Inc., and individual contributors
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * http://www.apache.org/licenses/LICENSE-2.0
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.jboss.weld.tests.injectionPoint;
+
+import java.io.Serializable;
+import java.util.Timer;
+
+import javax.enterprise.context.ApplicationScoped;
+import javax.enterprise.inject.Produces;
+import javax.inject.Inject;
+
+@ApplicationScoped
+public class DoubleGenerator implements Serializable
+{
+
+ private static final long serialVersionUID = -7213673465118041882L;
+
+ @Inject Timer timer;
+
+ @Produces
+ double getDouble()
+ {
+ timer.cancel();
+ return 11.1;
+ }
+
+}
Added: core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/injectionPoint/ExtraSpecial.java
===================================================================
--- core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/injectionPoint/ExtraSpecial.java (rev 0)
+++ core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/injectionPoint/ExtraSpecial.java 2010-07-28 10:18:08 UTC (rev 6820)
@@ -0,0 +1,36 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2010, Red Hat, Inc. and/or its affiliates, and individual
+ * contributors by the @authors tag. See the copyright.txt in the
+ * distribution for a full listing of individual contributors.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * http://www.apache.org/licenses/LICENSE-2.0
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.jboss.weld.tests.injectionPoint;
+
+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 java.lang.annotation.Retention;
+import java.lang.annotation.RetentionPolicy;
+import java.lang.annotation.Target;
+
+import javax.inject.Qualifier;
+
+@Qualifier
+(a)Retention(RetentionPolicy.RUNTIME)
+@Target({FIELD, METHOD, TYPE, PARAMETER})
+public @interface ExtraSpecial
+{
+
+}
Added: core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/injectionPoint/ExtraSpecialLiteral.java
===================================================================
--- core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/injectionPoint/ExtraSpecialLiteral.java (rev 0)
+++ core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/injectionPoint/ExtraSpecialLiteral.java 2010-07-28 10:18:08 UTC (rev 6820)
@@ -0,0 +1,29 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2010, Red Hat, Inc. and/or its affiliates, and individual
+ * contributors by the @authors tag. See the copyright.txt in the
+ * distribution for a full listing of individual contributors.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * http://www.apache.org/licenses/LICENSE-2.0
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package org.jboss.weld.tests.injectionPoint;
+
+import javax.enterprise.util.AnnotationLiteral;
+
+public class ExtraSpecialLiteral extends AnnotationLiteral<ExtraSpecial> implements ExtraSpecial
+{
+ public static final ExtraSpecial INSTANCE = new ExtraSpecialLiteral();
+
+ private ExtraSpecialLiteral() {
+ }
+
+}
Added: core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/injectionPoint/Field.java
===================================================================
--- core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/injectionPoint/Field.java (rev 0)
+++ core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/injectionPoint/Field.java 2010-07-28 10:18:08 UTC (rev 6820)
@@ -0,0 +1,31 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2010, Red Hat, Inc., and individual contributors
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * http://www.apache.org/licenses/LICENSE-2.0
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.jboss.weld.tests.injectionPoint;
+
+import javax.inject.Inject;
+
+public class Field
+{
+
+ @Inject Cow cow;
+
+ public Cow getCow()
+ {
+ return cow;
+ }
+
+}
Added: core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/injectionPoint/GrassyField.java
===================================================================
--- core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/injectionPoint/GrassyField.java (rev 0)
+++ core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/injectionPoint/GrassyField.java 2010-07-28 10:18:08 UTC (rev 6820)
@@ -0,0 +1,22 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2010, Red Hat, Inc., and individual contributors
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * http://www.apache.org/licenses/LICENSE-2.0
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.jboss.weld.tests.injectionPoint;
+
+public class GrassyField extends Field
+{
+
+}
Added: core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/injectionPoint/InjectionPointTest.java
===================================================================
--- core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/injectionPoint/InjectionPointTest.java (rev 0)
+++ core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/injectionPoint/InjectionPointTest.java 2010-07-28 10:18:08 UTC (rev 6820)
@@ -0,0 +1,106 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2010, Red Hat, Inc., and individual contributors
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * http://www.apache.org/licenses/LICENSE-2.0
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.jboss.weld.tests.injectionPoint;
+
+import java.lang.reflect.ParameterizedType;
+
+import javax.enterprise.inject.IllegalProductException;
+import javax.enterprise.inject.Instance;
+import javax.enterprise.inject.spi.InjectionPoint;
+
+import org.jboss.arquillian.api.Deployment;
+import org.jboss.arquillian.junit.Arquillian;
+import org.jboss.shrinkwrap.api.Archive;
+import org.jboss.shrinkwrap.api.BeanArchive;
+import org.jboss.shrinkwrap.api.ShrinkWrap;
+import org.jboss.weld.test.Utils;
+import org.junit.Assert;
+import org.junit.Test;
+import org.junit.runner.RunWith;
+
+(a)RunWith(Arquillian.class)
+public class InjectionPointTest
+{
+ @Deployment
+ public static Archive<?> deploy()
+ {
+ return ShrinkWrap.create(BeanArchive.class)
+ .addPackage(InjectionPointTest.class.getPackage())
+ .addClass(Utils.class);
+ }
+
+ /*
+ * description = "WELD-239"
+ */
+ @Test
+ public void testCorrectInjectionPointUsed(IntConsumer intConsumer, DoubleConsumer doubleConsumer)
+ {
+ intConsumer.ping();
+
+ try
+ {
+ doubleConsumer.ping();
+ }
+ catch (IllegalProductException e)
+ {
+ Assert.assertTrue(e.getMessage().contains("Injection Point: field org.jboss.weld.tests.injectionPoint.DoubleGenerator.timer"));
+ }
+ }
+
+ /*
+ * description = "WELD-316"
+ */
+ @Test
+ public void testFieldInjectionPointSerializability(StringConsumer consumer) throws Throwable
+ {
+ consumer.ping();
+ InjectionPoint ip = StringGenerator.getInjectionPoint();
+ Assert.assertNotNull(ip);
+ Assert.assertEquals("str", ip.getMember().getName());
+ InjectionPoint ip1 = Utils.deserialize(Utils.serialize(ip));
+ Assert.assertEquals("str", ip1.getMember().getName());
+ }
+
+ @Test
+ public void testGetDeclaringType(GrassyField field)
+ {
+ Assert.assertEquals("daisy", field.getCow().getName());
+ }
+
+ /*
+ * description = "WELD-438"
+ */
+ @Test
+ public void testInjectionPointWhenInstanceGetIsUsed(PigSty pigSty) throws Exception
+ {
+ Pig pig = pigSty.getPig();
+ Assert.assertNotNull(pig);
+ Assert.assertNotNull(pig.getInjectionPoint().getBean());
+ Assert.assertEquals(PigSty.class, pig.getInjectionPoint().getBean().getBeanClass());
+ Assert.assertEquals(PigSty.class.getDeclaredField("pig"), pig.getInjectionPoint().getMember());
+ Assert.assertNotNull(pig.getInjectionPoint().getAnnotated());
+ Assert.assertTrue(pig.getInjectionPoint().getAnnotated().getBaseType() instanceof ParameterizedType);
+ ParameterizedType parameterizedType = ((ParameterizedType) pig.getInjectionPoint().getAnnotated().getBaseType());
+ Assert.assertEquals(Instance.class, parameterizedType.getRawType());
+ Assert.assertEquals(1, parameterizedType.getActualTypeArguments().length);
+ Assert.assertEquals(Pig.class, parameterizedType.getActualTypeArguments()[0]);
+ Assert.assertTrue(pig.getInjectionPoint().getAnnotated().isAnnotationPresent(Special.class));
+ Assert.assertFalse(pig.getInjectionPoint().getAnnotated().isAnnotationPresent(ExtraSpecial.class));
+ Assert.assertTrue(Utils.annotationSetMatches(pig.injectionPoint.getQualifiers(), Special.class, ExtraSpecial.class));
+ Assert.assertEquals(Pig.class, pig.getInjectionPoint().getType());
+ }
+}
Added: core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/injectionPoint/IntConsumer.java
===================================================================
--- core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/injectionPoint/IntConsumer.java (rev 0)
+++ core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/injectionPoint/IntConsumer.java 2010-07-28 10:18:08 UTC (rev 6820)
@@ -0,0 +1,44 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2010, Red Hat, Inc., and individual contributors
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * http://www.apache.org/licenses/LICENSE-2.0
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.jboss.weld.tests.injectionPoint;
+
+import java.io.Serializable;
+
+import javax.enterprise.context.SessionScoped;
+import javax.inject.Inject;
+import javax.inject.Named;
+
+@Named
+@SessionScoped
+public class IntConsumer implements Serializable
+{
+
+ private static final long serialVersionUID = 6619645042310126425L;
+
+ @Inject
+ private int maxNumber;
+
+ public IntConsumer()
+ {
+ }
+
+ public void ping()
+ {
+
+ }
+
+}
Added: core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/injectionPoint/IntGenerator.java
===================================================================
--- core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/injectionPoint/IntGenerator.java (rev 0)
+++ core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/injectionPoint/IntGenerator.java 2010-07-28 10:18:08 UTC (rev 6820)
@@ -0,0 +1,45 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2010, Red Hat, Inc., and individual contributors
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * http://www.apache.org/licenses/LICENSE-2.0
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.jboss.weld.tests.injectionPoint;
+
+import java.io.Serializable;
+import java.util.Timer;
+
+import javax.enterprise.context.ApplicationScoped;
+import javax.enterprise.inject.Instance;
+import javax.enterprise.inject.Produces;
+import javax.inject.Inject;
+
+@ApplicationScoped
+public class IntGenerator implements Serializable
+{
+
+ private static final long serialVersionUID = -7213673465118041882L;
+
+ @Inject
+ private Instance<Timer> timerInstance;
+
+ @Produces
+ int getInt()
+ {
+ // This has no purpose other than to invoke a method on the proxy so that the proxy instance
+ // is retrieved via the producer method
+ timerInstance.get().cancel();
+ return 100;
+ }
+
+}
Added: core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/injectionPoint/Pig.java
===================================================================
--- core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/injectionPoint/Pig.java (rev 0)
+++ core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/injectionPoint/Pig.java 2010-07-28 10:18:08 UTC (rev 6820)
@@ -0,0 +1,33 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2010, Red Hat, Inc., and individual contributors
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * http://www.apache.org/licenses/LICENSE-2.0
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.jboss.weld.tests.injectionPoint;
+
+import javax.enterprise.inject.spi.InjectionPoint;
+import javax.inject.Inject;
+
+@Special @ExtraSpecial
+public class Pig
+{
+
+ @Inject InjectionPoint injectionPoint;
+
+ public InjectionPoint getInjectionPoint()
+ {
+ return injectionPoint;
+ }
+
+}
Added: core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/injectionPoint/PigSty.java
===================================================================
--- core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/injectionPoint/PigSty.java (rev 0)
+++ core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/injectionPoint/PigSty.java 2010-07-28 10:18:08 UTC (rev 6820)
@@ -0,0 +1,33 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2010, Red Hat, Inc. and/or its affiliates, and individual
+ * contributors by the @authors tag. See the copyright.txt in the
+ * distribution for a full listing of individual contributors.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * http://www.apache.org/licenses/LICENSE-2.0
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package org.jboss.weld.tests.injectionPoint;
+
+import javax.enterprise.inject.Instance;
+import javax.inject.Inject;
+
+public class PigSty
+{
+ @Inject @Special Instance<Pig> pig;
+
+ public Pig getPig()
+ {
+ return pig.select(ExtraSpecialLiteral.INSTANCE).get();
+ }
+
+}
+
Added: core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/injectionPoint/Special.java
===================================================================
--- core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/injectionPoint/Special.java (rev 0)
+++ core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/injectionPoint/Special.java 2010-07-28 10:18:08 UTC (rev 6820)
@@ -0,0 +1,36 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2010, Red Hat, Inc., and individual contributors
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * http://www.apache.org/licenses/LICENSE-2.0
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.jboss.weld.tests.injectionPoint;
+
+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 java.lang.annotation.Retention;
+import java.lang.annotation.RetentionPolicy;
+import java.lang.annotation.Target;
+
+import javax.inject.Qualifier;
+
+@Qualifier
+(a)Retention(RetentionPolicy.RUNTIME)
+@Target({FIELD, METHOD, TYPE, PARAMETER})
+public @interface Special
+{
+
+}
Added: core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/injectionPoint/StringConsumer.java
===================================================================
--- core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/injectionPoint/StringConsumer.java (rev 0)
+++ core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/injectionPoint/StringConsumer.java 2010-07-28 10:18:08 UTC (rev 6820)
@@ -0,0 +1,28 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2010, Red Hat, Inc., and individual contributors
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * http://www.apache.org/licenses/LICENSE-2.0
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.jboss.weld.tests.injectionPoint;
+
+import javax.inject.Inject;
+
+public class StringConsumer
+{
+
+ @Inject String str;
+
+ public void ping() {}
+
+}
Added: core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/injectionPoint/StringGenerator.java
===================================================================
--- core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/injectionPoint/StringGenerator.java (rev 0)
+++ core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/injectionPoint/StringGenerator.java 2010-07-28 10:18:08 UTC (rev 6820)
@@ -0,0 +1,43 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2010, Red Hat, Inc., and individual contributors
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * http://www.apache.org/licenses/LICENSE-2.0
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.jboss.weld.tests.injectionPoint;
+
+import javax.enterprise.inject.Produces;
+import javax.enterprise.inject.spi.InjectionPoint;
+
+public class StringGenerator
+{
+
+ private static InjectionPoint injectionPoint;
+
+ public static InjectionPoint getInjectionPoint()
+ {
+ return injectionPoint;
+ }
+
+ public static void reset()
+ {
+ injectionPoint = null;
+ }
+
+ @Produces String getString(InjectionPoint ip)
+ {
+ injectionPoint = ip;
+ return "";
+ }
+
+}
Added: core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/injectionPoint/TimerManager.java
===================================================================
--- core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/injectionPoint/TimerManager.java (rev 0)
+++ core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/injectionPoint/TimerManager.java 2010-07-28 10:18:08 UTC (rev 6820)
@@ -0,0 +1,37 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2010, Red Hat, Inc., and individual contributors
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * http://www.apache.org/licenses/LICENSE-2.0
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.jboss.weld.tests.injectionPoint;
+
+import java.io.Serializable;
+import java.util.Timer;
+
+import javax.enterprise.context.RequestScoped;
+import javax.enterprise.inject.Produces;
+
+public class TimerManager implements Serializable
+{
+
+ private static final long serialVersionUID = 5156835887786174326L;
+
+ @Produces
+ @RequestScoped
+ public Timer getTimer()
+ {
+ return new Timer();
+ }
+
+}
Added: core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/injectionPoint/other/Foo.java
===================================================================
--- core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/injectionPoint/other/Foo.java (rev 0)
+++ core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/injectionPoint/other/Foo.java 2010-07-28 10:18:08 UTC (rev 6820)
@@ -0,0 +1,24 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2010, Red Hat, Inc., and individual contributors
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * http://www.apache.org/licenses/LICENSE-2.0
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.jboss.weld.tests.injectionPoint.other;
+
+public class Foo
+{
+
+ public void ping() {}
+
+}
Added: core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/producer/field/Baz.java
===================================================================
--- core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/producer/field/Baz.java (rev 0)
+++ core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/producer/field/Baz.java 2010-07-28 10:18:08 UTC (rev 6820)
@@ -0,0 +1,13 @@
+package org.jboss.weld.tests.producer.field;
+
+import java.lang.annotation.Retention;
+import java.lang.annotation.RetentionPolicy;
+
+import javax.inject.Qualifier;
+
+(a)Retention(RetentionPolicy.RUNTIME)
+@Qualifier
+public @interface Baz
+{
+
+}
Added: core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/producer/field/IntegerCollectionInjection.java
===================================================================
--- core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/producer/field/IntegerCollectionInjection.java (rev 0)
+++ core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/producer/field/IntegerCollectionInjection.java 2010-07-28 10:18:08 UTC (rev 6820)
@@ -0,0 +1,60 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2010, Red Hat, Inc., and individual contributors
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * http://www.apache.org/licenses/LICENSE-2.0
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.jboss.weld.tests.producer.field;
+
+import java.util.Collection;
+
+import javax.inject.Inject;
+
+public class IntegerCollectionInjection
+{
+
+ private Collection<Integer> value;
+
+ @Inject
+ private Collection<Integer> fieldInjection;
+
+ private Collection<Integer> setterInjection;
+
+ @Inject
+ public void init(Collection<Integer> setterInjection)
+ {
+ this.setterInjection = setterInjection;
+ }
+
+ @Inject
+ public IntegerCollectionInjection(Collection<Integer> com)
+ {
+ this.value = com;
+ }
+
+ public Collection<Integer> getValue()
+ {
+ return value;
+ }
+
+ public Collection<Integer> getFieldInjection()
+ {
+ return fieldInjection;
+ }
+
+ public Collection<Integer> getSetterInjection()
+ {
+ return setterInjection;
+ }
+
+}
Added: core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/producer/field/ListInstance.java
===================================================================
--- core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/producer/field/ListInstance.java (rev 0)
+++ core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/producer/field/ListInstance.java 2010-07-28 10:18:08 UTC (rev 6820)
@@ -0,0 +1,35 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2010, Red Hat, Inc., and individual contributors
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * http://www.apache.org/licenses/LICENSE-2.0
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.jboss.weld.tests.producer.field;
+
+import java.util.List;
+
+import javax.enterprise.inject.Any;
+import javax.enterprise.inject.Instance;
+import javax.inject.Inject;
+
+public class ListInstance
+{
+ @Inject @Any
+ Instance<List> instance;
+
+ public Instance<List> get()
+ {
+ return instance;
+ }
+
+}
Added: core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/producer/field/ListStringInstance.java
===================================================================
--- core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/producer/field/ListStringInstance.java (rev 0)
+++ core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/producer/field/ListStringInstance.java 2010-07-28 10:18:08 UTC (rev 6820)
@@ -0,0 +1,34 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2010, Red Hat, Inc., and individual contributors
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * http://www.apache.org/licenses/LICENSE-2.0
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.jboss.weld.tests.producer.field;
+
+import java.util.List;
+
+import javax.enterprise.inject.Any;
+import javax.enterprise.inject.Instance;
+import javax.inject.Inject;
+
+public class ListStringInstance
+{
+ @Inject @Any Instance<List<String>> instance;
+
+ public List<String> get()
+ {
+ return instance.get();
+ }
+
+}
Added: core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/producer/field/ParameterizedCollectionInjection.java
===================================================================
--- core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/producer/field/ParameterizedCollectionInjection.java (rev 0)
+++ core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/producer/field/ParameterizedCollectionInjection.java 2010-07-28 10:18:08 UTC (rev 6820)
@@ -0,0 +1,60 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2010, Red Hat, Inc., and individual contributors
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * http://www.apache.org/licenses/LICENSE-2.0
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.jboss.weld.tests.producer.field;
+
+import java.util.Collection;
+
+import javax.inject.Inject;
+
+public class ParameterizedCollectionInjection
+{
+
+ private Collection<String> value;
+
+ @Inject
+ private Collection<String> fieldInjection;
+
+ private Collection<String> setterInjection;
+
+ @Inject
+ public void init(Collection<String> setterInjection)
+ {
+ this.setterInjection = setterInjection;
+ }
+
+ @Inject
+ public ParameterizedCollectionInjection(Collection<String> com)
+ {
+ this.value = com;
+ }
+
+ public Collection<String> getValue()
+ {
+ return value;
+ }
+
+ public Collection<String> getFieldInjection()
+ {
+ return fieldInjection;
+ }
+
+ public Collection<String> getSetterInjection()
+ {
+ return setterInjection;
+ }
+
+}
Added: core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/producer/field/ParameterizedListInjection.java
===================================================================
--- core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/producer/field/ParameterizedListInjection.java (rev 0)
+++ core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/producer/field/ParameterizedListInjection.java 2010-07-28 10:18:08 UTC (rev 6820)
@@ -0,0 +1,60 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2010, Red Hat, Inc., and individual contributors
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * http://www.apache.org/licenses/LICENSE-2.0
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.jboss.weld.tests.producer.field;
+
+import java.util.List;
+
+import javax.inject.Inject;
+
+public class ParameterizedListInjection
+{
+
+ private List<String> value;
+
+ @Inject
+ private List<String> fieldInjection;
+
+ private List<String> setterInjection;
+
+ @Inject
+ public void init(List<String> setterInjection)
+ {
+ this.setterInjection = setterInjection;
+ }
+
+ @Inject
+ public ParameterizedListInjection(List<String> com)
+ {
+ this.value = com;
+ }
+
+ public java.util.List<String> getValue()
+ {
+ return value;
+ }
+
+ public List<String> getFieldInjection()
+ {
+ return fieldInjection;
+ }
+
+ public List<String> getSetterInjection()
+ {
+ return setterInjection;
+ }
+
+}
Added: core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/producer/field/ParameterizedProducer.java
===================================================================
--- core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/producer/field/ParameterizedProducer.java (rev 0)
+++ core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/producer/field/ParameterizedProducer.java 2010-07-28 10:18:08 UTC (rev 6820)
@@ -0,0 +1,42 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2010, Red Hat, Inc., and individual contributors
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * http://www.apache.org/licenses/LICENSE-2.0
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.jboss.weld.tests.producer.field;
+
+import java.util.ArrayList;
+import java.util.Arrays;
+import java.util.List;
+
+import javax.enterprise.inject.Produces;
+
+public class ParameterizedProducer
+{
+
+ @Produces
+ public List<String> createStringList()
+ {
+ return Arrays.asList("aaa", "bbb");
+ }
+
+ @Produces
+ public ArrayList<Integer> createIntegerList()
+ {
+ List<Integer> list = Arrays.asList(1, 2, 3, 4);
+ ArrayList<Integer> arrayList = new ArrayList<Integer>();
+ arrayList.addAll(list);
+ return arrayList;
+ }
+}
Added: core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/producer/field/ParameterizedProducerTest.java
===================================================================
--- core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/producer/field/ParameterizedProducerTest.java (rev 0)
+++ core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/producer/field/ParameterizedProducerTest.java 2010-07-28 10:18:08 UTC (rev 6820)
@@ -0,0 +1,87 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2010, Red Hat, Inc., and individual contributors
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * http://www.apache.org/licenses/LICENSE-2.0
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.jboss.weld.tests.producer.field;
+
+import java.util.Collection;
+import java.util.List;
+
+import org.jboss.arquillian.api.Deployment;
+import org.jboss.arquillian.junit.Arquillian;
+import org.jboss.shrinkwrap.api.Archive;
+import org.jboss.shrinkwrap.api.BeanArchive;
+import org.jboss.shrinkwrap.api.ShrinkWrap;
+import org.junit.Assert;
+import org.junit.Test;
+import org.junit.runner.RunWith;
+
+(a)RunWith(Arquillian.class)
+public class ParameterizedProducerTest
+{
+ @Deployment
+ public static Archive<?> deploy()
+ {
+ return ShrinkWrap.create(BeanArchive.class)
+ .addPackage(ParameterizedProducerTest.class.getPackage());
+ }
+
+ @Test
+ public void testParameterizedListInjection(Target target, ParameterizedListInjection item)
+ {
+ List<String> strings = target.getStringList();
+ Assert.assertEquals(2, strings.size());
+
+ Assert.assertEquals(2, item.getFieldInjection().size());
+ Assert.assertEquals(2, item.getValue().size());
+ Assert.assertEquals(2, item.getSetterInjection().size());
+
+ }
+
+ @Test
+ public void testParameterizedCollectionInjection(Target target, ParameterizedCollectionInjection item)
+ {
+ Collection<String> strings = target.getStrings();
+ Assert.assertEquals(2, strings.size());
+
+ Assert.assertEquals(2, item.getFieldInjection().size());
+ Assert.assertEquals(2, item.getValue().size());
+ Assert.assertEquals(2, item.getSetterInjection().size() );
+ }
+
+ @Test
+ public void testIntegerCollectionInjection(Target target, IntegerCollectionInjection item)
+ {
+ Collection<Integer> integers = target.getIntegers();
+ Assert.assertEquals(4, integers.size());
+
+ Assert.assertEquals(4, item.getFieldInjection().size());
+ Assert.assertEquals(4, item.getValue().size());
+ Assert.assertEquals(4, item.getSetterInjection().size());
+
+ }
+
+ @Test
+ public void testInstanceList(ListInstance listInstance)
+ {
+ Assert.assertTrue(listInstance.get().isAmbiguous());
+ }
+
+ @Test
+ public void testTypeParameterInstance(ListStringInstance listInstance)
+ {
+ Assert.assertEquals(2, listInstance.get().size());
+ }
+}
Added: core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/producer/field/ProducerBeanInvocationTest.java
===================================================================
--- core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/producer/field/ProducerBeanInvocationTest.java (rev 0)
+++ core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/producer/field/ProducerBeanInvocationTest.java 2010-07-28 10:18:08 UTC (rev 6820)
@@ -0,0 +1,56 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2008, Red Hat, Inc. and/or its affiliates, and individual contributors
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * http://www.apache.org/licenses/LICENSE-2.0
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.jboss.weld.tests.producer.field;
+
+import org.jboss.arquillian.api.Deployment;
+import org.jboss.arquillian.junit.Arquillian;
+import org.jboss.shrinkwrap.api.Archive;
+import org.jboss.shrinkwrap.api.BeanArchive;
+import org.jboss.shrinkwrap.api.ShrinkWrap;
+import org.junit.Assert;
+import org.junit.Test;
+import org.junit.runner.RunWith;
+
+/**
+ * Simple test which invokes a method directly on a normal scoped producer
+ * bean to ensure that it's proxy is for that bean and not the product
+ * of a producer method.
+ *
+ * @author David Allen
+ *
+ */
+(a)RunWith(Arquillian.class)
+public class ProducerBeanInvocationTest
+{
+ @Deployment
+ public static Archive<?> deploy()
+ {
+ return ShrinkWrap.create(BeanArchive.class)
+ .addPackage(ProducerBeanInvocationTest.class.getPackage());
+ }
+
+ /*
+ * description = "WELD-546"
+ */
+ @Test
+ public void test(Qux bar, QuxProducer producer, @Baz Qux bazBar)
+ {
+ Assert.assertEquals("qux", bar.getBar());
+ Assert.assertTrue(producer.ping());
+ Assert.assertEquals("baz", bazBar.getBar());
+ }
+}
Added: core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/producer/field/Qux.java
===================================================================
--- core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/producer/field/Qux.java (rev 0)
+++ core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/producer/field/Qux.java 2010-07-28 10:18:08 UTC (rev 6820)
@@ -0,0 +1,26 @@
+package org.jboss.weld.tests.producer.field;
+
+import javax.enterprise.context.RequestScoped;
+
+@RequestScoped
+public class Qux
+{
+
+ private final String name;
+
+ public Qux(String name)
+ {
+ this.name = name;
+ }
+
+ public Qux()
+ {
+ this("qux");
+ }
+
+ public String getBar()
+ {
+ return name;
+ }
+
+}
Added: core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/producer/field/QuxProducer.java
===================================================================
--- core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/producer/field/QuxProducer.java (rev 0)
+++ core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/producer/field/QuxProducer.java 2010-07-28 10:18:08 UTC (rev 6820)
@@ -0,0 +1,18 @@
+package org.jboss.weld.tests.producer.field;
+
+import javax.enterprise.context.RequestScoped;
+import javax.enterprise.inject.Produces;
+
+@RequestScoped
+public class QuxProducer
+{
+
+ @Produces @Baz @RequestScoped
+ private Qux bar = new Qux("baz");
+
+ public boolean ping()
+ {
+ return true;
+ };
+
+}
Added: core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/producer/field/Target.java
===================================================================
--- core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/producer/field/Target.java (rev 0)
+++ core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/producer/field/Target.java 2010-07-28 10:18:08 UTC (rev 6820)
@@ -0,0 +1,48 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2010, Red Hat, Inc., and individual contributors
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * http://www.apache.org/licenses/LICENSE-2.0
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.jboss.weld.tests.producer.field;
+
+import java.util.Collection;
+import java.util.List;
+
+import javax.inject.Inject;
+
+public class Target
+{
+
+ @Inject private Collection<String> strings;
+
+ @Inject private Collection<Integer> integers;
+
+ @Inject private List<String> stringList;
+
+ public Collection<String> getStrings()
+ {
+ return strings;
+ }
+
+ public Collection<Integer> getIntegers()
+ {
+ return integers;
+ }
+
+ public List<String> getStringList()
+ {
+ return stringList;
+ }
+
+}
Added: core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/producer/method/Bar.java
===================================================================
--- core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/producer/method/Bar.java (rev 0)
+++ core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/producer/method/Bar.java 2010-07-28 10:18:08 UTC (rev 6820)
@@ -0,0 +1,26 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2010, Red Hat, Inc., and individual contributors
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * http://www.apache.org/licenses/LICENSE-2.0
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.jboss.weld.tests.producer.method;
+
+public class Bar
+{
+
+ public Bar(String blah)
+ {
+
+ }
+}
Added: core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/producer/method/BarConsumer.java
===================================================================
--- core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/producer/method/BarConsumer.java (rev 0)
+++ core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/producer/method/BarConsumer.java 2010-07-28 10:18:08 UTC (rev 6820)
@@ -0,0 +1,32 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2010, Red Hat, Inc., and individual contributors
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * http://www.apache.org/licenses/LICENSE-2.0
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.jboss.weld.tests.producer.method;
+
+import javax.enterprise.context.RequestScoped;
+import javax.inject.Inject;
+
+@RequestScoped
+public class BarConsumer
+{
+ @Inject
+ private Bar bar;
+
+ public Bar getBar()
+ {
+ return bar;
+ }
+}
Added: core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/producer/method/BarProducer.java
===================================================================
--- core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/producer/method/BarProducer.java (rev 0)
+++ core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/producer/method/BarProducer.java 2010-07-28 10:18:08 UTC (rev 6820)
@@ -0,0 +1,74 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2010, Red Hat, Inc., and individual contributors
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * http://www.apache.org/licenses/LICENSE-2.0
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.jboss.weld.tests.producer.method;
+
+import java.lang.reflect.Member;
+
+import javax.enterprise.inject.Any;
+import javax.enterprise.inject.Default;
+import javax.enterprise.inject.Disposes;
+import javax.enterprise.inject.Produces;
+import javax.enterprise.inject.spi.InjectionPoint;
+
+/**
+ * Class with a producer method and disposal method both containing InjectionPoint
+ * parameters.
+ *
+ * @author David Allen
+ *
+ */
+public class BarProducer
+{
+ private static Bar disposedBar;
+ private static Member disposedInjection;
+ private static Member producedInjection;
+
+ @Produces
+ public Bar getBar(InjectionPoint injectionPoint)
+ {
+ producedInjection = injectionPoint.getMember();
+ return new Bar("blah");
+ }
+
+ public void dispose(@Disposes @Any Bar bar, InjectionPoint injectionPoint)
+ {
+ disposedBar = bar;
+ disposedInjection = injectionPoint.getMember();
+ }
+
+ public static Bar getDisposedBar()
+ {
+ return disposedBar;
+ }
+
+ public static Member getDisposedInjection()
+ {
+ return disposedInjection;
+ }
+
+ public static Member getProducedInjection()
+ {
+ return producedInjection;
+ }
+
+ public static void reset()
+ {
+ disposedBar = null;
+ disposedInjection = null;
+ producedInjection = null;
+ }
+}
Added: core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/producer/method/Baz.java
===================================================================
--- core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/producer/method/Baz.java (rev 0)
+++ core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/producer/method/Baz.java 2010-07-28 10:18:08 UTC (rev 6820)
@@ -0,0 +1,13 @@
+package org.jboss.weld.tests.producer.method;
+
+import java.lang.annotation.Retention;
+import java.lang.annotation.RetentionPolicy;
+
+import javax.inject.Qualifier;
+
+(a)Retention(RetentionPolicy.RUNTIME)
+@Qualifier
+public @interface Baz
+{
+
+}
Added: core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/producer/method/Car.java
===================================================================
--- core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/producer/method/Car.java (rev 0)
+++ core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/producer/method/Car.java 2010-07-28 10:18:08 UTC (rev 6820)
@@ -0,0 +1,26 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2010, Red Hat, Inc., and individual contributors
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * http://www.apache.org/licenses/LICENSE-2.0
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.jboss.weld.tests.producer.method;
+
+import java.io.Serializable;
+
+public class Car implements Serializable
+{
+
+ private static final long serialVersionUID = 1L;
+
+}
Added: core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/producer/method/CarFactory.java
===================================================================
--- core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/producer/method/CarFactory.java (rev 0)
+++ core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/producer/method/CarFactory.java 2010-07-28 10:18:08 UTC (rev 6820)
@@ -0,0 +1,30 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2010, Red Hat, Inc., and individual contributors
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * http://www.apache.org/licenses/LICENSE-2.0
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.jboss.weld.tests.producer.method;
+
+import javax.enterprise.inject.Produces;
+
+public class CarFactory
+{
+
+ @Produces @Important
+ public Car produceGovernmentCar()
+ {
+ return null;
+ }
+
+}
Added: core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/producer/method/DisposalMethodInjectionPointTest.java
===================================================================
--- core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/producer/method/DisposalMethodInjectionPointTest.java (rev 0)
+++ core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/producer/method/DisposalMethodInjectionPointTest.java 2010-07-28 10:18:08 UTC (rev 6820)
@@ -0,0 +1,67 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2010, Red Hat, Inc., and individual contributors
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * http://www.apache.org/licenses/LICENSE-2.0
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.jboss.weld.tests.producer.method;
+
+import javax.enterprise.context.spi.CreationalContext;
+import javax.enterprise.inject.spi.Bean;
+import javax.inject.Inject;
+
+import org.jboss.arquillian.api.Deployment;
+import org.jboss.arquillian.junit.Arquillian;
+import org.jboss.shrinkwrap.api.Archive;
+import org.jboss.shrinkwrap.api.BeanArchive;
+import org.jboss.shrinkwrap.api.ShrinkWrap;
+import org.jboss.weld.manager.BeanManagerImpl;
+import org.jboss.weld.test.Utils;
+import org.jboss.weld.tests.category.Broken;
+import org.junit.Assert;
+import org.junit.Test;
+import org.junit.experimental.categories.Category;
+import org.junit.runner.RunWith;
+
+(a)RunWith(Arquillian.class)
+public class DisposalMethodInjectionPointTest
+{
+ @Deployment
+ public static Archive<?> deploy()
+ {
+ return ShrinkWrap.create(BeanArchive.class)
+ .addPackage(DisposalMethodInjectionPointTest.class.getPackage())
+ .addClass(Utils.class);
+ }
+
+ @Inject
+ private BeanManagerImpl beanManager;
+
+ /*
+ * description = "WELD-358"
+ */
+ @Test
+ @Category(Broken.class)
+ public void test()
+ {
+ BarProducer.reset();
+ Bean<BarConsumer> barConsumerBean = Utils.getBean(beanManager, BarConsumer.class);
+ CreationalContext<BarConsumer> ctx = beanManager.createCreationalContext(barConsumerBean);
+ BarConsumer barConsumer = barConsumerBean.create(ctx);
+ Assert.assertEquals("bar", BarProducer.getProducedInjection().getName());
+ Bar bar = barConsumer.getBar();
+ barConsumerBean.destroy(barConsumer, ctx);
+ Assert.assertEquals(bar, BarProducer.getDisposedBar());
+ Assert.assertEquals("bar", BarProducer.getDisposedInjection().getName());
+ }
+}
Added: core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/producer/method/DisposalMethodOnOtherBeanNotResolvedTest.java
===================================================================
--- core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/producer/method/DisposalMethodOnOtherBeanNotResolvedTest.java (rev 0)
+++ core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/producer/method/DisposalMethodOnOtherBeanNotResolvedTest.java 2010-07-28 10:18:08 UTC (rev 6820)
@@ -0,0 +1,62 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2010, Red Hat, Inc., and individual contributors
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * http://www.apache.org/licenses/LICENSE-2.0
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.jboss.weld.tests.producer.method;
+
+import javax.enterprise.context.spi.CreationalContext;
+import javax.enterprise.inject.spi.Bean;
+import javax.inject.Inject;
+
+import org.jboss.arquillian.api.Deployment;
+import org.jboss.arquillian.junit.Arquillian;
+import org.jboss.shrinkwrap.api.Archive;
+import org.jboss.shrinkwrap.api.BeanArchive;
+import org.jboss.shrinkwrap.api.ShrinkWrap;
+import org.jboss.weld.manager.BeanManagerImpl;
+import org.jboss.weld.test.Utils;
+import org.junit.Assert;
+import org.junit.Test;
+import org.junit.runner.RunWith;
+
+(a)RunWith(Arquillian.class)
+public class DisposalMethodOnOtherBeanNotResolvedTest
+{
+ @Deployment
+ public static Archive<?> deploy()
+ {
+ return ShrinkWrap.create(BeanArchive.class)
+ .addPackage(DisposalMethodOnOtherBeanNotResolvedTest.class.getPackage())
+ .addClass(Utils.class);
+ }
+
+ @Inject
+ private BeanManagerImpl beanManager;
+
+ @Test
+ public void test()
+ {
+ FooDisposer.reset();
+ FooProducer.reset();
+ Bean<Foo> bean = Utils.getBean(beanManager, Foo.class);
+ CreationalContext<Foo> ctx = beanManager.createCreationalContext(bean);
+ Foo instance = bean.create(ctx);
+ Assert.assertEquals("foo!", instance.getBlah());
+ bean.destroy(instance, ctx);
+ Assert.assertFalse(FooDisposer.isDisposed());
+ Assert.assertTrue(FooProducer.isDisposed());
+ }
+
+}
Added: core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/producer/method/Foo.java
===================================================================
--- core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/producer/method/Foo.java (rev 0)
+++ core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/producer/method/Foo.java 2010-07-28 10:18:08 UTC (rev 6820)
@@ -0,0 +1,41 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2010, Red Hat, Inc., and individual contributors
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * http://www.apache.org/licenses/LICENSE-2.0
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.jboss.weld.tests.producer.method;
+
+/**
+ * @author pmuir
+ *
+ */
+public class Foo
+{
+
+ private final String blah;
+
+ public Foo(String blah)
+ {
+ this.blah = blah;
+ }
+
+ /**
+ * @return the blah
+ */
+ public String getBlah()
+ {
+ return blah;
+ }
+
+}
Added: core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/producer/method/FooDisposer.java
===================================================================
--- core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/producer/method/FooDisposer.java (rev 0)
+++ core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/producer/method/FooDisposer.java 2010-07-28 10:18:08 UTC (rev 6820)
@@ -0,0 +1,56 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2010, Red Hat, Inc., and individual contributors
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * http://www.apache.org/licenses/LICENSE-2.0
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.jboss.weld.tests.producer.method;
+
+import javax.enterprise.inject.Any;
+import javax.enterprise.inject.Disposes;
+import javax.enterprise.inject.Produces;
+
+/**
+ * @author pmuir
+ *
+ */
+public class FooDisposer
+{
+
+ private static boolean disposed;
+
+ public static void reset()
+ {
+ disposed = false;
+ }
+
+ void disposeFoo(@Disposes @Any Foo foo)
+ {
+ disposed = true;
+ }
+
+ /**
+ * @return the disposed
+ */
+ public static boolean isDisposed()
+ {
+ return disposed;
+ }
+
+ @Produces @Important
+ public Foo getFoo()
+ {
+ return new Foo("bar!");
+ }
+
+}
Added: core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/producer/method/FooProducer.java
===================================================================
--- core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/producer/method/FooProducer.java (rev 0)
+++ core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/producer/method/FooProducer.java 2010-07-28 10:18:08 UTC (rev 6820)
@@ -0,0 +1,54 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2010, Red Hat, Inc., and individual contributors
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * http://www.apache.org/licenses/LICENSE-2.0
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.jboss.weld.tests.producer.method;
+
+import javax.enterprise.inject.Disposes;
+import javax.enterprise.inject.Produces;
+
+/**
+ * @author pmuir
+ *
+ */
+public class FooProducer
+{
+
+ @Produces Foo getFoo()
+ {
+ return new Foo("foo!");
+ }
+
+ private static boolean disposed;
+
+ public static void reset()
+ {
+ disposed = false;
+ }
+
+ public void disposeFoo(@Disposes Foo foo)
+ {
+ disposed = true;
+ }
+
+ /**
+ * @return the disposed
+ */
+ public static boolean isDisposed()
+ {
+ return disposed;
+ }
+
+}
Added: core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/producer/method/Government.java
===================================================================
--- core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/producer/method/Government.java (rev 0)
+++ core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/producer/method/Government.java 2010-07-28 10:18:08 UTC (rev 6820)
@@ -0,0 +1,37 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2010, Red Hat, Inc., and individual contributors
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * http://www.apache.org/licenses/LICENSE-2.0
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.jboss.weld.tests.producer.method;
+
+import java.io.Serializable;
+
+import javax.enterprise.context.SessionScoped;
+
+@SessionScoped
+public class Government implements Serializable
+{
+
+ private static final long serialVersionUID = 1L;
+
+ @Important Car governmentCar;
+
+ public void destabilize()
+ {
+
+ }
+
+
+}
Added: core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/producer/method/Important.java
===================================================================
--- core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/producer/method/Important.java (rev 0)
+++ core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/producer/method/Important.java 2010-07-28 10:18:08 UTC (rev 6820)
@@ -0,0 +1,41 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2010, Red Hat, Inc., and individual contributors
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * http://www.apache.org/licenses/LICENSE-2.0
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.jboss.weld.tests.producer.method;
+
+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.Inherited;
+import java.lang.annotation.Retention;
+import java.lang.annotation.Target;
+
+import javax.inject.Qualifier;
+
+/**
+ * @author Dan Allen
+ */
+@Target( { TYPE, METHOD, PARAMETER, FIELD })
+@Retention(RUNTIME)
+@Documented
+@Qualifier
+@Inherited
+public @interface Important {
+}
Added: core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/producer/method/IntInjection.java
===================================================================
--- core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/producer/method/IntInjection.java (rev 0)
+++ core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/producer/method/IntInjection.java 2010-07-28 10:18:08 UTC (rev 6820)
@@ -0,0 +1,31 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2010, Red Hat, Inc., and individual contributors
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * http://www.apache.org/licenses/LICENSE-2.0
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.jboss.weld.tests.producer.method;
+
+import javax.inject.Inject;
+
+public class IntInjection
+{
+
+ int value;
+
+ @Inject public IntInjection(Integer integer)
+ {
+ this.value = integer;
+ }
+
+}
Added: core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/producer/method/JmsTemplate.java
===================================================================
--- core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/producer/method/JmsTemplate.java (rev 0)
+++ core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/producer/method/JmsTemplate.java 2010-07-28 10:18:08 UTC (rev 6820)
@@ -0,0 +1,34 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2010, Red Hat, Inc., and individual contributors
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * http://www.apache.org/licenses/LICENSE-2.0
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.jboss.weld.tests.producer.method;
+
+public class JmsTemplate
+{
+
+ private final int receiveTimeout;
+
+ public JmsTemplate(int receiveTimeout)
+ {
+ this.receiveTimeout = receiveTimeout;
+ }
+
+ public int getReceiveTimeout()
+ {
+ return receiveTimeout;
+ }
+
+}
Added: core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/producer/method/JmsTemplateConfigurationProducer.java
===================================================================
--- core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/producer/method/JmsTemplateConfigurationProducer.java (rev 0)
+++ core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/producer/method/JmsTemplateConfigurationProducer.java 2010-07-28 10:18:08 UTC (rev 6820)
@@ -0,0 +1,47 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2010, Red Hat, Inc., and individual contributors
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * http://www.apache.org/licenses/LICENSE-2.0
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.jboss.weld.tests.producer.method;
+
+import javax.enterprise.inject.Produces;
+import javax.inject.Named;
+
+public class JmsTemplateConfigurationProducer
+{
+
+ public static final int LONG_RECEIVE_TIMEOUT = 3 * 3600;
+ public static final int SHORT_RECEIVE_TIMEOUT = 100;
+
+ @Produces @Long
+ private int longReceiveTimeout = LONG_RECEIVE_TIMEOUT;
+
+ @Produces @Short
+ private int shortReceiveTimeout = SHORT_RECEIVE_TIMEOUT;
+
+ @Produces
+ @Named
+ public JmsTemplate getErrorQueueTemplate(@Long int receiveTimeout)
+ {
+ return new JmsTemplate(receiveTimeout);
+ }
+
+ @Produces
+ @Named
+ public JmsTemplate getLogQueueTemplate(@Short int receiveTimeout)
+ {
+ return new JmsTemplate(receiveTimeout);
+ }
+}
\ No newline at end of file
Added: core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/producer/method/Long.java
===================================================================
--- core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/producer/method/Long.java (rev 0)
+++ core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/producer/method/Long.java 2010-07-28 10:18:08 UTC (rev 6820)
@@ -0,0 +1,41 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2010, Red Hat, Inc., and individual contributors
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * http://www.apache.org/licenses/LICENSE-2.0
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.jboss.weld.tests.producer.method;
+
+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.Inherited;
+import java.lang.annotation.Retention;
+import java.lang.annotation.Target;
+
+import javax.inject.Qualifier;
+
+/**
+ * @author Dan Allen
+ */
+@Target( { TYPE, METHOD, PARAMETER, FIELD })
+@Retention(RUNTIME)
+@Documented
+@Qualifier
+@Inherited
+public @interface Long {
+}
Added: core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/producer/method/ManagerProducer.java
===================================================================
--- core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/producer/method/ManagerProducer.java (rev 0)
+++ core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/producer/method/ManagerProducer.java 2010-07-28 10:18:08 UTC (rev 6820)
@@ -0,0 +1,48 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2010, Red Hat, Inc., and individual contributors
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * http://www.apache.org/licenses/LICENSE-2.0
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.jboss.weld.tests.producer.method;
+
+import javax.enterprise.inject.Produces;
+import javax.enterprise.inject.spi.BeanManager;
+import javax.enterprise.inject.spi.InjectionPoint;
+import javax.inject.Inject;
+
+class ManagerProducer
+{
+
+ @Inject BeanManager beanManager;
+
+ private static boolean injectionPointInjected;
+
+ public static boolean isInjectionPointInjected()
+ {
+ return injectionPointInjected;
+ }
+
+ public static void setInjectionPointInjected(boolean injectionPointInjected)
+ {
+ ManagerProducer.injectionPointInjected = injectionPointInjected;
+ }
+
+ @Produces
+ Integer create(InjectionPoint point)
+ {
+ injectionPointInjected = point != null;
+ return 10;
+ }
+
+}
Added: core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/producer/method/ManagerProducerTest.java
===================================================================
--- core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/producer/method/ManagerProducerTest.java (rev 0)
+++ core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/producer/method/ManagerProducerTest.java 2010-07-28 10:18:08 UTC (rev 6820)
@@ -0,0 +1,57 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2010, Red Hat, Inc., and individual contributors
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * http://www.apache.org/licenses/LICENSE-2.0
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.jboss.weld.tests.producer.method;
+
+import javax.inject.Inject;
+
+import org.jboss.arquillian.api.Deployment;
+import org.jboss.arquillian.junit.Arquillian;
+import org.jboss.shrinkwrap.api.Archive;
+import org.jboss.shrinkwrap.api.BeanArchive;
+import org.jboss.shrinkwrap.api.ShrinkWrap;
+import org.jboss.weld.manager.BeanManagerImpl;
+import org.jboss.weld.test.Utils;
+import org.junit.Assert;
+import org.junit.Test;
+import org.junit.runner.RunWith;
+
+(a)RunWith(Arquillian.class)
+public class ManagerProducerTest
+{
+ @Deployment
+ public static Archive<?> deploy()
+ {
+ return ShrinkWrap.create(BeanArchive.class)
+ .addPackage(ManagerProducerTest.class.getPackage())
+ .addClass(Utils.class);
+ }
+
+ @Inject
+ private BeanManagerImpl beanManager;
+
+ /*
+ * description = "WBRI-183"
+ */
+ @Test
+ public void testInjectManagerProducer()
+ {
+ ManagerProducer.setInjectionPointInjected(false);
+ Utils.getReference(beanManager, IntInjection.class);
+ Assert.assertTrue(ManagerProducer.isInjectionPointInjected());
+ }
+
+}
Added: core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/producer/method/NamedProducer.java
===================================================================
--- core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/producer/method/NamedProducer.java (rev 0)
+++ core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/producer/method/NamedProducer.java 2010-07-28 10:18:08 UTC (rev 6820)
@@ -0,0 +1,37 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2010, Red Hat, Inc., and individual contributors
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * http://www.apache.org/licenses/LICENSE-2.0
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.jboss.weld.tests.producer.method;
+
+import javax.enterprise.inject.Produces;
+import javax.inject.Named;
+
+public class NamedProducer
+{
+ @Named("itoen")
+ @Produces
+ public String[] createName()
+ {
+ return new String[] { "oh", "otya" };
+ }
+
+ @Named("iemon")
+ @Produces
+ public String[] createName2()
+ {
+ return new String[] { "fukujyuen", "iemon", "otya" };
+ }
+}
Added: core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/producer/method/NamedProducerTest.java
===================================================================
--- core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/producer/method/NamedProducerTest.java (rev 0)
+++ core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/producer/method/NamedProducerTest.java 2010-07-28 10:18:08 UTC (rev 6820)
@@ -0,0 +1,76 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2010, Red Hat, Inc., and individual contributors
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * http://www.apache.org/licenses/LICENSE-2.0
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.jboss.weld.tests.producer.method;
+
+import java.util.ArrayList;
+import java.util.Arrays;
+import java.util.List;
+import java.util.Set;
+
+import javax.enterprise.inject.spi.Bean;
+import javax.inject.Inject;
+
+import org.jboss.arquillian.api.Deployment;
+import org.jboss.arquillian.junit.Arquillian;
+import org.jboss.shrinkwrap.api.Archive;
+import org.jboss.shrinkwrap.api.BeanArchive;
+import org.jboss.shrinkwrap.api.ShrinkWrap;
+import org.jboss.weld.manager.BeanManagerImpl;
+import org.jboss.weld.test.Utils;
+import org.junit.Assert;
+import org.junit.Test;
+import org.junit.runner.RunWith;
+
+(a)RunWith(Arquillian.class)
+public class NamedProducerTest
+{
+ @Deployment
+ public static Archive<?> deploy()
+ {
+ return ShrinkWrap.create(BeanArchive.class)
+ .addPackage(NamedProducerTest.class.getPackage())
+ .addClass(Utils.class);
+ }
+
+ @Inject
+ private BeanManagerImpl beanManager;
+
+ @Test
+ public void testNamedProducer()
+ {
+ Bean<?> iemonBean = beanManager.resolve(beanManager.getBeans("iemon"));
+ String[] iemon = (String[]) beanManager.getReference(iemonBean, Object.class, beanManager.createCreationalContext(iemonBean));
+ Assert.assertEquals(3, iemon.length);
+ Bean<?> itoenBean = beanManager.resolve(beanManager.getBeans("itoen"));
+ String[] itoen = (String[]) beanManager.getReference(itoenBean, Object.class, beanManager.createCreationalContext(itoenBean));
+ Assert.assertEquals(2, itoen.length);
+ }
+
+ @Test
+ public void testDefaultNamedProducerMethod()
+ {
+ Set<Bean<?>> beans = beanManager.getBeans(JmsTemplate.class);
+ Assert.assertEquals(2, beans.size());
+ List<String> beanNames = new ArrayList<String>(Arrays.asList("errorQueueTemplate", "logQueueTemplate"));
+ for (Bean<?> b : beans)
+ {
+ beanNames.remove(b.getName());
+ }
+ Assert.assertTrue(beanNames.isEmpty());
+ }
+
+}
Added: core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/producer/method/NamedProducerWithBinding.java
===================================================================
--- core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/producer/method/NamedProducerWithBinding.java (rev 0)
+++ core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/producer/method/NamedProducerWithBinding.java 2010-07-28 10:18:08 UTC (rev 6820)
@@ -0,0 +1,31 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2010, Red Hat, Inc., and individual contributors
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * http://www.apache.org/licenses/LICENSE-2.0
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.jboss.weld.tests.producer.method;
+
+import java.util.Date;
+
+import javax.enterprise.inject.Produces;
+import javax.inject.Named;
+
+/**
+ * @author Dan Allen
+ */
+public class NamedProducerWithBinding {
+ public @Produces @Important @Named Date getDate() {
+ return new Date();
+ }
+}
Added: core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/producer/method/NamedProducerWithBindingTest.java
===================================================================
--- core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/producer/method/NamedProducerWithBindingTest.java (rev 0)
+++ core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/producer/method/NamedProducerWithBindingTest.java 2010-07-28 10:18:08 UTC (rev 6820)
@@ -0,0 +1,59 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2010, Red Hat, Inc., and individual contributors
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * http://www.apache.org/licenses/LICENSE-2.0
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.jboss.weld.tests.producer.method;
+
+import java.util.Date;
+
+import javax.enterprise.inject.spi.Bean;
+import javax.inject.Inject;
+
+import org.jboss.arquillian.api.Deployment;
+import org.jboss.arquillian.junit.Arquillian;
+import org.jboss.shrinkwrap.api.Archive;
+import org.jboss.shrinkwrap.api.BeanArchive;
+import org.jboss.shrinkwrap.api.ShrinkWrap;
+import org.jboss.weld.manager.BeanManagerImpl;
+import org.jboss.weld.test.Utils;
+import org.junit.Assert;
+import org.junit.Test;
+import org.junit.runner.RunWith;
+
+/**
+ * @author Dan Allen
+ */
+(a)RunWith(Arquillian.class)
+public class NamedProducerWithBindingTest
+{
+ @Deployment
+ public static Archive<?> deploy()
+ {
+ return ShrinkWrap.create(BeanArchive.class)
+ .addPackage(NamedProducerWithBindingTest.class.getPackage())
+ .addClass(Utils.class);
+ }
+
+ @Inject
+ private BeanManagerImpl beanManager;
+
+ @Test
+ public void testGetNamedProducerWithBinding()
+ {
+ Bean<?> bean = beanManager.resolve(beanManager.getBeans("date"));
+ Date date = (Date) beanManager.getReference(bean, Object.class, beanManager.createCreationalContext(bean));
+ Assert.assertNotNull(date);
+ }
+}
Added: core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/producer/method/NullProducerTest.java
===================================================================
--- core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/producer/method/NullProducerTest.java (rev 0)
+++ core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/producer/method/NullProducerTest.java 2010-07-28 10:18:08 UTC (rev 6820)
@@ -0,0 +1,48 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2010, Red Hat, Inc., and individual contributors
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * http://www.apache.org/licenses/LICENSE-2.0
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.jboss.weld.tests.producer.method;
+
+import org.jboss.arquillian.api.Deployment;
+import org.jboss.arquillian.junit.Arquillian;
+import org.jboss.shrinkwrap.api.Archive;
+import org.jboss.shrinkwrap.api.BeanArchive;
+import org.jboss.shrinkwrap.api.ShrinkWrap;
+import org.jboss.weld.test.Utils;
+import org.junit.Test;
+import org.junit.runner.RunWith;
+
+(a)RunWith(Arquillian.class)
+public class NullProducerTest
+{
+ @Deployment
+ public static Archive<?> deploy()
+ {
+ return ShrinkWrap.create(BeanArchive.class)
+ .addPackage(NullProducerTest.class.getPackage())
+ .addClass(Utils.class);
+ }
+
+ /*
+ * description = "WBRI-276"
+ */
+ @Test
+ public void testProducerMethodReturnsNull(Government government)
+ {
+ government.destabilize();
+ }
+
+}
Added: core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/producer/method/ProducerBeanInvocationTest.java
===================================================================
--- core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/producer/method/ProducerBeanInvocationTest.java (rev 0)
+++ core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/producer/method/ProducerBeanInvocationTest.java 2010-07-28 10:18:08 UTC (rev 6820)
@@ -0,0 +1,56 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2008, Red Hat, Inc. and/or its affiliates, and individual contributors
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * http://www.apache.org/licenses/LICENSE-2.0
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.jboss.weld.tests.producer.method;
+
+import org.jboss.arquillian.api.Deployment;
+import org.jboss.arquillian.junit.Arquillian;
+import org.jboss.shrinkwrap.api.Archive;
+import org.jboss.shrinkwrap.api.BeanArchive;
+import org.jboss.shrinkwrap.api.ShrinkWrap;
+import org.junit.Assert;
+import org.junit.Test;
+import org.junit.runner.RunWith;
+
+/**
+ * Simple test which invokes a method directly on a normal scoped producer
+ * bean to ensure that it's proxy is for that bean and not the product
+ * of a producer method.
+ *
+ * @author David Allen
+ *
+ */
+(a)RunWith(Arquillian.class)
+public class ProducerBeanInvocationTest
+{
+ @Deployment
+ public static Archive<?> deploy()
+ {
+ return ShrinkWrap.create(BeanArchive.class)
+ .addPackage(ProducerBeanInvocationTest.class.getPackage());
+ }
+
+ /*
+ * description = "WELD-546"
+ */
+ @Test
+ public void test(Qux bar, QuxProducer producer, @Baz Qux bazBar)
+ {
+ Assert.assertEquals("qux", bar.getBar());
+ Assert.assertTrue(producer.ping());
+ Assert.assertEquals("baz", bazBar.getBar());
+ }
+}
Added: core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/producer/method/Qux.java
===================================================================
--- core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/producer/method/Qux.java (rev 0)
+++ core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/producer/method/Qux.java 2010-07-28 10:18:08 UTC (rev 6820)
@@ -0,0 +1,26 @@
+package org.jboss.weld.tests.producer.method;
+
+import javax.enterprise.context.RequestScoped;
+
+@RequestScoped
+public class Qux
+{
+
+ private final String name;
+
+ public Qux(String name)
+ {
+ this.name = name;
+ }
+
+ public Qux()
+ {
+ this("qux");
+ }
+
+ public String getBar()
+ {
+ return name;
+ }
+
+}
Added: core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/producer/method/QuxProducer.java
===================================================================
--- core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/producer/method/QuxProducer.java (rev 0)
+++ core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/producer/method/QuxProducer.java 2010-07-28 10:18:08 UTC (rev 6820)
@@ -0,0 +1,21 @@
+package org.jboss.weld.tests.producer.method;
+
+import javax.enterprise.context.RequestScoped;
+import javax.enterprise.inject.Produces;
+
+@RequestScoped
+public class QuxProducer
+{
+
+ @Produces @Baz @RequestScoped
+ public Qux getQux()
+ {
+ return new Qux("baz");
+ }
+
+ public boolean ping()
+ {
+ return true;
+ };
+
+}
Added: core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/producer/method/Short.java
===================================================================
--- core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/producer/method/Short.java (rev 0)
+++ core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/producer/method/Short.java 2010-07-28 10:18:08 UTC (rev 6820)
@@ -0,0 +1,41 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2010, Red Hat, Inc., and individual contributors
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * http://www.apache.org/licenses/LICENSE-2.0
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.jboss.weld.tests.producer.method;
+
+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.Inherited;
+import java.lang.annotation.Retention;
+import java.lang.annotation.Target;
+
+import javax.inject.Qualifier;
+
+/**
+ * @author Dan Allen
+ */
+@Target( { TYPE, METHOD, PARAMETER, FIELD })
+@Retention(RUNTIME)
+@Documented
+@Qualifier
+@Inherited
+public @interface Short {
+}
Added: core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/producer/method/circular/Bar.java
===================================================================
--- core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/producer/method/circular/Bar.java (rev 0)
+++ core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/producer/method/circular/Bar.java 2010-07-28 10:18:08 UTC (rev 6820)
@@ -0,0 +1,27 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2010, Red Hat, Inc., and individual contributors
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * http://www.apache.org/licenses/LICENSE-2.0
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.jboss.weld.tests.producer.method.circular;
+
+import javax.enterprise.inject.Produces;
+import javax.inject.Inject;
+
+class Bar {
+
+ @Inject void injectFoo(Foo foo) {}
+ @Produces Foo produceFoo() { return new Foo() {}; }
+
+}
\ No newline at end of file
Added: core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/producer/method/circular/CircularInjectionTest.java
===================================================================
--- core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/producer/method/circular/CircularInjectionTest.java (rev 0)
+++ core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/producer/method/circular/CircularInjectionTest.java 2010-07-28 10:18:08 UTC (rev 6820)
@@ -0,0 +1,46 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2010, Red Hat, Inc., and individual contributors
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * http://www.apache.org/licenses/LICENSE-2.0
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.jboss.weld.tests.producer.method.circular;
+
+import org.jboss.arquillian.api.Deployment;
+import org.jboss.arquillian.junit.Arquillian;
+import org.jboss.shrinkwrap.api.Archive;
+import org.jboss.shrinkwrap.api.BeanArchive;
+import org.jboss.shrinkwrap.api.ShrinkWrap;
+import org.junit.Test;
+import org.junit.runner.RunWith;
+
+(a)RunWith(Arquillian.class)
+public class CircularInjectionTest
+{
+ @Deployment
+ public static Archive<?> deploy()
+ {
+ return ShrinkWrap.create(BeanArchive.class)
+ .addPackage(CircularInjectionTest.class.getPackage());
+ }
+
+ /*
+ * description = "WELD-310"
+ */
+ @Test
+ public void testProducerCalledOnBeanUnderConstruction()
+ {
+
+ }
+
+}
Added: core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/producer/method/circular/Foo.java
===================================================================
--- core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/producer/method/circular/Foo.java (rev 0)
+++ core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/producer/method/circular/Foo.java 2010-07-28 10:18:08 UTC (rev 6820)
@@ -0,0 +1,24 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2010, Red Hat, Inc., and individual contributors
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * http://www.apache.org/licenses/LICENSE-2.0
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.jboss.weld.tests.producer.method.circular;
+
+public abstract class Foo
+{
+
+
+
+}
Added: core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/producer/method/parameterized/Parameterized.java
===================================================================
--- core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/producer/method/parameterized/Parameterized.java (rev 0)
+++ core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/producer/method/parameterized/Parameterized.java 2010-07-28 10:18:08 UTC (rev 6820)
@@ -0,0 +1,35 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2010, Red Hat, Inc., and individual contributors
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * http://www.apache.org/licenses/LICENSE-2.0
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.jboss.weld.tests.producer.method.parameterized;
+
+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.Retention;
+import java.lang.annotation.Target;
+
+import javax.inject.Qualifier;
+
+@Qualifier
+@Retention(RUNTIME)
+@Target( { PARAMETER, METHOD, FIELD, TYPE })
+public @interface Parameterized
+{
+}
Added: core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/producer/method/parameterized/Parameterized1.java
===================================================================
--- core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/producer/method/parameterized/Parameterized1.java (rev 0)
+++ core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/producer/method/parameterized/Parameterized1.java 2010-07-28 10:18:08 UTC (rev 6820)
@@ -0,0 +1,22 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2010, Red Hat, Inc., and individual contributors
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * http://www.apache.org/licenses/LICENSE-2.0
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.jboss.weld.tests.producer.method.parameterized;
+
+public class Parameterized1<T>
+{
+
+}
Added: core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/producer/method/parameterized/Parameterized2.java
===================================================================
--- core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/producer/method/parameterized/Parameterized2.java (rev 0)
+++ core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/producer/method/parameterized/Parameterized2.java 2010-07-28 10:18:08 UTC (rev 6820)
@@ -0,0 +1,22 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2010, Red Hat, Inc., and individual contributors
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * http://www.apache.org/licenses/LICENSE-2.0
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.jboss.weld.tests.producer.method.parameterized;
+
+public class Parameterized2<T>
+{
+
+}
Added: core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/producer/method/parameterized/ParameterizedProducer.java
===================================================================
--- core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/producer/method/parameterized/ParameterizedProducer.java (rev 0)
+++ core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/producer/method/parameterized/ParameterizedProducer.java 2010-07-28 10:18:08 UTC (rev 6820)
@@ -0,0 +1,30 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2010, Red Hat, Inc., and individual contributors
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * http://www.apache.org/licenses/LICENSE-2.0
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.jboss.weld.tests.producer.method.parameterized;
+
+import javax.enterprise.inject.Produces;
+
+public class ParameterizedProducer
+{
+
+ @Produces
+ @Parameterized
+ public Parameterized1<Parameterized2<Double>> getParameterized()
+ {
+ return new Parameterized1();
+ }
+}
Added: core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/producer/method/parameterized/ParameterizedTest.java
===================================================================
--- core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/producer/method/parameterized/ParameterizedTest.java (rev 0)
+++ core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/producer/method/parameterized/ParameterizedTest.java 2010-07-28 10:18:08 UTC (rev 6820)
@@ -0,0 +1,46 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2010, Red Hat, Inc., and individual contributors
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * http://www.apache.org/licenses/LICENSE-2.0
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.jboss.weld.tests.producer.method.parameterized;
+
+import org.jboss.arquillian.api.Deployment;
+import org.jboss.arquillian.junit.Arquillian;
+import org.jboss.shrinkwrap.api.Archive;
+import org.jboss.shrinkwrap.api.BeanArchive;
+import org.jboss.shrinkwrap.api.ShrinkWrap;
+import org.junit.Assert;
+import org.junit.Test;
+import org.junit.runner.RunWith;
+
+(a)RunWith(Arquillian.class)
+public class ParameterizedTest
+{
+ @Deployment
+ public static Archive<?> deploy()
+ {
+ return ShrinkWrap.create(BeanArchive.class)
+ .addPackage(ParameterizedTest.class.getPackage());
+ }
+
+ /*
+ * description = "WELD-452"
+ */
+ @Test
+ public void testEventQualifiersCorrect(TestBean testBean)
+ {
+ Assert.assertNotNull(testBean);
+ }
+}
Added: core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/producer/method/parameterized/TestBean.java
===================================================================
--- core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/producer/method/parameterized/TestBean.java (rev 0)
+++ core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/producer/method/parameterized/TestBean.java 2010-07-28 10:18:08 UTC (rev 6820)
@@ -0,0 +1,29 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2010, Red Hat, Inc., and individual contributors
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * http://www.apache.org/licenses/LICENSE-2.0
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.jboss.weld.tests.producer.method.parameterized;
+
+import javax.enterprise.context.ApplicationScoped;
+import javax.inject.Inject;
+
+@ApplicationScoped
+public class TestBean
+{
+ @Inject
+ @Parameterized
+ Parameterized1<Parameterized2<Double>> parameterized;
+
+}
Added: core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/proxy/Foo.java
===================================================================
--- core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/proxy/Foo.java (rev 0)
+++ core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/proxy/Foo.java 2010-07-28 10:18:08 UTC (rev 6820)
@@ -0,0 +1,34 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2010, Red Hat, Inc., and individual contributors
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * http://www.apache.org/licenses/LICENSE-2.0
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.jboss.weld.tests.proxy;
+
+import java.io.Serializable;
+
+import javax.enterprise.context.RequestScoped;
+import javax.inject.Named;
+
+@Named
+@RequestScoped
+class Foo implements Serializable
+{
+
+ public String getMsg()
+ {
+ return "Hi";
+ }
+
+}
\ No newline at end of file
Added: core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/proxy/ProxyTest.java
===================================================================
--- core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/proxy/ProxyTest.java (rev 0)
+++ core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/proxy/ProxyTest.java 2010-07-28 10:18:08 UTC (rev 6820)
@@ -0,0 +1,54 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2010, Red Hat, Inc., and individual contributors
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * http://www.apache.org/licenses/LICENSE-2.0
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.jboss.weld.tests.proxy;
+
+import javax.enterprise.inject.spi.Bean;
+import javax.inject.Inject;
+
+import org.jboss.arquillian.api.Deployment;
+import org.jboss.arquillian.junit.Arquillian;
+import org.jboss.shrinkwrap.api.Archive;
+import org.jboss.shrinkwrap.api.BeanArchive;
+import org.jboss.shrinkwrap.api.ShrinkWrap;
+import org.jboss.weld.manager.BeanManagerImpl;
+import org.junit.Assert;
+import org.junit.Test;
+import org.junit.runner.RunWith;
+
+(a)RunWith(Arquillian.class)
+public class ProxyTest
+{
+ @Deployment
+ public static Archive<?> deploy()
+ {
+ return ShrinkWrap.create(BeanArchive.class)
+ .addPackage(ProxyTest.class.getPackage());
+ }
+
+ @Inject
+ private BeanManagerImpl beanManager;
+
+ /*
+ * description = "WBRI-122"
+ */
+ @Test
+ public void testImplementationClassImplementsSerializable()
+ {
+ Bean<?> bean = beanManager.resolve(beanManager.getBeans("foo"));
+ Assert.assertNotNull(beanManager.getReference(bean, Object.class, beanManager.createCreationalContext(bean)));
+ }
+}
Added: core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/proxy/enterprise/EnterpriseBeanProxyTest.java
===================================================================
--- core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/proxy/enterprise/EnterpriseBeanProxyTest.java (rev 0)
+++ core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/proxy/enterprise/EnterpriseBeanProxyTest.java 2010-07-28 10:18:08 UTC (rev 6820)
@@ -0,0 +1,61 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2010, Red Hat, Inc., and individual contributors
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * http://www.apache.org/licenses/LICENSE-2.0
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.jboss.weld.tests.proxy.enterprise;
+
+import org.jboss.arquillian.api.Deployment;
+import org.jboss.arquillian.junit.Arquillian;
+import org.jboss.shrinkwrap.api.Archive;
+import org.jboss.shrinkwrap.api.ShrinkWrap;
+import org.jboss.shrinkwrap.api.asset.EmptyAsset;
+import org.jboss.shrinkwrap.api.spec.EnterpriseArchive;
+import org.jboss.shrinkwrap.api.spec.JavaArchive;
+import org.jboss.weld.test.Utils;
+import org.jboss.weld.tests.category.Broken;
+import org.junit.Assert;
+import org.junit.Test;
+import org.junit.experimental.categories.Category;
+import org.junit.runner.RunWith;
+
+(a)RunWith(Arquillian.class)
+public class EnterpriseBeanProxyTest
+{
+ @Deployment
+ public static Archive<?> deploy()
+ {
+ return ShrinkWrap.create(EnterpriseArchive.class, "test.ear")
+ .addModule(
+ ShrinkWrap.create(JavaArchive.class)
+ .addPackage(EnterpriseBeanProxyTest.class.getPackage())
+ .addManifestResource(EmptyAsset.INSTANCE, "beans.xml")
+ );
+ }
+
+ /*
+ * description = "WBRI-109"
+ *
+ * <a href="https://jira.jboss.org/jira/browse/WBRI-109">WBRI-109</a>
+ */
+ // Broken due to WELDINT-45
+ @Test
+ @Category(Broken.class)
+ public void testNoInterfaceView(Mouse mouse) throws Exception
+ {
+ Assert.assertTrue(Utils.isProxy(mouse));
+ Assert.assertTrue(mouse instanceof Mouse);
+ }
+
+}
Added: core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/proxy/enterprise/Mouse.java
===================================================================
--- core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/proxy/enterprise/Mouse.java (rev 0)
+++ core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/proxy/enterprise/Mouse.java 2010-07-28 10:18:08 UTC (rev 6820)
@@ -0,0 +1,25 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2010, Red Hat, Inc., and individual contributors
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * http://www.apache.org/licenses/LICENSE-2.0
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.jboss.weld.tests.proxy.enterprise;
+
+import javax.ejb.Stateless;
+
+@Stateless
+public class Mouse
+{
+
+}
Added: core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/proxy/observer/Baz.java
===================================================================
--- core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/proxy/observer/Baz.java (rev 0)
+++ core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/proxy/observer/Baz.java 2010-07-28 10:18:08 UTC (rev 6820)
@@ -0,0 +1,6 @@
+package org.jboss.weld.tests.proxy.observer;
+
+public class Baz
+{
+
+}
Added: core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/proxy/observer/ObserverInjectionTest.java
===================================================================
--- core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/proxy/observer/ObserverInjectionTest.java (rev 0)
+++ core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/proxy/observer/ObserverInjectionTest.java 2010-07-28 10:18:08 UTC (rev 6820)
@@ -0,0 +1,39 @@
+package org.jboss.weld.tests.proxy.observer;
+
+import javax.inject.Inject;
+
+import org.jboss.arquillian.api.Deployment;
+import org.jboss.arquillian.junit.Arquillian;
+import org.jboss.shrinkwrap.api.Archive;
+import org.jboss.shrinkwrap.api.BeanArchive;
+import org.jboss.shrinkwrap.api.ShrinkWrap;
+import org.jboss.weld.manager.BeanManagerImpl;
+import org.junit.Assert;
+import org.junit.Test;
+import org.junit.runner.RunWith;
+
+(a)RunWith(Arquillian.class)
+public class ObserverInjectionTest
+{
+ @Deployment
+ public static Archive<?> deploy()
+ {
+ return ShrinkWrap.create(BeanArchive.class)
+ .addPackage(ObserverInjectionTest.class.getPackage());
+ }
+
+ @Inject
+ private BeanManagerImpl beanManager;
+
+ /*
+ * description = "WELD-535"
+ */
+ @Test
+ public void testInjectionHappens(SampleObserver sampleObserver)
+ {
+ Assert.assertFalse(sampleObserver.isInjectionAndObservationOccured());
+ beanManager.fireEvent(new Baz());
+ Assert.assertTrue(sampleObserver.isInjectionAndObservationOccured());
+ }
+
+}
Added: core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/proxy/observer/Qux.java
===================================================================
--- core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/proxy/observer/Qux.java (rev 0)
+++ core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/proxy/observer/Qux.java 2010-07-28 10:18:08 UTC (rev 6820)
@@ -0,0 +1,13 @@
+package org.jboss.weld.tests.proxy.observer;
+
+import java.io.Serializable;
+
+public class Qux implements Serializable
+{
+
+ /**
+ *
+ */
+ private static final long serialVersionUID = -947946956903414048L;
+
+}
Added: core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/proxy/observer/SampleObserver.java
===================================================================
--- core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/proxy/observer/SampleObserver.java (rev 0)
+++ core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/proxy/observer/SampleObserver.java 2010-07-28 10:18:08 UTC (rev 6820)
@@ -0,0 +1,32 @@
+package org.jboss.weld.tests.proxy.observer;
+
+import java.io.Serializable;
+
+import javax.enterprise.context.SessionScoped;
+import javax.enterprise.event.Observes;
+import javax.inject.Inject;
+
+
+@SessionScoped
+public class SampleObserver implements Serializable
+{
+
+ private static final long serialVersionUID = -8311790045944819159L;
+
+ @Inject
+ private Qux qux;
+
+ private boolean injectionAndObservationOccured;
+
+ @SuppressWarnings("unused")
+ private void observes(@Observes Baz baz)
+ {
+ injectionAndObservationOccured = qux != null;
+ }
+
+ public boolean isInjectionAndObservationOccured()
+ {
+ return injectionAndObservationOccured;
+ }
+
+}
\ No newline at end of file
Added: core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/proxy/weld477/InjectedClass.java
===================================================================
--- core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/proxy/weld477/InjectedClass.java (rev 0)
+++ core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/proxy/weld477/InjectedClass.java 2010-07-28 10:18:08 UTC (rev 6820)
@@ -0,0 +1,33 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2010, Red Hat, Inc. and/or its affiliates, and individual
+ * contributors by the @authors tag. See the copyright.txt in the
+ * distribution for a full listing of individual contributors.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * http://www.apache.org/licenses/LICENSE-2.0
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package org.jboss.weld.tests.proxy.weld477;
+
+import javax.inject.Inject;
+
+/**
+ * @author Marius Bogoevici
+ */
+public class InjectedClass
+{
+ @Inject ScopedClass dependency;
+
+ public ScopedClass getDependency()
+ {
+ return dependency;
+ }
+}
Added: core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/proxy/weld477/ProxiabilityTest.java
===================================================================
--- core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/proxy/weld477/ProxiabilityTest.java (rev 0)
+++ core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/proxy/weld477/ProxiabilityTest.java 2010-07-28 10:18:08 UTC (rev 6820)
@@ -0,0 +1,49 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2010, Red Hat, Inc. and/or its affiliates, and individual
+ * contributors by the @authors tag. See the copyright.txt in the
+ * distribution for a full listing of individual contributors.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * http://www.apache.org/licenses/LICENSE-2.0
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.jboss.weld.tests.proxy.weld477;
+
+import org.jboss.arquillian.api.Deployment;
+import org.jboss.arquillian.junit.Arquillian;
+import org.jboss.shrinkwrap.api.Archive;
+import org.jboss.shrinkwrap.api.BeanArchive;
+import org.jboss.shrinkwrap.api.ShrinkWrap;
+import org.junit.Assert;
+import org.junit.Test;
+import org.junit.runner.RunWith;
+
+/**
+ * @author Marius Bogoevici
+ */
+(a)RunWith(Arquillian.class)
+public class ProxiabilityTest
+{
+ @Deployment
+ public static Archive<?> deploy()
+ {
+ return ShrinkWrap.create(BeanArchive.class)
+ .addPackage(ProxiabilityTest.class.getPackage());
+ }
+
+ /*
+ * description = "WELD-477"
+ */
+ @Test
+ public void testClassWithPrivateFinalMethodsProxyable(InjectedClass injectedClassInstance)
+ {
+ Assert.assertNotNull(injectedClassInstance.getDependency());
+ }
+}
Added: core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/proxy/weld477/ScopedClass.java
===================================================================
--- core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/proxy/weld477/ScopedClass.java (rev 0)
+++ core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/proxy/weld477/ScopedClass.java 2010-07-28 10:18:08 UTC (rev 6820)
@@ -0,0 +1,38 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2010, Red Hat, Inc. and/or its affiliates, and individual
+ * contributors by the @authors tag. See the copyright.txt in the
+ * distribution for a full listing of individual contributors.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * http://www.apache.org/licenses/LICENSE-2.0
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package org.jboss.weld.tests.proxy.weld477;
+
+import javax.enterprise.context.ApplicationScoped;
+
+/**
+ * @author Marius Bogoevici
+ */
+@ApplicationScoped
+public class ScopedClass
+{
+ private final void privateMethod()
+ {
+
+ }
+
+ public void publicMethod()
+ {
+
+ }
+
+}
Added: core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/proxy/weld56/Bar.java
===================================================================
--- core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/proxy/weld56/Bar.java (rev 0)
+++ core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/proxy/weld56/Bar.java 2010-07-28 10:18:08 UTC (rev 6820)
@@ -0,0 +1,24 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2010, Red Hat, Inc., and individual contributors
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * http://www.apache.org/licenses/LICENSE-2.0
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.jboss.weld.tests.proxy.weld56;
+
+import javax.enterprise.context.RequestScoped;
+
+@RequestScoped
+public class Bar
+{
+}
Added: core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/proxy/weld56/Foo.java
===================================================================
--- core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/proxy/weld56/Foo.java (rev 0)
+++ core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/proxy/weld56/Foo.java 2010-07-28 10:18:08 UTC (rev 6820)
@@ -0,0 +1,36 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2010, Red Hat, Inc., and individual contributors
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * http://www.apache.org/licenses/LICENSE-2.0
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.jboss.weld.tests.proxy.weld56;
+
+import javax.enterprise.context.RequestScoped;
+import javax.inject.Inject;
+
+
+@RequestScoped
+public class Foo
+{
+
+ @Inject
+ public Foo(Bar bar)
+ {
+ }
+
+ public String ping()
+ {
+ return "ping";
+ }
+}
Added: core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/proxy/weld56/ProxyTest.java
===================================================================
--- core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/proxy/weld56/ProxyTest.java (rev 0)
+++ core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/proxy/weld56/ProxyTest.java 2010-07-28 10:18:08 UTC (rev 6820)
@@ -0,0 +1,49 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2010, Red Hat, Inc., and individual contributors
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * http://www.apache.org/licenses/LICENSE-2.0
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.jboss.weld.tests.proxy.weld56;
+
+import org.jboss.arquillian.api.Deployment;
+import org.jboss.arquillian.junit.Arquillian;
+import org.jboss.shrinkwrap.api.Archive;
+import org.jboss.shrinkwrap.api.ShrinkWrap;
+import org.jboss.shrinkwrap.api.asset.EmptyAsset;
+import org.jboss.shrinkwrap.api.spec.WebArchive;
+import org.jboss.weld.tests.category.Integration;
+import org.junit.Assert;
+import org.junit.Test;
+import org.junit.experimental.categories.Category;
+import org.junit.runner.RunWith;
+
+(a)Category(Integration.class)
+(a)RunWith(Arquillian.class)
+public class ProxyTest
+{
+ @Deployment
+ public static Archive<?> deploy()
+ {
+ return ShrinkWrap.create(WebArchive.class, "test.war")
+ .addPackage(ProxyTest.class.getPackage())
+ .addWebResource(EmptyAsset.INSTANCE, "beans.xml")
+ .addWebResource(EmptyAsset.INSTANCE, "classes/META-INF/org.jboss.weld.enableUnsafeProxies");
+ }
+
+ @Test
+ public void testProxy(Foo foo)
+ {
+ Assert.assertEquals("ping", foo.ping());
+ }
+}
Added: core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/resolution/Bar.java
===================================================================
--- core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/resolution/Bar.java (rev 0)
+++ core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/resolution/Bar.java 2010-07-28 10:18:08 UTC (rev 6820)
@@ -0,0 +1,22 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2010, Red Hat, Inc., and individual contributors
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * http://www.apache.org/licenses/LICENSE-2.0
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.jboss.weld.tests.resolution;
+
+public class Bar
+{
+
+}
Added: core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/resolution/Baz.java
===================================================================
--- core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/resolution/Baz.java (rev 0)
+++ core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/resolution/Baz.java 2010-07-28 10:18:08 UTC (rev 6820)
@@ -0,0 +1,22 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2010, Red Hat, Inc., and individual contributors
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * http://www.apache.org/licenses/LICENSE-2.0
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.jboss.weld.tests.resolution;
+
+public class Baz
+{
+
+}
Added: core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/resolution/Foo.java
===================================================================
--- core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/resolution/Foo.java (rev 0)
+++ core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/resolution/Foo.java 2010-07-28 10:18:08 UTC (rev 6820)
@@ -0,0 +1,27 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2010, Red Hat, Inc., and individual contributors
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * http://www.apache.org/licenses/LICENSE-2.0
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.jboss.weld.tests.resolution;
+
+public class Foo extends FooBase<Bar>
+{
+
+ public String getName()
+ {
+ return "foo";
+ }
+
+}
Added: core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/resolution/FooBase.java
===================================================================
--- core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/resolution/FooBase.java (rev 0)
+++ core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/resolution/FooBase.java 2010-07-28 10:18:08 UTC (rev 6820)
@@ -0,0 +1,27 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2010, Red Hat, Inc., and individual contributors
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * http://www.apache.org/licenses/LICENSE-2.0
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.jboss.weld.tests.resolution;
+
+public class FooBase<T>
+{
+
+ public String getName()
+ {
+ return "foobase";
+ }
+
+}
Added: core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/resolution/FooProducer.java
===================================================================
--- core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/resolution/FooProducer.java (rev 0)
+++ core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/resolution/FooProducer.java 2010-07-28 10:18:08 UTC (rev 6820)
@@ -0,0 +1,30 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2010, Red Hat, Inc., and individual contributors
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * http://www.apache.org/licenses/LICENSE-2.0
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.jboss.weld.tests.resolution;
+
+import javax.enterprise.inject.Produces;
+
+public class FooProducer
+{
+
+ @Produces @Special
+ public FooBase<Baz> produce()
+ {
+ return new FooBase<Baz>();
+ }
+
+}
Added: core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/resolution/LookupFoo.java
===================================================================
--- core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/resolution/LookupFoo.java (rev 0)
+++ core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/resolution/LookupFoo.java 2010-07-28 10:18:08 UTC (rev 6820)
@@ -0,0 +1,38 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2010, Red Hat, Inc., and individual contributors
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * http://www.apache.org/licenses/LICENSE-2.0
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.jboss.weld.tests.resolution;
+
+import javax.inject.Inject;
+
+public class LookupFoo
+{
+
+ @Inject Foo foo;
+
+ @Inject @Special FooBase<Baz> foobaz;
+
+ public Foo getFoo()
+ {
+ return foo;
+ }
+
+ public FooBase<Baz> getFoobaz()
+ {
+ return foobaz;
+ }
+
+}
Added: core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/resolution/LookupInstanceTest.java
===================================================================
--- core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/resolution/LookupInstanceTest.java (rev 0)
+++ core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/resolution/LookupInstanceTest.java 2010-07-28 10:18:08 UTC (rev 6820)
@@ -0,0 +1,60 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2010, Red Hat, Inc., and individual contributors
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * http://www.apache.org/licenses/LICENSE-2.0
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.jboss.weld.tests.resolution;
+
+import java.util.List;
+
+import javax.enterprise.inject.Instance;
+import javax.enterprise.util.TypeLiteral;
+import javax.inject.Inject;
+
+import org.jboss.arquillian.api.Deployment;
+import org.jboss.arquillian.junit.Arquillian;
+import org.jboss.shrinkwrap.api.Archive;
+import org.jboss.shrinkwrap.api.BeanArchive;
+import org.jboss.shrinkwrap.api.ShrinkWrap;
+import org.jboss.weld.literal.DefaultLiteral;
+import org.jboss.weld.manager.BeanManagerImpl;
+import org.jboss.weld.test.Utils;
+import org.junit.Assert;
+import org.junit.Test;
+import org.junit.runner.RunWith;
+
+(a)RunWith(Arquillian.class)
+public class LookupInstanceTest
+{
+ @Deployment
+ public static Archive<?> deploy()
+ {
+ return ShrinkWrap.create(BeanArchive.class)
+ .addPackage(LookupInstanceTest.class.getPackage())
+ .addClass(Utils.class);
+ }
+
+ @Inject
+ private BeanManagerImpl beanManager;
+
+ @Test
+ public void testLookupInstance() throws Exception
+ {
+ Assert.assertNull(
+ Utils.getReference(
+ beanManager,
+ new TypeLiteral<Instance<List<?>>>(){}.getRawType(), DefaultLiteral.INSTANCE));
+ }
+
+}
Added: core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/resolution/Special.java
===================================================================
--- core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/resolution/Special.java (rev 0)
+++ core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/resolution/Special.java 2010-07-28 10:18:08 UTC (rev 6820)
@@ -0,0 +1,36 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2010, Red Hat, Inc., and individual contributors
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * http://www.apache.org/licenses/LICENSE-2.0
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.jboss.weld.tests.resolution;
+
+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 java.lang.annotation.Retention;
+import java.lang.annotation.RetentionPolicy;
+import java.lang.annotation.Target;
+
+import javax.inject.Qualifier;
+
+@Qualifier
+(a)Retention(RetentionPolicy.RUNTIME)
+@Target({FIELD, METHOD, TYPE, PARAMETER})
+public @interface Special
+{
+
+}
Added: core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/resolution/Weld256Test.java
===================================================================
--- core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/resolution/Weld256Test.java (rev 0)
+++ core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/resolution/Weld256Test.java 2010-07-28 10:18:08 UTC (rev 6820)
@@ -0,0 +1,45 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2010, Red Hat, Inc., and individual contributors
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * http://www.apache.org/licenses/LICENSE-2.0
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.jboss.weld.tests.resolution;
+
+import org.jboss.arquillian.api.Deployment;
+import org.jboss.arquillian.junit.Arquillian;
+import org.jboss.shrinkwrap.api.Archive;
+import org.jboss.shrinkwrap.api.BeanArchive;
+import org.jboss.shrinkwrap.api.ShrinkWrap;
+import org.junit.Assert;
+import org.junit.Test;
+import org.junit.runner.RunWith;
+
+(a)RunWith(Arquillian.class)
+public class Weld256Test
+{
+ @Deployment
+ public static Archive<?> deploy()
+ {
+ return ShrinkWrap.create(BeanArchive.class)
+ .addPackage(Weld256Test.class.getPackage());
+ }
+
+ @Test
+ public void testParameterizedInjection(LookupFoo lookupFoo)
+ {
+ Assert.assertEquals("foo", lookupFoo.getFoo().getName());
+ Assert.assertEquals("foobase", lookupFoo.getFoobaz().getName());
+ }
+
+}
Added: core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/resolution/circular/Bar.java
===================================================================
--- core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/resolution/circular/Bar.java (rev 0)
+++ core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/resolution/circular/Bar.java 2010-07-28 10:18:08 UTC (rev 6820)
@@ -0,0 +1,50 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2010, Red Hat, Inc., and individual contributors
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * http://www.apache.org/licenses/LICENSE-2.0
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.jboss.weld.tests.resolution.circular;
+
+import javax.annotation.PostConstruct;
+import javax.enterprise.context.ApplicationScoped;
+import javax.inject.Inject;
+
+@ApplicationScoped
+class Bar
+{
+
+ public static boolean success;
+
+ @Inject Foo foo;
+
+ public Bar()
+ {
+ success = false;
+ }
+
+ @PostConstruct
+ public void postConstruct()
+ {
+ if (foo.getName().equals("foo"))
+ {
+ success = true;
+ }
+ }
+
+ public String getName()
+ {
+ return "bar";
+ }
+
+}
Added: core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/resolution/circular/CircularDependencyTest.java
===================================================================
--- core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/resolution/circular/CircularDependencyTest.java (rev 0)
+++ core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/resolution/circular/CircularDependencyTest.java 2010-07-28 10:18:08 UTC (rev 6820)
@@ -0,0 +1,58 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2010, Red Hat, Inc., and individual contributors
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * http://www.apache.org/licenses/LICENSE-2.0
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.jboss.weld.tests.resolution.circular;
+
+import org.jboss.arquillian.api.Deployment;
+import org.jboss.arquillian.junit.Arquillian;
+import org.jboss.shrinkwrap.api.Archive;
+import org.jboss.shrinkwrap.api.BeanArchive;
+import org.jboss.shrinkwrap.api.ShrinkWrap;
+import org.junit.Assert;
+import org.junit.Test;
+import org.junit.runner.RunWith;
+
+(a)RunWith(Arquillian.class)
+public class CircularDependencyTest
+{
+ @Deployment
+ public static Archive<?> deploy()
+ {
+ return ShrinkWrap.create(BeanArchive.class)
+ .addPackage(CircularDependencyTest.class.getPackage());
+ }
+
+ @Test
+ public void testCircularInjectionOnTwoSimpleDependentBeans(Foo foo) throws Exception
+ {
+ foo.getName();
+ Assert.assertTrue(Foo.success);
+ Assert.assertTrue(Bar.success);
+ }
+
+ @Test
+ public void testDependentProducerMethodDeclaredOnDependentBeanWhichInjectsProducedBean(DependentSelfConsumingDependentProducer producer) throws Exception
+ {
+ producer.ping();
+ }
+
+ @Test
+ public void testDependentSelfConsumingProducer(Violation violation) throws Exception
+ {
+ violation.ping();
+ }
+
+}
Added: core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/resolution/circular/DependentLooping.java
===================================================================
--- core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/resolution/circular/DependentLooping.java (rev 0)
+++ core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/resolution/circular/DependentLooping.java 2010-07-28 10:18:08 UTC (rev 6820)
@@ -0,0 +1,38 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2010, Red Hat, Inc., and individual contributors
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * http://www.apache.org/licenses/LICENSE-2.0
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.jboss.weld.tests.resolution.circular;
+
+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.inject.Qualifier;
+
+@Target( { TYPE, METHOD, PARAMETER, FIELD })
+@Retention(RUNTIME)
+@Documented
+@Qualifier
+@interface DependentLooping
+{
+
+}
Added: core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/resolution/circular/DependentLoopingProducer.java
===================================================================
--- core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/resolution/circular/DependentLoopingProducer.java (rev 0)
+++ core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/resolution/circular/DependentLoopingProducer.java 2010-07-28 10:18:08 UTC (rev 6820)
@@ -0,0 +1,29 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2010, Red Hat, Inc., and individual contributors
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * http://www.apache.org/licenses/LICENSE-2.0
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.jboss.weld.tests.resolution.circular;
+
+import javax.enterprise.inject.Produces;
+
+class DependentLoopingProducer
+{
+
+ @Produces @DependentLooping
+ public Violation produceViolation(@DependentLooping Violation violation) {
+ return new Violation();
+ }
+
+}
\ No newline at end of file
Added: core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/resolution/circular/DependentSelfConsumingDependentProducer.java
===================================================================
--- core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/resolution/circular/DependentSelfConsumingDependentProducer.java (rev 0)
+++ core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/resolution/circular/DependentSelfConsumingDependentProducer.java 2010-07-28 10:18:08 UTC (rev 6820)
@@ -0,0 +1,33 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2010, Red Hat, Inc., and individual contributors
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * http://www.apache.org/licenses/LICENSE-2.0
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.jboss.weld.tests.resolution.circular;
+
+import javax.enterprise.inject.Produces;
+
+class DependentSelfConsumingDependentProducer
+{
+ @SelfConsumingDependent Violation violation;
+
+ @Produces @SelfConsumingDependent
+ public Violation produceViolation() {
+ return new Violation();
+ }
+
+ public void ping() {
+
+ }
+}
\ No newline at end of file
Added: core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/resolution/circular/Farm.java
===================================================================
--- core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/resolution/circular/Farm.java (rev 0)
+++ core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/resolution/circular/Farm.java 2010-07-28 10:18:08 UTC (rev 6820)
@@ -0,0 +1,29 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2010, Red Hat, Inc., and individual contributors
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * http://www.apache.org/licenses/LICENSE-2.0
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.jboss.weld.tests.resolution.circular;
+
+import javax.inject.Inject;
+
+class Farm
+{
+
+ @Inject
+ public Farm(Farm farm)
+ {
+ }
+
+}
Added: core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/resolution/circular/Fish.java
===================================================================
--- core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/resolution/circular/Fish.java (rev 0)
+++ core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/resolution/circular/Fish.java 2010-07-28 10:18:08 UTC (rev 6820)
@@ -0,0 +1,32 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2010, Red Hat, Inc., and individual contributors
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * http://www.apache.org/licenses/LICENSE-2.0
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.jboss.weld.tests.resolution.circular;
+
+import javax.inject.Inject;
+
+class Fish
+{
+
+ private Water water;
+
+ @Inject
+ public Fish(Water water)
+ {
+ this.water = water;
+ }
+
+}
Added: core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/resolution/circular/Foo.java
===================================================================
--- core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/resolution/circular/Foo.java (rev 0)
+++ core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/resolution/circular/Foo.java 2010-07-28 10:18:08 UTC (rev 6820)
@@ -0,0 +1,48 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2010, Red Hat, Inc., and individual contributors
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * http://www.apache.org/licenses/LICENSE-2.0
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.jboss.weld.tests.resolution.circular;
+
+import javax.annotation.PostConstruct;
+import javax.inject.Inject;
+
+class Foo
+{
+
+ public static boolean success;
+
+ @Inject Bar bar;
+
+ public Foo()
+ {
+ success = false;
+ }
+
+ @PostConstruct
+ public void postConstruct()
+ {
+ if (bar.getName().equals("bar"))
+ {
+ success = true;
+ }
+ }
+
+ public String getName()
+ {
+ return "foo";
+ }
+
+}
Added: core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/resolution/circular/NormalLooping.java
===================================================================
--- core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/resolution/circular/NormalLooping.java (rev 0)
+++ core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/resolution/circular/NormalLooping.java 2010-07-28 10:18:08 UTC (rev 6820)
@@ -0,0 +1,38 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2010, Red Hat, Inc., and individual contributors
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * http://www.apache.org/licenses/LICENSE-2.0
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.jboss.weld.tests.resolution.circular;
+
+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.inject.Qualifier;
+
+@Target( { TYPE, METHOD, PARAMETER, FIELD })
+@Retention(RUNTIME)
+@Documented
+@Qualifier
+@interface NormalLooping
+{
+
+}
Added: core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/resolution/circular/NormalLoopingProducer.java
===================================================================
--- core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/resolution/circular/NormalLoopingProducer.java (rev 0)
+++ core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/resolution/circular/NormalLoopingProducer.java 2010-07-28 10:18:08 UTC (rev 6820)
@@ -0,0 +1,31 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2010, Red Hat, Inc., and individual contributors
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * http://www.apache.org/licenses/LICENSE-2.0
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.jboss.weld.tests.resolution.circular;
+
+import javax.enterprise.context.ApplicationScoped;
+import javax.enterprise.inject.Produces;
+
+@ApplicationScoped
+class NormalLoopingProducer
+{
+
+ @Produces @ApplicationScoped @NormalLooping
+ public Violation produceViolation(@NormalLooping Violation violation) {
+ return new Violation();
+ }
+
+}
\ No newline at end of file
Added: core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/resolution/circular/SelfConsumingDependent.java
===================================================================
--- core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/resolution/circular/SelfConsumingDependent.java (rev 0)
+++ core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/resolution/circular/SelfConsumingDependent.java 2010-07-28 10:18:08 UTC (rev 6820)
@@ -0,0 +1,38 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2010, Red Hat, Inc., and individual contributors
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * http://www.apache.org/licenses/LICENSE-2.0
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.jboss.weld.tests.resolution.circular;
+
+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.inject.Qualifier;
+
+@Target( { TYPE, METHOD, PARAMETER, FIELD })
+@Retention(RUNTIME)
+@Documented
+@Qualifier
+@interface SelfConsumingDependent
+{
+
+}
Added: core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/resolution/circular/Violation.java
===================================================================
--- core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/resolution/circular/Violation.java (rev 0)
+++ core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/resolution/circular/Violation.java 2010-07-28 10:18:08 UTC (rev 6820)
@@ -0,0 +1,29 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2010, Red Hat, Inc., and individual contributors
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * http://www.apache.org/licenses/LICENSE-2.0
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.jboss.weld.tests.resolution.circular;
+
+import java.io.Serializable;
+
+class Violation implements Serializable
+{
+
+ public void ping()
+ {
+
+ }
+
+}
Added: core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/resolution/circular/Water.java
===================================================================
--- core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/resolution/circular/Water.java (rev 0)
+++ core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/resolution/circular/Water.java 2010-07-28 10:18:08 UTC (rev 6820)
@@ -0,0 +1,28 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2010, Red Hat, Inc., and individual contributors
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * http://www.apache.org/licenses/LICENSE-2.0
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.jboss.weld.tests.resolution.circular;
+
+import javax.inject.Inject;
+
+class Water
+{
+ @Inject
+ public Water(Fish fish)
+ {
+ }
+
+}
Added: core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/resolution/circular/resource/Baz.java
===================================================================
--- core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/resolution/circular/resource/Baz.java (rev 0)
+++ core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/resolution/circular/resource/Baz.java 2010-07-28 10:18:08 UTC (rev 6820)
@@ -0,0 +1,35 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2010, Red Hat, Inc., and individual contributors
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * http://www.apache.org/licenses/LICENSE-2.0
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.jboss.weld.tests.resolution.circular.resource;
+
+import javax.enterprise.inject.Produces;
+import javax.inject.Inject;
+import javax.persistence.EntityManager;
+import javax.persistence.PersistenceContext;
+
+public class Baz
+{
+
+ @Produces @FooDB @PersistenceContext private EntityManager db;
+ @Inject @FooDB EntityManager fooDb;
+
+ public EntityManager getFooDb()
+ {
+ return fooDb;
+ }
+
+}
Added: core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/resolution/circular/resource/FooDB.java
===================================================================
--- core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/resolution/circular/resource/FooDB.java (rev 0)
+++ core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/resolution/circular/resource/FooDB.java 2010-07-28 10:18:08 UTC (rev 6820)
@@ -0,0 +1,36 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2010, Red Hat, Inc., and individual contributors
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * http://www.apache.org/licenses/LICENSE-2.0
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.jboss.weld.tests.resolution.circular.resource;
+
+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 java.lang.annotation.Retention;
+import java.lang.annotation.RetentionPolicy;
+import java.lang.annotation.Target;
+
+import javax.inject.Qualifier;
+
+@Qualifier
+(a)Retention(RetentionPolicy.RUNTIME)
+@Target({FIELD, METHOD, TYPE, PARAMETER})
+public @interface FooDB
+{
+
+}
Added: core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/resolution/circular/resource/ResourceCircularDependencyTest.java
===================================================================
--- core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/resolution/circular/resource/ResourceCircularDependencyTest.java (rev 0)
+++ core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/resolution/circular/resource/ResourceCircularDependencyTest.java 2010-07-28 10:18:08 UTC (rev 6820)
@@ -0,0 +1,48 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2010, Red Hat, Inc., and individual contributors
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * http://www.apache.org/licenses/LICENSE-2.0
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.jboss.weld.tests.resolution.circular.resource;
+
+import org.jboss.arquillian.api.Deployment;
+import org.jboss.arquillian.junit.Arquillian;
+import org.jboss.shrinkwrap.api.Archive;
+import org.jboss.shrinkwrap.api.BeanArchive;
+import org.jboss.shrinkwrap.api.ShrinkWrap;
+import org.jboss.weld.tests.category.Integration;
+import org.junit.Assert;
+import org.junit.Test;
+import org.junit.experimental.categories.Category;
+import org.junit.runner.RunWith;
+
+(a)Category(Integration.class)
+(a)RunWith(Arquillian.class)
+public class ResourceCircularDependencyTest
+{
+ @Deployment
+ public static Archive<?> deploy()
+ {
+ return ShrinkWrap.create(BeanArchive.class)
+ .addPackage(ResourceCircularDependencyTest.class.getPackage())
+ .addManifestResource(
+ ResourceCircularDependencyTest.class.getPackage(), "persistence.xml", "persistence.xml");
+ }
+
+ @Test
+ public void testResourceProducerField(Baz baz) throws Exception
+ {
+ Assert.assertTrue(baz.getFooDb().isOpen());
+ }
+}
Added: core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/resolution/named/FooBean.java
===================================================================
--- core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/resolution/named/FooBean.java (rev 0)
+++ core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/resolution/named/FooBean.java 2010-07-28 10:18:08 UTC (rev 6820)
@@ -0,0 +1,25 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2010, Red Hat, Inc., and individual contributors
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * http://www.apache.org/licenses/LICENSE-2.0
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.jboss.weld.tests.resolution.named;
+
+import javax.inject.Named;
+
+@Named("foo")
+public class FooBean
+{
+
+}
Added: core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/resolution/named/Important.java
===================================================================
--- core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/resolution/named/Important.java (rev 0)
+++ core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/resolution/named/Important.java 2010-07-28 10:18:08 UTC (rev 6820)
@@ -0,0 +1,41 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2010, Red Hat, Inc., and individual contributors
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * http://www.apache.org/licenses/LICENSE-2.0
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.jboss.weld.tests.resolution.named;
+
+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.Inherited;
+import java.lang.annotation.Retention;
+import java.lang.annotation.Target;
+
+import javax.inject.Qualifier;
+
+/**
+ * @author Dan Allen
+ */
+@Target( { TYPE, METHOD, PARAMETER, FIELD })
+@Retention(RUNTIME)
+@Documented
+@Qualifier
+@Inherited
+public @interface Important {
+}
Added: core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/resolution/named/NamedBeanConsumer.java
===================================================================
--- core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/resolution/named/NamedBeanConsumer.java (rev 0)
+++ core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/resolution/named/NamedBeanConsumer.java 2010-07-28 10:18:08 UTC (rev 6820)
@@ -0,0 +1,33 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2010, Red Hat, Inc., and individual contributors
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * http://www.apache.org/licenses/LICENSE-2.0
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.jboss.weld.tests.resolution.named;
+
+import javax.inject.Inject;
+import javax.inject.Named;
+
+
+public class NamedBeanConsumer
+{
+
+ @Inject @Named FooBean foo;
+
+ public FooBean getFoo()
+ {
+ return foo;
+ }
+
+}
Added: core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/resolution/named/NamedBeanTest.java
===================================================================
--- core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/resolution/named/NamedBeanTest.java (rev 0)
+++ core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/resolution/named/NamedBeanTest.java 2010-07-28 10:18:08 UTC (rev 6820)
@@ -0,0 +1,65 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2010, Red Hat, Inc., and individual contributors
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * http://www.apache.org/licenses/LICENSE-2.0
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.jboss.weld.tests.resolution.named;
+
+import javax.enterprise.inject.spi.Bean;
+import javax.inject.Inject;
+
+import org.jboss.arquillian.api.Deployment;
+import org.jboss.arquillian.junit.Arquillian;
+import org.jboss.shrinkwrap.api.Archive;
+import org.jboss.shrinkwrap.api.BeanArchive;
+import org.jboss.shrinkwrap.api.ShrinkWrap;
+import org.jboss.weld.manager.BeanManagerImpl;
+import org.junit.Assert;
+import org.junit.Test;
+import org.junit.runner.RunWith;
+
+/**
+ * @author Dan Allen
+ */
+(a)RunWith(Arquillian.class)
+public class NamedBeanTest
+{
+ @Deployment
+ public static Archive<?> deploy()
+ {
+ return ShrinkWrap.create(BeanArchive.class)
+ .addPackage(NamedBeanTest.class.getPackage());
+ }
+
+ @Inject
+ private BeanManagerImpl beanManager;
+
+ @Test
+ public void testGetNamedBeanWithBinding()
+ {
+ Bean<?> bean = beanManager.resolve(beanManager.getBeans("namedBeanWithBinding"));
+ NamedBeanWithBinding instance = (NamedBeanWithBinding) beanManager.getReference(bean, Object.class, beanManager.createCreationalContext(bean));
+ Assert.assertNotNull(instance);
+ }
+
+ /*
+ * description = "WELD-435"
+ */
+ @Test
+ public void testNamedInjectedFieldUsesFieldName(NamedBeanConsumer consumer)
+ {
+ Assert.assertNotNull(consumer.getFoo());
+ }
+
+}
Added: core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/resolution/named/NamedBeanWithBinding.java
===================================================================
--- core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/resolution/named/NamedBeanWithBinding.java (rev 0)
+++ core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/resolution/named/NamedBeanWithBinding.java 2010-07-28 10:18:08 UTC (rev 6820)
@@ -0,0 +1,30 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2010, Red Hat, Inc., and individual contributors
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * http://www.apache.org/licenses/LICENSE-2.0
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.jboss.weld.tests.resolution.named;
+
+import javax.enterprise.context.RequestScoped;
+import javax.inject.Named;
+
+/**
+ * @author Dan Allen
+ */
+public
+@Named
+@Important
+@RequestScoped
+class NamedBeanWithBinding {
+}
Added: core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/resolution/wbri279/AbstractFactory.java
===================================================================
--- core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/resolution/wbri279/AbstractFactory.java (rev 0)
+++ core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/resolution/wbri279/AbstractFactory.java 2010-07-28 10:18:08 UTC (rev 6820)
@@ -0,0 +1,24 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2010, Red Hat, Inc., and individual contributors
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * http://www.apache.org/licenses/LICENSE-2.0
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.jboss.weld.tests.resolution.wbri279;
+
+public abstract class AbstractFactory<T>
+{
+
+ public abstract T createObject();
+
+}
Added: core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/resolution/wbri279/DummyParent.java
===================================================================
--- core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/resolution/wbri279/DummyParent.java (rev 0)
+++ core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/resolution/wbri279/DummyParent.java 2010-07-28 10:18:08 UTC (rev 6820)
@@ -0,0 +1,22 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2010, Red Hat, Inc., and individual contributors
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * http://www.apache.org/licenses/LICENSE-2.0
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.jboss.weld.tests.resolution.wbri279;
+
+public class DummyParent
+{
+
+}
Added: core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/resolution/wbri279/IntFactory.java
===================================================================
--- core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/resolution/wbri279/IntFactory.java (rev 0)
+++ core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/resolution/wbri279/IntFactory.java 2010-07-28 10:18:08 UTC (rev 6820)
@@ -0,0 +1,36 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2010, Red Hat, Inc., and individual contributors
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * http://www.apache.org/licenses/LICENSE-2.0
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.jboss.weld.tests.resolution.wbri279;
+
+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 java.lang.annotation.Retention;
+import java.lang.annotation.RetentionPolicy;
+import java.lang.annotation.Target;
+
+import javax.inject.Qualifier;
+
+(a)Retention(RetentionPolicy.RUNTIME)
+@Target( { TYPE, FIELD, METHOD, PARAMETER })
+@Qualifier
+public @interface IntFactory
+{
+
+}
Added: core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/resolution/wbri279/IntegerFactory.java
===================================================================
--- core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/resolution/wbri279/IntegerFactory.java (rev 0)
+++ core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/resolution/wbri279/IntegerFactory.java 2010-07-28 10:18:08 UTC (rev 6820)
@@ -0,0 +1,30 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2010, Red Hat, Inc., and individual contributors
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * http://www.apache.org/licenses/LICENSE-2.0
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.jboss.weld.tests.resolution.wbri279;
+
+@IntFactory
+public class IntegerFactory extends AbstractFactory<Integer>
+{
+
+ public static final Integer VALUE = 123;
+
+ public Integer createObject()
+ {
+ return VALUE;
+ }
+
+}
Added: core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/resolution/wbri279/SomeBean.java
===================================================================
--- core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/resolution/wbri279/SomeBean.java (rev 0)
+++ core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/resolution/wbri279/SomeBean.java 2010-07-28 10:18:08 UTC (rev 6820)
@@ -0,0 +1,32 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2010, Red Hat, Inc., and individual contributors
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * http://www.apache.org/licenses/LICENSE-2.0
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.jboss.weld.tests.resolution.wbri279;
+
+import javax.inject.Inject;
+
+public class SomeBean
+{
+
+ @Inject @IntFactory
+ IntegerFactory integerFactory;
+
+ public String getObjectAsString()
+ {
+ return integerFactory.createObject().toString();
+ }
+
+}
Added: core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/resolution/wbri279/Weld279Test.java
===================================================================
--- core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/resolution/wbri279/Weld279Test.java (rev 0)
+++ core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/resolution/wbri279/Weld279Test.java 2010-07-28 10:18:08 UTC (rev 6820)
@@ -0,0 +1,50 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2010, Red Hat, Inc., and individual contributors
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * http://www.apache.org/licenses/LICENSE-2.0
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.jboss.weld.tests.resolution.wbri279;
+
+import org.jboss.arquillian.api.Deployment;
+import org.jboss.arquillian.junit.Arquillian;
+import org.jboss.shrinkwrap.api.Archive;
+import org.jboss.shrinkwrap.api.BeanArchive;
+import org.jboss.shrinkwrap.api.ShrinkWrap;
+import org.junit.Assert;
+import org.junit.Test;
+import org.junit.runner.RunWith;
+
+/**
+ * @author pmuir
+ *
+ */
+(a)RunWith(Arquillian.class)
+public class Weld279Test
+{
+ @Deployment
+ public static Archive<?> deploy()
+ {
+ return ShrinkWrap.create(BeanArchive.class)
+ .addPackage(Weld279Test.class.getPackage());
+ }
+
+ /*
+ * description = "WELD-279"
+ */
+ @Test
+ public void testLookupOfGenericTypeSubclass(SomeBean bean)
+ {
+ Assert.assertEquals(IntegerFactory.VALUE.toString(), bean.getObjectAsString());
+ }
+}
Added: core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/resolution/wbri293/ContextualReferenceTest.java
===================================================================
--- core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/resolution/wbri293/ContextualReferenceTest.java (rev 0)
+++ core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/resolution/wbri293/ContextualReferenceTest.java 2010-07-28 10:18:08 UTC (rev 6820)
@@ -0,0 +1,63 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2010, Red Hat, Inc., and individual contributors
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * http://www.apache.org/licenses/LICENSE-2.0
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.jboss.weld.tests.resolution.wbri293;
+
+import javax.inject.Inject;
+
+import org.jboss.arquillian.api.Deployment;
+import org.jboss.arquillian.junit.Arquillian;
+import org.jboss.shrinkwrap.api.Archive;
+import org.jboss.shrinkwrap.api.BeanArchive;
+import org.jboss.shrinkwrap.api.ShrinkWrap;
+import org.jboss.weld.manager.BeanManagerImpl;
+import org.jboss.weld.test.Utils;
+import org.jboss.weld.tests.category.Broken;
+import org.junit.Assert;
+import org.junit.Test;
+import org.junit.experimental.categories.Category;
+import org.junit.runner.RunWith;
+
+/**
+ *
+ * @author Jozef Hartinger
+ *
+ */
+(a)RunWith(Arquillian.class)
+public class ContextualReferenceTest
+{
+ @Deployment
+ public static Archive<?> deploy()
+ {
+ return ShrinkWrap.create(BeanArchive.class)
+ .addPackage(ContextualReferenceTest.class.getPackage())
+ .addClass(Utils.class);
+ }
+
+ @Inject
+ private BeanManagerImpl beanManager;
+
+ @Test
+ @Category(Broken.class)
+ public void testReferencesEqual() {
+ Sheep sheep = Utils.getReference(beanManager, Sheep.class);
+ sheep.setAge(10);
+ Sheep sheep2 = Utils.getReference(beanManager, Sheep.class);
+ Assert.assertEquals(sheep.getAge(), sheep2.getAge());
+ Assert.assertEquals(sheep, sheep2);
+ }
+
+}
Added: core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/resolution/wbri293/Sheep.java
===================================================================
--- core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/resolution/wbri293/Sheep.java (rev 0)
+++ core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/resolution/wbri293/Sheep.java 2010-07-28 10:18:08 UTC (rev 6820)
@@ -0,0 +1,35 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2010, Red Hat, Inc., and individual contributors
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * http://www.apache.org/licenses/LICENSE-2.0
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.jboss.weld.tests.resolution.wbri293;
+
+import javax.enterprise.context.RequestScoped;
+
+@RequestScoped
+class Sheep
+{
+ private int age = 0;
+
+ public int getAge()
+ {
+ return age;
+ }
+
+ public void setAge(int age)
+ {
+ this.age = age;
+ }
+}
Added: core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/resources/ResourceTest.java
===================================================================
--- core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/resources/ResourceTest.java (rev 0)
+++ core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/resources/ResourceTest.java 2010-07-28 10:18:08 UTC (rev 6820)
@@ -0,0 +1,49 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2010, Red Hat, Inc., and individual contributors
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * http://www.apache.org/licenses/LICENSE-2.0
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.jboss.weld.tests.resources;
+
+import org.jboss.arquillian.api.Deployment;
+import org.jboss.arquillian.junit.Arquillian;
+import org.jboss.shrinkwrap.api.Archive;
+import org.jboss.shrinkwrap.api.BeanArchive;
+import org.jboss.shrinkwrap.api.ShrinkWrap;
+import org.jboss.weld.tests.category.Integration;
+import org.junit.Assert;
+import org.junit.Test;
+import org.junit.experimental.categories.Category;
+import org.junit.runner.RunWith;
+
+(a)Category(Integration.class)
+(a)RunWith(Arquillian.class)
+public class ResourceTest
+{
+ @Deployment
+ public static Archive<?> deploy()
+ {
+ return ShrinkWrap.create(BeanArchive.class)
+ .addPackage(ResourceTest.class.getPackage());
+ }
+
+ /*
+ * description = "WELD-385"
+ */
+ @Test
+ public void testUTInjectedByResource(UTConsumer consumer)
+ {
+ Assert.assertNotNull(consumer.getUserTransaction());
+ }
+}
Added: core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/resources/UTConsumer.java
===================================================================
--- core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/resources/UTConsumer.java (rev 0)
+++ core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/resources/UTConsumer.java 2010-07-28 10:18:08 UTC (rev 6820)
@@ -0,0 +1,33 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2010, Red Hat, Inc., and individual contributors
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * http://www.apache.org/licenses/LICENSE-2.0
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.jboss.weld.tests.resources;
+
+import javax.annotation.Resource;
+import javax.transaction.UserTransaction;
+
+public class UTConsumer
+{
+
+ @Resource
+ UserTransaction userTransaction;
+
+ public UserTransaction getUserTransaction()
+ {
+ return userTransaction;
+ }
+
+}
Added: core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/scope/Bar.java
===================================================================
--- core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/scope/Bar.java (rev 0)
+++ core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/scope/Bar.java 2010-07-28 10:18:08 UTC (rev 6820)
@@ -0,0 +1,24 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2010, Red Hat, Inc., and individual contributors
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * http://www.apache.org/licenses/LICENSE-2.0
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.jboss.weld.tests.scope;
+
+import javax.enterprise.context.Dependent;
+
+@Dependent
+class Bar extends Foo
+{
+}
\ No newline at end of file
Added: core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/scope/Foo.java
===================================================================
--- core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/scope/Foo.java (rev 0)
+++ core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/scope/Foo.java 2010-07-28 10:18:08 UTC (rev 6820)
@@ -0,0 +1,24 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2010, Red Hat, Inc., and individual contributors
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * http://www.apache.org/licenses/LICENSE-2.0
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.jboss.weld.tests.scope;
+
+import javax.enterprise.context.RequestScoped;
+
+@RequestScoped
+class Foo
+{
+}
\ No newline at end of file
Added: core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/scope/ScopeTest.java
===================================================================
--- core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/scope/ScopeTest.java (rev 0)
+++ core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/scope/ScopeTest.java 2010-07-28 10:18:08 UTC (rev 6820)
@@ -0,0 +1,105 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2010, Red Hat, Inc., and individual contributors
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * http://www.apache.org/licenses/LICENSE-2.0
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.jboss.weld.tests.scope;
+
+import java.lang.annotation.Annotation;
+
+import javax.enterprise.context.Dependent;
+import javax.enterprise.context.RequestScoped;
+import javax.enterprise.inject.spi.Bean;
+import javax.enterprise.util.AnnotationLiteral;
+import javax.inject.Inject;
+
+import org.jboss.arquillian.api.Deployment;
+import org.jboss.arquillian.junit.Arquillian;
+import org.jboss.shrinkwrap.api.Archive;
+import org.jboss.shrinkwrap.api.BeanArchive;
+import org.jboss.shrinkwrap.api.ShrinkWrap;
+import org.jboss.weld.Container;
+import org.jboss.weld.context.ContextLifecycle;
+import org.jboss.weld.context.beanstore.HashMapBeanStore;
+import org.jboss.weld.manager.BeanManagerImpl;
+import org.jboss.weld.test.Utils;
+import org.junit.Assert;
+import org.junit.Test;
+import org.junit.runner.RunWith;
+
+(a)RunWith(Arquillian.class)
+public class ScopeTest
+{
+ @Deployment
+ public static Archive<?> deploy()
+ {
+ return ShrinkWrap.create(BeanArchive.class)
+ .addPackage(ScopeTest.class.getPackage())
+ .addClass(Utils.class);
+ }
+
+ private static Annotation USELESS_LITERAL = new AnnotationLiteral<Useless>() {};
+ private static Annotation SPECIAL_LITERAL = new AnnotationLiteral<Special>() {};
+
+ @Inject
+ private BeanManagerImpl beanManager;
+
+ /*
+ * description = "WELD-322"
+ */
+ @Test
+ public void testScopeDeclaredOnSubclassOverridesScopeOnSuperClass()
+ {
+ Assert.assertEquals(Dependent.class, beanManager.resolve(beanManager.getBeans(Bar.class)).getScope());
+ }
+
+ /*
+ * description = "WELD-311"
+ */
+ @Test
+ public void testScopeOfProducerMethod()
+ {
+ Bean<Temp> specialTempBean = Utils.getBean(beanManager, Temp.class, SPECIAL_LITERAL);
+ Bean<Temp> uselessTempBean = Utils.getBean(beanManager, Temp.class, USELESS_LITERAL);
+ Assert.assertEquals(RequestScoped.class, specialTempBean.getScope());
+ Assert.assertEquals(RequestScoped.class, uselessTempBean.getScope());
+ Assert.assertEquals(10, Utils.getReference(beanManager, specialTempBean).getNumber());
+ Assert.assertEquals(11, Utils.getReference(beanManager, uselessTempBean).getNumber());
+
+ TempConsumer tempConsumer = Utils.getReference(beanManager, TempConsumer.class);
+ tempConsumer.getSpecialTemp().setNumber(101);
+ tempConsumer.getUselessTemp().setNumber(102);
+
+ Assert.assertEquals(101, tempConsumer.getSpecialTemp().getNumber());
+ Assert.assertEquals(102, tempConsumer.getUselessTemp().getNumber());
+ Assert.assertEquals(101, Utils.getReference(beanManager, specialTempBean).getNumber());
+ Assert.assertEquals(102, Utils.getReference(beanManager, uselessTempBean).getNumber());
+
+ newRequest();
+
+ Assert.assertEquals(10, tempConsumer.getSpecialTemp().getNumber());
+ Assert.assertEquals(11, tempConsumer.getUselessTemp().getNumber());
+ Assert.assertEquals(10, Utils.getReference(beanManager, specialTempBean).getNumber());
+ Assert.assertEquals(11, Utils.getReference(beanManager, uselessTempBean).getNumber());
+ }
+
+ private void newRequest()
+ {
+ ContextLifecycle lifecycle = Container.instance().services().get(ContextLifecycle.class);
+ lifecycle.endRequest("test", lifecycle.getRequestContext().getBeanStore());
+ lifecycle.restoreSession("test", new HashMapBeanStore());
+ lifecycle.beginRequest("test", new HashMapBeanStore());
+ }
+
+}
Added: core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/scope/Special.java
===================================================================
--- core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/scope/Special.java (rev 0)
+++ core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/scope/Special.java 2010-07-28 10:18:08 UTC (rev 6820)
@@ -0,0 +1,36 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2010, Red Hat, Inc., and individual contributors
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * http://www.apache.org/licenses/LICENSE-2.0
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.jboss.weld.tests.scope;
+
+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 java.lang.annotation.Retention;
+import java.lang.annotation.RetentionPolicy;
+import java.lang.annotation.Target;
+
+import javax.inject.Qualifier;
+
+@Qualifier
+(a)Retention(RetentionPolicy.RUNTIME)
+@Target({FIELD, METHOD, TYPE, PARAMETER})
+public @interface Special
+{
+
+}
Added: core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/scope/Temp.java
===================================================================
--- core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/scope/Temp.java (rev 0)
+++ core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/scope/Temp.java 2010-07-28 10:18:08 UTC (rev 6820)
@@ -0,0 +1,44 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2010, Red Hat, Inc., and individual contributors
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * http://www.apache.org/licenses/LICENSE-2.0
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.jboss.weld.tests.scope;
+
+public class Temp
+{
+
+ private int number;
+
+ public Temp(int number)
+ {
+ this.number = number;
+ }
+
+ public Temp()
+ {
+ number = 0;
+ }
+
+ public int getNumber()
+ {
+ return number;
+ }
+
+ public void setNumber(int number)
+ {
+ this.number = number;
+ }
+
+}
Added: core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/scope/TempConsumer.java
===================================================================
--- core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/scope/TempConsumer.java (rev 0)
+++ core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/scope/TempConsumer.java 2010-07-28 10:18:08 UTC (rev 6820)
@@ -0,0 +1,40 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2010, Red Hat, Inc., and individual contributors
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * http://www.apache.org/licenses/LICENSE-2.0
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.jboss.weld.tests.scope;
+
+import javax.enterprise.context.ApplicationScoped;
+import javax.inject.Inject;
+
+@ApplicationScoped
+public class TempConsumer
+{
+
+ @Inject @Special Temp specialTemp;
+ @Inject @Useless Temp uselessTemp;
+
+ public Temp getSpecialTemp()
+ {
+ return specialTemp;
+ }
+
+ public Temp getUselessTemp()
+ {
+ return uselessTemp;
+ }
+
+
+}
Added: core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/scope/TempProducer.java
===================================================================
--- core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/scope/TempProducer.java (rev 0)
+++ core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/scope/TempProducer.java 2010-07-28 10:18:08 UTC (rev 6820)
@@ -0,0 +1,44 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2010, Red Hat, Inc., and individual contributors
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * http://www.apache.org/licenses/LICENSE-2.0
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.jboss.weld.tests.scope;
+
+import java.io.Serializable;
+
+import javax.enterprise.context.RequestScoped;
+import javax.enterprise.context.SessionScoped;
+import javax.enterprise.inject.Produces;
+import javax.inject.Named;
+
+@Named
+@SessionScoped
+public class TempProducer implements Serializable
+{
+
+ @Produces
+ @RequestScoped
+ @Special
+ public Temp getTemp()
+ {
+ return new Temp(10);
+ }
+
+ @Produces
+ @RequestScoped
+ @Useless
+ Temp t = new Temp(11);
+
+}
\ No newline at end of file
Added: core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/scope/Useless.java
===================================================================
--- core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/scope/Useless.java (rev 0)
+++ core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/scope/Useless.java 2010-07-28 10:18:08 UTC (rev 6820)
@@ -0,0 +1,36 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2010, Red Hat, Inc., and individual contributors
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * http://www.apache.org/licenses/LICENSE-2.0
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.jboss.weld.tests.scope;
+
+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 java.lang.annotation.Retention;
+import java.lang.annotation.RetentionPolicy;
+import java.lang.annotation.Target;
+
+import javax.inject.Qualifier;
+
+@Qualifier
+(a)Retention(RetentionPolicy.RUNTIME)
+@Target({FIELD, METHOD, TYPE, PARAMETER})
+public @interface Useless
+{
+
+}
Added: core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/serialization/LoggerConsumer.java
===================================================================
--- core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/serialization/LoggerConsumer.java (rev 0)
+++ core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/serialization/LoggerConsumer.java 2010-07-28 10:18:08 UTC (rev 6820)
@@ -0,0 +1,41 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2010, Red Hat, Inc., and individual contributors
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * http://www.apache.org/licenses/LICENSE-2.0
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.jboss.weld.tests.serialization;
+
+import java.io.Serializable;
+import java.util.logging.Logger;
+
+import javax.enterprise.context.SessionScoped;
+import javax.inject.Inject;
+
+@SessionScoped
+public class LoggerConsumer implements Serializable
+{
+
+ @Inject Logger log;
+
+ public void ping()
+ {
+
+ }
+
+ public Logger getLog()
+ {
+ return log;
+ }
+
+}
Added: core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/serialization/LoggerProducer.java
===================================================================
--- core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/serialization/LoggerProducer.java (rev 0)
+++ core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/serialization/LoggerProducer.java 2010-07-28 10:18:08 UTC (rev 6820)
@@ -0,0 +1,32 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2010, Red Hat, Inc., and individual contributors
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * http://www.apache.org/licenses/LICENSE-2.0
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.jboss.weld.tests.serialization;
+
+import java.util.logging.Logger;
+
+import javax.enterprise.inject.Produces;
+
+public class LoggerProducer
+{
+
+ @Produces
+ public Logger produceLogger()
+ {
+ return Logger.getLogger("foo");
+ }
+
+}
Added: core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/serialization/Mock.java
===================================================================
--- core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/serialization/Mock.java (rev 0)
+++ core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/serialization/Mock.java 2010-07-28 10:18:08 UTC (rev 6820)
@@ -0,0 +1,38 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2010, Red Hat, Inc., and individual contributors
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * http://www.apache.org/licenses/LICENSE-2.0
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.jboss.weld.tests.serialization;
+
+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.Inherited;
+import java.lang.annotation.Retention;
+import java.lang.annotation.Target;
+
+import javax.inject.Qualifier;
+
+@Target( { TYPE, METHOD, PARAMETER, FIELD })
+@Retention(RUNTIME)
+@Documented
+@Qualifier
+@Inherited
+public @interface Mock {
+}
\ No newline at end of file
Added: core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/serialization/SerializationTest.java
===================================================================
--- core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/serialization/SerializationTest.java (rev 0)
+++ core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/serialization/SerializationTest.java 2010-07-28 10:18:08 UTC (rev 6820)
@@ -0,0 +1,78 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2010, Red Hat, Inc., and individual contributors
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * http://www.apache.org/licenses/LICENSE-2.0
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.jboss.weld.tests.serialization;
+
+import java.io.Serializable;
+
+import javax.enterprise.inject.IllegalProductException;
+
+import org.jboss.arquillian.api.Deployment;
+import org.jboss.arquillian.junit.Arquillian;
+import org.jboss.shrinkwrap.api.Archive;
+import org.jboss.shrinkwrap.api.BeanArchive;
+import org.jboss.shrinkwrap.api.ShrinkWrap;
+import org.jboss.weld.test.Utils;
+import org.junit.Assert;
+import org.junit.Test;
+import org.junit.runner.RunWith;
+
+(a)RunWith(Arquillian.class)
+public class SerializationTest
+{
+ @Deployment
+ public static Archive<?> deploy()
+ {
+ return ShrinkWrap.create(BeanArchive.class)
+ .addPackage(SerializationTest.class.getPackage());
+ }
+
+ /*
+ * description = "WELD-363"
+ */
+ @Test
+ public void testConversationManagerSerializable(@Mock TestConversationManager cMgr)
+ throws Exception
+ {
+ Assert.assertNotNull(cMgr.getConversationInstance());
+
+ Object deserialized = Utils.deserialize(Utils.serialize(cMgr));
+
+ Assert.assertTrue(deserialized instanceof TestConversationManager);
+ TestConversationManager deserializedCMgr = (TestConversationManager) deserialized;
+ Assert.assertNotNull(deserializedCMgr.getConversationInstance());
+ }
+
+ /*
+ * description = "http://lists.jboss.org/pipermail/weld-dev/2010-February/002265.html"
+ */
+ @Test
+ public void testNonSerializableProductInjectedIntoSessionScopedBean(LoggerConsumer consumer)
+ {
+ try
+ {
+ consumer.ping();
+ }
+ catch (Exception e)
+ {
+ // If Logger isn't serializable, we get here
+ Assert.assertTrue(e instanceof IllegalProductException);
+ return;
+ }
+ // If Logger is serializable we get here
+ Assert.assertTrue(consumer.getLog() instanceof Serializable);
+ }
+}
Added: core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/serialization/TestConversationManager.java
===================================================================
--- core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/serialization/TestConversationManager.java (rev 0)
+++ core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/serialization/TestConversationManager.java 2010-07-28 10:18:08 UTC (rev 6820)
@@ -0,0 +1,37 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2010, Red Hat, Inc., and individual contributors
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * http://www.apache.org/licenses/LICENSE-2.0
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.jboss.weld.tests.serialization;
+
+import java.lang.reflect.Field;
+
+import org.jboss.weld.conversation.AbstractConversationManager;
+import org.jboss.weld.conversation.ConversationImpl;
+import org.jboss.weld.conversation.ServletConversationManager;
+
+@Mock
+public class TestConversationManager extends ServletConversationManager
+{
+ private static final long serialVersionUID = 2;
+
+ public ConversationImpl getConversationInstance() throws Exception
+ {
+ Field ccField = AbstractConversationManager.class.getDeclaredField("conversation");
+ ccField.setAccessible(true);
+ return (ConversationImpl) ccField.get(this);
+ }
+
+}
Added: core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/session/newBean/NewEnterpriseBeanTest.java
===================================================================
--- core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/session/newBean/NewEnterpriseBeanTest.java (rev 0)
+++ core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/session/newBean/NewEnterpriseBeanTest.java 2010-07-28 10:18:08 UTC (rev 6820)
@@ -0,0 +1,109 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2010, Red Hat, Inc., and individual contributors
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * http://www.apache.org/licenses/LICENSE-2.0
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.jboss.weld.tests.session.newBean;
+
+import java.util.Set;
+
+import javax.enterprise.inject.New;
+import javax.enterprise.inject.spi.Bean;
+import javax.enterprise.inject.spi.BeanManager;
+import javax.inject.Inject;
+
+import org.jboss.arquillian.api.Deployment;
+import org.jboss.arquillian.junit.Arquillian;
+import org.jboss.shrinkwrap.api.Archive;
+import org.jboss.shrinkwrap.api.ShrinkWrap;
+import org.jboss.shrinkwrap.api.asset.EmptyAsset;
+import org.jboss.shrinkwrap.api.spec.EnterpriseArchive;
+import org.jboss.shrinkwrap.api.spec.JavaArchive;
+import org.jboss.weld.bean.NewSessionBean;
+import org.jboss.weld.bean.SessionBean;
+import org.jboss.weld.introspector.WeldAnnotated;
+import org.jboss.weld.literal.NewLiteral;
+import org.jboss.weld.tests.category.Broken;
+import org.junit.Assert;
+import org.junit.Test;
+import org.junit.experimental.categories.Category;
+import org.junit.runner.RunWith;
+
+(a)RunWith(Arquillian.class)
+public class NewEnterpriseBeanTest
+{
+ @Deployment
+ public static Archive<?> deploy()
+ {
+ return ShrinkWrap.create(EnterpriseArchive.class, "test.ear")
+ .addModule(
+ ShrinkWrap.create(JavaArchive.class)
+ .addPackage(NewEnterpriseBeanTest.class.getPackage())
+ .addManifestResource(EmptyAsset.INSTANCE, "beans.xml")
+ );
+ }
+
+ private static final New NEW_LITERAL = new NewLiteral()
+ {
+ @Override
+ public java.lang.Class<?> value()
+ {
+ return WrappedEnterpriseBean.class;
+ }
+
+ };
+
+ @Inject
+ private BeanManager beanManager;
+
+ private SessionBean<WrappedEnterpriseBeanLocal> wrappedEnterpriseBean;
+ private NewSessionBean<WrappedEnterpriseBeanLocal> newEnterpriseBean;
+
+ public void initNewBean()
+ {
+ Set<Bean<?>> beans = beanManager.getBeans(WrappedEnterpriseBeanLocal.class);
+ Assert.assertEquals(1, beanManager.getBeans(WrappedEnterpriseBeanLocal.class).size());
+ Assert.assertTrue(beanManager.getBeans(WrappedEnterpriseBeanLocal.class).iterator().next() instanceof SessionBean<?>);
+ wrappedEnterpriseBean = (SessionBean<WrappedEnterpriseBeanLocal>) beanManager.getBeans(WrappedEnterpriseBeanLocal.class).iterator().next();
+
+ Assert.assertEquals(1, beanManager.getBeans(WrappedEnterpriseBeanLocal.class, NEW_LITERAL).size());
+ Assert.assertTrue(beanManager.getBeans(WrappedEnterpriseBeanLocal.class, NEW_LITERAL).iterator().next() instanceof NewSessionBean<?>);
+ newEnterpriseBean = (NewSessionBean<WrappedEnterpriseBeanLocal>) beanManager.getBeans(WrappedEnterpriseBeanLocal.class, NEW_LITERAL).iterator().next();
+ }
+
+ @Test
+ @Category(Broken.class)
+ public void testNewBeanHasImplementationClassOfInjectionPointType()
+ {
+ initNewBean();
+ Assert.assertEquals(WrappedEnterpriseBean.class, newEnterpriseBean.getType());
+ }
+
+ @Test
+ public void testNewBeanHasSameInitializerMethodsAsWrappedBean()
+ {
+ initNewBean();
+ Assert.assertEquals(wrappedEnterpriseBean.getInitializerMethods(), newEnterpriseBean.getInitializerMethods());
+ }
+
+ @Test
+ public void testNewBeanHasSameInjectedFieldsAsWrappedBean()
+ {
+ initNewBean();
+ Set<? extends WeldAnnotated<?, ?>> wrappedBeanInjectionPoints = wrappedEnterpriseBean.getWeldInjectionPoints();
+ Set<? extends WeldAnnotated<?, ?>> newBeanInjectionPoints = newEnterpriseBean.getWeldInjectionPoints();
+ Assert.assertEquals(wrappedBeanInjectionPoints, newBeanInjectionPoints);
+ }
+
+}
Added: core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/session/newBean/WrappedEnterpriseBean.java
===================================================================
--- core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/session/newBean/WrappedEnterpriseBean.java (rev 0)
+++ core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/session/newBean/WrappedEnterpriseBean.java 2010-07-28 10:18:08 UTC (rev 6820)
@@ -0,0 +1,30 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2010, Red Hat, Inc., and individual contributors
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * http://www.apache.org/licenses/LICENSE-2.0
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.jboss.weld.tests.session.newBean;
+
+import javax.ejb.Remove;
+import javax.ejb.Stateful;
+import javax.enterprise.context.SessionScoped;
+
+@SessionScoped
+@Stateful
+class WrappedEnterpriseBean implements WrappedEnterpriseBeanLocal
+{
+ @Remove
+ public void bye() {
+ }
+}
Added: core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/session/newBean/WrappedEnterpriseBeanLocal.java
===================================================================
--- core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/session/newBean/WrappedEnterpriseBeanLocal.java (rev 0)
+++ core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/session/newBean/WrappedEnterpriseBeanLocal.java 2010-07-28 10:18:08 UTC (rev 6820)
@@ -0,0 +1,25 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2010, Red Hat, Inc., and individual contributors
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * http://www.apache.org/licenses/LICENSE-2.0
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.jboss.weld.tests.session.newBean;
+
+import javax.ejb.Local;
+
+@Local
+public interface WrappedEnterpriseBeanLocal
+{
+
+}
Added: core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/stereotypes/Animal.java
===================================================================
--- core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/stereotypes/Animal.java (rev 0)
+++ core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/stereotypes/Animal.java 2010-07-28 10:18:08 UTC (rev 6820)
@@ -0,0 +1,22 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2010, Red Hat, Inc., and individual contributors
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * http://www.apache.org/licenses/LICENSE-2.0
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.jboss.weld.tests.stereotypes;
+
+interface Animal
+{
+
+}
Added: core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/stereotypes/AnimalOrderStereotype.java
===================================================================
--- core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/stereotypes/AnimalOrderStereotype.java (rev 0)
+++ core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/stereotypes/AnimalOrderStereotype.java 2010-07-28 10:18:08 UTC (rev 6820)
@@ -0,0 +1,35 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2010, Red Hat, Inc., and individual contributors
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * http://www.apache.org/licenses/LICENSE-2.0
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.jboss.weld.tests.stereotypes;
+
+import static java.lang.annotation.ElementType.TYPE;
+import static java.lang.annotation.RetentionPolicy.RUNTIME;
+
+import java.lang.annotation.Retention;
+import java.lang.annotation.Target;
+
+import javax.enterprise.inject.Stereotype;
+
+
+
+@Stereotype
+@Target( { TYPE })
+@Retention(RUNTIME)
+@interface AnimalOrderStereotype
+{
+
+}
Added: core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/stereotypes/AnimalStereotype.java
===================================================================
--- core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/stereotypes/AnimalStereotype.java (rev 0)
+++ core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/stereotypes/AnimalStereotype.java 2010-07-28 10:18:08 UTC (rev 6820)
@@ -0,0 +1,37 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2010, Red Hat, Inc., and individual contributors
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * http://www.apache.org/licenses/LICENSE-2.0
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.jboss.weld.tests.stereotypes;
+
+import static java.lang.annotation.ElementType.FIELD;
+import static java.lang.annotation.ElementType.METHOD;
+import static java.lang.annotation.ElementType.TYPE;
+import static java.lang.annotation.RetentionPolicy.RUNTIME;
+
+import java.lang.annotation.Retention;
+import java.lang.annotation.Target;
+
+import javax.enterprise.context.RequestScoped;
+import javax.enterprise.inject.Stereotype;
+
+@Stereotype
+@Target( { TYPE, METHOD, FIELD })
+@Retention(RUNTIME)
+@RequestScoped
+@interface AnimalStereotype
+{
+
+}
Added: core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/stereotypes/Order.java
===================================================================
--- core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/stereotypes/Order.java (rev 0)
+++ core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/stereotypes/Order.java 2010-07-28 10:18:08 UTC (rev 6820)
@@ -0,0 +1,23 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2010, Red Hat, Inc., and individual contributors
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * http://www.apache.org/licenses/LICENSE-2.0
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.jboss.weld.tests.stereotypes;
+
+
+class Order
+{
+
+}
Added: core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/stereotypes/RequestScopedAnimalStereotype.java
===================================================================
--- core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/stereotypes/RequestScopedAnimalStereotype.java (rev 0)
+++ core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/stereotypes/RequestScopedAnimalStereotype.java 2010-07-28 10:18:08 UTC (rev 6820)
@@ -0,0 +1,33 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2010, Red Hat, Inc., and individual contributors
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * http://www.apache.org/licenses/LICENSE-2.0
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.jboss.weld.tests.stereotypes;
+
+import static java.lang.annotation.ElementType.TYPE;
+import static java.lang.annotation.RetentionPolicy.RUNTIME;
+
+import java.lang.annotation.Retention;
+import java.lang.annotation.Target;
+
+import javax.enterprise.inject.Stereotype;
+
+@Stereotype
+@Target( { TYPE })
+@Retention(RUNTIME)
+public @interface RequestScopedAnimalStereotype
+{
+
+}
Added: core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/stereotypes/StereotypesTest.java
===================================================================
--- core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/stereotypes/StereotypesTest.java (rev 0)
+++ core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/stereotypes/StereotypesTest.java 2010-07-28 10:18:08 UTC (rev 6820)
@@ -0,0 +1,74 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2010, Red Hat, Inc., and individual contributors
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * http://www.apache.org/licenses/LICENSE-2.0
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.jboss.weld.tests.stereotypes;
+
+import javax.enterprise.context.RequestScoped;
+
+import org.jboss.arquillian.api.Deployment;
+import org.jboss.arquillian.junit.Arquillian;
+import org.jboss.shrinkwrap.api.Archive;
+import org.jboss.shrinkwrap.api.BeanArchive;
+import org.jboss.shrinkwrap.api.ShrinkWrap;
+import org.jboss.weld.metadata.TypeStore;
+import org.jboss.weld.metadata.cache.StereotypeModel;
+import org.jboss.weld.resources.ClassTransformer;
+import org.junit.Assert;
+import org.junit.Test;
+import org.junit.runner.RunWith;
+
+(a)RunWith(Arquillian.class)
+public class StereotypesTest
+{
+ @Deployment
+ public static Archive<?> deploy()
+ {
+ return ShrinkWrap.create(BeanArchive.class)
+ .addPackage(StereotypesTest.class.getPackage());
+ }
+
+ private final ClassTransformer transformer = new ClassTransformer(new TypeStore());
+
+ @Test
+ public void testAnimalStereotype()
+ {
+ StereotypeModel<AnimalStereotype> animalStereotype = new StereotypeModel<AnimalStereotype>(AnimalStereotype.class, transformer);
+ Assert.assertEquals(RequestScoped.class, animalStereotype.getDefaultScopeType().annotationType());
+ Assert.assertEquals(0, animalStereotype.getInterceptorBindings().size());
+ Assert.assertFalse(animalStereotype.isBeanNameDefaulted());
+ Assert.assertFalse(animalStereotype.isAlternative());
+ }
+
+ @Test
+ public void testAnimalOrderStereotype()
+ {
+ StereotypeModel<AnimalOrderStereotype> animalStereotype = new StereotypeModel<AnimalOrderStereotype>(AnimalOrderStereotype.class, transformer);
+ Assert.assertNull(animalStereotype.getDefaultScopeType());
+ Assert.assertEquals(0, animalStereotype.getInterceptorBindings().size());
+ Assert.assertFalse(animalStereotype.isBeanNameDefaulted());
+ Assert.assertFalse(animalStereotype.isAlternative());
+ }
+
+ @Test
+ public void testRequestScopedAnimalStereotype()
+ {
+ StereotypeModel<RequestScopedAnimalStereotype> animalStereotype = new StereotypeModel<RequestScopedAnimalStereotype>(RequestScopedAnimalStereotype.class, transformer);
+ Assert.assertNull(animalStereotype.getDefaultScopeType());
+ Assert.assertEquals(0, animalStereotype.getInterceptorBindings().size());
+ Assert.assertFalse(animalStereotype.isBeanNameDefaulted());
+ Assert.assertFalse(animalStereotype.isAlternative());
+ }
+}
Added: core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/unit/bootstrap/Bar.java
===================================================================
--- core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/unit/bootstrap/Bar.java (rev 0)
+++ core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/unit/bootstrap/Bar.java 2010-07-28 10:18:08 UTC (rev 6820)
@@ -0,0 +1,26 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2010, Red Hat, Inc., and individual contributors
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * http://www.apache.org/licenses/LICENSE-2.0
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.jboss.weld.tests.unit.bootstrap;
+
+/**
+ * @author pmuir
+ *
+ */
+public class Bar
+{
+
+}
Added: core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/unit/bootstrap/CheckableInjectionServices.java
===================================================================
--- core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/unit/bootstrap/CheckableInjectionServices.java (rev 0)
+++ core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/unit/bootstrap/CheckableInjectionServices.java 2010-07-28 10:18:08 UTC (rev 6820)
@@ -0,0 +1,84 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2010, Red Hat, Inc., and individual contributors
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * http://www.apache.org/licenses/LICENSE-2.0
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.jboss.weld.tests.unit.bootstrap;
+
+import org.jboss.weld.injection.spi.InjectionContext;
+import org.jboss.weld.injection.spi.InjectionServices;
+
+/**
+ * @author pmuir
+ *
+ */
+public class CheckableInjectionServices implements InjectionServices
+{
+
+ private boolean before = false;
+ private boolean after = false;
+ private boolean injectedAfter = false;
+ private boolean injectionTargetCorrect = false;
+
+ public <T> void aroundInject(InjectionContext<T> injectionContext)
+ {
+ before = true;
+ if (injectionContext.getTarget() instanceof Foo)
+ {
+ ((Foo) injectionContext.getTarget()).message = "hi!";
+ if (injectionContext.getInjectionTarget().getInjectionPoints().size() == 1)
+ {
+ injectionTargetCorrect = injectionContext.getInjectionTarget().getInjectionPoints().iterator().next().getType().equals(Bar.class);
+ }
+ }
+ injectionContext.proceed();
+ after = true;
+ if (injectionContext.getTarget() instanceof Foo)
+ {
+ Foo foo = (Foo) injectionContext.getTarget();
+ injectedAfter = foo.getBar() instanceof Bar && foo.getMessage().equals("hi!");
+ }
+ }
+
+ public void reset()
+ {
+ before = false;
+ after = false;
+ injectedAfter = false;
+ injectionTargetCorrect = false;
+ }
+
+ public boolean isBefore()
+ {
+ return before;
+ }
+
+ public boolean isAfter()
+ {
+ return after;
+ }
+
+ public boolean isInjectedAfter()
+ {
+ return injectedAfter;
+ }
+
+ public boolean isInjectionTargetCorrect()
+ {
+ return injectionTargetCorrect;
+ }
+
+ public void cleanup() {}
+
+}
Added: core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/unit/bootstrap/ContainerStatusTest.java
===================================================================
--- core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/unit/bootstrap/ContainerStatusTest.java (rev 0)
+++ core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/unit/bootstrap/ContainerStatusTest.java 2010-07-28 10:18:08 UTC (rev 6820)
@@ -0,0 +1,50 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2010, Red Hat, Inc., and individual contributors
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * http://www.apache.org/licenses/LICENSE-2.0
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.jboss.weld.tests.unit.bootstrap;
+
+import org.jboss.weld.Container;
+import org.jboss.weld.ContainerState;
+import org.jboss.weld.mock.MockServletLifecycle;
+import org.jboss.weld.mock.TestContainer;
+import org.junit.Assert;
+import org.junit.Test;
+
+public class ContainerStatusTest
+{
+
+ @Test
+ public void testStatus()
+ {
+ TestContainer container = new TestContainer(new MockServletLifecycle());
+ Assert.assertFalse(Container.available());
+ container.getLifecycle().initialize();
+ Assert.assertFalse(Container.available());
+ Assert.assertEquals(ContainerState.STARTING, Container.instance().getState());
+ container.getLifecycle().getBootstrap().startInitialization();
+ Assert.assertFalse(Container.available());
+ Assert.assertEquals(ContainerState.STARTING, Container.instance().getState());
+ container.getLifecycle().getBootstrap().deployBeans();
+ Assert.assertTrue(Container.available());
+ Assert.assertEquals(ContainerState.INITIALIZED, Container.instance().getState());
+ container.getLifecycle().getBootstrap().validateBeans().endInitialization();
+ Assert.assertTrue(Container.available());
+ Assert.assertEquals(ContainerState.VALIDATED, Container.instance().getState());
+ container.stopContainer();
+ Assert.assertFalse(Container.available());
+ }
+
+}
Added: core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/unit/bootstrap/DiscoverFailsBootstrapTest.java
===================================================================
--- core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/unit/bootstrap/DiscoverFailsBootstrapTest.java (rev 0)
+++ core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/unit/bootstrap/DiscoverFailsBootstrapTest.java 2010-07-28 10:18:08 UTC (rev 6820)
@@ -0,0 +1,34 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2010, Red Hat, Inc., and individual contributors
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * http://www.apache.org/licenses/LICENSE-2.0
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.jboss.weld.tests.unit.bootstrap;
+
+import org.jboss.weld.bootstrap.WeldBootstrap;
+import org.jboss.weld.bootstrap.api.Bootstrap;
+import org.jboss.weld.bootstrap.api.Environments;
+import org.jboss.weld.context.api.helpers.ConcurrentHashMapBeanStore;
+import org.junit.Test;
+
+public class DiscoverFailsBootstrapTest
+{
+
+ @Test(expected = IllegalArgumentException.class)
+ public void testDiscoverFails()
+ {
+ Bootstrap bootstrap = new WeldBootstrap();
+ bootstrap.startContainer(Environments.SE, null, new ConcurrentHashMapBeanStore());
+ }
+}
Added: core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/unit/bootstrap/Foo.java
===================================================================
--- core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/unit/bootstrap/Foo.java (rev 0)
+++ core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/unit/bootstrap/Foo.java 2010-07-28 10:18:08 UTC (rev 6820)
@@ -0,0 +1,49 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2010, Red Hat, Inc., and individual contributors
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * http://www.apache.org/licenses/LICENSE-2.0
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.jboss.weld.tests.unit.bootstrap;
+
+import javax.inject.Inject;
+
+/**
+ * @author pmuir
+ *
+ */
+public class Foo
+{
+
+ @Inject
+ private Bar bar;
+
+ public String message;
+
+ /**
+ * @return the bar
+ */
+ public Bar getBar()
+ {
+ return bar;
+ }
+
+ /**
+ * @return the message
+ */
+ public String getMessage()
+ {
+ return message;
+ }
+
+}
Added: core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/unit/bootstrap/InjectionServicesTest.java
===================================================================
--- core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/unit/bootstrap/InjectionServicesTest.java (rev 0)
+++ core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/unit/bootstrap/InjectionServicesTest.java 2010-07-28 10:18:08 UTC (rev 6820)
@@ -0,0 +1,60 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2010, Red Hat, Inc., and individual contributors
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * http://www.apache.org/licenses/LICENSE-2.0
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.jboss.weld.tests.unit.bootstrap;
+
+import java.util.Arrays;
+
+import javax.enterprise.inject.spi.Bean;
+import javax.enterprise.inject.spi.BeanManager;
+
+import org.jboss.weld.injection.spi.InjectionServices;
+import org.jboss.weld.mock.MockEELifecycle;
+import org.jboss.weld.mock.TestContainer;
+import org.junit.Assert;
+import org.junit.Test;
+
+public class InjectionServicesTest
+{
+
+ @Test
+ public void testInjectionOfTarget()
+ {
+ TestContainer container = new TestContainer(new MockEELifecycle(), Arrays.asList(Foo.class, Bar.class), null);
+ CheckableInjectionServices ijs = new CheckableInjectionServices();
+ container.getLifecycle().getWar().getServices().add(InjectionServices.class, ijs);
+ container.startContainer();
+ container.ensureRequestActive();
+
+ BeanManager manager = container.getBeanManager();
+
+ Bean<? extends Object> bean = manager.resolve(manager.getBeans(Foo.class));
+ ijs.reset();
+ Foo foo = (Foo) manager.getReference(bean, Foo.class, manager.createCreationalContext(bean));
+
+ Assert.assertTrue(ijs.isBefore());
+ Assert.assertTrue(ijs.isAfter());
+ Assert.assertTrue(ijs.isInjectedAfter());
+ Assert.assertTrue(ijs.isInjectionTargetCorrect());
+
+ Assert.assertNotNull(foo.getBar());
+ Assert.assertEquals("hi!", foo.getMessage());
+
+
+ container.stopContainer();
+ }
+
+}
Added: core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/unit/bootstrap/PreinstantiateBeanManagerTest.java
===================================================================
--- core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/unit/bootstrap/PreinstantiateBeanManagerTest.java (rev 0)
+++ core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/unit/bootstrap/PreinstantiateBeanManagerTest.java 2010-07-28 10:18:08 UTC (rev 6820)
@@ -0,0 +1,72 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2010, Red Hat, Inc., and individual contributors
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * http://www.apache.org/licenses/LICENSE-2.0
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.jboss.weld.tests.unit.bootstrap;
+
+import java.util.ArrayList;
+import java.util.List;
+import java.util.Set;
+
+import javax.enterprise.inject.spi.Bean;
+import javax.enterprise.inject.spi.BeanManager;
+
+import org.jboss.weld.mock.MockEELifecycle;
+import org.jboss.weld.mock.TestContainer;
+import org.junit.Assert;
+import org.junit.Test;
+
+/**
+ * @author kkhan
+ *
+ */
+public class PreinstantiateBeanManagerTest
+{
+
+ @Test
+ public void test()
+ {
+ //Start the container, but do not deploy weld yet
+ List<Class<?>> classes = new ArrayList<Class<?>>();
+ classes.add(WeldBean.class);
+ TestContainer container = new TestContainer(new MockEELifecycle(), classes, null);
+ container.getLifecycle().initialize();
+
+ BeanManager bootstrapManager = container.getBeanManager();
+ Assert.assertNotNull(bootstrapManager);
+
+ //Check the bean is null since it is not there yet
+ Set<Bean<?>> beans = bootstrapManager.getBeans(WeldBean.class);
+ Assert.assertNotNull(beans);
+ Assert.assertEquals(0, beans.size());
+
+ //Start the application
+ container.getLifecycle().beginApplication();
+ container.ensureRequestActive();
+
+ //Check the manager is the same as before
+ BeanManager manager = container.getBeanManager();
+ Assert.assertNotNull(manager);
+ Assert.assertEquals(bootstrapManager, manager);
+
+ //Check we can get the bean
+ Bean<? extends Object> bean = manager.resolve(manager.getBeans(WeldBean.class));
+ WeldBean weldBean = (WeldBean) manager.getReference(bean, WeldBean.class, manager.createCreationalContext(bean));
+ Assert.assertNotNull(weldBean);
+
+ container.stopContainer();
+ }
+
+}
Added: core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/unit/bootstrap/WeldBean.java
===================================================================
--- core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/unit/bootstrap/WeldBean.java (rev 0)
+++ core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/unit/bootstrap/WeldBean.java 2010-07-28 10:18:08 UTC (rev 6820)
@@ -0,0 +1,27 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2010, Red Hat, Inc., and individual contributors
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * http://www.apache.org/licenses/LICENSE-2.0
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.jboss.weld.tests.unit.bootstrap;
+
+/**
+ *
+ * @author <a href="kabir.khan(a)jboss.com">Kabir Khan</a>
+ * @version $Revision: 1.1 $
+ */
+public class WeldBean
+{
+
+}
Added: core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/unit/bootstrap/WeldStartupTest.java
===================================================================
--- core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/unit/bootstrap/WeldStartupTest.java (rev 0)
+++ core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/unit/bootstrap/WeldStartupTest.java 2010-07-28 10:18:08 UTC (rev 6820)
@@ -0,0 +1,54 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2010, Red Hat, Inc., and individual contributors
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * http://www.apache.org/licenses/LICENSE-2.0
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.jboss.weld.tests.unit.bootstrap;
+
+import java.util.Arrays;
+
+import javax.enterprise.inject.spi.Bean;
+import javax.enterprise.inject.spi.BeanManager;
+
+import org.jboss.weld.mock.MockEELifecycle;
+import org.jboss.weld.mock.TestContainer;
+import org.junit.Assert;
+import org.junit.Test;
+
+/**
+ * @author pmuir
+ *
+ */
+public class WeldStartupTest
+{
+
+ @Test
+ public void test()
+ {
+ TestContainer container = new TestContainer(new MockEELifecycle(), Arrays.asList(Foo.class, Bar.class), null);
+ container.startContainer();
+ container.ensureRequestActive();
+
+ BeanManager manager = container.getBeanManager();
+
+ Bean<? extends Object> bean = manager.resolve(manager.getBeans(Foo.class));
+ Foo foo = (Foo) manager.getReference(bean, Foo.class, manager.createCreationalContext(bean));
+
+ Assert.assertNotNull(foo);
+ Assert.assertNotNull(foo.getBar());
+
+ container.stopContainer();
+ }
+
+}
Added: core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/unit/bootstrap/xml/Alt.java
===================================================================
--- core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/unit/bootstrap/xml/Alt.java (rev 0)
+++ core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/unit/bootstrap/xml/Alt.java 2010-07-28 10:18:08 UTC (rev 6820)
@@ -0,0 +1,25 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2010, Red Hat, Inc., and individual contributors
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * http://www.apache.org/licenses/LICENSE-2.0
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.jboss.weld.tests.unit.bootstrap.xml;
+
+import javax.enterprise.inject.Alternative;
+
+@Alternative
+public class Alt
+{
+
+}
Added: core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/unit/bootstrap/xml/BeansXmlTest.java
===================================================================
--- core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/unit/bootstrap/xml/BeansXmlTest.java (rev 0)
+++ core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/unit/bootstrap/xml/BeansXmlTest.java 2010-07-28 10:18:08 UTC (rev 6820)
@@ -0,0 +1,219 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2010, Red Hat, Inc., and individual contributors
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * http://www.apache.org/licenses/LICENSE-2.0
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.jboss.weld.tests.unit.bootstrap.xml;
+
+import java.net.MalformedURLException;
+import java.net.URL;
+import java.util.Arrays;
+import java.util.Collections;
+import java.util.List;
+
+import org.jboss.weld.logging.messages.XmlMessage;
+import org.jboss.weld.mock.MockEELifecycle;
+import org.jboss.weld.mock.TestContainer;
+import org.jboss.weld.xml.WeldXmlException;
+import org.junit.Assert;
+import org.junit.Test;
+
+@SuppressWarnings("unchecked")
+public class BeansXmlTest
+{
+ private static class FailedDeployment
+ {
+ private List<Class<?>> beans = Collections.emptyList();
+ private List<URL> beansXml = Collections.emptyList();
+
+ public FailedDeployment(List<Class<?>> beans, List<URL> beansXml)
+ {
+ this.beans = beans;
+ this.beansXml = beansXml;
+ }
+
+ public void run()
+ {
+ TestContainer container = null;
+ try
+ {
+ container = new TestContainer(new MockEELifecycle(), beans, beansXml).startContainer().ensureRequestActive();
+ }
+ finally
+ {
+ if (container != null)
+ {
+ container.stopContainer();
+ }
+ }
+ }
+
+ public void runAndExpect(WeldXmlException expected)
+ {
+ String errorCode = expected.getMessage().substring(0, 11);
+ try
+ {
+ run();
+ }
+ catch (WeldXmlException e)
+ {
+ if (e.getMessage().startsWith(errorCode))
+ {
+ return;
+ }
+ }
+ assert false;
+ }
+
+ }
+
+ private static void checkWithBeansXmlAndExpectException(String beansXml, WeldXmlException e)
+ {
+ List<Class<?>> beans = Arrays.asList(Alt.class, Dec.class, Int.class, Plain.class, IntBind.class);
+ List<URL> beansXmls = Arrays.asList(BeansXmlTest.class.getResource(beansXml));
+ new FailedDeployment(beans, beansXmls).runAndExpect(e);
+ }
+
+ // Multiple XML blocks
+
+ @Test
+ public void testMultipleAlternativeBlocksFail()
+ {
+ checkWithBeansXmlAndExpectException("multipleAlternativeBlocks.xml", new WeldXmlException(XmlMessage.MULTIPLE_ALTERNATIVES));
+ }
+
+ @Test
+ public void testMultipleDecoratorBlocksFail()
+ {
+ checkWithBeansXmlAndExpectException("multipleDecoratorBlocks.xml", new WeldXmlException(XmlMessage.MULTIPLE_DECORATORS));
+ }
+
+ @Test
+ public void testMultipleInterceptorBlocksFail()
+ {
+ checkWithBeansXmlAndExpectException("multipleInterceptorsBlocks.xml", new WeldXmlException(XmlMessage.MULTIPLE_INTERCEPTORS));
+ }
+
+ @Test
+ public void testAlternativesEnabled()
+ {
+ List<Class<?>> beans = Arrays.asList(Alt.class, Dec.class, Int.class, IntBind.class, Plain.class);
+ List<URL> beansXmls = Arrays.asList(getClass().getResource("alternative.xml"));
+ TestContainer container = new TestContainer(new MockEELifecycle(), beans, beansXmls).startContainer().ensureRequestActive();
+ Assert.assertEquals(1, container.getBeanManager().getEnabledClasses().getAlternativeClasses().size());
+ Assert.assertEquals(Alt.class, container.getBeanManager().getEnabledClasses().getAlternativeClasses().iterator().next());
+ container.stopContainer();
+ }
+
+ @Test
+ public void testDecoratorsEnabled()
+ {
+ List<Class<?>> beans = Arrays.asList(Alt.class, Dec.class, Int.class, IntBind.class, Plain.class);
+ List<URL> beansXmls = Arrays.asList(getClass().getResource("decorator.xml"));
+ TestContainer container = new TestContainer(new MockEELifecycle(), beans, beansXmls).startContainer().ensureRequestActive();
+ Assert.assertEquals(1, container.getBeanManager().getEnabledClasses().getDecorators().size());
+ Assert.assertEquals(Dec.class, container.getBeanManager().getEnabledClasses().getDecorators().iterator().next());
+ container.stopContainer();
+ }
+
+ @Test
+ public void testInterceptorsEnabled()
+ {
+ List<Class<?>> beans = Arrays.asList(Alt.class, Dec.class, Int.class, IntBind.class, Plain.class);
+ List<URL> beansXmls = Arrays.asList(getClass().getResource("interceptor.xml"));
+ TestContainer container = new TestContainer(new MockEELifecycle(), beans, beansXmls).startContainer().ensureRequestActive();
+ Assert.assertEquals(1, container.getBeanManager().getEnabledClasses().getInterceptors().size());
+ Assert.assertEquals(Int.class, container.getBeanManager().getEnabledClasses().getInterceptors().iterator().next());
+ container.stopContainer();
+ }
+
+ @Test
+ public void testMergeBeansXmls()
+ {
+ List<Class<?>> beans = Arrays.asList(Alt.class, Dec.class, Int.class, IntBind.class, Plain.class);
+ List<URL> beansXmls = Arrays.asList(getClass().getResource("alternative.xml"), getClass().getResource("decorator.xml"), getClass().getResource("interceptor.xml"));
+ TestContainer container = new TestContainer(new MockEELifecycle(), beans, beansXmls).startContainer().ensureRequestActive();
+ Assert.assertEquals(1, container.getBeanManager().getEnabledClasses().getAlternativeClasses().size());
+ Assert.assertEquals(Alt.class, container.getBeanManager().getEnabledClasses().getAlternativeClasses().iterator().next());
+ Assert.assertEquals(1, container.getBeanManager().getEnabledClasses().getInterceptors().size());
+ Assert.assertEquals(Int.class, container.getBeanManager().getEnabledClasses().getInterceptors().iterator().next());
+ Assert.assertEquals(1, container.getBeanManager().getEnabledClasses().getDecorators().size());
+ Assert.assertEquals(Dec.class, container.getBeanManager().getEnabledClasses().getDecorators().iterator().next());
+ container.stopContainer();
+ }
+
+ @Test
+ public void testBeansXmlDoesntExist()
+ {
+ checkWithBeansXmlAndExpectException("nope.xml", new WeldXmlException(XmlMessage.LOAD_ERROR));
+ }
+
+ // WELD-467
+ @Test
+ public void testNamespacedBeansXml()
+ {
+ List<Class<?>> beans = Arrays.asList(Alt.class, Dec.class, Int.class, IntBind.class, Plain.class);
+ List<URL> beansXmls = Arrays.asList(getClass().getResource("namespaced.xml"));
+ TestContainer container = new TestContainer(new MockEELifecycle(), beans, beansXmls).startContainer().ensureRequestActive();
+ Assert.assertEquals(1, container.getBeanManager().getEnabledClasses().getAlternativeClasses().size());
+ Assert.assertEquals(Alt.class, container.getBeanManager().getEnabledClasses().getAlternativeClasses().iterator().next());
+ container.stopContainer();
+ }
+
+ // WELD-467
+ @Test
+ public void testNotDefaultNamespacedBeansXml()
+ {
+ List<Class<?>> beans = Arrays.asList(Alt.class, Dec.class, Int.class, IntBind.class, Plain.class);
+ List<URL> beansXmls = Arrays.asList(getClass().getResource("nonDefaultNamespaced.xml"));
+ TestContainer container = new TestContainer(new MockEELifecycle(), beans, beansXmls).startContainer().ensureRequestActive();
+ Assert.assertEquals(1, container.getBeanManager().getEnabledClasses().getAlternativeClasses().size());
+ Assert.assertEquals(Alt.class, container.getBeanManager().getEnabledClasses().getAlternativeClasses().iterator().next());
+ container.stopContainer();
+ }
+
+ /*
+ * https://jira.jboss.org/jira/browse/WELD-362
+ */
+ @Test
+ public void testNonPrettyPrintedXML()
+ {
+ List<Class<?>> beans = Arrays.asList(Alt.class, Dec.class, Int.class, IntBind.class, Plain.class);
+ List<URL> beansXmls = Arrays.asList(getClass().getResource("nonPrettyPrinted.xml"));
+ TestContainer container = new TestContainer(new MockEELifecycle(), beans, beansXmls).startContainer().ensureRequestActive();
+ Assert.assertEquals(1, container.getBeanManager().getEnabledClasses().getAlternativeClasses().size());
+ Assert.assertEquals(Alt.class, container.getBeanManager().getEnabledClasses().getAlternativeClasses().iterator().next());
+ container.stopContainer();
+ }
+
+ @Test
+ public void testCannotLoadFile() throws MalformedURLException
+ {
+ List<Class<?>> beans = Collections.emptyList();
+ new FailedDeployment(beans, Arrays.asList(new URL("http://foo.bar/beans.xml"))).runAndExpect(new WeldXmlException(XmlMessage.LOAD_ERROR));
+ }
+
+ @Test
+ public void testParsingError()
+ {
+ checkWithBeansXmlAndExpectException("unparseable.xml", new WeldXmlException(XmlMessage.PARSING_ERROR));
+ }
+
+ @Test
+ public void testCannotLoadClass()
+ {
+ checkWithBeansXmlAndExpectException("unloadable.xml", new WeldXmlException(XmlMessage.CANNOT_LOAD_CLASS));
+ }
+
+}
Added: core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/unit/bootstrap/xml/Dec.java
===================================================================
--- core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/unit/bootstrap/xml/Dec.java (rev 0)
+++ core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/unit/bootstrap/xml/Dec.java 2010-07-28 10:18:08 UTC (rev 6820)
@@ -0,0 +1,27 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2010, Red Hat, Inc., and individual contributors
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * http://www.apache.org/licenses/LICENSE-2.0
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.jboss.weld.tests.unit.bootstrap.xml;
+
+import javax.decorator.Decorator;
+import javax.decorator.Delegate;
+import javax.inject.Inject;
+
+@Decorator
+public class Dec
+{
+ @Inject @Delegate Plain plain;
+}
Added: core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/unit/bootstrap/xml/Int.java
===================================================================
--- core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/unit/bootstrap/xml/Int.java (rev 0)
+++ core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/unit/bootstrap/xml/Int.java 2010-07-28 10:18:08 UTC (rev 6820)
@@ -0,0 +1,26 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2010, Red Hat, Inc., and individual contributors
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * http://www.apache.org/licenses/LICENSE-2.0
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.jboss.weld.tests.unit.bootstrap.xml;
+
+import javax.interceptor.Interceptor;
+
+@Interceptor
+@IntBind
+public class Int
+{
+
+}
Added: core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/unit/bootstrap/xml/IntBind.java
===================================================================
--- core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/unit/bootstrap/xml/IntBind.java (rev 0)
+++ core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/unit/bootstrap/xml/IntBind.java 2010-07-28 10:18:08 UTC (rev 6820)
@@ -0,0 +1,32 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2010, Red Hat, Inc., and individual contributors
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * http://www.apache.org/licenses/LICENSE-2.0
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.jboss.weld.tests.unit.bootstrap.xml;
+
+import java.lang.annotation.Inherited;
+import java.lang.annotation.Retention;
+import java.lang.annotation.Target;
+import static java.lang.annotation.ElementType.*;
+import static java.lang.annotation.RetentionPolicy.*;
+import javax.interceptor.InterceptorBinding;
+
+@InterceptorBinding
+@Inherited
+@Target( { TYPE, METHOD })
+@Retention(RUNTIME)
+public @interface IntBind
+{
+}
\ No newline at end of file
Added: core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/unit/bootstrap/xml/Plain.java
===================================================================
--- core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/unit/bootstrap/xml/Plain.java (rev 0)
+++ core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/unit/bootstrap/xml/Plain.java 2010-07-28 10:18:08 UTC (rev 6820)
@@ -0,0 +1,22 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2010, Red Hat, Inc., and individual contributors
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * http://www.apache.org/licenses/LICENSE-2.0
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.jboss.weld.tests.unit.bootstrap.xml;
+
+public class Plain
+{
+
+}
Added: core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/unit/cluster/Fodder.java
===================================================================
--- core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/unit/cluster/Fodder.java (rev 0)
+++ core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/unit/cluster/Fodder.java 2010-07-28 10:18:08 UTC (rev 6820)
@@ -0,0 +1,38 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2010, Red Hat, Inc., and individual contributors
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * http://www.apache.org/licenses/LICENSE-2.0
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.jboss.weld.tests.unit.cluster;
+
+import java.io.Serializable;
+
+public class Fodder implements Serializable
+{
+
+ private static final long serialVersionUID = 7526196594918652669L;
+
+ private int amount;
+
+ public int getAmount()
+ {
+ return amount;
+ }
+
+ public void setAmount(int amount)
+ {
+ this.amount = amount;
+ }
+
+}
Added: core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/unit/cluster/Foo.java
===================================================================
--- core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/unit/cluster/Foo.java (rev 0)
+++ core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/unit/cluster/Foo.java 2010-07-28 10:18:08 UTC (rev 6820)
@@ -0,0 +1,39 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2010, Red Hat, Inc., and individual contributors
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * http://www.apache.org/licenses/LICENSE-2.0
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.jboss.weld.tests.unit.cluster;
+
+import java.io.Serializable;
+
+import javax.enterprise.context.SessionScoped;
+
+@SessionScoped
+public class Foo implements Serializable
+{
+
+ private String name;
+
+ public void setName(String name)
+ {
+ this.name = name;
+ }
+
+ public String getName()
+ {
+ return name;
+ }
+
+}
Added: core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/unit/cluster/Horse.java
===================================================================
--- core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/unit/cluster/Horse.java (rev 0)
+++ core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/unit/cluster/Horse.java 2010-07-28 10:18:08 UTC (rev 6820)
@@ -0,0 +1,39 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2010, Red Hat, Inc., and individual contributors
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * http://www.apache.org/licenses/LICENSE-2.0
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.jboss.weld.tests.unit.cluster;
+
+import java.io.Serializable;
+
+import javax.enterprise.context.RequestScoped;
+
+@RequestScoped
+public class Horse implements Serializable
+{
+
+ private String name;
+
+ public String getName()
+ {
+ return name;
+ }
+
+ public void setName(String name)
+ {
+ this.name = name;
+ }
+
+}
Added: core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/unit/cluster/NaiveClusterTest.java
===================================================================
--- core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/unit/cluster/NaiveClusterTest.java (rev 0)
+++ core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/unit/cluster/NaiveClusterTest.java 2010-07-28 10:18:08 UTC (rev 6820)
@@ -0,0 +1,141 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2010, Red Hat, Inc., and individual contributors
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * http://www.apache.org/licenses/LICENSE-2.0
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.jboss.weld.tests.unit.cluster;
+
+import java.util.Arrays;
+import java.util.Collection;
+
+import javax.enterprise.inject.spi.Bean;
+
+import org.jboss.weld.manager.BeanManagerImpl;
+import org.jboss.weld.mock.TestContainer;
+import org.jboss.weld.mock.cluster.AbstractClusterTest;
+import org.junit.Assert;
+import org.junit.Test;
+
+public class NaiveClusterTest extends AbstractClusterTest
+{
+ /*
+ * description = "A simple test to check session replication, doesn't carefully check if a bean ids are correct"
+ */
+ @Test
+ public void testSimpleSessionReplication() throws Exception
+ {
+
+ TestContainer container1 = bootstrapContainer(1, Arrays.<Class<?>>asList(Foo.class));
+ BeanManagerImpl beanManager1 = container1.getBeanManager();
+ Bean<?> fooBean1 = beanManager1.resolve(beanManager1.getBeans(Foo.class));
+
+ TestContainer container2 = bootstrapContainer(2, Arrays.<Class<?>>asList(Foo.class));
+ BeanManagerImpl beanManager2 = container2.getBeanManager();
+ Bean<?> fooBean2 = beanManager2.resolve(beanManager2.getBeans(Foo.class));
+
+ use(1);
+ // Set a value into Foo1
+ Foo foo1 = (Foo) beanManager1.getReference(fooBean1, Foo.class, beanManager1.createCreationalContext(fooBean1));
+ foo1.setName("container 1");
+
+ replicateSession(1, beanManager1, 2, beanManager2);
+
+ use(2);
+ Foo foo2 = (Foo) beanManager2.getReference(fooBean2, Foo.class, beanManager2.createCreationalContext(fooBean2));
+ Assert.assertEquals("container 1", foo2.getName());
+ use(2);
+ container2.stopContainer();
+ use(1);
+ container1.stopContainer();
+ }
+
+ @Test
+ public void testMultipleDependentObjectsSessionReplication() throws Exception
+ {
+ Collection<Class<?>> classes = Arrays.<Class<?>>asList(Stable.class, Horse.class, Fodder.class);
+ TestContainer container1 = bootstrapContainer(1, classes);
+ BeanManagerImpl beanManager1 = container1.getBeanManager();
+ Bean<?> stableBean1 = beanManager1.resolve(beanManager1.getBeans(Stable.class));
+
+ TestContainer container2 = bootstrapContainer(2, classes);
+ BeanManagerImpl beanManager2 = container2.getBeanManager();
+ Bean<?> stableBean2 = beanManager2.resolve(beanManager2.getBeans(Stable.class));
+
+ use(1);
+ // Set a value into Foo1
+ Stable stable1 = (Stable) beanManager1.getReference(stableBean1, Foo.class, beanManager1.createCreationalContext(stableBean1));
+ stable1.getFodder().setAmount(10);
+ stable1.getHorse().setName("George");
+
+ replicateSession(1, beanManager1, 2, beanManager2);
+
+ use(2);
+
+ Stable stable2 = (Stable) beanManager2.getReference(stableBean2, Stable.class, beanManager2.createCreationalContext(stableBean2));
+ Assert.assertEquals(stable2.getFodder().getAmount(), stable1.getFodder().getAmount());
+ Assert.assertNull(stable2.getHorse().getName());
+
+ use(1);
+ Assert.assertEquals(10, stable1.getFodder().getAmount());
+ Assert.assertEquals("George", stable1.getHorse().getName());
+
+ use(2);
+
+ stable2.getFodder().setAmount(11);
+
+ replicateSession(2, beanManager2, 1, beanManager1);
+
+ use(1);
+
+ Assert.assertEquals(11, stable1.getFodder().getAmount());
+ use(1);
+ container1.stopContainer();
+ use(2);
+ container2.stopContainer();
+ }
+
+ @Test
+ public void testVariableBeanDeploymentStructure() throws Exception
+ {
+ // NB This is not a valid deployment scenario for a cluster, but it does allow us to test bean ids neatly!
+ Collection<Class<?>> classes1 = Arrays.<Class<?>>asList(Stable.class, Horse.class, Fodder.class);
+ Collection<Class<?>> classes2 = Arrays.<Class<?>>asList(Stable.class, Horse.class, Fodder.class, Foo.class);
+ TestContainer container1 = bootstrapContainer(1, classes1);
+ BeanManagerImpl beanManager1 = container1.getBeanManager();
+ Bean<?> stableBean1 = beanManager1.resolve(beanManager1.getBeans(Stable.class));
+
+ TestContainer container2 = bootstrapContainer(2, classes2);
+ BeanManagerImpl beanManager2 = container2.getBeanManager();
+ Bean<?> stableBean2 = beanManager2.resolve(beanManager2.getBeans(Stable.class));
+
+ use(1);
+ // Set a value into Foo1
+ Stable stable1 = (Stable) beanManager1.getReference(stableBean1, Foo.class, beanManager1.createCreationalContext(stableBean1));
+ stable1.getFodder().setAmount(10);
+ stable1.getHorse().setName("George");
+
+ replicateSession(1, beanManager1, 2, beanManager2);
+
+ use(2);
+
+ Stable stable2 = (Stable) beanManager2.getReference(stableBean2, Stable.class, beanManager2.createCreationalContext(stableBean2));
+ Assert.assertEquals(stable2.getFodder().getAmount(), stable1.getFodder().getAmount());
+ Assert.assertNull(stable2.getHorse().getName());
+ use(1);
+ container1.stopContainer();
+ use(2);
+ container2.stopContainer();
+ }
+
+}
Added: core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/unit/cluster/Stable.java
===================================================================
--- core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/unit/cluster/Stable.java (rev 0)
+++ core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/unit/cluster/Stable.java 2010-07-28 10:18:08 UTC (rev 6820)
@@ -0,0 +1,49 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2010, Red Hat, Inc., and individual contributors
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * http://www.apache.org/licenses/LICENSE-2.0
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.jboss.weld.tests.unit.cluster;
+
+import java.io.Serializable;
+
+import javax.enterprise.context.SessionScoped;
+import javax.inject.Inject;
+
+@SessionScoped
+public class Stable implements Serializable
+{
+
+ /**
+ *
+ */
+ private static final long serialVersionUID = 4007799511309218679L;
+
+ @Inject
+ private Horse horse;
+
+ @Inject
+ private Fodder fodder;
+
+ public Horse getHorse()
+ {
+ return horse;
+ }
+
+ public Fodder getFodder()
+ {
+ return fodder;
+ }
+
+}
Added: core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/unit/cluster/SwitchableContainerTest.java
===================================================================
--- core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/unit/cluster/SwitchableContainerTest.java (rev 0)
+++ core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/unit/cluster/SwitchableContainerTest.java 2010-07-28 10:18:08 UTC (rev 6820)
@@ -0,0 +1,78 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2010, Red Hat, Inc., and individual contributors
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * http://www.apache.org/licenses/LICENSE-2.0
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.jboss.weld.tests.unit.cluster;
+
+import java.util.Arrays;
+
+import javax.enterprise.inject.spi.Bean;
+import javax.enterprise.inject.spi.BeanManager;
+
+import org.jboss.weld.bootstrap.api.SingletonProvider;
+import org.jboss.weld.mock.MockEELifecycle;
+import org.jboss.weld.mock.TestContainer;
+import org.jboss.weld.mock.cluster.AbstractClusterTest;
+import org.jboss.weld.mock.cluster.SwitchableSingletonProvider;
+import org.junit.Assert;
+import org.junit.Test;
+
+public class SwitchableContainerTest extends AbstractClusterTest
+{
+
+ @Test
+ public void test()
+ {
+
+ // Bootstrap container 1
+ SwitchableSingletonProvider.use(1);
+
+ TestContainer container1 = new TestContainer(new MockEELifecycle(), Arrays.<Class<?>>asList(Foo.class), null);
+ container1.startContainer();
+ container1.ensureRequestActive();
+
+ BeanManager beanManager1 = container1.getBeanManager();
+ Bean<?> fooBean1 = beanManager1.resolve(beanManager1.getBeans(Foo.class));
+ Foo foo1 = (Foo) beanManager1.getReference(fooBean1, Foo.class, beanManager1.createCreationalContext(fooBean1));
+ foo1.setName("container 1");
+
+ // Bootstrap container 2
+ SwitchableSingletonProvider.use(2);
+
+ TestContainer container2 = new TestContainer(new MockEELifecycle(), Arrays.<Class<?>>asList(Foo.class), null);
+ container2.startContainer();
+ container2.ensureRequestActive();
+
+ BeanManager beanManager2 = container2.getBeanManager();
+ Bean<?> fooBean2 = beanManager2.resolve(beanManager2.getBeans(Foo.class));
+ Foo foo2 = (Foo) beanManager2.getReference(fooBean2, Foo.class, beanManager2.createCreationalContext(fooBean2));
+ foo2.setName("container 2");
+
+ // Switch to container 1 and check value
+ SwitchableSingletonProvider.use(1);
+ foo1 = (Foo) beanManager1.getReference(fooBean1, Foo.class, beanManager1.createCreationalContext(fooBean1));
+ Assert.assertEquals("container 1", foo1.getName());
+
+ // Switch to container 2 and check value
+ SwitchableSingletonProvider.use(2);
+ foo2 = (Foo) beanManager2.getReference(fooBean2, Foo.class, beanManager2.createCreationalContext(fooBean2));
+ Assert.assertEquals("container 2", foo2.getName());
+ SingletonProvider.reset();
+ container1.stopContainer();
+ container2.stopContainer();
+ SingletonProvider.reset();
+ }
+
+}
Added: core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/unit/deployment/structure/extensions/Bar.java
===================================================================
--- core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/unit/deployment/structure/extensions/Bar.java (rev 0)
+++ core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/unit/deployment/structure/extensions/Bar.java 2010-07-28 10:18:08 UTC (rev 6820)
@@ -0,0 +1,22 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2010, Red Hat, Inc., and individual contributors
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * http://www.apache.org/licenses/LICENSE-2.0
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.jboss.weld.tests.unit.deployment.structure.extensions;
+
+public class Bar
+{
+
+}
Added: core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/unit/deployment/structure/extensions/CountingObserver1.java
===================================================================
--- core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/unit/deployment/structure/extensions/CountingObserver1.java (rev 0)
+++ core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/unit/deployment/structure/extensions/CountingObserver1.java 2010-07-28 10:18:08 UTC (rev 6820)
@@ -0,0 +1,61 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2010, Red Hat, Inc., and individual contributors
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * http://www.apache.org/licenses/LICENSE-2.0
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.jboss.weld.tests.unit.deployment.structure.extensions;
+
+import javax.enterprise.event.Observes;
+import javax.enterprise.inject.spi.BeforeBeanDiscovery;
+import javax.enterprise.inject.spi.Extension;
+import javax.enterprise.inject.spi.ProcessManagedBean;
+
+public class CountingObserver1 implements Extension
+{
+
+ private int beforeBeanDiscovery;
+ private int processFooManagedBean;
+ private int processBarManagedBean;
+
+ public void observeBeforeBeanDiscovery(@Observes BeforeBeanDiscovery event)
+ {
+ beforeBeanDiscovery++;
+ }
+
+ public void observerProcessFooManagedBean(@Observes ProcessManagedBean<Foo> event)
+ {
+ processFooManagedBean++;
+ }
+
+ public void observerProcessBarManagedBean(@Observes ProcessManagedBean<Bar> event)
+ {
+ processBarManagedBean++;
+ }
+
+ public int getBeforeBeanDiscovery()
+ {
+ return beforeBeanDiscovery;
+ }
+
+ public int getProcessFooManagedBean()
+ {
+ return processFooManagedBean;
+ }
+
+ public int getProcessBarManagedBean()
+ {
+ return processBarManagedBean;
+ }
+
+}
Added: core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/unit/deployment/structure/extensions/CountingObserver2.java
===================================================================
--- core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/unit/deployment/structure/extensions/CountingObserver2.java (rev 0)
+++ core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/unit/deployment/structure/extensions/CountingObserver2.java 2010-07-28 10:18:08 UTC (rev 6820)
@@ -0,0 +1,63 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2010, Red Hat, Inc., and individual contributors
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * http://www.apache.org/licenses/LICENSE-2.0
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.jboss.weld.tests.unit.deployment.structure.extensions;
+
+import javax.enterprise.event.Observes;
+import javax.enterprise.inject.spi.BeanManager;
+import javax.enterprise.inject.spi.BeforeBeanDiscovery;
+import javax.enterprise.inject.spi.Extension;
+import javax.enterprise.inject.spi.ProcessManagedBean;
+
+public class CountingObserver2 implements Extension
+{
+
+ private int beforeBeanDiscovery;
+ private int processFooManagedBean;
+ private int processBarManagedBean;
+
+ public void observeBeforeBeanDiscovery(@Observes BeforeBeanDiscovery event, BeanManager beanManager)
+ {
+ beforeBeanDiscovery++;
+ event.addAnnotatedType(beanManager.createAnnotatedType(Bar.class));
+ }
+
+ public void observerProcessFooManagedBean(@Observes ProcessManagedBean<Foo> event)
+ {
+ processFooManagedBean++;
+ }
+
+ public void observerProcessBarManagedBean(@Observes ProcessManagedBean<Bar> event)
+ {
+ processBarManagedBean++;
+ }
+
+ public int getBeforeBeanDiscovery()
+ {
+ return beforeBeanDiscovery;
+ }
+
+ public int getProcessFooManagedBean()
+ {
+ return processFooManagedBean;
+ }
+
+ public int getProcessBarManagedBean()
+ {
+ return processBarManagedBean;
+ }
+
+}
Added: core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/unit/deployment/structure/extensions/Foo.java
===================================================================
--- core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/unit/deployment/structure/extensions/Foo.java (rev 0)
+++ core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/unit/deployment/structure/extensions/Foo.java 2010-07-28 10:18:08 UTC (rev 6820)
@@ -0,0 +1,30 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2010, Red Hat, Inc., and individual contributors
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * http://www.apache.org/licenses/LICENSE-2.0
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.jboss.weld.tests.unit.deployment.structure.extensions;
+
+import javax.enterprise.inject.Produces;
+
+public class Foo
+{
+
+ @Produces
+ public String get()
+ {
+ return "Foo!";
+ }
+
+}
Added: core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/unit/deployment/structure/extensions/NonBdaExtensionTest.java
===================================================================
--- core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/unit/deployment/structure/extensions/NonBdaExtensionTest.java (rev 0)
+++ core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/unit/deployment/structure/extensions/NonBdaExtensionTest.java 2010-07-28 10:18:08 UTC (rev 6820)
@@ -0,0 +1,164 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2010, Red Hat, Inc., and individual contributors
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * http://www.apache.org/licenses/LICENSE-2.0
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.jboss.weld.tests.unit.deployment.structure.extensions;
+
+import javax.enterprise.inject.spi.Extension;
+
+import org.jboss.weld.bootstrap.spi.BeanDeploymentArchive;
+import org.jboss.weld.bootstrap.spi.Deployment;
+import org.jboss.weld.manager.BeanManagerImpl;
+import org.jboss.weld.mock.AbstractMockDeployment;
+import org.jboss.weld.mock.MockBeanDeploymentArchive;
+import org.jboss.weld.mock.MockServletLifecycle;
+import org.jboss.weld.mock.TestContainer;
+import org.jboss.weld.test.Utils;
+import org.jboss.weld.util.serviceProvider.PackageServiceLoaderFactory;
+import org.jboss.weld.util.serviceProvider.ServiceLoaderFactory;
+import org.junit.Assert;
+import org.junit.Test;
+
+public class NonBdaExtensionTest
+{
+ /*
+ * description = "WELD-233"
+ */
+ @Test
+ public void test()
+ {
+ // Create the BDA in which we will deploy Observer1 and Foo. This is equivalent to a war or ejb jar
+ final MockBeanDeploymentArchive bda1 = new MockBeanDeploymentArchive("1", Observer1.class, Foo.class);
+
+ // Create the BDA to return from loadBeanDeploymentArchive for Observer2, this is probably a library, though could be another war or ejb jar
+ // bda2 is accessible from bda1, but isn't added to it's accessibility graph by default. This similar to an archive which doesn't contain a beans.xml but does contain an extension
+ final BeanDeploymentArchive bda2 = new MockBeanDeploymentArchive("2", Observer2.class);
+
+ // Create a deployment, that we can use to mirror the structure of one Extension inside a BDA, and one outside
+ Deployment deployment = new AbstractMockDeployment(bda1)
+ {
+
+ public BeanDeploymentArchive loadBeanDeploymentArchive(Class<?> beanClass)
+ {
+ // Return bda2 if it is Observer2. Stick anything else which this test isn't about in bda1
+ if (beanClass.equals(Observer2.class))
+ {
+ // If Observer2 is requested, then we need to add bda2 to the accessibility graph of bda1
+ bda1.getBeanDeploymentArchives().add(bda2);
+ return bda2;
+ }
+ else
+ {
+ return bda1;
+ }
+ }
+
+ };
+
+ TestContainer container = new TestContainer(new MockServletLifecycle(deployment, bda1));
+ container.getLifecycle().initialize();
+
+ // Add custom ServiceLoader so that we can load Extension services from current package, not META-INF/services
+ // We do this after startContainer() so we replace the default impl
+ deployment.getServices().add(ServiceLoaderFactory.class, new PackageServiceLoaderFactory(NonBdaExtensionTest.class.getPackage(), Extension.class));
+
+ // Cause the container to deploy the beans etc.
+ container.getLifecycle().beginApplication();
+
+ // Get the bean manager for bda1 and bda2
+ BeanManagerImpl beanManager1 = container.getBeanManager();
+ BeanManagerImpl beanManager2 = container.getLifecycle().getBootstrap().getManager(bda2);
+
+ Observer1 observer1 = Utils.getReference(beanManager1, Observer1.class);
+ Assert.assertTrue(observer1.isBeforeBeanDiscoveryCalled());
+ Assert.assertEquals(beanManager1, observer1.getBeforeBeanDiscoveryBeanManager());
+ Assert.assertTrue(observer1.isAfterBeanDiscoveryCalled());
+ Assert.assertTrue(observer1.isAfterDeploymentValidationCalled());
+ Assert.assertTrue(observer1.isProcessInjectionTargetCalled());
+ Assert.assertTrue(observer1.isProcessManagedBeanCalled());
+ Assert.assertTrue(observer1.isProcessProducerCalled());
+
+ Assert.assertEquals(1, beanManager2.getBeans(Observer2.class).size());
+ // Also check that the accessibility graph has been updated
+ Assert.assertEquals(1, beanManager1.getBeans(Observer2.class).size());
+
+ Observer2 observer2 = Utils.getReference(beanManager2, Observer2.class);
+ Assert.assertTrue(observer2.isBeforeBeanDiscoveryCalled());
+ Assert.assertEquals(beanManager2, observer2.getBeforeBeanDiscoveryBeanManager());
+ Assert.assertTrue(observer2.isAfterBeanDiscoveryCalled());
+ Assert.assertTrue(observer2.isAfterDeploymentValidationCalled());
+ Assert.assertTrue(observer2.isProcessInjectionTargetCalled());
+ Assert.assertTrue(observer2.isProcessManagedBeanCalled());
+ Assert.assertTrue(observer2.isProcessProducerCalled());
+ }
+
+ /*
+ * description = "WELD-258"
+ */
+ @Test
+ public void testEventsSentOnceOnly()
+ {
+ // Create the BDA in which we will deploy Observer1 and Foo. This is equivalent to a war or ejb jar
+ final MockBeanDeploymentArchive bda1 = new MockBeanDeploymentArchive("1", CountingObserver1.class, Foo.class);
+
+ // Create the BDA to return from loadBeanDeploymentArchive for Observer2, this is probably a library, though could be another war or ejb jar
+ // bda2 is accessible from bda1, but isn't added to it's accessibility graph by default. This similar to an archive which doesn't contain a beans.xml but does contain an extension
+ final BeanDeploymentArchive bda2 = new MockBeanDeploymentArchive("2", CountingObserver2.class);
+
+ // Create a deployment, that we can use to mirror the structure of one Extension inside a BDA, and one outside
+ Deployment deployment = new AbstractMockDeployment(bda1)
+ {
+
+ public BeanDeploymentArchive loadBeanDeploymentArchive(Class<?> beanClass)
+ {
+ // Return bda2 if it is Observer2. Stick anything else which this test isn't about in bda1
+ if (beanClass.equals(CountingObserver2.class) || beanClass.equals(Bar.class))
+ {
+ // If Observer2 is requested, then we need to add bda2 to the accessibility graph of bda1
+ bda1.getBeanDeploymentArchives().add(bda2);
+ return bda2;
+ }
+ else
+ {
+ return bda1;
+ }
+ }
+
+ };
+
+ TestContainer container = new TestContainer(new MockServletLifecycle(deployment, bda1));
+ container.getLifecycle().initialize();
+
+ // Add custom ServiceLoader so that we can load Extension services from current package, not META-INF/services
+ // We do this after startContainer() so we replace the default impl
+ deployment.getServices().add(ServiceLoaderFactory.class, new PackageServiceLoaderFactory(NonBdaExtensionTest.class.getPackage(), Extension.class));
+
+ // Cause the container to deploy the beans etc.
+ container.getLifecycle().beginApplication();
+
+ // Get the bean manager for bda1 and bda2
+ BeanManagerImpl beanManager1 = container.getBeanManager();
+
+ CountingObserver1 observer1 = Utils.getReference(beanManager1, CountingObserver1.class);
+ CountingObserver2 observer2 = Utils.getReference(beanManager1, CountingObserver2.class);
+ Assert.assertEquals(1, observer1.getBeforeBeanDiscovery());
+ Assert.assertEquals(1, observer1.getProcessFooManagedBean());
+ Assert.assertEquals(0, observer1.getProcessBarManagedBean());
+ Assert.assertEquals(1, observer2.getBeforeBeanDiscovery());
+ Assert.assertEquals(1, observer2.getProcessFooManagedBean());
+ Assert.assertEquals(1, observer2.getProcessBarManagedBean());
+ }
+
+}
Added: core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/unit/deployment/structure/extensions/Observer1.java
===================================================================
--- core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/unit/deployment/structure/extensions/Observer1.java (rev 0)
+++ core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/unit/deployment/structure/extensions/Observer1.java 2010-07-28 10:18:08 UTC (rev 6820)
@@ -0,0 +1,63 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2010, Red Hat, Inc., and individual contributors
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * http://www.apache.org/licenses/LICENSE-2.0
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.jboss.weld.tests.unit.deployment.structure.extensions;
+
+import javax.enterprise.event.Observes;
+import javax.enterprise.inject.spi.AfterBeanDiscovery;
+import javax.enterprise.inject.spi.AfterDeploymentValidation;
+import javax.enterprise.inject.spi.BeanManager;
+import javax.enterprise.inject.spi.BeforeBeanDiscovery;
+import javax.enterprise.inject.spi.Extension;
+import javax.enterprise.inject.spi.ProcessInjectionTarget;
+import javax.enterprise.inject.spi.ProcessManagedBean;
+import javax.enterprise.inject.spi.ProcessProducer;
+
+public class Observer1 extends ObserverBase implements Extension
+{
+
+ public void observeAfterBeanDiscovery(@Observes AfterBeanDiscovery event)
+ {
+ this.afterBeanDiscoveryCalled = true;
+ }
+
+ public void observeBeforeBeanDiscovery(@Observes BeforeBeanDiscovery event, BeanManager beanManager)
+ {
+ this.beforeBeanDiscoveryCalled = true;
+ this.beforeBeanDiscoveryBeanManager = beanManager;
+ }
+
+ public void observeAfterDeploymentValidation(@Observes AfterDeploymentValidation event)
+ {
+ afterDeploymentValidationCalled = true;
+ }
+
+ public void observeProcessProducer(@Observes ProcessProducer<Foo, String> event)
+ {
+ processProducerCalled = true;
+ }
+
+ public void observeProcessInjectionTarget(@Observes ProcessInjectionTarget<Foo> event)
+ {
+ processInjectionTargetCalled = true;
+ }
+
+ public void observeProcessManagedBean(@Observes ProcessManagedBean<Foo> event)
+ {
+ processManagedBeanCalled = true;
+ }
+
+}
Added: core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/unit/deployment/structure/extensions/Observer2.java
===================================================================
--- core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/unit/deployment/structure/extensions/Observer2.java (rev 0)
+++ core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/unit/deployment/structure/extensions/Observer2.java 2010-07-28 10:18:08 UTC (rev 6820)
@@ -0,0 +1,63 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2010, Red Hat, Inc., and individual contributors
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * http://www.apache.org/licenses/LICENSE-2.0
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.jboss.weld.tests.unit.deployment.structure.extensions;
+
+import javax.enterprise.event.Observes;
+import javax.enterprise.inject.spi.AfterBeanDiscovery;
+import javax.enterprise.inject.spi.AfterDeploymentValidation;
+import javax.enterprise.inject.spi.BeanManager;
+import javax.enterprise.inject.spi.BeforeBeanDiscovery;
+import javax.enterprise.inject.spi.Extension;
+import javax.enterprise.inject.spi.ProcessInjectionTarget;
+import javax.enterprise.inject.spi.ProcessManagedBean;
+import javax.enterprise.inject.spi.ProcessProducer;
+
+public class Observer2 extends ObserverBase implements Extension
+{
+
+ public void observeAfterBeanDiscovery(@Observes AfterBeanDiscovery event)
+ {
+ this.afterBeanDiscoveryCalled = true;
+ }
+
+ public void observeBeforeBeanDiscovery(@Observes BeforeBeanDiscovery event, BeanManager beanManager)
+ {
+ this.beforeBeanDiscoveryCalled = true;
+ this.beforeBeanDiscoveryBeanManager = beanManager;
+ }
+
+ public void observeAfterDeploymentValidation(@Observes AfterDeploymentValidation event)
+ {
+ afterDeploymentValidationCalled = true;
+ }
+
+ public void observeProcessProducer(@Observes ProcessProducer<Foo, String> event)
+ {
+ processProducerCalled = true;
+ }
+
+ public void observeProcessInjectionTarget(@Observes ProcessInjectionTarget<Foo> event)
+ {
+ processInjectionTargetCalled = true;
+ }
+
+ public void observeProcessManagedBean(@Observes ProcessManagedBean<Foo> event)
+ {
+ processManagedBeanCalled = true;
+ }
+
+}
Added: core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/unit/deployment/structure/extensions/ObserverBase.java
===================================================================
--- core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/unit/deployment/structure/extensions/ObserverBase.java (rev 0)
+++ core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/unit/deployment/structure/extensions/ObserverBase.java 2010-07-28 10:18:08 UTC (rev 6820)
@@ -0,0 +1,73 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2010, Red Hat, Inc., and individual contributors
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * http://www.apache.org/licenses/LICENSE-2.0
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.jboss.weld.tests.unit.deployment.structure.extensions;
+
+import javax.enterprise.inject.spi.BeanManager;
+
+public class ObserverBase
+{
+
+ protected boolean afterBeanDiscoveryCalled;
+ protected boolean beforeBeanDiscoveryCalled;
+ protected boolean afterDeploymentValidationCalled;
+ protected boolean processProducerCalled;
+ protected boolean processInjectionTargetCalled;
+ protected boolean processManagedBeanCalled;
+
+ protected BeanManager beforeBeanDiscoveryBeanManager;
+
+ public ObserverBase()
+ {
+ super();
+ }
+
+ public boolean isAfterBeanDiscoveryCalled()
+ {
+ return afterBeanDiscoveryCalled;
+ }
+
+ public boolean isBeforeBeanDiscoveryCalled()
+ {
+ return beforeBeanDiscoveryCalled;
+ }
+
+ public boolean isAfterDeploymentValidationCalled()
+ {
+ return afterDeploymentValidationCalled;
+ }
+
+ public boolean isProcessProducerCalled()
+ {
+ return processProducerCalled;
+ }
+
+ public boolean isProcessInjectionTargetCalled()
+ {
+ return processInjectionTargetCalled;
+ }
+
+ public boolean isProcessManagedBeanCalled()
+ {
+ return processManagedBeanCalled;
+ }
+
+ public BeanManager getBeforeBeanDiscoveryBeanManager()
+ {
+ return beforeBeanDiscoveryBeanManager;
+ }
+
+}
\ No newline at end of file
Added: core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/unit/deployment/structure/nonTransitiveResolution/Alt.java
===================================================================
--- core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/unit/deployment/structure/nonTransitiveResolution/Alt.java (rev 0)
+++ core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/unit/deployment/structure/nonTransitiveResolution/Alt.java 2010-07-28 10:18:08 UTC (rev 6820)
@@ -0,0 +1,25 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2010, Red Hat, Inc., and individual contributors
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * http://www.apache.org/licenses/LICENSE-2.0
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.jboss.weld.tests.unit.deployment.structure.nonTransitiveResolution;
+
+import javax.enterprise.inject.Alternative;
+
+@Alternative
+public class Alt
+{
+
+}
Added: core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/unit/deployment/structure/nonTransitiveResolution/Bar.java
===================================================================
--- core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/unit/deployment/structure/nonTransitiveResolution/Bar.java (rev 0)
+++ core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/unit/deployment/structure/nonTransitiveResolution/Bar.java 2010-07-28 10:18:08 UTC (rev 6820)
@@ -0,0 +1,44 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2010, Red Hat, Inc., and individual contributors
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * http://www.apache.org/licenses/LICENSE-2.0
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.jboss.weld.tests.unit.deployment.structure.nonTransitiveResolution;
+
+import javax.enterprise.inject.New;
+import javax.enterprise.inject.spi.BeanManager;
+import javax.inject.Inject;
+
+public class Bar
+{
+
+ @Inject private Foo foo;
+
+ // Inject the bean manager to make sure the bean is intranstive
+ @Inject private BeanManager beanManager;
+
+ // Inject the @New bean to make sure the bean is intranstive
+ @Inject @New String str;
+
+ public Foo getFoo()
+ {
+ return foo;
+ }
+
+ public BeanManager getBeanManager()
+ {
+ return beanManager;
+ }
+
+}
Added: core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/unit/deployment/structure/nonTransitiveResolution/Foo.java
===================================================================
--- core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/unit/deployment/structure/nonTransitiveResolution/Foo.java (rev 0)
+++ core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/unit/deployment/structure/nonTransitiveResolution/Foo.java 2010-07-28 10:18:08 UTC (rev 6820)
@@ -0,0 +1,37 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2010, Red Hat, Inc., and individual contributors
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * http://www.apache.org/licenses/LICENSE-2.0
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.jboss.weld.tests.unit.deployment.structure.nonTransitiveResolution;
+
+import javax.enterprise.inject.New;
+import javax.enterprise.inject.spi.BeanManager;
+import javax.inject.Inject;
+
+public class Foo
+{
+
+ // Inject the bean manager to make sure the bean is intranstive
+ @Inject private BeanManager beanManager;
+
+ // Inject the @New bean to make sure the bean is intranstive
+ @Inject @New String str;
+
+ public BeanManager getBeanManager()
+ {
+ return beanManager;
+ }
+
+}
Added: core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/unit/deployment/structure/nonTransitiveResolution/TransitiveResolutionTest.java
===================================================================
--- core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/unit/deployment/structure/nonTransitiveResolution/TransitiveResolutionTest.java (rev 0)
+++ core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/unit/deployment/structure/nonTransitiveResolution/TransitiveResolutionTest.java 2010-07-28 10:18:08 UTC (rev 6820)
@@ -0,0 +1,152 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2010, Red Hat, Inc., and individual contributors
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * http://www.apache.org/licenses/LICENSE-2.0
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.jboss.weld.tests.unit.deployment.structure.nonTransitiveResolution;
+
+import org.jboss.weld.bootstrap.spi.BeanDeploymentArchive;
+import org.jboss.weld.bootstrap.spi.Deployment;
+import org.jboss.weld.manager.BeanManagerImpl;
+import org.jboss.weld.mock.AbstractMockDeployment;
+import org.jboss.weld.mock.MockBeanDeploymentArchive;
+import org.jboss.weld.mock.MockDeployment;
+import org.jboss.weld.mock.MockServletLifecycle;
+import org.jboss.weld.mock.TestContainer;
+import org.jboss.weld.test.Utils;
+import org.junit.Assert;
+import org.junit.Test;
+
+public class TransitiveResolutionTest
+{
+ /*
+ * description = "WELD-319"
+ */
+ @Test
+ public void testBeansXmlIsolation()
+ {
+ MockBeanDeploymentArchive jar1 = new MockBeanDeploymentArchive("first-jar", Alt.class);
+ MockBeanDeploymentArchive jar2 = new MockBeanDeploymentArchive("second-jar", Alt.class);
+ jar1.getBeansXml().add(getClass().getResource("beans.xml"));
+ MockBeanDeploymentArchive war = new MockBeanDeploymentArchive("war");
+ war.getBeanDeploymentArchives().add(jar1);
+ war.getBeanDeploymentArchives().add(jar2);
+
+ Deployment deployment = new MockDeployment(war);
+
+ TestContainer container = null;
+ try
+ {
+ container = new TestContainer(new MockServletLifecycle(deployment, war)).startContainer().ensureRequestActive();
+ BeanManagerImpl warBeanManager = container.getBeanManager();
+ BeanManagerImpl jar1BeanManager = container.getLifecycle().getBootstrap().getManager(jar1);
+ BeanManagerImpl jar2BeanManager = container.getLifecycle().getBootstrap().getManager(jar2);
+ Assert.assertTrue(warBeanManager.getEnabledClasses().getAlternativeClasses().isEmpty());
+ Assert.assertFalse(jar1BeanManager.getEnabledClasses().getAlternativeClasses().isEmpty());
+ Assert.assertTrue(jar2BeanManager.getEnabledClasses().getAlternativeClasses().isEmpty());
+ }
+ finally
+ {
+ if (container != null)
+ {
+ container.stopContainer();
+ }
+ }
+ }
+
+ /*
+ * description = "WELD-319"
+ */
+ @Test
+ public void testBeansXmlMultipleEnabling()
+ {
+ MockBeanDeploymentArchive jar1 = new MockBeanDeploymentArchive("first-jar", Alt.class);
+ MockBeanDeploymentArchive jar2 = new MockBeanDeploymentArchive("second-jar", Alt.class);
+ jar1.getBeansXml().add(getClass().getResource("beans.xml"));
+ jar2.getBeansXml().add(getClass().getResource("beans.xml"));
+ MockBeanDeploymentArchive war = new MockBeanDeploymentArchive("war");
+ war.getBeanDeploymentArchives().add(jar1);
+ war.getBeanDeploymentArchives().add(jar2);
+
+ Deployment deployment = new MockDeployment(war);
+
+ TestContainer container = null;
+ try
+ {
+ container = new TestContainer(new MockServletLifecycle(deployment, war)).startContainer().ensureRequestActive();
+ BeanManagerImpl warBeanManager = container.getBeanManager();
+ BeanManagerImpl jar1BeanManager = container.getLifecycle().getBootstrap().getManager(jar1);
+ BeanManagerImpl jar2BeanManager = container.getLifecycle().getBootstrap().getManager(jar2);
+ Assert.assertTrue(warBeanManager.getEnabledClasses().getAlternativeClasses().isEmpty());
+ Assert.assertFalse(jar1BeanManager.getEnabledClasses().getAlternativeClasses().isEmpty());
+ Assert.assertFalse(jar2BeanManager.getEnabledClasses().getAlternativeClasses().isEmpty());
+ }
+ finally
+ {
+ if (container != null)
+ {
+ container.stopContainer();
+ }
+ }
+ }
+
+ /*
+ * description = "WELD-236"
+ */
+ @Test
+ public void testTypicalEarStructure()
+ {
+
+ // Create the BDA in which we will deploy Foo. This is equivalent to a ejb
+ // jar
+ final MockBeanDeploymentArchive ejbJar = new MockBeanDeploymentArchive("ejb-jar", Foo.class);
+
+ // Create the BDA in which we will deploy Bar. This is equivalent to a war
+ MockBeanDeploymentArchive war = new MockBeanDeploymentArchive("war", Bar.class);
+
+ // The war can access the ejb jar
+ war.getBeanDeploymentArchives().add(ejbJar);
+
+ // Create a deployment, any other classes are put into the ejb-jar (not
+ // relevant to test)
+ Deployment deployment = new AbstractMockDeployment(war, ejbJar)
+ {
+
+ public BeanDeploymentArchive loadBeanDeploymentArchive(Class<?> beanClass)
+ {
+ return ejbJar;
+ }
+
+ };
+
+ TestContainer container = new TestContainer(new MockServletLifecycle(deployment, war));
+ container.startContainer();
+ container.ensureRequestActive();
+
+ // Get the bean manager for war and ejb jar
+ BeanManagerImpl warBeanManager = container.getBeanManager();
+ BeanManagerImpl ejbJarBeanManager = container.getLifecycle().getBootstrap().getManager(ejbJar);
+
+ Assert.assertEquals(1, warBeanManager.getBeans(Bar.class).size());
+ Assert.assertEquals(1, warBeanManager.getBeans(Foo.class).size());
+ Assert.assertEquals(1, ejbJarBeanManager.getBeans(Foo.class).size());
+ Assert.assertEquals(0, ejbJarBeanManager.getBeans(Bar.class).size());
+ Bar bar = Utils.getReference(warBeanManager, Bar.class);
+ Assert.assertNotNull(bar.getFoo());
+ Assert.assertNotNull(bar.getBeanManager());
+ Assert.assertEquals(warBeanManager, bar.getBeanManager());
+ Assert.assertEquals(ejbJarBeanManager, bar.getFoo().getBeanManager());
+ }
+
+}
Added: core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/unit/deployment/structure/resolution/AccessibleManagerResolutionTest.java
===================================================================
--- core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/unit/deployment/structure/resolution/AccessibleManagerResolutionTest.java (rev 0)
+++ core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/unit/deployment/structure/resolution/AccessibleManagerResolutionTest.java 2010-07-28 10:18:08 UTC (rev 6820)
@@ -0,0 +1,178 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2010, Red Hat, Inc., and individual contributors
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * http://www.apache.org/licenses/LICENSE-2.0
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.jboss.weld.tests.unit.deployment.structure.resolution;
+
+import java.util.Set;
+
+import javax.enterprise.inject.spi.Bean;
+
+import org.jboss.weld.Container;
+import org.jboss.weld.bean.ManagedBean;
+import org.jboss.weld.bean.RIBean;
+import org.jboss.weld.bean.interceptor.InterceptionMetadataService;
+import org.jboss.weld.bootstrap.BeanDeployerEnvironment;
+import org.jboss.weld.bootstrap.api.ServiceRegistry;
+import org.jboss.weld.bootstrap.api.helpers.SimpleServiceRegistry;
+import org.jboss.weld.ejb.EjbDescriptors;
+import org.jboss.weld.introspector.WeldClass;
+import org.jboss.weld.introspector.jlr.WeldClassImpl;
+import org.jboss.weld.manager.BeanManagerImpl;
+import org.jboss.weld.manager.EnabledClasses;
+import org.jboss.weld.metadata.TypeStore;
+import org.jboss.weld.metadata.cache.MetaAnnotationStore;
+import org.jboss.weld.resources.ClassTransformer;
+import org.jboss.weld.serialization.ContextualStoreImpl;
+import org.jboss.weld.serialization.spi.ContextualStore;
+import org.junit.Assert;
+import org.junit.Before;
+import org.junit.Test;
+
+public class AccessibleManagerResolutionTest
+{
+
+ private ClassTransformer classTransformer;
+ private ServiceRegistry services;
+
+ @Before
+ public void beforeMethod()
+ {
+ this.classTransformer = new ClassTransformer(new TypeStore());
+ this.services = new SimpleServiceRegistry();
+ this.services.add(MetaAnnotationStore.class, new MetaAnnotationStore(classTransformer));
+ this.services.add(ContextualStore.class, new ContextualStoreImpl());
+ this.services.add(InterceptionMetadataService.class, new InterceptionMetadataService());
+ this.services.add(ClassTransformer.class, classTransformer);
+ }
+
+ private void addBean(BeanManagerImpl manager, Class<?> c)
+ {
+ WeldClass<?> clazz = WeldClassImpl.of(c, classTransformer);
+ RIBean<?> bean = ManagedBean.of(clazz, manager);
+ manager.addBean(bean);
+ BeanDeployerEnvironment environment = new BeanDeployerEnvironment(new EjbDescriptors(), manager);
+ bean.initialize(environment);
+ }
+
+ @Test
+ public void testAccessibleDynamicallySingleLevel()
+ {
+ BeanManagerImpl root = BeanManagerImpl.newRootManager("root", services, new EnabledClasses());
+ Container.initialize(root, services);
+ BeanManagerImpl child = BeanManagerImpl.newRootManager("child", services, new EnabledClasses());
+ addBean(root, Cow.class);
+ Assert.assertEquals(1, root.getBeans(Cow.class).size());
+ Assert.assertEquals(0, child.getBeans(Cow.class).size());
+ child.addAccessibleBeanManager(root);
+ Set<Bean<?>> beans = child.getBeans(Cow.class);
+ Assert.assertEquals(1, child.getBeans(Cow.class).size());
+ addBean(child, Chicken.class);
+ Assert.assertEquals(1, child.getBeans(Chicken.class).size());
+ Assert.assertEquals(0, root.getBeans(Chicken.class).size());
+ }
+
+ @Test
+ public void testAccessibleThreeLevelsWithMultiple()
+ {
+ BeanManagerImpl root = BeanManagerImpl.newRootManager("root", services, new EnabledClasses());
+ Container.initialize(root, services);
+ BeanManagerImpl child = BeanManagerImpl.newRootManager("child", services, new EnabledClasses());
+ BeanManagerImpl child1 = BeanManagerImpl.newRootManager("child1", services, new EnabledClasses());
+ BeanManagerImpl grandchild = BeanManagerImpl.newRootManager("grandchild", services, new EnabledClasses());
+ BeanManagerImpl greatGrandchild = BeanManagerImpl.newRootManager("greatGrandchild", services, new EnabledClasses());
+ child.addAccessibleBeanManager(root);
+ grandchild.addAccessibleBeanManager(child1);
+ grandchild.addAccessibleBeanManager(child);
+ addBean(greatGrandchild, Cat.class);
+ greatGrandchild.addAccessibleBeanManager(grandchild);
+ addBean(root, Cow.class);
+ addBean(child, Chicken.class);
+ addBean(grandchild, Pig.class);
+ addBean(child1, Horse.class);
+ Assert.assertEquals(0, root.getBeans(Pig.class).size());
+ Assert.assertEquals(0, root.getBeans(Chicken.class).size());
+ Assert.assertEquals(1, root.getBeans(Cow.class).size());
+ Assert.assertEquals(0, root.getBeans(Horse.class).size());
+ Assert.assertEquals(0, root.getBeans(Cat.class).size());
+ Assert.assertEquals(0, child.getBeans(Pig.class).size());
+ Assert.assertEquals(1, child.getBeans(Chicken.class).size());
+ Assert.assertEquals(1, child.getBeans(Cow.class).size());
+ Assert.assertEquals(0, child.getBeans(Horse.class).size());
+ Assert.assertEquals(0, child.getBeans(Cat.class).size());
+ Assert.assertEquals(0, child1.getBeans(Cow.class).size());
+ Assert.assertEquals(1, child1.getBeans(Horse.class).size());
+ Assert.assertEquals(1, grandchild.getBeans(Pig.class).size());
+ Assert.assertEquals(1, grandchild.getBeans(Chicken.class).size());
+ Assert.assertEquals(1, grandchild.getBeans(Cow.class).size());
+ Assert.assertEquals(1, grandchild.getBeans(Horse.class).size());
+ Assert.assertEquals(0, grandchild.getBeans(Cat.class).size());
+ Assert.assertEquals(1, greatGrandchild.getBeans(Pig.class).size());
+ Assert.assertEquals(1, greatGrandchild.getBeans(Chicken.class).size());
+ Assert.assertEquals(1, greatGrandchild.getBeans(Cow.class).size());
+ Assert.assertEquals(1, greatGrandchild.getBeans(Horse.class).size());
+ Assert.assertEquals(1, greatGrandchild.getBeans(Cat.class).size());
+ }
+
+ @Test
+ public void testSameManagerAddedTwice()
+ {
+ BeanManagerImpl root = BeanManagerImpl.newRootManager("root", services, new EnabledClasses());
+ Container.initialize(root, services);
+ BeanManagerImpl child = BeanManagerImpl.newRootManager("child", services, new EnabledClasses());
+ BeanManagerImpl grandchild = BeanManagerImpl.newRootManager("grandchild", services, new EnabledClasses());
+ grandchild.addAccessibleBeanManager(child);
+ child.addAccessibleBeanManager(root);
+ grandchild.addAccessibleBeanManager(root);
+ addBean(root, Cow.class);
+ addBean(child, Chicken.class);
+ addBean(grandchild, Pig.class);
+ Assert.assertEquals(0, root.getBeans(Pig.class).size());
+ Assert.assertEquals(0, root.getBeans(Chicken.class).size());
+ Assert.assertEquals(1, root.getBeans(Cow.class).size());
+ Assert.assertEquals(0, child.getBeans(Pig.class).size());
+ Assert.assertEquals(1, child.getBeans(Chicken.class).size());
+ Assert.assertEquals(1, child.getBeans(Cow.class).size());
+ Assert.assertEquals(1, grandchild.getBeans(Pig.class).size());
+ Assert.assertEquals(1, grandchild.getBeans(Chicken.class).size());
+ Assert.assertEquals(1, grandchild.getBeans(Cow.class).size());
+ }
+
+ @Test
+ public void testCircular()
+ {
+ BeanManagerImpl root = BeanManagerImpl.newRootManager("root", services, new EnabledClasses());
+ Container.initialize(root, services);
+ BeanManagerImpl child = BeanManagerImpl.newRootManager("child", services, new EnabledClasses());
+ BeanManagerImpl grandchild = BeanManagerImpl.newRootManager("grandchild", services, new EnabledClasses());
+ grandchild.addAccessibleBeanManager(child);
+ child.addAccessibleBeanManager(root);
+ grandchild.addAccessibleBeanManager(root);
+ root.addAccessibleBeanManager(grandchild);
+ addBean(root, Cow.class);
+ addBean(child, Chicken.class);
+ addBean(grandchild, Pig.class);
+ Assert.assertEquals(1, root.getBeans(Pig.class).size());
+ Assert.assertEquals(1, root.getBeans(Chicken.class).size());
+ Assert.assertEquals(1, root.getBeans(Cow.class).size());
+ Assert.assertEquals(1, child.getBeans(Pig.class).size());
+ Assert.assertEquals(1, child.getBeans(Chicken.class).size());
+ Assert.assertEquals(1, child.getBeans(Cow.class).size());
+ Assert.assertEquals(1, grandchild.getBeans(Pig.class).size());
+ Assert.assertEquals(1, grandchild.getBeans(Chicken.class).size());
+ Assert.assertEquals(1, grandchild.getBeans(Cow.class).size());
+ }
+
+}
Added: core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/unit/deployment/structure/resolution/Cat.java
===================================================================
--- core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/unit/deployment/structure/resolution/Cat.java (rev 0)
+++ core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/unit/deployment/structure/resolution/Cat.java 2010-07-28 10:18:08 UTC (rev 6820)
@@ -0,0 +1,26 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2010, Red Hat, Inc., and individual contributors
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * http://www.apache.org/licenses/LICENSE-2.0
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.jboss.weld.tests.unit.deployment.structure.resolution;
+
+/**
+ * @author pmuir
+ *
+ */
+public class Cat
+{
+
+}
Added: core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/unit/deployment/structure/resolution/Chicken.java
===================================================================
--- core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/unit/deployment/structure/resolution/Chicken.java (rev 0)
+++ core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/unit/deployment/structure/resolution/Chicken.java 2010-07-28 10:18:08 UTC (rev 6820)
@@ -0,0 +1,26 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2010, Red Hat, Inc., and individual contributors
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * http://www.apache.org/licenses/LICENSE-2.0
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.jboss.weld.tests.unit.deployment.structure.resolution;
+
+/**
+ * @author pmuir
+ *
+ */
+public class Chicken
+{
+
+}
Added: core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/unit/deployment/structure/resolution/Cow.java
===================================================================
--- core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/unit/deployment/structure/resolution/Cow.java (rev 0)
+++ core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/unit/deployment/structure/resolution/Cow.java 2010-07-28 10:18:08 UTC (rev 6820)
@@ -0,0 +1,26 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2010, Red Hat, Inc., and individual contributors
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * http://www.apache.org/licenses/LICENSE-2.0
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.jboss.weld.tests.unit.deployment.structure.resolution;
+
+/**
+ * @author pmuir
+ *
+ */
+public class Cow
+{
+
+}
Added: core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/unit/deployment/structure/resolution/Horse.java
===================================================================
--- core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/unit/deployment/structure/resolution/Horse.java (rev 0)
+++ core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/unit/deployment/structure/resolution/Horse.java 2010-07-28 10:18:08 UTC (rev 6820)
@@ -0,0 +1,26 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2010, Red Hat, Inc., and individual contributors
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * http://www.apache.org/licenses/LICENSE-2.0
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.jboss.weld.tests.unit.deployment.structure.resolution;
+
+/**
+ * @author pmuir
+ *
+ */
+public class Horse
+{
+
+}
Added: core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/unit/deployment/structure/resolution/Pig.java
===================================================================
--- core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/unit/deployment/structure/resolution/Pig.java (rev 0)
+++ core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/unit/deployment/structure/resolution/Pig.java 2010-07-28 10:18:08 UTC (rev 6820)
@@ -0,0 +1,26 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2010, Red Hat, Inc., and individual contributors
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * http://www.apache.org/licenses/LICENSE-2.0
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.jboss.weld.tests.unit.deployment.structure.resolution;
+
+/**
+ * @author pmuir
+ *
+ */
+public class Pig
+{
+
+}
Added: core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/unit/environments/servlet/Animal.java
===================================================================
--- core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/unit/environments/servlet/Animal.java (rev 0)
+++ core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/unit/environments/servlet/Animal.java 2010-07-28 10:18:08 UTC (rev 6820)
@@ -0,0 +1,22 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2010, Red Hat, Inc., and individual contributors
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * http://www.apache.org/licenses/LICENSE-2.0
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.jboss.weld.tests.unit.environments.servlet;
+
+interface Animal
+{
+
+}
Added: core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/unit/environments/servlet/DeadlyAnimal.java
===================================================================
--- core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/unit/environments/servlet/DeadlyAnimal.java (rev 0)
+++ core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/unit/environments/servlet/DeadlyAnimal.java 2010-07-28 10:18:08 UTC (rev 6820)
@@ -0,0 +1,22 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2010, Red Hat, Inc., and individual contributors
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * http://www.apache.org/licenses/LICENSE-2.0
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.jboss.weld.tests.unit.environments.servlet;
+
+interface DeadlyAnimal
+{
+
+}
Added: core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/unit/environments/servlet/DeadlySpider.java
===================================================================
--- core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/unit/environments/servlet/DeadlySpider.java (rev 0)
+++ core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/unit/environments/servlet/DeadlySpider.java 2010-07-28 10:18:08 UTC (rev 6820)
@@ -0,0 +1,22 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2010, Red Hat, Inc., and individual contributors
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * http://www.apache.org/licenses/LICENSE-2.0
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.jboss.weld.tests.unit.environments.servlet;
+
+interface DeadlySpider extends DeadlyAnimal
+{
+
+}
Added: core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/unit/environments/servlet/DefangedTarantula.java
===================================================================
--- core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/unit/environments/servlet/DefangedTarantula.java (rev 0)
+++ core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/unit/environments/servlet/DefangedTarantula.java 2010-07-28 10:18:08 UTC (rev 6820)
@@ -0,0 +1,22 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2010, Red Hat, Inc., and individual contributors
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * http://www.apache.org/licenses/LICENSE-2.0
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.jboss.weld.tests.unit.environments.servlet;
+
+class DefangedTarantula extends Tarantula
+{
+
+}
Added: core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/unit/environments/servlet/Hound.java
===================================================================
--- core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/unit/environments/servlet/Hound.java (rev 0)
+++ core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/unit/environments/servlet/Hound.java 2010-07-28 10:18:08 UTC (rev 6820)
@@ -0,0 +1,37 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2010, Red Hat, Inc., and individual contributors
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * http://www.apache.org/licenses/LICENSE-2.0
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.jboss.weld.tests.unit.environments.servlet;
+
+import javax.ejb.Remove;
+import javax.ejb.Stateful;
+import javax.inject.Named;
+
+@Stateful
+@Tame
+@Named("Pongo")
+class Hound implements HoundLocal
+{
+ @Remove
+ public void bye() {
+ }
+
+ public void ping()
+ {
+
+ }
+
+}
Added: core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/unit/environments/servlet/HoundLocal.java
===================================================================
--- core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/unit/environments/servlet/HoundLocal.java (rev 0)
+++ core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/unit/environments/servlet/HoundLocal.java 2010-07-28 10:18:08 UTC (rev 6820)
@@ -0,0 +1,27 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2010, Red Hat, Inc., and individual contributors
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * http://www.apache.org/licenses/LICENSE-2.0
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.jboss.weld.tests.unit.environments.servlet;
+
+import javax.ejb.Local;
+
+@Local
+public interface HoundLocal
+{
+
+ public void ping();
+
+}
Added: core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/unit/environments/servlet/Salmon.java
===================================================================
--- core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/unit/environments/servlet/Salmon.java (rev 0)
+++ core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/unit/environments/servlet/Salmon.java 2010-07-28 10:18:08 UTC (rev 6820)
@@ -0,0 +1,25 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2010, Red Hat, Inc., and individual contributors
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * http://www.apache.org/licenses/LICENSE-2.0
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.jboss.weld.tests.unit.environments.servlet;
+
+import javax.inject.Named;
+
+@Named
+class Salmon implements ScottishFish
+{
+
+}
Added: core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/unit/environments/servlet/ScottishFish.java
===================================================================
--- core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/unit/environments/servlet/ScottishFish.java (rev 0)
+++ core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/unit/environments/servlet/ScottishFish.java 2010-07-28 10:18:08 UTC (rev 6820)
@@ -0,0 +1,22 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2010, Red Hat, Inc., and individual contributors
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * http://www.apache.org/licenses/LICENSE-2.0
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.jboss.weld.tests.unit.environments.servlet;
+
+interface ScottishFish extends Animal
+{
+
+}
Added: core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/unit/environments/servlet/SeaBass.java
===================================================================
--- core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/unit/environments/servlet/SeaBass.java (rev 0)
+++ core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/unit/environments/servlet/SeaBass.java 2010-07-28 10:18:08 UTC (rev 6820)
@@ -0,0 +1,25 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2010, Red Hat, Inc., and individual contributors
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * http://www.apache.org/licenses/LICENSE-2.0
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.jboss.weld.tests.unit.environments.servlet;
+
+import javax.enterprise.context.RequestScoped;
+
+@RequestScoped
+class SeaBass implements Animal
+{
+
+}
Added: core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/unit/environments/servlet/ServletEnvironmentTest.java
===================================================================
--- core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/unit/environments/servlet/ServletEnvironmentTest.java (rev 0)
+++ core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/unit/environments/servlet/ServletEnvironmentTest.java 2010-07-28 10:18:08 UTC (rev 6820)
@@ -0,0 +1,120 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2010, Red Hat, Inc., and individual contributors
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * http://www.apache.org/licenses/LICENSE-2.0
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.jboss.weld.tests.unit.environments.servlet;
+
+import java.util.Arrays;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+
+import javax.enterprise.inject.spi.Bean;
+import javax.enterprise.util.AnnotationLiteral;
+
+import org.jboss.weld.bean.ManagedBean;
+import org.jboss.weld.bean.RIBean;
+import org.jboss.weld.manager.BeanManagerImpl;
+import org.jboss.weld.mock.MockServletLifecycle;
+import org.jboss.weld.mock.TestContainer;
+import org.jboss.weld.test.Utils;
+import org.junit.AfterClass;
+import org.junit.Assert;
+import org.junit.BeforeClass;
+import org.junit.Test;
+
+public class ServletEnvironmentTest
+{
+
+ private static TestContainer container;
+ private static BeanManagerImpl manager;
+
+ @BeforeClass
+ public static void beforeClass() throws Throwable
+ {
+ container = new TestContainer(new MockServletLifecycle(), Arrays.asList(Animal.class, DeadlyAnimal.class, DeadlySpider.class, DeadlyAnimal.class, Hound.class, HoundLocal.class, Salmon.class, ScottishFish.class, SeaBass.class, Sole.class, Spider.class, Tarantula.class, TarantulaProducer.class, Tuna.class), null);
+ container.startContainer();
+ container.ensureRequestActive();
+ manager = container.getBeanManager();
+ }
+
+ @AfterClass
+ public static void afterClass() throws Exception
+ {
+ container.stopContainer();
+ container = null;
+ manager = null;
+ }
+
+ @Test
+ public void testSimpleBeans()
+ {
+ Map<Class<?>, Bean<?>> beans = new HashMap<Class<?>, Bean<?>>();
+ for (Bean<?> bean : manager.getBeans())
+ {
+ if (bean instanceof RIBean<?>)
+ {
+ beans.put(((RIBean<?>) bean).getType(), bean);
+ }
+ }
+ Assert.assertTrue(beans.containsKey(Tuna.class));
+ Assert.assertTrue(beans.containsKey(Salmon.class));
+ Assert.assertTrue(beans.containsKey(SeaBass.class));
+ Assert.assertTrue(beans.containsKey(Sole.class));
+
+ Assert.assertTrue(beans.get(Tuna.class) instanceof ManagedBean<?>);
+ Assert.assertTrue(beans.get(Salmon.class) instanceof ManagedBean<?>);
+ Assert.assertTrue(beans.get(SeaBass.class) instanceof ManagedBean<?>);
+ Assert.assertTrue(beans.get(Sole.class) instanceof ManagedBean<?>);
+ Utils.getReference(manager, Sole.class, new AnnotationLiteral<Whitefish>() {}).ping();
+ }
+
+ @Test
+ public void testProducerMethodBean()
+ {
+ Map<Class<?>, Bean<?>> beans = new HashMap<Class<?>, Bean<?>>();
+ for (Bean<?> bean : manager.getBeans())
+ {
+ if (bean instanceof RIBean<?>)
+ {
+ beans.put(((RIBean<?>) bean).getType(), bean);
+ }
+ }
+ Assert.assertTrue(beans.containsKey(TarantulaProducer.class));
+ Assert.assertTrue(beans.containsKey(Tarantula.class));
+
+ beans.get(TarantulaProducer.class);
+
+ Assert.assertTrue(beans.get(TarantulaProducer.class) instanceof ManagedBean<?>);
+ Utils.getReference(manager, Tarantula.class, new AnnotationLiteral<Tame>() {}).ping();
+ }
+
+ public void testSingleEnterpriseBean()
+ {
+ List<Bean<?>> beans = manager.getBeans();
+ Map<Class<?>, Bean<?>> classes = new HashMap<Class<?>, Bean<?>>();
+ for (Bean<?> bean : beans)
+ {
+ if (bean instanceof RIBean<?>)
+ {
+ classes.put(((RIBean<?>) bean).getType(), bean);
+ }
+ }
+ Assert.assertTrue(classes.containsKey(Hound.class));
+ Assert.assertTrue(classes.get(Hound.class) instanceof ManagedBean<?>);
+ Utils.getReference(manager, HoundLocal.class, new AnnotationLiteral<Tame>() {}).ping();
+ }
+
+}
Added: core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/unit/environments/servlet/ServletLifecycleTest.java
===================================================================
--- core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/unit/environments/servlet/ServletLifecycleTest.java (rev 0)
+++ core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/unit/environments/servlet/ServletLifecycleTest.java 2010-07-28 10:18:08 UTC (rev 6820)
@@ -0,0 +1,109 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2010, Red Hat, Inc., and individual contributors
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * http://www.apache.org/licenses/LICENSE-2.0
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.jboss.weld.tests.unit.environments.servlet;
+
+import org.jboss.arquillian.api.Deployment;
+import org.jboss.arquillian.junit.Arquillian;
+import org.jboss.shrinkwrap.api.Archive;
+import org.jboss.shrinkwrap.api.BeanArchive;
+import org.jboss.shrinkwrap.api.ShrinkWrap;
+import org.jboss.weld.test.Utils;
+import org.jboss.weld.tests.category.Broken;
+import org.jboss.weld.tests.resolution.wbri293.ContextualReferenceTest;
+import org.junit.Before;
+import org.junit.Test;
+import org.junit.experimental.categories.Category;
+import org.junit.runner.RunWith;
+
+/**
+ * A set of tests that validates that the contexts are properly created and
+ * destroyed from the perspective of a servlet environment.
+ *
+ * TODO PLM this test is severely broken in design due to a lack of
+ * understanding of how lifecycle is built (it is an application singleton, it
+ * can't just be replaced). If it starts to fail, it needs rewriting to be an
+ * i/c test that runs in a servlet container OR without using the deployment
+ * arch
+ *
+ * TODO Rewrite correctly
+ *
+ * @author Dan Allen
+ */
+(a)RunWith(Arquillian.class)
+public class ServletLifecycleTest
+{
+ @Deployment
+ public static Archive<?> deploy()
+ {
+ return ShrinkWrap.create(BeanArchive.class);
+ }
+
+ @Test
+ public void testEndSessionWithActiveRequestAndSessionContexts()
+ {
+// ServletLifecycle servletLifecycle = new ServletLifecycle(new ContextLifecycle());
+// BeanStore requestBeanStore = new ConcurrentHashMapBeanStore();
+// RequestContext.instance().setBeanStore(requestBeanStore);
+// RequestContext.instance().setActive(true);
+//
+// BeanStore sessionBeanStore = new ConcurrentHashMapBeanStore();
+// SessionContext.instance().setBeanStore(sessionBeanStore);
+// SessionContext.instance().setActive(true);
+//
+// HttpSession session = new MockHttpSession("99");
+// servletLifecycle.endSession(session);
+// assert Boolean.FALSE.equals(SessionContext.instance().isActive()) : "Session context should no longer be active";
+// assert Boolean.TRUE.equals(RequestContext.instance().isActive()) : "Request context should still be active";
+ }
+
+ @Test
+ @Category(Broken.class)
+ public void testEndSessionWithActiveRequestContextOnly()
+ {
+// ServletLifecycle servletLifecycle = new ServletLifecycle(new ContextLifecycle());
+// BeanStore requestBeanStore = new ConcurrentHashMapBeanStore();
+// RequestContext.instance().setBeanStore(requestBeanStore);
+// RequestContext.instance().setActive(true);
+//
+// HttpSession session = new MockHttpSession("99");
+// servletLifecycle.endSession(session);
+// assert Boolean.FALSE.equals(SessionContext.instance().isActive()) : "Session context should no longer be active";
+// assert Boolean.TRUE.equals(RequestContext.instance().isActive()) : "Request context should still be active";
+ }
+
+ @Test
+ @Category(Broken.class)
+ public void testEndSessionWithNoActiveRequestOrSessionContexts()
+ {
+// ServletLifecycle servletLifecycle = new ServletLifecycle(new ContextLifecycle());
+//
+// HttpSession session = new MockHttpSession("99");
+// servletLifecycle.endSession(session);
+// assert Boolean.FALSE.equals(SessionContext.instance().isActive()) : "Session context should no longer be active";
+// assert Boolean.FALSE.equals(RequestContext.instance().isActive()) : "Temporary request context should have been deactivated";
+ }
+
+ @Before
+ @Category(Broken.class)
+ public void beforeMethod()
+ {
+// RequestContext.instance().setBeanStore(null);
+// RequestContext.instance().setActive(false);
+// SessionContext.instance().setBeanStore(null);
+// SessionContext.instance().setActive(false);
+ }
+}
Added: core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/unit/environments/servlet/Sole.java
===================================================================
--- core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/unit/environments/servlet/Sole.java (rev 0)
+++ core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/unit/environments/servlet/Sole.java 2010-07-28 10:18:08 UTC (rev 6820)
@@ -0,0 +1,34 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2010, Red Hat, Inc., and individual contributors
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * http://www.apache.org/licenses/LICENSE-2.0
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.jboss.weld.tests.unit.environments.servlet;
+
+import javax.ejb.EJB;
+import javax.inject.Named;
+
+@Whitefish
+@Named("whitefish")
+class Sole implements ScottishFish
+{
+
+ @EJB HoundLocal hound;
+
+ public void ping()
+ {
+
+ }
+
+}
Added: core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/unit/environments/servlet/Spider.java
===================================================================
--- core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/unit/environments/servlet/Spider.java (rev 0)
+++ core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/unit/environments/servlet/Spider.java 2010-07-28 10:18:08 UTC (rev 6820)
@@ -0,0 +1,27 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2010, Red Hat, Inc., and individual contributors
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * http://www.apache.org/licenses/LICENSE-2.0
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.jboss.weld.tests.unit.environments.servlet;
+
+class Spider implements Animal
+{
+
+ public final void layEggs()
+ {
+
+ }
+
+}
Added: core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/unit/environments/servlet/Tame.java
===================================================================
--- core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/unit/environments/servlet/Tame.java (rev 0)
+++ core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/unit/environments/servlet/Tame.java 2010-07-28 10:18:08 UTC (rev 6820)
@@ -0,0 +1,38 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2010, Red Hat, Inc., and individual contributors
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * http://www.apache.org/licenses/LICENSE-2.0
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.jboss.weld.tests.unit.environments.servlet;
+
+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.inject.Qualifier;
+
+@Target( { TYPE, METHOD, PARAMETER, FIELD })
+@Retention(RUNTIME)
+@Documented
+@Qualifier
+@interface Tame
+{
+
+}
Added: core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/unit/environments/servlet/Tarantula.java
===================================================================
--- core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/unit/environments/servlet/Tarantula.java (rev 0)
+++ core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/unit/environments/servlet/Tarantula.java 2010-07-28 10:18:08 UTC (rev 6820)
@@ -0,0 +1,27 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2010, Red Hat, Inc., and individual contributors
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * http://www.apache.org/licenses/LICENSE-2.0
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.jboss.weld.tests.unit.environments.servlet;
+
+class Tarantula extends Spider implements DeadlySpider
+{
+
+ public void ping()
+ {
+
+ }
+
+}
Added: core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/unit/environments/servlet/TarantulaProducer.java
===================================================================
--- core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/unit/environments/servlet/TarantulaProducer.java (rev 0)
+++ core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/unit/environments/servlet/TarantulaProducer.java 2010-07-28 10:18:08 UTC (rev 6820)
@@ -0,0 +1,29 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2010, Red Hat, Inc., and individual contributors
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * http://www.apache.org/licenses/LICENSE-2.0
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.jboss.weld.tests.unit.environments.servlet;
+
+import javax.enterprise.inject.Produces;
+
+public class TarantulaProducer
+{
+
+ @Produces @Tame public Tarantula produceTameTarantula()
+ {
+ return new DefangedTarantula();
+ }
+
+}
Added: core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/unit/environments/servlet/Tuna.java
===================================================================
--- core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/unit/environments/servlet/Tuna.java (rev 0)
+++ core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/unit/environments/servlet/Tuna.java 2010-07-28 10:18:08 UTC (rev 6820)
@@ -0,0 +1,30 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2010, Red Hat, Inc., and individual contributors
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * http://www.apache.org/licenses/LICENSE-2.0
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.jboss.weld.tests.unit.environments.servlet;
+
+import javax.enterprise.context.RequestScoped;
+
+@RequestScoped
+class Tuna
+{
+
+ public String getName()
+ {
+ return "Ophir";
+ }
+
+}
Added: core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/unit/environments/servlet/Whitefish.java
===================================================================
--- core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/unit/environments/servlet/Whitefish.java (rev 0)
+++ core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/unit/environments/servlet/Whitefish.java 2010-07-28 10:18:08 UTC (rev 6820)
@@ -0,0 +1,38 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2010, Red Hat, Inc., and individual contributors
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * http://www.apache.org/licenses/LICENSE-2.0
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.jboss.weld.tests.unit.environments.servlet;
+
+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.inject.Qualifier;
+
+@Target( { TYPE, METHOD, PARAMETER, FIELD })
+@Retention(RUNTIME)
+@Documented
+@Qualifier
+public @interface Whitefish
+{
+
+}
Added: core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/unit/jsf/JsfApiAbstractionTest.java
===================================================================
--- core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/unit/jsf/JsfApiAbstractionTest.java (rev 0)
+++ core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/unit/jsf/JsfApiAbstractionTest.java 2010-07-28 10:18:08 UTC (rev 6820)
@@ -0,0 +1,90 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2010, Red Hat, Inc., and individual contributors
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * http://www.apache.org/licenses/LICENSE-2.0
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.jboss.weld.tests.unit.jsf;
+
+import javax.faces.component.behavior.Behavior;
+import javax.faces.context.FacesContext;
+
+import org.jboss.weld.jsf.JsfApiAbstraction;
+import org.jboss.weld.resources.DefaultResourceLoader;
+import org.jboss.weld.resources.spi.ResourceLoader;
+import org.jboss.weld.resources.spi.ResourceLoadingException;
+import org.jboss.weld.util.ApiAbstraction.Dummy;
+import org.junit.Assert;
+import org.junit.Test;
+
+/**
+ * @author Dan Allen
+ */
+public class JsfApiAbstractionTest
+{
+
+ @Test
+ public void testDetectsJsf12Version()
+ {
+ JsfApiAbstraction abstraction = new JsfApiAbstraction(getResourceLoaderHidingJsf20Classes());
+ Assert.assertEquals(1.2, abstraction.MINIMUM_API_VERSION, 0);
+ Assert.assertFalse(abstraction.isApiVersionCompatibleWith(2.0));
+ }
+
+ @Test
+ public void testLoadsJsf12Classes()
+ {
+ JsfApiAbstraction abstraction = new JsfApiAbstraction(getResourceLoaderHidingJsf20Classes());
+ Assert.assertEquals(FacesContext.class, abstraction.FACES_CONTEXT);
+ Assert.assertEquals(Dummy.class, abstraction.BEHAVIOR_CLASS);
+ }
+
+ @Test
+ public void testDetectsJsf20Version()
+ {
+ JsfApiAbstraction abstraction = new JsfApiAbstraction(getResourceLoader());
+ Assert.assertEquals(2.0, abstraction.MINIMUM_API_VERSION, 0);
+ Assert.assertTrue(abstraction.isApiVersionCompatibleWith(2.0));
+ }
+
+ @Test
+ public void testLoadsJsf20Classes()
+ {
+ JsfApiAbstraction abstraction = new JsfApiAbstraction(getResourceLoader());
+ Assert.assertEquals(FacesContext.class, abstraction.FACES_CONTEXT);
+ Assert.assertEquals(Behavior.class, abstraction.BEHAVIOR_CLASS);
+ }
+
+ private ResourceLoader getResourceLoader()
+ {
+ return new DefaultResourceLoader();
+ }
+
+ private ResourceLoader getResourceLoaderHidingJsf20Classes()
+ {
+ return new DefaultResourceLoader()
+ {
+
+ @Override
+ public Class<?> classForName(String name)
+ {
+ if ("javax.faces.component.behavior.Behavior".equals(name))
+ {
+ throw new ResourceLoadingException("Hidden class");
+ }
+ return super.classForName(name);
+ }
+
+ };
+ }
+}
Added: core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/unit/reflection/annotation/AnnotationTest.java
===================================================================
--- core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/unit/reflection/annotation/AnnotationTest.java (rev 0)
+++ core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/unit/reflection/annotation/AnnotationTest.java 2010-07-28 10:18:08 UTC (rev 6820)
@@ -0,0 +1,62 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2010, Red Hat, Inc., and individual contributors
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * http://www.apache.org/licenses/LICENSE-2.0
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.jboss.weld.tests.unit.reflection.annotation;
+
+import java.io.ByteArrayInputStream;
+import java.io.ByteArrayOutputStream;
+import java.io.IOException;
+import java.io.ObjectInputStream;
+import java.io.ObjectOutputStream;
+import java.lang.reflect.Method;
+
+import org.junit.Assert;
+import org.junit.Test;
+
+@Synchronous
+public class AnnotationTest
+{
+
+ @Test
+ public void testSerializability() throws Throwable
+ {
+ Synchronous synchronous = AnnotationTest.class.getAnnotation(Synchronous.class);
+ deserialize(serialize(synchronous));
+ }
+
+ @Test
+ public void testGetAnnotationDefaults() throws Throwable
+ {
+ Method method = Quality.class.getMethod("value");
+ Object value = method.getDefaultValue();
+ Assert.assertEquals("very", value);
+ }
+
+ protected byte[] serialize(Object instance) throws IOException
+ {
+ ByteArrayOutputStream bytes = new ByteArrayOutputStream();
+ ObjectOutputStream out = new ObjectOutputStream(bytes);
+ out.writeObject(instance);
+ return bytes.toByteArray();
+ }
+
+ protected <T> T deserialize(byte[] bytes) throws IOException, ClassNotFoundException
+ {
+ ObjectInputStream in = new ObjectInputStream(new ByteArrayInputStream(bytes));
+ return (T) in.readObject();
+ }
+
+}
Added: core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/unit/reflection/annotation/Quality.java
===================================================================
--- core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/unit/reflection/annotation/Quality.java (rev 0)
+++ core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/unit/reflection/annotation/Quality.java 2010-07-28 10:18:08 UTC (rev 6820)
@@ -0,0 +1,39 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2010, Red Hat, Inc., and individual contributors
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * http://www.apache.org/licenses/LICENSE-2.0
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.jboss.weld.tests.unit.reflection.annotation;
+
+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.inject.Qualifier;
+
+@Target( { TYPE, METHOD, PARAMETER })
+@Retention(RUNTIME)
+@Documented
+@Qualifier
+@interface Quality
+{
+
+ String value() default "very";
+
+}
Added: core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/unit/reflection/annotation/Synchronous.java
===================================================================
--- core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/unit/reflection/annotation/Synchronous.java (rev 0)
+++ core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/unit/reflection/annotation/Synchronous.java 2010-07-28 10:18:08 UTC (rev 6820)
@@ -0,0 +1,37 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2010, Red Hat, Inc., and individual contributors
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * http://www.apache.org/licenses/LICENSE-2.0
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.jboss.weld.tests.unit.reflection.annotation;
+
+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.inject.Qualifier;
+
+@Target( { TYPE, METHOD, PARAMETER })
+@Retention(RUNTIME)
+@Documented
+@Qualifier
+@interface Synchronous
+{
+
+}
Added: core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/unit/reflection/clazz/Animal.java
===================================================================
--- core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/unit/reflection/clazz/Animal.java (rev 0)
+++ core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/unit/reflection/clazz/Animal.java 2010-07-28 10:18:08 UTC (rev 6820)
@@ -0,0 +1,22 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2010, Red Hat, Inc., and individual contributors
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * http://www.apache.org/licenses/LICENSE-2.0
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.jboss.weld.tests.unit.reflection.clazz;
+
+interface Animal
+{
+
+}
Added: core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/unit/reflection/clazz/Antelope.java
===================================================================
--- core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/unit/reflection/clazz/Antelope.java (rev 0)
+++ core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/unit/reflection/clazz/Antelope.java 2010-07-28 10:18:08 UTC (rev 6820)
@@ -0,0 +1,23 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2010, Red Hat, Inc., and individual contributors
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * http://www.apache.org/licenses/LICENSE-2.0
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.jboss.weld.tests.unit.reflection.clazz;
+
+
+class Antelope implements Animal
+{
+
+}
Added: core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/unit/reflection/clazz/Kangaroo.java
===================================================================
--- core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/unit/reflection/clazz/Kangaroo.java (rev 0)
+++ core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/unit/reflection/clazz/Kangaroo.java 2010-07-28 10:18:08 UTC (rev 6820)
@@ -0,0 +1,33 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2010, Red Hat, Inc., and individual contributors
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * http://www.apache.org/licenses/LICENSE-2.0
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.jboss.weld.tests.unit.reflection.clazz;
+
+
+public class Kangaroo
+{
+ LittleKangarooInHerPouch<String> procreate()
+ {
+ return new LittleKangarooInHerPouch<String>("Joey");
+ }
+
+ public class LittleKangarooInHerPouch<T>
+ {
+ LittleKangarooInHerPouch(T formalParam)
+ {
+ }
+ }
+}
Added: core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/unit/reflection/clazz/Koala.java
===================================================================
--- core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/unit/reflection/clazz/Koala.java (rev 0)
+++ core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/unit/reflection/clazz/Koala.java 2010-07-28 10:18:08 UTC (rev 6820)
@@ -0,0 +1,28 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2010, Red Hat, Inc., and individual contributors
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * http://www.apache.org/licenses/LICENSE-2.0
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.jboss.weld.tests.unit.reflection.clazz;
+
+public class Koala
+{
+
+ public Animal procreate()
+ {
+ class BabyKoala implements Animal {}
+ return new BabyKoala();
+ }
+
+}
Added: core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/unit/reflection/clazz/Order.java
===================================================================
--- core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/unit/reflection/clazz/Order.java (rev 0)
+++ core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/unit/reflection/clazz/Order.java 2010-07-28 10:18:08 UTC (rev 6820)
@@ -0,0 +1,24 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2010, Red Hat, Inc., and individual contributors
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * http://www.apache.org/licenses/LICENSE-2.0
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.jboss.weld.tests.unit.reflection.clazz;
+
+
+@Random
+class Order
+{
+
+}
Added: core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/unit/reflection/clazz/Possum.java
===================================================================
--- core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/unit/reflection/clazz/Possum.java (rev 0)
+++ core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/unit/reflection/clazz/Possum.java 2010-07-28 10:18:08 UTC (rev 6820)
@@ -0,0 +1,28 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2010, Red Hat, Inc., and individual contributors
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * http://www.apache.org/licenses/LICENSE-2.0
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.jboss.weld.tests.unit.reflection.clazz;
+
+
+public class Possum
+{
+
+ public Possum procreate()
+ {
+ return new Possum() {};
+ }
+
+}
Added: core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/unit/reflection/clazz/Random.java
===================================================================
--- core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/unit/reflection/clazz/Random.java (rev 0)
+++ core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/unit/reflection/clazz/Random.java 2010-07-28 10:18:08 UTC (rev 6820)
@@ -0,0 +1,38 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2010, Red Hat, Inc., and individual contributors
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * http://www.apache.org/licenses/LICENSE-2.0
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.jboss.weld.tests.unit.reflection.clazz;
+
+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.inject.Qualifier;
+
+@Target( { TYPE, METHOD, PARAMETER, FIELD })
+@Retention(RUNTIME)
+@Documented
+@Qualifier
+public @interface Random
+{
+
+}
Added: core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/unit/reflection/clazz/WeldClassTest.java
===================================================================
--- core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/unit/reflection/clazz/WeldClassTest.java (rev 0)
+++ core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/unit/reflection/clazz/WeldClassTest.java 2010-07-28 10:18:08 UTC (rev 6820)
@@ -0,0 +1,103 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2010, Red Hat, Inc., and individual contributors
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * http://www.apache.org/licenses/LICENSE-2.0
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.jboss.weld.tests.unit.reflection.clazz;
+
+import java.lang.annotation.Annotation;
+import java.util.Iterator;
+import java.util.Set;
+
+import javax.enterprise.inject.Stereotype;
+import javax.enterprise.inject.spi.AnnotatedType;
+import javax.inject.Qualifier;
+
+import org.jboss.weld.introspector.WeldClass;
+import org.jboss.weld.introspector.jlr.WeldClassImpl;
+import org.jboss.weld.metadata.TypeStore;
+import org.jboss.weld.resources.ClassTransformer;
+import org.jboss.weld.tests.category.Broken;
+import org.junit.Assert;
+import org.junit.Test;
+import org.junit.experimental.categories.Category;
+
+//@Artifact
+public class WeldClassTest
+{
+
+ private final ClassTransformer transformer = new ClassTransformer(new TypeStore());
+
+ /*
+ * description = "WELD-216"
+ */
+ @Test
+ @Category(Broken.class)
+ public void testMemberClassWithGenericTypes()
+ {
+ AnnotatedType at = WeldClassImpl.of(new Kangaroo().procreate().getClass(), transformer);
+ WeldClassImpl.of(at, transformer);
+ }
+
+ /*
+ * description = "WELD-216"
+ */
+ @Test
+ public void testLocalClassWithGenericTypes()
+ {
+ AnnotatedType at = WeldClassImpl.of(new Koala().procreate().getClass(), transformer);
+ WeldClassImpl.of(at, transformer);
+ }
+
+ /*
+ * description = "WELD-216"
+ */
+ @Test
+ public void testAnonymousClassWithGenericTypes()
+ {
+ AnnotatedType at = WeldClassImpl.of(new Possum().procreate().getClass(), transformer);
+ WeldClassImpl.of(at, transformer);
+ }
+
+ @Test
+ public void testDeclaredAnnotations()
+ {
+ WeldClass<Order> annotatedElement = WeldClassImpl.of(Order.class, transformer);
+ Assert.assertEquals(1, annotatedElement.getAnnotations().size());
+ Assert.assertNotNull(annotatedElement.getAnnotation(Random.class));
+ Assert.assertEquals(Order.class, annotatedElement.getJavaClass());
+ }
+
+ @Test
+ public void testMetaAnnotations()
+ {
+ WeldClass<Order> annotatedElement = WeldClassImpl.of(Order.class, transformer);
+ Set<Annotation> annotations = annotatedElement.getMetaAnnotations(Qualifier.class);
+ Assert.assertEquals(1, annotations.size());
+ Iterator<Annotation> it = annotations.iterator();
+ Annotation production = it.next();
+ Assert.assertEquals(Random.class, production.annotationType());
+ }
+
+ @Test
+ public void testEmpty()
+ {
+ WeldClass<Order> annotatedElement = WeldClassImpl.of(Order.class, transformer);
+ Assert.assertNull(annotatedElement.getAnnotation(Stereotype.class));
+ Assert.assertEquals(0, annotatedElement.getMetaAnnotations(Stereotype.class).size());
+ WeldClass<Antelope> classWithNoAnnotations = WeldClassImpl.of(Antelope.class, transformer);
+ Assert.assertEquals(0, classWithNoAnnotations.getAnnotations().size());
+ }
+
+}
Added: core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/unit/reflection/method/Choice.java
===================================================================
--- core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/unit/reflection/method/Choice.java (rev 0)
+++ core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/unit/reflection/method/Choice.java 2010-07-28 10:18:08 UTC (rev 6820)
@@ -0,0 +1,30 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2010, Red Hat, Inc., and individual contributors
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * http://www.apache.org/licenses/LICENSE-2.0
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.jboss.weld.tests.unit.reflection.method;
+
+abstract class ChoiceParent<T>
+{
+}
+
+
+class Choice<T, E> extends ChoiceParent<T>
+{
+ public Choice<T, E> aMethod()
+ {
+ return null;
+ }
+}
Added: core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/unit/reflection/method/WeldMethodTest.java
===================================================================
--- core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/unit/reflection/method/WeldMethodTest.java (rev 0)
+++ core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/unit/reflection/method/WeldMethodTest.java 2010-07-28 10:18:08 UTC (rev 6820)
@@ -0,0 +1,47 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2010, Red Hat, Inc., and individual contributors
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * http://www.apache.org/licenses/LICENSE-2.0
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.jboss.weld.tests.unit.reflection.method;
+
+import javax.enterprise.util.TypeLiteral;
+
+import org.jboss.weld.introspector.WeldClass;
+import org.jboss.weld.introspector.WeldMethod;
+import org.jboss.weld.introspector.jlr.WeldClassImpl;
+import org.jboss.weld.introspector.jlr.WeldMethodImpl;
+import org.jboss.weld.metadata.TypeStore;
+import org.jboss.weld.resources.ClassTransformer;
+import org.junit.Assert;
+import org.junit.Test;
+
+public class WeldMethodTest
+{
+
+ private final ClassTransformer transformer = new ClassTransformer(new TypeStore());
+ private final Class<Choice<?, ?>> CHOICE_LITERAL = new TypeLiteral<Choice<?, ?>>() {}.getRawType();
+
+ /*
+ * description = "WELD-221"
+ */
+ @Test
+ public void testMethodReturnsGenericTypeOfClass() throws Exception
+ {
+ WeldClass<Choice<?, ?>> clazz = WeldClassImpl.of(CHOICE_LITERAL, transformer);
+ WeldMethod<Choice<?, ?>, Choice<?, ?>> method = WeldMethodImpl.of(Choice.class.getMethod("aMethod"), clazz, transformer);
+ Assert.assertEquals(3, method.getTypeClosure().size());
+ }
+
+}
Added: core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/unit/security/ReflectionTest.java
===================================================================
--- core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/unit/security/ReflectionTest.java (rev 0)
+++ core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/unit/security/ReflectionTest.java 2010-07-28 10:18:08 UTC (rev 6820)
@@ -0,0 +1,208 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2010, Red Hat, Inc., and individual contributors
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * http://www.apache.org/licenses/LICENSE-2.0
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.jboss.weld.tests.unit.security;
+
+import java.lang.reflect.AccessibleObject;
+import java.lang.reflect.Constructor;
+import java.lang.reflect.Field;
+import java.lang.reflect.InvocationTargetException;
+import java.lang.reflect.Method;
+
+import org.jboss.weld.util.reflection.SecureReflections;
+import org.junit.Assert;
+import org.junit.Test;
+
+public class ReflectionTest
+{
+
+ @Test
+ public void testGetField() throws NoSuchFieldException
+ {
+ Assert.assertNotNull(SecureReflections.getField(TestObject.class, "publicField"));
+ }
+
+ @Test(expected = NoSuchFieldException.class)
+ public void testGetFieldNotFound() throws NoSuchFieldException
+ {
+ SecureReflections.getField(TestObject.class, "eioota");
+ }
+
+ @Test
+ public void testGetDeclaredField() throws SecurityException, NoSuchFieldException
+ {
+ Assert.assertNotNull(SecureReflections.getDeclaredField(TestObject.class, "publicField"));
+ }
+
+ @Test(expected = NoSuchFieldException.class)
+ public void testGetDeclaredFieldNotFound() throws NoSuchFieldException
+ {
+ SecureReflections.getDeclaredField(TestObject.class, "eioota");
+ }
+
+ @Test
+ public void testGetFields()
+ {
+ Assert.assertEquals(1, SecureReflections.getFields(TestObject.class).length);
+ }
+
+ @Test
+ public void testGetDeclaredFields()
+ {
+ Assert.assertEquals(2, SecureReflections.getDeclaredFields(TestObject.class).length);
+ }
+
+ @Test
+ public void testFieldAccess()
+ {
+ testAllAccessible(grantAccess(SecureReflections.getDeclaredFields(TestObject.class)));
+ }
+
+ private AccessibleObject[] grantAccess(AccessibleObject[] objects) {
+ for (AccessibleObject object : objects)
+ {
+ if (object instanceof Field) {
+ SecureReflections.ensureAccessible((Field) object);
+ } else if (object instanceof Method) {
+ SecureReflections.ensureAccessible((Method) object);
+ } else if (object instanceof Constructor<?>) {
+ SecureReflections.ensureAccessible((Constructor<?>)object);
+ }
+ }
+ return objects;
+ }
+
+ private void testAllAccessible(AccessibleObject[] objects)
+ {
+ for (AccessibleObject object : objects)
+ {
+ if (!object.isAccessible())
+ {
+ Assert.fail();
+ }
+ }
+ }
+
+ @Test
+ public void testGetMethod() throws NoSuchMethodException
+ {
+ Assert.assertNotNull(SecureReflections.getMethod(TestObject.class, "publicTest", new Class<?>[] { String.class }));
+ }
+
+ @Test(expected = NoSuchMethodException.class)
+ public void testGetMethodNotFound() throws NoSuchMethodException
+ {
+ SecureReflections.getMethod(TestObject.class, "xpublicTest", new Class<?>[] { String.class });
+ }
+
+ @Test
+ public void testGetDeclaredMethod() throws NoSuchMethodException
+ {
+ Assert.assertNotNull(SecureReflections.getDeclaredMethod(TestObject.class, "publicTest", new Class<?>[] { String.class }));
+ }
+
+ @Test(expected = NoSuchMethodException.class)
+ public void testGetDeclaredMethodNotFound() throws NoSuchMethodException
+ {
+ SecureReflections.getDeclaredMethod(TestObject.class, "xpublicTest", new Class<?>[] { String.class });
+ }
+
+ @Test
+ public void testGetMethods()
+ {
+ Assert.assertEquals(10, SecureReflections.getMethods(TestObject.class).length);
+ }
+
+ @Test
+ public void testGetDeclaredMethods()
+ {
+ Assert.assertEquals(2, SecureReflections.getDeclaredMethods(TestObject.class).length);
+ }
+
+ @Test
+ public void testMethodAccess()
+ {
+ testAllAccessible(grantAccess(SecureReflections.getDeclaredMethods(TestObject.class)));
+ }
+
+ @Test
+ public void testGetConstructor() throws NoSuchMethodException
+ {
+ Assert.assertNotNull(SecureReflections.getConstructor(TestObject.class, new Class<?>[] { Integer.class }));
+ }
+
+ @Test(expected = NoSuchMethodException.class)
+ public void testGetConstructorNotFound() throws NoSuchMethodException
+ {
+ SecureReflections.getConstructor(TestObject.class, new Class<?>[] { Float.class });
+ }
+
+ @Test
+ public void testGetDeclaredConstructor() throws NoSuchMethodException
+ {
+ Assert.assertNotNull(SecureReflections.getDeclaredConstructor(TestObject.class, new Class<?>[] { String.class }));
+ }
+
+ @Test(expected = NoSuchMethodException.class)
+ public void testGetDeclaredConstructorNotFound() throws NoSuchMethodException
+ {
+ SecureReflections.getDeclaredConstructor(TestObject.class, new Class<?>[] { Float.class });
+ }
+
+ @Test
+ public void testGetConstructors()
+ {
+ Assert.assertEquals(2, SecureReflections.getConstructors(TestObject.class).length);
+ }
+
+ @Test
+ public void testGetDeclaredConstructors()
+ {
+ Assert.assertEquals(3, SecureReflections.getDeclaredConstructors(TestObject.class).length);
+ }
+
+ @Test
+ public void testConstructorAccess()
+ {
+ testAllAccessible(grantAccess(SecureReflections.getDeclaredConstructors(TestObject.class)));
+ }
+
+ @Test
+ public void testNewInstance() throws InstantiationException, IllegalAccessException
+ {
+ Assert.assertNotNull(SecureReflections.newInstance(TestObject.class));
+ }
+
+ @Test
+ public void testInvoke() throws SecurityException, NoSuchMethodException, IllegalArgumentException, IllegalAccessException, InvocationTargetException
+ {
+ TestObject to = new TestObject();
+ Method m = TestObject.class.getMethod("publicTest", new Class<?>[] { String.class });
+ Assert.assertEquals("foo", SecureReflections.invoke(to, m, ""));
+ }
+
+ @Test
+ public void testLookupMethod() throws NoSuchMethodException
+ {
+ Assert.assertNotNull(SecureReflections.lookupMethod(TestObject.class, "rootOfAllEvil", new Class<?>[]{}));
+ }
+
+ @Test(expected = NoSuchMethodException.class)
+ public void testLookupMethodNotFound() throws NoSuchMethodException
+ {
+ Assert.assertNotNull(SecureReflections.lookupMethod(TestObject.class, "eioota", new Class<?>[]{}));
+ }
+}
Added: core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/unit/security/SecurityTest.java
===================================================================
--- core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/unit/security/SecurityTest.java (rev 0)
+++ core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/unit/security/SecurityTest.java 2010-07-28 10:18:08 UTC (rev 6820)
@@ -0,0 +1,44 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2010, Red Hat, Inc., and individual contributors
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * http://www.apache.org/licenses/LICENSE-2.0
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.jboss.weld.tests.unit.security;
+
+import java.lang.reflect.Field;
+
+import org.junit.Assert;
+import org.junit.Test;
+
+/**
+ * @author pmuir
+ *
+ */
+public class SecurityTest
+{
+
+ private String foo;
+
+ @Test
+ public void testSetAccessibleDoesNotPropagate() throws Exception
+ {
+ Field field = SecurityTest.class.getDeclaredField("foo");
+ Assert.assertFalse(field.isAccessible());
+ field.setAccessible(true);
+ Assert.assertTrue(field.isAccessible());
+ Assert.assertFalse(SecurityTest.class.getDeclaredField("foo").isAccessible());
+ Assert.assertFalse(SecurityTest.class.getDeclaredField("foo") == SecurityTest.class.getDeclaredField("foo"));
+ }
+
+}
Added: core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/unit/security/SuperTestObject.java
===================================================================
--- core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/unit/security/SuperTestObject.java (rev 0)
+++ core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/unit/security/SuperTestObject.java 2010-07-28 10:18:08 UTC (rev 6820)
@@ -0,0 +1,22 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2010, Red Hat, Inc., and individual contributors
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * http://www.apache.org/licenses/LICENSE-2.0
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.jboss.weld.tests.unit.security;
+
+public class SuperTestObject
+{
+ protected void rootOfAllEvil() {};
+}
Added: core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/unit/security/TestObject.java
===================================================================
--- core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/unit/security/TestObject.java (rev 0)
+++ core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/unit/security/TestObject.java 2010-07-28 10:18:08 UTC (rev 6820)
@@ -0,0 +1,41 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2010, Red Hat, Inc., and individual contributors
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * http://www.apache.org/licenses/LICENSE-2.0
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.jboss.weld.tests.unit.security;
+
+public class TestObject extends SuperTestObject
+{
+ private String privateField;
+ public String publicField;
+
+ private TestObject(String test)
+ {
+ }
+
+ public TestObject() {};
+
+ public TestObject(Integer test) {
+ }
+
+ private void privateTest(String test)
+ {
+ }
+
+ public String publicTest(String test)
+ {
+ return "foo";
+ }
+}
\ No newline at end of file
Added: core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/unit/util/AnnotatedTypesTest.java
===================================================================
--- core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/unit/util/AnnotatedTypesTest.java (rev 0)
+++ core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/unit/util/AnnotatedTypesTest.java 2010-07-28 10:18:08 UTC (rev 6820)
@@ -0,0 +1,178 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2010, Red Hat, Inc., and individual contributors
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * http://www.apache.org/licenses/LICENSE-2.0
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.jboss.weld.tests.unit.util;
+
+import java.util.Iterator;
+
+import javax.enterprise.inject.Default;
+import javax.enterprise.inject.Produces;
+import javax.enterprise.inject.spi.AnnotatedField;
+import javax.enterprise.inject.spi.AnnotatedMethod;
+import javax.enterprise.inject.spi.AnnotatedType;
+import javax.enterprise.util.AnnotationLiteral;
+
+import org.jboss.weld.introspector.WeldClass;
+import org.jboss.weld.introspector.jlr.WeldClassImpl;
+import org.jboss.weld.metadata.TypeStore;
+import org.jboss.weld.resources.ClassTransformer;
+import org.jboss.weld.tests.util.annotated.TestAnnotatedTypeBuilder;
+import org.jboss.weld.util.AnnotatedTypes;
+import org.junit.Assert;
+import org.junit.Test;
+
+/**
+ * Test comparison and id creation for AnnotatedTypes
+ * @author Stuart Douglas <stuart(a)baileyroberts.com.au>
+ *
+ */
+public class AnnotatedTypesTest
+{
+ /**
+ * tests the AnnotatedTypes.compareAnnotatedTypes
+ */
+ @Test
+ public void testComparison() throws SecurityException, NoSuchFieldException, NoSuchMethodException
+ {
+ //check that two weld classes on the same underlying are equal
+ TypeStore ts = new TypeStore();
+ ClassTransformer ct =new ClassTransformer(ts);
+ WeldClass<Chair> chair1 = WeldClassImpl.of(Chair.class,ct);
+ WeldClass<Chair> chair2 = WeldClassImpl.of(Chair.class,ct);
+ Assert.assertTrue(AnnotatedTypes.compareAnnotatedTypes(chair1, chair2));
+
+ //check that a different implementation of annotated type is equal to the weld implementation
+ TestAnnotatedTypeBuilder<Chair> builder = new TestAnnotatedTypeBuilder<Chair>(Chair.class);
+ builder.addToClass(new DefaultLiteral());
+ builder.addToField(Chair.class.getField("legs"), new ProducesLiteral());
+ builder.addToMethod(Chair.class.getMethod("sit"), new ProducesLiteral());
+ AnnotatedType<Chair> chair3 = builder.create();
+ Assert.assertTrue(AnnotatedTypes.compareAnnotatedTypes(chair1, chair3));
+
+ //check that the implementation returns false if a field annotation changes
+ builder = new TestAnnotatedTypeBuilder<Chair>(Chair.class);
+ builder.addToClass(new DefaultLiteral());
+ builder.addToField(Chair.class.getField("legs"), new DefaultLiteral());
+ builder.addToMethod(Chair.class.getMethod("sit"), new ProducesLiteral());
+ chair3 = builder.create();
+ Assert.assertFalse(AnnotatedTypes.compareAnnotatedTypes(chair1, chair3));
+
+ //check that the implementation returns false if a class level annotation changes
+ builder = new TestAnnotatedTypeBuilder<Chair>(Chair.class);
+ builder.addToClass(new ProducesLiteral());
+ builder.addToField(Chair.class.getField("legs"), new DefaultLiteral());
+ builder.addToMethod(Chair.class.getMethod("sit"), new ProducesLiteral());
+ chair3 = builder.create();
+ Assert.assertFalse(AnnotatedTypes.compareAnnotatedTypes(chair1, chair3));
+
+ }
+
+ @Test
+ public void testFieldId() throws SecurityException, NoSuchFieldException
+ {
+ TestAnnotatedTypeBuilder<Chair> builder = new TestAnnotatedTypeBuilder<Chair>(Chair.class);
+ builder.addToField(Chair.class.getField("legs"), new ProducesLiteral());
+ AnnotatedType<Chair> chair3 = builder.create();
+ AnnotatedField<? super Chair> field = chair3.getFields().iterator().next();
+ String id = AnnotatedTypes.createFieldId(field);
+ Assert.assertEquals("wrong id for field :" + id,
+ "org.jboss.weld.tests.unit.util.Chair.legs[(a)javax.enterprise.inject.Produces()]", id);
+
+ builder = new TestAnnotatedTypeBuilder<Chair>(Chair.class);
+ chair3 = builder.create();
+ field = chair3.getFields().iterator().next();
+ id = AnnotatedTypes.createFieldId(field);
+ Assert.assertEquals("wrong id for field :" + id,
+ "org.jboss.weld.tests.unit.util.Chair.legs", id);
+
+ builder = new TestAnnotatedTypeBuilder<Chair>(Chair.class);
+ builder.addToField(Chair.class.getField("legs"), new ComfyChairLiteral());
+ chair3 = builder.create();
+ field = chair3.getFields().iterator().next();
+ id = AnnotatedTypes.createFieldId(field);
+ Assert.assertEquals("wrong id for field :" + id,
+ "org.jboss.weld.tests.unit.util.Chair.legs[(a)org.jboss.weld.tests.unit.util.ComfyChair(softness=1)]", id);
+ }
+
+ @Test
+ public void testMethodId() throws SecurityException, NoSuchMethodException
+ {
+ TestAnnotatedTypeBuilder<Chair> builder = new TestAnnotatedTypeBuilder<Chair>(Chair.class);
+ builder.addToMethod(Chair.class.getMethod("sit"), new ProducesLiteral());
+ AnnotatedType<Chair> chair3 = builder.create();
+ Iterator<AnnotatedMethod<? super Chair>> it = chair3.getMethods().iterator();
+ AnnotatedMethod<? super Chair> method = it.next();
+ while(!method.getJavaMember().getName().equals("sit"))method = it.next();
+ String id = AnnotatedTypes.createCallableId(method);
+ Assert.assertEquals("wrong id for method :" + id,
+ "org.jboss.weld.tests.unit.util.Chair.sit[(a)javax.enterprise.inject.Produces()]()", id);
+
+ builder = new TestAnnotatedTypeBuilder<Chair>(Chair.class);
+ chair3 = builder.create();
+ it = chair3.getMethods().iterator();
+ method = it.next();
+ while(!method.getJavaMember().getName().equals("sit"))method = it.next();
+ id = AnnotatedTypes.createCallableId(method);
+ Assert.assertEquals("wrong id for method :" + id,
+ "org.jboss.weld.tests.unit.util.Chair.sit()", id);
+
+ builder = new TestAnnotatedTypeBuilder<Chair>(Chair.class);
+ builder.addToMethod(Chair.class.getMethod("sit"), new ComfyChairLiteral());
+ chair3 = builder.create();
+ it = chair3.getMethods().iterator();
+ method = it.next();
+ while(!method.getJavaMember().getName().equals("sit"))method = it.next();
+ id = AnnotatedTypes.createCallableId(method);
+ Assert.assertEquals("wrong id for method :" + id,
+ "org.jboss.weld.tests.unit.util.Chair.sit[(a)org.jboss.weld.tests.unit.util.ComfyChair(softness=1)]()", id);
+ }
+
+ @Test
+ public void testTypeId() throws SecurityException, NoSuchMethodException
+ {
+ TestAnnotatedTypeBuilder<Chair> builder = new TestAnnotatedTypeBuilder<Chair>(Chair.class);
+ builder.addToMethod(Chair.class.getMethod("sit"), new ProducesLiteral());
+ AnnotatedType<Chair> chair3 = builder.create();
+ String id = AnnotatedTypes.createTypeId(chair3);
+ Assert.assertEquals("wrong id for type :" + id,
+ "org.jboss.weld.tests.unit.util.Chair{org.jboss.weld.tests.unit.util.Chair.sit[(a)javax.enterprise.inject.Produces()]();}", id);
+
+ builder = new TestAnnotatedTypeBuilder<Chair>(Chair.class);
+ chair3 = builder.create();
+ id = AnnotatedTypes.createTypeId(chair3);
+ Assert.assertEquals("wrong id for type :" + id,
+ "org.jboss.weld.tests.unit.util.Chair{}", id);
+
+ builder = new TestAnnotatedTypeBuilder<Chair>(Chair.class);
+ builder.addToMethod(Chair.class.getMethod("sit"), new ComfyChairLiteral());
+ chair3 = builder.create();
+ id = AnnotatedTypes.createTypeId(chair3);
+ Assert.assertEquals("wrong id for type :" + id,
+ "org.jboss.weld.tests.unit.util.Chair{org.jboss.weld.tests.unit.util.Chair.sit[(a)org.jboss.weld.tests.unit.util.ComfyChair(softness=1)]();}", id);
+ }
+
+ private static class DefaultLiteral extends AnnotationLiteral<Default> implements Default {}
+ private static class ProducesLiteral extends AnnotationLiteral<Produces> implements Produces {}
+ private static class ComfyChairLiteral extends AnnotationLiteral<ComfyChair> implements ComfyChair
+ {
+ public int softness()
+ {
+ return 1;
+ }
+
+ }
+
+}
Added: core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/unit/util/Chair.java
===================================================================
--- core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/unit/util/Chair.java (rev 0)
+++ core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/unit/util/Chair.java 2010-07-28 10:18:08 UTC (rev 6820)
@@ -0,0 +1,33 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2010, Red Hat, Inc., and individual contributors
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * http://www.apache.org/licenses/LICENSE-2.0
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.jboss.weld.tests.unit.util;
+
+import javax.enterprise.inject.Default;
+import javax.enterprise.inject.Produces;
+
+@Default
+public class Chair
+{
+ @Produces
+ public int legs;
+
+ @Produces
+ public String sit()
+ {
+ return "sitting";
+ }
+}
Added: core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/unit/util/ComfyChair.java
===================================================================
--- core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/unit/util/ComfyChair.java (rev 0)
+++ core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/unit/util/ComfyChair.java 2010-07-28 10:18:08 UTC (rev 6820)
@@ -0,0 +1,22 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2010, Red Hat, Inc., and individual contributors
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * http://www.apache.org/licenses/LICENSE-2.0
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.jboss.weld.tests.unit.util;
+
+public @interface ComfyChair
+{
+ int softness();
+}
Added: core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/util/annotated/AbstractTestAnnotatedCallable.java
===================================================================
--- core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/util/annotated/AbstractTestAnnotatedCallable.java (rev 0)
+++ core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/util/annotated/AbstractTestAnnotatedCallable.java 2010-07-28 10:18:08 UTC (rev 6820)
@@ -0,0 +1,73 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2010, Red Hat, Inc., and individual contributors
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * http://www.apache.org/licenses/LICENSE-2.0
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.jboss.weld.tests.util.annotated;
+
+import java.lang.reflect.Member;
+import java.util.ArrayList;
+import java.util.Collections;
+import java.util.List;
+import java.util.Map;
+
+import javax.enterprise.inject.spi.AnnotatedCallable;
+import javax.enterprise.inject.spi.AnnotatedParameter;
+import javax.enterprise.inject.spi.AnnotatedType;
+
+/**
+ *
+ * @author Stuart Douglas
+ *
+ */
+abstract class AbstractTestAnnotatedCallable<X, Y extends Member> extends AbstractTestAnnotatedMember<X, Y> implements AnnotatedCallable<X>
+{
+
+ private final List<AnnotatedParameter<X>> parameters;
+
+ protected AbstractTestAnnotatedCallable(AnnotatedType<X> declaringType, Y member, Class<?> memberType, Class<?>[] parameterTypes, TestAnnotationStore annotations, Map<Integer, TestAnnotationStore> parameterAnnotations)
+ {
+ super(declaringType, member, memberType, annotations);
+ this.parameters = getAnnotatedParameters(this, parameterTypes, parameterAnnotations);
+ }
+
+ public List<AnnotatedParameter<X>> getParameters()
+ {
+ return Collections.unmodifiableList(parameters);
+ }
+
+ public AnnotatedParameter<X> getParameter(int index)
+ {
+ return parameters.get(index);
+
+ }
+
+ private static <X, Y extends Member> List<AnnotatedParameter<X>> getAnnotatedParameters(AbstractTestAnnotatedCallable<X, Y> callable, Class<?>[] parameterTypes, Map<Integer, TestAnnotationStore> parameterAnnotations)
+ {
+ List<AnnotatedParameter<X>> parameters = new ArrayList<AnnotatedParameter<X>>();
+ int len = parameterTypes.length;
+ for (int i = 0; i < len; ++i)
+ {
+ TestAnnotationBuilder builder = new TestAnnotationBuilder();
+ if (parameterAnnotations != null && parameterAnnotations.containsKey(i))
+ {
+ builder.addAll(parameterAnnotations.get(i));
+ }
+ TestAnnotatedParameter<X> p = new TestAnnotatedParameter<X>(callable, parameterTypes[i], i, builder.create());
+ parameters.add(p);
+ }
+ return parameters;
+ }
+
+}
Added: core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/util/annotated/AbstractTestAnnotatedElement.java
===================================================================
--- core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/util/annotated/AbstractTestAnnotatedElement.java (rev 0)
+++ core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/util/annotated/AbstractTestAnnotatedElement.java 2010-07-28 10:18:08 UTC (rev 6820)
@@ -0,0 +1,78 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2010, Red Hat, Inc., and individual contributors
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * http://www.apache.org/licenses/LICENSE-2.0
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.jboss.weld.tests.util.annotated;
+
+import java.lang.annotation.Annotation;
+import java.lang.reflect.Type;
+import java.util.Collections;
+import java.util.Set;
+
+import javax.enterprise.inject.spi.Annotated;
+
+/**
+ * The base class for all New Annotated types.
+ *
+ * @author Stuart Douglas
+ *
+ */
+abstract class AbstractTestAnnotatedElement implements Annotated
+{
+
+ private final Class<?> type;
+ private final Set<Type> typeClosure;
+ private final TestAnnotationStore annotations;
+
+ protected AbstractTestAnnotatedElement(Class<?> type, TestAnnotationStore annotations)
+ {
+ this.typeClosure = new TestTypeClosureBuilder().add(type).getTypes();
+ if (annotations == null)
+ {
+ this.annotations = new TestAnnotationStore();
+ }
+ else
+ {
+ this.annotations = annotations;
+ }
+ this.type = type;
+ }
+
+ public <T extends Annotation> T getAnnotation(Class<T> annotationType)
+ {
+ return annotations.getAnnotation(annotationType);
+ }
+
+ public Set<Annotation> getAnnotations()
+ {
+ return annotations.getAnnotations();
+ }
+
+ public boolean isAnnotationPresent(Class<? extends Annotation> annotationType)
+ {
+ return annotations.isAnnotationPresent(annotationType);
+ }
+
+ public Set<Type> getTypeClosure()
+ {
+ return Collections.unmodifiableSet(typeClosure);
+ }
+
+ public Type getBaseType()
+ {
+ return type;
+ }
+
+}
Added: core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/util/annotated/AbstractTestAnnotatedMember.java
===================================================================
--- core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/util/annotated/AbstractTestAnnotatedMember.java (rev 0)
+++ core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/util/annotated/AbstractTestAnnotatedMember.java 2010-07-28 10:18:08 UTC (rev 6820)
@@ -0,0 +1,57 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2010, Red Hat, Inc., and individual contributors
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * http://www.apache.org/licenses/LICENSE-2.0
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.jboss.weld.tests.util.annotated;
+
+import java.lang.reflect.Member;
+import java.lang.reflect.Modifier;
+
+import javax.enterprise.inject.spi.AnnotatedMember;
+import javax.enterprise.inject.spi.AnnotatedType;
+
+/**
+ *
+ * @author Stuart Douglas
+ *
+ */
+abstract class AbstractTestAnnotatedMember<X, M extends Member> extends AbstractTestAnnotatedElement implements AnnotatedMember<X>
+{
+ private final AnnotatedType<X> declaringType;
+ private final M javaMember;
+
+ protected AbstractTestAnnotatedMember(AnnotatedType<X> declaringType, M member, Class<?> memberType, TestAnnotationStore annotations)
+ {
+ super(memberType, annotations);
+ this.declaringType = declaringType;
+ this.javaMember = member;
+ }
+
+ public AnnotatedType<X> getDeclaringType()
+ {
+ return declaringType;
+ }
+
+ public M getJavaMember()
+ {
+ return javaMember;
+ }
+
+ public boolean isStatic()
+ {
+ return Modifier.isStatic(javaMember.getModifiers());
+ }
+
+}
Added: core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/util/annotated/TestAnnotatedConstructor.java
===================================================================
--- core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/util/annotated/TestAnnotatedConstructor.java (rev 0)
+++ core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/util/annotated/TestAnnotatedConstructor.java 2010-07-28 10:18:08 UTC (rev 6820)
@@ -0,0 +1,37 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2010, Red Hat, Inc., and individual contributors
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * http://www.apache.org/licenses/LICENSE-2.0
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.jboss.weld.tests.util.annotated;
+
+import java.lang.reflect.Constructor;
+import java.util.Map;
+
+import javax.enterprise.inject.spi.AnnotatedConstructor;
+
+/**
+ *
+ * @author Stuart Douglas
+ *
+ */
+class TestAnnotatedConstructor<X> extends AbstractTestAnnotatedCallable<X, Constructor<X>> implements AnnotatedConstructor<X>
+{
+
+ TestAnnotatedConstructor(TestAnnotatedType<X> type, Constructor<?> constructor, TestAnnotationStore annotations, Map<Integer, TestAnnotationStore> parameterAnnotations)
+ {
+ super(type, (Constructor<X>) constructor, constructor.getDeclaringClass(), constructor.getParameterTypes(), annotations, parameterAnnotations);
+ }
+
+}
Added: core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/util/annotated/TestAnnotatedField.java
===================================================================
--- core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/util/annotated/TestAnnotatedField.java (rev 0)
+++ core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/util/annotated/TestAnnotatedField.java 2010-07-28 10:18:08 UTC (rev 6820)
@@ -0,0 +1,37 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2010, Red Hat, Inc., and individual contributors
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * http://www.apache.org/licenses/LICENSE-2.0
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.jboss.weld.tests.util.annotated;
+
+import java.lang.reflect.Field;
+
+import javax.enterprise.inject.spi.AnnotatedField;
+import javax.enterprise.inject.spi.AnnotatedType;
+
+/**
+ *
+ * @author Stuart Douglas
+ *
+ */
+class TestAnnotatedField<X> extends AbstractTestAnnotatedMember<X, Field> implements AnnotatedField<X>
+{
+
+ TestAnnotatedField(AnnotatedType<X> declaringType, Field field, TestAnnotationStore annotations)
+ {
+ super(declaringType, field, field.getType(), annotations);
+ }
+
+}
Added: core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/util/annotated/TestAnnotatedMethod.java
===================================================================
--- core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/util/annotated/TestAnnotatedMethod.java (rev 0)
+++ core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/util/annotated/TestAnnotatedMethod.java 2010-07-28 10:18:08 UTC (rev 6820)
@@ -0,0 +1,37 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2010, Red Hat, Inc., and individual contributors
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * http://www.apache.org/licenses/LICENSE-2.0
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.jboss.weld.tests.util.annotated;
+
+import java.lang.reflect.Method;
+import java.util.Map;
+
+import javax.enterprise.inject.spi.AnnotatedMethod;
+import javax.enterprise.inject.spi.AnnotatedType;
+
+/**
+ *
+ * @author Stuart Douglas
+ *
+ */
+class TestAnnotatedMethod<X> extends AbstractTestAnnotatedCallable<X, Method> implements AnnotatedMethod<X>
+{
+ TestAnnotatedMethod(AnnotatedType<X> type, Method method, TestAnnotationStore annotations, Map<Integer, TestAnnotationStore> parameterAnnotations)
+ {
+ super(type, method, method.getReturnType(), method.getParameterTypes(), annotations, parameterAnnotations);
+ }
+
+}
Added: core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/util/annotated/TestAnnotatedParameter.java
===================================================================
--- core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/util/annotated/TestAnnotatedParameter.java (rev 0)
+++ core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/util/annotated/TestAnnotatedParameter.java 2010-07-28 10:18:08 UTC (rev 6820)
@@ -0,0 +1,50 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2010, Red Hat, Inc., and individual contributors
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * http://www.apache.org/licenses/LICENSE-2.0
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.jboss.weld.tests.util.annotated;
+
+import javax.enterprise.inject.spi.AnnotatedCallable;
+import javax.enterprise.inject.spi.AnnotatedParameter;
+
+/**
+ *
+ * @author Stuart Douglas
+ *
+ */
+class TestAnnotatedParameter<X> extends AbstractTestAnnotatedElement implements AnnotatedParameter<X>
+{
+
+ private final int position;
+ private final AnnotatedCallable<X> declaringCallable;
+
+ TestAnnotatedParameter(AnnotatedCallable<X> declaringCallable, Class<?> type, int position, TestAnnotationStore annotations)
+ {
+ super(type, annotations);
+ this.declaringCallable = declaringCallable;
+ this.position = position;
+ }
+
+ public AnnotatedCallable<X> getDeclaringCallable()
+ {
+ return declaringCallable;
+ }
+
+ public int getPosition()
+ {
+ return position;
+ }
+
+}
Added: core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/util/annotated/TestAnnotatedType.java
===================================================================
--- core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/util/annotated/TestAnnotatedType.java (rev 0)
+++ core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/util/annotated/TestAnnotatedType.java 2010-07-28 10:18:08 UTC (rev 6820)
@@ -0,0 +1,92 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2010, Red Hat, Inc., and individual contributors
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * http://www.apache.org/licenses/LICENSE-2.0
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.jboss.weld.tests.util.annotated;
+
+import java.lang.reflect.Constructor;
+import java.lang.reflect.Field;
+import java.lang.reflect.Method;
+import java.util.Collections;
+import java.util.HashSet;
+import java.util.Map;
+import java.util.Set;
+
+import javax.enterprise.inject.spi.AnnotatedConstructor;
+import javax.enterprise.inject.spi.AnnotatedField;
+import javax.enterprise.inject.spi.AnnotatedMethod;
+import javax.enterprise.inject.spi.AnnotatedType;
+
+/**
+ * AnnotatedType implementation for adding beans in the BeforeBeanDiscovery
+ * event
+ *
+ * @author Stuart Douglas
+ *
+ */
+class TestAnnotatedType<X> extends AbstractTestAnnotatedElement implements AnnotatedType<X>
+{
+
+ private final Set<AnnotatedConstructor<X>> constructors;
+ private final Set<AnnotatedField<? super X>> fields;
+ private final Set<AnnotatedMethod<? super X>> methods;
+
+ private final Class<X> javaClass;
+
+ TestAnnotatedType(Class<X> clazz, TestAnnotationStore typeAnnotations, Map<Field, TestAnnotationStore> fieldAnnotations, Map<Method, TestAnnotationStore> methodAnnotations, Map<Method, Map<Integer, TestAnnotationStore>> methodParameterAnnotations, Map<Constructor<X>, TestAnnotationStore> constructorAnnotations, Map<Constructor<X>, Map<Integer, TestAnnotationStore>> constructorParameterAnnotations)
+ {
+ super(clazz, typeAnnotations);
+ this.javaClass = clazz;
+ this.constructors = new HashSet<AnnotatedConstructor<X>>();
+ for (Constructor<?> c : clazz.getDeclaredConstructors())
+ {
+ TestAnnotatedConstructor<X> nc = new TestAnnotatedConstructor<X>(this, c, constructorAnnotations.get(c), constructorParameterAnnotations.get(c));
+ constructors.add(nc);
+ }
+ this.methods = new HashSet<AnnotatedMethod<? super X>>();
+ for (Method m : clazz.getDeclaredMethods())
+ {
+ TestAnnotatedMethod<X> met = new TestAnnotatedMethod<X>(this, m, methodAnnotations.get(m), methodParameterAnnotations.get(m));
+ methods.add(met);
+ }
+ this.fields = new HashSet<AnnotatedField<? super X>>();
+ for (Field f : clazz.getDeclaredFields())
+ {
+ TestAnnotatedField<X> b = new TestAnnotatedField<X>(this, f, fieldAnnotations.get(f));
+ fields.add(b);
+ }
+ }
+
+ public Set<AnnotatedConstructor<X>> getConstructors()
+ {
+ return Collections.unmodifiableSet(constructors);
+ }
+
+ public Set<AnnotatedField<? super X>> getFields()
+ {
+ return Collections.unmodifiableSet(fields);
+ }
+
+ public Class<X> getJavaClass()
+ {
+ return javaClass;
+ }
+
+ public Set<AnnotatedMethod<? super X>> getMethods()
+ {
+ return Collections.unmodifiableSet(methods);
+ }
+
+}
Added: core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/util/annotated/TestAnnotatedTypeBuilder.java
===================================================================
--- core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/util/annotated/TestAnnotatedTypeBuilder.java (rev 0)
+++ core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/util/annotated/TestAnnotatedTypeBuilder.java 2010-07-28 10:18:08 UTC (rev 6820)
@@ -0,0 +1,178 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2010, Red Hat, Inc., and individual contributors
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * http://www.apache.org/licenses/LICENSE-2.0
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.jboss.weld.tests.util.annotated;
+
+import java.lang.annotation.Annotation;
+import java.lang.reflect.Constructor;
+import java.lang.reflect.Field;
+import java.lang.reflect.Method;
+import java.util.HashMap;
+import java.util.Map;
+import java.util.Map.Entry;
+
+import javax.enterprise.inject.spi.AnnotatedType;
+
+/**
+ * Class for constructing a new AnnotatedType. A new instance of builder must be
+ * used for each annotated type.
+ *
+ * No annotations will be read from the underlying class definition, all
+ * annotations must be added explicitly
+ *
+ * @author Stuart Douglas
+ * @author Pete Muir
+ *
+ */
+public class TestAnnotatedTypeBuilder<X>
+{
+ private Map<Field, TestAnnotationBuilder> fields = new HashMap<Field, TestAnnotationBuilder>();
+ private Map<Method, TestAnnotationBuilder> methods = new HashMap<Method, TestAnnotationBuilder>();
+ private Map<Method, Map<Integer, TestAnnotationBuilder>> methodParameters = new HashMap<Method, Map<Integer, TestAnnotationBuilder>>();
+ private Map<Constructor<X>, TestAnnotationBuilder> constructors = new HashMap<Constructor<X>, TestAnnotationBuilder>();
+ private Map<Constructor<X>, Map<Integer, TestAnnotationBuilder>> constructorParameters = new HashMap<Constructor<X>, Map<Integer, TestAnnotationBuilder>>();
+ private TestAnnotationBuilder typeAnnotations = new TestAnnotationBuilder();
+ private Class<X> underlying;
+
+ public TestAnnotatedTypeBuilder(Class<X> underlying)
+ {
+ this.underlying = underlying;
+
+ }
+
+ public TestAnnotatedTypeBuilder<X> addToClass(Annotation a)
+ {
+ typeAnnotations.add(a);
+ return this;
+ }
+
+ public TestAnnotatedTypeBuilder<X> addToField(Field field, Annotation a)
+ {
+ TestAnnotationBuilder annotations = fields.get(field);
+ if (annotations == null)
+ {
+ annotations = new TestAnnotationBuilder();
+ fields.put(field, annotations);
+ }
+ annotations.add(a);
+ return this;
+ }
+
+ public TestAnnotatedTypeBuilder<X> addToMethod(Method method, Annotation a)
+ {
+ TestAnnotationBuilder annotations = methods.get(method);
+ if (annotations == null)
+ {
+ annotations = new TestAnnotationBuilder();
+ methods.put(method, annotations);
+ }
+ annotations.add(a);
+ return this;
+ }
+
+ public TestAnnotatedTypeBuilder<X> addToMethodParameter(Method method, int parameter, Annotation a)
+ {
+ Map<Integer, TestAnnotationBuilder> anmap = methodParameters.get(method);
+ if (anmap == null)
+ {
+ anmap = new HashMap<Integer, TestAnnotationBuilder>();
+ methodParameters.put(method, anmap);
+ }
+ TestAnnotationBuilder annotations = anmap.get(parameter);
+ if (annotations == null)
+ {
+ annotations = new TestAnnotationBuilder();
+ anmap.put(parameter, annotations);
+ }
+ annotations.add(a);
+ return this;
+ }
+
+ public TestAnnotatedTypeBuilder<X> addToConstructor(Constructor<X> constructor, Annotation a)
+ {
+ TestAnnotationBuilder annotations = constructors.get(constructor);
+ if (annotations == null)
+ {
+ annotations = new TestAnnotationBuilder();
+ constructors.put(constructor, annotations);
+ }
+ annotations.add(a);
+ return this;
+ }
+
+ public TestAnnotatedTypeBuilder<X> addToConstructorParameter(Constructor<X> constructor, int parameter, Annotation a)
+ {
+ Map<Integer, TestAnnotationBuilder> anmap = constructorParameters.get(constructor);
+ if (anmap == null)
+ {
+ anmap = new HashMap<Integer, TestAnnotationBuilder>();
+ constructorParameters.put(constructor, anmap);
+ }
+ TestAnnotationBuilder annotations = anmap.get(parameter);
+ if (annotations == null)
+ {
+ annotations = new TestAnnotationBuilder();
+ anmap.put(parameter, annotations);
+ }
+ annotations.add(a);
+ return this;
+ }
+
+ public AnnotatedType<X> create()
+ {
+ Map<Constructor<X>, Map<Integer, TestAnnotationStore>> constructorParameterAnnnotations = new HashMap<Constructor<X>, Map<Integer,TestAnnotationStore>>();
+ Map<Constructor<X>, TestAnnotationStore> constructorAnnotations = new HashMap<Constructor<X>, TestAnnotationStore>();
+ Map<Method, Map<Integer, TestAnnotationStore>> methodParameterAnnnotations = new HashMap<Method, Map<Integer,TestAnnotationStore>>();
+ Map<Method, TestAnnotationStore> methodAnnotations = new HashMap<Method, TestAnnotationStore>();
+ Map<Field, TestAnnotationStore> fieldAnnotations = new HashMap<Field, TestAnnotationStore>();
+
+ for (Entry<Field, TestAnnotationBuilder> e : fields.entrySet())
+ {
+ fieldAnnotations.put(e.getKey(), e.getValue().create());
+ }
+
+ for (Entry<Method, TestAnnotationBuilder> e : methods.entrySet())
+ {
+ methodAnnotations.put(e.getKey(), e.getValue().create());
+ }
+ for (Entry<Method, Map<Integer, TestAnnotationBuilder>> e : methodParameters.entrySet())
+ {
+ Map<Integer, TestAnnotationStore> parameterAnnotations = new HashMap<Integer, TestAnnotationStore>();
+ methodParameterAnnnotations.put(e.getKey(), parameterAnnotations);
+ for (Entry<Integer, TestAnnotationBuilder> pe : e.getValue().entrySet())
+ {
+ parameterAnnotations.put(pe.getKey(), pe.getValue().create());
+ }
+ }
+
+ for (Entry<Constructor<X>, TestAnnotationBuilder> e : constructors.entrySet())
+ {
+ constructorAnnotations.put(e.getKey(), e.getValue().create());
+ }
+ for (Entry<Constructor<X>, Map<Integer, TestAnnotationBuilder>> e : constructorParameters.entrySet())
+ {
+ Map<Integer, TestAnnotationStore> parameterAnnotations = new HashMap<Integer, TestAnnotationStore>();
+ constructorParameterAnnnotations.put(e.getKey(), parameterAnnotations);
+ for (Entry<Integer, TestAnnotationBuilder> pe : e.getValue().entrySet())
+ {
+ parameterAnnotations.put(pe.getKey(), pe.getValue().create());
+ }
+ }
+
+ return new TestAnnotatedType<X>(underlying, typeAnnotations.create(), fieldAnnotations, methodAnnotations, methodParameterAnnnotations, constructorAnnotations, constructorParameterAnnnotations);
+ }
+
+}
Added: core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/util/annotated/TestAnnotationBuilder.java
===================================================================
--- core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/util/annotated/TestAnnotationBuilder.java (rev 0)
+++ core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/util/annotated/TestAnnotationBuilder.java 2010-07-28 10:18:08 UTC (rev 6820)
@@ -0,0 +1,74 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2010, Red Hat, Inc., and individual contributors
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * http://www.apache.org/licenses/LICENSE-2.0
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.jboss.weld.tests.util.annotated;
+
+import java.lang.annotation.Annotation;
+import java.lang.reflect.AnnotatedElement;
+import java.util.HashMap;
+import java.util.HashSet;
+import java.util.Set;
+
+/**
+ *
+ * @author Stuart Douglas
+ *
+ */
+class TestAnnotationBuilder
+{
+ private HashMap<Class<? extends Annotation>, Annotation> annotationMap = new HashMap<Class<? extends Annotation>, Annotation>();
+ private Set<Annotation> annotationSet = new HashSet<Annotation>();
+
+ public TestAnnotationBuilder add(Annotation a)
+ {
+ annotationSet.add(a);
+ annotationMap.put(a.getClass(), a);
+ return this;
+ }
+
+ public TestAnnotationStore create()
+ {
+ return new TestAnnotationStore(annotationMap, annotationSet);
+ }
+
+ public TestAnnotationBuilder addAll(Set<Annotation> annotations)
+ {
+ for (Annotation annotation : annotations)
+ {
+ add(annotation);
+ }
+ return this;
+ }
+
+ public TestAnnotationBuilder addAll(TestAnnotationStore annotations)
+ {
+ for (Annotation annotation : annotations.getAnnotations())
+ {
+ add(annotation);
+ }
+ return this;
+ }
+
+ public TestAnnotationBuilder addAll(AnnotatedElement element)
+ {
+ for (Annotation a : element.getAnnotations())
+ {
+ add(a);
+ }
+ return this;
+ }
+
+}
Added: core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/util/annotated/TestAnnotationStore.java
===================================================================
--- core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/util/annotated/TestAnnotationStore.java (rev 0)
+++ core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/util/annotated/TestAnnotationStore.java 2010-07-28 10:18:08 UTC (rev 6820)
@@ -0,0 +1,63 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2010, Red Hat, Inc., and individual contributors
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * http://www.apache.org/licenses/LICENSE-2.0
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.jboss.weld.tests.util.annotated;
+
+import java.lang.annotation.Annotation;
+import java.util.Collections;
+import java.util.HashMap;
+import java.util.HashSet;
+import java.util.Set;
+
+/**
+ *
+ * @author Stuart Douglas
+ *
+ */
+class TestAnnotationStore
+{
+
+ private final HashMap<Class<? extends Annotation>, Annotation> annotationMap;
+ private final Set<Annotation> annotationSet;
+
+ TestAnnotationStore(HashMap<Class<? extends Annotation>, Annotation> annotationMap, Set<Annotation> annotationSet)
+ {
+ this.annotationMap = annotationMap;
+ this.annotationSet = annotationSet;
+ }
+
+ TestAnnotationStore()
+ {
+ this.annotationMap = new HashMap<Class<? extends Annotation>, Annotation>();
+ this.annotationSet = new HashSet<Annotation>();
+ }
+
+ public <T extends Annotation> T getAnnotation(Class<T> annotationType)
+ {
+ return annotationType.cast(annotationMap.get(annotationType));
+ }
+
+ public Set<Annotation> getAnnotations()
+ {
+ return Collections.unmodifiableSet(annotationSet);
+ }
+
+ public boolean isAnnotationPresent(Class<? extends Annotation> annotationType)
+ {
+ return annotationMap.containsKey(annotationType);
+ }
+
+}
Added: core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/util/annotated/TestTypeClosureBuilder.java
===================================================================
--- core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/util/annotated/TestTypeClosureBuilder.java (rev 0)
+++ core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/util/annotated/TestTypeClosureBuilder.java 2010-07-28 10:18:08 UTC (rev 6820)
@@ -0,0 +1,64 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2010, Red Hat, Inc., and individual contributors
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * http://www.apache.org/licenses/LICENSE-2.0
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.jboss.weld.tests.util.annotated;
+
+import java.lang.reflect.Type;
+import java.util.HashSet;
+import java.util.Set;
+
+/**
+ * A type closure builder
+ *
+ * @author Stuart Douglas
+ *
+ */
+class TestTypeClosureBuilder
+{
+
+ final Set<Type> types = new HashSet<Type>();
+
+ public TestTypeClosureBuilder add(Class<?> beanType)
+ {
+ Class<?> c = beanType;
+ do
+ {
+ types.add(c);
+ c = c.getSuperclass();
+ }
+ while (c != null);
+ for (Class<?> i : beanType.getInterfaces())
+ {
+ types.add(i);
+ }
+ return this;
+ }
+
+ public TestTypeClosureBuilder addInterfaces(Class<?> beanType)
+ {
+ for (Class<?> i : beanType.getInterfaces())
+ {
+ types.add(i);
+ }
+ return this;
+ }
+
+ public Set<Type> getTypes()
+ {
+ return types;
+ }
+
+}
Added: core/trunk/tests-arquillian/src/test/resources/arquillian.xml
===================================================================
--- core/trunk/tests-arquillian/src/test/resources/arquillian.xml (rev 0)
+++ core/trunk/tests-arquillian/src/test/resources/arquillian.xml 2010-07-28 10:18:08 UTC (rev 6820)
@@ -0,0 +1,16 @@
+<?xml version="1.0"?>
+
+<arquillian xmlns="http://jboss.com/arquillian"
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xmlns:jboss="urn:arq:org.jboss.arquillian.container.jbossas.managed_6">
+
+ <engine>
+ <maxDeploymentsBeforeRestart>20</maxDeploymentsBeforeRestart>
+ </engine>
+
+ <jboss:container>
+<!-- <jboss:jbossHome>/home/aslak/dev/servers/jboss-6.0.0.M3/</jboss:jbossHome> --> <!-- default %JBOSS_HOME% -->
+<!-- <jboss:javaHome>/usr/lib/jvm/java-6-openjdk</jboss:javaHome> --> <!-- default %JAVA_HOME% -->
+ </jboss:container>
+
+</arquillian>
Added: core/trunk/tests-arquillian/src/test/resources/org/jboss/weld/tests/builtinBeans/ee/persistence.xml
===================================================================
--- core/trunk/tests-arquillian/src/test/resources/org/jboss/weld/tests/builtinBeans/ee/persistence.xml (rev 0)
+++ core/trunk/tests-arquillian/src/test/resources/org/jboss/weld/tests/builtinBeans/ee/persistence.xml 2010-07-28 10:18:08 UTC (rev 6820)
@@ -0,0 +1,9 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<persistence xmlns="http://java.sun.com/xml/ns/persistence"
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xsi:schemaLocation="http://java.sun.com/xml/ns/persistence http://java.sun.com/xml/ns/persistence/persistence_1_0.xsd"
+ version="1.0">
+ <persistence-unit name="test">
+ <jta-data-source>java:/DefaultDS</jta-data-source>
+ </persistence-unit>
+</persistence>
\ No newline at end of file
Added: core/trunk/tests-arquillian/src/test/resources/org/jboss/weld/tests/enterprise/ejb-jar.xml
===================================================================
--- core/trunk/tests-arquillian/src/test/resources/org/jboss/weld/tests/enterprise/ejb-jar.xml (rev 0)
+++ core/trunk/tests-arquillian/src/test/resources/org/jboss/weld/tests/enterprise/ejb-jar.xml 2010-07-28 10:18:08 UTC (rev 6820)
@@ -0,0 +1,7 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<ejb-jar xmlns="http://java.sun.com/xml/ns/javaee"
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/ejb-jar_3_1.xsd"
+ version="3.1">
+
+</ejb-jar>
Added: core/trunk/tests-arquillian/src/test/resources/org/jboss/weld/tests/resolution/circular/resource/persistence.xml
===================================================================
--- core/trunk/tests-arquillian/src/test/resources/org/jboss/weld/tests/resolution/circular/resource/persistence.xml (rev 0)
+++ core/trunk/tests-arquillian/src/test/resources/org/jboss/weld/tests/resolution/circular/resource/persistence.xml 2010-07-28 10:18:08 UTC (rev 6820)
@@ -0,0 +1,9 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<persistence xmlns="http://java.sun.com/xml/ns/persistence"
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xsi:schemaLocation="http://java.sun.com/xml/ns/persistence http://java.sun.com/xml/ns/persistence/persistence_1_0.xsd"
+ version="1.0">
+ <persistence-unit name="test">
+ <jta-data-source>java:/DefaultDS</jta-data-source>
+ </persistence-unit>
+</persistence>
Added: core/trunk/tests-arquillian/src/test/resources/org/jboss/weld/tests/unit/bootstrap/javax.enterprise.inject.spi.Extension
===================================================================
--- core/trunk/tests-arquillian/src/test/resources/org/jboss/weld/tests/unit/bootstrap/javax.enterprise.inject.spi.Extension (rev 0)
+++ core/trunk/tests-arquillian/src/test/resources/org/jboss/weld/tests/unit/bootstrap/javax.enterprise.inject.spi.Extension 2010-07-28 10:18:08 UTC (rev 6820)
@@ -0,0 +1 @@
+org.jboss.weld.tests.unit.bootstrap.InitializedObserver
Added: core/trunk/tests-arquillian/src/test/resources/org/jboss/weld/tests/unit/bootstrap/xml/alternative.xml
===================================================================
--- core/trunk/tests-arquillian/src/test/resources/org/jboss/weld/tests/unit/bootstrap/xml/alternative.xml (rev 0)
+++ core/trunk/tests-arquillian/src/test/resources/org/jboss/weld/tests/unit/bootstrap/xml/alternative.xml 2010-07-28 10:18:08 UTC (rev 6820)
@@ -0,0 +1,5 @@
+<beans>
+ <alternatives>
+ <class>org.jboss.weld.tests.unit.bootstrap.xml.Alt</class>
+ </alternatives>
+</beans>
\ No newline at end of file
Added: core/trunk/tests-arquillian/src/test/resources/org/jboss/weld/tests/unit/bootstrap/xml/decorator.xml
===================================================================
--- core/trunk/tests-arquillian/src/test/resources/org/jboss/weld/tests/unit/bootstrap/xml/decorator.xml (rev 0)
+++ core/trunk/tests-arquillian/src/test/resources/org/jboss/weld/tests/unit/bootstrap/xml/decorator.xml 2010-07-28 10:18:08 UTC (rev 6820)
@@ -0,0 +1,5 @@
+<beans>
+ <decorators>
+ <class>org.jboss.weld.tests.unit.bootstrap.xml.Dec</class>
+ </decorators>
+</beans>
\ No newline at end of file
Added: core/trunk/tests-arquillian/src/test/resources/org/jboss/weld/tests/unit/bootstrap/xml/interceptor.xml
===================================================================
--- core/trunk/tests-arquillian/src/test/resources/org/jboss/weld/tests/unit/bootstrap/xml/interceptor.xml (rev 0)
+++ core/trunk/tests-arquillian/src/test/resources/org/jboss/weld/tests/unit/bootstrap/xml/interceptor.xml 2010-07-28 10:18:08 UTC (rev 6820)
@@ -0,0 +1,5 @@
+<beans>
+ <interceptors>
+ <class>org.jboss.weld.tests.unit.bootstrap.xml.Int</class>
+ </interceptors>
+</beans>
\ No newline at end of file
Added: core/trunk/tests-arquillian/src/test/resources/org/jboss/weld/tests/unit/bootstrap/xml/multipleAlternativeBlocks.xml
===================================================================
--- core/trunk/tests-arquillian/src/test/resources/org/jboss/weld/tests/unit/bootstrap/xml/multipleAlternativeBlocks.xml (rev 0)
+++ core/trunk/tests-arquillian/src/test/resources/org/jboss/weld/tests/unit/bootstrap/xml/multipleAlternativeBlocks.xml 2010-07-28 10:18:08 UTC (rev 6820)
@@ -0,0 +1,8 @@
+<beans>
+ <alternatives>
+ <class>org.jboss.weld.tests.unit.bootstrap.Foo</class>
+ </alternatives>
+ <alternatives>
+ <class>org.jboss.weld.tests.unit.bootstrap.Bar</class>
+ </alternatives>
+</beans>
\ No newline at end of file
Added: core/trunk/tests-arquillian/src/test/resources/org/jboss/weld/tests/unit/bootstrap/xml/multipleDecoratorBlocks.xml
===================================================================
--- core/trunk/tests-arquillian/src/test/resources/org/jboss/weld/tests/unit/bootstrap/xml/multipleDecoratorBlocks.xml (rev 0)
+++ core/trunk/tests-arquillian/src/test/resources/org/jboss/weld/tests/unit/bootstrap/xml/multipleDecoratorBlocks.xml 2010-07-28 10:18:08 UTC (rev 6820)
@@ -0,0 +1,8 @@
+<beans>
+ <decorators>
+ <class>org.jboss.weld.tests.unit.bootstrap.Foo</class>
+ </decorators>
+ <decorators>
+ <class>org.jboss.weld.tests.unit.bootstrap.Bar</class>
+ </decorators>
+</beans>
\ No newline at end of file
Added: core/trunk/tests-arquillian/src/test/resources/org/jboss/weld/tests/unit/bootstrap/xml/multipleInterceptorsBlocks.xml
===================================================================
--- core/trunk/tests-arquillian/src/test/resources/org/jboss/weld/tests/unit/bootstrap/xml/multipleInterceptorsBlocks.xml (rev 0)
+++ core/trunk/tests-arquillian/src/test/resources/org/jboss/weld/tests/unit/bootstrap/xml/multipleInterceptorsBlocks.xml 2010-07-28 10:18:08 UTC (rev 6820)
@@ -0,0 +1,8 @@
+<beans>
+ <interceptors>
+ <class>org.jboss.weld.tests.unit.bootstrap.Foo</class>
+ </interceptors>
+ <interceptors>
+ <class>org.jboss.weld.tests.unit.bootstrap.Bar</class>
+ </interceptors>
+</beans>
\ No newline at end of file
Added: core/trunk/tests-arquillian/src/test/resources/org/jboss/weld/tests/unit/bootstrap/xml/namespaced.xml
===================================================================
--- core/trunk/tests-arquillian/src/test/resources/org/jboss/weld/tests/unit/bootstrap/xml/namespaced.xml (rev 0)
+++ core/trunk/tests-arquillian/src/test/resources/org/jboss/weld/tests/unit/bootstrap/xml/namespaced.xml 2010-07-28 10:18:08 UTC (rev 6820)
@@ -0,0 +1,11 @@
+<beans xmlns="http://java.sun.com/xml/ns/javaee"
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xmlns:s="urn:java:seam:core"
+ xmlns:p="org.jboss.seam.xml.examples.princess"
+ xsi:schemaLocation="
+ http://java.sun.com/xml/ns/javaee
+ http://docs.jboss.org/cdi/beans_1_0.xsd">
+ <alternatives>
+ <class>org.jboss.weld.tests.unit.bootstrap.xml.Alt</class>
+ </alternatives>
+</beans>
\ No newline at end of file
Added: core/trunk/tests-arquillian/src/test/resources/org/jboss/weld/tests/unit/bootstrap/xml/nonDefaultNamespaced.xml
===================================================================
--- core/trunk/tests-arquillian/src/test/resources/org/jboss/weld/tests/unit/bootstrap/xml/nonDefaultNamespaced.xml (rev 0)
+++ core/trunk/tests-arquillian/src/test/resources/org/jboss/weld/tests/unit/bootstrap/xml/nonDefaultNamespaced.xml 2010-07-28 10:18:08 UTC (rev 6820)
@@ -0,0 +1,12 @@
+<ee:beans xmlns:ee="http://java.sun.com/xml/ns/javaee"
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xmlns="urn:java:seam:core"
+ xmlns:p="org.jboss.seam.xml.examples.princess"
+ xsi:schemaLocation="
+ http://java.sun.com/xml/ns/javaee
+ http://docs.jboss.org/cdi/beans_1_0.xsd">
+ <ee:alternatives>
+ <ee:class>org.jboss.weld.tests.unit.bootstrap.xml.Alt</ee:class>
+ </ee:alternatives>
+ <foo />
+</ee:beans>
\ No newline at end of file
Added: core/trunk/tests-arquillian/src/test/resources/org/jboss/weld/tests/unit/bootstrap/xml/nonPrettyPrinted.xml
===================================================================
--- core/trunk/tests-arquillian/src/test/resources/org/jboss/weld/tests/unit/bootstrap/xml/nonPrettyPrinted.xml (rev 0)
+++ core/trunk/tests-arquillian/src/test/resources/org/jboss/weld/tests/unit/bootstrap/xml/nonPrettyPrinted.xml 2010-07-28 10:18:08 UTC (rev 6820)
@@ -0,0 +1 @@
+<beans><alternatives><class>org.jboss.weld.tests.unit.bootstrap.xml.Alt</class></alternatives></beans>
\ No newline at end of file
Added: core/trunk/tests-arquillian/src/test/resources/org/jboss/weld/tests/unit/bootstrap/xml/unloadable.xml
===================================================================
--- core/trunk/tests-arquillian/src/test/resources/org/jboss/weld/tests/unit/bootstrap/xml/unloadable.xml (rev 0)
+++ core/trunk/tests-arquillian/src/test/resources/org/jboss/weld/tests/unit/bootstrap/xml/unloadable.xml 2010-07-28 10:18:08 UTC (rev 6820)
@@ -0,0 +1,5 @@
+<beans>
+ <alternatives>
+ <class>foo.Bar</class>
+ </alternatives>
+</beans>
\ No newline at end of file
Added: core/trunk/tests-arquillian/src/test/resources/org/jboss/weld/tests/unit/bootstrap/xml/unparseable.xml
===================================================================
--- core/trunk/tests-arquillian/src/test/resources/org/jboss/weld/tests/unit/bootstrap/xml/unparseable.xml (rev 0)
+++ core/trunk/tests-arquillian/src/test/resources/org/jboss/weld/tests/unit/bootstrap/xml/unparseable.xml 2010-07-28 10:18:08 UTC (rev 6820)
@@ -0,0 +1,5 @@
+<beans>
+ <alternatives
+ <class>foo.Bar</class>
+ </alternatives>
+</beans>
\ No newline at end of file
Added: core/trunk/tests-arquillian/src/test/resources/org/jboss/weld/tests/unit/deployment/structure/extensions/javax.enterprise.inject.spi.Extension
===================================================================
--- core/trunk/tests-arquillian/src/test/resources/org/jboss/weld/tests/unit/deployment/structure/extensions/javax.enterprise.inject.spi.Extension (rev 0)
+++ core/trunk/tests-arquillian/src/test/resources/org/jboss/weld/tests/unit/deployment/structure/extensions/javax.enterprise.inject.spi.Extension 2010-07-28 10:18:08 UTC (rev 6820)
@@ -0,0 +1,4 @@
+org.jboss.weld.tests.unit.deployment.structure.extensions.Observer1
+org.jboss.weld.tests.unit.deployment.structure.extensions.Observer2
+org.jboss.weld.tests.unit.deployment.structure.extensions.CountingObserver1
+org.jboss.weld.tests.unit.deployment.structure.extensions.CountingObserver2
Added: core/trunk/tests-arquillian/src/test/resources/org/jboss/weld/tests/unit/deployment/structure/nonTransitiveResolution/beans.xml
===================================================================
--- core/trunk/tests-arquillian/src/test/resources/org/jboss/weld/tests/unit/deployment/structure/nonTransitiveResolution/beans.xml (rev 0)
+++ core/trunk/tests-arquillian/src/test/resources/org/jboss/weld/tests/unit/deployment/structure/nonTransitiveResolution/beans.xml 2010-07-28 10:18:08 UTC (rev 6820)
@@ -0,0 +1,5 @@
+<beans>
+ <alternatives>
+ <class>org.jboss.weld.tests.unit.deployment.structure.nonTransitiveResolution.Alt</class>
+ </alternatives>
+</beans>
\ No newline at end of file
13 years, 8 months
Weld SVN: r6819 - in core/trunk/tests-arquillian/src: main/java/org/jboss/weld/mock/cluster and 21 other directories.
by weld-commits@lists.jboss.org
Author: aslak
Date: 2010-07-28 05:27:27 -0400 (Wed, 28 Jul 2010)
New Revision: 6819
Modified:
core/trunk/tests-arquillian/src/main/java/org/jboss/shrinkwrap/impl/BeanArchiveImpl.java
core/trunk/tests-arquillian/src/main/java/org/jboss/shrinkwrap/impl/BeansXml.java
core/trunk/tests-arquillian/src/main/java/org/jboss/weld/mock/cluster/AbstractClusterTest.java
core/trunk/tests-arquillian/src/main/resources/META-INF/services/org.jboss.shrinkwrap.api.BeanArchive
core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/AllTestRunner.java
core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/CategoryArchiveAppender.java
core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/NormalSuite.java
core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/alternatives/Alternatives2Test.java
core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/alternatives/AlternativesTest.java
core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/annotatedType/DeclaringTypeTest.java
core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/annotatedType/ExampleTest.java
core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/annotatedType/decoration/AnnotatedTypeDecoratorTest.java
core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/decorators/SimpleDecoratorTest.java
core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/decorators/abstractDecorator/SimpleAbstractDecoratorTest.java
core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/decorators/abstractDecorator/SimpleAbstractDecoratorWithAbstractMethodAndInitializerMethodTest.java
core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/decorators/abstractDecorator/SimpleAbstractDecoratorWithAbstractMethodTest.java
core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/decorators/abstractDecorator/SimpleAbstractDecoratorWithCallToItselfTest.java
core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/decorators/abstractDecorator/SimpleAbstractDecoratorWithConstructorTest.java
core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/decorators/abstractDecorator/SimpleAbstractDecoratorWithInitializerMethodTest.java
core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/decorators/abstractDecorator/broken/SimpleAbstractDecoratorWithInvalidAbstractMethodTest.java
core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/decorators/custom/CustomDecoratorTest.java
core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/decorators/decoratedTypes/PartialDecoratorTest.java
core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/decorators/generic/PartialDecoratorTest.java
core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/decorators/generic/extend/ExtendDecoratorTest.java
core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/decorators/interceptor/InterceptorAndDecoratorTest.java
core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/decorators/multidelegate/TestMultiDelegate.java
core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/decorators/resolution/BasicDecoratorResolutionTest.java
core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/decorators/stackoverflow/StackOverFlowTest.java
core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/examples/ExampleTest.java
core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/examples/MockExampleTest.java
core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/generic/GenericBeanTest.java
core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/managed/newBean/NewSimpleBeanTest.java
core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/nonContextual/ExampleTest.java
core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/nonContextual/ServletListenerTest.java
core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/specialization/SpecializationTest.java
Log:
WELD-493 Updated tests to use new ShrinkWrap Alpha11 api
Modified: core/trunk/tests-arquillian/src/main/java/org/jboss/shrinkwrap/impl/BeanArchiveImpl.java
===================================================================
--- core/trunk/tests-arquillian/src/main/java/org/jboss/shrinkwrap/impl/BeanArchiveImpl.java 2010-07-28 09:02:02 UTC (rev 6818)
+++ core/trunk/tests-arquillian/src/main/java/org/jboss/shrinkwrap/impl/BeanArchiveImpl.java 2010-07-28 09:27:27 UTC (rev 6819)
@@ -47,10 +47,10 @@
//-------------------------------------------------------------------------------------||
/* (non-Javadoc)
- * @see org.jboss.declarchive.impl.base.ContainerBase#getManinfestPath()
+ * @see org.jboss.declarchive.impl.base.ContainerBase#getManifestPath()
*/
@Override
- protected ArchivePath getManinfestPath()
+ protected ArchivePath getManifestPath()
{
return PATH_MANIFEST;
}
Modified: core/trunk/tests-arquillian/src/main/java/org/jboss/shrinkwrap/impl/BeansXml.java
===================================================================
--- core/trunk/tests-arquillian/src/main/java/org/jboss/shrinkwrap/impl/BeansXml.java 2010-07-28 09:02:02 UTC (rev 6818)
+++ core/trunk/tests-arquillian/src/main/java/org/jboss/shrinkwrap/impl/BeansXml.java 2010-07-28 09:27:27 UTC (rev 6819)
@@ -6,7 +6,7 @@
import java.util.Arrays;
import java.util.List;
-import org.jboss.shrinkwrap.api.Asset;
+import org.jboss.shrinkwrap.api.asset.Asset;
class BeansXml implements Asset
{
Modified: core/trunk/tests-arquillian/src/main/java/org/jboss/weld/mock/cluster/AbstractClusterTest.java
===================================================================
--- core/trunk/tests-arquillian/src/main/java/org/jboss/weld/mock/cluster/AbstractClusterTest.java 2010-07-28 09:02:02 UTC (rev 6818)
+++ core/trunk/tests-arquillian/src/main/java/org/jboss/weld/mock/cluster/AbstractClusterTest.java 2010-07-28 09:27:27 UTC (rev 6819)
@@ -17,6 +17,7 @@
package org.jboss.weld.mock.cluster;
import java.io.ByteArrayInputStream;
+
import java.io.ByteArrayOutputStream;
import java.io.IOException;
import java.io.ObjectInputStream;
@@ -41,11 +42,11 @@
public class AbstractClusterTest
{
- private Singleton<Container> singleton;
+ private static Singleton<Container> singleton;
@SuppressWarnings("unchecked")
@BeforeClass
- public void beforeClass() throws Exception
+ public static void beforeClass() throws Exception
{
singleton = (Singleton) getInstanceField().get(null);
getInstanceField().set(null, new SwitchableSingletonProvider().create(Container.class));
@@ -59,7 +60,7 @@
}
@AfterClass
- public void afterClass() throws Exception
+ public static void afterClass() throws Exception
{
getInstanceField().set(null, singleton);
}
Modified: core/trunk/tests-arquillian/src/main/resources/META-INF/services/org.jboss.shrinkwrap.api.BeanArchive
===================================================================
--- core/trunk/tests-arquillian/src/main/resources/META-INF/services/org.jboss.shrinkwrap.api.BeanArchive 2010-07-28 09:02:02 UTC (rev 6818)
+++ core/trunk/tests-arquillian/src/main/resources/META-INF/services/org.jboss.shrinkwrap.api.BeanArchive 2010-07-28 09:27:27 UTC (rev 6819)
@@ -1 +1,2 @@
-org.jboss.shrinkwrap.impl.BeanArchiveImpl
\ No newline at end of file
+implementingClassName=org.jboss.shrinkwrap.impl.BeanArchiveImpl
+extension=.jar
\ No newline at end of file
Modified: core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/AllTestRunner.java
===================================================================
--- core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/AllTestRunner.java 2010-07-28 09:02:02 UTC (rev 6818)
+++ core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/AllTestRunner.java 2010-07-28 09:27:27 UTC (rev 6819)
@@ -6,6 +6,7 @@
import java.util.List;
import org.jboss.shrinkwrap.impl.base.URLPackageScanner;
+import org.jboss.weld.tests.annotatedType.ExampleTest;
import org.junit.runners.Suite;
import org.junit.runners.model.InitializationError;
import org.junit.runners.model.RunnerBuilder;
@@ -22,8 +23,7 @@
final List<Class<?>> classes = new ArrayList<Class<?>>();
final ClassLoader classLoader = Thread.currentThread().getContextClassLoader();
URLPackageScanner.newInstance(
- AllTestRunner.class.getPackage(),
- true,
+ true,
classLoader,
new URLPackageScanner.Callback()
{
@@ -46,7 +46,9 @@
throw new RuntimeException(e);
}
}
- }).scanPackage();
+ },
+ AllTestRunner.class.getPackage()).scanPackage();
+ //ExampleTest.class.getPackage()).scanPackage();
Collections.sort(classes, new Comparator<Class<?>>()
{
Modified: core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/CategoryArchiveAppender.java
===================================================================
--- core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/CategoryArchiveAppender.java 2010-07-28 09:02:02 UTC (rev 6818)
+++ core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/CategoryArchiveAppender.java 2010-07-28 09:27:27 UTC (rev 6819)
@@ -36,7 +36,7 @@
*/
public Archive<?> createAuxiliaryArchive()
{
- return ShrinkWrap.create("weld-core-test-categories.jar", JavaArchive.class)
+ return ShrinkWrap.create(JavaArchive.class, "weld-core-test-categories.jar")
.addPackage(Integration.class.getPackage());
}
}
Modified: core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/NormalSuite.java
===================================================================
--- core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/NormalSuite.java 2010-07-28 09:02:02 UTC (rev 6818)
+++ core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/NormalSuite.java 2010-07-28 09:27:27 UTC (rev 6819)
@@ -33,5 +33,4 @@
@SuiteClasses(AllTests.class)
public class NormalSuite
{
-
}
Modified: core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/alternatives/Alternatives2Test.java
===================================================================
--- core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/alternatives/Alternatives2Test.java 2010-07-28 09:02:02 UTC (rev 6818)
+++ core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/alternatives/Alternatives2Test.java 2010-07-28 09:27:27 UTC (rev 6819)
@@ -22,7 +22,6 @@
import org.jboss.shrinkwrap.api.Archive;
import org.jboss.shrinkwrap.api.BeanArchive;
import org.jboss.shrinkwrap.api.ShrinkWrap;
-import org.jboss.shrinkwrap.api.spec.JavaArchive;
import org.junit.Assert;
import org.junit.Test;
import org.junit.runner.RunWith;
@@ -33,9 +32,8 @@
@Deployment
public static Archive<?> deploy()
{
- return ShrinkWrap.create("test.jar", BeanArchive.class)
- .addPackage(Alternatives2Test.class.getPackage())
- .as(JavaArchive.class);
+ return ShrinkWrap.create(BeanArchive.class)
+ .addPackage(Alternatives2Test.class.getPackage());
}
@Test
Modified: core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/alternatives/AlternativesTest.java
===================================================================
--- core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/alternatives/AlternativesTest.java 2010-07-28 09:02:02 UTC (rev 6818)
+++ core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/alternatives/AlternativesTest.java 2010-07-28 09:27:27 UTC (rev 6819)
@@ -31,7 +31,7 @@
@Deployment
public static Archive<?> deploy()
{
- return ShrinkWrap.create("test.jar", BeanArchive.class)
+ return ShrinkWrap.create(BeanArchive.class)
.stereotype(TestAlternative.class)
.addPackage(Alternatives2Test.class.getPackage());
}
Modified: core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/annotatedType/DeclaringTypeTest.java
===================================================================
--- core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/annotatedType/DeclaringTypeTest.java 2010-07-28 09:02:02 UTC (rev 6818)
+++ core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/annotatedType/DeclaringTypeTest.java 2010-07-28 09:27:27 UTC (rev 6819)
@@ -38,12 +38,11 @@
@RunWith(Arquillian.class)
public class DeclaringTypeTest
{
-
@Deployment
public static Archive<?> deploy()
{
- return ShrinkWrap.create("test.jar", BeanArchive.class)
- .addPackage(DeclaringTypeTest.class.getPackage());
+ return ShrinkWrap.create(BeanArchive.class)
+ .addPackage(DeclaringTypeTest.class.getPackage());
}
@Inject
Modified: core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/annotatedType/ExampleTest.java
===================================================================
--- core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/annotatedType/ExampleTest.java 2010-07-28 09:02:02 UTC (rev 6818)
+++ core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/annotatedType/ExampleTest.java 2010-07-28 09:27:27 UTC (rev 6819)
@@ -45,7 +45,7 @@
@Deployment
public static Archive<?> deploy()
{
- return ShrinkWrap.create("test.jar", BeanArchive.class)
+ return ShrinkWrap.create(BeanArchive.class)
.addPackage(ExampleTest.class.getPackage());
}
Modified: core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/annotatedType/decoration/AnnotatedTypeDecoratorTest.java
===================================================================
--- core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/annotatedType/decoration/AnnotatedTypeDecoratorTest.java 2010-07-28 09:02:02 UTC (rev 6818)
+++ core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/annotatedType/decoration/AnnotatedTypeDecoratorTest.java 2010-07-28 09:27:27 UTC (rev 6819)
@@ -44,7 +44,7 @@
@Deployment
public static Archive<?> deploy()
{
- return ShrinkWrap.create("test.jar", BeanArchive.class)
+ return ShrinkWrap.create(BeanArchive.class)
.addPackage(AnnotatedTypeDecoratorTest.class.getPackage());
}
Modified: core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/decorators/SimpleDecoratorTest.java
===================================================================
--- core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/decorators/SimpleDecoratorTest.java 2010-07-28 09:02:02 UTC (rev 6818)
+++ core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/decorators/SimpleDecoratorTest.java 2010-07-28 09:27:27 UTC (rev 6819)
@@ -16,13 +16,12 @@
*/
package org.jboss.weld.tests.decorators;
-import junit.framework.Assert;
-
import org.jboss.arquillian.api.Deployment;
import org.jboss.arquillian.junit.Arquillian;
import org.jboss.shrinkwrap.api.Archive;
import org.jboss.shrinkwrap.api.BeanArchive;
import org.jboss.shrinkwrap.api.ShrinkWrap;
+import org.junit.Assert;
import org.junit.Test;
import org.junit.runner.RunWith;
@@ -37,7 +36,7 @@
@Deployment
public static Archive<?> deploy()
{
- return ShrinkWrap.create("test.jar", BeanArchive.class)
+ return ShrinkWrap.create(BeanArchive.class)
.decorate(SimpleDecorator1.class, SimpleDecorator2.class)
.addPackage(SimpleDecoratorTest.class.getPackage());
}
Modified: core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/decorators/abstractDecorator/SimpleAbstractDecoratorTest.java
===================================================================
--- core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/decorators/abstractDecorator/SimpleAbstractDecoratorTest.java 2010-07-28 09:02:02 UTC (rev 6818)
+++ core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/decorators/abstractDecorator/SimpleAbstractDecoratorTest.java 2010-07-28 09:27:27 UTC (rev 6819)
@@ -37,7 +37,7 @@
@Deployment
public static Archive<?> deploy()
{
- return ShrinkWrap.create("test.jar", BeanArchive.class)
+ return ShrinkWrap.create(BeanArchive.class)
.decorate(FrameWithFieldInjectedDelegate.class)
.addPackage(SimpleAbstractDecoratorTest.class.getPackage());
}
Modified: core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/decorators/abstractDecorator/SimpleAbstractDecoratorWithAbstractMethodAndInitializerMethodTest.java
===================================================================
--- core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/decorators/abstractDecorator/SimpleAbstractDecoratorWithAbstractMethodAndInitializerMethodTest.java 2010-07-28 09:02:02 UTC (rev 6818)
+++ core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/decorators/abstractDecorator/SimpleAbstractDecoratorWithAbstractMethodAndInitializerMethodTest.java 2010-07-28 09:27:27 UTC (rev 6819)
@@ -37,7 +37,7 @@
@Deployment
public static Archive<?> deploy()
{
- return ShrinkWrap.create("test.jar", BeanArchive.class)
+ return ShrinkWrap.create(BeanArchive.class)
.decorate(
FrameWithInitializerMethodInjectedDelegateAndAbstractMethod.class,
FrameWithFieldInjectedDelegate.class)
Modified: core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/decorators/abstractDecorator/SimpleAbstractDecoratorWithAbstractMethodTest.java
===================================================================
--- core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/decorators/abstractDecorator/SimpleAbstractDecoratorWithAbstractMethodTest.java 2010-07-28 09:02:02 UTC (rev 6818)
+++ core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/decorators/abstractDecorator/SimpleAbstractDecoratorWithAbstractMethodTest.java 2010-07-28 09:27:27 UTC (rev 6819)
@@ -18,13 +18,13 @@
package org.jboss.weld.tests.decorators.abstractDecorator;
import static org.jboss.weld.tests.decorators.abstractDecorator.AbstractDecoratorTestHelper.resetAll;
-import junit.framework.Assert;
import org.jboss.arquillian.api.Deployment;
import org.jboss.arquillian.junit.Arquillian;
import org.jboss.shrinkwrap.api.Archive;
import org.jboss.shrinkwrap.api.BeanArchive;
import org.jboss.shrinkwrap.api.ShrinkWrap;
+import org.junit.Assert;
import org.junit.Test;
import org.junit.runner.RunWith;
@@ -37,7 +37,7 @@
@Deployment
public static Archive<?> deploy()
{
- return ShrinkWrap.create("test.jar", BeanArchive.class)
+ return ShrinkWrap.create(BeanArchive.class)
.decorate(
FrameWithFieldInjectedDelegateAndAbstractMethod.class,
FrameWithFieldInjectedDelegate.class)
Modified: core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/decorators/abstractDecorator/SimpleAbstractDecoratorWithCallToItselfTest.java
===================================================================
--- core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/decorators/abstractDecorator/SimpleAbstractDecoratorWithCallToItselfTest.java 2010-07-28 09:02:02 UTC (rev 6818)
+++ core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/decorators/abstractDecorator/SimpleAbstractDecoratorWithCallToItselfTest.java 2010-07-28 09:27:27 UTC (rev 6819)
@@ -18,13 +18,13 @@
package org.jboss.weld.tests.decorators.abstractDecorator;
import static org.jboss.weld.tests.decorators.abstractDecorator.AbstractDecoratorTestHelper.resetAll;
-import junit.framework.Assert;
import org.jboss.arquillian.api.Deployment;
import org.jboss.arquillian.junit.Arquillian;
import org.jboss.shrinkwrap.api.Archive;
import org.jboss.shrinkwrap.api.BeanArchive;
import org.jboss.shrinkwrap.api.ShrinkWrap;
+import org.junit.Assert;
import org.junit.Test;
import org.junit.runner.RunWith;
@@ -37,7 +37,7 @@
@Deployment
public static Archive<?> deploy()
{
- return ShrinkWrap.create("test.jar", BeanArchive.class)
+ return ShrinkWrap.create(BeanArchive.class)
.decorate(
FrameWithFieldInjectedDelegateAndSelfInvokedAbstractMethod.class,
FrameWithFieldInjectedDelegate.class)
Modified: core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/decorators/abstractDecorator/SimpleAbstractDecoratorWithConstructorTest.java
===================================================================
--- core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/decorators/abstractDecorator/SimpleAbstractDecoratorWithConstructorTest.java 2010-07-28 09:02:02 UTC (rev 6818)
+++ core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/decorators/abstractDecorator/SimpleAbstractDecoratorWithConstructorTest.java 2010-07-28 09:27:27 UTC (rev 6819)
@@ -18,13 +18,13 @@
package org.jboss.weld.tests.decorators.abstractDecorator;
import static org.jboss.weld.tests.decorators.abstractDecorator.AbstractDecoratorTestHelper.resetAll;
-import junit.framework.Assert;
import org.jboss.arquillian.api.Deployment;
import org.jboss.arquillian.junit.Arquillian;
import org.jboss.shrinkwrap.api.Archive;
import org.jboss.shrinkwrap.api.BeanArchive;
import org.jboss.shrinkwrap.api.ShrinkWrap;
+import org.junit.Assert;
import org.junit.Test;
import org.junit.runner.RunWith;
@@ -37,7 +37,7 @@
@Deployment
public static Archive<?> deploy()
{
- return ShrinkWrap.create("test.jar", BeanArchive.class)
+ return ShrinkWrap.create(BeanArchive.class)
.decorate(
FrameWithConstructorInjectedDelegateAndAbstractMethod.class,
FrameWithConstructorInjectedDelegate.class)
Modified: core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/decorators/abstractDecorator/SimpleAbstractDecoratorWithInitializerMethodTest.java
===================================================================
--- core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/decorators/abstractDecorator/SimpleAbstractDecoratorWithInitializerMethodTest.java 2010-07-28 09:02:02 UTC (rev 6818)
+++ core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/decorators/abstractDecorator/SimpleAbstractDecoratorWithInitializerMethodTest.java 2010-07-28 09:27:27 UTC (rev 6819)
@@ -18,13 +18,13 @@
package org.jboss.weld.tests.decorators.abstractDecorator;
import static org.jboss.weld.tests.decorators.abstractDecorator.AbstractDecoratorTestHelper.resetAll;
-import junit.framework.Assert;
import org.jboss.arquillian.api.Deployment;
import org.jboss.arquillian.junit.Arquillian;
import org.jboss.shrinkwrap.api.Archive;
import org.jboss.shrinkwrap.api.BeanArchive;
import org.jboss.shrinkwrap.api.ShrinkWrap;
+import org.junit.Assert;
import org.junit.Test;
import org.junit.runner.RunWith;
@@ -37,7 +37,7 @@
@Deployment
public static Archive<?> deploy()
{
- return ShrinkWrap.create("test.jar", BeanArchive.class)
+ return ShrinkWrap.create(BeanArchive.class)
.decorate(FrameWithInitializerMethodInjectedDelegate.class)
.addPackage(SimpleAbstractDecoratorWithInitializerMethodTest.class.getPackage());
}
Modified: core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/decorators/abstractDecorator/broken/SimpleAbstractDecoratorWithInvalidAbstractMethodTest.java
===================================================================
--- core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/decorators/abstractDecorator/broken/SimpleAbstractDecoratorWithInvalidAbstractMethodTest.java 2010-07-28 09:02:02 UTC (rev 6818)
+++ core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/decorators/abstractDecorator/broken/SimpleAbstractDecoratorWithInvalidAbstractMethodTest.java 2010-07-28 09:27:27 UTC (rev 6819)
@@ -38,7 +38,7 @@
@Deployment
public static Archive<?> deploy()
{
- return ShrinkWrap.create("test.jar", BeanArchive.class)
+ return ShrinkWrap.create(BeanArchive.class)
.decorate(Frame.class)
.addPackage(SimpleAbstractDecoratorWithInvalidAbstractMethodTest.class.getPackage());
}
Modified: core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/decorators/custom/CustomDecoratorTest.java
===================================================================
--- core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/decorators/custom/CustomDecoratorTest.java 2010-07-28 09:02:02 UTC (rev 6818)
+++ core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/decorators/custom/CustomDecoratorTest.java 2010-07-28 09:27:27 UTC (rev 6819)
@@ -23,8 +23,6 @@
import javax.enterprise.inject.spi.Bean;
import javax.enterprise.inject.spi.Extension;
-import junit.framework.Assert;
-
import org.jboss.weld.manager.BeanManagerImpl;
import org.jboss.weld.mock.MockBeanDeploymentArchive;
import org.jboss.weld.mock.MockDeployment;
@@ -32,6 +30,7 @@
import org.jboss.weld.mock.TestContainer;
import org.jboss.weld.util.serviceProvider.PackageServiceLoaderFactory;
import org.jboss.weld.util.serviceProvider.ServiceLoaderFactory;
+import org.junit.Assert;
import org.junit.Test;
/**
Modified: core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/decorators/decoratedTypes/PartialDecoratorTest.java
===================================================================
--- core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/decorators/decoratedTypes/PartialDecoratorTest.java 2010-07-28 09:02:02 UTC (rev 6818)
+++ core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/decorators/decoratedTypes/PartialDecoratorTest.java 2010-07-28 09:27:27 UTC (rev 6819)
@@ -14,16 +14,14 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*/
-
package org.jboss.weld.tests.decorators.decoratedTypes;
-import junit.framework.Assert;
-
import org.jboss.arquillian.api.Deployment;
import org.jboss.arquillian.junit.Arquillian;
import org.jboss.shrinkwrap.api.Archive;
import org.jboss.shrinkwrap.api.BeanArchive;
import org.jboss.shrinkwrap.api.ShrinkWrap;
+import org.junit.Assert;
import org.junit.Test;
import org.junit.runner.RunWith;
@@ -36,7 +34,7 @@
@Deployment
public static Archive<?> deploy()
{
- return ShrinkWrap.create("test.jar", BeanArchive.class)
+ return ShrinkWrap.create(BeanArchive.class)
.decorate(PartialDecorator.class)
.addPackage(PartialDecoratorTest.class.getPackage());
}
Modified: core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/decorators/generic/PartialDecoratorTest.java
===================================================================
--- core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/decorators/generic/PartialDecoratorTest.java 2010-07-28 09:02:02 UTC (rev 6818)
+++ core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/decorators/generic/PartialDecoratorTest.java 2010-07-28 09:27:27 UTC (rev 6819)
@@ -17,13 +17,13 @@
package org.jboss.weld.tests.decorators.generic;
-import junit.framework.Assert;
import org.jboss.arquillian.api.Deployment;
import org.jboss.arquillian.junit.Arquillian;
import org.jboss.shrinkwrap.api.Archive;
import org.jboss.shrinkwrap.api.BeanArchive;
import org.jboss.shrinkwrap.api.ShrinkWrap;
+import org.junit.Assert;
import org.junit.Test;
import org.junit.runner.RunWith;
@@ -36,7 +36,7 @@
@Deployment
public static Archive<?> deploy()
{
- return ShrinkWrap.create("test.jar", BeanArchive.class)
+ return ShrinkWrap.create(BeanArchive.class)
.decorate(PartialDecorator.class, StringPartialDecorator.class)
.addPackage(PartialDecoratorTest.class.getPackage());
}
Modified: core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/decorators/generic/extend/ExtendDecoratorTest.java
===================================================================
--- core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/decorators/generic/extend/ExtendDecoratorTest.java 2010-07-28 09:02:02 UTC (rev 6818)
+++ core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/decorators/generic/extend/ExtendDecoratorTest.java 2010-07-28 09:27:27 UTC (rev 6819)
@@ -35,7 +35,7 @@
@Deployment
public static Archive<?> deploy()
{
- return ShrinkWrap.create("test.jar", BeanArchive.class)
+ return ShrinkWrap.create(BeanArchive.class)
.decorate(ExtendsDecoratedDecorator.class)
.addPackage(ExtendDecoratorTest.class.getPackage());
}
Modified: core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/decorators/interceptor/InterceptorAndDecoratorTest.java
===================================================================
--- core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/decorators/interceptor/InterceptorAndDecoratorTest.java 2010-07-28 09:02:02 UTC (rev 6818)
+++ core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/decorators/interceptor/InterceptorAndDecoratorTest.java 2010-07-28 09:27:27 UTC (rev 6819)
@@ -17,13 +17,12 @@
package org.jboss.weld.tests.decorators.interceptor;
-import junit.framework.Assert;
-
import org.jboss.arquillian.api.Deployment;
import org.jboss.arquillian.junit.Arquillian;
import org.jboss.shrinkwrap.api.Archive;
import org.jboss.shrinkwrap.api.BeanArchive;
import org.jboss.shrinkwrap.api.ShrinkWrap;
+import org.junit.Assert;
import org.junit.Test;
import org.junit.runner.RunWith;
@@ -33,7 +32,7 @@
@Deployment
public static Archive<?> deploy()
{
- return ShrinkWrap.create("test.jar", BeanArchive.class)
+ return ShrinkWrap.create(BeanArchive.class)
.decorate(ServiceDecorator.class)
.intercept(ServiceInterceptor.class)
.addPackage(InterceptorAndDecoratorTest.class.getPackage());
Modified: core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/decorators/multidelegate/TestMultiDelegate.java
===================================================================
--- core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/decorators/multidelegate/TestMultiDelegate.java 2010-07-28 09:02:02 UTC (rev 6818)
+++ core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/decorators/multidelegate/TestMultiDelegate.java 2010-07-28 09:27:27 UTC (rev 6819)
@@ -30,7 +30,7 @@
@Deployment
public static Archive<?> deploy()
{
- return ShrinkWrap.create("test.jar", BeanArchive.class)
+ return ShrinkWrap.create(BeanArchive.class)
.decorate(AccountDecorator.class)
.addPackage(TestMultiDelegate.class.getPackage());
}
Modified: core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/decorators/resolution/BasicDecoratorResolutionTest.java
===================================================================
--- core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/decorators/resolution/BasicDecoratorResolutionTest.java 2010-07-28 09:02:02 UTC (rev 6818)
+++ core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/decorators/resolution/BasicDecoratorResolutionTest.java 2010-07-28 09:27:27 UTC (rev 6819)
@@ -17,13 +17,12 @@
package org.jboss.weld.tests.decorators.resolution;
-import junit.framework.Assert;
-
import org.jboss.arquillian.api.Deployment;
import org.jboss.arquillian.junit.Arquillian;
import org.jboss.shrinkwrap.api.Archive;
import org.jboss.shrinkwrap.api.BeanArchive;
import org.jboss.shrinkwrap.api.ShrinkWrap;
+import org.junit.Assert;
import org.junit.Test;
import org.junit.runner.RunWith;
@@ -36,7 +35,7 @@
@Deployment
public static Archive<?> deploy()
{
- return ShrinkWrap.create("test.jar", BeanArchive.class)
+ return ShrinkWrap.create(BeanArchive.class)
.decorate(SimpleDecorator.class, ComplexDecorator.class)
.addPackage(BasicDecoratorResolutionTest.class.getPackage());
}
Modified: core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/decorators/stackoverflow/StackOverFlowTest.java
===================================================================
--- core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/decorators/stackoverflow/StackOverFlowTest.java 2010-07-28 09:02:02 UTC (rev 6818)
+++ core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/decorators/stackoverflow/StackOverFlowTest.java 2010-07-28 09:27:27 UTC (rev 6819)
@@ -32,7 +32,7 @@
@Deployment
public static Archive<?> deploy()
{
- return ShrinkWrap.create("test.jar", BeanArchive.class)
+ return ShrinkWrap.create(BeanArchive.class)
.decorate(SecurePaymentService.class)
.addPackage(StackOverFlowTest.class.getPackage());
}
Modified: core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/examples/ExampleTest.java
===================================================================
--- core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/examples/ExampleTest.java 2010-07-28 09:02:02 UTC (rev 6818)
+++ core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/examples/ExampleTest.java 2010-07-28 09:27:27 UTC (rev 6819)
@@ -16,14 +16,12 @@
*/
package org.jboss.weld.tests.examples;
-import junit.framework.Assert;
-
import org.jboss.arquillian.api.Deployment;
import org.jboss.arquillian.junit.Arquillian;
import org.jboss.shrinkwrap.api.Archive;
import org.jboss.shrinkwrap.api.BeanArchive;
import org.jboss.shrinkwrap.api.ShrinkWrap;
-import org.jboss.shrinkwrap.api.spec.JavaArchive;
+import org.junit.Assert;
import org.junit.Test;
import org.junit.runner.RunWith;
@@ -33,9 +31,8 @@
@Deployment
public static Archive<?> deploy()
{
- return ShrinkWrap.create("test.jar", BeanArchive.class)
- .addPackage(ExampleTest.class.getPackage())
- .as(JavaArchive.class);
+ return ShrinkWrap.create(BeanArchive.class)
+ .addPackage(ExampleTest.class.getPackage());
}
@Test
Modified: core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/examples/MockExampleTest.java
===================================================================
--- core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/examples/MockExampleTest.java 2010-07-28 09:02:02 UTC (rev 6818)
+++ core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/examples/MockExampleTest.java 2010-07-28 09:27:27 UTC (rev 6819)
@@ -16,13 +16,12 @@
*/
package org.jboss.weld.tests.examples;
-import junit.framework.Assert;
-
import org.jboss.arquillian.api.Deployment;
import org.jboss.arquillian.junit.Arquillian;
import org.jboss.shrinkwrap.api.Archive;
import org.jboss.shrinkwrap.api.BeanArchive;
import org.jboss.shrinkwrap.api.ShrinkWrap;
+import org.junit.Assert;
import org.junit.Test;
import org.junit.runner.RunWith;
@@ -32,7 +31,7 @@
@Deployment
public static Archive<?> deploy()
{
- return ShrinkWrap.create("test.jar", BeanArchive.class)
+ return ShrinkWrap.create(BeanArchive.class)
.alternate(MockSentenceTranslator.class)
.addPackage(ExampleTest.class.getPackage());
}
Modified: core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/generic/GenericBeanTest.java
===================================================================
--- core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/generic/GenericBeanTest.java 2010-07-28 09:02:02 UTC (rev 6818)
+++ core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/generic/GenericBeanTest.java 2010-07-28 09:27:27 UTC (rev 6819)
@@ -16,14 +16,12 @@
*/
package org.jboss.weld.tests.generic;
-import junit.framework.Assert;
-
import org.jboss.arquillian.api.Deployment;
import org.jboss.arquillian.junit.Arquillian;
import org.jboss.shrinkwrap.api.Archive;
import org.jboss.shrinkwrap.api.BeanArchive;
import org.jboss.shrinkwrap.api.ShrinkWrap;
-import org.jboss.shrinkwrap.api.spec.JavaArchive;
+import org.junit.Assert;
import org.junit.Test;
import org.junit.runner.RunWith;
@@ -36,9 +34,8 @@
@Deployment
public static Archive<?> deploy()
{
- return ShrinkWrap.create("test.jar", BeanArchive.class)
- .addPackage(GenericBeanTest.class.getPackage())
- .as(JavaArchive.class);
+ return ShrinkWrap.create(BeanArchive.class)
+ .addPackage(GenericBeanTest.class.getPackage());
}
@Test
Modified: core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/managed/newBean/NewSimpleBeanTest.java
===================================================================
--- core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/managed/newBean/NewSimpleBeanTest.java 2010-07-28 09:02:02 UTC (rev 6818)
+++ core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/managed/newBean/NewSimpleBeanTest.java 2010-07-28 09:27:27 UTC (rev 6819)
@@ -27,7 +27,6 @@
import org.jboss.shrinkwrap.api.Archive;
import org.jboss.shrinkwrap.api.BeanArchive;
import org.jboss.shrinkwrap.api.ShrinkWrap;
-import org.jboss.shrinkwrap.api.spec.JavaArchive;
import org.jboss.weld.bean.ManagedBean;
import org.jboss.weld.bean.NewManagedBean;
import org.jboss.weld.introspector.WeldAnnotated;
@@ -43,9 +42,8 @@
@Deployment
public static Archive<?> deploy()
{
- return ShrinkWrap.create("test.jar", BeanArchive.class)
- .addPackage(NewSimpleBeanTest.class.getPackage())
- .as(JavaArchive.class);
+ return ShrinkWrap.create(BeanArchive.class)
+ .addPackage(NewSimpleBeanTest.class.getPackage());
}
private ManagedBean<WrappedSimpleBean> wrappedSimpleBean;
Modified: core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/nonContextual/ExampleTest.java
===================================================================
--- core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/nonContextual/ExampleTest.java 2010-07-28 09:02:02 UTC (rev 6818)
+++ core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/nonContextual/ExampleTest.java 2010-07-28 09:27:27 UTC (rev 6819)
@@ -29,7 +29,6 @@
import org.jboss.shrinkwrap.api.Archive;
import org.jboss.shrinkwrap.api.BeanArchive;
import org.jboss.shrinkwrap.api.ShrinkWrap;
-import org.jboss.shrinkwrap.api.spec.JavaArchive;
import org.junit.Assert;
import org.junit.Test;
import org.junit.runner.RunWith;
@@ -40,9 +39,8 @@
@Deployment
public static Archive<?> deploy()
{
- return ShrinkWrap.create("test.jar", BeanArchive.class)
- .addClasses(External.class, WebBean.class)
- .as(JavaArchive.class);
+ return ShrinkWrap.create(BeanArchive.class)
+ .addClasses(External.class, WebBean.class);
}
@Inject
Modified: core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/nonContextual/ServletListenerTest.java
===================================================================
--- core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/nonContextual/ServletListenerTest.java 2010-07-28 09:02:02 UTC (rev 6818)
+++ core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/nonContextual/ServletListenerTest.java 2010-07-28 09:27:27 UTC (rev 6819)
@@ -21,8 +21,8 @@
import org.jboss.shrinkwrap.api.Archive;
import org.jboss.shrinkwrap.api.ArchivePaths;
import org.jboss.shrinkwrap.api.ShrinkWrap;
+import org.jboss.shrinkwrap.api.asset.EmptyAsset;
import org.jboss.shrinkwrap.api.spec.WebArchive;
-import org.jboss.shrinkwrap.impl.base.asset.ByteArrayAsset;
import org.jboss.weld.tests.category.Integration;
import org.junit.Assert;
import org.junit.Test;
@@ -36,12 +36,12 @@
@Deployment
public static Archive<?> deploy()
{
- return ShrinkWrap.create("test.war", WebArchive.class)
+ return ShrinkWrap.create(WebArchive.class, "test.war")
.addClasses(ServletContextListenerImpl.class, LogManager.class)
.addWebResource(
ServletListenerTest.class.getPackage(), "web.xml", ArchivePaths.create("web.xml"))
.addWebResource(
- new ByteArrayAsset("<beans/>".getBytes()), ArchivePaths.create("beans.xml"));
+ EmptyAsset.INSTANCE, ArchivePaths.create("beans.xml"));
}
Modified: core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/specialization/SpecializationTest.java
===================================================================
--- core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/specialization/SpecializationTest.java 2010-07-28 09:02:02 UTC (rev 6818)
+++ core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/specialization/SpecializationTest.java 2010-07-28 09:27:27 UTC (rev 6819)
@@ -19,14 +19,12 @@
import javax.enterprise.inject.spi.BeanManager;
import javax.inject.Inject;
-import junit.framework.Assert;
-
import org.jboss.arquillian.api.Deployment;
import org.jboss.arquillian.junit.Arquillian;
import org.jboss.shrinkwrap.api.Archive;
import org.jboss.shrinkwrap.api.BeanArchive;
import org.jboss.shrinkwrap.api.ShrinkWrap;
-import org.jboss.shrinkwrap.api.spec.JavaArchive;
+import org.junit.Assert;
import org.junit.Test;
import org.junit.runner.RunWith;
@@ -36,9 +34,8 @@
@Deployment
public static Archive<?> deploy()
{
- return ShrinkWrap.create("test.jar", BeanArchive.class)
- .addPackage(SpecializationTest.class.getPackage())
- .as(JavaArchive.class);
+ return ShrinkWrap.create(BeanArchive.class)
+ .addPackage(SpecializationTest.class.getPackage());
}
@Inject
13 years, 8 months
Weld SVN: r6818 - in core/trunk: tests-arquillian and 1 other directory.
by weld-commits@lists.jboss.org
Author: aslak
Date: 2010-07-28 05:02:02 -0400 (Wed, 28 Jul 2010)
New Revision: 6818
Modified:
core/trunk/parent/pom.xml
core/trunk/tests-arquillian/pom.xml
Log:
WELD-493 Updated to Arquillian Alpha3
Modified: core/trunk/parent/pom.xml
===================================================================
--- core/trunk/parent/pom.xml 2010-07-27 01:51:49 UTC (rev 6817)
+++ core/trunk/parent/pom.xml 2010-07-28 09:02:02 UTC (rev 6818)
@@ -77,7 +77,7 @@
<!-- Testing deps -->
<testng.version>5.10</testng.version>
<jboss.test.harness.version>1.1.0-SNAPSHOT</jboss.test.harness.version>
- <jboss.arquillian.version>1.0.0.Alpha2</jboss.arquillian.version>
+ <jboss.arquillian.version>1.0.0.Alpha3</jboss.arquillian.version>
<jboss.metadata.version>1.0.0.CR16</jboss.metadata.version>
<jboss.mdr.version>2.0.1.GA</jboss.mdr.version>
<jboss.spec.servlet.version>1.0.0.Beta2</jboss.spec.servlet.version>
@@ -143,19 +143,19 @@
<dependency>
<groupId>org.jboss.arquillian.container</groupId>
- <artifactId>arquillian-weld-embedded</artifactId>
+ <artifactId>arquillian-weld-ee-embedded-1.1</artifactId>
<version>${jboss.arquillian.version}</version>
</dependency>
<dependency>
<groupId>org.jboss.arquillian.container</groupId>
- <artifactId>arquillian-jbossas-local-60</artifactId>
+ <artifactId>arquillian-jbossas-managed-6</artifactId>
<version>${jboss.arquillian.version}</version>
</dependency>
<dependency>
<groupId>org.jboss.arquillian.container</groupId>
- <artifactId>arquillian-jbossas-remote-60</artifactId>
+ <artifactId>arquillian-jbossas-remote-6</artifactId>
<version>${jboss.arquillian.version}</version>
</dependency>
Modified: core/trunk/tests-arquillian/pom.xml
===================================================================
--- core/trunk/tests-arquillian/pom.xml 2010-07-27 01:51:49 UTC (rev 6817)
+++ core/trunk/tests-arquillian/pom.xml 2010-07-28 09:02:02 UTC (rev 6818)
@@ -42,7 +42,7 @@
<dependency>
<groupId>org.jboss.metadata</groupId>
- <artifactId>jboss-metadata</artifactId>
+ <artifactId>jboss-metadata</artifactId>
</dependency>
<dependency>
@@ -151,7 +151,6 @@
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-plugin</artifactId>
<configuration>
- <test>org.jboss.weld.tests.NormalSuite</test>
<!--
Set parallel none to force a more modern JUnitCore provider that understands Suites,
http://old.nabble.com/Maven-Surefire-and-newer-junit-features-td28539796....
@@ -167,12 +166,16 @@
<id>defualt</id>
<activation>
<activeByDefault>true</activeByDefault>
+ <property>
+ <name>default</name>
+ </property>
</activation>
<dependencies>
<dependency>
<groupId>org.jboss.arquillian.container</groupId>
- <artifactId>arquillian-weld-embedded</artifactId>
- <scope>test</scope>
+ <artifactId>arquillian-weld-ee-embedded-1.1</artifactId>
+ <scope>provided</scope> <!-- should be test, but we need shrinkwrap-impl for compiling BeanArchive,
+ having this in test scopes override the shrinkwrap-api scope. ?? -->
</dependency>
</dependencies>
<build>
@@ -190,6 +193,7 @@
<profile>
<id>incontainer</id>
<activation>
+ <activeByDefault>false</activeByDefault>
<property>
<name>incontainer</name>
</property>
@@ -197,11 +201,17 @@
<dependencies>
<dependency>
<groupId>org.jboss.arquillian.container</groupId>
- <artifactId>arquillian-jbossas-remote-60</artifactId>
+ <artifactId>arquillian-jbossas-managed-6</artifactId>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.jboss.jbossas</groupId>
+ <artifactId>jboss-server-manager</artifactId>
+ <version>1.0.3.GA</version>
+ <scope>test</scope>
+ </dependency>
+ <dependency>
+ <groupId>org.jboss.jbossas</groupId>
<artifactId>jboss-as-client</artifactId>
<version>6.0.0.20100429-M3</version>
<type>pom</type>
@@ -215,6 +225,7 @@
<artifactId>maven-surefire-plugin</artifactId>
<configuration>
<test>org.jboss.weld.tests.IntegrationSuite</test>
+ <parallel>none</parallel>
</configuration>
</plugin>
</plugins>
13 years, 8 months
[weld/extensions] 3e1386: Annotated based DefaultBean support
by noreply@github.com
Branch: refs/heads/master
Home: http://github.com/weld/extensions
Commit: 3e138697cb36fa39a2ff4456dd1a1da84371b67c
http://github.com/weld/extensions/commit/3e138697cb36fa39a2ff4456dd1a1da8...
Author: Stuart Douglas <stuart.w.douglas(a)gmail.com>
Date: 2010-07-27 (Tue, 27 Jul 2010)
Changed paths:
A impl/src/main/java/org/jboss/weld/extensions/defaultbean/DefaultBean.java
M impl/src/main/java/org/jboss/weld/extensions/defaultbean/DefaultBeanExtension.java
Log Message:
-----------
Annotated based DefaultBean support
Commit: 69bfce47d99362a927959d2b132e173b71740ed5
http://github.com/weld/extensions/commit/69bfce47d99362a927959d2b132e173b...
Author: Stuart Douglas <stuart.w.douglas(a)gmail.com>
Date: 2010-07-27 (Tue, 27 Jul 2010)
Changed paths:
M impl/src/main/java/org/jboss/weld/extensions/defaultbean/DefaultBean.java
A impl/src/test/java/org/jboss/weld/extensions/test/defaultbean/CDDrive.java
A impl/src/test/java/org/jboss/weld/extensions/test/defaultbean/DVDDrive.java
A impl/src/test/java/org/jboss/weld/extensions/test/defaultbean/DefaultBeanTest.java
A impl/src/test/java/org/jboss/weld/extensions/test/defaultbean/FloppyDrive.java
A impl/src/test/java/org/jboss/weld/extensions/test/defaultbean/MagneticDrive.java
A impl/src/test/java/org/jboss/weld/extensions/test/defaultbean/OpticalDrive.java
Log Message:
-----------
add tests for annotation based @DefaultBean
13 years, 8 months
[weld/extensions] 0d9c3c: first attempt at implementing el evaluation, need ...
by noreply@github.com
Branch: refs/heads/master
Home: http://github.com/weld/extensions
Commit: 0d9c3caab2289c9990e832572b55576c1b94b162
http://github.com/weld/extensions/commit/0d9c3caab2289c9990e832572b55576c...
Author: Stuart Douglas <stuart.w.douglas(a)gmail.com>
Date: 2010-07-27 (Tue, 27 Jul 2010)
Changed paths:
A impl/src/main/java/org/jboss/weld/extensions/el/ELContextProducer.java
A impl/src/main/java/org/jboss/weld/extensions/el/ExpressionFactoryImpl.java
A impl/src/main/java/org/jboss/weld/extensions/el/ExpressionFactoryProducer.java
A impl/src/main/java/org/jboss/weld/extensions/el/Expressions.java
A impl/src/main/java/org/jboss/weld/extensions/el/FunctionMapperImpl.java
A impl/src/main/java/org/jboss/weld/extensions/el/VariableMapperImpl.java
A impl/src/test/java/org/jboss/weld/extensions/test/el/Car.java
A impl/src/test/java/org/jboss/weld/extensions/test/el/ElTest.java
A impl/src/test/java/org/jboss/weld/extensions/test/el/Ute.java
Log Message:
-----------
first attempt at implementing el evaluation, need a proper ExpressionFacotory implementation
13 years, 8 months