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