addModifier() now accepts comparison as well as type and value.
authormike <mike>
Wed, 27 Jun 2007 22:14:03 +0000 (22:14 +0000)
committermike <mike>
Wed, 27 Jun 2007 22:14:03 +0000 (22:14 +0000)
src/org/z3950/zing/cql/CQLProxNode.java
src/org/z3950/zing/cql/ModifierSet.java

index d0ac772..244cf9c 100644 (file)
@@ -1,4 +1,4 @@
-// $Id: CQLProxNode.java,v 1.8 2007-06-27 17:02:01 mike Exp $
+// $Id: CQLProxNode.java,v 1.9 2007-06-27 22:15:04 mike Exp $
 
 package org.z3950.zing.cql;
 import java.util.Vector;
@@ -10,7 +10,7 @@ import java.util.Vector;
  * candidate records which are sufficiently close to each other, as
  * specified by a set of proximity parameters.
  *
- * @version    $Id: CQLProxNode.java,v 1.8 2007-06-27 17:02:01 mike Exp $
+ * @version    $Id: CQLProxNode.java,v 1.9 2007-06-27 22:15:04 mike Exp $
  */
 public class CQLProxNode extends CQLBooleanNode {
     ModifierSet ms;
@@ -40,18 +40,11 @@ public class CQLProxNode extends CQLBooleanNode {
     }
 
     /**
-     * Adds a modifier of the specified <TT>type</TT> and
-     * <TT>value</TT> to a proximity node.  Valid types are
-     * <TT>relation</TT>, <TT>distance</TT>, <TT>unit</TT> and
-     * <TT>ordering</TT>.
-     * <P>
-     * For information on the semantics of these paramaters, see
-     * <A href="http://zing.z3950.org/cql/intro.html#3.1"
-     * >section 3.1 (Proximity)</A> of
-     * <I>A Gentle Introduction to CQL</I></A>.
+     * Adds a modifier of the specified <TT>type</TT>,
+     * <TT>comparison</TT> and <TT>value</TT> to a proximity node.
      */
-    public void addModifier(String type, String value) {
-       ms.addModifier(type, value);
+    public void addModifier(String type, String comparison, String value) {
+       ms.addModifier(type, comparison, value);
     }
 
     /**
index 79e09e9..ee185a3 100644 (file)
@@ -1,4 +1,4 @@
-// $Id: ModifierSet.java,v 1.9 2007-06-27 17:01:38 mike Exp $
+// $Id: ModifierSet.java,v 1.10 2007-06-27 22:14:03 mike Exp $
 
 package org.z3950.zing.cql;
 import java.util.Vector;
@@ -15,7 +15,7 @@ import java.lang.StringBuffer;
  * zero or more <I>type</I> <I>comparison</I> <I>value</I> pairs,
  * where type, comparison and value are all strings.
  *
- * @version $Id: ModifierSet.java,v 1.9 2007-06-27 17:01:38 mike Exp $
+ * @version $Id: ModifierSet.java,v 1.10 2007-06-27 22:14:03 mike Exp $
  */
 public class ModifierSet {
     String base;
@@ -37,12 +37,12 @@ public class ModifierSet {
     }
 
     /**
-     * Adds a modifier of the specified <TT>type</TT> and
+     * Adds a modifier of the specified <TT>type</TT>, <TT>comparison</TT> and
      * <TT>value</TT> to a ModifierSet.
      */
-    public void addModifier(String type, String value) {
+    public void addModifier(String type, String comparison, String value) {
        // ### Need to have comparison passed in
-       Modifier modifier = new Modifier(type, null, value);
+       Modifier modifier = new Modifier(type, comparison, value);
        modifiers.add(modifier);
     }
 
@@ -96,13 +96,13 @@ public class ModifierSet {
 
     public static void main(String[] args) {
        if (args.length < 1) {
-           System.err.println("Usage: ModifierSet <base> [<type> <name>]...");
+           System.err.println("Usage: ModifierSet <base> [<type> <comparison> <name>]...");
            System.exit(1);
        }
 
        ModifierSet res = new ModifierSet(args[0]);
-       for (int i = 1; i < args.length; i += 2) {
-           res.addModifier(args[i], args[i+1]);
+       for (int i = 1; i < args.length; i += 3) {
+           res.addModifier(args[i], args[i+1], args[i+2]);
        }
 
        System.out.println(res.toCQL());