Author: spagop
Date: 2008-09-02 19:49:25 -0400 (Tue, 02 Sep 2008)
New Revision: 490
Modified:
trunk/extensions/dna-sequencer-java/src/main/java/org/jboss/dna/sequencer/java/AbstractJavaMetadata.java
trunk/extensions/dna-sequencer-java/src/main/java/org/jboss/dna/sequencer/java/CompilationUnitParser.java
trunk/extensions/dna-sequencer-java/src/main/resources/org/jboss/dna/sequencer/java/java-source-artifact.cnd
trunk/extensions/dna-sequencer-java/src/test/java/org/jboss/dna/sequencer/java/JavaMetadataSequencerTest.java
trunk/extensions/dna-sequencer-java/src/test/java/org/jboss/dna/sequencer/java/JavaMetadataTest.java
Log:
enhance the cnd, the sequencer to support parameter references and more test units
Modified:
trunk/extensions/dna-sequencer-java/src/main/java/org/jboss/dna/sequencer/java/AbstractJavaMetadata.java
===================================================================
---
trunk/extensions/dna-sequencer-java/src/main/java/org/jboss/dna/sequencer/java/AbstractJavaMetadata.java 2008-08-29
14:06:37 UTC (rev 489)
+++
trunk/extensions/dna-sequencer-java/src/main/java/org/jboss/dna/sequencer/java/AbstractJavaMetadata.java 2008-09-02
23:49:25 UTC (rev 490)
@@ -350,7 +350,8 @@
methodMetadata.getParameters().add(simpleTypeFieldMetadata);
}
if (type.isArrayType()) {
- // TODO
+
+
}
if (type.isWildcardType()) {
// TODO
@@ -403,6 +404,7 @@
// ArrayType
if (type.isArrayType()) {
ArrayTypeFieldMetadata arrayFieldMetadata =
processArrayTypeFrom(fieldDeclaration);
+ return arrayFieldMetadata;
}
// QualifiedType
if (type.isQualifiedType()) {
@@ -423,21 +425,44 @@
* @param fieldDeclaration - field declaration
* @return an ArrayTypeFieldMetadata, that contains information about an array type.
*/
- private ArrayTypeFieldMetadata processArrayTypeFrom( FieldDeclaration
fieldDeclaration ) {
+ protected ArrayTypeFieldMetadata processArrayTypeFrom( FieldDeclaration
fieldDeclaration ) {
+ ArrayTypeFieldMetadata arrayTypeFieldMetadata = null;
ArrayType arrayType = (ArrayType)fieldDeclaration.getType();
-
// the element type is never an array type
Type type = arrayType.getElementType();
+ if (type.isPrimitiveType()) {
+ PrimitiveType primitiveType = (PrimitiveType)type;
+ arrayTypeFieldMetadata = new ArrayTypeFieldMetadata();
+
arrayTypeFieldMetadata.setType(primitiveType.getPrimitiveTypeCode().toString());
+ processModifiersAndVariablesOfFieldDeclaration(fieldDeclaration,
arrayTypeFieldMetadata);
+ return arrayTypeFieldMetadata;
+
+ }
// can't be an array type
- if(type.isSimpleType()) {
-
+ if (type.isSimpleType()) {
+ SimpleType simpleType = (SimpleType)type;
+ arrayTypeFieldMetadata = new ArrayTypeFieldMetadata();
+
arrayTypeFieldMetadata.setType(JavaMetadataUtil.getName(simpleType.getName()));
+ processModifiersAndVariablesOfFieldDeclaration(fieldDeclaration,
arrayTypeFieldMetadata);
+ return arrayTypeFieldMetadata;
}
-
return null;
}
/**
+ * Process together modifiers and variables of a {@link FieldDeclaration}.
+ *
+ * @param fieldDeclaration - the field declaration instance.
+ * @param arrayTypeFieldMetadata - the meta data.
+ */
+ private void processModifiersAndVariablesOfFieldDeclaration( FieldDeclaration
fieldDeclaration,
+ ArrayTypeFieldMetadata
arrayTypeFieldMetadata ) {
+ processModifiersOfFieldDeclaration(fieldDeclaration, arrayTypeFieldMetadata);
+ processVariablesOfVariableDeclarationFragment(fieldDeclaration,
arrayTypeFieldMetadata);
+ }
+
+ /**
* Process the simple type of a {@link FieldDeclaration}.
*
* @param fieldDeclaration - the field declaration.
Modified:
trunk/extensions/dna-sequencer-java/src/main/java/org/jboss/dna/sequencer/java/CompilationUnitParser.java
===================================================================
---
trunk/extensions/dna-sequencer-java/src/main/java/org/jboss/dna/sequencer/java/CompilationUnitParser.java 2008-08-29
14:06:37 UTC (rev 489)
+++
trunk/extensions/dna-sequencer-java/src/main/java/org/jboss/dna/sequencer/java/CompilationUnitParser.java 2008-09-02
23:49:25 UTC (rev 490)
@@ -50,8 +50,7 @@
parser.setKind(ASTParser.K_COMPILATION_UNIT);
parser.setResolveBindings(resolveBindings);
// Parse compilation unit
- ASTNode result = parser.createAST(null);
- return result;
+ return parser.createAST(null);
}
}
Modified:
trunk/extensions/dna-sequencer-java/src/main/resources/org/jboss/dna/sequencer/java/java-source-artifact.cnd
===================================================================
---
trunk/extensions/dna-sequencer-java/src/main/resources/org/jboss/dna/sequencer/java/java-source-artifact.cnd 2008-08-29
14:06:37 UTC (rev 489)
+++
trunk/extensions/dna-sequencer-java/src/main/resources/org/jboss/dna/sequencer/java/java-source-artifact.cnd 2008-09-02
23:49:25 UTC (rev 490)
@@ -230,7 +230,7 @@
+ java:method (java:methodDeclaration) = java:methodDeclaration multiple
+ java:constructor (java:constructorDeclaration) = java:constructorDeclaration multiple
-[java:enumDeclaration] > nt:unstructured
+[java:enumDeclaration] > nt:unstructured // TODO
[java:classDeclaration] > nt:unstructured
+ java:normalClass (java:normalClassDeclaration) = java:normalClassDeclaration
Modified:
trunk/extensions/dna-sequencer-java/src/test/java/org/jboss/dna/sequencer/java/JavaMetadataSequencerTest.java
===================================================================
---
trunk/extensions/dna-sequencer-java/src/test/java/org/jboss/dna/sequencer/java/JavaMetadataSequencerTest.java 2008-08-29
14:06:37 UTC (rev 489)
+++
trunk/extensions/dna-sequencer-java/src/test/java/org/jboss/dna/sequencer/java/JavaMetadataSequencerTest.java 2008-09-02
23:49:25 UTC (rev 490)
@@ -226,7 +226,7 @@
"java:variableName"),
is(new Object[] {"i"}));
- // public void doSomething(int p1, int p2) method
+ // public void doSomething(int p1, int p2, Object o) method
assertThat(output.getPropertyValues("java:compilationUnit/java:unitType/java:classDeclaration/java:normalClass/java:normalClassDeclaration/java:method/java:methodDeclaration[4]/java:modifier/java:modifierDeclaration[1]",
"java:modifierName"),
is(new Object[] {"public"}));
Modified:
trunk/extensions/dna-sequencer-java/src/test/java/org/jboss/dna/sequencer/java/JavaMetadataTest.java
===================================================================
---
trunk/extensions/dna-sequencer-java/src/test/java/org/jboss/dna/sequencer/java/JavaMetadataTest.java 2008-08-29
14:06:37 UTC (rev 489)
+++
trunk/extensions/dna-sequencer-java/src/test/java/org/jboss/dna/sequencer/java/JavaMetadataTest.java 2008-09-02
23:49:25 UTC (rev 490)
@@ -36,6 +36,7 @@
import org.eclipse.jdt.core.dom.ASTNode;
import org.eclipse.jdt.core.dom.CompilationUnit;
import org.jboss.dna.sequencer.java.metadata.AnnotationMetadata;
+import org.jboss.dna.sequencer.java.metadata.ArrayTypeFieldMetadata;
import org.jboss.dna.sequencer.java.metadata.ClassMetadata;
import org.jboss.dna.sequencer.java.metadata.ConstructorMetadata;
import org.jboss.dna.sequencer.java.metadata.FieldMetadata;
@@ -162,13 +163,13 @@
assertTrue(fields.size() > 0);
PrimitiveFieldMetadata primitiveFieldMetadata =
(PrimitiveFieldMetadata)fields.get(0);
- assertTrue(primitiveFieldMetadata.getModifiers().size() == 1);
+ assertTrue(primitiveFieldMetadata.getModifiers().size() > 0);
assertThat(primitiveFieldMetadata.getType(), is("int"));
assertThat(primitiveFieldMetadata.getVariables().get(0).getName(),
is("i"));
assertThat(primitiveFieldMetadata.getVariables().get(1).getName(),
is("j"));
PrimitiveFieldMetadata primitiveFieldMetadata2 =
(PrimitiveFieldMetadata)fields.get(1);
- assertTrue(primitiveFieldMetadata2.getModifiers().size() == 2);
+ assertTrue(primitiveFieldMetadata2.getModifiers().size() > 0);
assertThat(primitiveFieldMetadata2.getType(), is("double"));
assertThat(primitiveFieldMetadata2.getVariables().get(0).getName(),
is("a"));
@@ -187,14 +188,26 @@
SimpleTypeFieldMetadata simpleFieldMetadata =
(SimpleTypeFieldMetadata)fields.get(4);
assertNotNull(simpleFieldMetadata);
- assertTrue(simpleFieldMetadata.getModifiers().size() == 1);
+ assertTrue(simpleFieldMetadata.getModifiers().size() > 0);
assertThat(simpleFieldMetadata.getType(), is("X"));
assertThat(simpleFieldMetadata.getVariables().get(0).getName(),
is("x"));
+
+ ArrayTypeFieldMetadata arrayTypeFieldMetadata1 =
(ArrayTypeFieldMetadata)fields.get(5);
+ assertNotNull(arrayTypeFieldMetadata1);
+ assertTrue(arrayTypeFieldMetadata1.getModifiers().size() > 0);
+ assertThat(arrayTypeFieldMetadata1.getType(), is("int"));
+ assertThat(arrayTypeFieldMetadata1.getVariables().get(0).getName(),
is("ai"));
+
+ ArrayTypeFieldMetadata arrayTypeFieldMetadata2 =
(ArrayTypeFieldMetadata)fields.get(6);
+ assertNotNull(arrayTypeFieldMetadata2);
+ assertTrue(arrayTypeFieldMetadata2.getModifiers().size() > 0);
+ assertThat(arrayTypeFieldMetadata2.getType(), is("Object"));
+ assertThat(arrayTypeFieldMetadata2.getVariables().get(0).getName(),
is("ao"));
// get methods
List<MethodMetadata> methods = classMetadata.getMethods();
assertNotNull(methods);
- assertTrue(methods.size() == 6);
+ assertTrue(methods.size() > 0);
MethodMetadata methodMetadata = methods.get(0);
ConstructorMetadata constructorMetadata =
(ConstructorMetadata)methodMetadata;
Show replies by date