Author: ssmiweve
Date: 2008-04-23 14:52:13 +0200 (Wed, 23 Apr 2008)
New Revision: 6542

Modified:
   
branches/2.17/query-api/src/main/java/no/sesat/search/query/token/TokenPredicate.java
   
branches/2.17/search-command-control-spi/src/main/java/no/sesat/search/mode/command/AbstractSearchCommand.java
Log:
SEARCH-4665 - NPE at TokenEvaluationEngineImpl.evaluateImpl

Modified: 
branches/2.17/query-api/src/main/java/no/sesat/search/query/token/TokenPredicate.java
===================================================================
--- 
branches/2.17/query-api/src/main/java/no/sesat/search/query/token/TokenPredicate.java
       2008-04-23 09:59:27 UTC (rev 6541)
+++ 
branches/2.17/query-api/src/main/java/no/sesat/search/query/token/TokenPredicate.java
       2008-04-23 12:52:13 UTC (rev 6542)
@@ -610,9 +610,13 @@
          *
          * @param name the name of the TokenPredicate to find.
          * @return the anonymous TokenPredicate.
+         * @throws IllegalArgumentException when no such anonymous token by 
the name exists.
          */
-        public static TokenPredicate getAnonymousTokenPredicate(final String 
name){
+        public static TokenPredicate getAnonymousTokenPredicate(final String 
name) throws IllegalArgumentException{
 
+            if(!ANONYMOUS_TOKENS.containsKey(name)){
+                throw new IllegalArgumentException("No anonymous token found 
with name " + name);
+            }
             return ANONYMOUS_TOKENS.get(name);
         }
 

Modified: 
branches/2.17/search-command-control-spi/src/main/java/no/sesat/search/mode/command/AbstractSearchCommand.java
===================================================================
--- 
branches/2.17/search-command-control-spi/src/main/java/no/sesat/search/mode/command/AbstractSearchCommand.java
      2008-04-23 09:59:27 UTC (rev 6541)
+++ 
branches/2.17/search-command-control-spi/src/main/java/no/sesat/search/mode/command/AbstractSearchCommand.java
      2008-04-23 12:52:13 UTC (rev 6542)
@@ -818,8 +818,10 @@
                         // if the field is the token then mask the field and 
include the term.
                         // XXX why are we checking the known and possible 
predicates?
                         boolean result = 
clause.getKnownPredicates().contains(tp);
-                        result |= clause.getPossiblePredicates().contains(tp);
-                        result &= engine.evaluateTerm(tp, clause.getField());
+                        
+                        result |= clause.getPossiblePredicates().contains(tp) 
+                                && engine.evaluateTerm(tp, clause.getField());
+                        
                         if (result) {
                             field = fieldFilter;
                             break;

_______________________________________________
Kernel-commits mailing list
[email protected]
http://sesat.no/mailman/listinfo/kernel-commits

Reply via email to