Author: ssmalamb
Date: 2007-06-26 10:17:04 +0200 (Tue, 26 Jun 2007)
New Revision: 5427
Modified:
branches/2.14/core-api/src/main/java/no/schibstedsok/searchportal/mode/command/PrisjaktSearchCommand.java
Log:
Added null check
Modified:
branches/2.14/core-api/src/main/java/no/schibstedsok/searchportal/mode/command/PrisjaktSearchCommand.java
===================================================================
---
branches/2.14/core-api/src/main/java/no/schibstedsok/searchportal/mode/command/PrisjaktSearchCommand.java
2007-06-26 08:02:04 UTC (rev 5426)
+++
branches/2.14/core-api/src/main/java/no/schibstedsok/searchportal/mode/command/PrisjaktSearchCommand.java
2007-06-26 08:17:04 UTC (rev 5427)
@@ -35,8 +35,8 @@
private static final Logger LOG =
Logger.getLogger(PrisjaktSearchCommand.class);
- private static final String ERR_FAILED_PRISJAKT_SEARCH = "Failed Prisjakt
search command";
- private static final String ERR_FAILED_ENCODE_PRISJAKT = "Failed to encode
Prisjakt search query";
+// private static final String ERR_FAILED_PRISJAKT_SEARCH = "Failed
Prisjakt search command";
+// private static final String ERR_FAILED_ENCODE_PRISJAKT = "Failed to
encode Prisjakt search query";
/**
* Format för siffror utan decimaler med tusenavskiljare.
@@ -72,40 +72,39 @@
final String query = getTransformedQuery();
result.setHitCount(0);
try {
- LOG.debug("PJ: pre1");
port = service.getPrisjaktPort(new
java.net.URL(service.getPrisjaktPortAddress()));
- LOG.debug("PJ: pre2");
((Stub)port).setTimeout(1000);
- LOG.debug("PJ: pre3");
result.addField("urlEncodedsearchquery", URLEncoder.encode(query,
"iso-8859-1").replaceAll("\\+", "%20"));
result.addField("searchquery", query);
if (engine.evaluateQuery(TokenPredicate.PRISJAKT_PRODUCTS,
getQuery())) {
- LOG.debug("PJ: prod");
final Resultat prisjaktResult = port.getProduktViaNamn(query);
final Produkt[] products = prisjaktResult.getProdukter();
result.addField("searchtype", "productsearch");
- result.setHitCount(products.length);
+ result.setHitCount(products != null ? products.length : 0);
productConverter(result, products);
+// } else if
(engine.evaluateQuery(TokenPredicate.PRISJAKT_CATEGORIES_AND_MANUFACTURERS,
getQuery())) {
+// final IndataTillverkare_Kategorinamn itk = new
IndataTillverkare_Kategorinamn();
+// final Resultat prisjaktResult =
port.getTillverkare_KategoriViaNamn(itk);
+// final Tillverkare_Kategori[] tillverkareKategorier =
prisjaktResult.getTillverkare_Kategorier();
+// result.addField("searchtype", "manufacturer_categorysearch");
+// result.setHitCount(tillverkareKategorier != null ?
tillverkareKategorier.length : 0);
} else if
(engine.evaluateQuery(TokenPredicate.PRISJAKT_CATEGORIES, getQuery())) {
- LOG.debug("PJ: cat");
final Resultat prisjaktResult = port.getKategoriViaNamn(query);
final Kategori[] kategorier = prisjaktResult.getKategorier();
result.addField("searchtype", "categorysearch");
result.setHitCount(kategorier != null ? kategorier.length : 0);
categoryConverter(result, kategorier);
} else if
(engine.evaluateQuery(TokenPredicate.PRISJAKT_MANUFACTURERS, getQuery())) {
- LOG.debug("PJ: manufacturers");
final Resultat prisjaktResult =
port.getTillverkareViaNamn(query);
final Tillverkare[] manufacturers =
prisjaktResult.getTillverkare_plur();
result.addField("searchtype", "manufacturersearch");
- result.setHitCount(manufacturers.length);
+ result.setHitCount(manufacturers != null ?
manufacturers.length : 0);
manufacturerConverter(result, manufacturers);
} else if (engine.evaluateQuery(TokenPredicate.PRISJAKT_SHOPS,
getQuery())) {
- LOG.debug("PJ: shop");
final Resultat prisjaktResult = port.getButikViaNamn(query);
final Butik[] butiker = prisjaktResult.getButiker();
result.addField("searchtype", "storesearch");
- result.setHitCount(butiker.length);
+ result.setHitCount(butiker != null ? butiker.length : 0);
storeConverter(result, butiker);
}
} catch (MalformedURLException e) {
@@ -174,13 +173,14 @@
private void manufacturerConverter(ResultList<ResultItem> result,
Tillverkare[] manufacturers) {
- for (final Tillverkare manufacturer : manufacturers) {
-
- ResultItem item = new BasicResultList();
- item = item.addField("numberofProducts",
Integer.toString(manufacturer.getAntalProdukter()));
- item = item.addField("manufacturerURL", manufacturer.getUrl());
- item = item.addField("manufacturerName",
manufacturer.getTillverkarnamn());
- result.addResult(item);
+ if (manufacturers != null) {
+ for (final Tillverkare manufacturer : manufacturers) {
+ ResultItem item = new BasicResultList();
+ item = item.addField("numberofProducts",
Integer.toString(manufacturer.getAntalProdukter()));
+ item = item.addField("manufacturerURL", manufacturer.getUrl());
+ item = item.addField("manufacturerName",
manufacturer.getTillverkarnamn());
+ result.addResult(item);
+ }
}
}
_______________________________________________
Kernel-commits mailing list
[email protected]
http://sesat.no/mailman/listinfo/kernel-commits