Author: gttersen
Date: 2007-06-07 12:40:19 +0200 (Thu, 07 Jun 2007)
New Revision: 5287

Modified:
   
trunk/query-transform-config-spi/src/main/java/no/schibstedsok/searchportal/query/transform/NewsClusterQueryTransformerConfig.java
   
trunk/query-transform-control-spi/src/main/java/no/schibstedsok/searchportal/query/transform/NewsClusterQueryTransformer.java
Log:
newsAggregator: aftenposten skin

Modified: 
trunk/query-transform-config-spi/src/main/java/no/schibstedsok/searchportal/query/transform/NewsClusterQueryTransformerConfig.java
===================================================================
--- 
trunk/query-transform-config-spi/src/main/java/no/schibstedsok/searchportal/query/transform/NewsClusterQueryTransformerConfig.java
  2007-06-07 10:11:24 UTC (rev 5286)
+++ 
trunk/query-transform-config-spi/src/main/java/no/schibstedsok/searchportal/query/transform/NewsClusterQueryTransformerConfig.java
  2007-06-07 10:40:19 UTC (rev 5287)
@@ -20,13 +20,16 @@
     private static final String CLUSTER_ID_FIELD = "cluster-id-field";
     private static final String TIMESTAMP_FIELD = "timestamp-field";
     private static final String MAX_AGE_IN_DAYS = "max-age-in-days";
+    private static final String CLUSTER_FILTER = "cluster-filter";
 
     private String[] paramFields;
     private String timestampField;
     private String clusterField;
     private String clusterIdField = "clusterId";
     private int maxAgeInDays = 0;
+    private boolean clusterFilter = true;
 
+
     /**
      * @return
      */
@@ -46,6 +49,14 @@
         return clusterIdField;
     }
 
+    public boolean isClusterFilter() {
+        return clusterFilter;
+    }
+
+    public void setClusterFilter(boolean clusterFilter) {
+        this.clusterFilter = clusterFilter;
+    }
+
     /**
      * I max age is set to 0, No max age is defined.
      *
@@ -68,6 +79,13 @@
         if (maxAge != null && maxAge.length() > 0) {
             maxAgeInDays = Integer.parseInt(maxAge);
         }
+        final String clusterFilterString = 
element.getAttribute(CLUSTER_FILTER);
+        if (clusterFilterString != null && 
clusterFilterString.equalsIgnoreCase("false")) {
+            clusterFilter = false;
+        } else {
+            clusterFilter = true;
+        }
+
         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-06-07 10:11:24 UTC (rev 5286)
+++ 
trunk/query-transform-control-spi/src/main/java/no/schibstedsok/searchportal/query/transform/NewsClusterQueryTransformer.java
       2007-06-07 10:40:19 UTC (rev 5287)
@@ -70,20 +70,26 @@
      */
     public String getQueryFilter(final JunkYardDataObject parameters) {
         StringBuilder filter = new StringBuilder();
+        int paramAddCount = 0;
         for (String paramField : config.getParamFields()) {
             String paramValue = (String) parameters.getValue(paramField);
             LOG.debug("Adding param from datamodel: " + paramField + "=" + 
paramValue);
             if (paramValue != null) {
+                if (paramAddCount > 0) {
+                    filter.append(" and ");
+                }
                 filter.append(paramField).append(':');
                 filter.append("equals(");
                 filter.append('\"').append(paramValue).append("\")");
-                filter.append(" and ");
+                paramAddCount++;
             }
         }
         String clusterId = (String) 
parameters.getValue(config.getClusterIdField());
         if (clusterId != null) {
+            filter.append(" and ");
             
filter.append(config.getClusterField()).append(":").append('\"').append(clusterId).append("\"
 ");
-        } else {
+        } else if (config.isClusterFilter()) {
+            filter.append(" and ");
             filter.append(config.getClusterField()).append(":range(1,max) ");
             if (config.getMaxAgeInDays() > 0) {
                 Calendar calendar = Calendar.getInstance();
@@ -92,6 +98,7 @@
                 filter.append("and 
").append(config.getTimestampField()).append(':');
                 
filter.append("range(").append(sdf.format(calendar.getTime())).append(",max)");
             }
+
         }
         return filter.toString();
     }

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

Reply via email to