[jbosstools-commits] JBoss Tools SVN: r30948 - in trunk/cdi/tests/org.jboss.tools.cdi.seam.config.core.test: projects/CDIConfigTest/lib and 4 other directories.

jbosstools-commits at lists.jboss.org jbosstools-commits at lists.jboss.org
Thu Apr 28 18:50:47 EDT 2011


Author: scabanovich
Date: 2011-04-28 18:50:46 -0400 (Thu, 28 Apr 2011)
New Revision: 30948

Added:
   trunk/cdi/tests/org.jboss.tools.cdi.seam.config.core.test/projects/CDIConfigTest/lib/jboss-interceptor-api.jar
   trunk/cdi/tests/org.jboss.tools.cdi.seam.config.core.test/projects/CDIConfigTest/src/org/jboss/test608/
   trunk/cdi/tests/org.jboss.tools.cdi.seam.config.core.test/projects/CDIConfigTest/src/org/jboss/test608/MyInterceptorBinding.java
   trunk/cdi/tests/org.jboss.tools.cdi.seam.config.core.test/projects/CDIConfigTest/src/org/jboss/test608/SomeInterceptorBinding.java
   trunk/cdi/tests/org.jboss.tools.cdi.seam.config.core.test/projects/CDIConfigTest/src/org/jboss/test608/SomeQualifier.java
   trunk/cdi/tests/org.jboss.tools.cdi.seam.config.core.test/projects/CDIConfigTest/src/org/jboss/test608/SomeStereotype.java
Modified:
   trunk/cdi/tests/org.jboss.tools.cdi.seam.config.core.test/projects/CDIConfigTest/.classpath
   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/.classpath
===================================================================
--- trunk/cdi/tests/org.jboss.tools.cdi.seam.config.core.test/projects/CDIConfigTest/.classpath	2011-04-28 22:50:02 UTC (rev 30947)
+++ trunk/cdi/tests/org.jboss.tools.cdi.seam.config.core.test/projects/CDIConfigTest/.classpath	2011-04-28 22:50:46 UTC (rev 30948)
@@ -6,5 +6,6 @@
 	<classpathentry kind="lib" path="lib/javax.inject.jar"/>
 	<classpathentry kind="lib" path="lib/seam-config-xml.jar"/>
 	<classpathentry kind="lib" path="lib/seam-solder.jar"/>
+	<classpathentry kind="lib" path="lib/jboss-interceptor-api.jar"/>
 	<classpathentry kind="output" path="bin"/>
 </classpath>

Added: trunk/cdi/tests/org.jboss.tools.cdi.seam.config.core.test/projects/CDIConfigTest/lib/jboss-interceptor-api.jar
===================================================================
(Binary files differ)


Property changes on: trunk/cdi/tests/org.jboss.tools.cdi.seam.config.core.test/projects/CDIConfigTest/lib/jboss-interceptor-api.jar
___________________________________________________________________
Added: svn:mime-type
   + application/octet-stream

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-28 22:50:02 UTC (rev 30947)
+++ trunk/cdi/tests/org.jboss.tools.cdi.seam.config.core.test/projects/CDIConfigTest/src/META-INF/beans.xml	2011-04-28 22:50:46 UTC (rev 30948)
@@ -10,11 +10,13 @@
    xmlns:test605="urn:java:org.jboss.test605"
    xmlns:test606="urn:java:org.jboss.test606"
    xmlns:test607="urn:java:org.jboss.test607"
+   xmlns:test608="urn:java:org.jboss.test608"
    xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://jboss.org/schema/cdi/beans_1_0.xsd"> 
 <config:MyAnnotation>
 	 <s:Qualifier1/>
 </config:MyAnnotation>
 
+<!-- 6.2. Adding, replacing and modifying beans -->
 <test602:Report>
     <s:modifies/>
     <test602:NewQualifier/>
@@ -25,6 +27,7 @@
     <test602:NewQualifier/>
 </test602:ReportDatasource>
 
+<!-- 6.3. Applying annotations using XML -->
 <test603:QualifiedBean1>
         <test603:OtherQualifier value1="AA" value2="1">false</test603:OtherQualifier>
 </test603:QualifiedBean1>    
@@ -33,12 +36,14 @@
     <test603:OtherQualifier value1="BB" value2="2" value="true" />
 </test603:QualifiedBean2>
 
