Author: scabanovich
Date: 2011-07-12 20:26:51 -0400 (Tue, 12 Jul 2011)
New Revision: 32875
Added:
trunk/cdi/tests/org.jboss.tools.cdi.core.test/projects/CDITest1/src/META-INF/
trunk/cdi/tests/org.jboss.tools.cdi.core.test/projects/CDITest1/src/META-INF/beans.xml
trunk/cdi/tests/org.jboss.tools.cdi.core.test/projects/CDITest1/src/cdi/test/alternative/
trunk/cdi/tests/org.jboss.tools.cdi.core.test/projects/CDITest1/src/cdi/test/alternative/case1/
trunk/cdi/tests/org.jboss.tools.cdi.core.test/projects/CDITest1/src/cdi/test/alternative/case1/A.java
trunk/cdi/tests/org.jboss.tools.cdi.core.test/projects/CDITest1/src/cdi/test/alternative/case1/B.java
trunk/cdi/tests/org.jboss.tools.cdi.core.test/projects/CDITest1/src/cdi/test/alternative/case2/
trunk/cdi/tests/org.jboss.tools.cdi.core.test/projects/CDITest1/src/cdi/test/alternative/case2/A.java
trunk/cdi/tests/org.jboss.tools.cdi.core.test/projects/CDITest1/src/cdi/test/alternative/case2/B.java
trunk/cdi/tests/org.jboss.tools.cdi.core.test/projects/CDITest1/src/cdi/test/alternative/case3/
trunk/cdi/tests/org.jboss.tools.cdi.core.test/projects/CDITest1/src/cdi/test/alternative/case3/A.java
trunk/cdi/tests/org.jboss.tools.cdi.core.test/projects/CDITest1/src/cdi/test/alternative/case3/B.java
trunk/cdi/tests/org.jboss.tools.cdi.core.test/projects/CDITest1/src/cdi/test/alternative/case4/
trunk/cdi/tests/org.jboss.tools.cdi.core.test/projects/CDITest1/src/cdi/test/alternative/case4/A.java
trunk/cdi/tests/org.jboss.tools.cdi.core.test/projects/CDITest1/src/cdi/test/alternative/case4/B.java
trunk/cdi/tests/org.jboss.tools.cdi.core.test/projects/CDITest1/src/cdi/test/alternative/case4/Y.java
trunk/cdi/tests/org.jboss.tools.cdi.core.test/projects/CDITest1/src/cdi/test/alternative/case5/
trunk/cdi/tests/org.jboss.tools.cdi.core.test/projects/CDITest1/src/cdi/test/alternative/case5/A.java
trunk/cdi/tests/org.jboss.tools.cdi.core.test/projects/CDITest1/src/cdi/test/alternative/case5/B.java
trunk/cdi/tests/org.jboss.tools.cdi.core.test/projects/CDITest1/src/cdi/test/alternative/case6/
trunk/cdi/tests/org.jboss.tools.cdi.core.test/projects/CDITest1/src/cdi/test/alternative/case6/A.java
trunk/cdi/tests/org.jboss.tools.cdi.core.test/projects/CDITest1/src/cdi/test/alternative/case6/B.java
trunk/cdi/tests/org.jboss.tools.cdi.core.test/projects/CDITest1/src/cdi/test/alternative/case7/
trunk/cdi/tests/org.jboss.tools.cdi.core.test/projects/CDITest1/src/cdi/test/alternative/case7/A.java
trunk/cdi/tests/org.jboss.tools.cdi.core.test/projects/CDITest1/src/cdi/test/alternative/case7/B.java
trunk/cdi/tests/org.jboss.tools.cdi.core.test/projects/CDITest1/src/cdi/test/alternative/case7/P.java
trunk/cdi/tests/org.jboss.tools.cdi.core.test/projects/CDITest1/src/cdi/test/alternative/case8/
trunk/cdi/tests/org.jboss.tools.cdi.core.test/projects/CDITest1/src/cdi/test/alternative/case8/A.java
trunk/cdi/tests/org.jboss.tools.cdi.core.test/projects/CDITest1/src/cdi/test/alternative/case8/B.java
trunk/cdi/tests/org.jboss.tools.cdi.core.test/projects/CDITest1/src/cdi/test/alternative/case8/P.java
trunk/cdi/tests/org.jboss.tools.cdi.core.test/projects/CDITest2/src/META-INF/
trunk/cdi/tests/org.jboss.tools.cdi.core.test/projects/CDITest2/src/META-INF/beans.xml
trunk/cdi/tests/org.jboss.tools.cdi.core.test/projects/CDITest2/src/cdi/
trunk/cdi/tests/org.jboss.tools.cdi.core.test/projects/CDITest2/src/cdi/test/
trunk/cdi/tests/org.jboss.tools.cdi.core.test/projects/CDITest2/src/cdi/test/alternative/
trunk/cdi/tests/org.jboss.tools.cdi.core.test/projects/CDITest2/src/cdi/test/alternative/case1/
trunk/cdi/tests/org.jboss.tools.cdi.core.test/projects/CDITest2/src/cdi/test/alternative/case1/C.java
trunk/cdi/tests/org.jboss.tools.cdi.core.test/projects/CDITest2/src/cdi/test/alternative/case1/X.java
trunk/cdi/tests/org.jboss.tools.cdi.core.test/projects/CDITest2/src/cdi/test/alternative/case2/
trunk/cdi/tests/org.jboss.tools.cdi.core.test/projects/CDITest2/src/cdi/test/alternative/case2/C.java
trunk/cdi/tests/org.jboss.tools.cdi.core.test/projects/CDITest2/src/cdi/test/alternative/case2/X.java
trunk/cdi/tests/org.jboss.tools.cdi.core.test/projects/CDITest2/src/cdi/test/alternative/case3/
trunk/cdi/tests/org.jboss.tools.cdi.core.test/projects/CDITest2/src/cdi/test/alternative/case3/C.java
trunk/cdi/tests/org.jboss.tools.cdi.core.test/projects/CDITest2/src/cdi/test/alternative/case3/X.java
trunk/cdi/tests/org.jboss.tools.cdi.core.test/projects/CDITest2/src/cdi/test/alternative/case4/
trunk/cdi/tests/org.jboss.tools.cdi.core.test/projects/CDITest2/src/cdi/test/alternative/case4/C.java
trunk/cdi/tests/org.jboss.tools.cdi.core.test/projects/CDITest2/src/cdi/test/alternative/case4/X.java
trunk/cdi/tests/org.jboss.tools.cdi.core.test/projects/CDITest2/src/cdi/test/alternative/case5/
trunk/cdi/tests/org.jboss.tools.cdi.core.test/projects/CDITest2/src/cdi/test/alternative/case5/C.java
trunk/cdi/tests/org.jboss.tools.cdi.core.test/projects/CDITest2/src/cdi/test/alternative/case5/X.java
trunk/cdi/tests/org.jboss.tools.cdi.core.test/projects/CDITest2/src/cdi/test/alternative/case6/
trunk/cdi/tests/org.jboss.tools.cdi.core.test/projects/CDITest2/src/cdi/test/alternative/case6/C.java
trunk/cdi/tests/org.jboss.tools.cdi.core.test/projects/CDITest2/src/cdi/test/alternative/case6/X.java
trunk/cdi/tests/org.jboss.tools.cdi.core.test/projects/CDITest2/src/cdi/test/alternative/case7/
trunk/cdi/tests/org.jboss.tools.cdi.core.test/projects/CDITest2/src/cdi/test/alternative/case7/X.java
trunk/cdi/tests/org.jboss.tools.cdi.core.test/projects/CDITest2/src/cdi/test/alternative/case8/
trunk/cdi/tests/org.jboss.tools.cdi.core.test/projects/CDITest2/src/cdi/test/alternative/case8/X.java
Modified:
trunk/cdi/tests/org.jboss.tools.cdi.core.test/src/org/jboss/tools/cdi/core/test/DependentProjectTest.java
Log:
JBIDE-9313
https://issues.jboss.org/browse/JBIDE-9313
Added:
trunk/cdi/tests/org.jboss.tools.cdi.core.test/projects/CDITest1/src/META-INF/beans.xml
===================================================================
---
trunk/cdi/tests/org.jboss.tools.cdi.core.test/projects/CDITest1/src/META-INF/beans.xml
(rev 0)
+++
trunk/cdi/tests/org.jboss.tools.cdi.core.test/projects/CDITest1/src/META-INF/beans.xml 2011-07-13
00:26:51 UTC (rev 32875)
@@ -0,0 +1,9 @@
+<?xml version="1.0"?>
+<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://jboss.org/schema/cdi/beans_1_0.xsd">
+ <alternatives>
+ <class>cdi.test.alternative.case4.B</class>
+ <class>cdi.test.alternative.case5.B</class>
+ <class>cdi.test.alternative.case8.B</class>
+ </alternatives>
+</beans>
Property changes on:
trunk/cdi/tests/org.jboss.tools.cdi.core.test/projects/CDITest1/src/META-INF/beans.xml
___________________________________________________________________
Added: svn:mime-type
+ text/plain
Added:
trunk/cdi/tests/org.jboss.tools.cdi.core.test/projects/CDITest1/src/cdi/test/alternative/case1/A.java
===================================================================
---
trunk/cdi/tests/org.jboss.tools.cdi.core.test/projects/CDITest1/src/cdi/test/alternative/case1/A.java
(rev 0)
+++
trunk/cdi/tests/org.jboss.tools.cdi.core.test/projects/CDITest1/src/cdi/test/alternative/case1/A.java 2011-07-13
00:26:51 UTC (rev 32875)
@@ -0,0 +1,5 @@
+package cdi.test.alternative.case1;
+
+public class A {
+
+}
Property changes on:
trunk/cdi/tests/org.jboss.tools.cdi.core.test/projects/CDITest1/src/cdi/test/alternative/case1/A.java
___________________________________________________________________
Added: svn:mime-type
+ text/plain
Added:
trunk/cdi/tests/org.jboss.tools.cdi.core.test/projects/CDITest1/src/cdi/test/alternative/case1/B.java
===================================================================
---
trunk/cdi/tests/org.jboss.tools.cdi.core.test/projects/CDITest1/src/cdi/test/alternative/case1/B.java
(rev 0)
+++
trunk/cdi/tests/org.jboss.tools.cdi.core.test/projects/CDITest1/src/cdi/test/alternative/case1/B.java 2011-07-13
00:26:51 UTC (rev 32875)
@@ -0,0 +1,8 @@
+package cdi.test.alternative.case1;
+
+import javax.enterprise.inject.Alternative;
+
+@Alternative
+public class B extends A {
+
+}
Property changes on:
trunk/cdi/tests/org.jboss.tools.cdi.core.test/projects/CDITest1/src/cdi/test/alternative/case1/B.java
___________________________________________________________________
Added: svn:mime-type
+ text/plain
Added:
trunk/cdi/tests/org.jboss.tools.cdi.core.test/projects/CDITest1/src/cdi/test/alternative/case2/A.java
===================================================================
---
trunk/cdi/tests/org.jboss.tools.cdi.core.test/projects/CDITest1/src/cdi/test/alternative/case2/A.java
(rev 0)
+++
trunk/cdi/tests/org.jboss.tools.cdi.core.test/projects/CDITest1/src/cdi/test/alternative/case2/A.java 2011-07-13
00:26:51 UTC (rev 32875)
@@ -0,0 +1,5 @@
+package cdi.test.alternative.case2;
+
+public class A {
+
+}
Property changes on:
trunk/cdi/tests/org.jboss.tools.cdi.core.test/projects/CDITest1/src/cdi/test/alternative/case2/A.java
___________________________________________________________________
Added: svn:mime-type
+ text/plain
Added:
trunk/cdi/tests/org.jboss.tools.cdi.core.test/projects/CDITest1/src/cdi/test/alternative/case2/B.java
===================================================================
---
trunk/cdi/tests/org.jboss.tools.cdi.core.test/projects/CDITest1/src/cdi/test/alternative/case2/B.java
(rev 0)
+++
trunk/cdi/tests/org.jboss.tools.cdi.core.test/projects/CDITest1/src/cdi/test/alternative/case2/B.java 2011-07-13
00:26:51 UTC (rev 32875)
@@ -0,0 +1,8 @@
+package cdi.test.alternative.case2;
+
+import javax.enterprise.inject.Alternative;
+
+@Alternative
+public class B extends A {
+
+}
Property changes on:
trunk/cdi/tests/org.jboss.tools.cdi.core.test/projects/CDITest1/src/cdi/test/alternative/case2/B.java
___________________________________________________________________
Added: svn:mime-type
+ text/plain
Added:
trunk/cdi/tests/org.jboss.tools.cdi.core.test/projects/CDITest1/src/cdi/test/alternative/case3/A.java
===================================================================
---
trunk/cdi/tests/org.jboss.tools.cdi.core.test/projects/CDITest1/src/cdi/test/alternative/case3/A.java
(rev 0)
+++
trunk/cdi/tests/org.jboss.tools.cdi.core.test/projects/CDITest1/src/cdi/test/alternative/case3/A.java 2011-07-13
00:26:51 UTC (rev 32875)
@@ -0,0 +1,5 @@
+package cdi.test.alternative.case3;
+
+public class A {
+
+}
Property changes on:
trunk/cdi/tests/org.jboss.tools.cdi.core.test/projects/CDITest1/src/cdi/test/alternative/case3/A.java
___________________________________________________________________
Added: svn:mime-type
+ text/plain
Added:
trunk/cdi/tests/org.jboss.tools.cdi.core.test/projects/CDITest1/src/cdi/test/alternative/case3/B.java
===================================================================
---
trunk/cdi/tests/org.jboss.tools.cdi.core.test/projects/CDITest1/src/cdi/test/alternative/case3/B.java
(rev 0)
+++
trunk/cdi/tests/org.jboss.tools.cdi.core.test/projects/CDITest1/src/cdi/test/alternative/case3/B.java 2011-07-13
00:26:51 UTC (rev 32875)
@@ -0,0 +1,8 @@
+package cdi.test.alternative.case3;
+
+import javax.enterprise.inject.Alternative;
+
+@Alternative
+public class B extends A {
+
+}
Property changes on:
trunk/cdi/tests/org.jboss.tools.cdi.core.test/projects/CDITest1/src/cdi/test/alternative/case3/B.java
___________________________________________________________________
Added: svn:mime-type
+ text/plain
Added:
trunk/cdi/tests/org.jboss.tools.cdi.core.test/projects/CDITest1/src/cdi/test/alternative/case4/A.java
===================================================================
---
trunk/cdi/tests/org.jboss.tools.cdi.core.test/projects/CDITest1/src/cdi/test/alternative/case4/A.java
(rev 0)
+++
trunk/cdi/tests/org.jboss.tools.cdi.core.test/projects/CDITest1/src/cdi/test/alternative/case4/A.java 2011-07-13
00:26:51 UTC (rev 32875)
@@ -0,0 +1,5 @@
+package cdi.test.alternative.case4;
+
+public class A {
+
+}
Property changes on:
trunk/cdi/tests/org.jboss.tools.cdi.core.test/projects/CDITest1/src/cdi/test/alternative/case4/A.java
___________________________________________________________________
Added: svn:mime-type
+ text/plain
Added:
trunk/cdi/tests/org.jboss.tools.cdi.core.test/projects/CDITest1/src/cdi/test/alternative/case4/B.java
===================================================================
---
trunk/cdi/tests/org.jboss.tools.cdi.core.test/projects/CDITest1/src/cdi/test/alternative/case4/B.java
(rev 0)
+++
trunk/cdi/tests/org.jboss.tools.cdi.core.test/projects/CDITest1/src/cdi/test/alternative/case4/B.java 2011-07-13
00:26:51 UTC (rev 32875)
@@ -0,0 +1,9 @@
+package cdi.test.alternative.case4;
+
+import javax.enterprise.inject.Alternative;
+import javax.inject.Inject;
+
+@Alternative
+public class B extends A {
+
+}
Property changes on:
trunk/cdi/tests/org.jboss.tools.cdi.core.test/projects/CDITest1/src/cdi/test/alternative/case4/B.java
___________________________________________________________________
Added: svn:mime-type
+ text/plain
Added:
trunk/cdi/tests/org.jboss.tools.cdi.core.test/projects/CDITest1/src/cdi/test/alternative/case4/Y.java
===================================================================
---
trunk/cdi/tests/org.jboss.tools.cdi.core.test/projects/CDITest1/src/cdi/test/alternative/case4/Y.java
(rev 0)
+++
trunk/cdi/tests/org.jboss.tools.cdi.core.test/projects/CDITest1/src/cdi/test/alternative/case4/Y.java 2011-07-13
00:26:51 UTC (rev 32875)
@@ -0,0 +1,14 @@
+package cdi.test.alternative.case4;
+
+import javax.inject.Inject;
+
+/*
+ * Bean A is defined in CDITest1 project.
+ * Alternative bean B is defined in CDITest1 project. It is selected in CDITest1.
+ * Alternative bean C is defined in CDITest2 project. It is not selected.
+ * Bean Y is accessed through project CDITest2
+ * ASSERT: Injection resolved to bean B.
+ */
+public class Y {
+ @Inject B b;
+}
Property changes on:
trunk/cdi/tests/org.jboss.tools.cdi.core.test/projects/CDITest1/src/cdi/test/alternative/case4/Y.java
___________________________________________________________________
Added: svn:mime-type
+ text/plain
Added:
trunk/cdi/tests/org.jboss.tools.cdi.core.test/projects/CDITest1/src/cdi/test/alternative/case5/A.java
===================================================================
---
trunk/cdi/tests/org.jboss.tools.cdi.core.test/projects/CDITest1/src/cdi/test/alternative/case5/A.java
(rev 0)
+++
trunk/cdi/tests/org.jboss.tools.cdi.core.test/projects/CDITest1/src/cdi/test/alternative/case5/A.java 2011-07-13
00:26:51 UTC (rev 32875)
@@ -0,0 +1,5 @@
+package cdi.test.alternative.case5;
+
+public class A {
+
+}
Property changes on:
trunk/cdi/tests/org.jboss.tools.cdi.core.test/projects/CDITest1/src/cdi/test/alternative/case5/A.java
___________________________________________________________________
Added: svn:mime-type
+ text/plain
Added:
trunk/cdi/tests/org.jboss.tools.cdi.core.test/projects/CDITest1/src/cdi/test/alternative/case5/B.java
===================================================================
---
trunk/cdi/tests/org.jboss.tools.cdi.core.test/projects/CDITest1/src/cdi/test/alternative/case5/B.java
(rev 0)
+++
trunk/cdi/tests/org.jboss.tools.cdi.core.test/projects/CDITest1/src/cdi/test/alternative/case5/B.java 2011-07-13
00:26:51 UTC (rev 32875)
@@ -0,0 +1,8 @@
+package cdi.test.alternative.case5;
+
+import javax.enterprise.inject.Alternative;
+
+@Alternative
+public class B extends A {
+
+}
Property changes on:
trunk/cdi/tests/org.jboss.tools.cdi.core.test/projects/CDITest1/src/cdi/test/alternative/case5/B.java
___________________________________________________________________
Added: svn:mime-type
+ text/plain
Added:
trunk/cdi/tests/org.jboss.tools.cdi.core.test/projects/CDITest1/src/cdi/test/alternative/case6/A.java
===================================================================
---
trunk/cdi/tests/org.jboss.tools.cdi.core.test/projects/CDITest1/src/cdi/test/alternative/case6/A.java
(rev 0)
+++
trunk/cdi/tests/org.jboss.tools.cdi.core.test/projects/CDITest1/src/cdi/test/alternative/case6/A.java 2011-07-13
00:26:51 UTC (rev 32875)
@@ -0,0 +1,5 @@
+package cdi.test.alternative.case6;
+
+public class A {
+
+}
Property changes on:
trunk/cdi/tests/org.jboss.tools.cdi.core.test/projects/CDITest1/src/cdi/test/alternative/case6/A.java
___________________________________________________________________
Added: svn:mime-type
+ text/plain
Added:
trunk/cdi/tests/org.jboss.tools.cdi.core.test/projects/CDITest1/src/cdi/test/alternative/case6/B.java
===================================================================
---
trunk/cdi/tests/org.jboss.tools.cdi.core.test/projects/CDITest1/src/cdi/test/alternative/case6/B.java
(rev 0)
+++
trunk/cdi/tests/org.jboss.tools.cdi.core.test/projects/CDITest1/src/cdi/test/alternative/case6/B.java 2011-07-13
00:26:51 UTC (rev 32875)
@@ -0,0 +1,8 @@
+package cdi.test.alternative.case6;
+
+import javax.enterprise.inject.Alternative;
+
+@Alternative
+public class B extends A {
+
+}
Property changes on:
trunk/cdi/tests/org.jboss.tools.cdi.core.test/projects/CDITest1/src/cdi/test/alternative/case6/B.java
___________________________________________________________________
Added: svn:mime-type
+ text/plain
Added:
trunk/cdi/tests/org.jboss.tools.cdi.core.test/projects/CDITest1/src/cdi/test/alternative/case7/A.java
===================================================================
---
trunk/cdi/tests/org.jboss.tools.cdi.core.test/projects/CDITest1/src/cdi/test/alternative/case7/A.java
(rev 0)
+++
trunk/cdi/tests/org.jboss.tools.cdi.core.test/projects/CDITest1/src/cdi/test/alternative/case7/A.java 2011-07-13
00:26:51 UTC (rev 32875)
@@ -0,0 +1,5 @@
+package cdi.test.alternative.case7;
+
+public class A {
+
+}
Property changes on:
trunk/cdi/tests/org.jboss.tools.cdi.core.test/projects/CDITest1/src/cdi/test/alternative/case7/A.java
___________________________________________________________________
Added: svn:mime-type
+ text/plain
Added:
trunk/cdi/tests/org.jboss.tools.cdi.core.test/projects/CDITest1/src/cdi/test/alternative/case7/B.java
===================================================================
---
trunk/cdi/tests/org.jboss.tools.cdi.core.test/projects/CDITest1/src/cdi/test/alternative/case7/B.java
(rev 0)
+++
trunk/cdi/tests/org.jboss.tools.cdi.core.test/projects/CDITest1/src/cdi/test/alternative/case7/B.java 2011-07-13
00:26:51 UTC (rev 32875)
@@ -0,0 +1,12 @@
+package cdi.test.alternative.case7;
+
+import javax.enterprise.inject.Alternative;
+import javax.enterprise.inject.Produces;
+
+@Alternative
+public class B extends A {
+ @Produces
+ public P p() {
+ return new P("");
+ }
+}
Property changes on:
trunk/cdi/tests/org.jboss.tools.cdi.core.test/projects/CDITest1/src/cdi/test/alternative/case7/B.java
___________________________________________________________________
Added: svn:mime-type
+ text/plain
Added:
trunk/cdi/tests/org.jboss.tools.cdi.core.test/projects/CDITest1/src/cdi/test/alternative/case7/P.java
===================================================================
---
trunk/cdi/tests/org.jboss.tools.cdi.core.test/projects/CDITest1/src/cdi/test/alternative/case7/P.java
(rev 0)
+++
trunk/cdi/tests/org.jboss.tools.cdi.core.test/projects/CDITest1/src/cdi/test/alternative/case7/P.java 2011-07-13
00:26:51 UTC (rev 32875)
@@ -0,0 +1,5 @@
+package cdi.test.alternative.case7;
+
+public class P {
+ public P(String s) {}
+}
Property changes on:
trunk/cdi/tests/org.jboss.tools.cdi.core.test/projects/CDITest1/src/cdi/test/alternative/case7/P.java
___________________________________________________________________
Added: svn:mime-type
+ text/plain
Added:
trunk/cdi/tests/org.jboss.tools.cdi.core.test/projects/CDITest1/src/cdi/test/alternative/case8/A.java
===================================================================
---
trunk/cdi/tests/org.jboss.tools.cdi.core.test/projects/CDITest1/src/cdi/test/alternative/case8/A.java
(rev 0)
+++
trunk/cdi/tests/org.jboss.tools.cdi.core.test/projects/CDITest1/src/cdi/test/alternative/case8/A.java 2011-07-13
00:26:51 UTC (rev 32875)
@@ -0,0 +1,5 @@
+package cdi.test.alternative.case8;
+
+public class A {
+
+}
Property changes on:
trunk/cdi/tests/org.jboss.tools.cdi.core.test/projects/CDITest1/src/cdi/test/alternative/case8/A.java
___________________________________________________________________
Added: svn:mime-type
+ text/plain
Added:
trunk/cdi/tests/org.jboss.tools.cdi.core.test/projects/CDITest1/src/cdi/test/alternative/case8/B.java
===================================================================
---
trunk/cdi/tests/org.jboss.tools.cdi.core.test/projects/CDITest1/src/cdi/test/alternative/case8/B.java
(rev 0)
+++
trunk/cdi/tests/org.jboss.tools.cdi.core.test/projects/CDITest1/src/cdi/test/alternative/case8/B.java 2011-07-13
00:26:51 UTC (rev 32875)
@@ -0,0 +1,12 @@
+package cdi.test.alternative.case8;
+
+import javax.enterprise.inject.Alternative;
+import javax.enterprise.inject.Produces;
+
+@Alternative
+public class B extends A {
+ @Produces
+ public P p() {
+ return new P("");
+ }
+}
Property changes on:
trunk/cdi/tests/org.jboss.tools.cdi.core.test/projects/CDITest1/src/cdi/test/alternative/case8/B.java
___________________________________________________________________
Added: svn:mime-type
+ text/plain
Added:
trunk/cdi/tests/org.jboss.tools.cdi.core.test/projects/CDITest1/src/cdi/test/alternative/case8/P.java
===================================================================
---
trunk/cdi/tests/org.jboss.tools.cdi.core.test/projects/CDITest1/src/cdi/test/alternative/case8/P.java
(rev 0)
+++
trunk/cdi/tests/org.jboss.tools.cdi.core.test/projects/CDITest1/src/cdi/test/alternative/case8/P.java 2011-07-13
00:26:51 UTC (rev 32875)
@@ -0,0 +1,5 @@
+package cdi.test.alternative.case8;
+
+public class P {
+ public P(String s) {}
+}
Property changes on:
trunk/cdi/tests/org.jboss.tools.cdi.core.test/projects/CDITest1/src/cdi/test/alternative/case8/P.java
___________________________________________________________________
Added: svn:mime-type
+ text/plain
Added:
trunk/cdi/tests/org.jboss.tools.cdi.core.test/projects/CDITest2/src/META-INF/beans.xml
===================================================================
---
trunk/cdi/tests/org.jboss.tools.cdi.core.test/projects/CDITest2/src/META-INF/beans.xml
(rev 0)
+++
trunk/cdi/tests/org.jboss.tools.cdi.core.test/projects/CDITest2/src/META-INF/beans.xml 2011-07-13
00:26:51 UTC (rev 32875)
@@ -0,0 +1,12 @@
+<?xml version="1.0"?>
+<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://jboss.org/schema/cdi/beans_1_0.xsd">
+ <alternatives>
+ <class>cdi.test.alternative.C</class>
+ <class>cdi.test.alternative.case2.C</class>
+ <class>cdi.test.alternative.case3.B</class>
+ <class>cdi.test.alternative.case5.C</class>
+ <class>cdi.test.alternative.case6.B</class>
+ <class>cdi.test.alternative.case6.C</class>
+ </alternatives>
+</beans>
Property changes on:
trunk/cdi/tests/org.jboss.tools.cdi.core.test/projects/CDITest2/src/META-INF/beans.xml
___________________________________________________________________
Added: svn:mime-type
+ text/plain
Added:
trunk/cdi/tests/org.jboss.tools.cdi.core.test/projects/CDITest2/src/cdi/test/alternative/case1/C.java
===================================================================
---
trunk/cdi/tests/org.jboss.tools.cdi.core.test/projects/CDITest2/src/cdi/test/alternative/case1/C.java
(rev 0)
+++
trunk/cdi/tests/org.jboss.tools.cdi.core.test/projects/CDITest2/src/cdi/test/alternative/case1/C.java 2011-07-13
00:26:51 UTC (rev 32875)
@@ -0,0 +1,8 @@
+package cdi.test.alternative.case1;
+
+import javax.enterprise.inject.Alternative;
+
+@Alternative
+public class C extends A {
+
+}
Property changes on:
trunk/cdi/tests/org.jboss.tools.cdi.core.test/projects/CDITest2/src/cdi/test/alternative/case1/C.java
___________________________________________________________________
Added: svn:mime-type
+ text/plain
Added:
trunk/cdi/tests/org.jboss.tools.cdi.core.test/projects/CDITest2/src/cdi/test/alternative/case1/X.java
===================================================================
---
trunk/cdi/tests/org.jboss.tools.cdi.core.test/projects/CDITest2/src/cdi/test/alternative/case1/X.java
(rev 0)
+++
trunk/cdi/tests/org.jboss.tools.cdi.core.test/projects/CDITest2/src/cdi/test/alternative/case1/X.java 2011-07-13
00:26:51 UTC (rev 32875)
@@ -0,0 +1,14 @@
+package cdi.test.alternative.case1;
+
+import javax.inject.Inject;
+
+/*
+ * Bean A is defined in CDITest1 project.
+ * Alternative bean B is defined in CDITest1 project. It is not selected.
+ * Alternative bean C is defined in CDITest2 project. It is not selected.
+ *
+ * ASSERT: Injection resolved to bean A.
+ */
+public class X {
+ @Inject A a;
+}
Property changes on:
trunk/cdi/tests/org.jboss.tools.cdi.core.test/projects/CDITest2/src/cdi/test/alternative/case1/X.java
___________________________________________________________________
Added: svn:mime-type
+ text/plain
Added:
trunk/cdi/tests/org.jboss.tools.cdi.core.test/projects/CDITest2/src/cdi/test/alternative/case2/C.java
===================================================================
---
trunk/cdi/tests/org.jboss.tools.cdi.core.test/projects/CDITest2/src/cdi/test/alternative/case2/C.java
(rev 0)
+++
trunk/cdi/tests/org.jboss.tools.cdi.core.test/projects/CDITest2/src/cdi/test/alternative/case2/C.java 2011-07-13
00:26:51 UTC (rev 32875)
@@ -0,0 +1,8 @@
+package cdi.test.alternative.case2;
+
+import javax.enterprise.inject.Alternative;
+
+@Alternative
+public class C extends A {
+
+}
Property changes on:
trunk/cdi/tests/org.jboss.tools.cdi.core.test/projects/CDITest2/src/cdi/test/alternative/case2/C.java
___________________________________________________________________
Added: svn:mime-type
+ text/plain
Added:
trunk/cdi/tests/org.jboss.tools.cdi.core.test/projects/CDITest2/src/cdi/test/alternative/case2/X.java
===================================================================
---
trunk/cdi/tests/org.jboss.tools.cdi.core.test/projects/CDITest2/src/cdi/test/alternative/case2/X.java
(rev 0)
+++
trunk/cdi/tests/org.jboss.tools.cdi.core.test/projects/CDITest2/src/cdi/test/alternative/case2/X.java 2011-07-13
00:26:51 UTC (rev 32875)
@@ -0,0 +1,14 @@
+package cdi.test.alternative.case2;
+
+import javax.inject.Inject;
+
+/*
+ * Bean A is defined in CDITest1 project.
+ * Alternative bean B is defined in CDITest1 project. It is not selected.
+ * Alternative bean C is defined in CDITest2 project. It is selected in CDITest2.
+ *
+ * ASSERT: Injection resolved to bean C.
+ */
+public class X {
+ @Inject A a;
+}
Property changes on:
trunk/cdi/tests/org.jboss.tools.cdi.core.test/projects/CDITest2/src/cdi/test/alternative/case2/X.java
___________________________________________________________________
Added: svn:mime-type
+ text/plain
Added:
trunk/cdi/tests/org.jboss.tools.cdi.core.test/projects/CDITest2/src/cdi/test/alternative/case3/C.java
===================================================================
---
trunk/cdi/tests/org.jboss.tools.cdi.core.test/projects/CDITest2/src/cdi/test/alternative/case3/C.java
(rev 0)
+++
trunk/cdi/tests/org.jboss.tools.cdi.core.test/projects/CDITest2/src/cdi/test/alternative/case3/C.java 2011-07-13
00:26:51 UTC (rev 32875)
@@ -0,0 +1,8 @@
+package cdi.test.alternative.case3;
+
+import javax.enterprise.inject.Alternative;
+
+@Alternative
+public class C extends A {
+
+}
Property changes on:
trunk/cdi/tests/org.jboss.tools.cdi.core.test/projects/CDITest2/src/cdi/test/alternative/case3/C.java
___________________________________________________________________
Added: svn:mime-type
+ text/plain
Added:
trunk/cdi/tests/org.jboss.tools.cdi.core.test/projects/CDITest2/src/cdi/test/alternative/case3/X.java
===================================================================
---
trunk/cdi/tests/org.jboss.tools.cdi.core.test/projects/CDITest2/src/cdi/test/alternative/case3/X.java
(rev 0)
+++
trunk/cdi/tests/org.jboss.tools.cdi.core.test/projects/CDITest2/src/cdi/test/alternative/case3/X.java 2011-07-13
00:26:51 UTC (rev 32875)
@@ -0,0 +1,14 @@
+package cdi.test.alternative.case3;
+
+import javax.inject.Inject;
+
+/*
+ * Bean A is defined in CDITest1 project.
+ * Alternative bean B is defined in CDITest1 project. It is selected in CDITest2.
+ * Alternative bean C is defined in CDITest2 project. It is not selected.
+ *
+ * ASSERT: Injection resolved to bean B.
+ */
+public class X {
+ @Inject A a;
+}
Property changes on:
trunk/cdi/tests/org.jboss.tools.cdi.core.test/projects/CDITest2/src/cdi/test/alternative/case3/X.java
___________________________________________________________________
Added: svn:mime-type
+ text/plain
Added:
trunk/cdi/tests/org.jboss.tools.cdi.core.test/projects/CDITest2/src/cdi/test/alternative/case4/C.java
===================================================================
---
trunk/cdi/tests/org.jboss.tools.cdi.core.test/projects/CDITest2/src/cdi/test/alternative/case4/C.java
(rev 0)
+++
trunk/cdi/tests/org.jboss.tools.cdi.core.test/projects/CDITest2/src/cdi/test/alternative/case4/C.java 2011-07-13
00:26:51 UTC (rev 32875)
@@ -0,0 +1,8 @@
+package cdi.test.alternative.case4;
+
+import javax.enterprise.inject.Alternative;
+
+@Alternative
+public class C extends A {
+
+}
Property changes on:
trunk/cdi/tests/org.jboss.tools.cdi.core.test/projects/CDITest2/src/cdi/test/alternative/case4/C.java
___________________________________________________________________
Added: svn:mime-type
+ text/plain
Added:
trunk/cdi/tests/org.jboss.tools.cdi.core.test/projects/CDITest2/src/cdi/test/alternative/case4/X.java
===================================================================
---
trunk/cdi/tests/org.jboss.tools.cdi.core.test/projects/CDITest2/src/cdi/test/alternative/case4/X.java
(rev 0)
+++
trunk/cdi/tests/org.jboss.tools.cdi.core.test/projects/CDITest2/src/cdi/test/alternative/case4/X.java 2011-07-13
00:26:51 UTC (rev 32875)
@@ -0,0 +1,14 @@
+package cdi.test.alternative.case4;
+
+import javax.inject.Inject;
+
+/*
+ * Bean A is defined in CDITest1 project.
+ * Alternative bean B is defined in CDITest1 project. It is selected in CDITest1.
+ * Alternative bean C is defined in CDITest2 project. It is not selected.
+ *
+ * ASSERT: Injection resolved to bean A.
+ */
+public class X {
+ @Inject A a;
+}
Property changes on:
trunk/cdi/tests/org.jboss.tools.cdi.core.test/projects/CDITest2/src/cdi/test/alternative/case4/X.java
___________________________________________________________________
Added: svn:mime-type
+ text/plain
Added:
trunk/cdi/tests/org.jboss.tools.cdi.core.test/projects/CDITest2/src/cdi/test/alternative/case5/C.java
===================================================================
---
trunk/cdi/tests/org.jboss.tools.cdi.core.test/projects/CDITest2/src/cdi/test/alternative/case5/C.java
(rev 0)
+++
trunk/cdi/tests/org.jboss.tools.cdi.core.test/projects/CDITest2/src/cdi/test/alternative/case5/C.java 2011-07-13
00:26:51 UTC (rev 32875)
@@ -0,0 +1,8 @@
+package cdi.test.alternative.case5;
+
+import javax.enterprise.inject.Alternative;
+
+@Alternative
+public class C extends A {
+
+}
Property changes on:
trunk/cdi/tests/org.jboss.tools.cdi.core.test/projects/CDITest2/src/cdi/test/alternative/case5/C.java
___________________________________________________________________
Added: svn:mime-type
+ text/plain
Added:
trunk/cdi/tests/org.jboss.tools.cdi.core.test/projects/CDITest2/src/cdi/test/alternative/case5/X.java
===================================================================
---
trunk/cdi/tests/org.jboss.tools.cdi.core.test/projects/CDITest2/src/cdi/test/alternative/case5/X.java
(rev 0)
+++
trunk/cdi/tests/org.jboss.tools.cdi.core.test/projects/CDITest2/src/cdi/test/alternative/case5/X.java 2011-07-13
00:26:51 UTC (rev 32875)
@@ -0,0 +1,14 @@
+package cdi.test.alternative.case5;
+
+import javax.inject.Inject;
+
+/*
+ * Bean A is defined in CDITest1 project.
+ * Alternative bean B is defined in CDITest1 project. It is selected in CDITest1.
+ * Alternative bean C is defined in CDITest2 project. It is selected in CDITest2.
+ *
+ * ASSERT: Injection resolved to bean C.
+ */
+public class X {
+ @Inject A a;
+}
Property changes on:
trunk/cdi/tests/org.jboss.tools.cdi.core.test/projects/CDITest2/src/cdi/test/alternative/case5/X.java
___________________________________________________________________
Added: svn:mime-type
+ text/plain
Added:
trunk/cdi/tests/org.jboss.tools.cdi.core.test/projects/CDITest2/src/cdi/test/alternative/case6/C.java
===================================================================
---
trunk/cdi/tests/org.jboss.tools.cdi.core.test/projects/CDITest2/src/cdi/test/alternative/case6/C.java
(rev 0)
+++
trunk/cdi/tests/org.jboss.tools.cdi.core.test/projects/CDITest2/src/cdi/test/alternative/case6/C.java 2011-07-13
00:26:51 UTC (rev 32875)
@@ -0,0 +1,8 @@
+package cdi.test.alternative.case6;
+
+import javax.enterprise.inject.Alternative;
+
+@Alternative
+public class C extends A {
+
+}
Property changes on:
trunk/cdi/tests/org.jboss.tools.cdi.core.test/projects/CDITest2/src/cdi/test/alternative/case6/C.java
___________________________________________________________________
Added: svn:mime-type
+ text/plain
Added:
trunk/cdi/tests/org.jboss.tools.cdi.core.test/projects/CDITest2/src/cdi/test/alternative/case6/X.java
===================================================================
---
trunk/cdi/tests/org.jboss.tools.cdi.core.test/projects/CDITest2/src/cdi/test/alternative/case6/X.java
(rev 0)
+++
trunk/cdi/tests/org.jboss.tools.cdi.core.test/projects/CDITest2/src/cdi/test/alternative/case6/X.java 2011-07-13
00:26:51 UTC (rev 32875)
@@ -0,0 +1,14 @@
+package cdi.test.alternative.case6;
+
+import javax.inject.Inject;
+
+/*
+ * Bean A is defined in CDITest1 project.
+ * Alternative bean B is defined in CDITest1 project. It is selected in CDITest2.
+ * Alternative bean C is defined in CDITest2 project. It is selected in CDITest2.
+ *
+ * ASSERT: Multiple beans: injection resolved to beans B and C.
+ */
+public class X {
+ @Inject A a;
+}
Property changes on:
trunk/cdi/tests/org.jboss.tools.cdi.core.test/projects/CDITest2/src/cdi/test/alternative/case6/X.java
___________________________________________________________________
Added: svn:mime-type
+ text/plain
Added:
trunk/cdi/tests/org.jboss.tools.cdi.core.test/projects/CDITest2/src/cdi/test/alternative/case7/X.java
===================================================================
---
trunk/cdi/tests/org.jboss.tools.cdi.core.test/projects/CDITest2/src/cdi/test/alternative/case7/X.java
(rev 0)
+++
trunk/cdi/tests/org.jboss.tools.cdi.core.test/projects/CDITest2/src/cdi/test/alternative/case7/X.java 2011-07-13
00:26:51 UTC (rev 32875)
@@ -0,0 +1,14 @@
+package cdi.test.alternative.case7;
+
+import javax.inject.Inject;
+
+/*
+ * Bean A is defined in CDITest1 project.
+ * Alternative bean B is defined in CDITest1 project. It is not selected.
+ * Producer bean P is declared in B.p().
+ *
+ * ASSERT: No eligible bean.
+ */
+public class X {
+ @Inject P p;
+}
Property changes on:
trunk/cdi/tests/org.jboss.tools.cdi.core.test/projects/CDITest2/src/cdi/test/alternative/case7/X.java
___________________________________________________________________
Added: svn:mime-type
+ text/plain
Added:
trunk/cdi/tests/org.jboss.tools.cdi.core.test/projects/CDITest2/src/cdi/test/alternative/case8/X.java
===================================================================
---
trunk/cdi/tests/org.jboss.tools.cdi.core.test/projects/CDITest2/src/cdi/test/alternative/case8/X.java
(rev 0)
+++
trunk/cdi/tests/org.jboss.tools.cdi.core.test/projects/CDITest2/src/cdi/test/alternative/case8/X.java 2011-07-13
00:26:51 UTC (rev 32875)
@@ -0,0 +1,14 @@
+package cdi.test.alternative.case8;
+
+import javax.inject.Inject;
+
+/*
+ * Bean A is defined in CDITest1 project.
+ * Alternative bean B is defined in CDITest1 project. It is selected in CDITest1.
+ * Producer bean P is declared in B.p().
+ *
+ * ASSERT: Injection resolved to bean B.p().
+ */
+public class X {
+ @Inject P p;
+}
Property changes on:
trunk/cdi/tests/org.jboss.tools.cdi.core.test/projects/CDITest2/src/cdi/test/alternative/case8/X.java
___________________________________________________________________
Added: svn:mime-type
+ text/plain
Modified:
trunk/cdi/tests/org.jboss.tools.cdi.core.test/src/org/jboss/tools/cdi/core/test/DependentProjectTest.java
===================================================================
---
trunk/cdi/tests/org.jboss.tools.cdi.core.test/src/org/jboss/tools/cdi/core/test/DependentProjectTest.java 2011-07-13
00:21:54 UTC (rev 32874)
+++
trunk/cdi/tests/org.jboss.tools.cdi.core.test/src/org/jboss/tools/cdi/core/test/DependentProjectTest.java 2011-07-13
00:26:51 UTC (rev 32875)
@@ -2,6 +2,7 @@
import java.io.IOException;
+import java.util.Iterator;
import java.util.Set;
import junit.framework.TestCase;
@@ -27,6 +28,7 @@
import org.jboss.tools.cdi.core.IProducerMethod;
import org.jboss.tools.cdi.core.IQualifier;
import org.jboss.tools.cdi.core.IScope;
+import org.jboss.tools.cdi.core.test.tck.TCKTest;
import org.jboss.tools.cdi.internal.core.impl.ProducerMethod;
import org.jboss.tools.common.java.IAnnotationDeclaration;
import org.jboss.tools.jst.web.kb.IKbProject;
@@ -153,6 +155,127 @@
return producer;
}
+ public void testAlternativesInDependentProjects() throws CoreException {
+ ICDIProject cdi1 = CDICorePlugin.getCDIProject(project1, true);
+ ICDIProject cdi2 = CDICorePlugin.getCDIProject(project2, true);
+
+ /*
+ * Case 1.
+ * Bean A is defined in CDITest1 project.
+ * Alternative bean B is defined in CDITest1 project. It is not selected.
+ * Alternative bean C is defined in CDITest2 project. It is not selected.
+ *
+ * ASSERT: Injection resolved to bean A.
+ */
+ IInjectionPointField f = getInjectionPointField(cdi2,
"/src/cdi/test/alternative/case1/X.java", "a");
+ Set<IBean> bs = cdi2.getBeans(true, f);
+ assertEquals(1, bs.size());
+ assertEquals("A", bs.iterator().next().getBeanClass().getElementName());
+
+ /*
+ * Case 2.
+ * Bean A is defined in CDITest1 project.
+ * Alternative bean B is defined in CDITest1 project. It is not selected.
+ * Alternative bean C is defined in CDITest2 project. It is selected in CDITest2.
+ *
+ * ASSERT: Injection resolved to bean C.
+ */
+ f = getInjectionPointField(cdi2, "/src/cdi/test/alternative/case2/X.java",
"a");
+ bs = cdi2.getBeans(true, f);
+ assertEquals(1, bs.size());
+ assertEquals("C", bs.iterator().next().getBeanClass().getElementName());
+
+ /*
+ * Case 3.
+ * Bean A is defined in CDITest1 project.
+ * Alternative bean B is defined in CDITest1 project. It is selected in CDITest2.
+ * Alternative bean C is defined in CDITest2 project. It is not selected.
+ *
+ * ASSERT: Injection resolved to bean B.
+ */
+ f = getInjectionPointField(cdi2, "/src/cdi/test/alternative/case3/X.java",
"a");
+ bs = cdi2.getBeans(true, f);
+ assertEquals(1, bs.size());
+ assertEquals("B", bs.iterator().next().getBeanClass().getElementName());
+
+ /*
+ * Case 4-1.
+ * Bean A is defined in CDITest1 project.
+ * Alternative bean B is defined in CDITest1 project. It is selected in CDITest1.
+ * Alternative bean C is defined in CDITest2 project. It is not selected.
+ *
+ * ASSERT: Injection resolved to bean A.
+ */
+ f = getInjectionPointField(cdi2, "/src/cdi/test/alternative/case4/X.java",
"a");
+ bs = cdi2.getBeans(true, f);
+ assertEquals(1, bs.size());
+ assertEquals("A", bs.iterator().next().getBeanClass().getElementName());
+
+ /*
+ * Case 4-2.
+ * Bean A is defined in CDITest1 project.
+ * Alternative bean B is defined in CDITest1 project. It is selected in CDITest1.
+ * Alternative bean C is defined in CDITest2 project. It is not selected.
+ * Bean Y is defined in CDITest1 but it is accessed through project CDITest2
+ * ASSERT: Injection resolved to bean B.
+ */
+ f = getInjectionPointField(cdi1, "/src/cdi/test/alternative/case4/Y.java",
"b");
+ bs = cdi2.getBeans(true, f);
+ assertEquals(1, bs.size());
+ assertEquals("B", bs.iterator().next().getBeanClass().getElementName());
+
+ /*
+ * Case 5.
+ * Bean A is defined in CDITest1 project.
+ * Alternative bean B is defined in CDITest1 project. It is selected in CDITest1.
+ * Alternative bean C is defined in CDITest2 project. It is selected in CDITest2.
+ *
+ * ASSERT: Injection resolved to bean C.
+ */
+ f = getInjectionPointField(cdi2, "/src/cdi/test/alternative/case5/X.java",
"a");
+ bs = cdi2.getBeans(true, f);
+ assertEquals(1, bs.size());
+ assertEquals("C", bs.iterator().next().getBeanClass().getElementName());
+
+ /*
+ * Case 6.
+ * Bean A is defined in CDITest1 project.
+ * Alternative bean B is defined in CDITest1 project. It is selected in CDITest2.
+ * Alternative bean C is defined in CDITest2 project. It is selected in CDITest2.
+ *
+ * ASSERT: Multiple beans: injection resolved to beans B and C.
+ */
+ f = getInjectionPointField(cdi2, "/src/cdi/test/alternative/case6/X.java",
"a");
+ bs = cdi2.getBeans(true, f);
+ assertEquals(2, bs.size());
+
+ /*
+ * Case 7.
+ * Bean A is defined in CDITest1 project.
+ * Alternative bean B is defined in CDITest1 project. It is not selected.
+ * Producer bean P is declared in B.p().
+ *
+ * ASSERT: No eligible bean.
+ */
+ f = getInjectionPointField(cdi2, "/src/cdi/test/alternative/case7/X.java",
"p");
+ bs = cdi2.getBeans(true, f);
+ assertTrue(bs.isEmpty());
+
+ /*
+ * Case 8.
+ * Bean A is defined in CDITest1 project.
+ * Alternative bean B is defined in CDITest1 project. It is selected in CDITest1.
+ * Producer bean P is declared in B.p().
+ *
+ * ASSERT: Injection resolved to bean B.p().
+ */
+ f = getInjectionPointField(cdi2, "/src/cdi/test/alternative/case8/X.java",
"p");
+ bs = cdi2.getBeans(true, f);
+ assertEquals(1, bs.size());
+ IBean b = bs.iterator().next();
+ assertTrue(b instanceof IProducerMethod);
+ }
+
public void testIndirectDependency() throws CoreException, IOException {
ICDIProject cdi3 = CDICorePlugin.getCDIProject(project3, true);
Set<IBean> beans = cdi3.getBeans(new
Path("/CDITest1/src/cdi/test/MyBean.java"));
@@ -197,4 +320,28 @@
ResourcesUtils.setBuildAutomatically(saveAutoBuild);
}
+ public static IInjectionPointField getInjectionPointField(ICDIProject cdi, String
beanClassFilePath, String fieldName) {
+ IFile file = cdi.getNature().getProject().getFile(beanClassFilePath);
+ Set<IBean> beans = cdi.getBeans(file.getFullPath());
+ Iterator<IBean> it = beans.iterator();
+ while(it.hasNext()) {
+ IBean b = it.next();
+ if(b instanceof IProducer) it.remove();
+ }
+ assertEquals("Wrong number of the beans", 1, beans.size());
+ Set<IInjectionPoint> injections = beans.iterator().next().getInjectionPoints();
+ for (IInjectionPoint injectionPoint : injections) {
+ if(injectionPoint instanceof IInjectionPointField) {
+ IInjectionPointField field = (IInjectionPointField)injectionPoint;
+ if(fieldName.equals(field.getField().getElementName())) {
+ return field;
+ }
+ }
+ }
+ fail("Can't find \"" + fieldName + "\" injection point
filed in " + beanClassFilePath);
+ return null;
+ }
+
+
+
}