Author: scabanovich
Date: 2011-08-09 16:44:40 -0400 (Tue, 09 Aug 2011)
New Revision: 33737
Added:
trunk/cdi/tests/org.jboss.tools.cdi.seam.solder.core.test/projects/CDIDependentSolderTest/
trunk/cdi/tests/org.jboss.tools.cdi.seam.solder.core.test/projects/CDIDependentSolderTest/.classpath
trunk/cdi/tests/org.jboss.tools.cdi.seam.solder.core.test/projects/CDIDependentSolderTest/.project
trunk/cdi/tests/org.jboss.tools.cdi.seam.solder.core.test/projects/CDIDependentSolderTest/.settings/
trunk/cdi/tests/org.jboss.tools.cdi.seam.solder.core.test/projects/CDIDependentSolderTest/.settings/org.eclipse.jdt.core.prefs
trunk/cdi/tests/org.jboss.tools.cdi.seam.solder.core.test/projects/CDIDependentSolderTest/bin/
trunk/cdi/tests/org.jboss.tools.cdi.seam.solder.core.test/projects/CDIDependentSolderTest/src/
trunk/cdi/tests/org.jboss.tools.cdi.seam.solder.core.test/projects/CDIDependentSolderTest/src/org/
trunk/cdi/tests/org.jboss.tools.cdi.seam.solder.core.test/projects/CDIDependentSolderTest/src/org/jboss/
trunk/cdi/tests/org.jboss.tools.cdi.seam.solder.core.test/projects/CDIDependentSolderTest/src/org/jboss/defaultbean/
trunk/cdi/tests/org.jboss.tools.cdi.seam.solder.core.test/projects/CDIDependentSolderTest/src/org/jboss/defaultbean/Town2.java
Modified:
trunk/cdi/tests/org.jboss.tools.cdi.seam.solder.core.test/src/org/jboss/tools/cdi/seam/solder/core/test/DefaultBeanTest.java
trunk/cdi/tests/org.jboss.tools.cdi.seam.solder.core.test/src/org/jboss/tools/cdi/seam/solder/core/test/ExactTest.java
trunk/cdi/tests/org.jboss.tools.cdi.seam.solder.core.test/src/org/jboss/tools/cdi/seam/solder/core/test/SeamSolderTest.java
trunk/cdi/tests/org.jboss.tools.cdi.seam.solder.core.test/src/org/jboss/tools/cdi/seam/solder/core/test/SeamSolderTestSetup.java
Log:
JBIDE-9484
https://issues.jboss.org/browse/JBIDE-9484
Added:
trunk/cdi/tests/org.jboss.tools.cdi.seam.solder.core.test/projects/CDIDependentSolderTest/.classpath
===================================================================
---
trunk/cdi/tests/org.jboss.tools.cdi.seam.solder.core.test/projects/CDIDependentSolderTest/.classpath
(rev 0)
+++
trunk/cdi/tests/org.jboss.tools.cdi.seam.solder.core.test/projects/CDIDependentSolderTest/.classpath 2011-08-09
20:44:40 UTC (rev 33737)
@@ -0,0 +1,10 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<classpath>
+ <classpathentry kind="src" path="src"/>
+ <classpathentry kind="con"
path="org.eclipse.jdt.launching.JRE_CONTAINER"/>
+ <classpathentry kind="lib"
path="/CDISolderTest/lib/cdi-api.jar"/>
+ <classpathentry kind="lib"
path="/CDISolderTest/lib/javax.inject.jar"/>
+ <classpathentry kind="lib"
path="/CDISolderTest/lib/seam-solder.jar"/>
+ <classpathentry combineaccessrules="false" kind="src"
path="/CDISolderTest"/>
+ <classpathentry kind="output" path="bin"/>
+</classpath>
Property changes on:
trunk/cdi/tests/org.jboss.tools.cdi.seam.solder.core.test/projects/CDIDependentSolderTest/.classpath
___________________________________________________________________
Added: svn:mime-type
+ text/plain
Added:
trunk/cdi/tests/org.jboss.tools.cdi.seam.solder.core.test/projects/CDIDependentSolderTest/.project
===================================================================
---
trunk/cdi/tests/org.jboss.tools.cdi.seam.solder.core.test/projects/CDIDependentSolderTest/.project
(rev 0)
+++
trunk/cdi/tests/org.jboss.tools.cdi.seam.solder.core.test/projects/CDIDependentSolderTest/.project 2011-08-09
20:44:40 UTC (rev 33737)
@@ -0,0 +1,34 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<projectDescription>
+ <name>CDIDependentSolderTest</name>
+ <comment></comment>
+ <projects>
+ </projects>
+ <buildSpec>
+ <buildCommand>
+ <name>org.eclipse.jdt.core.javabuilder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ <buildCommand>
+ <name>org.jboss.tools.jst.web.kb.kbbuilder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ <buildCommand>
+ <name>org.jboss.tools.cdi.core.cdibuilder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ <buildCommand>
+ <name>org.eclipse.wst.validation.validationbuilder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ </buildSpec>
+ <natures>
+ <nature>org.eclipse.jdt.core.javanature</nature>
+ <nature>org.jboss.tools.jst.web.kb.kbnature</nature>
+ <nature>org.jboss.tools.cdi.core.cdinature</nature>
+ </natures>
+</projectDescription>
Property changes on:
trunk/cdi/tests/org.jboss.tools.cdi.seam.solder.core.test/projects/CDIDependentSolderTest/.project
___________________________________________________________________
Added: svn:mime-type
+ text/plain
Added:
trunk/cdi/tests/org.jboss.tools.cdi.seam.solder.core.test/projects/CDIDependentSolderTest/.settings/org.eclipse.jdt.core.prefs
===================================================================
---
trunk/cdi/tests/org.jboss.tools.cdi.seam.solder.core.test/projects/CDIDependentSolderTest/.settings/org.eclipse.jdt.core.prefs
(rev 0)
+++
trunk/cdi/tests/org.jboss.tools.cdi.seam.solder.core.test/projects/CDIDependentSolderTest/.settings/org.eclipse.jdt.core.prefs 2011-08-09
20:44:40 UTC (rev 33737)
@@ -0,0 +1,12 @@
+#Tue Aug 09 10:58:56 PDT 2011
+eclipse.preferences.version=1
+org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
+org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.6
+org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve
+org.eclipse.jdt.core.compiler.compliance=1.6
+org.eclipse.jdt.core.compiler.debug.lineNumber=generate
+org.eclipse.jdt.core.compiler.debug.localVariable=generate
+org.eclipse.jdt.core.compiler.debug.sourceFile=generate
+org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
+org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
+org.eclipse.jdt.core.compiler.source=1.6
Property changes on:
trunk/cdi/tests/org.jboss.tools.cdi.seam.solder.core.test/projects/CDIDependentSolderTest/.settings/org.eclipse.jdt.core.prefs
___________________________________________________________________
Added: svn:mime-type
+ text/plain
Added:
trunk/cdi/tests/org.jboss.tools.cdi.seam.solder.core.test/projects/CDIDependentSolderTest/src/org/jboss/defaultbean/Town2.java
===================================================================
---
trunk/cdi/tests/org.jboss.tools.cdi.seam.solder.core.test/projects/CDIDependentSolderTest/src/org/jboss/defaultbean/Town2.java
(rev 0)
+++
trunk/cdi/tests/org.jboss.tools.cdi.seam.solder.core.test/projects/CDIDependentSolderTest/src/org/jboss/defaultbean/Town2.java 2011-08-09
20:44:40 UTC (rev 33737)
@@ -0,0 +1,26 @@
+package org.jboss.defaultbean;
+
+import javax.inject.Inject;
+
+public class Town2 {
+
+ @Inject
+ @Small
+ Home small;
+
+ @Inject
+ @Big
+ Home big;
+
+ @Inject
+ @Huge
+ Home huge;
+
+ @Inject
+ @Cozy
+ Home cozy;
+
+ @Inject
+ Home ruins;
+
+}
Property changes on:
trunk/cdi/tests/org.jboss.tools.cdi.seam.solder.core.test/projects/CDIDependentSolderTest/src/org/jboss/defaultbean/Town2.java
___________________________________________________________________
Added: svn:mime-type
+ text/plain
Modified:
trunk/cdi/tests/org.jboss.tools.cdi.seam.solder.core.test/src/org/jboss/tools/cdi/seam/solder/core/test/DefaultBeanTest.java
===================================================================
---
trunk/cdi/tests/org.jboss.tools.cdi.seam.solder.core.test/src/org/jboss/tools/cdi/seam/solder/core/test/DefaultBeanTest.java 2011-08-09
20:44:15 UTC (rev 33736)
+++
trunk/cdi/tests/org.jboss.tools.cdi.seam.solder.core.test/src/org/jboss/tools/cdi/seam/solder/core/test/DefaultBeanTest.java 2011-08-09
20:44:40 UTC (rev 33737)
@@ -36,10 +36,27 @@
public void testDefaultBeanTest() throws CoreException {
ICDIProject cdi = CDICorePlugin.getCDIProject(getTestProject(), true);
-
+ doTestDefaultBeanInDependentProject(cdi,
"src/org/jboss/defaultbean/Town.java");
+ }
+
+ public void testDefaultBeanInDependentProject() throws CoreException {
+ ICDIProject dependent = getDependentCDIProject();
+ doTestDefaultBeanInDependentProject(dependent,
"src/org/jboss/defaultbean/Town2.java");
+ }
+
+ /**
+ * Checks default bean injection resolution.
+ * If dependent == cdi, executes check of one project, otherwise looks for beans in
+ * dependent project.
+ *
+ * @param cdi - project where injection points and beans are defined
+ * @param dependent - dependent project, in which beans are looked for; can be equal to
cdi
+ * @throws CoreException
+ */
+ public void doTestDefaultBeanInDependentProject(ICDIProject cdi, String javaPath) throws
CoreException {
// 1. For injection point with qualifier @Small, the only eligible bean is
// default class bean with qualifier @Small
- IInjectionPointField injection = getInjectionPointField(cdi,
"src/org/jboss/defaultbean/Town.java", "small");
+ IInjectionPointField injection = getInjectionPointField(cdi, javaPath,
"small");
Set<IBean> bs = cdi.getBeans(false, injection);
assertEquals(1, bs.size());
@@ -54,7 +71,7 @@
// 2. For injection point with qualifier @Big, the only eligible bean is
// default producer bean method with qualifier @Big
- injection = getInjectionPointField(cdi,
"src/org/jboss/defaultbean/Town.java", "big");
+ injection = getInjectionPointField(cdi, javaPath, "big");
bs = cdi.getBeans(false, injection);
assertEquals(1, bs.size());
@@ -71,7 +88,7 @@
// a) Default producer method bean with qualifier @Huge,
// b) one more bean with qualifier @Huge
// default bean is filtered out at resolving beans.
- injection = getInjectionPointField(cdi,
"src/org/jboss/defaultbean/Town.java", "huge");
+ injection = getInjectionPointField(cdi, javaPath, "huge");
bs = cdi.getBeans(false, injection);
assertEquals(2, bs.size());
@@ -92,7 +109,7 @@
// a) Default producer field bean has qualifier @Cozy, producer inherits @DefaultBean
from parent class;
// b) One more bean with qualifier @Cozy.
// default bean is filtered out at resolving beans.
- injection = getInjectionPointField(cdi,
"src/org/jboss/defaultbean/Town.java", "cozy");
+ injection = getInjectionPointField(cdi, javaPath, "cozy");
bs = cdi.getBeans(false, injection);
assertEquals(2, bs.size());
@@ -113,7 +130,7 @@
// a) Default producer field bean without qualifier, producer inherits @DefaultBean
from parent class;
// b) One more bean without qualifier.
// default bean is filtered out at resolving beans.
- injection = getInjectionPointField(cdi,
"src/org/jboss/defaultbean/Town.java", "ruins");
+ injection = getInjectionPointField(cdi, javaPath, "ruins");
bs = cdi.getBeans(false, injection);
assertEquals(2, bs.size());
Modified:
trunk/cdi/tests/org.jboss.tools.cdi.seam.solder.core.test/src/org/jboss/tools/cdi/seam/solder/core/test/ExactTest.java
===================================================================
---
trunk/cdi/tests/org.jboss.tools.cdi.seam.solder.core.test/src/org/jboss/tools/cdi/seam/solder/core/test/ExactTest.java 2011-08-09
20:44:15 UTC (rev 33736)
+++
trunk/cdi/tests/org.jboss.tools.cdi.seam.solder.core.test/src/org/jboss/tools/cdi/seam/solder/core/test/ExactTest.java 2011-08-09
20:44:40 UTC (rev 33737)
@@ -73,4 +73,11 @@
}
assertEquals(3, count);
}
-}
\ No newline at end of file
+
+ public void testExactInDependentProject() throws CoreException, IOException {
+ ICDIProject cdi = getDependentCDIProject();
+
+ Set<IBean> bs = cdi.getBeans(new
Path("/CDISolderTest/src/org/jboss/exact/FishFactory.java"));
+ assertEquals(2, bs.size());
+ }
+}
Modified:
trunk/cdi/tests/org.jboss.tools.cdi.seam.solder.core.test/src/org/jboss/tools/cdi/seam/solder/core/test/SeamSolderTest.java
===================================================================
---
trunk/cdi/tests/org.jboss.tools.cdi.seam.solder.core.test/src/org/jboss/tools/cdi/seam/solder/core/test/SeamSolderTest.java 2011-08-09
20:44:15 UTC (rev 33736)
+++
trunk/cdi/tests/org.jboss.tools.cdi.seam.solder.core.test/src/org/jboss/tools/cdi/seam/solder/core/test/SeamSolderTest.java 2011-08-09
20:44:40 UTC (rev 33737)
@@ -28,18 +28,31 @@
protected static String PLUGIN_ID =
"org.jboss.tools.cdi.seam.solder.core.test";
protected static String PROJECT_NAME = "CDISolderTest";
protected static String PROJECT_PATH = "/projects/CDISolderTest";
+ protected static String DEPENDENT_PROJECT_NAME = "CDIDependentSolderTest";
+ protected static String DEPENDENT_PROJECT_PATH =
"/projects/CDIDependentSolderTest";
private ICDIProject cdiProject;
private IProject project;
+ private IProject dependentProject;
+ private ICDIProject cdiDependentProject;
+
public IProject getTestProject() {
if(cdiProject==null) {
- project = findTestProject();
+ project = findTestProject(PROJECT_NAME);
cdiProject = CDICorePlugin.getCDIProject(project, true);
}
return project;
}
+ public IProject getDependentTestProject() {
+ if(cdiDependentProject==null) {
+ dependentProject = findTestProject(DEPENDENT_PROJECT_NAME);
+ cdiDependentProject = CDICorePlugin.getCDIProject(dependentProject, true);
+ }
+ return dependentProject;
+ }
+
public ICDIProject getCDIProject() {
if(cdiProject==null) {
getTestProject();
@@ -47,32 +60,15 @@
return cdiProject;
}
- // protected IProject project;
-// protected ICDIProject cdiProject;
+ public ICDIProject getDependentCDIProject() {
+ if(cdiDependentProject==null) {
+ getDependentTestProject();
+ }
+ return cdiDependentProject;
+ }
-// public SeamSolderTest() {
-// project = getTestProject();
-// cdiProject = CDICorePlugin.getCDIProject(project, false);
-// }
-//
-// public IProject getTestProject() {
-// if(project==null) {
-// try {
-// project = findTestProject();
-// if(project==null || !project.exists()) {
-// project = ResourcesUtils.importProject(PLUGIN_ID, PROJECT_PATH);
-// project.build(IncrementalProjectBuilder.FULL_BUILD, null);
-// }
-// } catch (Exception e) {
-// e.printStackTrace();
-// fail("Can't import CDI test project: " + e.getMessage());
-// }
-// }
-// return project;
-// }
-
- public static IProject findTestProject() {
- return ResourcesPlugin.getWorkspace().getRoot().getProject(PROJECT_NAME);
+ public static IProject findTestProject(String name) {
+ return ResourcesPlugin.getWorkspace().getRoot().getProject(name);
}
protected IInjectionPointField getInjectionPointField(ICDIProject cdi, String
beanClassFilePath, String fieldName) {
Modified:
trunk/cdi/tests/org.jboss.tools.cdi.seam.solder.core.test/src/org/jboss/tools/cdi/seam/solder/core/test/SeamSolderTestSetup.java
===================================================================
---
trunk/cdi/tests/org.jboss.tools.cdi.seam.solder.core.test/src/org/jboss/tools/cdi/seam/solder/core/test/SeamSolderTestSetup.java 2011-08-09
20:44:15 UTC (rev 33736)
+++
trunk/cdi/tests/org.jboss.tools.cdi.seam.solder.core.test/src/org/jboss/tools/cdi/seam/solder/core/test/SeamSolderTestSetup.java 2011-08-09
20:44:40 UTC (rev 33737)
@@ -25,6 +25,7 @@
public class SeamSolderTestSetup extends TestSetup {
protected IProject project;
+ protected IProject dependentProject;
public SeamSolderTestSetup(Test test) {
super(test);
@@ -37,12 +38,18 @@
project = ResourcesUtils.importProject(SeamSolderTest.PLUGIN_ID,
SeamSolderTest.PROJECT_PATH);
TestUtil._waitForValidation(project);
}
+ dependentProject =
ResourcesPlugin.getWorkspace().getRoot().getProject(SeamSolderTest.DEPENDENT_PROJECT_NAME);
+ if(dependentProject == null || !dependentProject.exists()) {
+ dependentProject = ResourcesUtils.importProject(SeamSolderTest.PLUGIN_ID,
SeamSolderTest.DEPENDENT_PROJECT_PATH);
+ TestUtil._waitForValidation(dependentProject);
+ }
}
@Override
protected void tearDown() throws Exception {
boolean saveAutoBuild = ResourcesUtils.setBuildAutomatically(false);
project.delete(true, true, null);
+ dependentProject.delete(true, true, null);
JobUtils.waitForIdle();
ResourcesUtils.setBuildAutomatically(saveAutoBuild);
}