+<!-- 6.4. Configuring Fields -->
 <test6041:RobotFactory>
     <test6041:robot>
         <s:Produces/>
     </test6041:robot>
 </test6041:RobotFactory>
 
+<!-- 6.4.1. Initial Field Values -->
 <test6041:MyBean>
     <test6041:SomeQualifier/>
     <test6041:company>Red Hat Inc</test6041:company>
@@ -66,6 +71,7 @@
     </test6041:stringArrayField>
 </test6041:ArrayFieldValue>
 
+<!-- 6.4.2. Inline Bean Declarations -->
 <test6042:Knight>
   <test6042:sword>
      <s:value>
@@ -86,6 +92,7 @@
   </test6042:horse>
 </test6042:Knight>
 
+<!-- 6.5. Configuring methods -->
 <test605:MethodBean>
     <test605:doStuff>
         <s:Produces/>
@@ -121,6 +128,7 @@
     </test605:method>
 </test605:MethodBean2>
 
+<!-- 6.6. Configuring the bean constructor -->
 <test606:MyBean>
    <s:parameters>
        <s:Integer>
@@ -129,6 +137,7 @@
    </s:parameters>
 </test606:MyBean>
 
+<!-- 6.7. Overriding the type of an injection point -->
 <test607:SomeBean>
     <test607:someField>
         <s:Inject/>
@@ -136,4 +145,26 @@
     </test607:someField>
 </test607:SomeBean>
 
+<!-- 6.8. Configuring Meta Annotations -->
+<test608:SomeStereotype>
+    <s:Stereotype/>
+    <test608:MyInterceptorBinding/>
+    <s:Named/>
+</test608:SomeStereotype>
+
+<test608:SomeQualifier>
+    <s:Qualifier/>
+</test608:SomeQualifier>
+
+<test608:SomeInterceptorBinding>
+    <s:InterceptorBinding/>
+</test608:SomeInterceptorBinding>
+
+<!-- 6.9. Virtual Producer Fields -->
+<s:String>
+  <s:Produces/>
+  <test606:MyQualifier />
+  <s:value>Version 1.23</s:value>
+</s:String>
+
 </beans>

Added: trunk/cdi/tests/org.jboss.tools.cdi.seam.config.core.test/projects/CDIConfigTest/src/org/jboss/test608/MyInterceptorBinding.java
===================================================================
--- trunk/cdi/tests/org.jboss.tools.cdi.seam.config.core.test/projects/CDIConfigTest/src/org/jboss/test608/MyInterceptorBinding.java	                        (rev 0)
+++ trunk/cdi/tests/org.jboss.tools.cdi.seam.config.core.test/projects/CDIConfigTest/src/org/jboss/test608/MyInterceptorBinding.java	2011-04-28 22:50:46 UTC (rev 30948)
@@ -0,0 +1,21 @@
+package org.jboss.test608;
+
+import java.lang.annotation.Documented;
+import java.lang.annotation.Inherited;
+import java.lang.annotation.Retention;
+import java.lang.annotation.Target;
+
+import javax.interceptor.InterceptorBinding;
+
+import static java.lang.annotation.ElementType.METHOD;
+import static java.lang.annotation.ElementType.TYPE;
+import static java.lang.annotation.RetentionPolicy.RUNTIME;
+
+ at InterceptorBinding
+ at Inherited
+ at Target({ TYPE, METHOD })
+ at Retention(RUNTIME)
+ at Documented
+public @interface MyInterceptorBinding {
+
+}


Property changes on: trunk/cdi/tests/org.jboss.tools.cdi.seam.config.core.test/projects/CDIConfigTest/src/org/jboss/test608/MyInterceptorBinding.java
___________________________________________________________________
Added: svn:mime-type
   + text/plain

