X-Git-Url: http://git.indexdata.com/?a=blobdiff_plain;f=src%2Forg%2Fz3950%2Fzing%2Fcql%2FCQLTermNode.java;h=64a0a8414a30e83cb10a59ffcb958d1019adbc42;hb=953117d805ff5f53b2b3c541eff5ecd6461eba29;hp=625aab0d5921b8fc238c681e26d49246fd2833da;hpb=069f263b3422968c95d2b2a74291f04dfcdb15ac;p=cql-java-moved-to-github.git diff --git a/src/org/z3950/zing/cql/CQLTermNode.java b/src/org/z3950/zing/cql/CQLTermNode.java index 625aab0..64a0a84 100644 --- a/src/org/z3950/zing/cql/CQLTermNode.java +++ b/src/org/z3950/zing/cql/CQLTermNode.java @@ -1,4 +1,4 @@ -// $Id: CQLTermNode.java,v 1.2 2002-10-25 16:01:26 mike Exp $ +// $Id: CQLTermNode.java,v 1.3 2002-10-25 16:56:43 mike Exp $ package org.z3950.zing.cql; @@ -7,48 +7,49 @@ package org.z3950.zing.cql; * Represents a terminal node in a CQL parse-tree ... * ### * - * @version $Id: CQLTermNode.java,v 1.2 2002-10-25 16:01:26 mike Exp $ + * @version $Id: CQLTermNode.java,v 1.3 2002-10-25 16:56:43 mike Exp $ */ public class CQLTermNode extends CQLNode { private String qualifier; private String relation; - private String value; + private String term; - public CQLTermNode(String qualifier, String relation, String value) { + public CQLTermNode(String qualifier, String relation, String term) { this.qualifier = qualifier; this.relation = relation; - this.value = value; + this.term = term; } String toXCQL(int level) { return (indent(level) + "\n" + indent(level+1) + "" + qualifier + "\n" + indent(level+1) + "" + relation + "\n" + - indent(level+1) + "" + value + "\n" + + indent(level+1) + "" + term + "\n" + indent(level) + "\n"); } String toCQL() { - String res = value; + String quotedTerm = term; - if (res.indexOf('"') != -1) { + if (quotedTerm.indexOf('"') != -1) { // ### precede each '"' with a '/' } - if (res.indexOf('"') != -1 || - res.indexOf(' ') != -1 || - res.indexOf('\t') != -1 || - res.indexOf('=') != -1 || - res.indexOf('<') != -1 || - res.indexOf('>') != -1 || - res.indexOf('/') != -1 || - res.indexOf('(') != -1 || - res.indexOf(')') != -1) { - res = '"' + res + '"'; + // ### There must be a better way ... + if (quotedTerm.indexOf('"') != -1 || + quotedTerm.indexOf(' ') != -1 || + quotedTerm.indexOf('\t') != -1 || + quotedTerm.indexOf('=') != -1 || + quotedTerm.indexOf('<') != -1 || + quotedTerm.indexOf('>') != -1 || + quotedTerm.indexOf('/') != -1 || + quotedTerm.indexOf('(') != -1 || + quotedTerm.indexOf(')') != -1) { + quotedTerm = '"' + quotedTerm + '"'; } // ### The qualifier may need quoting. // ### We don't always need spaces around `relation'. - return qualifier + " " + relation + " " + value; + return qualifier + " " + relation + " " + quotedTerm; } }