dnaber      2004/08/27 14:50:17

  Modified:    src/java/org/apache/lucene/queryParser
                        MultiFieldQueryParser.java QueryParser.java
                        QueryParser.jj
  Log:
  don't use the deprecated API for BooleanQuery.add()
  
  Revision  Changes    Path
  1.6       +10 -9     
jakarta-lucene/src/java/org/apache/lucene/queryParser/MultiFieldQueryParser.java
  
  Index: MultiFieldQueryParser.java
  ===================================================================
  RCS file: 
/home/cvs/jakarta-lucene/src/java/org/apache/lucene/queryParser/MultiFieldQueryParser.java,v
  retrieving revision 1.5
  retrieving revision 1.6
  diff -u -r1.5 -r1.6
  --- MultiFieldQueryParser.java        23 Aug 2004 23:07:41 -0000      1.5
  +++ MultiFieldQueryParser.java        27 Aug 2004 21:50:17 -0000      1.6
  @@ -21,6 +21,7 @@
   import org.apache.lucene.queryParser.ParseException;
   import org.apache.lucene.queryParser.QueryParser;
   import org.apache.lucene.queryParser.QueryParserTokenManager;
  +import org.apache.lucene.search.BooleanClause;
   import org.apache.lucene.search.BooleanQuery;
   import org.apache.lucene.search.Query;
   
  @@ -75,7 +76,7 @@
           for (int i = 0; i < fields.length; i++)
           {
               Query q = parse(query, fields[i], analyzer);
  -            bQuery.add(q, false, false);
  +            bQuery.add(q, BooleanClause.Occur.SHOULD);
           }
           return bQuery;
       }
  @@ -106,7 +107,7 @@
           for (int i = 0; i < fields.length; i++)
           {
               Query q = parse(queries[i], fields[i], analyzer);
  -            bQuery.add(q, false, false);
  +            bQuery.add(q, BooleanClause.Occur.SHOULD);
           }
           return bQuery;
       }
  @@ -153,13 +154,13 @@
               switch (flag)
               {
                   case REQUIRED_FIELD:
  -                    bQuery.add(q, true, false);
  +                    bQuery.add(q, BooleanClause.Occur.MUST);
                       break;
                   case PROHIBITED_FIELD:
  -                    bQuery.add(q, false, true);
  +                    bQuery.add(q, BooleanClause.Occur.MUST_NOT);
                       break;
                   default:
  -                    bQuery.add(q, false, false);
  +                    bQuery.add(q, BooleanClause.Occur.SHOULD);
                       break;
               }
           }
  @@ -210,13 +211,13 @@
               switch (flag)
               {
                   case REQUIRED_FIELD:
  -                    bQuery.add(q, true, false);
  +                    bQuery.add(q, BooleanClause.Occur.MUST);
                       break;
                   case PROHIBITED_FIELD:
  -                    bQuery.add(q, false, true);
  +                    bQuery.add(q, BooleanClause.Occur.MUST_NOT);
                       break;
                   default:
  -                    bQuery.add(q, false, false);
  +                    bQuery.add(q, BooleanClause.Occur.SHOULD);
                       break;
               }
           }
  
  
  
  1.12      +12 -5     
jakarta-lucene/src/java/org/apache/lucene/queryParser/QueryParser.java
  
  Index: QueryParser.java
  ===================================================================
  RCS file: 
/home/cvs/jakarta-lucene/src/java/org/apache/lucene/queryParser/QueryParser.java,v
  retrieving revision 1.11
  retrieving revision 1.12
  diff -u -r1.11 -r1.12
  --- QueryParser.java  22 May 2004 17:34:31 -0000      1.11
  +++ QueryParser.java  27 Aug 2004 21:50:17 -0000      1.12
  @@ -179,8 +179,8 @@
       // unless it's already prohibited
       if (conj == CONJ_AND) {
         BooleanClause c = (BooleanClause) clauses.elementAt(clauses.size()-1);
  -      if (!c.prohibited)
  -        c.required = true;
  +      if (!c.isProhibited())
  +        c.setOccur(BooleanClause.Occur.MUST);
       }
   
       if (operator == DEFAULT_OPERATOR_AND && conj == CONJ_OR) {
  @@ -189,8 +189,8 @@
         // notice if the input is a OR b, first term is parsed as required; without
         // this modification a OR b would parsed as +a OR b
         BooleanClause c = (BooleanClause) clauses.elementAt(clauses.size()-1);
  -      if (!c.prohibited)
  -        c.required = false;
  +      if (!c.isProhibited())
  +        c.setOccur(BooleanClause.Occur.SHOULD);
       }
   
       // We might have been passed a null query; the term might have been
  @@ -212,7 +212,14 @@
         prohibited = (mods == MOD_NOT);
         required   = (!prohibited && conj != CONJ_OR);
       }
  -    clauses.addElement(new BooleanClause(q, required, prohibited));
  +    if (required && !prohibited)
  +      clauses.addElement(new BooleanClause(q, BooleanClause.Occur.MUST));
  +    else if (!required && !prohibited)
  +      clauses.addElement(new BooleanClause(q, BooleanClause.Occur.SHOULD));
  +    else if (!required && prohibited)
  +      clauses.addElement(new BooleanClause(q, BooleanClause.Occur.MUST_NOT));
  +    else
  +      throw new RuntimeException("Clause cannot be both required and prohibited");
     }
   
     /**
  
  
  
  1.44      +12 -5     
jakarta-lucene/src/java/org/apache/lucene/queryParser/QueryParser.jj
  
  Index: QueryParser.jj
  ===================================================================
  RCS file: 
/home/cvs/jakarta-lucene/src/java/org/apache/lucene/queryParser/QueryParser.jj,v
  retrieving revision 1.43
  retrieving revision 1.44
  diff -u -r1.43 -r1.44
  --- QueryParser.jj    22 May 2004 17:34:31 -0000      1.43
  +++ QueryParser.jj    27 Aug 2004 21:50:17 -0000      1.44
  @@ -202,8 +202,8 @@
       // unless it's already prohibited
       if (conj == CONJ_AND) {
         BooleanClause c = (BooleanClause) clauses.elementAt(clauses.size()-1);
  -      if (!c.prohibited)
  -        c.required = true;
  +      if (!c.isProhibited())
  +        c.setOccur(BooleanClause.Occur.MUST);
       }
   
       if (operator == DEFAULT_OPERATOR_AND && conj == CONJ_OR) {
  @@ -212,8 +212,8 @@
         // notice if the input is a OR b, first term is parsed as required; without
         // this modification a OR b would parsed as +a OR b
         BooleanClause c = (BooleanClause) clauses.elementAt(clauses.size()-1);
  -      if (!c.prohibited)
  -        c.required = false;
  +      if (!c.isProhibited())
  +        c.setOccur(BooleanClause.Occur.SHOULD);
       }
   
       // We might have been passed a null query; the term might have been
  @@ -235,7 +235,14 @@
         prohibited = (mods == MOD_NOT);
         required   = (!prohibited && conj != CONJ_OR);
       }
  -    clauses.addElement(new BooleanClause(q, required, prohibited));
  +    if (required && !prohibited)
  +      clauses.addElement(new BooleanClause(q, BooleanClause.Occur.MUST));
  +    else if (!required && !prohibited)
  +      clauses.addElement(new BooleanClause(q, BooleanClause.Occur.SHOULD));
  +    else if (!required && prohibited)
  +      clauses.addElement(new BooleanClause(q, BooleanClause.Occur.MUST_NOT));
  +    else
  +      throw new RuntimeException("Clause cannot be both required and prohibited");
     }
   
     /**
  
  
  

---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to