[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