Author: ssanbern
Date: 2006-11-28 15:52:23 +0100 (Tue, 28 Nov 2006)
New Revision: 4042

Modified:
   
trunk/core-api/src/main/java/no/schibstedsok/searchportal/mode/command/PrisjaktSearchCommand.java
Log:


Modified: 
trunk/core-api/src/main/java/no/schibstedsok/searchportal/mode/command/PrisjaktSearchCommand.java
===================================================================
--- 
trunk/core-api/src/main/java/no/schibstedsok/searchportal/mode/command/PrisjaktSearchCommand.java
   2006-11-28 14:24:46 UTC (rev 4041)
+++ 
trunk/core-api/src/main/java/no/schibstedsok/searchportal/mode/command/PrisjaktSearchCommand.java
   2006-11-28 14:52:23 UTC (rev 4042)
@@ -27,7 +27,6 @@
 public class PrisjaktSearchCommand extends AbstractSearchCommand {
 
     private static final String SOAP_ENDPOINT = 
"http://www.prisjakt.nu/sesam/soap.php";;
-
     private static final Logger LOG = 
Logger.getLogger(OverturePPCSearchCommand.class);
 
 
@@ -49,13 +48,15 @@
 
         LOG.debug("Executing");
 
-        try {
+        try 
+        {
 
             final PrisjaktPortType port = service.getPrisjaktPort(new 
java.net.URL(SOAP_ENDPOINT));
-
             final Resultat prisjaktResult= port.getData(getTransformedQuery());
+            
             String query = getTransformedQuery();
             result.addField("searchquery", query);
+            
             Produkt[] products = prisjaktResult.getProdukter();
             Butik[] butiker = prisjaktResult.getButiker();
             Kategori[] kategorier = prisjaktResult.getKategorier();
@@ -64,25 +65,43 @@
             /*
              * FIXME: Ta bort hårdkodningen för söktyp
              */
+            
+            
             result.addField("searchtype", "productsearch");
+            //result.addField("searchtype", "storesearch");
+            //result.addField("searchtype", "categorysearch");
             
             LOG.debug("Number of results " + result.getHitCount());
             
             /*
              * FIXME: Ta bort hårdkodning för söktyp
              */
-            if(products!=null)
+            
+            if((products!=null) && 
(result.getField("searchtype")=="productsearch"))
             {
                productConverter(result, products);
             }
+            if(kategorier!=null && 
(result.getField("searchtype")=="categorysearch"))
+            {
+               catagorieConverter(result, kategorier);
+            }
+            if(butiker!=null && (result.getField("searchtype")=="storesearch"))
+            {
+               storeConverter(result, butiker);
+            }
             
-
             return result;
-        } catch (ServiceException e) {
+        }
+        catch (ServiceException e) 
+        {
             throw new InfrastructureException(e);
-        } catch (MalformedURLException e) {
+        } 
+        catch (MalformedURLException e) 
+        {
             throw new InfrastructureException(e);
-        } catch (RemoteException e) {
+        } 
+        catch (RemoteException e) 
+        {
             throw new InfrastructureException(e);
         }
     }
@@ -93,17 +112,40 @@
        for (final Produkt product : products) {
             final SearchResultItem item = new BasicSearchResultItem();
             item.addField("productName", product.getProduktnamn());
-            item.addField("categorieName", product.getKategorinamn());
             item.addField("lowestPrice", 
Integer.toString(product.getLagstaPris()));
             item.addField("numberofStores", 
Integer.toString(product.getAntalButiker()));
             /* &st=4 tillägget gör att vi får en liten bild ifrån prisjakt*/
             item.addField("pruductPicture", product.getBild()+"&st=4");
             item.addField("categorieURL", product.getKategoriurl());
             item.addField("pruductURL", product.getUrl());
+            item.addField("categorieName", product.getKategorinamn());
+            
             result.addResult(item);
         }
     }
     
+    private void catagorieConverter(SearchResult result, Kategori [] 
kategorier)
+    {
+       for (final Kategori katag : kategorier) {
+            final SearchResultItem item = new BasicSearchResultItem();
+            item.addField("numberofProducts", 
Integer.toString(katag.getAntalProdukter()));
+            item.addField("categorieURL", katag.getUrl());
+            item.addField("categorieName", katag.getKategorinamn());
+            
+            result.addResult(item);
+        }
+    }
     
-
+    private void storeConverter(SearchResult result, Butik [] stores)
+    {
+       for (final Butik store : stores) {
+            final SearchResultItem item = new BasicSearchResultItem();
+            item.addField("numberofProducts", 
Integer.toString(store.getAntalProdukter()));
+            item.addField("storeURL", store.getUrl());
+            item.addField("storeName", store.getButiksnamn());
+            
+            result.addResult(item);
+        }
+    }
+    
 }

_______________________________________________
Kernel-commits mailing list
[email protected]
http://sesat.no/mailman/listinfo/kernel-commits

Reply via email to