[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