[dna-commits] DNA SVN: r372 - in trunk/sequencers/dna-sequencer-java/src: main/java/org/jboss/dna/sequencer/java/metadata and 3 other directories.

dna-commits at lists.jboss.org dna-commits at lists.jboss.org
Sat Jul 26 17:33:14 EDT 2008


Author: spagop
Date: 2008-07-26 17:33:14 -0400 (Sat, 26 Jul 2008)
New Revision: 372

Modified:
   trunk/sequencers/dna-sequencer-java/src/main/java/org/jboss/dna/sequencer/java/AbstractJavaMetadata.java
   trunk/sequencers/dna-sequencer-java/src/main/java/org/jboss/dna/sequencer/java/JavaMetadataSequencer.java
   trunk/sequencers/dna-sequencer-java/src/main/java/org/jboss/dna/sequencer/java/metadata/ClassMetadata.java
   trunk/sequencers/dna-sequencer-java/src/main/java/org/jboss/dna/sequencer/java/metadata/ConstructorMetadata.java
   trunk/sequencers/dna-sequencer-java/src/main/java/org/jboss/dna/sequencer/java/metadata/JavaMetadata.java
   trunk/sequencers/dna-sequencer-java/src/main/java/org/jboss/dna/sequencer/java/metadata/MethodMetadata.java
   trunk/sequencers/dna-sequencer-java/src/main/java/org/jboss/dna/sequencer/java/metadata/ParameterizedFieldMetadata.java
   trunk/sequencers/dna-sequencer-java/src/main/java/org/jboss/dna/sequencer/java/metadata/TypeMetadata.java
   trunk/sequencers/dna-sequencer-java/src/main/resources/org/jboss/dna/sequencer/java/java-source-artifact.cnd
   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
   trunk/sequencers/dna-sequencer-java/src/test/workspace/projectX/src/org/acme/MySource.java
Log:
minimal enhancement for the sequencer (imports,fields, methods). Take the support of same-name siblings with index in consideration

