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