Added: trunk/cdi/tests/org.jboss.tools.cdi.seam.config.core.test/projects/CDIConfigTest/src/org/jboss/test608/SomeInterceptorBinding.java
===================================================================
--- trunk/cdi/tests/org.jboss.tools.cdi.seam.config.core.test/projects/CDIConfigTest/src/org/jboss/test608/SomeInterceptorBinding.java	                        (rev 0)
+++ trunk/cdi/tests/org.jboss.tools.cdi.seam.config.core.test/projects/CDIConfigTest/src/org/jboss/test608/SomeInterceptorBinding.java	2011-04-28 22:50:46 UTC (rev 30948)
@@ -0,0 +1,18 @@
+package org.jboss.test608;
+
+import java.lang.annotation.Documented;
+import java.lang.annotation.Inherited;
+import java.lang.annotation.Retention;
+import java.lang.annotation.Target;
+
+import static java.lang.annotation.ElementType.METHOD;
+import static java.lang.annotation.ElementType.TYPE;
+import static java.lang.annotation.RetentionPolicy.RUNTIME;
+
+ at Inherited
+ at Target({ TYPE, METHOD })
+ at Retention(RUNTIME)
+ at Documented
+public @interface SomeInterceptorBinding {
+
+}


Property changes on: trunk/cdi/tests/org.jboss.tools.cdi.seam.config.core.test/projects/CDIConfigTest/src/org/jboss/test608/SomeInterceptorBinding.java
___________________________________________________________________
Added: svn:mime-type
   + text/plain

Added: trunk/cdi/tests/org.jboss.tools.cdi.seam.config.core.test/projects/CDIConfigTest/src/org/jboss/test608/SomeQualifier.java
===================================================================
--- trunk/cdi/tests/org.jboss.tools.cdi.seam.config.core.test/projects/CDIConfigTest/src/org/jboss/test608/SomeQualifier.java	                        (rev 0)
+++ trunk/cdi/tests/org.jboss.tools.cdi.seam.config.core.test/projects/CDIConfigTest/src/org/jboss/test608/SomeQualifier.java	2011-04-28 22:50:46 UTC (rev 30948)
@@ -0,0 +1,18 @@
+package org.jboss.test608;
+
+import java.lang.annotation.Documented;
+import java.lang.annotation.Retention;
+import java.lang.annotation.Target;
+
+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 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/test608/SomeQualifier.java
___________________________________________________________________
Added: svn:mime-type
   + text/plain

Added: trunk/cdi/tests/org.jboss.tools.cdi.seam.config.core.test/projects/CDIConfigTest/src/org/jboss/test608/SomeStereotype.java
===================================================================
--- trunk/cdi/tests/org.jboss.tools.cdi.seam.config.core.test/projects/CDIConfigTest/src/org/jboss/test608/SomeStereotype.java	                        (rev 0)
+++ trunk/cdi/tests/org.jboss.tools.cdi.seam.config.core.test/projects/CDIConfigTest/src/org/jboss/test608/SomeStereotype.java	2011-04-28 22:50:46 UTC (rev 30948)
@@ -0,0 +1,17 @@
+package org.jboss.test608;
+
+import java.lang.annotation.Documented;
+import java.lang.annotation.Retention;
+import java.lang.annotation.Target;
+
+import static java.lang.annotation.ElementType.FIELD;
+import static java.lang.annotation.ElementType.METHOD;
+import static java.lang.annotation.ElementType.TYPE;
+import static java.lang.annotation.RetentionPolicy.RUNTIME;
+
+ at Target({ TYPE, METHOD, FIELD })
+ at Retention(RUNTIME)
+ at Documented
+public @interface SomeStereotype {
+
+}


Property changes on: trunk/cdi/tests/org.jboss.tools.cdi.seam.config.core.test/projects/CDIConfigTest/src/org/jboss/test608/SomeStereotype.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-28 22:50:02 UTC (rev 30947)
+++ trunk/cdi/tests/org.jboss.tools.cdi.seam.config.core.test/src/org/jboss/tools/cdi/seam/config/core/test/SeamDefinitionsTest.java	2011-04-28 22:50:46 UTC (rev 30948)
@@ -21,10 +21,14 @@
 import org.eclipse.core.runtime.CoreException;
 import org.eclipse.jdt.core.IMemberValuePair;
 import org.eclipse.jdt.core.IMethod;
+import org.eclipse.jdt.core.IType;
 import org.jboss.tools.cdi.core.CDIConstants;
 import org.jboss.tools.cdi.core.CDICorePlugin;
 import org.jboss.tools.cdi.core.ICDIProject;
+import org.jboss.tools.cdi.core.IInterceptorBinding;
 import org.jboss.tools.cdi.core.IJavaAnnotation;
