Author: gttersen
Date: 2007-04-17 17:29:50 +0200 (Tue, 17 Apr 2007)
New Revision: 4826

Modified:
   
trunk/core-api/src/main/java/no/schibstedsok/searchportal/mode/command/AbstractSearchCommand.java
   
trunk/core-api/src/main/java/no/schibstedsok/searchportal/result/handler/ResultHandler.java
   
trunk/site-spi/src/main/java/no/schibstedsok/searchportal/site/config/SiteConfiguration.java
Log:
Needed SiteContext to be available in ResultHandler. Did changes to 
AbstractSearchCommand, ResultHandler and SiteConfiguration to solve this.

Modified: 
trunk/core-api/src/main/java/no/schibstedsok/searchportal/mode/command/AbstractSearchCommand.java
===================================================================
--- 
trunk/core-api/src/main/java/no/schibstedsok/searchportal/mode/command/AbstractSearchCommand.java
   2007-04-17 12:47:55 UTC (rev 4825)
+++ 
trunk/core-api/src/main/java/no/schibstedsok/searchportal/mode/command/AbstractSearchCommand.java
   2007-04-17 15:29:50 UTC (rev 4826)
@@ -483,6 +483,7 @@
                             context.getRunningQuery().addSource(modifier);
                         }
                     },
+                    
context.getDataModel().getSite().getSiteConfiguration().getSiteContext(),
                     context
             );
             resultHandler.handleResult(resultHandlerContext, datamodel);

Modified: 
trunk/core-api/src/main/java/no/schibstedsok/searchportal/result/handler/ResultHandler.java
===================================================================
--- 
trunk/core-api/src/main/java/no/schibstedsok/searchportal/result/handler/ResultHandler.java
 2007-04-17 12:47:55 UTC (rev 4825)
+++ 
trunk/core-api/src/main/java/no/schibstedsok/searchportal/result/handler/ResultHandler.java
 2007-04-17 15:29:50 UTC (rev 4826)
@@ -2,12 +2,10 @@
 package no.schibstedsok.searchportal.result.handler;
 
 import no.schibstedsok.searchportal.datamodel.DataModel;
-import no.schibstedsok.searchportal.site.config.ResourceContext;
-import no.schibstedsok.searchportal.query.QueryContext;
-import no.schibstedsok.searchportal.query.QueryStringContext;
 import no.schibstedsok.searchportal.result.Modifier;
 import no.schibstedsok.searchportal.result.SearchResult;
 import no.schibstedsok.searchportal.site.SiteContext;
