Coverage Report - org.galagosearch.core.retrieval.traversal.AddCombineTraversal
 
Classes in this File Line Coverage Branch Coverage Complexity
AddCombineTraversal
0%
0/12
0%
0/4
0
 
 1  
 // BSD License (http://www.galagosearch.org/license)
 2  
 
 3  
 package org.galagosearch.core.retrieval.traversal;
 4  
 
 5  
 import java.util.ArrayList;
 6  
 import org.galagosearch.core.retrieval.query.Node;
 7  
 import org.galagosearch.core.retrieval.query.Traversal;
 8  
 
 9  
 /**
 10  
  * Adds a #combine at the top level of the query.
 11  
  * @author trevor
 12  
  */
 13  0
 public class AddCombineTraversal implements Traversal {
 14  0
     int levels = 0;
 15  
 
 16  
     public void beforeNode(Node object) throws Exception {
 17  0
         levels++;
 18  0
     }
 19  
 
 20  
     public Node afterNode(Node original) throws Exception {
 21  0
         levels--;
 22  0
         if (levels > 0) {
 23  0
             return original;
 24  0
         } else if (!original.getOperator().equals("combine")) {
 25  
             // Only add a combine if the top level operator is not already a combine
 26  0
             ArrayList<Node> originalChild = new ArrayList<Node>();
 27  0
             originalChild.add(original);
 28  0
             return new Node("combine", originalChild);
 29  
         } else {
 30  0
             return original;
 31  
         }
 32  
     }
 33  
 }