Author: akazakov
Date: 2010-03-09 13:00:25 -0500 (Tue, 09 Mar 2010)
New Revision: 20711
Modified:
trunk/cdi/plugins/org.jboss.tools.cdi.core/src/org/jboss/tools/cdi/core/IBeanManager.java
trunk/cdi/plugins/org.jboss.tools.cdi.core/src/org/jboss/tools/cdi/internal/core/impl/CDIProject.java
trunk/cdi/tests/org.jboss.tools.cdi.core.test/src/org/jboss/tools/cdi/core/test/tck/BeanDefinitionTest.java
trunk/cdi/tests/org.jboss.tools.cdi.core.test/src/org/jboss/tools/cdi/core/test/tck/TCKTest.java
Log:
https://jira.jboss.org/jira/browse/JBIDE-5808
Modified:
trunk/cdi/plugins/org.jboss.tools.cdi.core/src/org/jboss/tools/cdi/core/IBeanManager.java
===================================================================
---
trunk/cdi/plugins/org.jboss.tools.cdi.core/src/org/jboss/tools/cdi/core/IBeanManager.java 2010-03-09
17:34:59 UTC (rev 20710)
+++
trunk/cdi/plugins/org.jboss.tools.cdi.core/src/org/jboss/tools/cdi/core/IBeanManager.java 2010-03-09
18:00:25 UTC (rev 20711)
@@ -127,7 +127,7 @@
*
* @return the resulting set of beans
*/
- Set<IBean> getBeans(boolean attemptToResolveAmbiguousDependency, String
fullQualifiedBeanType, String... fullQualifiedQualifiersTypes);
+ Set<IBean> getBeans(boolean attemptToResolveAmbiguousDependency, String
fullyQualifiedBeanType, String... fullyQualifiedQualifiersTypes);
/**
* Returns the set of beans which are eligible for the given injection
Modified:
trunk/cdi/plugins/org.jboss.tools.cdi.core/src/org/jboss/tools/cdi/internal/core/impl/CDIProject.java
===================================================================
---
trunk/cdi/plugins/org.jboss.tools.cdi.core/src/org/jboss/tools/cdi/internal/core/impl/CDIProject.java 2010-03-09
17:34:59 UTC (rev 20710)
+++
trunk/cdi/plugins/org.jboss.tools.cdi.core/src/org/jboss/tools/cdi/internal/core/impl/CDIProject.java 2010-03-09
18:00:25 UTC (rev 20711)
@@ -700,8 +700,8 @@
* @see org.jboss.tools.cdi.core.IBeanManager#getBeans(boolean, java.lang.String,
java.lang.String[])
*/
public Set<IBean> getBeans(boolean attemptToResolveAmbiguousDependency,
- String fullQualifiedBeanType,
- String... fullQualifiedQualifiersTypes) {
+ String fullyQualifiedBeanType,
+ String... fullyQualifiedQualifiersTypes) {
// TODO
return Collections.emptySet();
}
Modified:
trunk/cdi/tests/org.jboss.tools.cdi.core.test/src/org/jboss/tools/cdi/core/test/tck/BeanDefinitionTest.java
===================================================================
---
trunk/cdi/tests/org.jboss.tools.cdi.core.test/src/org/jboss/tools/cdi/core/test/tck/BeanDefinitionTest.java 2010-03-09
17:34:59 UTC (rev 20710)
+++
trunk/cdi/tests/org.jboss.tools.cdi.core.test/src/org/jboss/tools/cdi/core/test/tck/BeanDefinitionTest.java 2010-03-09
18:00:25 UTC (rev 20711)
@@ -15,10 +15,10 @@
import org.eclipse.core.resources.IFile;
import org.eclipse.jdt.core.JavaModelException;
import org.jboss.tools.cdi.core.IBean;
+import org.jboss.tools.cdi.core.IParametedType;
import org.jboss.tools.cdi.core.IQualifier;
import org.jboss.tools.cdi.core.IScope;
import org.jboss.tools.cdi.core.ITypeDeclaration;
-import org.jboss.tools.common.text.ITextSourceReference;
/**
* @author Alexey Kazakov
@@ -113,16 +113,26 @@
assertTheOnlyBean("org.jboss.jsr299.tck.tests.definition.bean.Animal");
}
- public void testBeanTypes() {
-// assert getBeans(Tarantula.class).size() == 1;
-// Bean<Tarantula> bean = getBeans(Tarantula.class).iterator().next();
-// assert bean.getTypes().size() == 6;
-// assert bean.getTypes().contains(Tarantula.class);
-// assert bean.getTypes().contains(Spider.class);
-// assert bean.getTypes().contains(Animal.class);
-// assert bean.getTypes().contains(Object.class);
-// assert bean.getTypes().contains(DeadlySpider.class);
-// assert bean.getTypes().contains(DeadlyAnimal.class);
+ public void testBeanTypes() throws JavaModelException {
+ Set<IBean> beans =
getBeans("org.jboss.jsr299.tck.tests.definition.bean.Tarantula");
+ assertEquals("There should be the only bean in
org.jboss.jsr299.tck.tests.definition.bean.Tarantula", 1, beans.size());
+ IBean bean = beans.iterator().next();
+ Set<IParametedType> types = bean.getLegalTypes();
+ assertEquals("Wrong number of legal types were found for
org.jboss.jsr299.tck.tests.definition.bean.Tarantula bean.", 6, types.size());
+ assertContainsBeanType(bean,
"org.jboss.jsr299.tck.tests.definition.bean.Tarantula");
+ assertContainsBeanType(bean,
"org.jboss.jsr299.tck.tests.definition.bean.Spider");
+ assertContainsBeanType(bean,
"org.jboss.jsr299.tck.tests.definition.bean.Animal");
+ assertContainsBeanType(bean, "java.lang.Object");
+ assertContainsBeanType(bean,
"org.jboss.jsr299.tck.tests.definition.bean.DeadlySpider");
+ assertContainsBeanType(bean,
"org.jboss.jsr299.tck.tests.definition.bean.DeadlyAnimal");
+
+ Set<ITypeDeclaration> declarations = bean.getAllTypeDeclarations();
+ assertEquals("There should be three type declarations in
org.jboss.jsr299.tck.tests.definition.bean.Tarantula bean.", declarations.size(),
3);
+ // TODO use real start position instead of 0.
+ assertLocationEquals(declarations, 0, 9);
+ assertLocationEquals(declarations, 0, 6);
+ assertLocationEquals(declarations, 0, 12);
+
}
/**
@@ -147,23 +157,4 @@
IBean bean = beans.iterator().next();
assertNull("org.jboss.jsr299.tck.tests.definition.name.Moose bean should not have
any EL name.", bean.getName());
}
-
- private void assertLocationEquals(Set<? extends ITextSourceReference> references,
int startPosition, int length) {
- for (ITextSourceReference reference : references) {
- if(reference.getStartPosition()==startPosition) {
- assertLocationEquals(reference, startPosition, length);
- return;
- }
- }
- StringBuffer message = new StringBuffer("Location [start
positopn=").append(startPosition).append(",
lengt=").append(length).append("] has not been found among ");
- for (ITextSourceReference reference : references) {
- message.append("[").append(reference.getStartPosition()).append(",
").append(reference.getLength()).append("] ");
- }
- fail(message.toString());
- }
-
- private void assertLocationEquals(ITextSourceReference reference, int startPosition, int
length) {
- assertEquals("Wrong start position", startPosition,
reference.getStartPosition());
- assertEquals("Wrong length", length, reference.getLength());
- }
}
\ No newline at end of file
Modified:
trunk/cdi/tests/org.jboss.tools.cdi.core.test/src/org/jboss/tools/cdi/core/test/tck/TCKTest.java
===================================================================
---
trunk/cdi/tests/org.jboss.tools.cdi.core.test/src/org/jboss/tools/cdi/core/test/tck/TCKTest.java 2010-03-09
17:34:59 UTC (rev 20710)
+++
trunk/cdi/tests/org.jboss.tools.cdi.core.test/src/org/jboss/tools/cdi/core/test/tck/TCKTest.java 2010-03-09
18:00:25 UTC (rev 20711)
@@ -17,8 +17,10 @@
import org.jboss.tools.cdi.core.CDICorePlugin;
import org.jboss.tools.cdi.core.IBean;
import org.jboss.tools.cdi.core.ICDIProject;
+import org.jboss.tools.cdi.core.IParametedType;
import org.jboss.tools.common.EclipseUtil;
import org.jboss.tools.common.model.util.EclipseJavaUtil;
+import org.jboss.tools.common.text.ITextSourceReference;
import org.jboss.tools.common.util.FileUtil;
import org.jboss.tools.test.util.JobUtils;
import org.jboss.tools.test.util.ResourcesUtils;
@@ -130,6 +132,38 @@
}
}
+ public static void assertLocationEquals(Set<? extends ITextSourceReference>
references, int startPosition, int length) {
+ for (ITextSourceReference reference : references) {
+ if(reference.getStartPosition()==startPosition) {
+ assertLocationEquals(reference, startPosition, length);
+ return;
+ }
+ }
+ StringBuffer message = new StringBuffer("Location [start
positopn=").append(startPosition).append(",
lengt=").append(length).append("] has not been found among ");
+ for (ITextSourceReference reference : references) {
+ message.append("[").append(reference.getStartPosition()).append(",
").append(reference.getLength()).append("] ");
+ }
+ fail(message.toString());
+ }
+
+ protected void assertContainsBeanType(IBean bean, String typeName) {
+ Set<IParametedType> types = bean.getLegalTypes();
+ StringBuffer allTypes = new StringBuffer("[");
+ for (IParametedType type : types) {
+ allTypes.append("
").append(type.getType().getFullyQualifiedName()).append(";");
+ if (typeName.equals(type.getType().getFullyQualifiedName())) {
+ return;
+ }
+ }
+ allTypes.append("]");
+ fail(bean.getResource().getFullPath() + " bean " + allTypes.toString() +
" should have " + typeName + " type.");
+ }
+
+ public static void assertLocationEquals(ITextSourceReference reference, int
startPosition, int length) {
+ assertEquals("Wrong start position", startPosition,
reference.getStartPosition());
+ assertEquals("Wrong length", length, reference.getLength());
+ }
+
public static void cleanProject(String _resourcePath) throws Exception {
Bundle b = Platform.getBundle(PLUGIN_ID);
String projectPath = FileLocator.resolve(b.getEntry(PROJECT_PATH)).getFile();