Author: ssmiweve
Date: 2007-06-15 20:52:06 +0200 (Fri, 15 Jun 2007)
New Revision: 5338

Added:
   
trunk/war/src/main/java/no/schibstedsok/searchportal/http/servlet/BoomerangServlet.java
Removed:
   
trunk/war/src/main/java/no/schibstedsok/searchportal/http/servlet/RetrieverLogServlet.java
Modified:
   
trunk/result-spi/src/main/java/no/schibstedsok/searchportal/result/Navigator.java
   trunk/war/src/webapp/WEB-INF/web.xml
Log:
SEARCH-2268 - General javascript-utility for logging use of client-side 
functionality (Boomerang Servlet)


Modified: 
trunk/result-spi/src/main/java/no/schibstedsok/searchportal/result/Navigator.java
===================================================================
--- 
trunk/result-spi/src/main/java/no/schibstedsok/searchportal/result/Navigator.java
   2007-06-15 13:30:39 UTC (rev 5337)
+++ 
trunk/result-spi/src/main/java/no/schibstedsok/searchportal/result/Navigator.java
   2007-06-15 18:52:06 UTC (rev 5338)
@@ -3,8 +3,8 @@
 
 import java.io.Serializable;
 
-/**
- * @deprecated Geir's navigation model is the replacement.
+/** Configuration within a CommandConfig used for manipulating the command's 
navigation results.
+ * 
  * @author <a href="mailto:[EMAIL PROTECTED]">Magnus Eklund</a>
  * @version <tt>$Revision: 3361 $</tt>
  */

Copied: 
trunk/war/src/main/java/no/schibstedsok/searchportal/http/servlet/BoomerangServlet.java
 (from rev 5334, 
trunk/war/src/main/java/no/schibstedsok/searchportal/http/servlet/RetrieverLogServlet.java)
===================================================================
--- 
trunk/war/src/main/java/no/schibstedsok/searchportal/http/servlet/BoomerangServlet.java
                             (rev 0)
+++ 
trunk/war/src/main/java/no/schibstedsok/searchportal/http/servlet/BoomerangServlet.java
     2007-06-15 18:52:06 UTC (rev 5338)
