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