+import org.jboss.tools.cdi.core.IQualifier;
+import org.jboss.tools.cdi.core.IStereotype;
 import org.jboss.tools.cdi.core.extension.feature.IBuildParticipantFeature;
 import org.jboss.tools.cdi.seam.config.core.CDISeamConfigConstants;
 import org.jboss.tools.cdi.seam.config.core.CDISeamConfigExtension;
@@ -34,6 +38,7 @@
 import org.jboss.tools.cdi.seam.config.core.definition.SeamFieldDefinition;
 import org.jboss.tools.cdi.seam.config.core.definition.SeamMethodDefinition;
 import org.jboss.tools.cdi.seam.config.core.definition.SeamParameterDefinition;
+import org.jboss.tools.cdi.seam.config.core.definition.SeamVirtualFieldDefinition;
 import org.jboss.tools.cdi.seam.solder.core.CDISeamSolderConstants;
 import org.jboss.tools.common.text.ITextSourceReference;
 
@@ -395,8 +400,12 @@
 	}
 
 	/**
-	 * 
-	 * @throws CoreException
+<test607:SomeBean>
+    <test607:someField>
+        <s:Inject/>
+        <s:Exact>org.jboss.test607.MyInterface</s:Exact>
+    </test607:someField>
+</test607:SomeBean>
 	 */
 	public void testOverridingTypeOfAnInjectionPoint() throws CoreException {
 		ICDIProject cdi = CDICorePlugin.getCDIProject(project, true);
@@ -418,4 +427,63 @@
 		
 	}
 
+	public void testConfiguringMetaAnnotations() {
+		ICDIProject cdi = CDICorePlugin.getCDIProject(project, true);
+		ConfigDefinitionContext context = (ConfigDefinitionContext)getConfigExtension(cdi).getContext();
+		SeamBeansDefinition d = getBeansDefinition(context, "src/META-INF/beans.xml");
+
+		/*
+<test608:SomeQualifier>
+    <s:Qualifier/>
+</test608:SomeQualifier>
+		 */
+		context.getRootContext().getAnnotation("org.jboss.test608.SomeQualifier");
+		IQualifier q = cdi.getQualifier("org.jboss.test608.SomeQualifier");
+		assertNotNull(q);
+
+		/*
+<test608:SomeInterceptorBinding>
+    <s:InterceptorBinding/>
+</test608:SomeInterceptorBinding>
+		 */
+		IInterceptorBinding b = cdi.getInterceptorBinding("org.jboss.test608.SomeInterceptorBinding");
+		assertNotNull(b);
+	
+		/*
+<test608:SomeStereotype>
+    <s:Stereotype/>
+    <test608:MyInterceptorBinding/>
+    <s:Named/>
+</test608:SomeStereotype>
+		 */
+		IStereotype s = cdi.getStereotype("org.jboss.test608.SomeStereotype");
+		assertNotNull(s);
+		assertNotNull(s.getAnnotation(CDIConstants.NAMED_QUALIFIER_TYPE_NAME));
+		Set<IInterceptorBinding> bs = s.getInterceptorBindings();
+		assertEquals(1, bs.size());
+		
+	}
+	
+	public void testVirtualProducerField() {
+		ICDIProject cdi = CDICorePlugin.getCDIProject(project, true);
+		ConfigDefinitionContext context = (ConfigDefinitionContext)getConfigExtension(cdi).getContext();
+		SeamBeansDefinition d = getBeansDefinition(context, "src/META-INF/beans.xml");
+		
+		Set<SeamVirtualFieldDefinition> fs = d.getVirtualFieldDefinitions();
+		assertFalse(fs.isEmpty());
+		SeamVirtualFieldDefinition f = findVirtualField(fs, "java.lang.String", "org.jboss.test606.MyQualifier");
+		assertNotNull(f);
+		assertNotNull(f.getAnnotation(CDIConstants.PRODUCES_ANNOTATION_TYPE_NAME));
+		assertEquals("Version 1.23", f.getValue());
+
+	}
+
+	private SeamVirtualFieldDefinition findVirtualField(Set<SeamVirtualFieldDefinition> fs, String typeName, String qualifier) {
+		for (SeamVirtualFieldDefinition f: fs) {
+			IType t = f.getType();
+			if(typeName.equals(t.getFullyQualifiedName()) && f.getAnnotation(qualifier) != null) return f;
+		}
+		return null;
+	}
+
 }



More information about the jbosstools-commits mailing list