@@ -0,0 +1,96 @@
+// Copyright (2006-2007) Schibsted Søk AS
+package no.schibstedsok.searchportal.http.servlet;
+
+import javax.servlet.http.HttpServlet;
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
+import javax.servlet.ServletException;
+import java.io.IOException;
+import java.net.URLEncoder;
+import java.util.ArrayList;
+import java.util.Collections;
+import java.util.List;
+import java.util.Map;
+import no.schibstedsok.searchportal.datamodel.DataModel;
+import no.schibstedsok.searchportal.datamodel.generic.StringDataObject;
+import no.schibstedsok.searchportal.datamodel.request.ParametersDataObject;
+import org.apache.commons.lang.StringEscapeUtils;
+import org.apache.log4j.Logger;
+
+/**
+ * Logs different statistics with ajax
+ *
+ * @author <a href="mailto:[EMAIL PROTECTED]">Thomas Kjaerstad</a>
+ * @author <a href="mailto:[EMAIL PROTECTED]">Mck</a>
+ * @version <tt>$Id: 3361 $</tt>
+ *
+ */
+public final class BoomerangServlet extends HttpServlet {
+
+    private static final Logger LOG = Logger.getLogger(BoomerangServlet.class);
+    //private static final Logger STATS = 
Logger.getLogger("no.schibstedsok.Statistics");
+    private static final Logger ACCESS = 
Logger.getLogger("no.schibstedsok.Access");
+
+    private static final String CEREMONIAL = "/boomerang";
+
+    @Override
+    public void destroy() {  }
+    
+    @Override
+    public void init() {  }
+
+    @Override
+    protected void doGet(final HttpServletRequest req, final 
HttpServletResponse res) 
+            throws ServletException, IOException {
+        
+        //final String paper = parametersDO.getValue("paper").getXmlEscaped();
+        //
+        //// news statistics is treated as before until Bernt is ready to 
adapt to new format
+        //if (paper != null) {
+        //    STATS.info("<retriever-info name=\"papiraviser - " + paper + 
"\"/><!-- use boomerang instead -->");
+        //} else {
+        //    STATS.info(
+        //            "<view-info>"
+        //            + "<collection>" + req.getParameter("c") + 
"</collection>"
+        //            + "<type>" + 
StringEscapeUtils.escapeXml(req.getParameter("type")) + "</type>"
+        //            + "<query>" + 
StringEscapeUtils.escapeXml(req.getParameter("q")) + "</query>"
+        //            + "<name>" + URLEncoder.encode(req.getParameter("name"), 
"utf-8") + "</name>"
+        //            + (null != req.getParameter("pos") ? "<position>" + 
req.getParameter("pos") + "</position>" : "")
+        //            + "</view-info><!-- use boomerang instead -->");
+        //}
+                
+        // clients must not cache these requests
+        res.setHeader("Cache-Control", "no-cache, must-revalidate, 
post-check=0, pre-check=0");
+        res.setHeader("Pragma", "no-cache"); // for old browsers
+        res.setDateHeader("Expires", 0); // to be double-safe
+        
+        if(req.getServletPath().startsWith(CEREMONIAL)){
+            
+            // ceremonial boomerang
+            final StringBuffer url = req.getRequestURL();
+            if(null != req.getQueryString()){
+                url.append('?' + req.getQueryString());
+            }
+            final String destination = url.substring(url.indexOf(CEREMONIAL) + 
CEREMONIAL.length() + 1);
+            LOG.debug("Ceremonial boomerang to " + destination.toString());
+            res.sendRedirect(destination.toString());
+            
+        }else{
+            
+            // hunting boomerang
+            final DataModel datamodel = (DataModel) 
req.getSession().getAttribute(DataModel.KEY);
+            final ParametersDataObject parametersDO = 
datamodel.getParameters();
+            final List<String> paramKeys = new 
ArrayList<String>(parametersDO.getValues().keySet());
+            
+            Collections.sort(paramKeys);
+
+            final StringBuilder bob = new StringBuilder("<boomerang>");
+            for(String key : paramKeys){
+                bob.append('<' + key + '>' + 
parametersDO.getValue(key).getXmlEscaped() + "</" + key + '>');
+            }
+            bob.append("</boomerang>");
+            ACCESS.info(bob.toString());
+        }
+
+    }
+}

Deleted: 
trunk/war/src/main/java/no/schibstedsok/searchportal/http/servlet/RetrieverLogServlet.java
===================================================================
--- 
trunk/war/src/main/java/no/schibstedsok/searchportal/http/servlet/RetrieverLogServlet.java
  2007-06-15 13:30:39 UTC (rev 5337)
+++ 
trunk/war/src/main/java/no/schibstedsok/searchportal/http/servlet/RetrieverLogServlet.java
  2007-06-15 18:52:06 UTC (rev 5338)
