Author: scabanovich
Date: 2011-04-05 14:22:55 -0400 (Tue, 05 Apr 2011)
New Revision: 30332
Modified:
trunk/cdi/tests/org.jboss.tools.cdi.seam.solder.core.test/projects/CDISolderTest/src/org/jboss/fullyqualified/Elephant.java
trunk/cdi/tests/org.jboss.tools.cdi.seam.solder.core.test/projects/CDISolderTest/src/org/jboss/named/Dog.java
trunk/cdi/tests/org.jboss.tools.cdi.seam.solder.core.test/src/org/jboss/tools/cdi/seam/solder/core/test/BeanNamingTest.java
Log:
JBIDE-8200
https://issues.jboss.org/browse/JBIDE-8200
Modified:
trunk/cdi/tests/org.jboss.tools.cdi.seam.solder.core.test/projects/CDISolderTest/src/org/jboss/fullyqualified/Elephant.java
===================================================================
---
trunk/cdi/tests/org.jboss.tools.cdi.seam.solder.core.test/projects/CDISolderTest/src/org/jboss/fullyqualified/Elephant.java 2011-04-05
18:22:17 UTC (rev 30331)
+++
trunk/cdi/tests/org.jboss.tools.cdi.seam.solder.core.test/projects/CDISolderTest/src/org/jboss/fullyqualified/Elephant.java 2011-04-05
18:22:55 UTC (rev 30332)
@@ -1,9 +1,33 @@
package org.jboss.fullyqualified;
+import javax.enterprise.inject.Produces;
+import javax.inject.Named;
+
import org.jboss.named.Dog;
import org.jboss.seam.solder.core.FullyQualified;
@FullyQualified(Dog.class)
public class Elephant {
+ @Produces
+ @Named("tail")
+ String getTail() {
+ return "";
+ }
+
+ @Produces
+ @Named("trunk")
+ @FullyQualified(Dog.class)
+ String getTrunk() {
+ return "";
+ }
+
+ @Produces
+ @Named("ear")
+ String ear;
+
+ @Produces
+ @Named("eye")
+ @FullyQualified(Dog.class)
+ String eye;
}
Modified:
trunk/cdi/tests/org.jboss.tools.cdi.seam.solder.core.test/projects/CDISolderTest/src/org/jboss/named/Dog.java
===================================================================
---
trunk/cdi/tests/org.jboss.tools.cdi.seam.solder.core.test/projects/CDISolderTest/src/org/jboss/named/Dog.java 2011-04-05
18:22:17 UTC (rev 30331)
+++
trunk/cdi/tests/org.jboss.tools.cdi.seam.solder.core.test/projects/CDISolderTest/src/org/jboss/named/Dog.java 2011-04-05
18:22:55 UTC (rev 30332)
@@ -1,5 +1,32 @@
package org.jboss.named;
+import javax.enterprise.inject.Produces;
+import javax.inject.Named;
+
+import org.jboss.fullyqualified.Elephant;
+import org.jboss.seam.solder.core.FullyQualified;
+
public class Dog {
+ @Produces
+ @Named("hair")
+ String getHair() {
+ return "";
+ }
+
+ @Produces
+ @Named("nose")
+ @FullyQualified(Elephant.class)
+ String getNose() {
+ return "";
+ }
+
+ @Produces
+ @Named("jaws")
+ String jaws;
+
+ @Produces
+ @Named("black-eye")
+ @FullyQualified(Elephant.class)
+ String eye;
}
Modified:
trunk/cdi/tests/org.jboss.tools.cdi.seam.solder.core.test/src/org/jboss/tools/cdi/seam/solder/core/test/BeanNamingTest.java
===================================================================
---
trunk/cdi/tests/org.jboss.tools.cdi.seam.solder.core.test/src/org/jboss/tools/cdi/seam/solder/core/test/BeanNamingTest.java 2011-04-05
18:22:17 UTC (rev 30331)
+++
trunk/cdi/tests/org.jboss.tools.cdi.seam.solder.core.test/src/org/jboss/tools/cdi/seam/solder/core/test/BeanNamingTest.java 2011-04-05
18:22:55 UTC (rev 30332)
@@ -12,7 +12,9 @@
import org.eclipse.core.runtime.Path;
import org.jboss.tools.cdi.core.CDICorePlugin;
import org.jboss.tools.cdi.core.IBean;
+import org.jboss.tools.cdi.core.IBeanMember;
import org.jboss.tools.cdi.core.ICDIProject;
+import org.jboss.tools.cdi.core.IClassBean;
import org.jboss.tools.test.util.JobUtils;
import org.jboss.tools.test.util.ResourcesUtils;
@@ -40,7 +42,8 @@
//1. package @Named; class not annotated
Set<IBean> bs = cdi.getBeans(new
Path("/CDISolderTest/src/org/jboss/named/Dog.java"));
assertFalse(bs.isEmpty());
- IBean b = bs.iterator().next();
+ IBean b = findBeanByMemberName(bs, "Dog");
+ assertNotNull(b);
assertEquals("dog", b.getName());
//2. package@Named; class @Named("little")
@@ -50,7 +53,7 @@
assertEquals("little", b.getName());
}
- public void testFullyQualifiedPackage() throws CoreException, IOException {
+ public void testFullyQualifiedPackage() throws CoreException {
ICDIProject cdi = CDICorePlugin.getCDIProject(project, true);
//1. package @FullyQualified and @Named; class not annotated
@@ -68,11 +71,75 @@
//3. package @FullyQualified and @Named; class @FullyQualified(Dog.class)
bs = cdi.getBeans(new
Path("/CDISolderTest/src/org/jboss/fullyqualified/Elephant.java"));
assertFalse(bs.isEmpty());
- b = bs.iterator().next();
+ b = findBeanByMemberName(bs, "Elephant");
+ assertNotNull(b);
assertEquals("org.jboss.named.elephant", b.getName());
+ }
+ public void testFullyQualifiedProducers() {
+ ICDIProject cdi = CDICorePlugin.getCDIProject(project, true);
+ //1. package @FullyQualified
+ Set<IBean> bs = cdi.getBeans(new
Path("/CDISolderTest/src/org/jboss/fullyqualified/Elephant.java"));
+
+ //1.1 producer method @Named
+ IBean b = findBeanByMemberName(bs, "getTail");
+ assertNotNull(b);
+ assertEquals("org.jboss.fullyqualified.tail", b.getName());
+
+ //1.2 producer method @Named and @FullyQualified(Dog.class)
+ b = findBeanByMemberName(bs, "getTrunk");
+ assertNotNull(b);
+ assertEquals("org.jboss.named.trunk", b.getName());
+
+ //1.3 producer field @Named
+ b = findBeanByMemberName(bs, "ear");
+ assertNotNull(b);
+ assertEquals("org.jboss.fullyqualified.ear", b.getName());
+
+ //1.4 producer field @Named and @FullyQualified(Dog.class)
+ b = findBeanByMemberName(bs, "eye");
+ assertNotNull(b);
+ assertEquals("org.jboss.named.eye", b.getName());
+
+ //2. package has not @FullyQualified
+ bs = cdi.getBeans(new Path("/CDISolderTest/src/org/jboss/named/Dog.java"));
+
+ //2.1 producer method @Named
+ b = findBeanByMemberName(bs, "getHair");
+ assertNotNull(b);
+ assertEquals("hair", b.getName());
+
+ //2.2 producer method @Named and @FullyQualified(Elephant.class)
+ b = findBeanByMemberName(bs, "getNose");
+ assertNotNull(b);
+ assertEquals("org.jboss.fullyqualified.nose", b.getName());
+
+ //2.3 producer field @Named
+ b = findBeanByMemberName(bs, "jaws");
+ assertNotNull(b);
+ assertEquals("jaws", b.getName());
+
+ //2.4 producer field @Named and @FullyQualified(Elephant.class)
+ b = findBeanByMemberName(bs, "eye");
+ assertNotNull(b);
+ assertEquals("org.jboss.fullyqualified.black-eye", b.getName());
}
+ private IBean findBeanByMemberName(Set<IBean> bs, String memberName) {
+ for (IBean b: bs) {
+ if(b instanceof IClassBean) {
+ if(memberName.equals(((IClassBean)b).getBeanClass().getElementName())) {
+ return b;
+ }
+ } else if(b instanceof IBeanMember) {
+ if(memberName.equals(((IBeanMember)b).getSourceMember().getElementName())) {
+ return b;
+ }
+ }
+ }
+ return null;
+ }
+
public void tearDown() throws Exception {
boolean saveAutoBuild = ResourcesUtils.setBuildAutomatically(false);
JobUtils.waitForIdle();