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

jbosstools-commits at lists.jboss.org jbosstools-commits at lists.jboss.org
Wed Apr 27 18:17:21 EDT 2011


Author: scabanovich
Date: 2011-04-27 18:17:21 -0400 (Wed, 27 Apr 2011)
New Revision: 30886

Added:
   trunk/cdi/tests/org.jboss.tools.cdi.seam.config.core.test/projects/CDIConfigTest/src/org/jboss/test6042/
   trunk/cdi/tests/org.jboss.tools.cdi.seam.config.core.test/projects/CDIConfigTest/src/org/jboss/test6042/Horse.java
   trunk/cdi/tests/org.jboss.tools.cdi.seam.config.core.test/projects/CDIConfigTest/src/org/jboss/test6042/Knight.java
   trunk/cdi/tests/org.jboss.tools.cdi.seam.config.core.test/projects/CDIConfigTest/src/org/jboss/test6042/Sword.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 22:16:57 UTC (rev 30885)
+++ trunk/cdi/tests/org.jboss.tools.cdi.seam.config.core.test/projects/CDIConfigTest/src/META-INF/beans.xml	2011-04-27 22:17:21 UTC (rev 30886)
@@ -6,6 +6,7 @@
    xmlns:test602="urn:java:org.jboss.test602.report"
    xmlns:test603="urn:java:org.jboss.test603"
    xmlns:test6041="urn:java:org.jboss.test6041"
+   xmlns:test6042="urn:java:org.jboss.test6042"
    xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://jboss.org/schema/cdi/beans_1_0.xsd"> 
 <config:MyAnnotation>
 	 <s:Qualifier1/>
@@ -62,4 +63,24 @@
     </test6041:stringArrayField>
 </test6041:ArrayFieldValue>
 
+<test6042:Knight>
+  <test6042:sword>
+     <s:value>
+        <test6042:Sword type="sharp"/>
+     </s:value>
+  </test6042:sword>
+  <test6042:horse>
+     <s:value>
+        <test6042:Horse>
+           <test6042:name>
+              <s:value>billy</s:value>
+           </test6042:name>
+           <test6042:shoe>
+              <s:Inject/>
+           </test6042:shoe>
+        </test6042:Horse>
+     </s:value>
+  </test6042:horse>
+</test6042:Knight>
+
 </beans>

Added: trunk/cdi/tests/org.jboss.tools.cdi.seam.config.core.test/projects/CDIConfigTest/src/org/jboss/test6042/Horse.java
===================================================================
--- trunk/cdi/tests/org.jboss.tools.cdi.seam.config.core.test/projects/CDIConfigTest/src/org/jboss/test6042/Horse.java	                        (rev 0)
+++ trunk/cdi/tests/org.jboss.tools.cdi.seam.config.core.test/projects/CDIConfigTest/src/org/jboss/test6042/Horse.java	2011-04-27 22:17:21 UTC (rev 30886)
@@ -0,0 +1,6 @@
+package org.jboss.test6042;
+
+public class Horse {
+	String name;
+	String shoe;
+}


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

Added: trunk/cdi/tests/org.jboss.tools.cdi.seam.config.core.test/projects/CDIConfigTest/src/org/jboss/test6042/Knight.java
===================================================================
--- trunk/cdi/tests/org.jboss.tools.cdi.seam.config.core.test/projects/CDIConfigTest/src/org/jboss/test6042/Knight.java	                        (rev 0)
+++ trunk/cdi/tests/org.jboss.tools.cdi.seam.config.core.test/projects/CDIConfigTest/src/org/jboss/test6042/Knight.java	2011-04-27 22:17:21 UTC (rev 30886)
@@ -0,0 +1,7 @@
+package org.jboss.test6042;
+
+public class Knight {
+	Sword sword;
+	Horse horse;
+
+}


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

