Author: gttersen
Date: 2007-04-25 22:57:20 +0200 (Wed, 25 Apr 2007)
New Revision: 4883
Added:
trunk/core-api/src/main/java/no/schibstedsok/searchportal/mode/command/NewsEspSearchCommand.java
trunk/search-command-config-spi/src/main/java/no/schibstedsok/searchportal/mode/config/NewsEspSearchConfiguration.java
Modified:
trunk/core-api/src/main/java/no/schibstedsok/searchportal/mode/SearchModeFactory.java
trunk/core-api/src/main/java/no/schibstedsok/searchportal/mode/command/AbstractSearchCommand.java
trunk/core-api/src/main/java/no/schibstedsok/searchportal/mode/command/ClusteringESPFastCommand.java
trunk/search-command-config-spi/src/main/java/no/schibstedsok/searchportal/mode/config/ClusteringESPFastConfiguration.java
Log:
Fixes for newsAggregator: NewsEnrichment and newsCounter for norway updated in
modes.xml.
Modified:
trunk/core-api/src/main/java/no/schibstedsok/searchportal/mode/SearchModeFactory.java
===================================================================
---
trunk/core-api/src/main/java/no/schibstedsok/searchportal/mode/SearchModeFactory.java
2007-04-25 15:11:17 UTC (rev 4882)
+++
trunk/core-api/src/main/java/no/schibstedsok/searchportal/mode/SearchModeFactory.java
2007-04-25 20:57:20 UTC (rev 4883)
@@ -25,6 +25,7 @@
import no.schibstedsok.searchportal.mode.config.MobileSearchConfiguration;
import
no.schibstedsok.searchportal.mode.config.NavigatableESPFastConfiguration;
import
no.schibstedsok.searchportal.mode.config.NewsAggregatorSearchConfiguration;
+import no.schibstedsok.searchportal.mode.config.NewsEspSearchConfiguration;
import no.schibstedsok.searchportal.mode.config.NewsMyNewsSearchConfiguration;
import no.schibstedsok.searchportal.mode.config.NewsSearchConfiguration;
import no.schibstedsok.searchportal.mode.config.OverturePPCSearchConfiguration;
@@ -313,7 +314,7 @@
final SearchMode.SearchCommandExecutorConfig def) {
try {
- if(0 < name.length()){
+ if (0 < name.length()) {
return
SearchMode.SearchCommandExecutorConfig.valueOf(name.toUpperCase());
}
@@ -375,7 +376,8 @@
CATALOGUE_BANNERS_COMMAND(CatalogueBannersSearchConfiguration.class),
CLUSTERING_ESP_FAST_COMMAND(ClusteringESPFastConfiguration.class),
NEWS_AGGREGATOR_COMMAND(NewsAggregatorSearchConfiguration.class),
- NEWS_MY_NEWS_COMMAND(NewsMyNewsSearchConfiguration.class);
+ NEWS_MY_NEWS_COMMAND(NewsMyNewsSearchConfiguration.class),
+ NEWS_ESP_COMMAND(NewsEspSearchConfiguration.class);
private final Class<? extends SearchConfiguration> clazz;
private final String xmlName;
@@ -769,6 +771,13 @@
fillBeanProperty(cbsc, inherit, "queryParameterWhere",
ParseType.String, commandE, "");
}
+ if (sc instanceof NewsEspSearchConfiguration) {
+ final NewsEspSearchConfiguration nesc =
(NewsEspSearchConfiguration) sc;
+ fillBeanProperty(nesc, inherit, "mediumPrefix",
ParseType.String, commandE, "medium");
+ fillBeanProperty(nesc, inherit, "defaultMedium",
ParseType.String, commandE, "webnewsarticle");
+ fillBeanProperty(nesc, inherit, "mediumParameter",
ParseType.String, commandE, "medium");
+ }
+
if (sc instanceof ClusteringESPFastConfiguration) {
final ClusteringESPFastConfiguration cefc =
(ClusteringESPFastConfiguration) sc;
fillBeanProperty(cefc, inherit, "clusterIdParameter",
ParseType.String, commandE, "clusterId");
@@ -930,9 +939,9 @@
LOG.info("findClass " + className);
final Class clazz = (Class<QueryTransformerConfig>)
SiteClassLoaderFactory.valueOf(site).getClassLoader().loadClass(
- "no.schibstedsok.searchportal.query.transform."
- + className
- + "QueryTransformerConfig");
+ "no.schibstedsok.searchportal.query.transform."
+ + className
+ + "QueryTransformerConfig");
LOG.info("Found class " + clazz.getName());
return clazz;
}
@@ -963,9 +972,10 @@
}
}
- private static abstract class AbstractFactory<C>{
- AbstractFactory(){}
-
+ private static abstract class AbstractFactory<C> {
+ AbstractFactory() {
+ }
+
boolean supported(final String xmlName, final Site site) {
try {
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-25 15:11:17 UTC (rev 4882)
+++
trunk/core-api/src/main/java/no/schibstedsok/searchportal/mode/command/AbstractSearchCommand.java
2007-04-25 20:57:20 UTC (rev 4883)
@@ -35,6 +35,8 @@
import no.schibstedsok.searchportal.result.Modifier;
import no.schibstedsok.searchportal.result.SearchResult;
import no.schibstedsok.searchportal.result.handler.ResultHandler;
+import no.schibstedsok.searchportal.result.handler.ResultHandlerConfig;
+import no.schibstedsok.searchportal.result.handler.ResultHandlerFactory;
import no.schibstedsok.searchportal.run.RunningQuery;
import no.schibstedsok.searchportal.site.Site;
import no.schibstedsok.searchportal.view.config.SearchTab;
@@ -45,8 +47,6 @@
import java.util.LinkedHashMap;
import java.util.List;
import java.util.Map;
-import no.schibstedsok.searchportal.result.handler.ResultHandlerConfig;
-import no.schibstedsok.searchportal.result.handler.ResultHandlerFactory;
/**
* @author <a href="mailto:[EMAIL PROTECTED]">Magnus Eklund</a>.
@@ -383,7 +383,6 @@
/**
* TODO comment me.
- *
*/
protected final void performQueryTransformation() {
@@ -464,7 +463,7 @@
// process listed result handlers
for (ResultHandlerConfig resultHandlerConfig :
getSearchConfiguration().getResultHandlers()) {
-
+
final ResultHandler resultHandler =
ResultHandlerFactory.getController(resultHandlerConfig);
final ResultHandler.Context resultHandlerContext =
ContextWrapper.wrap(
@@ -571,6 +570,11 @@
sb.append(addition);
}
+ protected final void appendToQueryRepresentation(final char addition) {
+ sb.append(addition);
+ }
+
+
/**
* TODO comment me. *
*/
@@ -884,28 +888,28 @@
private class MapInitialisor extends AbstractReflectionVisitor {
- private final Map<Clause,String> map;
+ private final Map<Clause, String> map;
- public MapInitialisor(final Map<Clause,String> m) {
+ public MapInitialisor(final Map<Clause, String> m) {
map = m;
}
protected void visitImpl(final LeafClause clause) {
- if(null == map.get(clause)){
- if (null != clause.getField()){
- if(null == getFieldFilter(clause)){
-
+ if (null == map.get(clause)) {
+ if (null != clause.getField()) {
+ if (null == getFieldFilter(clause)) {
+
// Escape any fielded leafs for fields that are not
supported by this command.
// Performed here in order to make the correct terms
visible to the query transformers.
map.put(clause, escapeFieldedLeaf(clause));
-
- }else{
-
+
+ } else {
+
map.put(clause, "");
}
} else {
-
+
map.put(clause, clause.getTerm());
}
}
Modified:
trunk/core-api/src/main/java/no/schibstedsok/searchportal/mode/command/ClusteringESPFastCommand.java
===================================================================
---
trunk/core-api/src/main/java/no/schibstedsok/searchportal/mode/command/ClusteringESPFastCommand.java
2007-04-25 15:11:17 UTC (rev 4882)
+++
trunk/core-api/src/main/java/no/schibstedsok/searchportal/mode/command/ClusteringESPFastCommand.java
2007-04-25 20:57:20 UTC (rev 4883)
@@ -21,7 +21,7 @@
import java.util.HashMap;
import java.util.Map;
-public class ClusteringESPFastCommand extends NavigatableESPFastCommand {
+public class ClusteringESPFastCommand extends NewsEspSearchCommand {
public static final String PARAM_NEXT_OFFSET = "nextOffset";
private static final Logger LOG =
Logger.getLogger(ClusteringESPFastCommand.class);
Added:
trunk/core-api/src/main/java/no/schibstedsok/searchportal/mode/command/NewsEspSearchCommand.java
===================================================================
---
trunk/core-api/src/main/java/no/schibstedsok/searchportal/mode/command/NewsEspSearchCommand.java
(rev 0)
+++
trunk/core-api/src/main/java/no/schibstedsok/searchportal/mode/command/NewsEspSearchCommand.java
2007-04-25 20:57:20 UTC (rev 4883)
@@ -0,0 +1,100 @@
+package no.schibstedsok.searchportal.mode.command;
+
+import no.schibstedsok.searchportal.mode.config.NewsEspSearchConfiguration;
+import no.schibstedsok.searchportal.query.AndClause;
+import no.schibstedsok.searchportal.query.AndNotClause;
+import no.schibstedsok.searchportal.query.Clause;
+import no.schibstedsok.searchportal.query.DefaultOperatorClause;
+import no.schibstedsok.searchportal.query.LeafClause;
+import no.schibstedsok.searchportal.query.NotClause;
+import no.schibstedsok.searchportal.query.OperationClause;
+import no.schibstedsok.searchportal.query.OrClause;
+import org.apache.log4j.Logger;
+
+public class NewsEspSearchCommand extends NavigatableESPFastCommand {
+ private static final Logger LOG =
Logger.getLogger(NewsEspSearchCommand.class);
+
+ public NewsEspSearchCommand(Context cxt) {
+ super(cxt);
+ }
+
+ private void addMedium(Clause clause) {
+ if (getQuery().getRootClause() == clause) {
+ NewsEspSearchConfiguration config = getSearchConfiguration();
+ String medium = (String)
datamodel.getJunkYard().getValue(config.getMediumParameter());
+ if (!NewsEspSearchConfiguration.ALL_MEDIUMS.equals(medium) &&
getTransformedQuery().length() > 0) {
+ if (medium == null || medium.length() == 0) {
+ medium = config.getDefaultMedium();
+ }
+ insertToQueryRepresentation(0, "and(");
+ appendToQueryRepresentation(',');
+ appendToQueryRepresentation(config.getMediumPrefix());
+ appendToQueryRepresentation(':');
+ appendToQueryRepresentation(medium);
+ appendToQueryRepresentation(')');
+ LOG.debug("Added medium");
+ }
+
+ }
+ }
+
+ protected void visitImpl(final Clause clause) {
+ LOG.debug("Visited me with: " + clause + ", isRoot=" +
(getQuery().getRootClause() == clause));
+ super.visitImpl(clause);
+ addMedium(clause);
+ }
+
+ @Override
+ protected void visitImpl(final LeafClause clause) {
+ LOG.debug("Visited me with: " + clause + ", isRoot=" +
(getQuery().getRootClause() == clause));
+ super.visitImpl(clause);
+ addMedium(clause);
+ }
+
+ @Override
+ protected void visitImpl(final OperationClause clause) {
+ LOG.debug("Visited me with: " + clause + ", isRoot=" +
(getQuery().getRootClause() == clause));
+ super.visitImpl(clause);
+ addMedium(clause);
+ }
+
+ @Override
+ protected void visitImpl(final AndClause clause) {
+ LOG.debug("Visited me with: " + clause + ", isRoot=" +
(getQuery().getRootClause() == clause));
+ super.visitImpl(clause);
+ addMedium(clause);
+ }
+
+ @Override
+ protected void visitImpl(final OrClause clause) {
+ LOG.debug("Visited me with: " + clause + ", isRoot=" +
(getQuery().getRootClause() == clause));
+ super.visitImpl(clause);
+ addMedium(clause);
+ }
+
+ @Override
+ protected void visitImpl(final DefaultOperatorClause clause) {
+ LOG.debug("Visited me with: " + clause + ", isRoot=" +
(getQuery().getRootClause() == clause));
+ super.visitImpl(clause);
+ addMedium(clause);
+ }
+
+ @Override
+ protected void visitImpl(final NotClause clause) {
+ LOG.debug("Visited me with: " + clause + ", isRoot=" +
(getQuery().getRootClause() == clause));
+ super.visitImpl(clause);
+ addMedium(clause);
+ }
+
+ @Override
+ protected void visitImpl(final AndNotClause clause) {
+ LOG.debug("Visited me with: " + clause + ", isRoot=" +
(getQuery().getRootClause() == clause));
+ super.visitImpl(clause);
+ addMedium(clause);
+ }
+
+ @Override
+ public NewsEspSearchConfiguration getSearchConfiguration() {
+ return (NewsEspSearchConfiguration) super.getSearchConfiguration();
+ }
+}
Modified:
trunk/search-command-config-spi/src/main/java/no/schibstedsok/searchportal/mode/config/ClusteringESPFastConfiguration.java
===================================================================
---
trunk/search-command-config-spi/src/main/java/no/schibstedsok/searchportal/mode/config/ClusteringESPFastConfiguration.java
2007-04-25 15:11:17 UTC (rev 4882)
+++
trunk/search-command-config-spi/src/main/java/no/schibstedsok/searchportal/mode/config/ClusteringESPFastConfiguration.java
2007-04-25 20:57:20 UTC (rev 4883)
@@ -8,7 +8,7 @@
* @version $Id$
*/
@Controller("ClusteringESPFastCommand")
-public class ClusteringESPFastConfiguration extends
NavigatableESPFastConfiguration {
+public class ClusteringESPFastConfiguration extends NewsEspSearchConfiguration
{
private String clusterIdParameter = "clusterId";
private int resultsPerCluster;
Added:
trunk/search-command-config-spi/src/main/java/no/schibstedsok/searchportal/mode/config/NewsEspSearchConfiguration.java
===================================================================
---
trunk/search-command-config-spi/src/main/java/no/schibstedsok/searchportal/mode/config/NewsEspSearchConfiguration.java
(rev 0)
+++
trunk/search-command-config-spi/src/main/java/no/schibstedsok/searchportal/mode/config/NewsEspSearchConfiguration.java
2007-04-25 20:57:20 UTC (rev 4883)
@@ -0,0 +1,46 @@
+package no.schibstedsok.searchportal.mode.config;
+
+import
no.schibstedsok.searchportal.mode.config.AbstractSearchConfiguration.Controller;
+
[EMAIL PROTECTED]("NewsEspSearchCommand")
+public class NewsEspSearchConfiguration extends
NavigatableESPFastConfiguration {
+ public static final String ALL_MEDIUMS = "all";
+ private String mediumPrefix = "medium";
+ private String defaultMedium = "webnewsarticle";
+ private String mediumParameter = "medium";
+
+
+ public NewsEspSearchConfiguration(final SearchConfiguration asc) {
+ super(asc);
+ if (asc instanceof NewsEspSearchConfiguration) {
+ final NewsEspSearchConfiguration nesc =
(NewsEspSearchConfiguration) asc;
+ mediumPrefix = nesc.getMediumPrefix();
+ defaultMedium = nesc.getDefaultMedium();
+ mediumParameter = nesc.getMediumParameter();
+ }
+ }
+
+ public String getMediumPrefix() {
+ return mediumPrefix;
+ }
+
+ public void setMediumPrefix(String mediumPrefix) {
+ this.mediumPrefix = mediumPrefix;
+ }
+
+ public String getDefaultMedium() {
+ return defaultMedium;
+ }
+
+ public void setDefaultMedium(String defaultMedium) {
+ this.defaultMedium = defaultMedium;
+ }
+
+ public String getMediumParameter() {
+ return mediumParameter;
+ }
+
+ public void setMediumParameter(String mediumParameter) {
+ this.mediumParameter = mediumParameter;
+ }
+}
_______________________________________________
Kernel-commits mailing list
[email protected]
http://sesat.no/mailman/listinfo/kernel-commits