DNA SVN: r492 - in trunk/docs/examples/gettingstarted/dna-example-java-sequencer/src/main: resources and 1 other directory.
by dna-commits@lists.jboss.org
Author: spagop
Date: 2008-09-02 19:51:05 -0400 (Tue, 02 Sep 2008)
New Revision: 492
Modified:
trunk/docs/examples/gettingstarted/dna-example-java-sequencer/src/main/java/org/jboss/dna/sequencer/java/ConsoleInput.java
trunk/docs/examples/gettingstarted/dna-example-java-sequencer/src/main/java/org/jboss/dna/sequencer/java/JavaInfo.java
trunk/docs/examples/gettingstarted/dna-example-java-sequencer/src/main/java/org/jboss/dna/sequencer/java/JavaSequencingClient.java
trunk/docs/examples/gettingstarted/dna-example-java-sequencer/src/main/resources/java-source-artifact.cnd
Log:
fixed a bug and enhance the sequence output to be more readable
Modified: trunk/docs/examples/gettingstarted/dna-example-java-sequencer/src/main/java/org/jboss/dna/sequencer/java/ConsoleInput.java
===================================================================
--- trunk/docs/examples/gettingstarted/dna-example-java-sequencer/src/main/java/org/jboss/dna/sequencer/java/ConsoleInput.java 2008-09-02 23:49:42 UTC (rev 491)
+++ trunk/docs/examples/gettingstarted/dna-example-java-sequencer/src/main/java/org/jboss/dna/sequencer/java/ConsoleInput.java 2008-09-02 23:51:05 UTC (rev 492)
@@ -28,6 +28,7 @@
import java.net.URL;
import java.util.List;
import java.util.Map;
+import java.util.Properties;
import org.jboss.dna.repository.sequencers.SequencingService;
/**
@@ -189,9 +190,17 @@
System.out.println(" Name: " + javaInfo.getName());
System.out.println(" Path: " + javaInfo.getPath());
System.out.println(" Type: " + javaInfo.getType());
- for (Map.Entry<String, String> entry : javaInfo.getMap().entries()) {
- System.out.println(" " + entry.getKey() + ": " + entry.getValue());
+ for (Map.Entry<String, List<Properties>> javaElement : javaInfo.getJavaElements().entrySet()) {
+ System.out.println("\n------ " + javaElement.getKey() + " ------\n");
+ for (Properties props : javaElement.getValue()) {
+ for (Map.Entry<Object, Object> entry : props.entrySet()) {
+ if (!entry.getKey().equals("jcr:primaryType")) {
+ System.out.println(entry.getKey() + " => "+ entry.getValue());
+ }
+ }
+ }
}
+
}
System.out.println();
}
Modified: trunk/docs/examples/gettingstarted/dna-example-java-sequencer/src/main/java/org/jboss/dna/sequencer/java/JavaInfo.java
===================================================================
--- trunk/docs/examples/gettingstarted/dna-example-java-sequencer/src/main/java/org/jboss/dna/sequencer/java/JavaInfo.java 2008-09-02 23:49:42 UTC (rev 491)
+++ trunk/docs/examples/gettingstarted/dna-example-java-sequencer/src/main/java/org/jboss/dna/sequencer/java/JavaInfo.java 2008-09-02 23:51:05 UTC (rev 492)
@@ -21,28 +21,30 @@
*/
package org.jboss.dna.sequencer.java;
+import java.util.List;
import java.util.Map;
import java.util.Properties;
-import com.google.common.collect.ArrayListMultimap;
-import com.google.common.collect.Multimap;
+import java.util.TreeMap;
/**
* @author Serge Pagop
- *
*/
public class JavaInfo {
-
- private final Multimap<String, String> map = new ArrayListMultimap<String, String>();
-
+
+ private final Map<String, List<Properties>> javaElements = new TreeMap<String, List<Properties>>();
+
private final String name;
private final String path;
private final String type;
- protected JavaInfo( String path, String name, String type, Multimap<String, String> map) {
+ protected JavaInfo( String path,
+ String name,
+ String type,
+ Map<String, List<Properties>> javaElements ) {
this.name = name;
this.path = path;
this.type = type;
- if (map != null) this.map.putAll(map);
+ if (javaElements != null) this.javaElements.putAll(javaElements);
}
public String getName() {
@@ -57,28 +59,31 @@
return this.type;
}
-
-
@Override
public String toString() {
StringBuilder sb = new StringBuilder();
- boolean first = true;
- for (Map.Entry<String, String> entry : map.entries()) {
- sb.append(entry.getKey()).append("=>").append(entry.getValue());
- if (first) {
- first = false;
- } else {
- sb.append(", ");
+
+ for (Map.Entry<String, List<Properties>> javaElement : getJavaElements().entrySet()) {
+ sb.append("\n------ " + javaElement.getKey() + " ------\n");
+ for (Properties props : javaElement.getValue()) {
+ for (Map.Entry<Object, Object> entry : props.entrySet()) {
+ if (!entry.getKey().equals("jcr:primaryType")) {
+ sb.append(entry.getKey()).append(" => ").append(entry.getValue());
+ sb.append("; ");
+ }
+ }
}
}
- return this.name + " (at " + this.path + ") of type \"" + this.type + "\" with properties {" + sb.toString() + "}";
+
+ return this.name + " (at " + this.path + ") of type \"" + this.type + "\" with elements \n{\n" + sb.toString()
+ + " \n}\n";
}
/**
- * @return map
+ * @return javaElements
*/
- public Multimap<String, String> getMap() {
- return map;
+ public Map<String, List<Properties>> getJavaElements() {
+ return javaElements;
}
}
Modified: trunk/docs/examples/gettingstarted/dna-example-java-sequencer/src/main/java/org/jboss/dna/sequencer/java/JavaSequencingClient.java
===================================================================
--- trunk/docs/examples/gettingstarted/dna-example-java-sequencer/src/main/java/org/jboss/dna/sequencer/java/JavaSequencingClient.java 2008-09-02 23:49:42 UTC (rev 491)
+++ trunk/docs/examples/gettingstarted/dna-example-java-sequencer/src/main/java/org/jboss/dna/sequencer/java/JavaSequencingClient.java 2008-09-02 23:51:05 UTC (rev 492)
@@ -25,15 +25,9 @@
import java.net.URL;
import java.util.ArrayList;
import java.util.Calendar;
-import java.util.Collection;
-import java.util.HashMap;
-import java.util.HashSet;
-import java.util.Iterator;
import java.util.List;
import java.util.Map;
import java.util.Properties;
-import java.util.Set;
-import java.util.SortedMap;
import java.util.TreeMap;
import java.util.concurrent.TimeUnit;
import javax.jcr.Credentials;
@@ -46,7 +40,6 @@
import javax.jcr.RepositoryException;
import javax.jcr.Session;
import javax.jcr.SimpleCredentials;
-import javax.jcr.Value;
import javax.jcr.ValueFormatException;
import javax.jcr.observation.Event;
import org.apache.jackrabbit.api.JackrabbitNodeTypeManager;
@@ -60,9 +53,6 @@
import org.jboss.dna.repository.util.JcrTools;
import org.jboss.dna.repository.util.SessionFactory;
import org.jboss.dna.repository.util.SimpleSessionFactory;
-import com.google.common.collect.ArrayListMultimap;
-import com.google.common.collect.Multimap;
-import com.google.common.collect.Multiset.Entry;
/**
* @author serge pagop
@@ -76,8 +66,6 @@
public static final String DEFAULT_USERNAME = "jsmith";
public static final char[] DEFAULT_PASSWORD = "secret".toCharArray();
- private Map<String, String> map = new HashMap<String, String>();
-
public static void main( String[] args ) {
JavaSequencingClient client = new JavaSequencingClient();
client.setRepositoryInformation(DEFAULT_REPOSITORY_NAME, DEFAULT_WORKSPACE_NAME, DEFAULT_USERNAME, DEFAULT_PASSWORD);
@@ -335,44 +323,88 @@
*/
public void search() throws Exception {
// Use JCR to search the repository for image meta data ...
+ Map<String, List<Properties>> tree = new TreeMap<String, List<Properties>>();
List<JavaInfo> javaInfos = new ArrayList<JavaInfo>();
- Multimap<String, String> multimap = new ArrayListMultimap<String, String>();
Session session = createSession();
try {
// Find the compilation unit node ...
Node root = session.getRootNode();
- JavaInfo javaInfo = null;
+ JavaInfo javaInfo;
+ List<Properties> javaElements;
if (root.hasNode("compilationUnits")) {
Node javaSourcesNode = root.getNode("compilationUnits");
for (NodeIterator i = javaSourcesNode.getNodes(); i.hasNext();) {
- for (NodeIterator j = javaSourcesNode.getNodes(); i.hasNext();) {
- Node javaSourceNode = i.nextNode();
- if (javaSourceNode.hasNodes()) {
- Node javaCompilationUnit = javaSourceNode.getNodes().nextNode();
- // package info
- if (javaCompilationUnit.hasNode("java:package")) {
- Node javaPackageDeclarationNode = javaCompilationUnit.getNode("java:package");
- extractInfo(javaPackageDeclarationNode, multimap);
+
+ Node javaSourceNode = i.nextNode();
+
+ if (javaSourceNode.hasNodes()) {
+ Node javaCompilationUnit = javaSourceNode.getNodes().nextNode();
+ // package informations
+
+ javaElements = new ArrayList<Properties>();
+ try {
+ Node javaPackageDeclarationNode = javaCompilationUnit.getNode("java:package/java:packageDeclaration");
+ javaElements.add(extractInfo(javaPackageDeclarationNode));
+ tree.put("Package", javaElements);
+ } catch (PathNotFoundException e) {
+ // do nothing
+ }
+
+ // import informations
+ javaElements = new ArrayList<Properties>();
+ try {
+ for (NodeIterator singleImportIterator = javaCompilationUnit.getNode("java:import/java:importDeclaration/java:singleImport").getNodes(); singleImportIterator.hasNext();) {
+ Node javasingleTypeImportDeclarationNode = singleImportIterator.nextNode();
+ javaElements.add(extractInfo(javasingleTypeImportDeclarationNode));
}
- // import infos
- if (javaCompilationUnit.hasNode("java:import")) {
- // single type import
- Node javaImport = javaCompilationUnit.getNode("java:import")
- .getNode("java:importDeclaration");
- extractInfo(javaImport, multimap);
+ tree.put("Single Imports", javaElements);
+ } catch (PathNotFoundException e) {
+ // do nothing
+ }
+
+ javaElements = new ArrayList<Properties>();
+ try {
+ for (NodeIterator javaImportOnDemandIterator = javaCompilationUnit.getNode("java:import/java:importDeclaration/java:importOnDemand").getNodes(); javaImportOnDemandIterator.hasNext();) {
+ Node javaImportOnDemandtDeclarationNode = javaImportOnDemandIterator.nextNode();
+ javaElements.add(extractInfo(javaImportOnDemandtDeclarationNode));
}
- // class infos
- if (javaCompilationUnit.hasNode("java:unitType")) {
- Node javaNormalClassNode = javaCompilationUnit.getNode("java:unitType")
- .getNode("java:classDeclaration")
- .getNode("java:normalClass")
- .getNode("java:normalClassDeclaration");
- extractInfo(javaNormalClassNode, multimap);
+ tree.put("On demand imports", javaElements);
+ } catch (PathNotFoundException e) {
+ // do nothing
+ }
+ // class head informations
+ javaElements = new ArrayList<Properties>();
+ Node javaNormalDeclarationClassNode = javaCompilationUnit.getNode("java:unitType/java:classDeclaration/java:normalClass/java:normalClassDeclaration");
+ javaElements.add(extractInfo(javaNormalDeclarationClassNode));
+ tree.put("class head information", javaElements);
+
+ // field member informations
+ javaElements = new ArrayList<Properties>();
+ for (NodeIterator javaFieldTypeIterator = javaCompilationUnit.getNode("java:unitType/java:classDeclaration/java:normalClass/java:normalClassDeclaration/java:field/java:fieldType").getNodes(); javaFieldTypeIterator.hasNext();) {
+ Node rootFieldTypeNode = javaFieldTypeIterator.nextNode();
+ if (rootFieldTypeNode.hasNode("java:primitiveType")) {
+ Node javaPrimitiveTypeNode = rootFieldTypeNode.getNode("java:primitiveType");
+ javaElements.add(extractInfo(javaPrimitiveTypeNode));
+ // more informations
}
- javaInfo = new JavaInfo(javaCompilationUnit.getPath(), javaCompilationUnit.getName(), "java:compilationUnit", multimap);
- javaInfos.add(javaInfo);
+
+ if (rootFieldTypeNode.hasNode("java:simpleType")) {
+ Node javaSimpleTypeNode = rootFieldTypeNode.getNode("java:simpleType");
+ javaElements.add(extractInfo(javaSimpleTypeNode));
+ }
+ if (rootFieldTypeNode.hasNode("java:parameterizedType")) {
+ Node javaParameterizedType = rootFieldTypeNode.getNode("java:parameterizedType");
+ javaElements.add(extractInfo(javaParameterizedType));
+ }
}
+ tree.put("Class field members", javaElements);
+
+ // constructor informations
+
+ // method informations
+ javaInfo = new JavaInfo(javaCompilationUnit.getPath(), javaCompilationUnit.getName(), "java source", tree);
+ javaInfos.add(javaInfo);
}
}
}
@@ -380,7 +412,7 @@
} finally {
session.logout();
}
-
+
// Display the search results ...
this.userInterface.displaySearchResults(javaInfos);
}
@@ -389,30 +421,23 @@
* Extract informations from a specific node.
*
* @param node - node, that contains informations.
- * @param multimap - a google collection, that support duplicate keys.
- * @throws RepositoryException
+ * @return a properties of keys/values.
+ * @throws RepositoryException
* @throws IllegalStateException
* @throws ValueFormatException
*/
- private void extractInfo( Node node,
- Multimap<String, String> multimap )
- throws ValueFormatException, IllegalStateException, RepositoryException {
+ private Properties extractInfo( Node node ) throws ValueFormatException, IllegalStateException, RepositoryException {
if (node.hasProperties()) {
- int index = 1;
+ Properties properties = new Properties();
for (PropertyIterator propertyIter = node.getProperties(); propertyIter.hasNext();) {
Property property = propertyIter.nextProperty();
String name = property.getName();
String stringValue = property.getValue().getString();
- if (!name.equals("jcr:primaryType")) {
- multimap.put(name, stringValue);
- }
+ properties.put(name, stringValue);
}
+ return properties;
}
- if (node.hasNodes()) {
- for (NodeIterator iterator = node.getNodes(); iterator.hasNext();) {
- extractInfo(iterator.nextNode(), multimap);
- }
- }
+ return null;
}
/**
Modified: trunk/docs/examples/gettingstarted/dna-example-java-sequencer/src/main/resources/java-source-artifact.cnd
===================================================================
--- trunk/docs/examples/gettingstarted/dna-example-java-sequencer/src/main/resources/java-source-artifact.cnd 2008-09-02 23:49:42 UTC (rev 491)
+++ trunk/docs/examples/gettingstarted/dna-example-java-sequencer/src/main/resources/java-source-artifact.cnd 2008-09-02 23:51:05 UTC (rev 492)
@@ -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
15 years, 8 months
DNA SVN: r491 - trunk/extensions/dna-sequencer-java/src/test/workspace/projectX/src/org/acme.
by dna-commits@lists.jboss.org
Author: spagop
Date: 2008-09-02 19:49:42 -0400 (Tue, 02 Sep 2008)
New Revision: 491
Modified:
trunk/extensions/dna-sequencer-java/src/test/workspace/projectX/src/org/acme/MySource.java
Log:
enhance the cnd, the sequencer to support parameter references and more test units
Modified: trunk/extensions/dna-sequencer-java/src/test/workspace/projectX/src/org/acme/MySource.java
===================================================================
--- trunk/extensions/dna-sequencer-java/src/test/workspace/projectX/src/org/acme/MySource.java 2008-09-02 23:49:25 UTC (rev 490)
+++ trunk/extensions/dna-sequencer-java/src/test/workspace/projectX/src/org/acme/MySource.java 2008-09-02 23:49:42 UTC (rev 491)
@@ -35,6 +35,8 @@
private List<String> l;
private A<Integer> o;
private X x;
+ private int[] ai;
+ private Object[] ao;
MySource() {
}
15 years, 8 months
DNA SVN: r490 - in trunk/extensions/dna-sequencer-java/src: main/resources/org/jboss/dna/sequencer/java and 1 other directories.
by dna-commits@lists.jboss.org
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;
15 years, 8 months