Added: trunk/cdi/tests/org.jboss.tools.cdi.seam.config.core.test/projects/CDIConfigTest/src/org/jboss/test6042/Sword.java
===================================================================
--- trunk/cdi/tests/org.jboss.tools.cdi.seam.config.core.test/projects/CDIConfigTest/src/org/jboss/test6042/Sword.java	                        (rev 0)
+++ trunk/cdi/tests/org.jboss.tools.cdi.seam.config.core.test/projects/CDIConfigTest/src/org/jboss/test6042/Sword.java	2011-04-27 22:17:21 UTC (rev 30886)
@@ -0,0 +1,6 @@
+package org.jboss.test6042;
+
+public class Sword {
+	String type;
+
+}


Property changes on: trunk/cdi/tests/org.jboss.tools.cdi.seam.config.core.test/projects/CDIConfigTest/src/org/jboss/test6042/Sword.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 22:16:57 UTC (rev 30885)
+++ 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 22:17:21 UTC (rev 30886)
@@ -10,10 +10,12 @@
 import org.eclipse.core.resources.IFile;
 import org.eclipse.core.runtime.CoreException;
 import org.eclipse.jdt.core.IMemberValuePair;
+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.IJavaAnnotation;
 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;
 import org.jboss.tools.cdi.seam.config.core.ConfigDefinitionContext;
 import org.jboss.tools.cdi.seam.config.core.definition.SeamBeanDefinition;
@@ -187,4 +189,74 @@
 		
 	}
 
+	/**
+<test6042:Knight>
+  <test6042:sword>
+     <s:value>
+        <test6042:Sword type="sharp"/>
+     </s:value>
+  </test6042:sword>
+  <test6042:horse>
+     <s:value>
+        <test6042:Horse>
+           <test6042:name>
+              <value>billy</value>
+           </test6042:name>
+           <test6042:shoe>
+              <Inject/>
+           </test6042:shoe>
+        </test6042:Horse>
+     </s:value>
+  </test6042:horse>
+</test6042:Knight>
+	 */
+	public void testInlineBeanDeclarations() {
+		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, "test6042:Knight");
+		assertEquals(1, ds.size());
+		SeamBeanDefinition knight = ds.iterator().next();
+	
+		SeamFieldDefinition f = knight.getField("sword");
+		assertNotNull(f);
+		ds = findBeanDefinitionByTagName(d, "test6042:Sword");
+		assertEquals(1, ds.size());
+		SeamBeanDefinition sword = ds.iterator().next();
+		assertTrue(sword.isInline());
+		IJavaAnnotation a1 = sword.getAnnotation(CDISeamConfigConstants.INLINE_BEAN_QUALIFIER);
+		assertNotNull(a1);
+		IJavaAnnotation a2 = f.getAnnotation(CDISeamConfigConstants.INLINE_BEAN_QUALIFIER);
+		assertTrue(a1 == a2);
+		IJavaAnnotation inject = f.getAnnotation(CDIConstants.INJECT_ANNOTATION_TYPE_NAME);
+		assertNotNull(inject);
+	
+		SeamFieldDefinition swordType = sword.getField("type");
+		assertNotNull(swordType);
+		assertEquals("sharp", swordType.getValue());
+
+		f = knight.getField("horse");
+		assertNotNull(f);
+		ds = findBeanDefinitionByTagName(d, "test6042:Horse");
+		assertEquals(1, ds.size());
+		SeamBeanDefinition horse = ds.iterator().next();
+		assertTrue(horse.isInline());
+		a1 = horse.getAnnotation(CDISeamConfigConstants.INLINE_BEAN_QUALIFIER);
+		assertNotNull(a1);
+		a2 = f.getAnnotation(CDISeamConfigConstants.INLINE_BEAN_QUALIFIER);
+		assertTrue(a1 == a2);
+		inject = f.getAnnotation(CDIConstants.INJECT_ANNOTATION_TYPE_NAME);
+		assertNotNull(inject);
+
+		SeamFieldDefinition horseName = horse.getField("name");
+		assertNotNull(horseName);
+		assertEquals("billy", horseName.getValue());
+		SeamFieldDefinition shoe = horse.getField("shoe");
+		assertNotNull(shoe);
+		inject = shoe.getAnnotation(CDIConstants.INJECT_ANNOTATION_TYPE_NAME);
+		assertNotNull(inject);
+		
+	}
+
 }



More information about the jbosstools-commits mailing list