StatsCollector.java :  » App » ew-samples » com » sap » jod » test » util » Android Open Source

Android Open Source » App » ew samples 
ew samples » com » sap » jod » test » util » StatsCollector.java
package com.sap.jod.test.util;

import java.io.IOException;
import java.util.ArrayList;
import java.util.List;
import java.util.logging.Logger;

import javax.servlet.Filter;
import javax.servlet.FilterChain;
import javax.servlet.FilterConfig;
import javax.servlet.ServletException;
import javax.servlet.ServletRequest;
import javax.servlet.ServletResponse;

public class StatsCollector implements Filter {

  private static final Logger LOG = 
    Logger.getLogger(StatsCollector.class.getName());
  private Interceptor interceptor;

  @Override
  public void init(FilterConfig config)
  throws ServletException {
    interceptor = new Interceptor();
    interceptor.install();
  }

  @Override
  public void destroy() {
    interceptor.uninstall();
  }

  @Override
  public void doFilter(ServletRequest req,
      ServletResponse resp, FilterChain chain)
  throws IOException, ServletException {
    List<String> collectedData = new ArrayList<String>();
    try {
      interceptor.setCache(collectedData);
      chain.doFilter(req, resp);
    } finally {
      interceptor.setCache(null);
    }
    write(collectedData);
  }

  protected void write(List<String> stats) {
    StringBuilder sb = new StringBuilder("RPC calls:\n");
    for (String s: stats) sb.append(s).append("\n");

    LOG.info(sb.toString());
  }
}
java2s.com  | Contact Us | Privacy Policy
Copyright 2009 - 12 Demo Source and Support. All rights reserved.
All other trademarks are property of their respective owners.