Author: scabanovich
Date: 2012-08-10 20:22:14 -0400 (Fri, 10 Aug 2012)
New Revision: 42984
Added:
trunk/cdi/tests/org.jboss.tools.cdi.core.test/resources/tck/tests/lookup/injection/alternative/
trunk/cdi/tests/org.jboss.tools.cdi.core.test/resources/tck/tests/lookup/injection/alternative/A.java
trunk/cdi/tests/org.jboss.tools.cdi.core.test/resources/tck/tests/lookup/injection/alternative/B.java
trunk/cdi/tests/org.jboss.tools.cdi.core.test/resources/tck/tests/lookup/injection/alternative/C.java
trunk/cdi/tests/org.jboss.tools.cdi.core.test/resources/tck/tests/lookup/injection/alternative/D.java
trunk/cdi/tests/org.jboss.tools.cdi.core.test/resources/tck/tests/lookup/injection/alternative/beans.xml
Modified:
trunk/cdi/tests/org.jboss.tools.cdi.core.test/src/org/jboss/tools/cdi/core/test/tck/SelectedAlternativeTest.java
Log:
JBIDE-12402
https://issues.jboss.org/browse/JBIDE-12402
Test is added.
Added:
trunk/cdi/tests/org.jboss.tools.cdi.core.test/resources/tck/tests/lookup/injection/alternative/A.java
===================================================================
---
trunk/cdi/tests/org.jboss.tools.cdi.core.test/resources/tck/tests/lookup/injection/alternative/A.java
(rev 0)
+++
trunk/cdi/tests/org.jboss.tools.cdi.core.test/resources/tck/tests/lookup/injection/alternative/A.java 2012-08-11
00:22:14 UTC (rev 42984)
@@ -0,0 +1,14 @@
+package org.jboss.jsr299.tck.tests.lookup.injection.alternative;
+
+import javax.enterprise.inject.Alternative;
+import javax.enterprise.inject.Produces;
+
+@Alternative
+public class A {
+
+ @Produces
+ public B getB() {
+ return new B(100);
+ }
+
+}
Property changes on:
trunk/cdi/tests/org.jboss.tools.cdi.core.test/resources/tck/tests/lookup/injection/alternative/A.java
___________________________________________________________________
Added: svn:mime-type
+ text/plain
Added:
trunk/cdi/tests/org.jboss.tools.cdi.core.test/resources/tck/tests/lookup/injection/alternative/B.java
===================================================================
---
trunk/cdi/tests/org.jboss.tools.cdi.core.test/resources/tck/tests/lookup/injection/alternative/B.java
(rev 0)
+++
trunk/cdi/tests/org.jboss.tools.cdi.core.test/resources/tck/tests/lookup/injection/alternative/B.java 2012-08-11
00:22:14 UTC (rev 42984)
@@ -0,0 +1,10 @@
+package org.jboss.jsr299.tck.tests.lookup.injection.alternative;
+
+public class B {
+
+ int i;
+
+ public B(int i) {
+ this.i = i;
+ }
+}
Property changes on:
trunk/cdi/tests/org.jboss.tools.cdi.core.test/resources/tck/tests/lookup/injection/alternative/B.java
___________________________________________________________________
Added: svn:mime-type
+ text/plain
Added:
trunk/cdi/tests/org.jboss.tools.cdi.core.test/resources/tck/tests/lookup/injection/alternative/C.java
===================================================================
---
trunk/cdi/tests/org.jboss.tools.cdi.core.test/resources/tck/tests/lookup/injection/alternative/C.java
(rev 0)
+++
trunk/cdi/tests/org.jboss.tools.cdi.core.test/resources/tck/tests/lookup/injection/alternative/C.java 2012-08-11
00:22:14 UTC (rev 42984)
@@ -0,0 +1,12 @@
+package org.jboss.jsr299.tck.tests.lookup.injection.alternative;
+
+import javax.enterprise.inject.Produces;
+
+public class C {
+
+ @Produces
+ public B getB() {
+ return new B(200);
+ }
+
+}
Property changes on:
trunk/cdi/tests/org.jboss.tools.cdi.core.test/resources/tck/tests/lookup/injection/alternative/C.java
___________________________________________________________________
Added: svn:mime-type
+ text/plain
Added:
trunk/cdi/tests/org.jboss.tools.cdi.core.test/resources/tck/tests/lookup/injection/alternative/D.java
===================================================================
---
trunk/cdi/tests/org.jboss.tools.cdi.core.test/resources/tck/tests/lookup/injection/alternative/D.java
(rev 0)
+++
trunk/cdi/tests/org.jboss.tools.cdi.core.test/resources/tck/tests/lookup/injection/alternative/D.java 2012-08-11
00:22:14 UTC (rev 42984)
@@ -0,0 +1,18 @@
+package org.jboss.jsr299.tck.tests.lookup.injection.alternative;
+
+import javax.inject.Inject;
+import javax.inject.Named;
+
+/**
+ * Injection point is resolved to producer bean A.getB().
+ * Bean C.getB() is eliminated, because A.getB() is declared in selected alternative
class bean A. *
+ *
+ * @author slava
+ *
+ */
+public class D {
+
+ @Inject
+ B b;
+
+}
Property changes on:
trunk/cdi/tests/org.jboss.tools.cdi.core.test/resources/tck/tests/lookup/injection/alternative/D.java
___________________________________________________________________
Added: svn:mime-type
+ text/plain
Added:
trunk/cdi/tests/org.jboss.tools.cdi.core.test/resources/tck/tests/lookup/injection/alternative/beans.xml
===================================================================
---
trunk/cdi/tests/org.jboss.tools.cdi.core.test/resources/tck/tests/lookup/injection/alternative/beans.xml
(rev 0)
+++
trunk/cdi/tests/org.jboss.tools.cdi.core.test/resources/tck/tests/lookup/injection/alternative/beans.xml 2012-08-11
00:22:14 UTC (rev 42984)
@@ -0,0 +1,9 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<beans
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/beans_1_0.xsd">
+ <alternatives>
+ <class>org.jboss.jsr299.tck.tests.lookup.injection.alternative.A</class>
+ </alternatives>
+</beans>
Property changes on:
trunk/cdi/tests/org.jboss.tools.cdi.core.test/resources/tck/tests/lookup/injection/alternative/beans.xml
___________________________________________________________________
Added: svn:mime-type
+ text/plain
Modified:
trunk/cdi/tests/org.jboss.tools.cdi.core.test/src/org/jboss/tools/cdi/core/test/tck/SelectedAlternativeTest.java
===================================================================
---
trunk/cdi/tests/org.jboss.tools.cdi.core.test/src/org/jboss/tools/cdi/core/test/tck/SelectedAlternativeTest.java 2012-08-11
00:18:06 UTC (rev 42983)
+++
trunk/cdi/tests/org.jboss.tools.cdi.core.test/src/org/jboss/tools/cdi/core/test/tck/SelectedAlternativeTest.java 2012-08-11
00:22:14 UTC (rev 42984)
@@ -15,6 +15,7 @@
import org.eclipse.core.runtime.Path;
import org.jboss.tools.cdi.core.IBean;
import org.jboss.tools.cdi.core.IClassBean;
+import org.jboss.tools.cdi.core.IInjectionPoint;
import org.jboss.tools.cdi.core.IProducer;
/**
@@ -58,4 +59,17 @@
assertEquals(2, producerCount);
}
+ /**
+ * Producer declared in a class bean, which is an alternative. There is another bean
with the same type.
+ * Test that an injection point with that type is resolved to the producer.
+ */
+ public void testProducerInAlternativeClassBean() {
+ IInjectionPoint p =
getInjectionPointField("JavaSource/org/jboss/jsr299/tck/tests/lookup/injection/alternative/D.java",
"b");
+ Set<IBean> unresolved = cdiProject.getBeans(false, p);
+ Set<IBean> resolved = cdiProject.getBeans(true, p);
+ assertEquals(1, resolved.size());
+ assertEquals(2, unresolved.size());
+ System.out.println("");
+ }
+
}
\ No newline at end of file