org.apache.jetspeed.statistics.impl
Class PortalStatisticsImpl

java.lang.Object
  extended by org.springframework.dao.support.DaoSupport
      extended by org.springframework.orm.ojb.support.PersistenceBrokerDaoSupport
          extended by org.apache.jetspeed.statistics.impl.PortalStatisticsImpl
All Implemented Interfaces:
PortalStatistics, org.springframework.beans.factory.InitializingBean

public class PortalStatisticsImpl
extends org.springframework.orm.ojb.support.PersistenceBrokerDaoSupport
implements PortalStatistics

PortalStatisticsImpl

Version:
$Id: TestPortletEntityDAO.java,v 1.3 2005/05/24 14:43:19 ate Exp $
Author:
Chris Schaefer , David Sean Taylor

Field Summary
protected  int currentUserCount
           
protected  java.util.Map currentUsers
           
protected  javax.sql.DataSource ds
           
protected  java.text.SimpleDateFormat formatter
           
protected static org.apache.commons.logging.Log logger
           
protected static java.lang.String logoutLogFormat
           
protected  boolean logToCLF
           
protected  boolean logToDatabase
           
protected  int maxRecordToFlush_Page
           
protected  int maxRecordToFlush_Portlet
           
protected  int maxRecordToFlush_User
           
protected  long maxTimeMsToFlush_Page
           
protected  long maxTimeMsToFlush_Portlet
           
protected  long maxTimeMsToFlush_User
           
protected  BatchedStatistics pageBatch
           
protected static java.lang.String pageLogFormat
           
protected  BatchedStatistics portletBatch
           
protected static java.lang.String portletLogFormat
           
protected static int STATUS_LOGGED_IN
           
protected static int STATUS_LOGGED_OUT
           
protected  BatchedStatistics userBatch
           
 
Fields inherited from interface org.apache.jetspeed.statistics.PortalStatistics
HTTP_INTERNAL_ERROR, HTTP_NOT_FOUND, HTTP_OK, HTTP_UNAUTHORIZED, QUERY_TYPE_PAGE, QUERY_TYPE_PORTLET, QUERY_TYPE_USER
 
Constructor Summary
PortalStatisticsImpl(boolean logToCLF, boolean logToDatabase, int maxRecordToFlush_Portal, int maxRecordToFlush_User, int maxRecordToFlush_Page, long maxTimeMsToFlush_Portal, long maxTimeMsToFlush_User, long maxTimeMsToFlush_Page, javax.sql.DataSource dataSource)
           Default constructor.
 
Method Summary
 StatisticsQueryCriteria createStatisticsQueryCriteria()
          Factory to create new statistics query criteria
protected  java.lang.String floatFormatter(float f)
           
 void forceFlush()
          force the database loggers to flush out
 javax.sql.DataSource getDataSource()
           
 AggregateStatistics getDefaultEmptyAggregateStatistics()
          Factory to create new, empty, aggregate statistics object.
 java.util.List getListOfLoggedInUsers()
           
 int getNumberOfCurrentUsers()
           
 int getNumberOfLoggedInUsers()
           
protected  java.util.Date getStartDateFromPeriod(java.lang.String period, java.util.Date end)
           
 void logPageAccess(RequestContext request, java.lang.String statusCode, long msElapsedTime)
          Logs an access to a page.
 void logPortletAccess(RequestContext request, java.lang.String portletName, java.lang.String statusCode, long msElapsedTime)
          Logs an access to a portlet.
 void logUserLogin(RequestContext request, long msElapsedLoginTime)
          Logs a user logout event.
 void logUserLogout(java.lang.String ipAddress, java.lang.String userName, long msSessionLength)
          Logs a user logout event.
 AggregateStatistics queryStatistics(StatisticsQueryCriteria criteria)
           
protected  void saveAccessToCLF(LogRecord record)
           
 void springDestroy()
           
 void springInit()
           
protected  void storeAccessToStats(LogRecord record)
           
 
Methods inherited from class org.springframework.orm.ojb.support.PersistenceBrokerDaoSupport
checkDaoConfig, closePersistenceBrokerIfNecessary, convertOjbAccessException, createPersistenceBrokerTemplate, getJcdAlias, getPersistenceBroker, getPersistenceBrokerTemplate, releasePersistenceBroker, setJcdAlias, setPersistenceBrokerTemplate
 
Methods inherited from class org.springframework.dao.support.DaoSupport
afterPropertiesSet, initDao
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

logger

protected static final org.apache.commons.logging.Log logger

portletBatch

protected BatchedStatistics portletBatch

pageBatch

protected BatchedStatistics pageBatch

userBatch

protected BatchedStatistics userBatch

portletLogFormat

protected static final java.lang.String portletLogFormat
See Also:
Constant Field Values

pageLogFormat

protected static final java.lang.String pageLogFormat
See Also:
Constant Field Values

logoutLogFormat

protected static final java.lang.String logoutLogFormat
See Also:
Constant Field Values

STATUS_LOGGED_IN

protected static final int STATUS_LOGGED_IN
See Also:
Constant Field Values

STATUS_LOGGED_OUT

protected static final int STATUS_LOGGED_OUT
See Also:
Constant Field Values

logToCLF

protected boolean logToCLF

logToDatabase

