Author: daniele
Date: 2007-02-09 15:25:52 +0100 (Fri, 09 Feb 2007)
New Revision: 4425

Modified:
   trunk/core-api/pom.xml
   
trunk/core-api/src/main/java/no/schibstedsok/searchportal/result/ProductResultItem.java
   
trunk/core-api/src/main/java/no/schibstedsok/searchportal/result/ProductSearchResultItem.java
   
trunk/core-api/src/main/java/no/schibstedsok/searchportal/result/handler/CatalogueResultHandler.java
   trunk/war/pom.xml
Log:
ejb client communication, and functionality for populating result objects from 
alfa objects.

Modified: trunk/core-api/pom.xml
===================================================================
--- trunk/core-api/pom.xml      2007-02-09 14:02:35 UTC (rev 4424)
+++ trunk/core-api/pom.xml      2007-02-09 14:25:52 UTC (rev 4425)
@@ -155,6 +155,42 @@
             <groupId>jep</groupId>
             <artifactId>jep</artifactId>
         </dependency>
+
+      <dependency>
+        <groupId>org.jboss</groupId>
+        <artifactId>jbossall-client</artifactId>
+        <type>jar</type>
+        <version>4.0.5</version>
+      </dependency>
+      
+      <dependency>
+        <groupId>org.jboss</groupId>
+        <artifactId>jboss-ejb3-client</artifactId>
+        <type>jar</type>
+        <version>RC9</version>
+      </dependency>
+      
+      <dependency>
+        <groupId>org.jboss</groupId>
+        <artifactId>jboss-aspect-jdk50-client</artifactId>
+        <type>jar</type>
+        <version>4.0.5</version>
+      </dependency>
+      
+      <dependency>
+        <groupId>org.jboss</groupId>
+        <artifactId>jboss-aop-jdk50-client</artifactId>
+        <type>jar</type>
+        <version>4.0.5</version>
+      </dependency>       
+      
+      <dependency>
+        <groupId>no.schibstedsok.alfa</groupId>
+        <artifactId>alfa-remote</artifactId>
+        <type>ejb-client</type>
+        <version>1.0-SNAPSHOT</version>
+      </dependency>         
+                
         <!-- Testin -->
         <dependency>
             <groupId>schibstedsok</groupId>

Modified: 
trunk/core-api/src/main/java/no/schibstedsok/searchportal/result/ProductResultItem.java
===================================================================
--- 
trunk/core-api/src/main/java/no/schibstedsok/searchportal/result/ProductResultItem.java
     2007-02-09 14:02:35 UTC (rev 4424)
+++ 
trunk/core-api/src/main/java/no/schibstedsok/searchportal/result/ProductResultItem.java
     2007-02-09 14:25:52 UTC (rev 4425)
@@ -1,11 +1,19 @@
 package no.schibstedsok.searchportal.result;
 
 import java.util.Collection;
+import java.util.HashMap;
 
 public interface ProductResultItem {
 
        void addField(String field, String value);
-    String getField(String field);
-    public Collection getMultivaluedField(final String field);
-    public void addToMultivaluedField(final String field, final String value);
+
+       String getField(String field);
+
+       HashMap getFields();
+
+       void setFields(HashMap map);
+
+       public Collection getMultivaluedField(final String field);
+
+       public void addToMultivaluedField(final String field, final String 
value);
 }

Modified: 
trunk/core-api/src/main/java/no/schibstedsok/searchportal/result/ProductSearchResultItem.java
===================================================================
--- 
trunk/core-api/src/main/java/no/schibstedsok/searchportal/result/ProductSearchResultItem.java
       2007-02-09 14:02:35 UTC (rev 4424)
+++ 
trunk/core-api/src/main/java/no/schibstedsok/searchportal/result/ProductSearchResultItem.java
       2007-02-09 14:25:52 UTC (rev 4425)
@@ -79,4 +79,12 @@
         return super.hashCode();
     }
 
+       public HashMap getFields() {
+               return fields;
+       }
+
+       public void setFields(HashMap fields) {
+               this.fields = fields;
+       }
+
 }

Modified: 
trunk/core-api/src/main/java/no/schibstedsok/searchportal/result/handler/CatalogueResultHandler.java
===================================================================
--- 
trunk/core-api/src/main/java/no/schibstedsok/searchportal/result/handler/CatalogueResultHandler.java
        2007-02-09 14:02:35 UTC (rev 4424)
+++ 
trunk/core-api/src/main/java/no/schibstedsok/searchportal/result/handler/CatalogueResultHandler.java
        2007-02-09 14:25:52 UTC (rev 4425)
@@ -2,8 +2,17 @@
 package no.schibstedsok.searchportal.result.handler;
 
 import java.util.Map;
+import java.util.Properties;
 
