Implement new, wider toXCQL() API.
authormike <mike>
Tue, 3 Jul 2007 13:40:13 +0000 (13:40 +0000)
committermike <mike>
Tue, 3 Jul 2007 13:40:13 +0000 (13:40 +0000)
src/org/z3950/zing/cql/CQLBooleanNode.java
src/org/z3950/zing/cql/CQLPrefixNode.java
src/org/z3950/zing/cql/CQLRelation.java

index 363777e..9462914 100644 (file)
@@ -1,4 +1,4 @@
-// $Id: CQLBooleanNode.java,v 1.16 2007-06-29 12:52:45 mike Exp $
+// $Id: CQLBooleanNode.java,v 1.17 2007-07-03 13:40:13 mike Exp $
 
 package org.z3950.zing.cql;
 import java.util.Properties;
@@ -8,7 +8,7 @@ import java.util.Vector;
 /**
  * Represents a boolean node in a CQL parse-tree.
  *
- * @version    $Id: CQLBooleanNode.java,v 1.16 2007-06-29 12:52:45 mike Exp $
+ * @version    $Id: CQLBooleanNode.java,v 1.17 2007-07-03 13:40:13 mike Exp $
  */
 public abstract class CQLBooleanNode extends CQLNode {
     /**
@@ -32,8 +32,10 @@ public abstract class CQLBooleanNode extends CQLNode {
        this.ms = ms;
     }
 
-    public String toXCQL(int level, Vector prefixes) {
-       // ### Should this use CQLNode.toXCQL(level+2, prefixes)?
+    public String toXCQL(int level, Vector prefixes, Vector sortkeys) {
+       if (sortkeys != null)
+           throw new Error("CQLBooleanNode.toXCQL() called with sortkeys");
+
        return (indent(level) + "<triple>\n" +
                renderPrefixes(level+1, prefixes) +
                ms.toXCQL(level+1, "boolean") +
index a08fa64..aae6038 100644 (file)
@@ -1,4 +1,4 @@
-// $Id: CQLPrefixNode.java,v 1.8 2007-06-27 22:39:55 mike Exp $
+// $Id: CQLPrefixNode.java,v 1.9 2007-07-03 13:40:41 mike Exp $
 
 package org.z3950.zing.cql;
 import java.lang.String;
@@ -9,7 +9,7 @@ import java.util.Vector;
 /**
  * Represents a prefix node in a CQL parse-tree.
  *
- * @version    $Id: CQLPrefixNode.java,v 1.8 2007-06-27 22:39:55 mike Exp $
+ * @version    $Id: CQLPrefixNode.java,v 1.9 2007-07-03 13:40:41 mike Exp $
  */
 public class CQLPrefixNode extends CQLNode {
     /**
@@ -33,17 +33,14 @@ public class CQLPrefixNode extends CQLNode {
        this.subtree = subtree;
     }
 
-    public String toXCQL(int level, Vector<CQLPrefix> prefixes) {
-//     String maybeName = "";
-//     if (prefix.name != null)
-//         maybeName = indent(level+1) + "<name>" + prefix.name + "</name>\n";
-//
-//     return (indent(level) + "<prefix>\n" + maybeName +
-//             indent(level+1) +
-//                 "<identifier>" + prefix.identifier + "</identifier>\n" +
-//             subtree.toXCQL(level+1, prefixes) +
-//             indent(level) + "</prefix>\n");
-       Vector<CQLPrefix> tmp = new Vector<CQLPrefix>(prefixes);
+    public String toXCQL(int level, Vector<CQLPrefix> prefixes,
+                        Vector<ModifierSet> sortkeys) {
+       if (sortkeys != null)
+           throw new Error("CQLPrefixNode.toXCQL() called with sortkeys");
+
+       Vector<CQLPrefix> tmp = (prefixes == null ?
+                                new Vector<CQLPrefix>() :
+                                new Vector<CQLPrefix>(prefixes));
        tmp.add(prefix);
        return subtree.toXCQL(level, tmp);
     }
index e695fcd..570afff 100644 (file)
@@ -1,4 +1,4 @@
-// $Id: CQLRelation.java,v 1.18 2007-06-29 15:24:39 mike Exp $
+// $Id: CQLRelation.java,v 1.19 2007-07-03 13:40:58 mike Exp $
 
 package org.z3950.zing.cql;
 import java.util.Vector;
@@ -8,7 +8,7 @@ import java.lang.StringBuffer;
 /**
  * Represents a relation between a CQL index and term.
  *
- * @version    $Id: CQLRelation.java,v 1.18 2007-06-29 15:24:39 mike Exp $
+ * @version    $Id: CQLRelation.java,v 1.19 2007-07-03 13:40:58 mike Exp $
  */
 public class CQLRelation extends CQLNode {
     ModifierSet ms;
@@ -55,7 +55,10 @@ public class CQLRelation extends CQLNode {
        return ms.getModifiers();
     }
 
-    public String toXCQL(int level, Vector prefixes) {
+    public String toXCQL(int level, Vector prefixes, Vector sortkeys) {
+       if (sortkeys != null)
+           throw new Error("CQLRelation.toXCQL() called with sortkeys");
+
        return ms.toXCQL(level, "relation");
     }