protected boolean logToDatabase

maxRecordToFlush_Portlet

protected int maxRecordToFlush_Portlet

maxRecordToFlush_User

protected int maxRecordToFlush_User

maxRecordToFlush_Page

protected int maxRecordToFlush_Page

maxTimeMsToFlush_Portlet

protected long maxTimeMsToFlush_Portlet

maxTimeMsToFlush_User

protected long maxTimeMsToFlush_User

maxTimeMsToFlush_Page

protected long maxTimeMsToFlush_Page

ds

protected javax.sql.DataSource ds

currentUserCount

protected int currentUserCount

currentUsers

protected java.util.Map currentUsers

formatter

protected java.text.SimpleDateFormat formatter
Constructor Detail

PortalStatisticsImpl

public PortalStatisticsImpl(boolean logToCLF,
                            boolean logToDatabase,
                            int maxRecordToFlush_Portal,
                            int maxRecordToFlush_User,
                            int maxRecordToFlush_Page,
                            long maxTimeMsToFlush_Portal,
                            long maxTimeMsToFlush_User,
                            long maxTimeMsToFlush_Page,
                            javax.sql.DataSource dataSource)

Default constructor.

Method Detail

springInit

public void springInit()
                throws javax.naming.NamingException
Throws:
javax.naming.NamingException

getDataSource

public javax.sql.DataSource getDataSource()
Specified by:
getDataSource in interface PortalStatistics
Returns:
DataSource in use by the logger useful for writing decent tests

logPortletAccess

public void logPortletAccess(RequestContext request,
                             java.lang.String portletName,
                             java.lang.String statusCode,
                             long msElapsedTime)
Description copied from interface: PortalStatistics
Logs an access to a portlet.

Specified by:
logPortletAccess in interface PortalStatistics
Parameters:
request - current request info object
portletName - portlet being logged
statusCode - HTTP status code.
msElapsedTime - elapsed time the portlet took to render

storeAccessToStats

protected void storeAccessToStats(LogRecord record)

saveAccessToCLF

protected void saveAccessToCLF(LogRecord record)

logPageAccess

public void logPageAccess(RequestContext request,
                          java.lang.String statusCode,
                          long msElapsedTime)
Description copied from interface: PortalStatistics
Logs an access to a page.

Specified by:
logPageAccess in interface PortalStatistics
Parameters:
request - current request info object
statusCode - HTTP status code
msElapsedTime - elapsed time the page took to render

logUserLogout

public void logUserLogout(java.lang.String ipAddress,
                          java.lang.String userName,
                          long msSessionLength)
Description copied from interface: PortalStatistics
Logs a user logout event. The %s (HTTP status code) field of the log entry will be set to 200 (OK).

Specified by:
logUserLogout in interface PortalStatistics

logUserLogin

public void logUserLogin(RequestContext request,
                         long msElapsedLoginTime)
Description copied from interface: PortalStatistics
Logs a user logout event. The %s (HTTP status code) field of the log entry will be set to 200 (OK).

Specified by:
logUserLogin in interface PortalStatistics
Parameters:
request - current request info object
msElapsedLoginTime - time it took the user to login

springDestroy

public void springDestroy()
See Also:
DisposableBean.destroy()

getNumberOfCurrentUsers

public int getNumberOfCurrentUsers()
Specified by:
getNumberOfCurrentUsers in interface PortalStatistics
Returns:
returns the current number of logged in users
See Also:
PortalStatistics.getNumberOfCurrentUsers()

getStartDateFromPeriod

protected java.util.Date getStartDateFromPeriod(java.lang.String period,
                                                java.util.Date end)

createStatisticsQueryCriteria

public StatisticsQueryCriteria createStatisticsQueryCriteria()
Description copied from interface: PortalStatistics
Factory to create new statistics query criteria

Specified by:
createStatisticsQueryCriteria in interface PortalStatistics
Returns:
a newly create statistics empty criteria

getDefaultEmptyAggregateStatistics

public AggregateStatistics getDefaultEmptyAggregateStatistics()
Description copied from interface: PortalStatistics
Factory to create new, empty, aggregate statistics object.

Specified by:
getDefaultEmptyAggregateStatistics in interface PortalStatistics
Returns:
unpopulated AggregateStatistics object

queryStatistics

public AggregateStatistics queryStatistics(StatisticsQueryCriteria criteria)
                                    throws InvalidCriteriaException
Specified by:
queryStatistics in interface PortalStatistics
Throws:
InvalidCriteriaException
See Also:
PortalStatistics.queryStatistics(org.apache.jetspeed.statistics.StatisticsQueryCriteria)

floatFormatter

protected java.lang.String floatFormatter(float f)

getListOfLoggedInUsers

public java.util.List getListOfLoggedInUsers()
Specified by:
getListOfLoggedInUsers in interface PortalStatistics

getNumberOfLoggedInUsers

public int getNumberOfLoggedInUsers()
Specified by:
getNumberOfLoggedInUsers in interface PortalStatistics

forceFlush

public void forceFlush()
Description copied from interface: PortalStatistics
force the database loggers to flush out

Specified by:
forceFlush in interface PortalStatistics
See Also:
PortalStatistics.forceFlush()


Copyright © 1999-2009 Apache Software Foundation. All Rights Reserved.