[infinispan-commits] Infinispan SVN: r561 - trunk/tools/src/main/java/org/infinispan/tools/schema.
infinispan-commits at lists.jboss.org
infinispan-commits at lists.jboss.org
Mon Jul 13 14:52:19 EDT 2009
Author: vblagojevic at jboss.com
Date: 2009-07-13 14:52:18 -0400 (Mon, 13 Jul 2009)
New Revision: 561
Modified:
trunk/tools/src/main/java/org/infinispan/tools/schema/SchemaGenerator.java
trunk/tools/src/main/java/org/infinispan/tools/schema/SchemaGeneratorTreeWalker.java
trunk/tools/src/main/java/org/infinispan/tools/schema/TreeNode.java
Log:
ns
Modified: trunk/tools/src/main/java/org/infinispan/tools/schema/SchemaGenerator.java
===================================================================
--- trunk/tools/src/main/java/org/infinispan/tools/schema/SchemaGenerator.java 2009-07-13 14:42:29 UTC (rev 560)
+++ trunk/tools/src/main/java/org/infinispan/tools/schema/SchemaGenerator.java 2009-07-13 18:52:18 UTC (rev 561)
@@ -152,7 +152,7 @@
xmldoc.getDocumentElement().appendChild(xsElement);
SchemaGeneratorTreeWalker tw = new SchemaGeneratorTreeWalker(xmldoc,beans);
- root.acceptPreOrderTreeWalker(tw);
+ tw.preOrderTraverse(root);
DOMSource domSource = new DOMSource(xmldoc);
StreamResult streamResult = new StreamResult(fw);
Modified: trunk/tools/src/main/java/org/infinispan/tools/schema/SchemaGeneratorTreeWalker.java
===================================================================
--- trunk/tools/src/main/java/org/infinispan/tools/schema/SchemaGeneratorTreeWalker.java 2009-07-13 14:42:29 UTC (rev 560)
+++ trunk/tools/src/main/java/org/infinispan/tools/schema/SchemaGeneratorTreeWalker.java 2009-07-13 18:52:18 UTC (rev 561)
@@ -25,7 +25,9 @@
import java.lang.reflect.Method;
import java.lang.reflect.Modifier;
import java.util.List;
+import java.util.Queue;
import java.util.Set;
+import java.util.concurrent.LinkedBlockingQueue;
import org.infinispan.config.ConfigurationAttribute;
import org.infinispan.config.ConfigurationElement;
@@ -44,6 +46,37 @@
this.xmldoc = xmldoc;
this.beans = beans;
}
+
+ public void levelOrderTraverse(TreeNode root) {
+ Queue<TreeNode> q = new LinkedBlockingQueue<TreeNode>();
+ q.add(root);
+
+ while(!q.isEmpty()){
+ TreeNode treeNode = q.poll();
+ treeNode.accept(this);
+ if(treeNode.hasChildren()){
+ q.addAll(treeNode.getChildren());
+ }
+ }
+ }
+
+ public void preOrderTraverse(TreeNode node){
+ node.accept(this);
+ if(node.hasChildren()){
+ for (TreeNode child : node.getChildren()) {
+ preOrderTraverse(child);
+ }
+ }
+ }
+
+ public void postOrderTraverse(TreeNode node){
+ if(node.hasChildren()){
+ for (TreeNode child : node.getChildren()) {
+ preOrderTraverse(child);
+ }
+ }
+ node.accept(this);
+ }
public void visitNode(TreeNode treeNode) {
Modified: trunk/tools/src/main/java/org/infinispan/tools/schema/TreeNode.java
===================================================================
--- trunk/tools/src/main/java/org/infinispan/tools/schema/TreeNode.java 2009-07-13 14:42:29 UTC (rev 560)
+++ trunk/tools/src/main/java/org/infinispan/tools/schema/TreeNode.java 2009-07-13 18:52:18 UTC (rev 561)
@@ -55,10 +55,8 @@
return children;
}
- public void acceptPreOrderTreeWalker(TreeWalker tw) {
- tw.visitNode(this);
- for (TreeNode child : children)
- child.acceptPreOrderTreeWalker(tw);
+ public void accept(TreeWalker tw) {
+ tw.visitNode(this);
}
public boolean equals(Object other) {
More information about the infinispan-commits
mailing list