+import no.schibstedsok.searchportal.site.config.ResourceContext;
 import no.schibstedsok.searchportal.view.config.SearchTab;
 
 /*
@@ -16,16 +14,20 @@
  *
  */
 public interface ResultHandler {
-    /** Contextual demands from a ResultHandler.
+    /**
+     * Contextual demands from a ResultHandler.
      * Slightly unusual in that the context never becomes a member field but 
is only used inside the
      * handleResult method.
      */
-    public interface Context extends ResourceContext {
-        
+    public interface Context extends SiteContext, ResourceContext {
+
         SearchResult getSearchResult();
+
         SearchTab getSearchTab();
 
-        /** Result handling action **/
+        /**
+         * Result handling action *
+         */
         void addSource(Modifier modifier);
     }
 

Modified: 
trunk/site-spi/src/main/java/no/schibstedsok/searchportal/site/config/SiteConfiguration.java
===================================================================
--- 
trunk/site-spi/src/main/java/no/schibstedsok/searchportal/site/config/SiteConfiguration.java
        2007-04-17 12:47:55 UTC (rev 4825)
+++ 
trunk/site-spi/src/main/java/no/schibstedsok/searchportal/site/config/SiteConfiguration.java
        2007-04-17 15:29:50 UTC (rev 4826)
@@ -1,37 +1,47 @@
 // Copyright (2006) Schibsted Søk AS
 package no.schibstedsok.searchportal.site.config;
 
-import java.util.HashMap;
-import java.util.Locale;
-import java.util.Map;
-import java.util.Properties;
-import java.util.concurrent.locks.ReentrantReadWriteLock;
 import no.schibstedsok.commons.ioc.BaseContext;
 import no.schibstedsok.searchportal.site.Site;
 import no.schibstedsok.searchportal.site.SiteContext;
 import no.schibstedsok.searchportal.site.SiteKeyedFactory;
 import org.apache.log4j.Logger;
 
+import java.util.HashMap;
+import java.util.Locale;
+import java.util.Map;
+import java.util.Properties;
+import java.util.concurrent.locks.ReentrantReadWriteLock;
 
+
 /**
  * SiteConfiguration properties.
  *
  * @author <a href="mailto:[EMAIL PROTECTED]">Magnus Eklund</a>
  * @version $Id$
  */
-public final class SiteConfiguration implements SiteKeyedFactory{
+public final class SiteConfiguration implements SiteKeyedFactory {
 
     public static final String NAME_KEY = "SiteConfiguration";
-    /** TODO comment me. **/
+    /**
+     * TODO comment me. *
+     */
     public static final String SITE_LOCALE_DEFAULT = "site.locale.default";
-    /** TODO comment me. **/
+    /**
+     * TODO comment me. *
+     */
     public static final String PUBLISH_SYSTEM_URL = 
"publishing.system.baseURL";
-    /** TODO comment me. **/
+    /**
+     * TODO comment me. *
+     */
     public static final String PUBLISH_SYSTEM_HOST = 
"publishing.system.host-header";
     private static final String SITE_LOCALE_SUPPORTED = 
"site.locale.supported";
 
-    /** Property key to find out if this Site is a sitesearch**/
+    /**
+     * Property key to find out if this Site is a sitesearch*
+     */
     public static final String IS_SITESEARCH_KEY = "site.issitesearch";
+
     public interface Context extends BaseContext, PropertiesContext, 
SiteContext {
     }
 
@@ -39,14 +49,14 @@
 
     private final Context context;
 
-    private static final Map<Site, SiteConfiguration> INSTANCES = new 
HashMap<Site,SiteConfiguration>();
+    private static final Map<Site, SiteConfiguration> INSTANCES = new 
HashMap<Site, SiteConfiguration>();
     private static final ReentrantReadWriteLock INSTANCES_LOCK = new 
ReentrantReadWriteLock();
 
     private static final Logger LOG = 
Logger.getLogger(SiteConfiguration.class);
 
     private SiteConfiguration(final Context cxt) {
 
-        try{
+        try {
             INSTANCES_LOCK.writeLock().lock();
             LOG.trace("SiteConfiguration(cxt)");
             context = cxt;
@@ -54,18 +64,26 @@
             context.newPropertiesLoader(cxt, Site.CONFIGURATION_FILE, 
properties).abut();
 
             INSTANCES.put(context.getSite(), this);
-        }finally{
+        } finally {
             INSTANCES_LOCK.writeLock().unlock();
         }
     }
 
-    /** TODO comment me. **/
+    public SiteContext getSiteContext() {
+        return context;
+    }
+
+    /**
+     * TODO comment me. *
+     */
     public Properties getProperties() {
 
         return properties;
     }
 
-    /** TODO comment me. **/
+    /**
+     * TODO comment me. *
+     */
     public String getProperty(final String key) {
 
         assert null != key : "Expecting a value for a null key!?";
@@ -74,9 +92,10 @@
         return result;
     }
 
-    /** Find the correct instance handling this Site.
+    /**
+     * Find the correct instance handling this Site.
      * We need to use a Context instead of the Site directly so we can handle 
different styles of loading resources.
-     **/
+     */
     public static SiteConfiguration valueOf(final Context cxt) {
 
         final Site site = cxt.getSite();
@@ -84,10 +103,10 @@
 
         SiteConfiguration instance = null;
 
-        try{
+        try {
             INSTANCES_LOCK.readLock().lock();
             instance = INSTANCES.get(site);
-        }finally{
+        } finally {
             INSTANCES_LOCK.readLock().unlock();
         }
 
@@ -108,6 +127,7 @@
             public Site getSite() {
                 return site;
             }
+
             public PropertiesLoader newPropertiesLoader(
                     final SiteContext siteCxt,
                     final String resource,
@@ -119,29 +139,31 @@
         return stc;
     }
 
-    /** TODO comment me. **/
-    public boolean remove(final Site site){
+    /**
+     * TODO comment me. *
+     */
+    public boolean remove(final Site site) {
 
-        try{
+        try {
             INSTANCES_LOCK.writeLock().lock();
             return null != INSTANCES.remove(site);
-        }finally{
+        } finally {
             INSTANCES_LOCK.writeLock().unlock();
         }
     }
 
-    public boolean isSiteLocaleSupported(final Locale locale){
+    public boolean isSiteLocaleSupported(final Locale locale) {
 
-        if( Site.DEFAULT.getName().equals(context.getSite().getName())){
+        if (Site.DEFAULT.getName().equals(context.getSite().getName())) {
             // the DEFAULT site supports all Locales !
             return true;
         }
-        
+
         final String supportedLocales = getProperty(SITE_LOCALE_SUPPORTED);
-        if( null != supportedLocales ){
+        if (null != supportedLocales) {
             final String[] locales = supportedLocales.split(",");
-            for(String l : locales){
-                if(locale.toString().equals(l)){
+            for (String l : locales) {
+                if (locale.toString().equals(l)) {
                     return true;
                 }
             }

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

Reply via email to