From f57d48d060411f662eea823b97cc45038bda0def Mon Sep 17 00:00:00 2001 From: mike Date: Tue, 3 Jul 2007 13:40:13 +0000 Subject: [PATCH] Implement new, wider toXCQL() API. --- src/org/z3950/zing/cql/CQLBooleanNode.java | 10 ++++++---- src/org/z3950/zing/cql/CQLPrefixNode.java | 23 ++++++++++------------- src/org/z3950/zing/cql/CQLRelation.java | 9 ++++++--- 3 files changed, 22 insertions(+), 20 deletions(-) diff --git a/src/org/z3950/zing/cql/CQLBooleanNode.java b/src/org/z3950/zing/cql/CQLBooleanNode.java index 363777e..9462914 100644 --- a/src/org/z3950/zing/cql/CQLBooleanNode.java +++ b/src/org/z3950/zing/cql/CQLBooleanNode.java @@ -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) + "\n" + renderPrefixes(level+1, prefixes) + ms.toXCQL(level+1, "boolean") + diff --git a/src/org/z3950/zing/cql/CQLPrefixNode.java b/src/org/z3950/zing/cql/CQLPrefixNode.java index a08fa64..aae6038 100644 --- a/src/org/z3950/zing/cql/CQLPrefixNode.java +++ b/src/org/z3950/zing/cql/CQLPrefixNode.java @@ -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 prefixes) { -// String maybeName = ""; -// if (prefix.name != null) -// maybeName = indent(level+1) + "" + prefix.name + "\n"; -// -// return (indent(level) + "\n" + maybeName + -// indent(level+1) + -// "" + prefix.identifier + "\n" + -// subtree.toXCQL(level+1, prefixes) + -// indent(level) + "\n"); - Vector tmp = new Vector(prefixes); + public String toXCQL(int level, Vector prefixes, + Vector sortkeys) { + if (sortkeys != null) + throw new Error("CQLPrefixNode.toXCQL() called with sortkeys"); + + Vector tmp = (prefixes == null ? + new Vector() : + new Vector(prefixes)); tmp.add(prefix); return subtree.toXCQL(level, tmp); } diff --git a/src/org/z3950/zing/cql/CQLRelation.java b/src/org/z3950/zing/cql/CQLRelation.java index e695fcd..570afff 100644 --- a/src/org/z3950/zing/cql/CQLRelation.java +++ b/src/org/z3950/zing/cql/CQLRelation.java @@ -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"); } -- 1.7.10.4