Author: spagop
Date: 2008-08-10 14:39:35 -0400 (Sun, 10 Aug 2008)
New Revision: 409
Modified:
trunk/sequencers/dna-sequencer-java/src/main/java/org/jboss/dna/sequencer/java/JavaMetadataSequencer.java
Log:
start with the support of the enhanced meta data
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-08-10
18:38:48 UTC (rev 408)
+++
trunk/sequencers/dna-sequencer-java/src/main/java/org/jboss/dna/sequencer/java/JavaMetadataSequencer.java 2008-08-10
18:39:35 UTC (rev 409)
@@ -37,9 +37,10 @@
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.ModifierMetadata;
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.ReferenceFieldMetadata;
import org.jboss.dna.sequencer.java.metadata.PrimitiveFieldMetadata;
import org.jboss.dna.sequencer.java.metadata.SingleImportMetadata;
import org.jboss.dna.sequencer.java.metadata.SingleMemberAnnotationMetadata;
@@ -155,7 +156,9 @@
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";
+ public static final String JAVA_MODIFIER_CHILD_NODE = "java:modifier";
+ public static final String JAVA_MODIFIER_DECLARATION_CHILD_NODE =
"java:modifierDeclaration";
+ public static final String JAVA_MODIFIER_NAME = "java:name";
public static final String JAVA_TYPE_NAME = "java:name";
// primitive type
@@ -175,6 +178,8 @@
public static final String JAVA_CONSTRUCTOR_CHILD_NODE =
"java:constructor";
public static final String JAVA_CONSTRUCTOR_DECLARATION_CHILD_NODE =
"java:constructorDeclaration";
+
+
/**
* {@inheritDoc}
*
@@ -317,13 +322,21 @@
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);
- }
+ List<ModifierMetadata> classModifiers =
classMetadata.getModifiers();
+ int modifierIndex = 1;
+ for (ModifierMetadata modifierMetadata : classModifiers) {
+
+ Path classModifierChildNode =
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_MODIFIER_CHILD_NODE + SLASH + JAVA_MODIFIER_DECLARATION_CHILD_NODE + "["
+ + modifierIndex +
"]");
+
+ output.setProperty(classModifierChildNode,
nameFactory.create(JAVA_MODIFIER_NAME), modifierMetadata.getName());
}
+
// process fields of the class unit.
List<FieldMetadata> fields = classMetadata.getFields();
int primitiveIndex = 1;
@@ -346,8 +359,8 @@
primitiveIndex++;
}
}
- if (fieldMetadata instanceof ParameterizedFieldMetadata) {
- // ParameterizedFieldMetadata parameterizedFieldMetadata =
(ParameterizedFieldMetadata)fieldMetadata;
+ if (fieldMetadata instanceof ReferenceFieldMetadata) {
+ // ReferenceFieldMetadata parameterizedFieldMetadata =
(ReferenceFieldMetadata)fieldMetadata;
// TODO
}
}