Code Search for Developers
 
 
  

DelegatingSessionProcessor.java from Tea Stats at Krugle


Show DelegatingSessionProcessor.java syntax highlighted

package net.time4tea.webstats.process;

import net.time4tea.webstats.session.Session;
import net.time4tea.webstats.util.Bug;
import org.apache.log4j.Logger;

import java.util.ArrayList;
import java.util.List;

/**
 * Originally richja 14-Jan-2007
 */
public class DelegatingSessionProcessor implements Processor<Session> {

    List<Processor<Session>> visitors = new ArrayList<Processor<Session>>();
    private Logger log = Logger.getLogger(DelegatingSessionProcessor.class);

    public DelegatingSessionProcessor() {
    }

    public DelegatingSessionProcessor(List<Processor<Session>> visitors) {
        this.visitors = visitors;
    }

    public void then(Processor<Session> processor) {
        visitors.add(processor);
    }

    public boolean process(Session session) {
        try {
            boolean shouldContinue = true;
            for (Processor<Session> sessionProcessor : visitors) {
                shouldContinue &= sessionProcessor.process(session);
                if (!shouldContinue) {
                    log.debug("Early exit from " + sessionProcessor + " for " + session);
                    return true;
                }
            }
            return true;
        }
        catch (Exception e) {
            throw new Bug("Unexpected exception", e);
        }
    }
}




See more files for this project here

Tea Stats

Web log analyzer... Written in OO Perl, provides the usual host / page analysis. Can also do site graphing using graphviz, browser, os, worm and search engine identification, and country and session tracking.

Project homepage: http://sourceforge.net/projects/teastats
Programming language(s): Java
License: other

  DelegatingSessionProcessor.java
  Processor.java
  ProcessorTimer.java