[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