

import java.util.Vector;
import java.util.Enumeration;
import java.io.File;
import java.net.URL;
import javax.servlet.http.*;

import org.apache.tomcat.core.Request;
import org.apache.tomcat.core.FacadeManager;
import org.apache.tomcat.core.Context;
import org.apache.tomcat.core.ContextManager;
import org.apache.tomcat.util.RequestUtil;
import org.apache.tomcat.session.StandardManager;

public class LocalMon
{
    private ContextManager cm;
    private Request realRequest;
    private StandardManager _sessionMgr;

    public void init( HttpServletRequest request )
    {
	    FacadeManager facadeM=(FacadeManager)request.getAttribute( FacadeManager.FACADE_ATTRIBUTE);
        if (facadeM == null) {
            realRequest = null;
            cm = null;
            _sessionMgr = null;
            return;
        }
	    realRequest = facadeM.getRealRequest(request);
	    cm = realRequest.getContext().getContextManager();
        try
        {
            int manager_note = cm.getNoteId( ContextManager.CONTAINER_NOTE, "tomcat.standardManager" );
            _sessionMgr = (StandardManager)realRequest.getContext().getContainer().getNote(manager_note);
        }
        catch( Exception ignored )
        {
        }

    }

    public boolean initialized()
    {
        return ( cm != null );
    }

    public String getNumSessions()
    {
        return( String.valueOf( _sessionMgr.getSessions().size() ) );
    }
}