Modified: trunk/sequencers/dna-sequencer-java/src/main/java/org/jboss/dna/sequencer/java/AbstractJavaMetadata.java
===================================================================
--- trunk/sequencers/dna-sequencer-java/src/main/java/org/jboss/dna/sequencer/java/AbstractJavaMetadata.java	2008-07-25 20:39:42 UTC (rev 371)
+++ trunk/sequencers/dna-sequencer-java/src/main/java/org/jboss/dna/sequencer/java/AbstractJavaMetadata.java	2008-07-26 21:33:14 UTC (rev 372)
@@ -155,6 +155,7 @@
     protected List<TypeMetadata> createTypeMetadata( CompilationUnit unit ) {
         List<TypeMetadata> metadata = new ArrayList<TypeMetadata>();
         List<AbstractTypeDeclaration> topLevelType = unit.types();
+        
         for (AbstractTypeDeclaration abstractTypeDeclaration : topLevelType) {
             // process TypeDeclaration (class, interface)
             if (abstractTypeDeclaration instanceof TypeDeclaration) {
@@ -192,7 +193,7 @@
                     // methods of the class top level type
                     MethodDeclaration[] methodDeclarations = typeDeclaration.getMethods();
                     for (MethodDeclaration methodDeclaration : methodDeclarations) {
-                        MethodMetadata methodMetadata = getFieldMetadataFrom(methodDeclaration);
+                        MethodMetadata methodMetadata = getMethodMetadataFrom(methodDeclaration);
                         classMetadata.getMethods().add(methodMetadata);
                     }
                     metadata.add(classMetadata);
@@ -220,7 +221,7 @@
      * @param methodDeclaration - the MethodDeclaration.
      * @return methodMetadata - the method meta data.
      */
-    private MethodMetadata getFieldMetadataFrom( MethodDeclaration methodDeclaration ) {
+    private MethodMetadata getMethodMetadataFrom( MethodDeclaration methodDeclaration ) {
         if (methodDeclaration != null) {
             if (methodDeclaration.isConstructor()) {
                 return getConstructorMetadataFrom(methodDeclaration);

Modified: trunk/sequencers/dna-sequencer-java/src/main/java/org/jboss/dna/sequencer/java/JavaMetadataSequencer.java
===================================================================
--- trunk/sequencers/dna-sequencer-java/src/main/java/org/jboss/dna/sequencer/java/JavaMetadataSequencer.java	2008-07-25 20:39:42 UTC (rev 371)
+++ trunk/sequencers/dna-sequencer-java/src/main/java/org/jboss/dna/sequencer/java/JavaMetadataSequencer.java	2008-07-26 21:33:14 UTC (rev 372)
@@ -24,14 +24,27 @@
 import java.io.IOException;
 import java.io.InputStream;
 import java.util.List;
+import java.util.Map;
 import org.apache.commons.lang.StringUtils;
 import org.jboss.dna.common.monitor.ProgressMonitor;
 import org.jboss.dna.sequencer.java.metadata.AnnotationMetadata;
+import org.jboss.dna.sequencer.java.metadata.ClassMetadata;
+import org.jboss.dna.sequencer.java.metadata.ConstructorMetadata;
+import org.jboss.dna.sequencer.java.metadata.FieldMetadata;
+import org.jboss.dna.sequencer.java.metadata.ImportMetadata;
+import org.jboss.dna.sequencer.java.metadata.ImportOnDemandMetadata;
 import org.jboss.dna.sequencer.java.metadata.JavaMetadata;
 import org.jboss.dna.sequencer.java.metadata.MarkerAnnotationMetadata;
+import org.jboss.dna.sequencer.java.metadata.MethodMetadata;
+import org.jboss.dna.sequencer.java.metadata.MethodTypeMemberMetadata;
 import org.jboss.dna.sequencer.java.metadata.NormalAnnotationMetadata;
 import org.jboss.dna.sequencer.java.metadata.PackageMetadata;
+import org.jboss.dna.sequencer.java.metadata.ParameterizedFieldMetadata;
+import org.jboss.dna.sequencer.java.metadata.PrimitiveFieldMetadata;
+import org.jboss.dna.sequencer.java.metadata.SingleImportMetadata;
 import org.jboss.dna.sequencer.java.metadata.SingleMemberAnnotationMetadata;
+import org.jboss.dna.sequencer.java.metadata.TypeMetadata;
+import org.jboss.dna.sequencer.java.metadata.Variable;
 import org.jboss.dna.spi.graph.NameFactory;
 import org.jboss.dna.spi.graph.Path;
 import org.jboss.dna.spi.graph.PathFactory;
@@ -47,22 +60,79 @@
  * <ul>
  * <li><strong>java:compilationUnit</strong> node of type <code>java:compilationUnit</code>
  * <ul>
- * <li><strong>java:package</strong> - optional child node that represents the package declaration of the compilation unit</li>
+ * <li> <strong>java:package</strong> - optional child node that represents the package child node of the compilation unit
+ * <ul>
+ * <li> <strong>java:packageDeclaration</strong> -
+ * <ul>
+ * <li><strong>java:packageName</strong></li>
  * </ul>
  * </li>
  * </ul>
+ * </li>
+ * <li> <strong>java:import</strong> - optional child node that represents the import declaration of the compilation unit
+ * <ul>
+ * <li> <strong>java:importDeclaration</strong> -
+ * <ul>
+ * <li> <strong>java:singleTypeImportDeclaration</strong>
+ * <ul>
+ * <li> <strong>java:packageDeclaration</strong> -
+ * <ul>
+ * <li><strong>java:typeName</strong></li>
+ * </ul>
+ * </li>
+ * </ul>
+ * </li>
+ * <li> <strong>java:typeImportOnDemandDeclaration</strong>
+ * <ul>
+ * <li> <strong>java:packageDeclaration</strong> -
+ * <ul>
+ * <li><strong>java:typeName</strong></li>
+ * </ul>
+ * </li>
+ * </ul>
+ * </li>
+ * </ul>
+ * </li>
+ * </ul>
+ * </li>
+ * <li><strong>java:unitType</strong> - optional child node that represents the top level type (class, interface, enum,
+ * annotation) declaration of the compilation unit</li>
+ * <ul>
+ * <li> <strong>java:classDeclaration</strong> - optional child node that represents the class declaration of the compilation
+ * unit
+ * <ul>
+ * <li> <strong>java:normalClass</strong> -
+ * <ul>
+ * <li> <strong>java:normalClassDeclaration</strong> -
+ * <ul>
+ * <li> <strong>java:modifier</strong> - </li>
+ * <li> <strong>java:name</strong> - </li>
+ * <li> <strong>java:field</strong> - </li>
+ * <li> <strong>java:method</strong> - </li>
+ * <li> <strong>java:constructor</strong> - </li>
+ * </ul>
+ * </li>
+ * </ul>
+ * </li>
+ * </ul>
+ * </li>
+ * </ul>
+ * </li>
+ * </ul>
  * </p>
  * 
  * @author Serge Pagop
  */
 public class JavaMetadataSequencer implements StreamSequencer {
 
+    private static final String SLASH = "/";
+
     public static final String JAVA_COMPILATION_UNIT_NODE = "java:compilationUnit";
     public static final String JAVA_COMPILATION_UNIT_PRIMARY_TYPE = "jcr:primaryType";
+    // package declaration
     public static final String JAVA_PACKAGE_CHILD_NODE = "java:package";
     public static final String JAVA_PACKAGE_DECLARATION_CHILD_NODE = "java:packageDeclaration";
     public static final String JAVA_PACKAGE_NAME = "java:packageName";
-    
     // Annnotation declaration
     public static final String JAVA_ANNOTATION_CHILD_NODE = "java:annotation";
     public static final String JAVA_ANNOTATION_DECLARATION_CHILD_NODE = "java:annotationDeclaration";
@@ -71,19 +141,40 @@
     public static final String JAVA_NORMAL_ANNOTATION_CHILD_NODE = "java:normalAnnotation";
     public static final String JAVA_SINGLE_ELEMENT_ANNOTATION_CHILD_NODE = "java:singleElementAnnotation";
     public static final String JAVA_ANNOTATION_TYPE_NAME = "java:typeName";
-
     // Import declaration
     public static final String JAVA_IMPORT_CHILD_NODE = "java:import";
     public static final String JAVA_IMPORT_DECLARATION_CHILD_NODE = "java:importDeclaration";
     public static final String JAVA_SINGLE_IMPORT_CHILD_NODE = "java:singleImport";
     public static final String JAVA_SINGLE_TYPE_IMPORT_DECLARATION_CHILD_NODE = "java:singleTypeImportDeclaration";
-    
     public static final String JAVA_IMPORT_ON_DEMAND_CHILD_NODE = "java:importOnDemand";
     public static final String JAVA_TYPE_IMPORT_ON_DEMAND_DECLARATION_CHILD_NODE = "java:typeImportOnDemandDeclaration";
-    public static final String JAVA_IMPORT_TYPE_NAME = "typeName";
+    public static final String JAVA_IMPORT_TYPE_NAME = "java:typeName";
+    // normal class declaration
+    public static final String JAVA_UNIT_TYPE_CHILD_NODE = "java:unitType";
+    public static final String JAVA_CLASS_DECLARATION_CHILD_NODE = "java:classDeclaration";
+    public static final String JAVA_NORMAL_CLASS_CHILD_NODE = "java:normalClass";
+    public static final String JAVA_NORMAL_CLASS_DECLARATION_CHILD_NODE = "java:normalClassDeclaration";
+    public static final String JAVA_CLASS_NAME = "java:name";
+    public static final String JAVA_PUBLIC_CLASS_MODIFIER = "java:modifier";
 
-    private static final String SLASH = "/";
-    
+    public static final String JAVA_TYPE_NAME = "java:name";
+    // primitive type
+    public static final String JAVA_FIELD_CHILD_NODE = "java:field";
+    public static final String JAVA_FIELD_TYPE_CHILD_NODE = "java:fieldType";
+    public static final String JAVA_TYPE_CHILD_NODE = "java:type";
+    public static final String JAVA_PRIMITIVE_TYPE_CHILD_NODE = "java:primitiveType";
+
+    // reference type
+    public static final String JAVA_REFERENCE_TYPE_CHILD_NODE = "java:referenceType";
+
+    // method declaration
+    public static final String JAVA_METHOD_CHILD_NODE = "java:method";
+    public static final String JAVA_METHOD_DECLARATION_CHILD_NODE = "java:methodDeclaration";
+    public static final String JAVA_METHOD_NAME = "java:name";
+
+    public static final String JAVA_CONSTRUCTOR_CHILD_NODE = "java:constructor";
+    public static final String JAVA_CONSTRUCTOR_DECLARATION_CHILD_NODE = "java:constructorDeclaration";
+
     /**
      * {@inheritDoc}
      * 
@@ -114,11 +205,11 @@
                                nameFactory.create(JAVA_COMPILATION_UNIT_PRIMARY_TYPE),
                                "java:compilationUnit");
 
-            // Process package declaration of a unit.
+            // sequence package declaration of a unit.
             PackageMetadata packageMetadata = javaMetadata.getPackageMetadata();
             if (packageMetadata != null) {
                 if (StringUtils.isNotEmpty(packageMetadata.getName())) {
-                    
+
                     Path javaPackageDeclarationChildNode = pathFactory.create(JAVA_COMPILATION_UNIT_NODE + SLASH
                                                                               + JAVA_PACKAGE_CHILD_NODE + SLASH
                                                                               + JAVA_PACKAGE_DECLARATION_CHILD_NODE);
@@ -128,58 +219,185 @@
                 }
 
                 List<AnnotationMetadata> annotations = packageMetadata.getAnnotationMetada();
-                if (!annotations.isEmpty()) {
-                    for (AnnotationMetadata annotationMetadata : annotations) {
-                        if (annotationMetadata instanceof MarkerAnnotationMetadata) {
-                            MarkerAnnotationMetadata markerAnnotationMetadata = (MarkerAnnotationMetadata)annotationMetadata;
-                            Path markerAnnotationChildNode = pathFactory.create(JAVA_COMPILATION_UNIT_NODE + SLASH
-                                                                                + JAVA_PACKAGE_CHILD_NODE + SLASH
-                                                                                + JAVA_PACKAGE_DECLARATION_CHILD_NODE + SLASH
-                                                                                + JAVA_ANNOTATION_CHILD_NODE + SLASH
-                                                                                + JAVA_ANNOTATION_DECLARATION_CHILD_NODE + SLASH
-                                                                                + JAVA_ANNOTATION_TYPE_CHILD_NODE + SLASH
-                                                                                + JAVA_MARKER_ANNOTATION_CHILD_NODE);
-                            output.setProperty(markerAnnotationChildNode,
-                                               nameFactory.create(JAVA_ANNOTATION_TYPE_NAME),
-                                               markerAnnotationMetadata.getName());
+                int markerAnnotationIndex = 1;
+                int singleAnnatationIndex = 1;
+                int normalAnnotationIndex = 1;
+                for (AnnotationMetadata annotationMetadata : annotations) {
+                    if (annotationMetadata instanceof MarkerAnnotationMetadata) {
+                        MarkerAnnotationMetadata markerAnnotationMetadata = (MarkerAnnotationMetadata)annotationMetadata;
+                        Path markerAnnotationChildNode = pathFactory.create(JAVA_COMPILATION_UNIT_NODE + SLASH
+                                                                            + JAVA_PACKAGE_CHILD_NODE + SLASH
+                                                                            + JAVA_PACKAGE_DECLARATION_CHILD_NODE + SLASH
+                                                                            + JAVA_ANNOTATION_CHILD_NODE + SLASH
+                                                                            + JAVA_ANNOTATION_DECLARATION_CHILD_NODE + SLASH
+                                                                            + JAVA_ANNOTATION_TYPE_CHILD_NODE + SLASH
+                                                                            + JAVA_MARKER_ANNOTATION_CHILD_NODE + "["
+                                                                            + markerAnnotationIndex + "]");
+                        output.setProperty(markerAnnotationChildNode,
+                                           nameFactory.create(JAVA_ANNOTATION_TYPE_NAME),
+                                           markerAnnotationMetadata.getName());
+                        markerAnnotationIndex++;
+                    }
+                    if (annotationMetadata instanceof SingleMemberAnnotationMetadata) {
+                        SingleMemberAnnotationMetadata singleMemberAnnotationMetadata = (SingleMemberAnnotationMetadata)annotationMetadata;
+                        Path singleMemberAnnotationChildNode = pathFactory.create(JAVA_COMPILATION_UNIT_NODE + SLASH
+                                                                                  + JAVA_PACKAGE_CHILD_NODE + SLASH
+                                                                                  + JAVA_PACKAGE_DECLARATION_CHILD_NODE + SLASH
+                                                                                  + JAVA_ANNOTATION_CHILD_NODE + SLASH
+                                                                                  + JAVA_ANNOTATION_DECLARATION_CHILD_NODE
+                                                                                  + SLASH + JAVA_ANNOTATION_TYPE_CHILD_NODE
+                                                                                  + SLASH
+                                                                                  + JAVA_SINGLE_ELEMENT_ANNOTATION_CHILD_NODE
+                                                                                  + "[" + singleAnnatationIndex + "]");
+                        output.setProperty(singleMemberAnnotationChildNode,
+                                           nameFactory.create(JAVA_ANNOTATION_TYPE_NAME),
+                                           singleMemberAnnotationMetadata.getName());
+                        singleAnnatationIndex++;
+                    }
+                    if (annotationMetadata instanceof NormalAnnotationMetadata) {
+                        NormalAnnotationMetadata normalAnnotationMetadata = (NormalAnnotationMetadata)annotationMetadata;
+                        Path normalAnnotationChildNode = pathFactory.create(JAVA_COMPILATION_UNIT_NODE + SLASH
+                                                                            + JAVA_PACKAGE_CHILD_NODE + SLASH
+                                                                            + JAVA_PACKAGE_DECLARATION_CHILD_NODE + SLASH
+                                                                            + JAVA_ANNOTATION_CHILD_NODE + SLASH
+                                                                            + JAVA_ANNOTATION_DECLARATION_CHILD_NODE + SLASH
+                                                                            + JAVA_ANNOTATION_TYPE_CHILD_NODE + SLASH
+                                                                            + JAVA_NORMAL_ANNOTATION_CHILD_NODE + "["
+                                                                            + normalAnnotationIndex + "]");
+
+                        output.setProperty(normalAnnotationChildNode,
+                                           nameFactory.create(JAVA_ANNOTATION_TYPE_NAME),
+                                           normalAnnotationMetadata.getName());
+                        normalAnnotationIndex++;
+                    }
+                }
+            }
+
+            // sequence import declarations of a unit
+            List<ImportMetadata> imports = javaMetadata.getImports();
+            int importOnDemandIndex = 1;
+            int singleImportIndex = 1;
+            for (ImportMetadata importMetadata : imports) {
+                if (importMetadata instanceof ImportOnDemandMetadata) {
+                    ImportOnDemandMetadata importOnDemandMetadata = (ImportOnDemandMetadata)importMetadata;
+                    Path importOnDemandChildNode = pathFactory.create(JAVA_COMPILATION_UNIT_NODE + SLASH + JAVA_IMPORT_CHILD_NODE
+                                                                      + SLASH + JAVA_IMPORT_DECLARATION_CHILD_NODE + SLASH
+                                                                      + JAVA_IMPORT_ON_DEMAND_CHILD_NODE + SLASH
+                                                                      + JAVA_TYPE_IMPORT_ON_DEMAND_DECLARATION_CHILD_NODE + "["
+                                                                      + importOnDemandIndex + "]");
+                    output.setProperty(importOnDemandChildNode,
+                                       nameFactory.create(JAVA_IMPORT_TYPE_NAME),
+                                       importOnDemandMetadata.getName());
+                    importOnDemandIndex++;
+                }
+                if (importMetadata instanceof SingleImportMetadata) {
+                    SingleImportMetadata singleImportMetadata = (SingleImportMetadata)importMetadata;
+                    Path singleImportChildNode = pathFactory.create(JAVA_COMPILATION_UNIT_NODE + SLASH + JAVA_IMPORT_CHILD_NODE
+                                                                    + SLASH + JAVA_IMPORT_DECLARATION_CHILD_NODE + SLASH
+                                                                    + JAVA_SINGLE_IMPORT_CHILD_NODE + SLASH
+                                                                    + JAVA_SINGLE_TYPE_IMPORT_DECLARATION_CHILD_NODE + "["
+                                                                    + singleImportIndex + "]");
+                    output.setProperty(singleImportChildNode,
+                                       nameFactory.create(JAVA_IMPORT_TYPE_NAME),
+                                       singleImportMetadata.getName());
+                    singleImportIndex++;
+                }
+            }
+
+            // sequence type declaration (class declaration) information
+            List<TypeMetadata> types = javaMetadata.getTypeMetadata();
+            for (TypeMetadata typeMetadata : types) {
+                // class declaration
+                if (typeMetadata instanceof ClassMetadata) {
+                    ClassMetadata classMetadata = (ClassMetadata)typeMetadata;
+                    Path classChildNode = pathFactory.create(JAVA_COMPILATION_UNIT_NODE + SLASH + JAVA_UNIT_TYPE_CHILD_NODE
+                                                             + SLASH + JAVA_CLASS_DECLARATION_CHILD_NODE + SLASH
+                                                             + JAVA_NORMAL_CLASS_CHILD_NODE + SLASH
+                                                             + JAVA_NORMAL_CLASS_DECLARATION_CHILD_NODE);
+                    output.setProperty(classChildNode, nameFactory.create(JAVA_CLASS_NAME), classMetadata.getName());
+
+                    // process modifiers of the class declaration
+                    Map<Integer, String> classModifiers = classMetadata.getModifiers();
+                    if (!classModifiers.isEmpty()) {
+                        String publicModifier = classModifiers.get(TypeMetadata.PUBLIC_MODIFIER);
+                        if (publicModifier != null) {
+                            output.setProperty(classChildNode, nameFactory.create(JAVA_PUBLIC_CLASS_MODIFIER), publicModifier);
                         }
-                        if (annotationMetadata instanceof SingleMemberAnnotationMetadata) {
-                            SingleMemberAnnotationMetadata singleMemberAnnotationMetadata = (SingleMemberAnnotationMetadata)annotationMetadata;
-                            Path singleMemberAnnotationChildNode = pathFactory.create(JAVA_COMPILATION_UNIT_NODE + SLASH
-                                                                                      + JAVA_PACKAGE_CHILD_NODE + SLASH
-                                                                                      + JAVA_PACKAGE_DECLARATION_CHILD_NODE
-                                                                                      + SLASH + JAVA_ANNOTATION_CHILD_NODE
-                                                                                      + SLASH
-                                                                                      + JAVA_ANNOTATION_DECLARATION_CHILD_NODE
-                                                                                      + SLASH + JAVA_ANNOTATION_TYPE_CHILD_NODE
-                                                                                      + SLASH
-                                                                                      + JAVA_SINGLE_ELEMENT_ANNOTATION_CHILD_NODE);
-                            output.setProperty(singleMemberAnnotationChildNode,
-                                               nameFactory.create(JAVA_ANNOTATION_TYPE_NAME),
-                                               singleMemberAnnotationMetadata.getName());
+                    }
+                    // process fields of the class unit.
+                    List<FieldMetadata> fields = classMetadata.getFields();
+                    int primitiveIndex = 1;
+                    for (FieldMetadata fieldMetadata : fields) {
+                        if (fieldMetadata instanceof PrimitiveFieldMetadata) {
+                            PrimitiveFieldMetadata primitiveFieldMetadata = (PrimitiveFieldMetadata)fieldMetadata;
+                            List<Variable> variables = primitiveFieldMetadata.getVariables();
+                            for (Variable variable : variables) {
+                                Path primitiveChildNode = pathFactory.create(JAVA_COMPILATION_UNIT_NODE + SLASH
+                                                                             + JAVA_UNIT_TYPE_CHILD_NODE + SLASH
+                                                                             + JAVA_CLASS_DECLARATION_CHILD_NODE + SLASH
+                                                                             + JAVA_NORMAL_CLASS_CHILD_NODE + SLASH
+                                                                             + JAVA_NORMAL_CLASS_DECLARATION_CHILD_NODE + SLASH
+                                                                             + JAVA_FIELD_CHILD_NODE + SLASH
+                                                                             + JAVA_FIELD_TYPE_CHILD_NODE + SLASH
+                                                                             + JAVA_TYPE_CHILD_NODE + SLASH
+                                                                             + JAVA_PRIMITIVE_TYPE_CHILD_NODE + "["
+                                                                             + primitiveIndex + "]");
+                                output.setProperty(primitiveChildNode, nameFactory.create(JAVA_TYPE_NAME), variable.getName());
+                                primitiveIndex++;
+                            }
                         }
-                        if (annotationMetadata instanceof NormalAnnotationMetadata) {
-                            NormalAnnotationMetadata normalAnnotationMetadata = (NormalAnnotationMetadata)annotationMetadata;
-                            Path normalAnnotationChildNode = pathFactory.create(JAVA_COMPILATION_UNIT_NODE + SLASH
-                                                                                + JAVA_PACKAGE_CHILD_NODE + SLASH
-                                                                                + JAVA_PACKAGE_DECLARATION_CHILD_NODE + SLASH
-                                                                                + JAVA_ANNOTATION_CHILD_NODE + SLASH
-                                                                                + JAVA_ANNOTATION_DECLARATION_CHILD_NODE + SLASH
-                                                                                + JAVA_ANNOTATION_TYPE_CHILD_NODE + SLASH
-                                                                                + JAVA_NORMAL_ANNOTATION_CHILD_NODE);
-                            
-                            
-                            output.setProperty(normalAnnotationChildNode,
-                                               nameFactory.create(JAVA_ANNOTATION_TYPE_NAME),
-                                               normalAnnotationMetadata.getName());
+                        if (fieldMetadata instanceof ParameterizedFieldMetadata) {
+                            ParameterizedFieldMetadata parameterizedFieldMetadata = (ParameterizedFieldMetadata)fieldMetadata;
+                            // TODO
                         }
                     }
+
+                    // process methods of the unit.
+                    List<MethodMetadata> methods = classMetadata.getMethods();
+                    int methodIndex = 1;
+                    int constructorIndex = 1;
+                    for (MethodMetadata methodMetadata : methods) {
+                        if (methodMetadata.isContructor()) {
+                            // process contructor
+                            ConstructorMetadata constructorMetadata = (ConstructorMetadata)methodMetadata;
+
+                            Path constructorChildNode = pathFactory.create(JAVA_COMPILATION_UNIT_NODE + SLASH
+                                                                           + JAVA_UNIT_TYPE_CHILD_NODE + SLASH
+                                                                           + JAVA_CLASS_DECLARATION_CHILD_NODE + SLASH
+                                                                           + JAVA_NORMAL_CLASS_CHILD_NODE + SLASH
+                                                                           + JAVA_NORMAL_CLASS_DECLARATION_CHILD_NODE + SLASH
+                                                                           + JAVA_CONSTRUCTOR_CHILD_NODE + SLASH
+                                                                           + JAVA_CONSTRUCTOR_DECLARATION_CHILD_NODE + "["
+                                                                           + constructorIndex + "]");
+                            output.setProperty(constructorChildNode,
+                                               nameFactory.create(JAVA_METHOD_NAME),
+                                               constructorMetadata.getName());
+                            constructorIndex++;
+                        } else {
+
+                            // normal method
+                            MethodTypeMemberMetadata methodTypeMemberMetadata = (MethodTypeMemberMetadata)methodMetadata;
+                            Path methodChildNode = pathFactory.create(JAVA_COMPILATION_UNIT_NODE + SLASH
+                                                                      + JAVA_UNIT_TYPE_CHILD_NODE + SLASH
+                                                                      + JAVA_CLASS_DECLARATION_CHILD_NODE + SLASH
+                                                                      + JAVA_NORMAL_CLASS_CHILD_NODE + SLASH
+                                                                      + JAVA_NORMAL_CLASS_DECLARATION_CHILD_NODE + SLASH
+                                                                      + JAVA_METHOD_CHILD_NODE + SLASH
+                                                                      + JAVA_METHOD_DECLARATION_CHILD_NODE + "[" + methodIndex
+                                                                      + "]");
+                            output.setProperty(methodChildNode,
+                                               nameFactory.create(JAVA_METHOD_NAME),
+                                               methodTypeMemberMetadata.getName());
+                            methodIndex++;
+                        }
+                    }
                 }
+                // interface declaration
+
+                // enumeration declaration
             }
+        }
 
-            // Process import declarations of a unit
-            //TODO write BDD to show how the works
-        }
         progressMonitor.done();
     }
 }

Modified: trunk/sequencers/dna-sequencer-java/src/main/java/org/jboss/dna/sequencer/java/metadata/ClassMetadata.java
===================================================================
--- trunk/sequencers/dna-sequencer-java/src/main/java/org/jboss/dna/sequencer/java/metadata/ClassMetadata.java	2008-07-25 20:39:42 UTC (rev 371)
+++ trunk/sequencers/dna-sequencer-java/src/main/java/org/jboss/dna/sequencer/java/metadata/ClassMetadata.java	2008-07-26 21:33:14 UTC (rev 372)
@@ -21,7 +21,6 @@
  */
 package org.jboss.dna.sequencer.java.metadata;
 
-import java.util.List;
 
 
 /**

Modified: trunk/sequencers/dna-sequencer-java/src/main/java/org/jboss/dna/sequencer/java/metadata/ConstructorMetadata.java
===================================================================
--- trunk/sequencers/dna-sequencer-java/src/main/java/org/jboss/dna/sequencer/java/metadata/ConstructorMetadata.java	2008-07-25 20:39:42 UTC (rev 371)
+++ trunk/sequencers/dna-sequencer-java/src/main/java/org/jboss/dna/sequencer/java/metadata/ConstructorMetadata.java	2008-07-26 21:33:14 UTC (rev 372)
@@ -26,4 +26,16 @@
  */
 public class ConstructorMetadata extends MethodMetadata {
 
+    public ConstructorMetadata() {
+    }
+
+    /**
+     * {@inheritDoc}
+     * 
+     * @see org.jboss.dna.sequencer.java.metadata.MethodMetadata#isContructor()
+     */
+    @Override
+    public boolean isContructor() {
+        return true;
+    }
 }

Modified: trunk/sequencers/dna-sequencer-java/src/main/java/org/jboss/dna/sequencer/java/metadata/JavaMetadata.java
===================================================================
--- trunk/sequencers/dna-sequencer-java/src/main/java/org/jboss/dna/sequencer/java/metadata/JavaMetadata.java	2008-07-25 20:39:42 UTC (rev 371)
+++ trunk/sequencers/dna-sequencer-java/src/main/java/org/jboss/dna/sequencer/java/metadata/JavaMetadata.java	2008-07-26 21:33:14 UTC (rev 372)
@@ -33,17 +33,16 @@
  * @author Serge Pagop
  */
 public class JavaMetadata extends AbstractJavaMetadata {
-    
+
     /** The package representation of a compilation unit. */
     private PackageMetadata packageMetadata;
-    
+
     /** All the import declarations of a compilation unit. */
-    private List<ImportMetadata> importMetadata;
-    
-    /** variables */
-    
-    /** methods */
+    private List<ImportMetadata> imports;
 
+    /** Types of unit */
+    private List<TypeMetadata> types;
+
     private JavaMetadata() {
     }
 
@@ -75,14 +74,16 @@
         CompilationUnit unit = (CompilationUnit)CompilationUnitParser.runJLS3Conversion(source, true);
         if (unit != null) {
             javaMetadata.packageMetadata = javaMetadata.createPackageMetadata(unit);
-            javaMetadata.importMetadata = javaMetadata.createImportMetadata(unit);
+            javaMetadata.imports = javaMetadata.createImportMetadata(unit);
+            javaMetadata.types = javaMetadata.createTypeMetadata(unit);
+
         }
 
         return javaMetadata;
     }
 
     /**
-     * Gets the <code>PackageMetadata</code>.
+     * Gets the {@link PackageMetadata} from the unit.
      * 
      * @return the PackageMetadata or null if there is not package declaration for the unit.
      */
@@ -91,11 +92,20 @@
     }
 
     /**
-     * Gets a list of <code>ImportMetadata</code>.
+     * Gets a list of {@linkImportMetadata} from the unit.
      * 
-     * @return all the importMetadata of this unit if there is one.
+     * @return all imports of this unit if there is one.
      */
-    public List<ImportMetadata> getImportMetadata() {
-        return importMetadata;
+    public List<ImportMetadata> getImports() {
+        return imports;
     }
+
+    /**
+     * Gets the list for type declarations (class/interface/enum/annotation) of this unit.
+     * 
+     * @return all typeMetadata of this unit.
+     */
+    public List<TypeMetadata> getTypeMetadata() {
+        return types;
+    }
 }

Modified: trunk/sequencers/dna-sequencer-java/src/main/java/org/jboss/dna/sequencer/java/metadata/MethodMetadata.java
===================================================================
--- trunk/sequencers/dna-sequencer-java/src/main/java/org/jboss/dna/sequencer/java/metadata/MethodMetadata.java	2008-07-25 20:39:42 UTC (rev 371)
+++ trunk/sequencers/dna-sequencer-java/src/main/java/org/jboss/dna/sequencer/java/metadata/MethodMetadata.java	2008-07-26 21:33:14 UTC (rev 372)
@@ -26,7 +26,6 @@
  */
 public class MethodMetadata {
     private String name;
-
     /**
      * @return name
      */
@@ -40,5 +39,11 @@
     public void setName( String name ) {
         this.name = name;
     }
-    
+
+    /**
+     * @return isContructor
+     */
+    public boolean isContructor() {
+        return false;
+    }    
 }

Modified: trunk/sequencers/dna-sequencer-java/src/main/java/org/jboss/dna/sequencer/java/metadata/ParameterizedFieldMetadata.java
===================================================================
--- trunk/sequencers/dna-sequencer-java/src/main/java/org/jboss/dna/sequencer/java/metadata/ParameterizedFieldMetadata.java	2008-07-25 20:39:42 UTC (rev 371)
+++ trunk/sequencers/dna-sequencer-java/src/main/java/org/jboss/dna/sequencer/java/metadata/ParameterizedFieldMetadata.java	2008-07-26 21:33:14 UTC (rev 372)
@@ -21,7 +21,6 @@
  */
 package org.jboss.dna.sequencer.java.metadata;
 
-import java.util.List;
 
 /**
  * Field meta data for parameterized type.

Modified: trunk/sequencers/dna-sequencer-java/src/main/java/org/jboss/dna/sequencer/java/metadata/TypeMetadata.java
===================================================================
--- trunk/sequencers/dna-sequencer-java/src/main/java/org/jboss/dna/sequencer/java/metadata/TypeMetadata.java	2008-07-25 20:39:42 UTC (rev 371)
+++ trunk/sequencers/dna-sequencer-java/src/main/java/org/jboss/dna/sequencer/java/metadata/TypeMetadata.java	2008-07-26 21:33:14 UTC (rev 372)
@@ -83,6 +83,7 @@
     }
 
     /**
+     * 
      * @return modifiers
      */
     public Map<Integer, String> getModifiers() {
@@ -97,7 +98,9 @@
     }
 
     /**
-     * @return fields of this top level unit.
+     * Gets a ordered lists of {@link FieldMetadata} from the unit.
+     * 
+     * @return all fields of this unit if there is one.
      */
     public List<FieldMetadata> getFields() {
         return this.fields;
@@ -111,7 +114,9 @@
     }
 
     /**
-     * @return methods of this top level unit.
+     * Gets all {@link MethodMetadata} from the unit.
+     * 
+     * @return all methods from the units.
      */
     public List<MethodMetadata> getMethods() {
         return methods;

Modified: trunk/sequencers/dna-sequencer-java/src/main/resources/org/jboss/dna/sequencer/java/java-source-artifact.cnd
===================================================================
--- trunk/sequencers/dna-sequencer-java/src/main/resources/org/jboss/dna/sequencer/java/java-source-artifact.cnd	2008-07-25 20:39:42 UTC (rev 371)
+++ trunk/sequencers/dna-sequencer-java/src/main/resources/org/jboss/dna/sequencer/java/java-source-artifact.cnd	2008-07-26 21:33:14 UTC (rev 372)
@@ -108,51 +108,38 @@
  - java:name (string)
  + java:type (java:primitiveType, java:referenceType) mandatory multiple
 
-/** 
- * No Return type 
- */
-[java:noReturnType] > nt:unstructured
- - java:noReturn (string)
-   < 'void'
-
-/** 
- * Integral type
- */
-[java:integralType] > nt:unstructured
- - java:predefinedIntegralType (string) mandatory
-   < 'byte', 'short', 'int', 'long', 'char' 
-
-/** 
- * Floating point type
- */
-[java:floatingPointType] > nt:unstructured
- - java:predefinedFloatingType (string) mandatory
-  < 'float', 'double'
-
 /**
- * Primitive type 
+ * Primitive type:
+ * - Integral type ('byte', 'short', 'int', 'long', 'char')
+ * - Floating point type ('float', 'double')
+ * - Boolean type ('boolean')
+ * - No return type (''void')
  */
 [java:primitiveType] > nt:unstructured
- - java:booleanType (string)
-   < 'boolean'
- + java:numericType (java:integralType, java:floatingPointType)
+ - java:description (string)
+ - java:modifier (string)
+    < 'public', 'protected', 'private'
+ - java:declaredAs (string) multiple
+   < 'static','final', 'transient', 'volatile'
+ - java:type (string)
+   < 'byte','short','char','int,'long','float','double','boolean','void'
+ - java:name (string) mandatory
  
-
 /** 
  * Reference type  (TODO to enhance)
  */	
 [java:referenceType] > nt:unstructured
-
-/** 
- * Field type 
- */
-[java:fieldType] > nt:unstructured
- - java:description (string)
+- java:description (string)
  - java:modifier (string)
-   < 'public', 'protected', 'private'
+    < 'public', 'protected', 'private'
  - java:declaredAs (string) multiple
    < 'static','final', 'transient', 'volatile'
  - java:name (string) mandatory
+ 
+/** 
+ * Field type 
+ */
+[java:fieldType] > nt:unstructured
  + java:type (java:primitiveType, java:referenceType) mandatory multiple 
  
  /** 
@@ -162,7 +149,7 @@
  - java:description (string)
  - java:modifier (string)
    < 'public', 'protected', 'private'
- + java:resultType (java:noReturnType, java:primitiveType, java:referenceType) mandatory
+ + java:resultType (java:primitiveType, java:referenceType) mandatory
  - java:name (string) mandatory
  - java:declaredAs (string) multiple
    < 'static','final', 'native', 'strictfp', 'synchronized'
@@ -192,14 +179,14 @@
  * Import declarations
  */
 [java:singleTypeImportDeclaration] > nt:unstructured
- - keyword (string) mandatory
+ - java:keyword (string) mandatory
   < 'import'
- - typeName (string) mandatory
+ - java:typeName (string) mandatory
  
 [java:typeImportOnDemandDeclaration] > nt:unstructured
- - keyword (string) mandatory
+ - java:keyword (string) mandatory
   < 'import'
- - typeName (string) mandatory
+ - java:typeName (string) mandatory
 
  [java:importDeclaration] > nt:unstructured
  + java:singleImport (java:singleTypeImportDeclaration) = java:singleTypeImportDeclaration
@@ -244,4 +231,4 @@
 [java:compilationUnit] > nt:unstructured
  + java:package (java:packageDeclaration) = java:packageDeclaration
  + java:import (java:importDeclaration) = java:importDeclaration
- + java:type (java:classDeclaration, java:interfaceDeclaration) 
\ No newline at end of file
+ + java:unitType (java:classDeclaration, java:interfaceDeclaration) 
\ No newline at end of file

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-25 20:39:42 UTC (rev 371)
+++ trunk/sequencers/dna-sequencer-java/src/test/java/org/jboss/dna/sequencer/java/JavaMetadataSequencerTest.java	2008-07-26 21:33:14 UTC (rev 372)
@@ -84,13 +84,67 @@
         assertThat(content, is(notNullValue()));
         sequencer.sequence(content, output, context, progress);
         assertThat(output.getPropertyValues("java:compilationUnit", "jcr:primaryType"), is(new Object[] {"java:compilationUnit"}));
+
+        // sequencing package
         assertThat(output.getPropertyValues("java:compilationUnit/java:package/java:packageDeclaration", "java:packageName"),
                    is(new Object[] {"org.acme"}));
-        // TODO (find a solution to get the annotation of a package)
-        // assertThat(output.getPropertyValues("java:compilationUnit/java:package/java:packageDeclaration/java:annotation/java:annotationDeclaration/java:annotationType/java:markerAnnotation",
+
+        // TODO (find a solution to get the annotation of a package). Java Sequencer does not yet support sequencing of
+        // package-info.java with package annotations
+        // assertThat(output.getPropertyValues("java:compilationUnit/java:package/java:packageDeclaration/java:annotation/java:annotationDeclaration/java:annotationType/java:markerAnnotation[1]",
         // "java:typeName"),
         // is(new Object[] {"org.acme.annotation.MyPackageAnnotation"}));
 
+        // sequence imports
+        assertThat(output.getPropertyValues("java:compilationUnit/java:import/java:importDeclaration/java:singleImport/java:singleTypeImportDeclaration[1]",
+                                            "java:typeName"),
+                   is(new Object[] {"org.acme.annotation.MyClassAnnotation"}));
+        assertThat(output.getPropertyValues("java:compilationUnit/java:import/java:importDeclaration/java:importOnDemand/java:typeImportOnDemandDeclaration[1]",
+                                            "java:typeName"),
+                   is(new Object[] {"java.util"}));
+
+        // sequence class definition
+        assertThat(output.getPropertyValues("java:compilationUnit/java:unitType/java:classDeclaration/java:normalClass/java:normalClassDeclaration",
+                                            "java:modifier"),
+                   is(new Object[] {"public"}));
+        assertThat(output.getPropertyValues("java:compilationUnit/java:unitType/java:classDeclaration/java:normalClass/java:normalClassDeclaration",
+                                            "java:name"),
+                   is(new Object[] {"MySource"}));
+
+        // sequence fields
+        assertThat(output.getPropertyValues("java:compilationUnit/java:unitType/java:classDeclaration/java:normalClass/java:normalClassDeclaration/java:field/java:fieldType/java:type/java:primitiveType[1]",
+                                            "java:name"),
+                   is(new Object[] {"i"}));
+        assertThat(output.getPropertyValues("java:compilationUnit/java:unitType/java:classDeclaration/java:normalClass/java:normalClassDeclaration/java:field/java:fieldType/java:type/java:primitiveType[2]",
+                                            "java:name"),
+                   is(new Object[] {"j"}));
+        assertThat(output.getPropertyValues("java:compilationUnit/java:unitType/java:classDeclaration/java:normalClass/java:normalClassDeclaration/java:field/java:fieldType/java:type/java:primitiveType[3]",
+                                            "java:name"),
+                   is(new Object[] {"a"}));
+        // assertThat(output.getPropertyValues("java:compilationUnit/java:type/java:classDeclaration/java:normalClass/java:normalClassDeclaration/java:field/java:fieldType/java:type/java:referenceType",
+        // "java:name"),
+        // is(new Object[] {"l"}));
+        // assertThat(output.getPropertyValues("java:compilationUnit/java:type/java:classDeclaration/java:normalClass/java:normalClassDeclaration/java:field/java:fieldType/java:type/java:referenceType",
+        // "java:name"),
+        // is(new Object[] {"o"}));
+        // assertThat(output.getPropertyValues("java:compilationUnit/java:type/java:classDeclaration/java:normalClass/java:normalClassDeclaration/java:field/java:fieldType/java:type/java:referenceType",
+        // "java:name"),
+        // is(new Object[] {"x"}));
+
+        assertThat(output.getPropertyValues("java:compilationUnit/java:unitType/java:classDeclaration/java:normalClass/java:normalClassDeclaration/java:constructor/java:constructorDeclaration[1]",
+                                            "java:name"),
+                   is(new Object[] {"MySource"}));
+
+        assertThat(output.getPropertyValues("java:compilationUnit/java:unitType/java:classDeclaration/java:normalClass/java:normalClassDeclaration/java:method/java:methodDeclaration[1]",
+                                            "java:name"),
+                   is(new Object[] {"getI"}));
+        assertThat(output.getPropertyValues("java:compilationUnit/java:unitType/java:classDeclaration/java:normalClass/java:normalClassDeclaration/java:method/java:methodDeclaration[2]",
+                                            "java:name"),
+                   is(new Object[] {"setI"}));
+        assertThat(output.getPropertyValues("java:compilationUnit/java:unitType/java:classDeclaration/java:normalClass/java:normalClassDeclaration/java:method/java:methodDeclaration[4]",
+                                            "java:name"),
+                   is(new Object[] {"doSomething"}));
+
     }
 
 }

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-25 20:39:42 UTC (rev 371)
+++ trunk/sequencers/dna-sequencer-java/src/test/java/org/jboss/dna/sequencer/java/JavaMetadataTest.java	2008-07-26 21:33:14 UTC (rev 372)
@@ -163,45 +163,48 @@
                 // get fields
                 List<FieldMetadata> fields = classMetadata.getFields();
                 assertNotNull(fields);
-                assertTrue(fields.size() == 4);
+                assertTrue(fields.size() == 5);
 
                 PrimitiveFieldMetadata primitiveFieldMetadata = (PrimitiveFieldMetadata)fields.get(0);
                 assertThat(primitiveFieldMetadata.getCode(), is("int"));
                 assertThat(primitiveFieldMetadata.getVariables().get(0).getName(), is("i"));
+                assertThat(primitiveFieldMetadata.getVariables().get(1).getName(), is("j"));
 
-                ParameterizedFieldMetadata parameterizedFieldMetadata1 = (ParameterizedFieldMetadata)fields.get(1);
+                ParameterizedFieldMetadata parameterizedFieldMetadata1 = (ParameterizedFieldMetadata)fields.get(2);
                 assertNotNull(parameterizedFieldMetadata1);
                 assertThat(parameterizedFieldMetadata1.getName(), is("List"));
                 assertThat(parameterizedFieldMetadata1.getVariables().get(0).getName(), is("l"));
 
-                ParameterizedFieldMetadata parameterizedFieldMetadata2 = (ParameterizedFieldMetadata)fields.get(2);
+                ParameterizedFieldMetadata parameterizedFieldMetadata2 = (ParameterizedFieldMetadata)fields.get(3);
                 assertNotNull(parameterizedFieldMetadata2);
                 assertThat(parameterizedFieldMetadata2.getName(), is("B"));
                 assertThat(parameterizedFieldMetadata2.getVariables().get(0).getName(), is("o"));
-                
-                SimpleFieldMetadata simpleFieldMetadata = (SimpleFieldMetadata)fields.get(3);
+
+                SimpleFieldMetadata simpleFieldMetadata = (SimpleFieldMetadata)fields.get(4);
                 assertNotNull(simpleFieldMetadata);
                 assertThat(simpleFieldMetadata.getName(), is("X"));
                 assertThat(simpleFieldMetadata.getVariables().get(0).getName(), is("x"));
-                
+
                 // get methods
                 List<MethodMetadata> methods = classMetadata.getMethods();
                 assertNotNull(methods);
-                assertTrue(methods.size() == 4);
-                
-                ConstructorMetadata constructorMetadata = (ConstructorMetadata)methods.get(0);
+                assertTrue(methods.size() == 5);
+
+                MethodMetadata methodMetadata = methods.get(0);
+                assertTrue(methodMetadata.isContructor());
+                ConstructorMetadata constructorMetadata = (ConstructorMetadata)methodMetadata;
                 assertNotNull(constructorMetadata);
                 assertThat(constructorMetadata.getName(), is("MySource"));
-                
+
                 MethodTypeMemberMetadata methodTypeMemberMetadata1 = (MethodTypeMemberMetadata)methods.get(1);
                 assertNotNull(methodTypeMemberMetadata1);
                 assertThat(methodTypeMemberMetadata1.getName(), is("getI"));
-                
+
                 MethodTypeMemberMetadata methodTypeMemberMetadata2 = (MethodTypeMemberMetadata)methods.get(2);
                 assertNotNull(methodTypeMemberMetadata2);
                 assertThat(methodTypeMemberMetadata2.getName(), is("setI"));
-                
-                MethodTypeMemberMetadata methodTypeMemberMetadata3 = (MethodTypeMemberMetadata)methods.get(3);
+
+                MethodTypeMemberMetadata methodTypeMemberMetadata3 = (MethodTypeMemberMetadata)methods.get(4);
                 assertNotNull(methodTypeMemberMetadata3);
                 assertThat(methodTypeMemberMetadata3.getName(), is("doSomething"));
             }

Modified: trunk/sequencers/dna-sequencer-java/src/test/workspace/projectX/src/org/acme/MySource.java
===================================================================
--- trunk/sequencers/dna-sequencer-java/src/test/workspace/projectX/src/org/acme/MySource.java	2008-07-25 20:39:42 UTC (rev 371)
+++ trunk/sequencers/dna-sequencer-java/src/test/workspace/projectX/src/org/acme/MySource.java	2008-07-26 21:33:14 UTC (rev 372)
@@ -29,14 +29,16 @@
  */
 @MyClassAnnotation
 public class MySource {
-    
-    private int i;
+
+    private int i, j;
+    private double a;
     private List<String> l;
     private A<String>.B<Integer> o;
     private X x;
-    
-    public MySource(){}
-    
+
+    public MySource() {
+    }
+
     public int getI() {
         return this.i;
     }
@@ -44,35 +46,43 @@
     public void setI( int i ) {
         this.i = i;
     }
-    
+
+    public void setJ( int j ) {
+        this.j = j;
+    }
+
     public void doSomething() {
-        l= new ArrayList<String>();
+        l = new ArrayList<String>();
         l.add("N1");
     }
-    
+
     class A<E> {
         E e;
-        
-        A(E e) {
+
+        A( E e ) {
             this.e = e;
         }
-        
+
         @Override
         public String toString() {
             return String.valueOf(this.e);
         }
+
         class B<T> {
             T t;
-            B(T t) {
+
+            B( T t ) {
                 this.t = t;
             }
+
             @Override
             public String toString() {
                 return String.valueOf(this.t);
             }
         }
     }
+
     class X {
-        
+
     }
 }




More information about the dna-commits mailing list