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

jbosstools-commits at lists.jboss.org jbosstools-commits at lists.jboss.org
Thu Apr 28 21:31:55 EDT 2011


Author: scabanovich
Date: 2011-04-28 21:31:55 -0400 (Thu, 28 Apr 2011)
New Revision: 30960

Added:
   trunk/cdi/tests/org.jboss.tools.cdi.seam.config.core.test/projects/CDIConfigTest/src/org/jboss/test605/MethodBean3.java
   trunk/cdi/tests/org.jboss.tools.cdi.seam.config.core.test/projects/CDIConfigTest/src/org/jboss/test605/MethodBean4.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/projects/CDIConfigTest/src/org/jboss/test605/MethodBean.java
   trunk/cdi/tests/org.jboss.tools.cdi.seam.config.core.test/projects/CDIConfigTest/src/org/jboss/test605/MethodBean2.java
   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-29 01:31:29 UTC (rev 30959)
+++ trunk/cdi/tests/org.jboss.tools.cdi.seam.config.core.test/projects/CDIConfigTest/src/META-INF/beans.xml	2011-04-29 01:31:55 UTC (rev 30960)
@@ -120,6 +120,17 @@
     </test605:doStuff>
 </test605:MethodBean>
 
+<test605:MethodBean3>
+    <test605:name>
+    </test605:name>
+</test605:MethodBean3>
+
+<test605:MethodBean4>
+    <test605:name>
+      <s:parameters/>
+    </test605:name>
+</test605:MethodBean4>
+
 <test605:MethodBean2>
     <test605:method>
         <s:array>

Modified: trunk/cdi/tests/org.jboss.tools.cdi.seam.config.core.test/projects/CDIConfigTest/src/org/jboss/test605/MethodBean.java
===================================================================
--- trunk/cdi/tests/org.jboss.tools.cdi.seam.config.core.test/projects/CDIConfigTest/src/org/jboss/test605/MethodBean.java	2011-04-29 01:31:29 UTC (rev 30959)
+++ trunk/cdi/tests/org.jboss.tools.cdi.seam.config.core.test/projects/CDIConfigTest/src/org/jboss/test605/MethodBean.java	2011-04-29 01:31:55 UTC (rev 30960)
@@ -1,5 +1,36 @@
 package org.jboss.test605;
 
