Author: ssmiweve
Date: 2007-06-04 16:26:09 +0200 (Mon, 04 Jun 2007)
New Revision: 5265

Modified:
   
branches/2.13/war/src/main/java/no/schibstedsok/searchportal/http/servlet/RetrieverLogServlet.java
Log:
SEARCH-2268 - General javascript-utility for logging use of client-side 
functionality

Modified: 
branches/2.13/war/src/main/java/no/schibstedsok/searchportal/http/servlet/RetrieverLogServlet.java
===================================================================
--- 
branches/2.13/war/src/main/java/no/schibstedsok/searchportal/http/servlet/RetrieverLogServlet.java
  2007-06-04 12:22:39 UTC (rev 5264)
+++ 
branches/2.13/war/src/main/java/no/schibstedsok/searchportal/http/servlet/RetrieverLogServlet.java
  2007-06-04 14:26:09 UTC (rev 5265)
@@ -7,11 +7,19 @@
 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>
@@ -20,20 +28,27 @@
 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 = req.getParameter("paper");
+        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=\""
-                    + StringEscapeUtils.escapeXml("papiraviser - " + 
req.getParameter("paper")) + "\"\\>");
+            LOG.info("<retriever-info name=\"papiraviser - " + paper + 
"\"/><!-- use boomerang instead -->");
         } else {
             LOG.info(
                     "<view-info>"
@@ -42,8 +57,20 @@
                     + "<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>");
+                    + "</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

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

Reply via email to