X-Git-Url: http://git.indexdata.com/?a=blobdiff_plain;f=src%2Fmain%2Fjava%2Forg%2Fz3950%2Fzing%2Fcql%2FCQLTermNode.java;h=a6e1772d510699ab8e425d4f7af0504fc51fccd3;hb=2ef8d2fc0e5a32518b1a5750e6f68cdb91e64de2;hp=b45abdc7b9e84525f3e1002c7a42e1218a755729;hpb=63162cbb93bec07caf9a8ec00cb0c006fea8dabd;p=cql-java-moved-to-github.git diff --git a/src/main/java/org/z3950/zing/cql/CQLTermNode.java b/src/main/java/org/z3950/zing/cql/CQLTermNode.java index b45abdc..a6e1772 100644 --- a/src/main/java/org/z3950/zing/cql/CQLTermNode.java +++ b/src/main/java/org/z3950/zing/cql/CQLTermNode.java @@ -1,11 +1,9 @@ -// $Id: CQLTermNode.java,v 1.28 2007-07-03 13:41:24 mike Exp $ package org.z3950.zing.cql; import java.util.ArrayList; import java.util.List; import java.util.Properties; - /** * Represents a terminal node in a CQL parse-tree. * A term node consists of the term String itself, together with, @@ -13,7 +11,6 @@ import java.util.Properties; * these must be provided - you can't have an index without a * relation or vice versa. * - * @version $Id: CQLTermNode.java,v 1.28 2007-07-03 13:41:24 mike Exp $ */ public class CQLTermNode extends CQLNode { private String index; @@ -53,15 +50,15 @@ public class CQLTermNode extends CQLNode { } @Override - public String toXCQL(int level, List prefixes, + void toXCQLInternal(XCQLBuilder b, int level, List prefixes, List sortkeys) { - return (indent(level) + "\n" + - renderPrefixes(level+1, prefixes) + - indent(level+1) + "" + xq(index) + "\n" + - relation.toXCQL(level+1) + - indent(level+1) + "" + xq(term) + "\n" + - renderSortKeys(level+1, sortkeys) + - indent(level) + "\n"); + b.indent(level).append("\n"); + renderPrefixes(b, level + 1, prefixes); + b.indent(level + 1).append("").xq(index).append("\n"); + relation.toXCQLInternal(b, level + 1); + b.indent(level + 1).append("").xq(term).append("\n"); + renderSortKeys(b, level + 1, sortkeys); + b.indent(level).append("\n"); } @Override @@ -173,7 +170,7 @@ public class CQLTermNode extends CQLNode { String attr, s = ""; for (int i = 0; i < attrs.size(); i++) { attr = (String) attrs.get(i); - s += "@attr " + Utils.replaceString(attr, " ", " @attr ") + " "; + s += "@attr " + attr.replace(" ", " @attr ") + " "; } String text = term; @@ -201,7 +198,7 @@ public class CQLTermNode extends CQLNode { str.indexOf('/') != -1 || str.indexOf('(') != -1 || str.indexOf(')') != -1) { - str = '"' + Utils.replaceString(str, "\"", "\\\"") + '"'; + str = '"' + str.replace("\"", "\\\"") + '"'; } return str;