Author: ehatcher
Date: Mon Mar  7 13:46:39 2005
New Revision: 156449

URL: http://svn.apache.org/viewcvs?view=rev&rev=156449
Log:
Fix broken QueryParser.jj and generated code.  Removed inadvertent debugging 
<echo> from build.xml.  
Added (currently failing) test cases for new PrecedenceQueryParser as a target 
for enhancement.


Modified:
    lucene/java/trunk/build.xml
    lucene/java/trunk/src/java/org/apache/lucene/queryParser/QueryParser.java
    lucene/java/trunk/src/java/org/apache/lucene/queryParser/QueryParser.jj
    
lucene/java/trunk/src/test/org/apache/lucene/queryParser/precedence/TestPrecedenceQueryParser.java

Modified: lucene/java/trunk/build.xml
URL: 
http://svn.apache.org/viewcvs/lucene/java/trunk/build.xml?view=diff&r1=156448&r2=156449
==============================================================================
--- lucene/java/trunk/build.xml (original)
+++ lucene/java/trunk/build.xml Mon Mar  7 13:46:39 2005
@@ -97,7 +97,6 @@
       <srcfiles dir="src" includes="**/*.jj" />
       <mapper type="glob" from="*.jj" to="*.java"/>
     </uptodate>
-    <echo>${javacc.files.uptodate}</echo>
   </target>
 
   <target name="javacc-notice" unless="javacc.files.uptodate">

Modified: 
lucene/java/trunk/src/java/org/apache/lucene/queryParser/QueryParser.java
URL: 
http://svn.apache.org/viewcvs/lucene/java/trunk/src/java/org/apache/lucene/queryParser/QueryParser.java?view=diff&r1=156448&r2=156449
==============================================================================
--- lucene/java/trunk/src/java/org/apache/lucene/queryParser/QueryParser.java 
(original)
+++ lucene/java/trunk/src/java/org/apache/lucene/queryParser/QueryParser.java 
Mon Mar  7 13:46:39 2005
@@ -524,6 +524,7 @@
   protected Query getBooleanQuery(Vector clauses) throws ParseException {
     return getBooleanQuery(clauses, false);
   }
+
   /**
    * Factory method for generating query, given a set of clauses.
    * By default creates a boolean query composed of clauses passed in.

Modified: 
lucene/java/trunk/src/java/org/apache/lucene/queryParser/QueryParser.jj
URL: 
http://svn.apache.org/viewcvs/lucene/java/trunk/src/java/org/apache/lucene/queryParser/QueryParser.jj?view=diff&r1=156448&r2=156449
==============================================================================
--- lucene/java/trunk/src/java/org/apache/lucene/queryParser/QueryParser.jj 
(original)
+++ lucene/java/trunk/src/java/org/apache/lucene/queryParser/QueryParser.jj Mon 
Mar  7 13:46:39 2005
@@ -545,8 +545,9 @@
    * @exception ParseException throw in overridden method to disallow
    */
   protected Query getBooleanQuery(Vector clauses) throws ParseException {
-    getBooleanQuery(clauses, false);
+    return getBooleanQuery(clauses, false);
   }
+
   /**
    * Factory method for generating query, given a set of clauses.
    * By default creates a boolean query composed of clauses passed in.

Modified: 
lucene/java/trunk/src/test/org/apache/lucene/queryParser/precedence/TestPrecedenceQueryParser.java
URL: 
http://svn.apache.org/viewcvs/lucene/java/trunk/src/test/org/apache/lucene/queryParser/precedence/TestPrecedenceQueryParser.java?view=diff&r1=156448&r2=156449
==============================================================================
--- 
lucene/java/trunk/src/test/org/apache/lucene/queryParser/precedence/TestPrecedenceQueryParser.java
 (original)
+++ 
lucene/java/trunk/src/test/org/apache/lucene/queryParser/precedence/TestPrecedenceQueryParser.java
 Mon Mar  7 13:46:39 2005
@@ -170,6 +170,8 @@
     assertQueryEquals("tÃÂrm term term", null, "tÃÂrm term term");
     assertQueryEquals("ÃÂmlaut", null, "ÃÂmlaut");
 
+    assertQueryEquals("+a", null, "+a");
+    assertQueryEquals("-a", null, "-a");
     assertQueryEquals("a AND b", null, "+a +b");
     assertQueryEquals("(a AND b)", null, "+a +b");
     assertQueryEquals("c OR (a AND b)", null, "c (+a +b)");
@@ -325,6 +327,7 @@
     assertQueryEquals("term AND NOT phrase term", qpAnalyzer,
                       "(+term -\"phrase1 phrase2\") term");
     assertQueryEquals("stop", qpAnalyzer, "");
+    assertQueryEquals("stop OR stop AND stop", qpAnalyzer, "");
     assertTrue(getQuery("term term term", qpAnalyzer) instanceof BooleanQuery);
     assertTrue(getQuery("term +stop", qpAnalyzer) instanceof TermQuery);
   }
@@ -530,11 +533,9 @@
     Query query1 = PrecedenceQueryParser.parse("A AND B OR C AND D", "field", 
new WhitespaceAnalyzer());
     Query query2 = PrecedenceQueryParser.parse("(A AND B) OR (C AND D)", 
"field", new WhitespaceAnalyzer());
     assertEquals(query1, query2);
-  }
 
-  public void testPrecedenceWithNot() throws Exception {
-    Query query1 = PrecedenceQueryParser.parse("A OR B C", "field", new 
WhitespaceAnalyzer());
-    Query query2 = PrecedenceQueryParser.parse("A B C", "field", new 
WhitespaceAnalyzer());
+    query1 = PrecedenceQueryParser.parse("A OR B C", "field", new 
WhitespaceAnalyzer());
+    query2 = PrecedenceQueryParser.parse("A B C", "field", new 
WhitespaceAnalyzer());
     assertEquals(query1, query2);
 
     query1 = PrecedenceQueryParser.parse("A AND B C", "field", new 
WhitespaceAnalyzer());
@@ -548,8 +549,11 @@
     query1 = PrecedenceQueryParser.parse("A OR NOT B", "field", new 
WhitespaceAnalyzer());
     query2 = PrecedenceQueryParser.parse("A -B", "field", new 
WhitespaceAnalyzer());
     assertEquals(query1, query2);
-  }
 
+    query1 = PrecedenceQueryParser.parse("A OR NOT B AND C", "field", new 
WhitespaceAnalyzer());
+    query2 = PrecedenceQueryParser.parse("A (-B +C)", "field", new 
WhitespaceAnalyzer());
+    assertEquals(query1, query2);
+  }
 
 
   public void tearDown() {


Reply via email to