Author: gttersen
Date: 2007-04-11 16:17:58 +0200 (Wed, 11 Apr 2007)
New Revision: 4790

Added:
   
trunk/query-transform-config-spi/src/main/java/no/schibstedsok/searchportal/query/transform/NewsMyNewsQueryTransformerConfig.java
   
trunk/query-transform-control-spi/src/main/java/no/schibstedsok/searchportal/query/transform/NewsMyNewsQueryTransformer.java
Modified:
   
trunk/core-api/src/main/java/no/schibstedsok/searchportal/result/handler/AddCategoryNavigationResultHandler.java
   
trunk/core-api/src/main/java/no/schibstedsok/searchportal/run/QueryFactoryImpl.java
   
trunk/query-transform-control-spi/src/main/java/no/schibstedsok/searchportal/query/transform/NewsClusterQueryTransformer.java
Log:
Changes for NewsAggregator

Modified: 
trunk/core-api/src/main/java/no/schibstedsok/searchportal/result/handler/AddCategoryNavigationResultHandler.java
===================================================================
--- 
trunk/core-api/src/main/java/no/schibstedsok/searchportal/result/handler/AddCategoryNavigationResultHandler.java
    2007-04-11 14:16:08 UTC (rev 4789)
+++ 
trunk/core-api/src/main/java/no/schibstedsok/searchportal/result/handler/AddCategoryNavigationResultHandler.java
    2007-04-11 14:17:58 UTC (rev 4790)
@@ -18,7 +18,6 @@
 import java.io.InputStream;
 import java.net.URL;
 import java.util.ArrayList;