@@ -1,80 +0,0 @@
-// Copyright (2006-2007) Schibsted Søk AS
-package no.schibstedsok.searchportal.http.servlet;
-
-import javax.servlet.http.HttpServlet;
-import javax.servlet.http.HttpServletRequest;
-import javax.servlet.http.HttpServletResponse;
-import javax.servlet.ServletException;
-import java.io.IOException;
-import java.net.URLEncoder;
-import java.util.ArrayList;
-import java.util.Collections;
-import java.util.List;
-import java.util.Map;
-import no.schibstedsok.searchportal.datamodel.DataModel;
-import no.schibstedsok.searchportal.datamodel.generic.StringDataObject;
-import no.schibstedsok.searchportal.datamodel.request.ParametersDataObject;
-import org.apache.commons.lang.StringEscapeUtils;
-import org.apache.log4j.Logger;
-
-/**
- * Logs different statistics with ajax
- * XXX Rename to BoomerangServlet
- *
- * @author <a href="mailto:[EMAIL PROTECTED]">Thomas Kjaerstad</a>.
- * @version <tt>$Id: 3361 $</tt>
- *
- */
-public final class RetrieverLogServlet extends HttpServlet {
-
-    private static final Logger LOG = 
Logger.getLogger("no.schibstedsok.Statistics");
-    private static final Logger ACCESS = 
Logger.getLogger("no.schibstedsok.Access");
-
-
-    @Override
-    public void destroy() {  }
-    
-    @Override
-    public void init() {  }
-
-    @Override
-    protected void doGet(final HttpServletRequest req, final 
HttpServletResponse res) 
-            throws ServletException, IOException {
-        
-        final DataModel datamodel = (DataModel) 
req.getSession().getAttribute(DataModel.KEY);
-        final ParametersDataObject parametersDO = datamodel.getParameters();
-
-        final String paper = parametersDO.getValue("paper").getXmlEscaped();
-
-        // news statistics is treated as before until Bernt is ready to adapt 
to new format
-        if (paper != null) {
-            LOG.info("<retriever-info name=\"papiraviser - " + paper + 
"\"/><!-- use boomerang instead -->");
-        } else {
-            LOG.info(
-                    "<view-info>"
-                    + "<collection>" + req.getParameter("c") + "</collection>"
-                    + "<type>" + 
StringEscapeUtils.escapeXml(req.getParameter("type")) + "</type>"
-                    + "<query>" + 
StringEscapeUtils.escapeXml(req.getParameter("q")) + "</query>"
-                    + "<name>" + URLEncoder.encode(req.getParameter("name"), 
"utf-8") + "</name>"
-                    + (null != req.getParameter("pos") ? "<position>" + 
req.getParameter("pos") + "</position>" : "")
-                    + "</view-info><!-- use boomerang instead -->");
-        }
-        
-        // the new format
-        final List<String> paramKeys = new 
ArrayList<String>(parametersDO.getValues().keySet());
-        Collections.sort(paramKeys);
-        
-        final StringBuilder bob = new StringBuilder("<boomerang>");
-        for(String key : paramKeys){
-            bob.append('<' + key + '>' + 
parametersDO.getValue(key).getXmlEscaped() + "</" + key + '>');
-        }
-        bob.append("</boomerang>");
-        ACCESS.info(bob.toString());
-        
-        // clients must not cache these requests
-        res.setHeader("Cache-Control", "no-cache, must-revalidate, 
post-check=0, pre-check=0");
-        res.setHeader("Pragma", "no-cache"); // for old browsers
-        res.setDateHeader("Expires", 0); // to be double-safe
-
-    }
-}

Modified: trunk/war/src/webapp/WEB-INF/web.xml
===================================================================
--- trunk/war/src/webapp/WEB-INF/web.xml        2007-06-15 13:30:39 UTC (rev 
5337)
+++ trunk/war/src/webapp/WEB-INF/web.xml        2007-06-15 18:52:06 UTC (rev 
5338)
@@ -149,8 +149,8 @@
     </servlet>
 
     <servlet>
-        <servlet-name>RetrieverLog</servlet-name>
-        
<servlet-class>no.schibstedsok.searchportal.http.servlet.RetrieverLogServlet</servlet-class>
+        <servlet-name>Boomerang</servlet-name>
+        
<servlet-class>no.schibstedsok.searchportal.http.servlet.BoomerangServlet</servlet-class>
     </servlet>
 
     <servlet>
@@ -180,7 +180,12 @@
     </servlet-mapping>
     
     <servlet-mapping>
-        <servlet-name>RetrieverLog</servlet-name>
+        <servlet-name>Boomerang</servlet-name>
+        <url-pattern>/boomerang/*</url-pattern>
+    </servlet-mapping>
+
+    <servlet-mapping>
+        <servlet-name>Boomerang</servlet-name>
         <url-pattern>/search/writeLog.do</url-pattern>
     </servlet-mapping>
 

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

Reply via email to