-// $Id: CQLGenerator.java,v 1.6 2007-06-06 15:13:41 mike Exp $
+// $Id: CQLGenerator.java,v 1.9 2007-07-03 15:41:35 mike Exp $
package org.z3950.zing.cql;
import java.util.Properties;
* this distribution - there is a <TT>generate_<I>x</I>()</TT> method
* for each grammar element <I>X</I>.
*
- * @version $Id: CQLGenerator.java,v 1.6 2007-06-06 15:13:41 mike Exp $
+ * @version $Id: CQLGenerator.java,v 1.9 2007-07-03 15:41:35 mike Exp $
* @see <A href="http://zing.z3950.org/cql/index.html"
* >http://zing.z3950.org/cql/index.html</A>
*/
* [mandatory] A floating-point number between 0.0 and 1.0,
* indicating the probability for each <TT>search-clause</TT>
* node that it will be expanded into a full sub-query rather
- * than a <TT>[ qualifier relation ] term</TT> triplet.
+ * than an <TT>[ index relation ] term</TT> triplet.
* <P>
* </DD>
* <DT><TT>proxOp</TT></DT>
// ### generate proximity nodes
} else {
switch (rnd.nextInt(3)) {
- case 0: return new CQLAndNode(node1, node2);
- case 1: return new CQLOrNode(node1, node2);
- case 2: return new CQLNotNode(node1, node2);
+ case 0: return new CQLAndNode(node1, node2, new ModifierSet("and"));
+ case 1: return new CQLOrNode (node1, node2, new ModifierSet("or"));
+ case 2: return new CQLNotNode(node1, node2, new ModifierSet("not"));
}
}
return generate_cql_query();
}
- // ### Should sometimes generate qualifier/relation-free terms
- String qualifier = generate_qualifier();
+ // ### Should sometimes generate index/relation-free terms
+ String index = generate_index();
CQLRelation relation = generate_relation();
String term = generate_term();
- return new CQLTermNode(qualifier, relation, term);
+ return new CQLTermNode(index, relation, term);
}
// ### Should probably be more configurable
- private String generate_qualifier() {
- String qualifier = ""; // shut up compiler warning
+ private String generate_index() {
+ String index = ""; // shut up compiler warning
if (rnd.nextInt(2) == 0) {
switch (rnd.nextInt(3)) {
- case 0: qualifier = "dc.author"; break;
- case 1: qualifier = "dc.title"; break;
- case 2: qualifier = "dc.subject"; break;
+ case 0: index = "dc.author"; break;
+ case 1: index = "dc.title"; break;
+ case 2: index = "dc.subject"; break;
}
} else {
switch (rnd.nextInt(4)) {
- case 0: qualifier = "bath.author"; break;
- case 1: qualifier = "bath.title"; break;
- case 2: qualifier = "bath.subject"; break;
- case 3: qualifier = "foo>bar"; break;
+ case 0: index = "bath.author"; break;
+ case 1: index = "bath.title"; break;
+ case 2: index = "bath.subject"; break;
+ case 3: index = "foo>bar"; break;
}
}
- return qualifier;
+ return index;
}
private CQLRelation generate_relation() throws MissingParameterException {