-import java.util.Arrays;
 import java.util.List;
 
 public class AddCategoryNavigationResultHandler implements ResultHandler {
@@ -46,19 +45,14 @@
 
     private void addCategoryNavigators(DataModel datamodel, FastSearchResult 
searchResult, List<Category> categoryList) {
         final String[] categoryFields = getCategoryFieldArray();
-        LOG.debug("Adding category navigators: categoryFields=" + 
Arrays.toString(categoryFields));
         if (categoryFields.length > 0) {
-            LOG.debug("categoryList=" + categoryList);
             for (String categoryField : categoryFields) {
                 Category selectedCategory = null;
                 StringDataObject selectedFieldData = 
datamodel.getParameters().getValue(categoryField);
-                LOG.debug("selectedFieldData=" + selectedFieldData);
                 for (Category category : categoryList) {
                     searchResult.addModifier(categoryField, new 
Modifier(category.getDisplayName(), -1, null));
-                    LOG.debug("Adding modifier name=" + categoryField + ", " + 
category.getDisplayName());
                     if (selectedFieldData != null && 
selectedFieldData.getString().equals(category.getDisplayName())) {
                         selectedCategory = category;
-                        LOG.debug("selectedCategory=" + selectedCategory);
                     }
                 }
                 if (selectedCategory != null && 
selectedCategory.getSubCategories() != null) {
@@ -106,7 +100,6 @@
 
     private List<Category> parseCategories(List<Element> categoryElements) {
         if (categoryElements != null && categoryElements.size() > 0) {
-            LOG.debug("Parsing categoryList size = " + 
categoryElements.size());
             final List<Category> categoryList = new ArrayList<Category>();
             for (Element categoryElement : categoryElements) {
                 categoryList.add(parseCategory(categoryElement));
@@ -118,7 +111,6 @@
     }
 
     private Category parseCategory(Element categoryElement) {
-        LOG.debug("Parsing category:" + categoryElement);
         String id = categoryElement.getAttributeValue(CMD_ATTR_ID);
         String displayName = 
categoryElement.getAttributeValue(CMD_ATTR_DISPLAY_NAME);
         //noinspection unchecked

Modified: 
trunk/core-api/src/main/java/no/schibstedsok/searchportal/run/QueryFactoryImpl.java
===================================================================
--- 
trunk/core-api/src/main/java/no/schibstedsok/searchportal/run/QueryFactoryImpl.java
 2007-04-11 14:16:08 UTC (rev 4789)
+++ 
trunk/core-api/src/main/java/no/schibstedsok/searchportal/run/QueryFactoryImpl.java
 2007-04-11 14:17:58 UTC (rev 4790)
@@ -2,21 +2,22 @@
 package no.schibstedsok.searchportal.run;
 
 
-import javax.servlet.http.Cookie;
-import javax.servlet.http.HttpServletRequest;
-import javax.servlet.http.HttpServletResponse;
 import no.schibstedsok.searchportal.datamodel.DataModel;
 import no.schibstedsok.searchportal.datamodel.request.ParametersDataObject;
 import 
no.schibstedsok.searchportal.site.SiteKeyedFactoryInstantiationException;
 import org.apache.log4j.Logger;
 
+import javax.servlet.http.Cookie;
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
 
+
 /**
  * QueryFactoryImpl is part of no.schibstedsok.searchportal.query.
  * Use this class to create an instance of a RunningQuery.
- *
+ * <p/>
  * TODO Replace the code in createQuery with a RunningQueryTransformer 
sub-module that is
- *  configured per mode and permits manipulation of the datamodel before the 
RunningQuery is constructed.
+ * configured per mode and permits manipulation of the datamodel before the 
RunningQuery is constructed.
  *
  * @author Ola Marius Sagli <a href="[EMAIL PROTECTED]">ola at schibstedsok</a>
  * @version $Id$
@@ -95,12 +96,21 @@
                 if ("".equals(qParam) && null == contentsourceParam && 
"".equals(newscountryParam)) {
                     query.addParameter("newscountry", "Norge");
                 }
-
+            } else if ("nm".equals(cParam)) {
+                final Cookie[] cookies = request.getCookies();
+                if (cookies != null) {
+                    for (Cookie cookie : cookies) {
+                        if ("myNews".equals(cookie.getName().trim())) {
+                            LOG.debug("Adding cookie: " + cookie.getName() + 
"=" + cookie.getValue());
+                            query.addParameter("myNews", cookie.getValue());
+                        }
+                    }
+                }
             } else if ("t".equals(cParam) || "wt".equals(cParam)) {
                 final Cookie[] cookies = request.getCookies();
                 if (cookies != null) {
                     for (Cookie cookie : cookies) {
-                        if ("myChannels".equals(cookie.getName())){
+                        if ("myChannels".equals(cookie.getName())) {
                             query.addParameter("myChannels", 
cookie.getValue());
                         }
                     }

Added: 
trunk/query-transform-config-spi/src/main/java/no/schibstedsok/searchportal/query/transform/NewsMyNewsQueryTransformerConfig.java
===================================================================
--- 
trunk/query-transform-config-spi/src/main/java/no/schibstedsok/searchportal/query/transform/NewsMyNewsQueryTransformerConfig.java
                           (rev 0)
+++ 
trunk/query-transform-config-spi/src/main/java/no/schibstedsok/searchportal/query/transform/NewsMyNewsQueryTransformerConfig.java
   2007-04-11 14:17:58 UTC (rev 4790)
@@ -0,0 +1,36 @@
+package no.schibstedsok.searchportal.query.transform;
+
+import 
no.schibstedsok.searchportal.query.transform.AbstractQueryTransformerConfig.Controller;
+import org.w3c.dom.Element;
+
[EMAIL PROTECTED]("NewsMyNewsQueryTransformer")
+public class NewsMyNewsQueryTransformerConfig extends 
AbstractQueryTransformerConfig {
+    private String cookieParameter;
+    private String transformExpsession;
+    private static final String COOKIE_PARAMETER = "cookie-parameter";
+    private static final String TRANSFORM_EXPRESSION = "transform-expression";
+
+    public String getCookieParameter() {
+        return cookieParameter;
+    }
+
+    public void setCookieParameter(String cookieParameter) {
+        this.cookieParameter = cookieParameter;
+    }
+
+    public String getTransformExpsession() {
+        return transformExpsession;
+    }
+
+    public void setTransformExpsession(String transformExpsession) {
+        this.transformExpsession = transformExpsession;
+    }
+
+    @Override
+    public NewsMyNewsQueryTransformerConfig readQueryTransformer(final Element 
element) {
+        cookieParameter = element.getAttribute(COOKIE_PARAMETER);
+        transformExpsession = element.getAttribute(TRANSFORM_EXPRESSION);
+        return this;
+    }
+
+}

Modified: 
trunk/query-transform-control-spi/src/main/java/no/schibstedsok/searchportal/query/transform/NewsClusterQueryTransformer.java
===================================================================
--- 
trunk/query-transform-control-spi/src/main/java/no/schibstedsok/searchportal/query/transform/NewsClusterQueryTransformer.java
       2007-04-11 14:16:08 UTC (rev 4789)
+++ 
trunk/query-transform-control-spi/src/main/java/no/schibstedsok/searchportal/query/transform/NewsClusterQueryTransformer.java
       2007-04-11 14:17:58 UTC (rev 4790)
@@ -1,7 +1,6 @@
 package no.schibstedsok.searchportal.query.transform;
 
-import no.schibstedsok.searchportal.datamodel.generic.StringDataObject;
-import no.schibstedsok.searchportal.datamodel.request.ParametersDataObject;
+import no.schibstedsok.searchportal.datamodel.junkyard.JunkYardDataObject;
 import no.schibstedsok.searchportal.query.Clause;
 import org.apache.log4j.Logger;
 
@@ -25,15 +24,13 @@
     private final NewsClusterQueryTransformerConfig config;
 
     /**
-     *
      * @param config
      */
-    public NewsClusterQueryTransformer(final QueryTransformerConfig config){
+    public NewsClusterQueryTransformer(final QueryTransformerConfig config) {
         this.config = (NewsClusterQueryTransformerConfig) config;
     }
 
     /**
-     *
      * @param clause
      */
     public void visitImpl(final Clause clause) {
@@ -57,7 +54,8 @@
             sb.append("and(");
         }
         sb.append("filter(");
-        sb.append(getQueryFilter(getContext().getDataModel().getParameters()));
+        // Using Junkyard, since the parameters seems to be incomplete...
+        sb.append(getQueryFilter(getContext().getDataModel().getJunkYard()));
         sb.append(')');
         if (!emptyQuery) {
             sb.append(',');
@@ -68,24 +66,23 @@
     }
 
     /**
-     *
      * @param parameters
      * @return
      */
-    public String getQueryFilter(final ParametersDataObject parameters) {
+    public String getQueryFilter(final JunkYardDataObject parameters) {
         StringBuilder filter = new StringBuilder();
         for (String paramField : config.getParamFields()) {
-            StringDataObject paramValue = parameters.getValue(paramField);
+            String paramValue = (String) parameters.getValue(paramField);
             LOG.debug("Adding param from datamodel: " + paramField + "=" + 
paramValue);
             if (paramValue != null) {
                 filter.append(paramField).append(':');
-                
filter.append('\"').append(paramValue.getString()).append('\"');
+                filter.append('\"').append(paramValue).append('\"');
                 filter.append(" and ");
             }
         }
-        StringDataObject clusterId = 
parameters.getValue(config.getClusterIdField());
+        String clusterId = (String) 
parameters.getValue(config.getClusterIdField());
         if (clusterId != null) {
-            
filter.append(config.getClusterField()).append(":").append('\"').append(clusterId.getString()).append("\"
 ");
+            
filter.append(config.getClusterField()).append(":").append('\"').append(clusterId).append("\"
 ");
         } else {
             filter.append(config.getClusterField()).append(":range(1,max) ");
         }

Added: 
trunk/query-transform-control-spi/src/main/java/no/schibstedsok/searchportal/query/transform/NewsMyNewsQueryTransformer.java
===================================================================
--- 
trunk/query-transform-control-spi/src/main/java/no/schibstedsok/searchportal/query/transform/NewsMyNewsQueryTransformer.java
                                (rev 0)
+++ 
trunk/query-transform-control-spi/src/main/java/no/schibstedsok/searchportal/query/transform/NewsMyNewsQueryTransformer.java
        2007-04-11 14:17:58 UTC (rev 4790)
@@ -0,0 +1,20 @@
+package no.schibstedsok.searchportal.query.transform;
+
+import no.schibstedsok.searchportal.query.Clause;
+import org.apache.log4j.Logger;
+
+
+public class NewsMyNewsQueryTransformer extends AbstractQueryTransformer {
+    private static final Logger LOG = 
Logger.getLogger(NewsMyNewsQueryTransformer.class);
+    private NewsMyNewsQueryTransformerConfig config;
+
+
+    public NewsMyNewsQueryTransformer(QueryTransformerConfig config) {
+        this.config = (NewsMyNewsQueryTransformerConfig) config;
+    }
+
+    public void visitImpl(final Clause clause) {
+        String myNews = (String) 
getContext().getDataModel().getJunkYard().getValue("myNews");
+        LOG.debug("Transforming query according to cookie myNews = " + myNews);
+    }
+}

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

Reply via email to