Author: scabanovich
Date: 2011-04-27 21:19:47 -0400 (Wed, 27 Apr 2011)
New Revision: 30893
Added:
trunk/cdi/tests/org.jboss.tools.cdi.seam.config.core.test/projects/CDIConfigTest/lib/seam-solder.jar
trunk/cdi/tests/org.jboss.tools.cdi.seam.config.core.test/projects/CDIConfigTest/src/org/jboss/test605/
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/projects/CDIConfigTest/src/org/jboss/test605/Qualifier1.java
trunk/cdi/tests/org.jboss.tools.cdi.seam.config.core.test/projects/CDIConfigTest/src/org/jboss/test605/Qualifier2.java
trunk/cdi/tests/org.jboss.tools.cdi.seam.config.core.test/projects/CDIConfigTest/src/org/jboss/test606/
trunk/cdi/tests/org.jboss.tools.cdi.seam.config.core.test/projects/CDIConfigTest/src/org/jboss/test606/MyBean.java
trunk/cdi/tests/org.jboss.tools.cdi.seam.config.core.test/projects/CDIConfigTest/src/org/jboss/test606/MyQualifier.java
trunk/cdi/tests/org.jboss.tools.cdi.seam.config.core.test/projects/CDIConfigTest/src/org/jboss/test607/
trunk/cdi/tests/org.jboss.tools.cdi.seam.config.core.test/projects/CDIConfigTest/src/org/jboss/test607/MyImpl.java
trunk/cdi/tests/org.jboss.tools.cdi.seam.config.core.test/projects/CDIConfigTest/src/org/jboss/test607/MyInterface.java
trunk/cdi/tests/org.jboss.tools.cdi.seam.config.core.test/projects/CDIConfigTest/src/org/jboss/test607/SomeBean.java
Modified:
trunk/cdi/tests/org.jboss.tools.cdi.seam.config.core.test/META-INF/MANIFEST.MF
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/ExtensionTest.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/META-INF/MANIFEST.MF
===================================================================
---
trunk/cdi/tests/org.jboss.tools.cdi.seam.config.core.test/META-INF/MANIFEST.MF 2011-04-28
01:18:04 UTC (rev 30892)
+++
trunk/cdi/tests/org.jboss.tools.cdi.seam.config.core.test/META-INF/MANIFEST.MF 2011-04-28
01:19:47 UTC (rev 30893)
@@ -19,6 +19,7 @@
org.eclipse.ltk.core.refactoring,
org.jboss.tools.jst.web.kb,
org.jboss.tools.cdi.xml,
+ org.jboss.tools.cdi.seam.solder.core,
org.eclipse.jst.standard.schemas
Export-Package: org.jboss.tools.cdi.seam.config.core.test
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
01:18:04 UTC (rev 30892)
+++
trunk/cdi/tests/org.jboss.tools.cdi.seam.config.core.test/projects/CDIConfigTest/.classpath 2011-04-28
01:19:47 UTC (rev 30893)
@@ -5,5 +5,6 @@
<classpathentry kind="lib" path="lib/cdi-api.jar"/>
<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="output" path="bin"/>
</classpath>
Added:
trunk/cdi/tests/org.jboss.tools.cdi.seam.config.core.test/projects/CDIConfigTest/lib/seam-solder.jar
===================================================================
(Binary files differ)
Property changes on:
trunk/cdi/tests/org.jboss.tools.cdi.seam.config.core.test/projects/CDIConfigTest/lib/seam-solder.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
01:18:04 UTC (rev 30892)
+++
trunk/cdi/tests/org.jboss.tools.cdi.seam.config.core.test/projects/CDIConfigTest/src/META-INF/beans.xml 2011-04-28
01:19:47 UTC (rev 30893)
@@ -7,6 +7,9 @@
xmlns:test603="urn:java:org.jboss.test603"
xmlns:test6041="urn:java:org.jboss.test6041"
xmlns:test6042="urn:java:org.jboss.test6042"
+ xmlns:test605="urn:java:org.jboss.test605"
+ xmlns:test606="urn:java:org.jboss.test606"
+ xmlns:test607="urn:java:org.jboss.test607"
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee
http://jboss.org/schema/cdi/beans_1_0.xsd">
<config:MyAnnotation>
<s:Qualifier1/>
@@ -83,4 +86,54 @@
</test6042:horse>
</test6042:Knight>
+<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>
+
+<test605:MethodBean2>
+ <test605:method>
+ <s:array>
+ <s:String/>
+ </s:array>
+ </test605:method>
+</test605:MethodBean2>
+
+<test606:MyBean>
+ <s:parameters>
+ <s:Integer>
+ <test606:MyQualifier/>
+ </s:Integer>
+ </s:parameters>
+</test606:MyBean>
+
+<test607:SomeBean>
+ <test607:someField>
+ <s:Inject/>
+ <s:Exact>org.jboss.test607.MyInterface</s:Exact>
+ </test607:someField>
+</test607:SomeBean>
+
</beans>
Added:
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
(rev 0)
+++
trunk/cdi/tests/org.jboss.tools.cdi.seam.config.core.test/projects/CDIConfigTest/src/org/jboss/test605/MethodBean.java 2011-04-28
01:19:47 UTC (rev 30893)
@@ -0,0 +1,16 @@
+package org.jboss.test605;
+
+public class MethodBean {
+
+ public int doStuff() {
+ return 1;
+ }
+
+ public long doStuff(long c) {
+ return c + 1;
+ }
+
+ public void doStuff(long[][] beans) {
+
+ }
+}
Property changes on:
trunk/cdi/tests/org.jboss.tools.cdi.seam.config.core.test/projects/CDIConfigTest/src/org/jboss/test605/MethodBean.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/MethodBean2.java
===================================================================
---
trunk/cdi/tests/org.jboss.tools.cdi.seam.config.core.test/projects/CDIConfigTest/src/org/jboss/test605/MethodBean2.java
(rev 0)
+++
trunk/cdi/tests/org.jboss.tools.cdi.seam.config.core.test/projects/CDIConfigTest/src/org/jboss/test605/MethodBean2.java 2011-04-28
01:19:47 UTC (rev 30893)
@@ -0,0 +1,9 @@
+package org.jboss.test605;
+
+public class MethodBean2 {
+
+ public void method(String[] s) {
+
+ }
+
+}
Property changes on:
trunk/cdi/tests/org.jboss.tools.cdi.seam.config.core.test/projects/CDIConfigTest/src/org/jboss/test605/MethodBean2.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/Qualifier1.java
===================================================================
---
trunk/cdi/tests/org.jboss.tools.cdi.seam.config.core.test/projects/CDIConfigTest/src/org/jboss/test605/Qualifier1.java
(rev 0)
+++
trunk/cdi/tests/org.jboss.tools.cdi.seam.config.core.test/projects/CDIConfigTest/src/org/jboss/test605/Qualifier1.java 2011-04-28
01:19:47 UTC (rev 30893)
@@ -0,0 +1,21 @@
+package org.jboss.test605;
+
+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;
+
+@Qualifier
+@Target({ TYPE, METHOD, PARAMETER, FIELD })
+@Retention(RUNTIME)
+@Documented
+public @interface Qualifier1 {
+
+}
Property changes on:
trunk/cdi/tests/org.jboss.tools.cdi.seam.config.core.test/projects/CDIConfigTest/src/org/jboss/test605/Qualifier1.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/Qualifier2.java
===================================================================
---
trunk/cdi/tests/org.jboss.tools.cdi.seam.config.core.test/projects/CDIConfigTest/src/org/jboss/test605/Qualifier2.java
(rev 0)
+++
trunk/cdi/tests/org.jboss.tools.cdi.seam.config.core.test/projects/CDIConfigTest/src/org/jboss/test605/Qualifier2.java 2011-04-28
01:19:47 UTC (rev 30893)
@@ -0,0 +1,21 @@
+package org.jboss.test605;
+
+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;
+
+@Qualifier
+@Target({ TYPE, METHOD, PARAMETER, FIELD })
+@Retention(RUNTIME)
+@Documented
+public @interface Qualifier2 {
+
+}
Property changes on:
trunk/cdi/tests/org.jboss.tools.cdi.seam.config.core.test/projects/CDIConfigTest/src/org/jboss/test605/Qualifier2.java
___________________________________________________________________
Added: svn:mime-type
+ text/plain
Added:
trunk/cdi/tests/org.jboss.tools.cdi.seam.config.core.test/projects/CDIConfigTest/src/org/jboss/test606/MyBean.java
===================================================================
---
trunk/cdi/tests/org.jboss.tools.cdi.seam.config.core.test/projects/CDIConfigTest/src/org/jboss/test606/MyBean.java
(rev 0)
+++
trunk/cdi/tests/org.jboss.tools.cdi.seam.config.core.test/projects/CDIConfigTest/src/org/jboss/test606/MyBean.java 2011-04-28
01:19:47 UTC (rev 30893)
@@ -0,0 +1,9 @@
+package org.jboss.test606;
+
+public class MyBean {
+
+ public MyBean(int count) {
+
+ }
+
+}
Property changes on:
trunk/cdi/tests/org.jboss.tools.cdi.seam.config.core.test/projects/CDIConfigTest/src/org/jboss/test606/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/test606/MyQualifier.java
===================================================================
---
trunk/cdi/tests/org.jboss.tools.cdi.seam.config.core.test/projects/CDIConfigTest/src/org/jboss/test606/MyQualifier.java
(rev 0)
+++
trunk/cdi/tests/org.jboss.tools.cdi.seam.config.core.test/projects/CDIConfigTest/src/org/jboss/test606/MyQualifier.java 2011-04-28
01:19:47 UTC (rev 30893)
@@ -0,0 +1,21 @@
+package org.jboss.test606;
+
+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;
+
+@Qualifier
+@Target({ TYPE, METHOD, PARAMETER, FIELD })
+@Retention(RUNTIME)
+@Documented
+public @interface MyQualifier {
+
+}
Property changes on:
trunk/cdi/tests/org.jboss.tools.cdi.seam.config.core.test/projects/CDIConfigTest/src/org/jboss/test606/MyQualifier.java
___________________________________________________________________
Added: svn:mime-type
+ text/plain
Added:
trunk/cdi/tests/org.jboss.tools.cdi.seam.config.core.test/projects/CDIConfigTest/src/org/jboss/test607/MyImpl.java
===================================================================
---
trunk/cdi/tests/org.jboss.tools.cdi.seam.config.core.test/projects/CDIConfigTest/src/org/jboss/test607/MyImpl.java
(rev 0)
+++
trunk/cdi/tests/org.jboss.tools.cdi.seam.config.core.test/projects/CDIConfigTest/src/org/jboss/test607/MyImpl.java 2011-04-28
01:19:47 UTC (rev 30893)
@@ -0,0 +1,5 @@
+package org.jboss.test607;
+
+public class MyImpl implements MyInterface {
+
+}
Property changes on:
trunk/cdi/tests/org.jboss.tools.cdi.seam.config.core.test/projects/CDIConfigTest/src/org/jboss/test607/MyImpl.java
___________________________________________________________________
Added: svn:mime-type
+ text/plain
Added:
trunk/cdi/tests/org.jboss.tools.cdi.seam.config.core.test/projects/CDIConfigTest/src/org/jboss/test607/MyInterface.java
===================================================================
---
trunk/cdi/tests/org.jboss.tools.cdi.seam.config.core.test/projects/CDIConfigTest/src/org/jboss/test607/MyInterface.java
(rev 0)
+++
trunk/cdi/tests/org.jboss.tools.cdi.seam.config.core.test/projects/CDIConfigTest/src/org/jboss/test607/MyInterface.java 2011-04-28
01:19:47 UTC (rev 30893)
@@ -0,0 +1,5 @@
+package org.jboss.test607;
+
+public interface MyInterface {
+
+}
Property changes on:
trunk/cdi/tests/org.jboss.tools.cdi.seam.config.core.test/projects/CDIConfigTest/src/org/jboss/test607/MyInterface.java
___________________________________________________________________
Added: svn:mime-type
+ text/plain
Added:
trunk/cdi/tests/org.jboss.tools.cdi.seam.config.core.test/projects/CDIConfigTest/src/org/jboss/test607/SomeBean.java
===================================================================
---
trunk/cdi/tests/org.jboss.tools.cdi.seam.config.core.test/projects/CDIConfigTest/src/org/jboss/test607/SomeBean.java
(rev 0)
+++
trunk/cdi/tests/org.jboss.tools.cdi.seam.config.core.test/projects/CDIConfigTest/src/org/jboss/test607/SomeBean.java 2011-04-28
01:19:47 UTC (rev 30893)
@@ -0,0 +1,5 @@
+package org.jboss.test607;
+
+public class SomeBean {
+ MyImpl someField;
+}
Property changes on:
trunk/cdi/tests/org.jboss.tools.cdi.seam.config.core.test/projects/CDIConfigTest/src/org/jboss/test607/SomeBean.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/ExtensionTest.java
===================================================================
---
trunk/cdi/tests/org.jboss.tools.cdi.seam.config.core.test/src/org/jboss/tools/cdi/seam/config/core/test/ExtensionTest.java 2011-04-28
01:18:04 UTC (rev 30892)
+++
trunk/cdi/tests/org.jboss.tools.cdi.seam.config.core.test/src/org/jboss/tools/cdi/seam/config/core/test/ExtensionTest.java 2011-04-28
01:19:47 UTC (rev 30893)
@@ -1,3 +1,13 @@
+/*******************************************************************************
+ * Copyright (c) 2011 Red Hat, Inc.
+ * Distributed under license by Red Hat, Inc. All rights reserved.
+ * This program is made available under the terms of the
+ * Eclipse Public License v1.0 which accompanies this distribution,
+ * and is available at
http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Red Hat, Inc. - initial API and implementation
+ ******************************************************************************/
package org.jboss.tools.cdi.seam.config.core.test;
import java.io.IOException;
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
01:18:04 UTC (rev 30892)
+++
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
01:19:47 UTC (rev 30893)
@@ -1,3 +1,13 @@
+/*******************************************************************************
+ * Copyright (c) 2011 Red Hat, Inc.
+ * Distributed under license by Red Hat, Inc. All rights reserved.
+ * This program is made available under the terms of the
+ * Eclipse Public License v1.0 which accompanies this distribution,
+ * and is available at
http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Red Hat, Inc. - initial API and implementation
+ ******************************************************************************/
package org.jboss.tools.cdi.seam.config.core.test;
import java.io.IOException;
@@ -10,6 +20,7 @@
import org.eclipse.core.resources.IFile;
import org.eclipse.core.runtime.CoreException;
import org.eclipse.jdt.core.IMemberValuePair;
+import org.eclipse.jdt.core.IMethod;
import org.jboss.tools.cdi.core.CDIConstants;
import org.jboss.tools.cdi.core.CDICorePlugin;
import org.jboss.tools.cdi.core.ICDIProject;
@@ -21,6 +32,9 @@
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.cdi.seam.config.core.definition.SeamMethodDefinition;
+import org.jboss.tools.cdi.seam.config.core.definition.SeamParameterDefinition;
+import org.jboss.tools.cdi.seam.solder.core.CDISeamSolderConstants;
import org.jboss.tools.common.text.ITextSourceReference;
/**
@@ -259,4 +273,149 @@
}
+ /**
+<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 void testConfiguringMethods() {
+ 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:MethodBean");
+ assertEquals(1, ds.size());
+ SeamBeanDefinition b = ds.iterator().next();
+ List<SeamMethodDefinition> ms = b.getMethods();
+ assertEquals(3, ms.size());
+
+ SeamMethodDefinition noParam = ms.get(0);
+ assertEquals(0, noParam.getParameters().size());
+ assertNotNull(noParam.getAnnotation(CDIConstants.PRODUCES_ANNOTATION_TYPE_NAME));
+
+ SeamMethodDefinition oneParam = ms.get(1);
+ assertEquals(1, oneParam.getParameters().size());
+ assertNotNull(oneParam.getAnnotation(CDIConstants.PRODUCES_ANNOTATION_TYPE_NAME));
+ assertNotNull(oneParam.getAnnotation("org.jboss.test605.Qualifier1"));
+ SeamParameterDefinition param = oneParam.getParameters().get(0);
+ assertEquals(0, param.getDimensions());
+ assertEquals("java.lang.Long", param.getType().getFullyQualifiedName());
+ assertNotNull(param.getAnnotation("org.jboss.test605.Qualifier2"));
+
+ SeamMethodDefinition oneArrayParam = ms.get(2);
+ assertEquals(1, oneParam.getParameters().size());
+ assertNotNull(oneArrayParam.getAnnotation(CDIConstants.PRODUCES_ANNOTATION_TYPE_NAME));
+ assertNotNull(oneArrayParam.getAnnotation("org.jboss.test605.Qualifier1"));
+ param = oneArrayParam.getParameters().get(0);
+ assertEquals(2, param.getDimensions());
+ assertEquals("java.lang.Long", param.getType().getFullyQualifiedName());
+ assertNotNull(param.getAnnotation("org.jboss.test605.Qualifier2"));
+
+ }
+
+ /**
+<test605:MethodBean2>
+ <test605:method>
+ <s:array>
+ <test605:String/>
+ </s:array>
+ </test605:method>
+</test605:MethodBean2>
+ */
+ public void testConfiguringMethods2() {
+ 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:MethodBean2");
+ assertEquals(1, ds.size());
+ SeamBeanDefinition b = ds.iterator().next();
+ List<SeamMethodDefinition> ms = b.getMethods();
+ assertEquals(1, ms.size());
+
+ SeamMethodDefinition m = ms.get(0);
+ assertEquals(1, m.getParameters().size());
+ SeamParameterDefinition param = m.getParameters().get(0);
+ assertEquals(1, param.getDimensions());
+ assertEquals("java.lang.String", param.getType().getFullyQualifiedName());
+
+ }
+
+ /**
+<test606:MyBean>
+ <s:parameters>
+ <s:Integer>
+ <test606:MyQualifier/>
+ </s:Integer>
+ </s:parameters>
+</test606:MyBean>
+ */
+ public void testConfiguringConstructor() 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,
"test606:MyBean");
+ assertEquals(1, ds.size());
+ SeamBeanDefinition b = ds.iterator().next();
+ List<SeamMethodDefinition> ms = b.getMethods();
+ assertEquals(1, ms.size());
+
+ SeamMethodDefinition m = ms.get(0);
+ IMethod jm = m.getMethod();
+ assertTrue(jm.isConstructor());
+ assertEquals(1, m.getParameters().size());
+ SeamParameterDefinition param = m.getParameters().get(0);
+ assertEquals(0, param.getDimensions());
+ assertEquals("java.lang.Integer", param.getType().getFullyQualifiedName());
+
+ }
+
+ /**
+ *
+ * @throws CoreException
+ */
+ public void testOverridingTypeOfAnInjectionPoint() 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,
"test607:SomeBean");
+ assertEquals(1, ds.size());
+ SeamBeanDefinition b = ds.iterator().next();
+ SeamFieldDefinition f = b.getField("someField");
+ assertNotNull(f);
+ IJavaAnnotation inject = f.getAnnotation(CDIConstants.INJECT_ANNOTATION_TYPE_NAME);
+ assertNotNull(inject);
+ IJavaAnnotation exact =
f.getAnnotation(CDISeamSolderConstants.EXACT_ANNOTATION_TYPE_NAME);
+ assertNotNull(exact);
+ IMemberValuePair[] ps = exact.getMemberValuePairs();
+ assertEquals(1, ps.length);
+ assertEquals("org.jboss.test607.MyInterface", ps[0].getValue());
+
+ }
+
}