[dna-commits] DNA SVN: r331 - trunk/sequencers/dna-sequencer-java/src/test/java/org/jboss/dna/sequencer/java.
dna-commits at lists.jboss.org
dna-commits at lists.jboss.org
Tue Jul 1 20:57:10 EDT 2008
Author: spagop
Date: 2008-07-01 20:57:10 -0400 (Tue, 01 Jul 2008)
New Revision: 331
Modified:
trunk/sequencers/dna-sequencer-java/src/test/java/org/jboss/dna/sequencer/java/JavaMetadataSequencerTest.java
trunk/sequencers/dna-sequencer-java/src/test/java/org/jboss/dna/sequencer/java/JavaMetadataTest.java
Log:
more metadata for a compilation unit: import metadata, starting with programming of top level type (class, interface) metadata and enhancement of the unit test for metadata
Modified: trunk/sequencers/dna-sequencer-java/src/test/java/org/jboss/dna/sequencer/java/JavaMetadataSequencerTest.java
===================================================================
--- trunk/sequencers/dna-sequencer-java/src/test/java/org/jboss/dna/sequencer/java/JavaMetadataSequencerTest.java 2008-07-02 00:55:39 UTC (rev 330)
+++ trunk/sequencers/dna-sequencer-java/src/test/java/org/jboss/dna/sequencer/java/JavaMetadataSequencerTest.java 2008-07-02 00:57:10 UTC (rev 331)
@@ -86,6 +86,10 @@
assertThat(output.getPropertyValues("java:compilationUnit", "jcr:primaryType"), is(new Object[] {"java:compilationUnit"}));
assertThat(output.getPropertyValues("java:compilationUnit/java:package/java:packageDeclaration", "java:packageName"),
is(new Object[] {"org.acme"}));
+ assertThat(output.getPropertyValues("java:compilationUnit/java:package/java:packageDeclaration/java:annotation/java:annotationDeclaration/java:annotationType/java:markerAnnotation",
+ "java:typeName"),
+ is(new Object[] {"org.acme.annotation.MyPackageAnnotation"}));
+
}
}
Modified: trunk/sequencers/dna-sequencer-java/src/test/java/org/jboss/dna/sequencer/java/JavaMetadataTest.java
===================================================================
--- trunk/sequencers/dna-sequencer-java/src/test/java/org/jboss/dna/sequencer/java/JavaMetadataTest.java 2008-07-02 00:55:39 UTC (rev 330)
+++ trunk/sequencers/dna-sequencer-java/src/test/java/org/jboss/dna/sequencer/java/JavaMetadataTest.java 2008-07-02 00:57:10 UTC (rev 331)
@@ -29,11 +29,21 @@
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.InputStream;
+import java.util.Iterator;
import java.util.List;
+import java.util.Set;
import org.eclipse.jdt.core.dom.ASTNode;
import org.eclipse.jdt.core.dom.Annotation;
import org.eclipse.jdt.core.dom.CompilationUnit;
import org.eclipse.jdt.core.dom.MarkerAnnotation;
+import org.jboss.dna.sequencer.java.annotationmetadata.AnnotationMetadata;
+import org.jboss.dna.sequencer.java.annotationmetadata.MarkerAnnotationMetadata;
+import org.jboss.dna.sequencer.java.fieldmetadata.FieldMetadata;
+import org.jboss.dna.sequencer.java.importmetadata.ImportMetadata;
+import org.jboss.dna.sequencer.java.importmetadata.ImportOnDemandMetadata;
+import org.jboss.dna.sequencer.java.importmetadata.SingleImportMetadata;
+import org.jboss.dna.sequencer.java.packagemetadata.PackageMetadata;
+import org.jboss.dna.sequencer.java.typemetadata.TypeMetadata;
import org.junit.After;
import org.junit.Before;
import org.junit.Test;
@@ -44,12 +54,17 @@
public class JavaMetadataTest {
private File source;
private InputStream stream;
- JavaMetadata javaMetadata;
+ private JavaMetadata javaMetadata;
+ private ASTNode rootNode = null;
@Before
public void beforeEach() throws Exception {
source = new File("src/test/resources/org/acme/MySource.java");
stream = getJavaSrc(source);
+ javaMetadata = JavaMetadata.instance(stream, JavaMetadataUtil.length(stream), null, null);
+ rootNode = CompilationUnitParser.runJLS3Conversion(JavaMetadataUtil.getJavaSourceFromTheInputStream(getJavaSrc(source),
+ source.length(),
+ null), true);
}
@@ -77,10 +92,6 @@
@Test
public void shouldRunJLS3Conversion() throws Exception {
- ASTNode rootNode = CompilationUnitParser.runJLS3Conversion(JavaMetadataUtil.getJavaSourceFromTheInputStream(getJavaSrc(source),
- source.length(),
- null),
- true);
assertThat(rootNode, is(notNullValue()));
// Verify we get a compilation unit node and that binding are correct
assertTrue("Not a compilation unit", rootNode.getNodeType() == ASTNode.COMPILATION_UNIT);
@@ -88,19 +99,39 @@
@Test
public void shouldCreatePackageMetadata() throws Exception {
- javaMetadata = JavaMetadata.instance(stream, JavaMetadataUtil.length(stream), null, null);
- ASTNode rootNode = CompilationUnitParser.runJLS3Conversion(JavaMetadataUtil.getJavaSourceFromTheInputStream(getJavaSrc(source),
- source.length(),
- null),
- true);
PackageMetadata packageMetadata = javaMetadata.createPackageMetadata((CompilationUnit)rootNode);
assertThat(packageMetadata, is(notNullValue()));
assertThat(packageMetadata.getName(), is("org.acme"));
- List<Annotation> annotations = packageMetadata.getAnnotations();
- for (Annotation annotation : annotations) {
- if (annotation instanceof MarkerAnnotation) {
- assertThat(annotation.getTypeName().getFullyQualifiedName(), is("org.acme.annotation.MyPackageAnnotation"));
+ List<AnnotationMetadata> annotations = packageMetadata.getAnnotationMetada();
+ for (AnnotationMetadata annotationMetadata : annotations) {
+ if (annotationMetadata instanceof MarkerAnnotationMetadata) {
+ MarkerAnnotationMetadata maker = (MarkerAnnotationMetadata)annotationMetadata;
+ assertThat(maker.getName(), is("org.acme.annotation.MyPackageAnnotation"));
+
}
}
}
+
+ @Test
+ public void shouldCreateImportMetadata() throws Exception {
+ List<ImportMetadata> data = javaMetadata.createImportMetadata((CompilationUnit)rootNode);
+ for (Iterator<ImportMetadata> i = data.iterator(); i.hasNext();) {
+ Object o = i.next();
+ if (o instanceof ImportOnDemandMetadata) {
+ ImportOnDemandMetadata onDemand = (ImportOnDemandMetadata)o;
+ assertThat(onDemand.getName(), is("java.util"));
+ } else {
+ SingleImportMetadata singleImport = (SingleImportMetadata)o;
+ assertThat(singleImport.getName(), is("org.acme.annotation.MyClassAnnotation"));
+ }
+
+ }
+ }
+
+ @Test
+ public void shouldCreateTopLevelTypeMetadata() throws Exception {
+ List<TypeMetadata> data = javaMetadata.createTypeMetadata((CompilationUnit)rootNode);
+ assertTrue(data.size() > 0);
+ }
+
}
More information about the dna-commits
mailing list