+import javax.naming.InitialContext;
+
+import no.schibstedsok.alfa.external.service.CompanyService;
 import no.schibstedsok.commons.ioc.ContextWrapper;
+import no.schibstedsok.searchportal.result.CatalogueSearchResultItem;
+import no.schibstedsok.searchportal.result.ProductResultItem;
+import no.schibstedsok.searchportal.result.ProductSearchResult;
+import no.schibstedsok.searchportal.result.ProductSearchResultItem;
+import no.schibstedsok.searchportal.result.SearchResult;
 import no.schibstedsok.searchportal.site.config.SiteConfiguration;
 
 import org.apache.log4j.Logger;
@@ -24,11 +33,13 @@
        private static final Logger LOG = Logger
                        .getLogger(CatalogueResultHandler.class);
 
-
        /**
         * Handle the search result.
-        * @param cxt the context in which the resulthandler is executed in.
-        * @param parameters sent to the resulthandler.
+        * 
+        * @param cxt
+        *            the context in which the resulthandler is executed in.
+        * @param parameters
+        *            sent to the resulthandler.
         */
        public void handleResult(final Context cxt, final Map parameters) {
                LOG.info("Starter Catalogue ResultHandler.");
@@ -36,6 +47,70 @@
                final SiteConfiguration siteConf = SiteConfiguration
                                
.valueOf(ContextWrapper.wrap(SiteConfiguration.Context.class,
                                                cxt));
-       
+
+               String url = (String) siteConf.getProperties().get(
+                               "alfa_remote_service_url");
+               String jndi = (String) siteConf.getProperties().get(
+                               "alfa_remote_service_jndi_name");
+
+               SearchResult searchResult = cxt.getSearchResult();
+
+               if (searchResult.getResults().iterator().hasNext()) {
+
+                       CatalogueSearchResultItem cat = 
(CatalogueSearchResultItem) searchResult
+                                       .getResults().get(0);
+
+                       String sCompanyId = cat.getField("iypcompanyid");
+                       int intCompanyId = -1;
+
+                       intCompanyId = Integer.valueOf(sCompanyId);
+
+                       // kall sl-bean i salesadmin with company id parameter.
+                       try {
+                               Properties properties = new Properties();
+                               properties.put("java.naming.factory.initial",
+                                               
"org.jnp.interfaces.NamingContextFactory");
+                               properties.put("java.naming.factory.url.pkgs",
+                                               
"org.jboss.naming:org.jnp.interfaces");
+                               properties.put("java.naming.provider.url", url);
+
+                               InitialContext ctx = new 
InitialContext(properties);
+                               CompanyService service = (CompanyService) 
ctx.lookup(jndi);
+                               
no.schibstedsok.alfa.external.dto.ProductSearchResult eksternt = 
(no.schibstedsok.alfa.external.dto.ProductSearchResult) service
+                                               
.getProductDataForCompany(intCompanyId);
+
+                               
+                               /**
+                                * Hent ut alle produkter som er lagt inn på 
infosiden.
+                                * 
+                                */
+                               ProductSearchResult internalResult = new 
ProductSearchResult();
+                               if (eksternt.hasInfoPageProducts()) {
+                                       for 
(no.schibstedsok.alfa.external.dto.ProductResultItem prodItem : eksternt
+                                                       .getInfoPageProducts()) 
{
+                                               ProductResultItem item = new 
ProductSearchResultItem();
+                                               
item.setFields(prodItem.getFields());
+                                       }
+                               }
+
+                               /**
+                                * Hent ut alle produkter som er lagt inn på 
søkeresultatet.
+                                * 
+                                */
+                               if (eksternt.hasListingProducts()) {
+                                       for 
(no.schibstedsok.alfa.external.dto.ProductResultItem prodItem : eksternt
+                                                       .getListingProducts()) {
+                                               ProductResultItem item = new 
ProductSearchResultItem();
+                                               
item.setFields(prodItem.getFields());
+                                       }
+                               }
+
+                               cat.addProducts(internalResult);
+
+                       } catch (Exception e) {
+                               System.out.print(e);
+                               e.printStackTrace();
+                       }
+               }
        }
 }

Modified: trunk/war/pom.xml
===================================================================
--- trunk/war/pom.xml   2007-02-09 14:02:35 UTC (rev 4424)
+++ trunk/war/pom.xml   2007-02-09 14:25:52 UTC (rev 4425)
@@ -136,10 +136,11 @@
             <groupId>axis</groupId>
             <artifactId>axis-jaxrpc</artifactId>
         </dependency>
-        <dependency>
+       <dependency>
             <groupId>axis</groupId>
             <artifactId>axis-saaj</artifactId>
         </dependency>
+
     </dependencies> 
     <profiles>
         <profile>

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

Reply via email to