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

dna-commits at lists.jboss.org dna-commits at lists.jboss.org
Sun Jan 10 19:26:34 EST 2010


Author: bcarothers
Date: 2010-01-10 19:26:34 -0500 (Sun, 10 Jan 2010)
New Revision: 1589

Modified:
   trunk/docs/examples/gettingstarted/sequencers/src/main/resources/sequencing.cnd
   trunk/extensions/dna-sequencer-classfile/src/main/java/org/jboss/dna/sequencer/classfile/ClassFileSequencer.java
   trunk/extensions/dna-sequencer-classfile/src/main/java/org/jboss/dna/sequencer/classfile/ClassFileSequencerLexicon.java
   trunk/extensions/dna-sequencer-classfile/src/main/java/org/jboss/dna/sequencer/classfile/DefaultClassFileRecorder.java
   trunk/extensions/dna-sequencer-classfile/src/main/resources/org/jboss/dna/sequencer/classfile/sequencer-classfile.cnd
Log:
DNA-62 Sequence Java class files to extract the class structure with annotations

Applied patch that adds a sequencedDate to the class output.

Modified: trunk/docs/examples/gettingstarted/sequencers/src/main/resources/sequencing.cnd
===================================================================
--- trunk/docs/examples/gettingstarted/sequencers/src/main/resources/sequencing.cnd	2010-01-10 23:32:54 UTC (rev 1588)
+++ trunk/docs/examples/gettingstarted/sequencers/src/main/resources/sequencing.cnd	2010-01-11 00:26:34 UTC (rev 1589)
@@ -341,6 +341,7 @@
 
 [class:class]
 - class:name (string) mandatory 
+- class:sequencedDate (date) 
 - class:superClassName (string) 
 - class:visibility (string) mandatory < 'public', 'protected', 'package', 'private'
 - class:abstract (boolean) mandatory

Modified: trunk/extensions/dna-sequencer-classfile/src/main/java/org/jboss/dna/sequencer/classfile/ClassFileSequencer.java
===================================================================
--- trunk/extensions/dna-sequencer-classfile/src/main/java/org/jboss/dna/sequencer/classfile/ClassFileSequencer.java	2010-01-10 23:32:54 UTC (rev 1588)
+++ trunk/extensions/dna-sequencer-classfile/src/main/java/org/jboss/dna/sequencer/classfile/ClassFileSequencer.java	2010-01-11 00:26:34 UTC (rev 1589)
@@ -24,14 +24,14 @@
 package org.jboss.dna.sequencer.classfile;
 
 import java.io.InputStream;
-import net.jcip.annotations.Immutable;
+import net.jcip.annotations.ThreadSafe;
 import org.jboss.dna.graph.sequencer.SequencerOutput;
 import org.jboss.dna.graph.sequencer.StreamSequencer;
 import org.jboss.dna.graph.sequencer.StreamSequencerContext;
 import org.jboss.dna.sequencer.classfile.metadata.ClassFileMetadataReader;
 import org.jboss.dna.sequencer.classfile.metadata.ClassMetadata;
 
