[webbeans-commits] Webbeans SVN: r3490 - tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/tests/implementation/producer/method/definition/enterprise.
by webbeans-commits@lists.jboss.org
Author: shane.bryzak(a)jboss.com
Date: 2009-08-14 00:44:42 -0400 (Fri, 14 Aug 2009)
New Revision: 3490
Added:
tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/tests/implementation/producer/method/definition/enterprise/LightYellowPearTree.java
tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/tests/implementation/producer/method/definition/enterprise/LightYellowPearTreeLocal.java
tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/tests/implementation/producer/method/definition/enterprise/Pear.java
tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/tests/implementation/producer/method/definition/enterprise/PearTree.java
tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/tests/implementation/producer/method/definition/enterprise/PearTreeLocal.java
tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/tests/implementation/producer/method/definition/enterprise/YellowPearTree.java
Modified:
tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/tests/implementation/producer/method/definition/enterprise/EnterpriseProducerMethodDefinitionTest.java
Log:
enterprise producer method/specialization tests
Modified: tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/tests/implementation/producer/method/definition/enterprise/EnterpriseProducerMethodDefinitionTest.java
===================================================================
--- tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/tests/implementation/producer/method/definition/enterprise/EnterpriseProducerMethodDefinitionTest.java 2009-08-14 04:16:16 UTC (rev 3489)
+++ tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/tests/implementation/producer/method/definition/enterprise/EnterpriseProducerMethodDefinitionTest.java 2009-08-14 04:44:42 UTC (rev 3490)
@@ -34,5 +34,13 @@
assert getBeans(Apple.class, new AnnotationLiteral<Yummy>() {}).size() == 1;
assert getInstanceByType(Apple.class,new AnnotationLiteral<Yummy>() {}).getTree().getClass().equals(AppleTree.class);
}
+
+ @Test
+ @SpecAssertion(section = "4.2", id = "dj")
+ public void testNonStaticProducerMethodNotIndirectlyInherited()
+ {
+ assert getBeans(Pear.class, new AnnotationLiteral<Yummy>() {}).size() == 1;
+ assert getInstanceByType(Pear.class,new AnnotationLiteral<Yummy>() {}).getColour().equals("green");
+ }
}
Added: tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/tests/implementation/producer/method/definition/enterprise/LightYellowPearTree.java
===================================================================
--- tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/tests/implementation/producer/method/definition/enterprise/LightYellowPearTree.java (rev 0)
+++ tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/tests/implementation/producer/method/definition/enterprise/LightYellowPearTree.java 2009-08-14 04:44:42 UTC (rev 3490)
@@ -0,0 +1,13 @@
+package org.jboss.jsr299.tck.tests.implementation.producer.method.definition.enterprise;
+
+import javax.ejb.Stateful;
+import javax.enterprise.inject.Produces;
+
+@Stateful
+public class LightYellowPearTree extends YellowPearTree implements LightYellowPearTreeLocal
+{
+ @Produces @Yummy public Pear producePear()
+ {
+ return new Pear("lightYellow");
+ }
+}
Added: tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/tests/implementation/producer/method/definition/enterprise/LightYellowPearTreeLocal.java
===================================================================
--- tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/tests/implementation/producer/method/definition/enterprise/LightYellowPearTreeLocal.java (rev 0)
+++ tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/tests/implementation/producer/method/definition/enterprise/LightYellowPearTreeLocal.java 2009-08-14 04:44:42 UTC (rev 3490)
@@ -0,0 +1,9 @@
+package org.jboss.jsr299.tck.tests.implementation.producer.method.definition.enterprise;
+
+import javax.ejb.Local;
+
+@Local
+public interface LightYellowPearTreeLocal extends PearTreeLocal
+{
+
+}
Added: tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/tests/implementation/producer/method/definition/enterprise/Pear.java
===================================================================
--- tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/tests/implementation/producer/method/definition/enterprise/Pear.java (rev 0)
+++ tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/tests/implementation/producer/method/definition/enterprise/Pear.java 2009-08-14 04:44:42 UTC (rev 3490)
@@ -0,0 +1,16 @@
+package org.jboss.jsr299.tck.tests.implementation.producer.method.definition.enterprise;
+
+public class Pear
+{
+ private String colour;
+
+ public Pear(String colour)
+ {
+ this.colour = colour;
+ }
+
+ public String getColour()
+ {
+ return colour;
+ }
+}
\ No newline at end of file
Added: tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/tests/implementation/producer/method/definition/enterprise/PearTree.java
===================================================================
--- tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/tests/implementation/producer/method/definition/enterprise/PearTree.java (rev 0)
+++ tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/tests/implementation/producer/method/definition/enterprise/PearTree.java 2009-08-14 04:44:42 UTC (rev 3490)
@@ -0,0 +1,13 @@
+package org.jboss.jsr299.tck.tests.implementation.producer.method.definition.enterprise;
+
+import javax.ejb.Stateful;
+import javax.enterprise.inject.Produces;
+
+@Stateful
+public class PearTree implements PearTreeLocal
+{
+ @Produces @Yummy public Pear producePear()
+ {
+ return new Pear("green");
+ }
+}
Added: tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/tests/implementation/producer/method/definition/enterprise/PearTreeLocal.java
===================================================================
--- tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/tests/implementation/producer/method/definition/enterprise/PearTreeLocal.java (rev 0)
+++ tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/tests/implementation/producer/method/definition/enterprise/PearTreeLocal.java 2009-08-14 04:44:42 UTC (rev 3490)
@@ -0,0 +1,9 @@
+package org.jboss.jsr299.tck.tests.implementation.producer.method.definition.enterprise;
+
+import javax.ejb.Local;
+
+@Local
+public interface PearTreeLocal
+{
+ Pear producePear();
+}
Added: tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/tests/implementation/producer/method/definition/enterprise/YellowPearTree.java
===================================================================
--- tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/tests/implementation/producer/method/definition/enterprise/YellowPearTree.java (rev 0)
+++ tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/tests/implementation/producer/method/definition/enterprise/YellowPearTree.java 2009-08-14 04:44:42 UTC (rev 3490)
@@ -0,0 +1,6 @@
+package org.jboss.jsr299.tck.tests.implementation.producer.method.definition.enterprise;
+
+class YellowPearTree extends PearTree
+{
+
+}
14 years, 9 months
[webbeans-commits] Webbeans SVN: r3489 - in tck/trunk/impl/src/main: java/org/jboss/jsr299/tck/tests/implementation/producer/method/definition/enterprise and 8 other directories.
by webbeans-commits@lists.jboss.org
Author: shane.bryzak(a)jboss.com
Date: 2009-08-14 00:16:16 -0400 (Fri, 14 Aug 2009)
New Revision: 3489
Added:
tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/tests/lookup/injection/enterprise/DeluxeHenHouse.java
tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/tests/lookup/injection/enterprise/DeluxeHenHouseLocal.java
tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/tests/lookup/injection/enterprise/Fox.java
tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/tests/lookup/injection/enterprise/HenHouse.java
tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/tests/lookup/injection/enterprise/MegaPoorHenHouse.java
tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/tests/lookup/injection/enterprise/MegaPoorHenHouseLocal.java
tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/tests/lookup/injection/enterprise/PoorHenHouse.java
Modified:
tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/tests/definition/binding/enterprise/EnterpriseBindingDefinitionTest.java
tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/tests/definition/binding/enterprise/SkinnyHairlessCat.java
tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/tests/definition/binding/enterprise/TameSkinnyHairlessCat.java
tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/tests/implementation/producer/method/definition/enterprise/EnterpriseProducerMethodDefinitionTest.java
tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/tests/implementation/producer/method/lifecycle/ProducerMethodLifecycleTest.java
tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/tests/inheritance/specialization/enterprise/EnterpriseBeanSpecializationIntegrationTest.java
tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/tests/inheritance/specialization/enterprise/broken/sameName/SameNameTest.java
tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/tests/inheritance/specialization/producer/method/broken/specializingAndSpecializedBeanHaveName/SpecializingAndSpecializedBeanHaveNameTest.java
tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/tests/inheritance/specialization/simple/SimpleBeanSpecializationTest.java
tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/tests/inheritance/specialization/simple/broken/names/SpecializingAndSpecializedBeanHasNameTest.java
tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/tests/lookup/injection/enterprise/SessionBeanInjectionTest.java
tck/trunk/impl/src/main/resources/tck-audit.xml
Log:
some more section 4 tests, refine some of the assertions
Modified: tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/tests/definition/binding/enterprise/EnterpriseBindingDefinitionTest.java
===================================================================
--- tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/tests/definition/binding/enterprise/EnterpriseBindingDefinitionTest.java 2009-08-14 00:24:39 UTC (rev 3488)
+++ tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/tests/definition/binding/enterprise/EnterpriseBindingDefinitionTest.java 2009-08-14 04:16:16 UTC (rev 3489)
@@ -37,8 +37,7 @@
@Test
@SpecAssertion(section = "4.1", id = "ala")
public void testBindingNotDeclaredInheritedIsNotInherited() throws Exception
- {
- Set<? extends Annotation> bindings = getBeans(SkinnyHairlessCatLocal.class).iterator().next().getBindings();
+ {
assert getBeans(SkinnyHairlessCatLocal.class, new HairlessBinding()).size() == 0;
}
@@ -53,8 +52,7 @@
@Test
@SpecAssertion(section = "4.1", id = "apa")
public void testBindingNotDeclaredInheritedIsNotIndirectlyInherited()
- {
- Set<? extends Annotation> bindings = getBeans(TameSkinnyHairlessCatLocal.class).iterator().next().getBindings();
+ {
assert getBeans(TameSkinnyHairlessCatLocal.class, new HairlessBinding()).size() == 0;
}
}
Modified: tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/tests/definition/binding/enterprise/SkinnyHairlessCat.java
===================================================================
--- tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/tests/definition/binding/enterprise/SkinnyHairlessCat.java 2009-08-14 00:24:39 UTC (rev 3488)
+++ tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/tests/definition/binding/enterprise/SkinnyHairlessCat.java 2009-08-14 04:16:16 UTC (rev 3489)
@@ -3,7 +3,7 @@
import javax.ejb.Stateless;
@Stateless
-public class SkinnyHairlessCat extends HairlessCat implements SkinnyHairlessCatLocal
+class SkinnyHairlessCat extends HairlessCat implements SkinnyHairlessCatLocal
{
}
Modified: tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/tests/definition/binding/enterprise/TameSkinnyHairlessCat.java
===================================================================
--- tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/tests/definition/binding/enterprise/TameSkinnyHairlessCat.java 2009-08-14 00:24:39 UTC (rev 3488)
+++ tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/tests/definition/binding/enterprise/TameSkinnyHairlessCat.java 2009-08-14 04:16:16 UTC (rev 3489)
@@ -3,7 +3,7 @@
import javax.ejb.Stateless;
@Stateless
-public class TameSkinnyHairlessCat extends SkinnyHairlessCat implements TameSkinnyHairlessCatLocal
+class TameSkinnyHairlessCat extends SkinnyHairlessCat implements TameSkinnyHairlessCatLocal
{
}
Modified: tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/tests/implementation/producer/method/definition/enterprise/EnterpriseProducerMethodDefinitionTest.java
===================================================================
--- tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/tests/implementation/producer/method/definition/enterprise/EnterpriseProducerMethodDefinitionTest.java 2009-08-14 00:24:39 UTC (rev 3488)
+++ tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/tests/implementation/producer/method/definition/enterprise/EnterpriseProducerMethodDefinitionTest.java 2009-08-14 04:16:16 UTC (rev 3489)
@@ -3,32 +3,32 @@
import javax.enterprise.inject.AnnotationLiteral;
import org.jboss.jsr299.tck.AbstractJSR299Test;
+import org.jboss.test.audit.annotations.SpecAssertion;
+import org.jboss.test.audit.annotations.SpecVersion;
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.testng.annotations.Test;
-/**
- *
- * Spec version: 20090519
- * These tests are no longer needed in the TCK.
- *
- */
@IntegrationTest
@Artifact
@BeansXml("beans.xml")
@Packaging(PackagingType.EAR)
+@SpecVersion("20090625")
public class EnterpriseProducerMethodDefinitionTest extends AbstractJSR299Test
{
-// @Test
+ @Test
+ @SpecAssertion(section = "4.2", id = "dd")
public void testNonStaticProducerMethodInheritedBySpecializingSubclass()
{
assert getBeans(Egg.class, new AnnotationLiteral<Yummy>() {}).size() == 1;
assert getInstanceByType(Egg.class,new AnnotationLiteral<Yummy>() {}).getMother().getClass().equals(AndalusianChicken.class);
}
-// @Test
+ @Test
+ @SpecAssertion(section = "4.2", id = "dd")
public void testNonStaticProducerMethodNotInherited()
{
assert getBeans(Apple.class, new AnnotationLiteral<Yummy>() {}).size() == 1;
Modified: tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/tests/implementation/producer/method/lifecycle/ProducerMethodLifecycleTest.java
===================================================================
--- tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/tests/implementation/producer/method/lifecycle/ProducerMethodLifecycleTest.java 2009-08-14 00:24:39 UTC (rev 3488)
+++ tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/tests/implementation/producer/method/lifecycle/ProducerMethodLifecycleTest.java 2009-08-14 04:16:16 UTC (rev 3489)
@@ -71,7 +71,7 @@
@Test(groups = { "producerMethod" })
@SpecAssertions({
- @SpecAssertion(section = "4.3.2", id = "a"),
+ @SpecAssertion(section = "4.3.2", id = "ab"),
@SpecAssertion(section = "5.6.6", id = "c"),
@SpecAssertion(section="4.3", id="cb")
})
Modified: tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/tests/inheritance/specialization/enterprise/EnterpriseBeanSpecializationIntegrationTest.java
===================================================================
--- tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/tests/inheritance/specialization/enterprise/EnterpriseBeanSpecializationIntegrationTest.java 2009-08-14 00:24:39 UTC (rev 3488)
+++ tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/tests/inheritance/specialization/enterprise/EnterpriseBeanSpecializationIntegrationTest.java 2009-08-14 04:16:16 UTC (rev 3489)
@@ -38,7 +38,7 @@
@Test
- @SpecAssertion(section="4.3.2", id = "a")
+ @SpecAssertion(section="4.3.2", id = "aa")
public void testProducerMethodOnSpecializedBeanCalledOnSpecializingBean() throws Exception
{
assert getBeans(Waste.class).size() == 1;
Modified: tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/tests/inheritance/specialization/enterprise/broken/sameName/SameNameTest.java
===================================================================
--- tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/tests/inheritance/specialization/enterprise/broken/sameName/SameNameTest.java 2009-08-14 00:24:39 UTC (rev 3488)
+++ tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/tests/inheritance/specialization/enterprise/broken/sameName/SameNameTest.java 2009-08-14 04:16:16 UTC (rev 3489)
@@ -20,7 +20,7 @@
public class SameNameTest extends AbstractJSR299Test
{
@Test
- @SpecAssertion(section = "4.3.1", id = "l")
+ @SpecAssertion(section = "4.3.1", id = "lc")
public void testSpecializingAndSpecializedBeanHasName()
{
assert false;
Modified: tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/tests/inheritance/specialization/producer/method/broken/specializingAndSpecializedBeanHaveName/SpecializingAndSpecializedBeanHaveNameTest.java
===================================================================
--- tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/tests/inheritance/specialization/producer/method/broken/specializingAndSpecializedBeanHaveName/SpecializingAndSpecializedBeanHaveNameTest.java 2009-08-14 00:24:39 UTC (rev 3488)
+++ tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/tests/inheritance/specialization/producer/method/broken/specializingAndSpecializedBeanHaveName/SpecializingAndSpecializedBeanHaveNameTest.java 2009-08-14 04:16:16 UTC (rev 3489)
@@ -14,10 +14,8 @@
@SpecVersion("20090625")
public class SpecializingAndSpecializedBeanHaveNameTest extends AbstractJSR299Test
{
-
-
@Test
- @SpecAssertion(section = "4.3.1", id = "l")
+ @SpecAssertion(section = "4.3.1", id = "la")
public void testSpecializingAndSpecializedBeanHasName()
{
assert false;
Modified: tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/tests/inheritance/specialization/simple/SimpleBeanSpecializationTest.java
===================================================================
--- tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/tests/inheritance/specialization/simple/SimpleBeanSpecializationTest.java 2009-08-14 00:24:39 UTC (rev 3488)
+++ tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/tests/inheritance/specialization/simple/SimpleBeanSpecializationTest.java 2009-08-14 04:16:16 UTC (rev 3489)
@@ -27,7 +27,8 @@
@SuppressWarnings("unchecked")
@Test
@SpecAssertions( {
- @SpecAssertion(section = "4.3.1", id = "i"),
+ @SpecAssertion(section = "4.3.1", id = "ia"),
+ @SpecAssertion(section = "4.3.1", id = "ib"),
@SpecAssertion(section = "4.3.1", id = "j"),
@SpecAssertion(section = "3.1.5", id = "aa")
})
@@ -53,7 +54,7 @@
@Test
@SpecAssertions( {
- @SpecAssertion(section = "4.3.2", id = "a"),
+ @SpecAssertion(section = "4.3.2", id = "ab"),
@SpecAssertion(section="4.3", id="cb")
})
public void testProducerMethodOnSpecializedBeanCalledOnSpecializingBean()
Modified: tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/tests/inheritance/specialization/simple/broken/names/SpecializingAndSpecializedBeanHasNameTest.java
===================================================================
--- tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/tests/inheritance/specialization/simple/broken/names/SpecializingAndSpecializedBeanHasNameTest.java 2009-08-14 00:24:39 UTC (rev 3488)
+++ tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/tests/inheritance/specialization/simple/broken/names/SpecializingAndSpecializedBeanHasNameTest.java 2009-08-14 04:16:16 UTC (rev 3489)
@@ -15,7 +15,7 @@
public class SpecializingAndSpecializedBeanHasNameTest extends AbstractJSR299Test
{
@Test
- @SpecAssertion(section = "4.3.1", id = "l")
+ @SpecAssertion(section = "4.3.1", id = "lb")
public void testSpecializingAndSpecializedBeanHasName()
{
assert false;
Added: tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/tests/lookup/injection/enterprise/DeluxeHenHouse.java
===================================================================
--- tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/tests/lookup/injection/enterprise/DeluxeHenHouse.java (rev 0)
+++ tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/tests/lookup/injection/enterprise/DeluxeHenHouse.java 2009-08-14 04:16:16 UTC (rev 3489)
@@ -0,0 +1,12 @@
+package org.jboss.jsr299.tck.tests.lookup.injection.enterprise;
+
+import javax.ejb.Stateless;
+
+@Stateless
+public class DeluxeHenHouse extends HenHouse implements DeluxeHenHouseLocal
+{
+ public Fox getFox()
+ {
+ return fox;
+ }
+}
Added: tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/tests/lookup/injection/enterprise/DeluxeHenHouseLocal.java
===================================================================
--- tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/tests/lookup/injection/enterprise/DeluxeHenHouseLocal.java (rev 0)
+++ tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/tests/lookup/injection/enterprise/DeluxeHenHouseLocal.java 2009-08-14 04:16:16 UTC (rev 3489)
@@ -0,0 +1,9 @@
+package org.jboss.jsr299.tck.tests.lookup.injection.enterprise;
+
+import javax.ejb.Local;
+
+@Local
+public interface DeluxeHenHouseLocal
+{
+ Fox getFox();
+}
Added: tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/tests/lookup/injection/enterprise/Fox.java
===================================================================
--- tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/tests/lookup/injection/enterprise/Fox.java (rev 0)
+++ tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/tests/lookup/injection/enterprise/Fox.java 2009-08-14 04:16:16 UTC (rev 3489)
@@ -0,0 +1,14 @@
+package org.jboss.jsr299.tck.tests.lookup.injection.enterprise;
+
+import javax.enterprise.context.Dependent;
+
+@Dependent
+class Fox
+{
+
+ public String getName()
+ {
+ return "gavin";
+ }
+
+}
Added: tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/tests/lookup/injection/enterprise/HenHouse.java
===================================================================
--- tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/tests/lookup/injection/enterprise/HenHouse.java (rev 0)
+++ tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/tests/lookup/injection/enterprise/HenHouse.java 2009-08-14 04:16:16 UTC (rev 3489)
@@ -0,0 +1,11 @@
+package org.jboss.jsr299.tck.tests.lookup.injection.enterprise;
+
+import javax.enterprise.inject.Current;
+
+public class HenHouse
+{
+
+ @Current
+ public Fox fox;
+
+}
Added: tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/tests/lookup/injection/enterprise/MegaPoorHenHouse.java
===================================================================
--- tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/tests/lookup/injection/enterprise/MegaPoorHenHouse.java (rev 0)
+++ tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/tests/lookup/injection/enterprise/MegaPoorHenHouse.java 2009-08-14 04:16:16 UTC (rev 3489)
@@ -0,0 +1,12 @@
+package org.jboss.jsr299.tck.tests.lookup.injection.enterprise;
+
+import javax.ejb.Stateless;
+
+@Stateless
+public class MegaPoorHenHouse extends PoorHenHouse implements MegaPoorHenHouseLocal
+{
+ public Fox getFox()
+ {
+ return fox;
+ }
+}
Added: tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/tests/lookup/injection/enterprise/MegaPoorHenHouseLocal.java
===================================================================
--- tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/tests/lookup/injection/enterprise/MegaPoorHenHouseLocal.java (rev 0)
+++ tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/tests/lookup/injection/enterprise/MegaPoorHenHouseLocal.java 2009-08-14 04:16:16 UTC (rev 3489)
@@ -0,0 +1,9 @@
+package org.jboss.jsr299.tck.tests.lookup.injection.enterprise;
+
+import javax.ejb.Local;
+
+@Local
+public interface MegaPoorHenHouseLocal
+{
+ Fox getFox();
+}
Added: tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/tests/lookup/injection/enterprise/PoorHenHouse.java
===================================================================
--- tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/tests/lookup/injection/enterprise/PoorHenHouse.java (rev 0)
+++ tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/tests/lookup/injection/enterprise/PoorHenHouse.java 2009-08-14 04:16:16 UTC (rev 3489)
@@ -0,0 +1,6 @@
+package org.jboss.jsr299.tck.tests.lookup.injection.enterprise;
+
+class PoorHenHouse extends HenHouse
+{
+
+}
Modified: tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/tests/lookup/injection/enterprise/SessionBeanInjectionTest.java
===================================================================
--- tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/tests/lookup/injection/enterprise/SessionBeanInjectionTest.java 2009-08-14 00:24:39 UTC (rev 3488)
+++ tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/tests/lookup/injection/enterprise/SessionBeanInjectionTest.java 2009-08-14 04:16:16 UTC (rev 3489)
@@ -20,6 +20,7 @@
import org.jboss.test.audit.annotations.SpecAssertions;
import org.jboss.test.audit.annotations.SpecVersion;
import org.jboss.jsr299.tck.AbstractJSR299Test;
+import org.jboss.jsr299.tck.tests.lookup.injection.DeluxeHenHouse;
import org.jboss.testharness.impl.packaging.Artifact;
import org.jboss.testharness.impl.packaging.IntegrationTest;
import org.jboss.testharness.impl.packaging.Packaging;
@@ -61,4 +62,22 @@
// Test interceptor that intercepts non-contextual Session Bean
assert getInstanceByType(InjectedSessionBeanLocal.class).getFarm().getAnimalCount() == 2;
}
+
+ @Test
+ @SpecAssertion(section = "4.2", id = "ab")
+ public void testFieldDeclaredInSuperclassInjected()
+ {
+ DeluxeHenHouseLocal henHouse = getInstanceByType(DeluxeHenHouseLocal.class);
+ assert henHouse.getFox() != null;
+ assert henHouse.getFox().getName().equals("gavin");
+ }
+
+ @Test
+ @SpecAssertion(section = "4.2", id = "ad")
+ public void testFieldDeclaredInSuperclassIndirectlyInjected()
+ {
+ MegaPoorHenHouseLocal henHouse = getInstanceByType(MegaPoorHenHouseLocal.class);
+ assert henHouse.getFox() != null;
+ assert henHouse.getFox().getName().equals("gavin");
+ }
}
Modified: tck/trunk/impl/src/main/resources/tck-audit.xml
===================================================================
--- tck/trunk/impl/src/main/resources/tck-audit.xml 2009-08-14 00:24:39 UTC (rev 3488)
+++ tck/trunk/impl/src/main/resources/tck-audit.xml 2009-08-14 04:16:16 UTC (rev 3489)
@@ -1707,11 +1707,11 @@
</section>
<section id="4.3.1" title="Direct and indirect specialization">
- <assertion id="i">
+ <assertion id="ia">
<text>A bean X is said to specialize another bean Y if X directly specializes Y.</text>
</assertion>
- <assertion id="i">
+ <assertion id="ib">
<text>A bean X is said to specialize another bean Y if a bean Z exists, such that X directly specializes Z and Z specializes Y.</text>
</assertion>
@@ -1722,11 +1722,23 @@
<assertion id="k">
<text>A bean X that specializes bean Y will have the same name as Y if Y has a name.</text>
</assertion>
+
+ <group>
+ <text>If X declares a name explicitly, using @Named, the container automatically detects the problem and treats it as a definition error, as defined in Section 12.4, "Problems detected automatically by the container".</text>
+
+ <assertion id="la">
+ <text>Test that a specializing producer method with a name throws a deployment exception.</text>
+ </assertion>
+
+ <assertion id="lb">
+ <text>Test that a specializing managed bean with a name throws a deployment exception.</text>
+ </assertion>
+
+ <assertion id="lc">
+ <text>Test that a specializing enterprise bean with a name throws a deployment exception.</text>
+ </assertion>
+ </group>
- <assertion id="l">
- <text>If X declares a name explicitly, using @Named, the container automatically detects the problem and treats it as a definition error, as defined in Section 12.4, "Problems detected automatically by the container".</text>
- </assertion>
-
<assertion id="m">
<text>X must have all the bean types of Y. If X does not support some bean type of Y, the container automatically detects the problem and treats it as a definition error, as defined in Section 12.4, "Problems detected automatically by the container".</text>
</assertion>
@@ -1736,9 +1748,13 @@
<group>
<text>Non-static producer methods, producer fields, disposal methods and observer methods of a bean are invoked upon an instance of the most specialized enabled bean that specializes the bean, as defined by Section 5.6.6, "Invocation of producer or disposal methods", Section 5.6.7, "Access to producer field values" and Section 5.6.8, "Invocation of observer methods".</text>
- <assertion id="a">
- <text>Test with non-static producer method.</text>
- </assertion>
+ <assertion id="aa">
+ <text>Test with non-static producer method on an enterprise bean.</text>
+ </assertion>
+
+ <assertion id="ab">
+ <text>Test with non-static producer method on a managed bean.</text>
+ </assertion>
<assertion id="b">
<text>Test with non-static producer field.</text>
14 years, 9 months
[webbeans-commits] Webbeans SVN: r3488 - in ri/trunk: impl/src/main/java/org/jboss/webbeans/bean and 4 other directories.
by webbeans-commits@lists.jboss.org
Author: pete.muir(a)jboss.org
Date: 2009-08-13 20:24:39 -0400 (Thu, 13 Aug 2009)
New Revision: 3488
Added:
ri/trunk/impl/src/main/java/org/jboss/webbeans/resolution/TypeSafeDisposerResolver.java
ri/trunk/tests/src/test/java/org/jboss/webbeans/test/unit/implementation/producer/method/DisposalMethodOnOtherBeanNotResolvedTest.java
ri/trunk/tests/src/test/java/org/jboss/webbeans/test/unit/implementation/producer/method/Foo.java
ri/trunk/tests/src/test/java/org/jboss/webbeans/test/unit/implementation/producer/method/FooDisposer.java
ri/trunk/tests/src/test/java/org/jboss/webbeans/test/unit/implementation/producer/method/FooProducer.java
Modified:
ri/trunk/impl/src/main/java/org/jboss/webbeans/BeanManagerImpl.java
ri/trunk/impl/src/main/java/org/jboss/webbeans/bean/ProducerMethodBean.java
ri/trunk/impl/src/main/java/org/jboss/webbeans/bootstrap/BeanDeployerEnvironment.java
ri/trunk/impl/src/main/java/org/jboss/webbeans/event/ObserverMethodImpl.java
ri/trunk/impl/src/main/java/org/jboss/webbeans/resolution/ForwardingResolvable.java
ri/trunk/impl/src/main/java/org/jboss/webbeans/resolution/Resolvable.java
ri/trunk/impl/src/main/java/org/jboss/webbeans/resolution/ResolvableFactory.java
ri/trunk/impl/src/main/java/org/jboss/webbeans/resolution/ResolvableWBClass.java
Log:
WBRI-340
Modified: ri/trunk/impl/src/main/java/org/jboss/webbeans/BeanManagerImpl.java
===================================================================
--- ri/trunk/impl/src/main/java/org/jboss/webbeans/BeanManagerImpl.java 2009-08-13 21:37:28 UTC (rev 3487)
+++ ri/trunk/impl/src/main/java/org/jboss/webbeans/BeanManagerImpl.java 2009-08-14 00:24:39 UTC (rev 3488)
@@ -544,7 +544,7 @@
bindingAnnotations.add(new AnyLiteral());
checkEventType(clazz);
Set<ObserverMethod<?, T>> observers = new HashSet<ObserverMethod<?, T>>();
- Set<ObserverMethod<?,?>> eventObservers = observerResolver.resolve(ResolvableFactory.of(new Reflections.HierarchyDiscovery(clazz).getFlattenedTypes(), bindingAnnotations));
+ Set<ObserverMethod<?,?>> eventObservers = observerResolver.resolve(ResolvableFactory.of(new Reflections.HierarchyDiscovery(clazz).getFlattenedTypes(), bindingAnnotations, null));
for (ObserverMethod<?,?> observer : eventObservers)
{
observers.add((ObserverMethod<?, T>) observer);
@@ -785,7 +785,7 @@
= */
public void addObserver(ObserverMethod<?, ?> observer)
{
- checkEventType(observer.getObservedType());
+ //checkEventType(observer.getObservedType());
observers.add(observer);
log.trace("Added observer " + observer);
for (BeanManagerImpl childActivity : childActivities)
@@ -993,14 +993,14 @@
{
checkResolveDecoratorsArguments(types, Arrays.asList(bindings));
// TODO Fix this cast and make the resolver return a list
- return new ArrayList<Decorator<?>>(decoratorResolver.resolve(ResolvableFactory.of(types, bindings)));
+ return new ArrayList<Decorator<?>>(decoratorResolver.resolve(ResolvableFactory.of(types, null, bindings)));
}
public List<Decorator<?>> resolveDecorators(Set<Type> types, Set<Annotation> bindings)
{
checkResolveDecoratorsArguments(types, bindings);
// TODO Fix this cast and make the resolver return a list
- return new ArrayList<Decorator<?>>(decoratorResolver.resolve(ResolvableFactory.of(types, bindings)));
+ return new ArrayList<Decorator<?>>(decoratorResolver.resolve(ResolvableFactory.of(types, bindings, null)));
}
private void checkResolveDecoratorsArguments(Set<Type> types, Collection<Annotation> bindings)
Modified: ri/trunk/impl/src/main/java/org/jboss/webbeans/bean/ProducerMethodBean.java
===================================================================
--- ri/trunk/impl/src/main/java/org/jboss/webbeans/bean/ProducerMethodBean.java 2009-08-13 21:37:28 UTC (rev 3487)
+++ ri/trunk/impl/src/main/java/org/jboss/webbeans/bean/ProducerMethodBean.java 2009-08-14 00:24:39 UTC (rev 3488)
@@ -163,7 +163,7 @@
*/
protected void initDisposalMethod(BeanDeployerEnvironment environment)
{
- Set<DisposalMethodBean<T>> disposalBeans = environment.resolveDisposalBeans(getAnnotatedItem());
+ Set<DisposalMethodBean<?>> disposalBeans = environment.resolveDisposalBeans(getTypes(), getBindings(), getDeclaringBean());
if (disposalBeans.size() == 1)
{
Modified: ri/trunk/impl/src/main/java/org/jboss/webbeans/bootstrap/BeanDeployerEnvironment.java
===================================================================
--- ri/trunk/impl/src/main/java/org/jboss/webbeans/bootstrap/BeanDeployerEnvironment.java 2009-08-13 21:37:28 UTC (rev 3487)
+++ ri/trunk/impl/src/main/java/org/jboss/webbeans/bootstrap/BeanDeployerEnvironment.java 2009-08-14 00:24:39 UTC (rev 3488)
@@ -16,6 +16,8 @@
*/
package org.jboss.webbeans.bootstrap;
+import java.lang.annotation.Annotation;
+import java.lang.reflect.Type;
import java.util.ArrayList;
import java.util.Collections;
import java.util.HashMap;
@@ -37,39 +39,35 @@
import org.jboss.webbeans.bean.standard.AbstractStandardBean;
import org.jboss.webbeans.bean.standard.ExtensionBean;
import org.jboss.webbeans.ejb.EjbDescriptorCache;
-import org.jboss.webbeans.introspector.WBAnnotated;
import org.jboss.webbeans.introspector.WBClass;
import org.jboss.webbeans.introspector.WBMethod;
import org.jboss.webbeans.resolution.ResolvableFactory;
-import org.jboss.webbeans.resolution.TypeSafeBeanResolver;
-import org.jboss.webbeans.resolution.TypeSafeResolver;
+import org.jboss.webbeans.resolution.TypeSafeDisposerResolver;
public class BeanDeployerEnvironment
{
private final Map<WBClass<?>, AbstractClassBean<?>> classBeanMap;
private final Map<WBMethod<?, ?>, ProducerMethodBean<?>> producerMethodBeanMap;
- private final Map<WBMethod<?, ?>, DisposalMethodBean<?>> disposalMethodBeanMap;
private final Set<RIBean<?>> beans;
private final Set<ObserverMethod<?, ?>> observers;
private final List<DisposalMethodBean<?>> allDisposalBeans;
private final Set<DisposalMethodBean<?>> resolvedDisposalBeans;
private final Set<DecoratorBean<?>> decorators;
private final EjbDescriptorCache ejbDescriptors;
- private final TypeSafeResolver<DisposalMethodBean<?>> disposalMethodResolver;
+ private final TypeSafeDisposerResolver disposalMethodResolver;
public BeanDeployerEnvironment(EjbDescriptorCache ejbDescriptors, BeanManagerImpl manager)
{
this.classBeanMap = new HashMap<WBClass<?>, AbstractClassBean<?>>();
this.producerMethodBeanMap = new HashMap<WBMethod<?, ?>, ProducerMethodBean<?>>();
- this.disposalMethodBeanMap = new HashMap<WBMethod<?, ?>, DisposalMethodBean<?>>();
this.allDisposalBeans = new ArrayList<DisposalMethodBean<?>>();
this.resolvedDisposalBeans = new HashSet<DisposalMethodBean<?>>();
this.beans = new HashSet<RIBean<?>>();
this.decorators = new HashSet<DecoratorBean<?>>();
this.observers = new HashSet<ObserverMethod<?, ?>>();
this.ejbDescriptors = ejbDescriptors;
- this.disposalMethodResolver = new TypeSafeBeanResolver<DisposalMethodBean<?>>(manager, allDisposalBeans);
+ this.disposalMethodResolver = new TypeSafeDisposerResolver(manager, allDisposalBeans);
}
public ProducerMethodBean<?> getProducerMethod(WBMethod<?, ?> method)
@@ -85,22 +83,7 @@
return bean;
}
}
-
- public DisposalMethodBean<?> getDisposalMethod(WBMethod<?, ?> method)
- {
- if (!producerMethodBeanMap.containsKey(method))
- {
- return null;
- }
- else
- {
- DisposalMethodBean<?> bean = disposalMethodBeanMap.get(method);
- bean.initialize(this);
- return bean;
- }
- }
-
public AbstractClassBean<?> getClassBean(WBClass<?> clazz)
{
if (!classBeanMap.containsKey(clazz))
@@ -153,7 +136,6 @@
public void addBean(DisposalMethodBean<?> bean)
{
allDisposalBeans.add(bean);
- disposalMethodBeanMap.put(bean.getAnnotatedItem(), bean);
}
public void addObserver(ObserverMethod<?, ?> observer)
@@ -198,17 +180,11 @@
* @param bindings The binding types to match
* @return The set of matching disposal methods
*/
- public <T> Set<DisposalMethodBean<T>> resolveDisposalBeans(WBAnnotated<T, ?> annotatedItem)
+ public Set<DisposalMethodBean<?>> resolveDisposalBeans(Set<Type> types, Set<Annotation> bindings, AbstractClassBean<?> declaringBean)
{
- // Correct?
- Set<DisposalMethodBean<?>> beans = disposalMethodResolver.resolve(ResolvableFactory.of(annotatedItem));
- Set<DisposalMethodBean<T>> disposalBeans = new HashSet<DisposalMethodBean<T>>();
- for (DisposalMethodBean<?> bean : beans)
- {
- disposalBeans.add((DisposalMethodBean<T>) bean);
- }
- resolvedDisposalBeans.addAll(disposalBeans);
- return Collections.unmodifiableSet(disposalBeans);
+ Set<DisposalMethodBean<?>> beans = disposalMethodResolver.resolve(ResolvableFactory.of(types, bindings, declaringBean));
+ resolvedDisposalBeans.addAll(beans);
+ return Collections.unmodifiableSet(beans);
}
}
Modified: ri/trunk/impl/src/main/java/org/jboss/webbeans/event/ObserverMethodImpl.java
===================================================================
--- ri/trunk/impl/src/main/java/org/jboss/webbeans/event/ObserverMethodImpl.java 2009-08-13 21:37:28 UTC (rev 3487)
+++ ri/trunk/impl/src/main/java/org/jboss/webbeans/event/ObserverMethodImpl.java 2009-08-14 00:24:39 UTC (rev 3488)
@@ -19,7 +19,6 @@
import java.lang.annotation.Annotation;
import java.lang.reflect.Type;
import java.lang.reflect.TypeVariable;
-import java.lang.reflect.WildcardType;
import java.util.Arrays;
import java.util.HashSet;
import java.util.List;
@@ -112,10 +111,10 @@
{
throw new DefinitionException("Cannot use a type variable " + type + " in an parameterized type " + toString());
}
- else if (type instanceof WildcardType)
- {
- throw new DefinitionException("Cannot use a wildcard variable " + type + " in an parameterized type " + toString());
- }
+// else if (type instanceof WildcardType)
+// {
+// throw new DefinitionException("Cannot use a wildcard variable " + type + " in an parameterized type " + toString());
+// }
}
}
}
Modified: ri/trunk/impl/src/main/java/org/jboss/webbeans/resolution/ForwardingResolvable.java
===================================================================
--- ri/trunk/impl/src/main/java/org/jboss/webbeans/resolution/ForwardingResolvable.java 2009-08-13 21:37:28 UTC (rev 3487)
+++ ri/trunk/impl/src/main/java/org/jboss/webbeans/resolution/ForwardingResolvable.java 2009-08-14 00:24:39 UTC (rev 3488)
@@ -20,6 +20,8 @@
import java.lang.reflect.Type;
import java.util.Set;
+import org.jboss.webbeans.bean.AbstractClassBean;
+
public abstract class ForwardingResolvable implements Resolvable
{
@@ -54,6 +56,11 @@
{
return delegate().getJavaClass();
}
+
+ public AbstractClassBean<?> getDeclaringBean()
+ {
+ return delegate().getDeclaringBean();
+ }
@Override
public boolean equals(Object obj)
Modified: ri/trunk/impl/src/main/java/org/jboss/webbeans/resolution/Resolvable.java
===================================================================
--- ri/trunk/impl/src/main/java/org/jboss/webbeans/resolution/Resolvable.java 2009-08-13 21:37:28 UTC (rev 3487)
+++ ri/trunk/impl/src/main/java/org/jboss/webbeans/resolution/Resolvable.java 2009-08-14 00:24:39 UTC (rev 3488)
@@ -20,6 +20,8 @@
import java.lang.reflect.Type;
import java.util.Set;
+import org.jboss.webbeans.bean.AbstractClassBean;
+
/**
* Something that is resovable by the resolver. A resolvable is defined by it's
* bindings and type closure
@@ -78,5 +80,11 @@
* @return the java class
*/
public Class<?> getJavaClass();
+
+ /**
+ * Get the declaring the injection point, or null if there is none
+ * @return
+ */
+ public AbstractClassBean<?> getDeclaringBean();
}
Modified: ri/trunk/impl/src/main/java/org/jboss/webbeans/resolution/ResolvableFactory.java
===================================================================
--- ri/trunk/impl/src/main/java/org/jboss/webbeans/resolution/ResolvableFactory.java 2009-08-13 21:37:28 UTC (rev 3487)
+++ ri/trunk/impl/src/main/java/org/jboss/webbeans/resolution/ResolvableFactory.java 2009-08-14 00:24:39 UTC (rev 3488)
@@ -24,6 +24,7 @@
import java.util.Map;
import java.util.Set;
+import org.jboss.webbeans.bean.AbstractClassBean;
import org.jboss.webbeans.introspector.WBAnnotated;
import org.jboss.webbeans.literal.CurrentLiteral;
import org.jboss.webbeans.util.Reflections;
@@ -41,18 +42,18 @@
{
Set<Type> types = new HashSet<Type>();
types.add(element.getBaseType());
- return new ResolvableImpl(element.getBindings(), types);
+ return new ResolvableImpl(element.getBindings(), types, null);
}
}
- public static Resolvable of(Set<Type> typeClosure, Set<Annotation> bindings)
+ public static Resolvable of(Set<Type> typeClosure, Set<Annotation> bindings, AbstractClassBean<?> declaringBean)
{
- return new ResolvableImpl(bindings, typeClosure);
+ return new ResolvableImpl(bindings, typeClosure, declaringBean);
}
- public static Resolvable of(Set<Type> typeClosure, Annotation... bindings)
+ public static Resolvable of(Set<Type> typeClosure, AbstractClassBean<?> declaringBean, Annotation... bindings)
{
- return new ResolvableImpl(new HashSet<Annotation>(Arrays.asList(bindings)), typeClosure);
+ return new ResolvableImpl(new HashSet<Annotation>(Arrays.asList(bindings)), typeClosure, declaringBean);
}
private ResolvableFactory() {}
@@ -63,8 +64,9 @@
private final Set<Annotation> bindings;
private final Map<Class<? extends Annotation>, Annotation> annotations;
private final Set<Type> typeClosure;
+ private final AbstractClassBean<?> declaringBean;
- public ResolvableImpl(Set<Annotation> bindings, Set<Type> typeClosure)
+ public ResolvableImpl(Set<Annotation> bindings, Set<Type> typeClosure, AbstractClassBean<?> declaringBean)
{
this.bindings = bindings;
if (bindings.size() == 0)
@@ -77,6 +79,7 @@
{
annotations.put(annotation.annotationType(), annotation);
}
+ this.declaringBean = declaringBean;
}
public Set<Annotation> getBindings()
@@ -109,6 +112,11 @@
// No underlying java class
return null;
}
+
+ public AbstractClassBean<?> getDeclaringBean()
+ {
+ return declaringBean;
+ }
@Override
public String toString()
Modified: ri/trunk/impl/src/main/java/org/jboss/webbeans/resolution/ResolvableWBClass.java
===================================================================
--- ri/trunk/impl/src/main/java/org/jboss/webbeans/resolution/ResolvableWBClass.java 2009-08-13 21:37:28 UTC (rev 3487)
+++ ri/trunk/impl/src/main/java/org/jboss/webbeans/resolution/ResolvableWBClass.java 2009-08-14 00:24:39 UTC (rev 3488)
@@ -31,6 +31,7 @@
import javax.enterprise.inject.spi.InjectionPoint;
import org.jboss.webbeans.BeanManagerImpl;
+import org.jboss.webbeans.bean.AbstractClassBean;
import org.jboss.webbeans.injection.WBInjectionPoint;
import org.jboss.webbeans.introspector.AnnotationStore;
import org.jboss.webbeans.introspector.WBAnnotated;
@@ -196,6 +197,11 @@
{
return typeClosure;
}
+
+ public AbstractClassBean<?> getDeclaringBean()
+ {
+ return null;
+ }
@Override
public Type getBaseType()
Added: ri/trunk/impl/src/main/java/org/jboss/webbeans/resolution/TypeSafeDisposerResolver.java
===================================================================
--- ri/trunk/impl/src/main/java/org/jboss/webbeans/resolution/TypeSafeDisposerResolver.java (rev 0)
+++ ri/trunk/impl/src/main/java/org/jboss/webbeans/resolution/TypeSafeDisposerResolver.java 2009-08-14 00:24:39 UTC (rev 3488)
@@ -0,0 +1,74 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2008, Red Hat Middleware LLC, and individual contributors
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * http://www.apache.org/licenses/LICENSE-2.0
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.jboss.webbeans.resolution;
+
+import java.util.Collections;
+import java.util.Set;
+
+import org.jboss.webbeans.BeanManagerImpl;
+import org.jboss.webbeans.bean.DisposalMethodBean;
+import org.jboss.webbeans.util.Beans;
+import org.jboss.webbeans.util.Reflections;
+
+/**
+ * @author pmuir
+ *
+ */
+public class TypeSafeDisposerResolver extends TypeSafeResolver<DisposalMethodBean<?>>
+{
+
+ private final BeanManagerImpl manager;
+
+ public TypeSafeDisposerResolver(BeanManagerImpl manager, Iterable<DisposalMethodBean<?>> disposers)
+ {
+ super(disposers);
+ this.manager = manager;
+ }
+
+ @Override
+ protected boolean matches(Resolvable resolvable, DisposalMethodBean<?> disposer)
+ {
+ return resolvable.getDeclaringBean().equals(disposer.getDeclaringBean()) && Reflections.isAssignableFrom(disposer.getType(), resolvable.getTypeClosure()) && Beans.containsAllBindings(disposer.getBindings(), resolvable.getBindings(), manager);
+ }
+
+ /**
+ * @return the manager
+ */
+ public BeanManagerImpl getManager()
+ {
+ return manager;
+ }
+
+ @Override
+ protected Set<DisposalMethodBean<?>> filterResult(Set<DisposalMethodBean<?>> matched)
+ {
+ return matched;
+ }
+
+ @Override
+ protected Iterable<ResolvableTransformer> getTransformers()
+ {
+ return Collections.emptySet();
+ }
+
+ @Override
+ protected Set<DisposalMethodBean<?>> sortResult(Set<DisposalMethodBean<?>> matched)
+ {
+ return matched;
+ }
+
+}
Property changes on: ri/trunk/impl/src/main/java/org/jboss/webbeans/resolution/TypeSafeDisposerResolver.java
___________________________________________________________________
Name: svn:mime-type
+ text/plain
Added: ri/trunk/tests/src/test/java/org/jboss/webbeans/test/unit/implementation/producer/method/DisposalMethodOnOtherBeanNotResolvedTest.java
===================================================================
--- ri/trunk/tests/src/test/java/org/jboss/webbeans/test/unit/implementation/producer/method/DisposalMethodOnOtherBeanNotResolvedTest.java (rev 0)
+++ ri/trunk/tests/src/test/java/org/jboss/webbeans/test/unit/implementation/producer/method/DisposalMethodOnOtherBeanNotResolvedTest.java 2009-08-14 00:24:39 UTC (rev 3488)
@@ -0,0 +1,27 @@
+package org.jboss.webbeans.test.unit.implementation.producer.method;
+
+import javax.enterprise.context.spi.CreationalContext;
+import javax.enterprise.inject.spi.Bean;
+
+import org.jboss.testharness.impl.packaging.Artifact;
+import org.jboss.webbeans.test.AbstractWebBeansTest;
+import org.testng.annotations.Test;
+
+@Artifact
+public class DisposalMethodOnOtherBeanNotResolvedTest extends AbstractWebBeansTest
+{
+ @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();
+ }
+
+}
Property changes on: ri/trunk/tests/src/test/java/org/jboss/webbeans/test/unit/implementation/producer/method/DisposalMethodOnOtherBeanNotResolvedTest.java
___________________________________________________________________
Name: svn:mime-type
+ text/plain
Added: ri/trunk/tests/src/test/java/org/jboss/webbeans/test/unit/implementation/producer/method/Foo.java
===================================================================
--- ri/trunk/tests/src/test/java/org/jboss/webbeans/test/unit/implementation/producer/method/Foo.java (rev 0)
+++ ri/trunk/tests/src/test/java/org/jboss/webbeans/test/unit/implementation/producer/method/Foo.java 2009-08-14 00:24:39 UTC (rev 3488)
@@ -0,0 +1,41 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2008, Red Hat Middleware LLC, and individual contributors
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * http://www.apache.org/licenses/LICENSE-2.0
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.jboss.webbeans.test.unit.implementation.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;
+ }
+
+}
Property changes on: ri/trunk/tests/src/test/java/org/jboss/webbeans/test/unit/implementation/producer/method/Foo.java
___________________________________________________________________
Name: svn:mime-type
+ text/plain
Added: ri/trunk/tests/src/test/java/org/jboss/webbeans/test/unit/implementation/producer/method/FooDisposer.java
===================================================================
--- ri/trunk/tests/src/test/java/org/jboss/webbeans/test/unit/implementation/producer/method/FooDisposer.java (rev 0)
+++ ri/trunk/tests/src/test/java/org/jboss/webbeans/test/unit/implementation/producer/method/FooDisposer.java 2009-08-14 00:24:39 UTC (rev 3488)
@@ -0,0 +1,56 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2008, Red Hat Middleware LLC, and individual contributors
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * http://www.apache.org/licenses/LICENSE-2.0
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.jboss.webbeans.test.unit.implementation.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!");
+ }
+
+}
Property changes on: ri/trunk/tests/src/test/java/org/jboss/webbeans/test/unit/implementation/producer/method/FooDisposer.java
___________________________________________________________________
Name: svn:mime-type
+ text/plain
Added: ri/trunk/tests/src/test/java/org/jboss/webbeans/test/unit/implementation/producer/method/FooProducer.java
===================================================================
--- ri/trunk/tests/src/test/java/org/jboss/webbeans/test/unit/implementation/producer/method/FooProducer.java (rev 0)
+++ ri/trunk/tests/src/test/java/org/jboss/webbeans/test/unit/implementation/producer/method/FooProducer.java 2009-08-14 00:24:39 UTC (rev 3488)
@@ -0,0 +1,55 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2008, Red Hat Middleware LLC, and individual contributors
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * http://www.apache.org/licenses/LICENSE-2.0
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.jboss.webbeans.test.unit.implementation.producer.method;
+
+import javax.enterprise.inject.Current;
+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 @Current Foo foo)
+ {
+ disposed = true;
+ }
+
+ /**
+ * @return the disposed
+ */
+ public static boolean isDisposed()
+ {
+ return disposed;
+ }
+
+}
Property changes on: ri/trunk/tests/src/test/java/org/jboss/webbeans/test/unit/implementation/producer/method/FooProducer.java
___________________________________________________________________
Name: svn:mime-type
+ text/plain
14 years, 9 months
[webbeans-commits] Webbeans SVN: r3487 - tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/tests/definition/bean/custom.
by webbeans-commits@lists.jboss.org
Author: pete.muir(a)jboss.org
Date: 2009-08-13 17:37:28 -0400 (Thu, 13 Aug 2009)
New Revision: 3487
Modified:
tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/tests/definition/bean/custom/CustomBeanImplementationTest.java
Log:
ws
Modified: tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/tests/definition/bean/custom/CustomBeanImplementationTest.java
===================================================================
--- tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/tests/definition/bean/custom/CustomBeanImplementationTest.java 2009-08-13 21:32:35 UTC (rev 3486)
+++ tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/tests/definition/bean/custom/CustomBeanImplementationTest.java 2009-08-13 21:37:28 UTC (rev 3487)
@@ -28,64 +28,70 @@
// TODO declare injection point on Cat and verify remaining assertions
public class CustomBeanImplementationTest extends AbstractJSR299Test
{
-
+
@Test(groups = "ri-broken")
- @SpecAssertions({
- @SpecAssertion(section="5.1", id="b"),
- @SpecAssertion(section="5.2", id="k")
- })
- //WBRI-328
- public void testGetBeanClassCalled() {
+ @SpecAssertions( { @SpecAssertion(section = "5.1", id = "b"), @SpecAssertion(section = "5.2", id = "k") })
+ // WBRI-328
+ public void testGetBeanClassCalled()
+ {
assert CatBean.bean.isGetBeanClassCalled();
}
-
- @Test(groups={"ri-broken"})
- @SpecAssertion(section="5.2", id="k")
- //WBRI-328
- public void testGetStereotypesCalled() {
+
+ @Test(groups = { "ri-broken" })
+ @SpecAssertion(section = "5.2", id = "k")
+ // WBRI-328
+ public void testGetStereotypesCalled()
+ {
assert CatBean.bean.isGetStereotypesCalled();
}
-
+
@Test
- @SpecAssertion(section="5.2", id="k")
- public void testIsPolicyCalled() {
+ @SpecAssertion(section = "5.2", id = "k")
+ public void testIsPolicyCalled()
+ {
assert CatBean.bean.isPolicyCalled();
}
-
+
@Test
- @SpecAssertion(section="5.3", id="na")
- public void testGetTypesCalled() {
+ @SpecAssertion(section = "5.3", id = "na")
+ public void testGetTypesCalled()
+ {
assert CatBean.bean.isGetTypesCalled();
}
-
+
@Test
- @SpecAssertion(section="5.3", id="nb")
- public void testGetBindingsCalled() {
+ @SpecAssertion(section = "5.3", id = "nb")
+ public void testGetBindingsCalled()
+ {
assert CatBean.bean.isGetBindingsCalled();
}
-
+
@Test
- @SpecAssertion(section="5.3.1", id="b")
- public void testGetInjectionPointsCalled() {
+ @SpecAssertion(section = "5.3.1", id = "b")
+ public void testGetInjectionPointsCalled()
+ {
assert CatBean.bean.isGetInjectionPointsCalled();
}
-
- @Test(groups={"ri-broken"})
- @SpecAssertion(section="5.3.4", id="ba")
- //WBRI-328
- public void testIsNullableCalled() {
+
+ @Test(groups = { "ri-broken" })
+ @SpecAssertion(section = "5.3.4", id = "ba")
+ // WBRI-328
+ public void testIsNullableCalled()
+ {
assert CatBean.bean.isNullableCalled();
}
-
+
@Test
- @SpecAssertion(section="5.4", id="e")
- public void testGetNameCalled() {
+ @SpecAssertion(section = "5.4", id = "e")
+ public void testGetNameCalled()
+ {
assert CatBean.bean.isGetNameCalled();
}
-
+
@Test
- @SpecAssertion(section="6.5.2", id="e")
- public void testGetScopeTypeCalled() {
+ @SpecAssertion(section = "6.5.2", id = "e")
+ public void testGetScopeTypeCalled()
+ {
assert CatBean.bean.isGetScopeTypeCalled();
}
}
14 years, 9 months
[webbeans-commits] Webbeans SVN: r3486 - ri/trunk/impl/src/main/java/org/jboss/webbeans/bean and 3 other directories.
by webbeans-commits@lists.jboss.org
Author: pete.muir(a)jboss.org
Date: 2009-08-13 17:32:35 -0400 (Thu, 13 Aug 2009)
New Revision: 3486
Modified:
ri/trunk/impl/src/main/java/org/jboss/webbeans/BeanManagerImpl.java
ri/trunk/impl/src/main/java/org/jboss/webbeans/bean/AbstractBean.java
ri/trunk/impl/src/main/java/org/jboss/webbeans/bean/AbstractClassBean.java
ri/trunk/impl/src/main/java/org/jboss/webbeans/bean/DisposalMethodBean.java
ri/trunk/impl/src/main/java/org/jboss/webbeans/bean/ProducerFieldBean.java
ri/trunk/impl/src/main/java/org/jboss/webbeans/bean/ProducerMethodBean.java
ri/trunk/impl/src/main/java/org/jboss/webbeans/bootstrap/AbstractBeanDeployer.java
ri/trunk/impl/src/main/java/org/jboss/webbeans/util/Beans.java
tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/tests/event/observer/resolve/ResolveEventObserversTest.java
Log:
WBRI-317
Modified: ri/trunk/impl/src/main/java/org/jboss/webbeans/BeanManagerImpl.java
===================================================================
--- ri/trunk/impl/src/main/java/org/jboss/webbeans/BeanManagerImpl.java 2009-08-13 20:21:13 UTC (rev 3485)
+++ ri/trunk/impl/src/main/java/org/jboss/webbeans/BeanManagerImpl.java 2009-08-13 21:32:35 UTC (rev 3486)
@@ -613,6 +613,11 @@
{
return Collections.unmodifiableCollection(enabledPolicyStereotypes);
}
+
+ public boolean isBeanEnabled(Bean<?> bean)
+ {
+ return Beans.isBeanEnabled(bean, getEnabledPolicyClasses(), getEnabledPolicyStereotypes());
+ }
/**
* @return the enabledDecoratorClasses
Modified: ri/trunk/impl/src/main/java/org/jboss/webbeans/bean/AbstractBean.java
===================================================================
--- ri/trunk/impl/src/main/java/org/jboss/webbeans/bean/AbstractBean.java 2009-08-13 20:21:13 UTC (rev 3485)
+++ ri/trunk/impl/src/main/java/org/jboss/webbeans/bean/AbstractBean.java 2009-08-13 21:32:35 UTC (rev 3486)
@@ -115,7 +115,6 @@
@Override
public void initialize(BeanDeployerEnvironment environment)
{
- mergedStereotypes = new MergedStereotypes<T, E>(getAnnotatedItem().getMetaAnnotations(Stereotype.class), manager);
if (isSpecializing())
{
preSpecialize(environment);
@@ -126,12 +125,16 @@
initPrimitive();
log.trace("Building Web Bean bean metadata for #0", getType());
initName();
- initPolicy();
initScopeType();
initSerializable();
initProxyable();
checkDelegateInjectionPoints();
}
+
+ protected void initStereotypes()
+ {
+ mergedStereotypes = new MergedStereotypes<T, E>(getAnnotatedItem().getMetaAnnotations(Stereotype.class), manager);
+ }
protected void checkDelegateInjectionPoints()
{
Modified: ri/trunk/impl/src/main/java/org/jboss/webbeans/bean/AbstractClassBean.java
===================================================================
--- ri/trunk/impl/src/main/java/org/jboss/webbeans/bean/AbstractClassBean.java 2009-08-13 20:21:13 UTC (rev 3485)
+++ ri/trunk/impl/src/main/java/org/jboss/webbeans/bean/AbstractClassBean.java 2009-08-13 21:32:35 UTC (rev 3486)
@@ -97,6 +97,8 @@
}
};
+ initStereotypes();
+ initPolicy();
}
/**
Modified: ri/trunk/impl/src/main/java/org/jboss/webbeans/bean/DisposalMethodBean.java
===================================================================
--- ri/trunk/impl/src/main/java/org/jboss/webbeans/bean/DisposalMethodBean.java 2009-08-13 20:21:13 UTC (rev 3485)
+++ ri/trunk/impl/src/main/java/org/jboss/webbeans/bean/DisposalMethodBean.java 2009-08-13 21:32:35 UTC (rev 3486)
@@ -49,6 +49,8 @@
initBindings();
initType();
initTypes();
+ initStereotypes();
+ initPolicy();
}
@Override
Modified: ri/trunk/impl/src/main/java/org/jboss/webbeans/bean/ProducerFieldBean.java
===================================================================
--- ri/trunk/impl/src/main/java/org/jboss/webbeans/bean/ProducerFieldBean.java 2009-08-13 20:21:13 UTC (rev 3485)
+++ ri/trunk/impl/src/main/java/org/jboss/webbeans/bean/ProducerFieldBean.java 2009-08-13 21:32:35 UTC (rev 3486)
@@ -69,6 +69,8 @@
initTypes();
initBindings();
this.id = createId("ProducerField-" + declaringBean.getType().getName() + "-"+ field.getName());
+ initStereotypes();
+ initPolicy();
}
@Override
Modified: ri/trunk/impl/src/main/java/org/jboss/webbeans/bean/ProducerMethodBean.java
===================================================================
--- ri/trunk/impl/src/main/java/org/jboss/webbeans/bean/ProducerMethodBean.java 2009-08-13 20:21:13 UTC (rev 3485)
+++ ri/trunk/impl/src/main/java/org/jboss/webbeans/bean/ProducerMethodBean.java 2009-08-13 21:32:35 UTC (rev 3486)
@@ -75,6 +75,8 @@
initTypes();
initBindings();
this.id = createId("ProducerMethod-" + declaringBean.getType().getName() + "-" + method.getSignature().toString());
+ initStereotypes();
+ initPolicy();
}
public T produce(CreationalContext<T> creationalContext)
Modified: ri/trunk/impl/src/main/java/org/jboss/webbeans/bootstrap/AbstractBeanDeployer.java
===================================================================
--- ri/trunk/impl/src/main/java/org/jboss/webbeans/bootstrap/AbstractBeanDeployer.java 2009-08-13 20:21:13 UTC (rev 3485)
+++ ri/trunk/impl/src/main/java/org/jboss/webbeans/bootstrap/AbstractBeanDeployer.java 2009-08-13 21:32:35 UTC (rev 3486)
@@ -106,7 +106,10 @@
{
createProducerMethods(bean, bean.getAnnotatedItem());
createProducerFields(bean, bean.getAnnotatedItem());
- createObserverMethods(bean, bean.getAnnotatedItem());
+ if (manager.isBeanEnabled(bean))
+ {
+ createObserverMethods(bean, bean.getAnnotatedItem());
+ }
createDisposalMethods(bean, bean.getAnnotatedItem());
}
Modified: ri/trunk/impl/src/main/java/org/jboss/webbeans/util/Beans.java
===================================================================
--- ri/trunk/impl/src/main/java/org/jboss/webbeans/util/Beans.java 2009-08-13 20:21:13 UTC (rev 3485)
+++ ri/trunk/impl/src/main/java/org/jboss/webbeans/util/Beans.java 2009-08-13 21:32:35 UTC (rev 3486)
@@ -301,25 +301,8 @@
Set<T> enabledBeans = new HashSet<T>();
for (T bean : beans)
{
- if (bean.isPolicy())
+ if (isBeanEnabled(bean, enabledPolicyClasses, enabledPolicySterotypes))
{
- if (enabledPolicyClasses.contains(bean.getBeanClass()))
- {
- enabledBeans.add(bean);
- }
- else
- {
- for (Class<? extends Annotation> stereotype : bean.getStereotypes())
- {
- if (enabledPolicySterotypes.contains(stereotype))
- {
- enabledBeans.add(bean);
- }
- }
- }
- }
- else
- {
enabledBeans.add(bean);
}
}
@@ -327,6 +310,32 @@
}
}
+ public static boolean isBeanEnabled(Bean<?> bean, Collection<Class<?>> enabledPolicyClasses, Collection<Class<? extends Annotation>> enabledPolicySterotypes)
+ {
+ if (bean.isPolicy())
+ {
+ if (enabledPolicyClasses.contains(bean.getBeanClass()))
+ {
+ return true;
+ }
+ else
+ {
+ for (Class<? extends Annotation> stereotype : bean.getStereotypes())
+ {
+ if (enabledPolicySterotypes.contains(stereotype))
+ {
+ return true;
+ }
+ }
+ }
+ }
+ else
+ {
+ return true;
+ }
+ return false;
+ }
+
public static boolean isTypePresent(Bean<?> bean, Type type)
{
type = Types.boxedType(type);
Modified: tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/tests/event/observer/resolve/ResolveEventObserversTest.java
===================================================================
--- tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/tests/event/observer/resolve/ResolveEventObserversTest.java 2009-08-13 20:21:13 UTC (rev 3485)
+++ tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/tests/event/observer/resolve/ResolveEventObserversTest.java 2009-08-13 21:32:35 UTC (rev 3486)
@@ -96,13 +96,10 @@
@SpecAssertion(section = "12.3", id = "oa")
public void testObserverMethodAutomaticallyRegistered()
{
- assert !getCurrentManager().resolveObserverMethods(new Ghost()).isEmpty();
assert !getCurrentManager().resolveObserverMethods(new String(), new AnnotationLiteral<Secret>() {}).isEmpty();
}
- // WBRI-317
- // when this bug is fixed, also add a test that verifies that if a policy is enabled, the obserer methods on the bean also get registered
- @Test(groups = { "events", "ri-broken" })
+ @Test(groups = { "events" })
@SpecAssertion(section = "12.3", id = "oa")
public void testObserverMethodNotAutomaticallyRegisteredForDisabledBeans()
{
14 years, 9 months
[webbeans-commits] Webbeans SVN: r3485 - tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/tests/lookup/el/integration.
by webbeans-commits@lists.jboss.org
Author: pete.muir(a)jboss.org
Date: 2009-08-13 16:21:13 -0400 (Thu, 13 Aug 2009)
New Revision: 3485
Modified:
tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/tests/lookup/el/integration/IntegrationWithUnifiedELTest.java
Log:
WBRI-322
Modified: tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/tests/lookup/el/integration/IntegrationWithUnifiedELTest.java
===================================================================
--- tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/tests/lookup/el/integration/IntegrationWithUnifiedELTest.java 2009-08-13 20:20:32 UTC (rev 3484)
+++ tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/tests/lookup/el/integration/IntegrationWithUnifiedELTest.java 2009-08-13 20:21:13 UTC (rev 3485)
@@ -40,7 +40,6 @@
{
@Test(groups = {"el" } )
@SpecAssertion(section = "5.8", id = "aba")
- //WBRI-322
public void testELResolverRegisteredWithJsf() throws Exception
{
WebClient webclient = new WebClient();
@@ -50,7 +49,6 @@
@Test(groups = { "el" } )
@SpecAssertion(section = "5.8", id = "aaa")
- //WBRI-323
public void testELResolverRegisteredWithServletContainer() throws Exception
{
WebClient webclient = new WebClient();
14 years, 9 months
[webbeans-commits] Webbeans SVN: r3484 - tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/tests/lookup/el/integration.
by webbeans-commits@lists.jboss.org
Author: pete.muir(a)jboss.org
Date: 2009-08-13 16:20:32 -0400 (Thu, 13 Aug 2009)
New Revision: 3484
Modified:
tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/tests/lookup/el/integration/IntegrationWithUnifiedELTest.java
tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/tests/lookup/el/integration/Sheep.java
Log:
Fix tests
Modified: tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/tests/lookup/el/integration/IntegrationWithUnifiedELTest.java
===================================================================
--- tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/tests/lookup/el/integration/IntegrationWithUnifiedELTest.java 2009-08-13 15:24:20 UTC (rev 3483)
+++ tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/tests/lookup/el/integration/IntegrationWithUnifiedELTest.java 2009-08-13 20:20:32 UTC (rev 3484)
@@ -16,9 +16,9 @@
*/
package org.jboss.jsr299.tck.tests.lookup.el.integration;
+import org.jboss.jsr299.tck.AbstractJSR299Test;
import org.jboss.test.audit.annotations.SpecAssertion;
import org.jboss.test.audit.annotations.SpecVersion;
-import org.jboss.jsr299.tck.AbstractJSR299Test;
import org.jboss.testharness.impl.packaging.Artifact;
import org.jboss.testharness.impl.packaging.IntegrationTest;
import org.jboss.testharness.impl.packaging.Resource;
@@ -38,8 +38,8 @@
@SpecVersion("20090625")
public class IntegrationWithUnifiedELTest extends AbstractJSR299Test
{
- @Test(groups = { "ri-broken", "el" } )
- @SpecAssertion(section = "5.8", id = "aaa")
+ @Test(groups = {"el" } )
+ @SpecAssertion(section = "5.8", id = "aba")
//WBRI-322
public void testELResolverRegisteredWithJsf() throws Exception
{
@@ -48,8 +48,8 @@
assert content.contains("Dolly");
}
- @Test(groups = { "ri-broken", "el" } )
- @SpecAssertion(section = "5.8", id = "aba")
+ @Test(groups = { "el" } )
+ @SpecAssertion(section = "5.8", id = "aaa")
//WBRI-323
public void testELResolverRegisteredWithServletContainer() throws Exception
{
Modified: tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/tests/lookup/el/integration/Sheep.java
===================================================================
--- tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/tests/lookup/el/integration/Sheep.java 2009-08-13 15:24:20 UTC (rev 3483)
+++ tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/tests/lookup/el/integration/Sheep.java 2009-08-13 20:20:32 UTC (rev 3484)
@@ -19,7 +19,7 @@
import javax.enterprise.inject.Named;
@Named
-class Sheep
+public class Sheep
{
private String name = "Dolly";
14 years, 9 months
[webbeans-commits] Webbeans SVN: r3483 - in ri/trunk: tests/src/test/java/org/jboss/webbeans/test/unit/noncontextual and 1 other directory.
by webbeans-commits@lists.jboss.org
Author: pete.muir(a)jboss.org
Date: 2009-08-13 11:24:20 -0400 (Thu, 13 Aug 2009)
New Revision: 3483
Modified:
ri/trunk/impl/src/main/java/org/jboss/webbeans/Validator.java
ri/trunk/tests/src/test/java/org/jboss/webbeans/test/unit/noncontextual/ExampleTest.java
Log:
WBRI-354
Modified: ri/trunk/impl/src/main/java/org/jboss/webbeans/Validator.java
===================================================================
--- ri/trunk/impl/src/main/java/org/jboss/webbeans/Validator.java 2009-08-13 14:05:49 UTC (rev 3482)
+++ ri/trunk/impl/src/main/java/org/jboss/webbeans/Validator.java 2009-08-13 15:24:20 UTC (rev 3483)
@@ -141,8 +141,12 @@
{
throw new DefinitionException("The injection point " + ij + " is annotated with @New which cannot be combined with other binding types");
}
- if (!Dependent.class.equals(ij.getBean().getScopeType()) && ij.getType().equals(InjectionPoint.class))
+ if (ij.getType().equals(InjectionPoint.class) && ij.getBean() == null)
{
+ throw new DefinitionException("Cannot inject an Injection point into a class which isn't a bean " + ij);
+ }
+ if (ij.getType().equals(InjectionPoint.class) && !Dependent.class.equals(ij.getBean().getScopeType()))
+ {
throw new DefinitionException("Cannot inject an InjectionPoint into a non @Dependent scoped bean " + ij);
}
if (ij.getType() instanceof TypeVariable<?>)
@@ -186,7 +190,7 @@
{
throw new NullableDependencyException("The injection point " + ij + " has nullable dependencies");
}
- if (Beans.isPassivatingScope(ij.getBean(), beanManager) && (!ij.isTransient()) && !Beans.isPassivationCapableBean(resolvedBean))
+ if (ij.getBean() != null && Beans.isPassivatingScope(ij.getBean(), beanManager) && (!ij.isTransient()) && !Beans.isPassivationCapableBean(resolvedBean))
{
validateInjectionPointPassivationCapable(ij, resolvedBean, beanManager);
}
Modified: ri/trunk/tests/src/test/java/org/jboss/webbeans/test/unit/noncontextual/ExampleTest.java
===================================================================
--- ri/trunk/tests/src/test/java/org/jboss/webbeans/test/unit/noncontextual/ExampleTest.java 2009-08-13 14:05:49 UTC (rev 3482)
+++ ri/trunk/tests/src/test/java/org/jboss/webbeans/test/unit/noncontextual/ExampleTest.java 2009-08-13 15:24:20 UTC (rev 3483)
@@ -3,8 +3,10 @@
import javax.enterprise.context.spi.CreationalContext;
import javax.enterprise.inject.spi.AnnotatedType;
import javax.enterprise.inject.spi.BeanManager;
+import javax.enterprise.inject.spi.InjectionPoint;
import javax.enterprise.inject.spi.InjectionTarget;
+import org.jboss.metadata.validation.ValidationException;
import org.jboss.testharness.impl.packaging.Artifact;
import org.jboss.webbeans.test.AbstractWebBeansTest;
import org.testng.Assert;
@@ -27,6 +29,25 @@
Assert.assertNotNull(external.bean);
}
+ @Test
+ public void validateNonContextual() throws Exception
+ {
+ NonContextual<External> nonContextual = new NonContextual<External>(getCurrentManager(), External.class);
+
+ for (InjectionPoint point : nonContextual.it.getInjectionPoints())
+ {
+ try
+ {
+ getCurrentManager().validate(point);
+ }
+ catch(ValidationException e)
+ {
+ Assert.fail("Should have been valid");
+ }
+ }
+ }
+
+
public class NonContextual<T> {
final InjectionTarget<T> it;
14 years, 9 months
[webbeans-commits] Webbeans SVN: r3482 - in tck/trunk: impl/src/main/java/org/jboss/jsr299/tck/tests/lookup/el and 1 other directory.
by webbeans-commits@lists.jboss.org
Author: pete.muir(a)jboss.org
Date: 2009-08-13 10:05:49 -0400 (Thu, 13 Aug 2009)
New Revision: 3482
Modified:
tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/tests/lookup/el/ResolutionByNameTest.java
tck/trunk/pom.xml
Log:
update to el 2.1.2
Modified: tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/tests/lookup/el/ResolutionByNameTest.java
===================================================================
--- tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/tests/lookup/el/ResolutionByNameTest.java 2009-08-13 13:59:57 UTC (rev 3481)
+++ tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/tests/lookup/el/ResolutionByNameTest.java 2009-08-13 14:05:49 UTC (rev 3482)
@@ -51,7 +51,8 @@
assert tunaFarm.tuna != null;
}
- @Test(groups="el")
+ @Test(groups={"el", "broken"})
+ // TODO PLM Marked broken, as the spec says the *el resolver* returns null, not the whole value expression
@SpecAssertion(section="5.8", id="bb")
public void testUnresolvedNameReturnsNull() {
assert getCurrentConfiguration().getEl().evaluateValueExpression("#{nonExistingTuna}", Tuna.class) == null;
Modified: tck/trunk/pom.xml
===================================================================
--- tck/trunk/pom.xml 2009-08-13 13:59:57 UTC (rev 3481)
+++ tck/trunk/pom.xml 2009-08-13 14:05:49 UTC (rev 3482)
@@ -115,7 +115,7 @@
<dependency>
<groupId>javax.el</groupId>
<artifactId>el-api</artifactId>
- <version>1.2</version>
+ <version>2.1.2-b04</version>
</dependency>
<dependency>
<groupId>javax.faces</groupId>
14 years, 9 months
[webbeans-commits] Webbeans SVN: r3481 - in examples/trunk: login and 3 other directories.
by webbeans-commits@lists.jboss.org
Author: pete.muir(a)jboss.org
Date: 2009-08-13 09:59:57 -0400 (Thu, 13 Aug 2009)
New Revision: 3481
Modified:
examples/trunk/conversations/pom.xml
examples/trunk/login/pom.xml
examples/trunk/numberguess/pom.xml
examples/trunk/servlet-numberguess/pom.xml
examples/trunk/translator/webbeans-translator-war/pom.xml
Log:
use EL 2.2
Modified: examples/trunk/conversations/pom.xml
===================================================================
--- examples/trunk/conversations/pom.xml 2009-08-13 13:27:15 UTC (rev 3480)
+++ examples/trunk/conversations/pom.xml 2009-08-13 13:59:57 UTC (rev 3481)
@@ -72,8 +72,8 @@
</dependency>-->
<dependency>
- <groupId>javax.el</groupId>
- <artifactId>el-ri</artifactId>
+ <groupId>org.glassfish.web</groupId>
+ <artifactId>el-impl</artifactId>
<exclusions>
<exclusion>
<groupId>javax.el</groupId>
Modified: examples/trunk/login/pom.xml
===================================================================
--- examples/trunk/login/pom.xml 2009-08-13 13:27:15 UTC (rev 3480)
+++ examples/trunk/login/pom.xml 2009-08-13 13:59:57 UTC (rev 3481)
@@ -60,8 +60,8 @@
</dependency>-->
<dependency>
- <groupId>javax.el</groupId>
- <artifactId>el-ri</artifactId>
+ <groupId>org.glassfish.web</groupId>
+ <artifactId>el-impl</artifactId>
<exclusions>
<exclusion>
<groupId>javax.el</groupId>
Modified: examples/trunk/numberguess/pom.xml
===================================================================
--- examples/trunk/numberguess/pom.xml 2009-08-13 13:27:15 UTC (rev 3480)
+++ examples/trunk/numberguess/pom.xml 2009-08-13 13:59:57 UTC (rev 3481)
@@ -61,8 +61,8 @@
</dependency>-->
<dependency>
- <groupId>javax.el</groupId>
- <artifactId>el-ri</artifactId>
+ <groupId>org.glassfish.web</groupId>
+ <artifactId>el-impl</artifactId>
<exclusions>
<exclusion>
<groupId>javax.el</groupId>
Modified: examples/trunk/servlet-numberguess/pom.xml
===================================================================
--- examples/trunk/servlet-numberguess/pom.xml 2009-08-13 13:27:15 UTC (rev 3480)
+++ examples/trunk/servlet-numberguess/pom.xml 2009-08-13 13:59:57 UTC (rev 3481)
@@ -157,8 +157,8 @@
</dependency>
<dependency>
- <groupId>javax.el</groupId>
- <artifactId>el-ri</artifactId>
+ <groupId>org.glassfish.web</groupId>
+ <artifactId>el-impl</artifactId>
<exclusions>
<exclusion>
<groupId>javax.el</groupId>
Modified: examples/trunk/translator/webbeans-translator-war/pom.xml
===================================================================
--- examples/trunk/translator/webbeans-translator-war/pom.xml 2009-08-13 13:27:15 UTC (rev 3480)
+++ examples/trunk/translator/webbeans-translator-war/pom.xml 2009-08-13 13:59:57 UTC (rev 3481)
@@ -54,8 +54,8 @@
</dependency>-->
<dependency>
- <groupId>javax.el</groupId>
- <artifactId>el-ri</artifactId>
+ <groupId>org.glassfish.web</groupId>
+ <artifactId>el-impl</artifactId>
<exclusions>
<exclusion>
<groupId>javax.el</groupId>
14 years, 9 months