Author: ssmiweve
Date: 2008-04-25 16:22:07 +0200 (Fri, 25 Apr 2008)
New Revision: 6548
Modified:
branches/2.17/query-api/src/main/java/no/sesat/search/query/token/RegExpEvaluatorFactory.java
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/VeryFastTokenEvaluator.java
Log:
SEARCH-4665 - NPE at TokenEvaluationEngineImpl.evaluateImpl
Modified:
branches/2.17/query-api/src/main/java/no/sesat/search/query/token/RegExpEvaluatorFactory.java
===================================================================
---
branches/2.17/query-api/src/main/java/no/sesat/search/query/token/RegExpEvaluatorFactory.java
2008-04-25 14:18:39 UTC (rev 6547)
+++
branches/2.17/query-api/src/main/java/no/sesat/search/query/token/RegExpEvaluatorFactory.java
2008-04-25 14:22:07 UTC (rev 6548)
@@ -135,9 +135,16 @@
final String tokenName =
evaluator.getAttribute("token");
LOG.info(" ->[EMAIL PROTECTED]: " + tokenName);
- final TokenPredicate token = null !=
TokenPredicate.Static.getTokenPredicate(tokenName)
- ?
TokenPredicate.Static.getTokenPredicate(tokenName)
- :
TokenPredicate.Static.createAnonymousTokenPredicate(tokenName,
TokenPredicate.Type.REGEX);
+ TokenPredicate token;
+ try{
+ token =
TokenPredicate.Static.getTokenPredicate(tokenName);
+
+ }catch(IllegalArgumentException iae){
+ LOG.debug(tokenName + " does not exist. Will
create it. Underlying exception was " + iae);
+ token =
TokenPredicate.Static.createAnonymousTokenPredicate(
+ tokenName,
+ TokenPredicate.Type.REGEX);
+ }
final boolean queryDep =
Boolean.parseBoolean(evaluator.getAttribute("query-dependant"));
LOG.info(" ->[EMAIL PROTECTED]: " + queryDep);
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-25 14:18:39 UTC (rev 6547)
+++
branches/2.17/query-api/src/main/java/no/sesat/search/query/token/TokenPredicate.java
2008-04-25 14:22:07 UTC (rev 6548)
@@ -596,8 +596,9 @@
*
* @param name the name of the TokenPredicate to find.
* @return the TokenPredicate.
+ * @throws IllegalArgumentException when no such anonymous token by
the name exists.
*/
- public static TokenPredicate getTokenPredicate(final String name){
+ public static TokenPredicate getTokenPredicate(final String name)
throws IllegalArgumentException{
try{
return Categories.valueOf(name);
Modified:
branches/2.17/query-api/src/main/java/no/sesat/search/query/token/VeryFastTokenEvaluator.java
===================================================================
---
branches/2.17/query-api/src/main/java/no/sesat/search/query/token/VeryFastTokenEvaluator.java
2008-04-25 14:18:39 UTC (rev 6547)
+++
branches/2.17/query-api/src/main/java/no/sesat/search/query/token/VeryFastTokenEvaluator.java
2008-04-25 14:22:07 UTC (rev 6548)
@@ -320,9 +320,16 @@
final String tokenName = list.getAttribute("token");
LOG.info(" ->[EMAIL PROTECTED]: " + tokenName);
- final TokenPredicate token = null !=
TokenPredicate.Static.getTokenPredicate(tokenName)
- ?
TokenPredicate.Static.getTokenPredicate(tokenName)
- :
TokenPredicate.Static.createAnonymousTokenPredicate(tokenName,
TokenPredicate.Type.FAST);
+ TokenPredicate token;
+ try{
+ token =
TokenPredicate.Static.getTokenPredicate(tokenName);
+
+ }catch(IllegalArgumentException iae){
+ LOG.debug(tokenName + " does not exist. Will
create it. Underlying exception was " + iae);
+ token =
TokenPredicate.Static.createAnonymousTokenPredicate(
+ tokenName,
+ TokenPredicate.Type.FAST);
+ }
final String[] listNameArr =
list.getAttribute("list-name").split(",");
LOG.info(" ->lists: " +
list.getAttribute("list-name"));
_______________________________________________
Kernel-commits mailing list
[email protected]
http://sesat.no/mailman/listinfo/kernel-commits