- at Immutable
+ at ThreadSafe
 public class ClassFileSequencer implements StreamSequencer {
 
     private static final ClassFileRecorder DEFAULT_CLASS_FILE_RECORDER = new DefaultClassFileRecorder();

Modified: trunk/extensions/dna-sequencer-classfile/src/main/java/org/jboss/dna/sequencer/classfile/ClassFileSequencerLexicon.java
===================================================================
--- trunk/extensions/dna-sequencer-classfile/src/main/java/org/jboss/dna/sequencer/classfile/ClassFileSequencerLexicon.java	2010-01-10 23:32:54 UTC (rev 1588)
+++ trunk/extensions/dna-sequencer-classfile/src/main/java/org/jboss/dna/sequencer/classfile/ClassFileSequencerLexicon.java	2010-01-11 00:26:34 UTC (rev 1589)
@@ -55,6 +55,7 @@
     public static final Name NATIVE = new BasicName(Namespace.URI, "native");
     public static final Name PARAMETERS = new BasicName(Namespace.URI, "parameters");
     public static final Name RETURN_TYPE_CLASS_NAME = new BasicName(Namespace.URI, "returnTypeClassName");
+    public static final Name SEQUENCED_DATE = new BasicName(Namespace.URI, "sequencedDate");
     public static final Name STATIC = new BasicName(Namespace.URI, "static");
     public static final Name STRICT_FP = new BasicName(Namespace.URI, "strictFp");
     public static final Name SUPER_CLASS_NAME = new BasicName(Namespace.URI, "superClassName");

Modified: trunk/extensions/dna-sequencer-classfile/src/main/java/org/jboss/dna/sequencer/classfile/DefaultClassFileRecorder.java
===================================================================
--- trunk/extensions/dna-sequencer-classfile/src/main/java/org/jboss/dna/sequencer/classfile/DefaultClassFileRecorder.java	2010-01-10 23:32:54 UTC (rev 1588)
+++ trunk/extensions/dna-sequencer-classfile/src/main/java/org/jboss/dna/sequencer/classfile/DefaultClassFileRecorder.java	2010-01-11 00:26:34 UTC (rev 1589)
@@ -27,6 +27,7 @@
 import java.util.List;
 import java.util.Map;
 import org.jboss.dna.graph.JcrLexicon;
+import org.jboss.dna.graph.property.DateTimeFactory;
 import org.jboss.dna.graph.property.Path;
 import org.jboss.dna.graph.property.PathFactory;
 import org.jboss.dna.graph.property.Path.Segment;
@@ -45,11 +46,16 @@
                              ClassMetadata classMetadata ) {
 
         PathFactory pathFactory = pathFactoryFor(context);
+        DateTimeFactory dateFactory = dateFactoryFor(context);
         Path classPath = pathFor(pathFactory, classMetadata);
 
-        writeClassNode(output, pathFactory, classPath, classMetadata);
+        writeClassNode(output, pathFactory, dateFactory, classPath, classMetadata);
     }
 
+    private DateTimeFactory dateFactoryFor( StreamSequencerContext context ) {
+        return context.getValueFactories().getDateFactory();
+    }
+
     private PathFactory pathFactoryFor( StreamSequencerContext context ) {
         return context.getValueFactories().getPathFactory();
     }
@@ -67,6 +73,7 @@
 
     private void writeClassNode( SequencerOutput output,
                                  PathFactory pathFactory,
+                                 DateTimeFactory dateFactory,
                                  Path classPath,
                                  ClassMetadata cmd ) {
 
@@ -86,6 +93,7 @@
          */
 
         output.setProperty(classPath, ClassFileSequencerLexicon.NAME, cmd.getClassName());
+        output.setProperty(classPath, ClassFileSequencerLexicon.SEQUENCED_DATE, dateFactory.create());
         output.setProperty(classPath, ClassFileSequencerLexicon.SUPER_CLASS_NAME, cmd.getSuperclassName());
         output.setProperty(classPath, ClassFileSequencerLexicon.VISIBILITY, cmd.getVisibility().getDescription());
         output.setProperty(classPath, ClassFileSequencerLexicon.ABSTRACT, cmd.isAbstract());

Modified: trunk/extensions/dna-sequencer-classfile/src/main/resources/org/jboss/dna/sequencer/classfile/sequencer-classfile.cnd
===================================================================
--- trunk/extensions/dna-sequencer-classfile/src/main/resources/org/jboss/dna/sequencer/classfile/sequencer-classfile.cnd	2010-01-10 23:32:54 UTC (rev 1588)
+++ trunk/extensions/dna-sequencer-classfile/src/main/resources/org/jboss/dna/sequencer/classfile/sequencer-classfile.cnd	2010-01-11 00:26:34 UTC (rev 1589)
@@ -74,7 +74,8 @@
 + * (class:method) = class:method
 
 [class:class]
-- class:name (string) mandatory 
+- class:name (string) mandatory
+- class:sequencedDate (date) 
 - class:superClassName (string) 
 - class:visibility (string) mandatory < 'public', 'protected', 'package', 'private'
 - class:abstract (boolean) mandatory



More information about the dna-commits mailing list