[jbosstools-commits] JBoss Tools SVN: r30332 - in trunk/cdi/tests/org.jboss.tools.cdi.seam.solder.core.test: projects/CDISolderTest/src/org/jboss/named and 1 other directories.

jbosstools-commits at lists.jboss.org jbosstools-commits at lists.jboss.org
Tue Apr 5 14:22:55 EDT 2011


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 at 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();



More information about the jbosstools-commits mailing list