[jbosstools-commits] JBoss Tools SVN: r30863 - in trunk/cdi/tests/org.jboss.tools.cdi.seam.config.core.test: projects/CDIConfigTest/src/org/jboss and 3 other directories.
jbosstools-commits at lists.jboss.org
jbosstools-commits at lists.jboss.org
Tue Apr 26 20:57:13 EDT 2011
Author: scabanovich
Date: 2011-04-26 20:57:12 -0400 (Tue, 26 Apr 2011)
New Revision: 30863
Added:
trunk/cdi/tests/org.jboss.tools.cdi.seam.config.core.test/projects/CDIConfigTest/src/org/jboss/test603/
trunk/cdi/tests/org.jboss.tools.cdi.seam.config.core.test/projects/CDIConfigTest/src/org/jboss/test603/OtherQualifier.java
trunk/cdi/tests/org.jboss.tools.cdi.seam.config.core.test/projects/CDIConfigTest/src/org/jboss/test603/QualifiedBean1.java
trunk/cdi/tests/org.jboss.tools.cdi.seam.config.core.test/projects/CDIConfigTest/src/org/jboss/test603/QualifiedBean2.java
trunk/cdi/tests/org.jboss.tools.cdi.seam.config.core.test/projects/CDIConfigTest/src/org/jboss/test6041/
trunk/cdi/tests/org.jboss.tools.cdi.seam.config.core.test/projects/CDIConfigTest/src/org/jboss/test6041/ArrayFieldValue.java
trunk/cdi/tests/org.jboss.tools.cdi.seam.config.core.test/projects/CDIConfigTest/src/org/jboss/test6041/MyBean.java
trunk/cdi/tests/org.jboss.tools.cdi.seam.config.core.test/projects/CDIConfigTest/src/org/jboss/test6041/RobotFactory.java
trunk/cdi/tests/org.jboss.tools.cdi.seam.config.core.test/projects/CDIConfigTest/src/org/jboss/test6041/SomeQualifier.java
Modified:
trunk/cdi/tests/org.jboss.tools.cdi.seam.config.core.test/projects/CDIConfigTest/src/META-INF/beans.xml
trunk/cdi/tests/org.jboss.tools.cdi.seam.config.core.test/src/org/jboss/tools/cdi/seam/config/core/test/SeamDefinitionsTest.java
Log:
JBIDE-3120
https://issues.jboss.org/browse/JBIDE-3120
Modified: trunk/cdi/tests/org.jboss.tools.cdi.seam.config.core.test/projects/CDIConfigTest/src/META-INF/beans.xml
===================================================================
--- trunk/cdi/tests/org.jboss.tools.cdi.seam.config.core.test/projects/CDIConfigTest/src/META-INF/beans.xml 2011-04-27 00:56:17 UTC (rev 30862)
+++ trunk/cdi/tests/org.jboss.tools.cdi.seam.config.core.test/projects/CDIConfigTest/src/META-INF/beans.xml 2011-04-27 00:57:12 UTC (rev 30863)
@@ -4,6 +4,8 @@
xmlns:s="urn:java:ee"
xmlns:config="urn:java:org.jboss.test.config"
xmlns:test602="urn:java:org.jboss.test602.report"
+ xmlns:test603="urn:java:org.jboss.test603"
+ xmlns:test6041="urn:java:org.jboss.test6041"
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://jboss.org/schema/cdi/beans_1_0.xsd">
<config:MyAnnotation>
<s:Qualifier1/>
@@ -19,4 +21,45 @@
<test602:NewQualifier/>
</test602:ReportDatasource>
-</beans>
\ No newline at end of file
+<test603:QualifiedBean1>
+ <test603:OtherQualifier value1="AA" value2="1">false</test603:OtherQualifier>
+</test603:QualifiedBean1>
+
+<test603:QualifiedBean2>
+ <test603:OtherQualifier value1="BB" value2="2" value="true" />
+</test603:QualifiedBean2>
+
+<test6041:RobotFactory>
+ <test6041:robot>
+ <s:Produces/>
+ </test6041:robot>
+</test6041:RobotFactory>
+
+<test6041:MyBean>
+ <test6041:SomeQualifier/>
+ <test6041:company>Red Hat Inc</test6041:company>
+</test6041:MyBean>
+
+<test6041:MyBean>
+ <test6041:company>
+ <s:value>Red Hat Inc</s:value>
+ <test6041:SomeQualifier/>
+ </test6041:company>
+</test6041:MyBean>
+
+<test6041:ArrayFieldValue>
+ <test6041:intArrayField>
+ <s:value>1</s:value>
+ <s:value>2</s:value>
+ </test6041:intArrayField>
+ <test6041:classArrayField>
+ <s:value>java.lang.Integer</s:value>
+ <s:value>java.lang.Long</s:value>
+ </test6041:classArrayField>
+ <test6041:stringArrayField>
+ <s:value>hello</s:value>
+ <s:value>world</s:value>
+ </test6041:stringArrayField>
+</test6041:ArrayFieldValue>
+
+</beans>
Added: trunk/cdi/tests/org.jboss.tools.cdi.seam.config.core.test/projects/CDIConfigTest/src/org/jboss/test603/OtherQualifier.java
===================================================================
--- trunk/cdi/tests/org.jboss.tools.cdi.seam.config.core.test/projects/CDIConfigTest/src/org/jboss/test603/OtherQualifier.java (rev 0)
+++ trunk/cdi/tests/org.jboss.tools.cdi.seam.config.core.test/projects/CDIConfigTest/src/org/jboss/test603/OtherQualifier.java 2011-04-27 00:57:12 UTC (rev 30863)
@@ -0,0 +1,23 @@
+package org.jboss.test603;
+
+import java.lang.annotation.Documented;
+import java.lang.annotation.Retention;
+import java.lang.annotation.Target;
+
+import javax.inject.Qualifier;
+
+import static java.lang.annotation.ElementType.FIELD;
+import static java.lang.annotation.ElementType.METHOD;
+import static java.lang.annotation.ElementType.PARAMETER;
+import static java.lang.annotation.ElementType.TYPE;
+import static java.lang.annotation.RetentionPolicy.RUNTIME;
+
+ at Qualifier
+ at Target({ TYPE, METHOD, PARAMETER, FIELD })
+ at Retention(RUNTIME)
+ at Documented
+public @interface OtherQualifier {
+ public String value1();
+ public int value2();
+ public boolean value();
+}
Property changes on: trunk/cdi/tests/org.jboss.tools.cdi.seam.config.core.test/projects/CDIConfigTest/src/org/jboss/test603/OtherQualifier.java
___________________________________________________________________
Added: svn:mime-type
+ text/plain
Added: trunk/cdi/tests/org.jboss.tools.cdi.seam.config.core.test/projects/CDIConfigTest/src/org/jboss/test603/QualifiedBean1.java
===================================================================
--- trunk/cdi/tests/org.jboss.tools.cdi.seam.config.core.test/projects/CDIConfigTest/src/org/jboss/test603/QualifiedBean1.java (rev 0)
+++ trunk/cdi/tests/org.jboss.tools.cdi.seam.config.core.test/projects/CDIConfigTest/src/org/jboss/test603/QualifiedBean1.java 2011-04-27 00:57:12 UTC (rev 30863)
@@ -0,0 +1,5 @@
+package org.jboss.test603;
+
+public class QualifiedBean1 {
+
+}
Property changes on: trunk/cdi/tests/org.jboss.tools.cdi.seam.config.core.test/projects/CDIConfigTest/src/org/jboss/test603/QualifiedBean1.java
___________________________________________________________________
Added: svn:mime-type
+ text/plain
Added: trunk/cdi/tests/org.jboss.tools.cdi.seam.config.core.test/projects/CDIConfigTest/src/org/jboss/test603/QualifiedBean2.java
===================================================================
--- trunk/cdi/tests/org.jboss.tools.cdi.seam.config.core.test/projects/CDIConfigTest/src/org/jboss/test603/QualifiedBean2.java (rev 0)
+++ trunk/cdi/tests/org.jboss.tools.cdi.seam.config.core.test/projects/CDIConfigTest/src/org/jboss/test603/QualifiedBean2.java 2011-04-27 00:57:12 UTC (rev 30863)
@@ -0,0 +1,5 @@
+package org.jboss.test603;
+
+public class QualifiedBean2 {
+
+}
Property changes on: trunk/cdi/tests/org.jboss.tools.cdi.seam.config.core.test/projects/CDIConfigTest/src/org/jboss/test603/QualifiedBean2.java
___________________________________________________________________
Added: svn:mime-type
+ text/plain
Added: trunk/cdi/tests/org.jboss.tools.cdi.seam.config.core.test/projects/CDIConfigTest/src/org/jboss/test6041/ArrayFieldValue.java
===================================================================
--- trunk/cdi/tests/org.jboss.tools.cdi.seam.config.core.test/projects/CDIConfigTest/src/org/jboss/test6041/ArrayFieldValue.java (rev 0)
+++ trunk/cdi/tests/org.jboss.tools.cdi.seam.config.core.test/projects/CDIConfigTest/src/org/jboss/test6041/ArrayFieldValue.java 2011-04-27 00:57:12 UTC (rev 30863)
@@ -0,0 +1,8 @@
+package org.jboss.test6041;
+
+public class ArrayFieldValue {
+ int[] intArrayField;
+ Class[] classArrayField;
+ String[] stringArrayField;
+
+}
Property changes on: trunk/cdi/tests/org.jboss.tools.cdi.seam.config.core.test/projects/CDIConfigTest/src/org/jboss/test6041/ArrayFieldValue.java
___________________________________________________________________
Added: svn:mime-type
+ text/plain
Added: trunk/cdi/tests/org.jboss.tools.cdi.seam.config.core.test/projects/CDIConfigTest/src/org/jboss/test6041/MyBean.java
===================================================================
--- trunk/cdi/tests/org.jboss.tools.cdi.seam.config.core.test/projects/CDIConfigTest/src/org/jboss/test6041/MyBean.java (rev 0)
+++ trunk/cdi/tests/org.jboss.tools.cdi.seam.config.core.test/projects/CDIConfigTest/src/org/jboss/test6041/MyBean.java 2011-04-27 00:57:12 UTC (rev 30863)
@@ -0,0 +1,5 @@
+package org.jboss.test6041;
+
+public class MyBean {
+ String company;
+}
Property changes on: trunk/cdi/tests/org.jboss.tools.cdi.seam.config.core.test/projects/CDIConfigTest/src/org/jboss/test6041/MyBean.java
___________________________________________________________________
Added: svn:mime-type
+ text/plain
Added: trunk/cdi/tests/org.jboss.tools.cdi.seam.config.core.test/projects/CDIConfigTest/src/org/jboss/test6041/RobotFactory.java
===================================================================
--- trunk/cdi/tests/org.jboss.tools.cdi.seam.config.core.test/projects/CDIConfigTest/src/org/jboss/test6041/RobotFactory.java (rev 0)
+++ trunk/cdi/tests/org.jboss.tools.cdi.seam.config.core.test/projects/CDIConfigTest/src/org/jboss/test6041/RobotFactory.java 2011-04-27 00:57:12 UTC (rev 30863)
@@ -0,0 +1,5 @@
+package org.jboss.test6041;
+
+public class RobotFactory {
+ String robot = "robot";
+}
Property changes on: trunk/cdi/tests/org.jboss.tools.cdi.seam.config.core.test/projects/CDIConfigTest/src/org/jboss/test6041/RobotFactory.java
___________________________________________________________________
Added: svn:mime-type
+ text/plain
Added: trunk/cdi/tests/org.jboss.tools.cdi.seam.config.core.test/projects/CDIConfigTest/src/org/jboss/test6041/SomeQualifier.java
===================================================================
--- trunk/cdi/tests/org.jboss.tools.cdi.seam.config.core.test/projects/CDIConfigTest/src/org/jboss/test6041/SomeQualifier.java (rev 0)
+++ trunk/cdi/tests/org.jboss.tools.cdi.seam.config.core.test/projects/CDIConfigTest/src/org/jboss/test6041/SomeQualifier.java 2011-04-27 00:57:12 UTC (rev 30863)
@@ -0,0 +1,21 @@
+package org.jboss.test6041;
+
+import java.lang.annotation.Documented;
+import java.lang.annotation.Retention;
+import java.lang.annotation.Target;
+
+import javax.inject.Qualifier;
+
+import static java.lang.annotation.ElementType.FIELD;
+import static java.lang.annotation.ElementType.METHOD;
+import static java.lang.annotation.ElementType.PARAMETER;
+import static java.lang.annotation.ElementType.TYPE;
+import static java.lang.annotation.RetentionPolicy.RUNTIME;
+
+ at Qualifier
+ at Target({ TYPE, METHOD, PARAMETER, FIELD })
+ at Retention(RUNTIME)
+ at Documented
+public @interface SomeQualifier {
+
+}
Property changes on: trunk/cdi/tests/org.jboss.tools.cdi.seam.config.core.test/projects/CDIConfigTest/src/org/jboss/test6041/SomeQualifier.java
___________________________________________________________________
Added: svn:mime-type
+ text/plain
Modified: trunk/cdi/tests/org.jboss.tools.cdi.seam.config.core.test/src/org/jboss/tools/cdi/seam/config/core/test/SeamDefinitionsTest.java
===================================================================
--- trunk/cdi/tests/org.jboss.tools.cdi.seam.config.core.test/src/org/jboss/tools/cdi/seam/config/core/test/SeamDefinitionsTest.java 2011-04-27 00:56:17 UTC (rev 30862)
+++ trunk/cdi/tests/org.jboss.tools.cdi.seam.config.core.test/src/org/jboss/tools/cdi/seam/config/core/test/SeamDefinitionsTest.java 2011-04-27 00:57:12 UTC (rev 30863)
@@ -1,10 +1,14 @@
package org.jboss.tools.cdi.seam.config.core.test;
import java.io.IOException;
+import java.util.HashMap;
+import java.util.Iterator;
+import java.util.Map;
import java.util.Set;
import org.eclipse.core.resources.IFile;
import org.eclipse.core.runtime.CoreException;
+import org.eclipse.jdt.core.IMemberValuePair;
import org.jboss.tools.cdi.core.CDICorePlugin;
import org.jboss.tools.cdi.core.ICDIProject;
import org.jboss.tools.cdi.core.IJavaAnnotation;
@@ -13,6 +17,7 @@
import org.jboss.tools.cdi.seam.config.core.ConfigDefinitionContext;
import org.jboss.tools.cdi.seam.config.core.definition.SeamBeanDefinition;
import org.jboss.tools.cdi.seam.config.core.definition.SeamBeansDefinition;
+import org.jboss.tools.cdi.seam.config.core.definition.SeamFieldDefinition;
import org.jboss.tools.common.text.ITextSourceReference;
/**
@@ -23,7 +28,7 @@
public class SeamDefinitionsTest extends SeamConfigTest {
public SeamDefinitionsTest() {}
- public void testBeansWithReplacesAndModifies() throws CoreException, IOException {
+ public void testReplacingAndModifyingBeans() throws CoreException, IOException {
ICDIProject cdi = CDICorePlugin.getCDIProject(project, true);
ConfigDefinitionContext context = (ConfigDefinitionContext)getConfigExtension(cdi).getContext();
SeamBeansDefinition d = getBeansDefinition(context, "src/META-INF/beans.xml");
@@ -41,8 +46,96 @@
SeamBeanDefinition reportDatasource = ds.iterator().next();
ITextSourceReference replaces = reportDatasource.getReplacesLocation();
assertNotNull(replaces);
+ }
+
+ public void testApplyingAnnotations() throws CoreException {
+ ICDIProject cdi = CDICorePlugin.getCDIProject(project, true);
+ ConfigDefinitionContext context = (ConfigDefinitionContext)getConfigExtension(cdi).getContext();
+ SeamBeansDefinition d = getBeansDefinition(context, "src/META-INF/beans.xml");
+ Set<SeamBeanDefinition> ds = findBeanDefinitionByTagName(d, "test603:QualifiedBean1");
+ assertEquals(1, ds.size());
+ SeamBeanDefinition b = ds.iterator().next();
+ IJavaAnnotation a = b.getAnnotation("org.jboss.test603.OtherQualifier");
+ Map<String, Object> ps = toMap(a.getMemberValuePairs());
+ assertEquals(3, ps.size());
+ assertEquals("AA", "" + ps.get("value1"));
+ assertEquals("1", "" + ps.get("value2"));
+ assertEquals("false", "" + ps.get("value"));
+
+ ds = findBeanDefinitionByTagName(d, "test603:QualifiedBean2");
+ assertEquals(1, ds.size());
+ b = ds.iterator().next();
+ a = b.getAnnotation("org.jboss.test603.OtherQualifier");
+ ps = toMap(a.getMemberValuePairs());
+ assertEquals(3, ps.size());
+ assertEquals("BB", "" + ps.get("value1"));
+ assertEquals("2", "" + ps.get("value2"));
+ assertEquals("true", "" + ps.get("value"));
+ }
+ Map<String, Object> toMap(IMemberValuePair[] ps) {
+ Map<String, Object> result = new HashMap<String, Object>();
+ for (IMemberValuePair p: ps) result.put(p.getMemberName(), p.getValue());
+ return result;
}
+ public void testInitialFieldValues() {
+ ICDIProject cdi = CDICorePlugin.getCDIProject(project, true);
+ ConfigDefinitionContext context = (ConfigDefinitionContext)getConfigExtension(cdi).getContext();
+ SeamBeansDefinition d = getBeansDefinition(context, "src/META-INF/beans.xml");
+
+ /*
+<test6041:RobotFactory>
+ <test6041:robot>
+ <s:Produces/>
+ </test6041:robot>
+</test6041:RobotFactory>
+ */
+ Set<SeamBeanDefinition> ds = findBeanDefinitionByTagName(d, "test6041:RobotFactory");
+ assertEquals(1, ds.size());
+ SeamBeanDefinition b = ds.iterator().next();
+ SeamFieldDefinition f = b.getField("robot");
+ assertNotNull(f);
+ IJavaAnnotation a = f.getAnnotation("javax.enterprise.inject.Produces");
+ assertNotNull(a);
+
+/*
+<test6041:MyBean>
+ <test6041:SomeQualifier/>
+ <test6041:company>Red Hat Inc</test6041:company>
+</test6041:MyBean>
+
+<test6041:MyBean>
+ <test6041:company>
+ <s:value>Red Hat Inc</s:value>
+ <test6041:SomeQualifier/>
+ </test6041:company>
+</test6041:MyBean>
+ */
+ ds = findBeanDefinitionByTagName(d, "test6041:MyBean");
+ assertEquals(2, ds.size());
+ Iterator<SeamBeanDefinition> it = ds.iterator();
+ SeamBeanDefinition b1 = it.next();
+ SeamBeanDefinition b2 = it.next();
+ String someQualifier = "org.jboss.test6041.SomeQualifier";
+ boolean qb1 = b1.getAnnotation(someQualifier) != null;
+ boolean qb2 = b2.getAnnotation(someQualifier) != null;
+ assertFalse(qb1 == qb2);
+ if(qb2) {
+ //assign b1 to bean with qualifier; b2 to bean having field with qualifier.
+ SeamBeanDefinition bc = b1;
+ b1 = b2;
+ b2 = bc;
+ }
+ f = b1.getField("company");
+ assertNotNull(f);
+ assertNull(f.getAnnotation(someQualifier));
+ assertEquals("Red Hat Inc", f.getValue());
+ f = b2.getField("company");
+ assertNotNull(f);
+ assertNotNull(f.getAnnotation(someQualifier));
+ assertEquals("Red Hat Inc", f.getValue());
+ }
+
}
More information about the jbosstools-commits
mailing list