+/**
+ * 6.5. Configuring methods
+ * It is also possible to configure methods in a similar way to configuring fields:
+<test605:MethodBean>
+    <test605:doStuff>
+        <s:Produces/>
+    </test605:doStuff>      
+
+    <test605:doStuff>
+        <s:Produces/>
+        <test605:Qualifier1/>
+        <s:parameters>
+            <s:Long>
+                <test605:Qualifier2/>
+            </s:Long>
+        </s:parameters>
+    </test605:doStuff>
+
+    <test605:doStuff>
+        <s:Produces/>
+        <test605:Qualifier1/>
+        <s:parameters>
+            <s:array dimensions="2">
+                <test605:Qualifier2/>
+                <s:Long/>
+            </s:array>
+        </s:parameters>
+    </test605:doStuff>
+</test605:MethodBean>
+ *
+ */
 public class MethodBean {
 
 	public int doStuff() {

Modified: trunk/cdi/tests/org.jboss.tools.cdi.seam.config.core.test/projects/CDIConfigTest/src/org/jboss/test605/MethodBean2.java
===================================================================
--- trunk/cdi/tests/org.jboss.tools.cdi.seam.config.core.test/projects/CDIConfigTest/src/org/jboss/test605/MethodBean2.java	2011-04-29 01:31:29 UTC (rev 30959)
+++ trunk/cdi/tests/org.jboss.tools.cdi.seam.config.core.test/projects/CDIConfigTest/src/org/jboss/test605/MethodBean2.java	2011-04-29 01:31:55 UTC (rev 30960)
@@ -1,5 +1,16 @@
 package org.jboss.test605;
 
+/**
+ * 6.5. Configuring methods
+ * Array parameters can be represented using the <s:array> element, 
+ * with a child element to represent the type of the array. 
+ * E.g. int method(String[] param); could be configured via xml using the following:
+<my:method>
+    <s:array>
+      <my:MethodValueBean/>
+    </s:array>
+</my:method>
+ */
 public class MethodBean2 {
 	
 	public void method(String[] s) {

Added: trunk/cdi/tests/org.jboss.tools.cdi.seam.config.core.test/projects/CDIConfigTest/src/org/jboss/test605/MethodBean3.java
===================================================================
--- trunk/cdi/tests/org.jboss.tools.cdi.seam.config.core.test/projects/CDIConfigTest/src/org/jboss/test605/MethodBean3.java	                        (rev 0)
+++ trunk/cdi/tests/org.jboss.tools.cdi.seam.config.core.test/projects/CDIConfigTest/src/org/jboss/test605/MethodBean3.java	2011-04-29 01:31:55 UTC (rev 30960)
@@ -0,0 +1,22 @@
+package org.jboss.test605;
+
+/**
+ * 6.5.Note
+ * If a class has a field and a method of the same name then by default the field 
+ * will be resolved, unless the element has a child <parameters> element, 
+ * in which case it is resolved as a method.
+ * In the next example field must be resolved.
+<test605:MethodBean3>
+    <test605:name>
+    </test605:name>
+</test605:MethodBean3>
+ *
+ */
+public class MethodBean3 {
+	String name;
+
+	String name() {
+		return "";
+	}
+
+}


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

Added: trunk/cdi/tests/org.jboss.tools.cdi.seam.config.core.test/projects/CDIConfigTest/src/org/jboss/test605/MethodBean4.java
===================================================================
--- trunk/cdi/tests/org.jboss.tools.cdi.seam.config.core.test/projects/CDIConfigTest/src/org/jboss/test605/MethodBean4.java	                        (rev 0)
+++ trunk/cdi/tests/org.jboss.tools.cdi.seam.config.core.test/projects/CDIConfigTest/src/org/jboss/test605/MethodBean4.java	2011-04-29 01:31:55 UTC (rev 30960)
@@ -0,0 +1,23 @@
+package org.jboss.test605;
+
+/**
+ * 6.5.Note
+ * If a class has a field and a method of the same name then by default the field 
+ * will be resolved, unless the element has a child <parameters> element, 
+ * in which case it is resolved as a method.
+ * In the next example method must be resolved.
+<test605:MethodBean3>
+    <test605:name>
+    	<s:parameters/>
+    </test605:name>
+</test605:MethodBean3>
+ *
+ */
+public class MethodBean4 {
+	String name;
+
+	String name() {
+		return "";
+	}
+
+}


Property changes on: trunk/cdi/tests/org.jboss.tools.cdi.seam.config.core.test/projects/CDIConfigTest/src/org/jboss/test605/MethodBean4.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-29 01:31:29 UTC (rev 30959)
+++ trunk/cdi/tests/org.jboss.tools.cdi.seam.config.core.test/src/org/jboss/tools/cdi/seam/config/core/test/SeamDefinitionsTest.java	2011-04-29 01:31:55 UTC (rev 30960)
@@ -30,6 +30,7 @@
 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.internal.core.impl.BeanField;
 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;
@@ -369,6 +370,27 @@
 		
 	}
 
+	public void testResolvingBetweenFieldAndMethod() {
+		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, "test605:MethodBean3");
+		assertEquals(1, ds.size());
+		SeamBeanDefinition b = ds.iterator().next();
+		SeamFieldDefinition f = b.getField("name");
+		assertNotNull(f);
+		
+		ds = findBeanDefinitionByTagName(d, "test605:MethodBean4");
+		assertEquals(1, ds.size());
+		b = ds.iterator().next();
+		List<SeamMethodDefinition> ms = b.getMethods();
+		assertEquals(1, ms.size());
+		SeamMethodDefinition m = ms.get(0);
+		assertEquals("name", m.getMethod().getElementName());
+		
+	}
+
 	/**
 <test606:MyBean>
    <s:parameters>



More information about the jbosstools-commits mailing list