[dna-commits] DNA SVN: r490 - in trunk/extensions/dna-sequencer-java/src: main/resources/org/jboss/dna/sequencer/java and 1 other directories.

dna-commits at lists.jboss.org dna-commits at lists.jboss.org
Tue Sep 2 19:49:26 EDT 2008


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;




More information about the dna-commits mailing list