Author: ssanbern
Date: 2007-01-22 12:40:50 +0100 (Mon, 22 Jan 2007)
New Revision: 4357
Modified:
trunk/core-api/src/main/java/no/schibstedsok/searchportal/mode/command/BlocketSearchCommand.java
Log:
clean up
Modified:
trunk/core-api/src/main/java/no/schibstedsok/searchportal/mode/command/BlocketSearchCommand.java
===================================================================
---
trunk/core-api/src/main/java/no/schibstedsok/searchportal/mode/command/BlocketSearchCommand.java
2007-01-22 11:29:45 UTC (rev 4356)
+++
trunk/core-api/src/main/java/no/schibstedsok/searchportal/mode/command/BlocketSearchCommand.java
2007-01-22 11:40:50 UTC (rev 4357)
@@ -18,8 +18,7 @@
import se.blocket.www2.search.SearchPortType;
import no.schibstedsok.searchportal.InfrastructureException;
import no.schibstedsok.searchportal.mode.config.BlocketSearchConfiguration;
-import no.schibstedsok.searchportal.query.token.TokenEvaluationEngine;
-import no.schibstedsok.searchportal.query.token.TokenPredicate;
+
import no.schibstedsok.searchportal.result.BasicSearchResult;
import no.schibstedsok.searchportal.result.SearchResult;
@@ -30,6 +29,8 @@
private static final String ERR_FAILED_BLOCKET_SEARCH = "Failed Blocket
search command";
+ private static final String ERR_FAILED_ENCODE_BLOCKET = "Failed to
encode Blocket search query";
+
public BlocketSearchCommand(final Context cxt,
final Map<String, Object> parameters) {
super(cxt, parameters);
@@ -38,68 +39,67 @@
@Override
public SearchResult execute() {
- final TokenEvaluationEngine engine =
context.getTokenEvaluationEngine();
-
BlocketSearchConfiguration bsc = (BlocketSearchConfiguration)
context
.getSearchConfiguration();
- Map m = bsc.getBlocketMap();
-
final SearchLocator service = new SearchLocator();
-
final SearchResult result = new BasicSearchResult(this);
try {
- final SearchPortType port = service
- .getsearchPort(new java.net.URL(service
-
.getsearchPortAddress()));
+ final SearchPortType port = service.getsearchPort(new
java.net.URL(
+ service.getsearchPortAddress()));
+
String query = getTransformedQuery();
+ /*Trimmar frågan så den har samma format som i
blocket.properties,
+ dvs inga å ä ö eller mellanslag*/
+ String trimQ = StringUtils.deleteWhitespace(query);
+ String trimQ1 = StringUtils.replace(trimQ, "å", "a");
+ String trimQ2 = StringUtils.replace(trimQ1, "ä", "a");
+ String trimQ3 = StringUtils.replace(trimQ2, "ö", "o");
+ /*Innhåller kategorimappningar för blocket*/
+ Map top100BlocketMap = bsc.getBlocketMap();
+ String categoryIndex = (String)
top100BlocketMap.get(trimQ3);
+ /*Svars parametrar ifrån blocket*/
LongHolder lholder = new LongHolder();
StringHolder sholder = new StringHolder();
- String trimQ = StringUtils.deleteWhitespace(query);
-
- String trimQ1 =StringUtils.replace(trimQ, "å", "a");
- String trimQ2 =StringUtils.replace(trimQ1, "ä", "a");
- String trimQ3 =StringUtils.replace(trimQ2, "ö", "o");
-
- String categoryIndex = (String) m.get(trimQ3);
-
-
+
LOG.debug("Executing blocket search command with
searchquery: "
+ query);
+
if (categoryIndex != null) {
- port.search(query,
Integer.parseInt(categoryIndex),
- lholder, sholder);
+ port.search(query,
Integer.parseInt(categoryIndex), lholder,
+ sholder);
}
String nads = Long.toString(lholder.value);
- if((nads!=null)&&(!nads.equalsIgnoreCase("0")))
- {
+ if ((nads != null) && (!nads.equalsIgnoreCase("0"))) {
+
result.addField("searchquery", query);
result.addField("numberofads", nads);
- result.addField("blocketbackurl",
sholder.value);
+ String blocketBackURL =
URLEncoder.encode(sholder.value,
+ "iso-8859-1");
+ result.addField("blocketbackurl",
blocketBackURL);
result.setHitCount(Integer.parseInt(nads));
}
- } catch (ServiceException se) {
- LOG.error(ERR_FAILED_BLOCKET_SEARCH, se);
- throw new InfrastructureException(se);
- } catch (MalformedURLException murle) {
- LOG.error(ERR_FAILED_BLOCKET_SEARCH, murle);
- throw new InfrastructureException(murle);
- } catch (RemoteException re) {
- LOG.error(ERR_FAILED_BLOCKET_SEARCH, re);
- throw new InfrastructureException(re);
- }
-
+ }
+ catch (ServiceException se) {
+ LOG.error(ERR_FAILED_BLOCKET_SEARCH, se);
+ throw new InfrastructureException(se);
+ } catch (MalformedURLException murle) {
+ LOG.error(ERR_FAILED_BLOCKET_SEARCH, murle);
+ throw new InfrastructureException(murle);
+ } catch (RemoteException re) {
+ LOG.error(ERR_FAILED_BLOCKET_SEARCH, re);
+ throw new InfrastructureException(re);
+ } catch (UnsupportedEncodingException usee) {
+ LOG.error(ERR_FAILED_ENCODE_BLOCKET, usee);
+ }
-
return result;
-
}
-
}
_______________________________________________
Kernel-commits mailing list
[email protected]
http://sesat.no/mailman/listinfo/kernel-commits