Author: ssmiweve
Date: 2008-11-17 15:34:35 +0100 (Mon, 17 Nov 2008)
New Revision: 6943

Modified:
   
trunk/search-command-control-spi/src/main/java/no/sesat/search/mode/command/AbstractSearchCommand.java
Log:
Issue SKER2149: (Divide & Conquer AbstractSearchCommand to delegates) 


Modified: 
trunk/search-command-control-spi/src/main/java/no/sesat/search/mode/command/AbstractSearchCommand.java
===================================================================
--- 
trunk/search-command-control-spi/src/main/java/no/sesat/search/mode/command/AbstractSearchCommand.java
      2008-11-17 13:43:32 UTC (rev 6942)
+++ 
trunk/search-command-control-spi/src/main/java/no/sesat/search/mode/command/AbstractSearchCommand.java
      2008-11-17 14:34:35 UTC (rev 6943)
@@ -236,7 +236,7 @@
         initialiseTransformedTerms();
 
         // construct the queryBuilder
-        queryBuilder = QueryBuilderFactory.getController(queryBuilderContext, 
bsc.getQueryBuilder());
+        queryBuilder = constructQueryBuilder(cxt, queryBuilderContext);
 
         // construct the sesamSyntaxQueryBuilder
         sesamSyntxQueryBuilder = new 
SesamSyntaxQueryBuilder(queryBuilderContext);
@@ -384,6 +384,28 @@
 
     // Protected -----------------------------------------------------
 
+    /** Construct from scratch, and return the query builder to use.
+     * Default implementation returns the query builder that is configured 
from the BaseSearchConfiguration.
+     *
+     * <br/>
+     *
+     * This method is intended to be overridden, but it called from the 
constructor.
+     * So it is important the overrides do not reference "this",
+     *  or any other fields as they will likely not be initialised yet.
+     *
+     * @param cxt search command's context
+     * @param queryBuilderContext the query builder context
+     * @return
+     */
+    protected QueryBuilder constructQueryBuilder(
+            final SearchCommand.Context cxt,
+            final QueryBuilder.Context queryBuilderContext){
+
+        return QueryBuilderFactory.getController(
+                queryBuilderContext,
+                
((BaseSearchConfiguration)cxt.getSearchConfiguration()).getQueryBuilder());
+    }
+
     protected Collection<String> getReservedWords(){
         return Collections.emptySet();
     }

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

Reply via email to