com.xpn.xwiki.stats.impl
Class XWikiStatsServiceImpl

java.lang.Object
  extended bycom.xpn.xwiki.stats.impl.XWikiStatsServiceImpl
All Implemented Interfaces:
XWikiActionNotificationInterface, XWikiStatsService

public class XWikiStatsServiceImpl
extends java.lang.Object
implements XWikiStatsService


Field Summary
static java.lang.String[] cookieDomains
           
static java.util.Date expirationDate
           
private static org.apache.commons.logging.Log log
           
 
Constructor Summary
XWikiStatsServiceImpl()
           
 
Method Summary
protected  javax.servlet.http.Cookie addCookie(XWikiContext context)
           
private  void addPageView(java.lang.String docname, java.lang.String action, int periodtype, XWikiHibernateStore store, XWikiContext context, VisitStats vobject)
           
private  VisitStats findVisit(XWikiContext context)
           
protected  VisitStats findVisitByCookie(java.lang.String cookie, XWikiContext context)
           
protected  VisitStats findVisitByIPUA(java.lang.String ipua, XWikiContext context)
           
 DocumentStats getDocDayStats(java.lang.String docname, java.lang.String action, java.util.Date day, XWikiContext context)
          Gets daily statistics on a document for a specific action
 DocumentStats getDocMonthStats(java.lang.String docname, java.lang.String action, java.util.Date month, XWikiContext context)
          Gets monthly statistics on a document for a specific action
 DocumentStats getDocTotalStats(java.lang.String docname, java.lang.String action, XWikiContext context)
          Gets total statistics on a document for a specific action
 java.util.Collection getRecentActions(java.lang.String action, int size, XWikiContext context)
           
private  java.lang.String getReferer(XWikiContext context)
           
 java.util.List getRefMonthStats(java.lang.String docname, java.util.Date month, XWikiContext context)
           
 void init(XWikiContext context)
          Initializes the Stats Service by inserting the notification rule to be notified of all actions on documents
 void notify(XWikiNotificationRule rule, XWikiDocument doc, java.lang.String action, XWikiContext context)
          Notification rule to store usage statistics
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

log

private static final org.apache.commons.logging.Log log

expirationDate

public static java.util.Date expirationDate

cookieDomains

public static java.lang.String[] cookieDomains
Constructor Detail

XWikiStatsServiceImpl

public XWikiStatsServiceImpl()
Method Detail

init

public void init(XWikiContext context)
Initializes the Stats Service by inserting the notification rule to be notified of all actions on documents

Specified by:
init in interface XWikiStatsService
Parameters:
context -

getDocTotalStats

public DocumentStats getDocTotalStats(java.lang.String docname,
                                      java.lang.String action,
                                      XWikiContext context)
Gets total statistics on a document for a specific action

Specified by:
getDocTotalStats in interface XWikiStatsService
Parameters:
docname - fully qualified document named
action - can be "view", "edit", "save", etc..
context -
Returns:
DocStats - statistics object

getDocMonthStats

public DocumentStats getDocMonthStats(java.lang.String docname,
                                      java.lang.String action,
                                      java.util.Date month,
                                      XWikiContext context)
Gets monthly statistics on a document for a specific action

Specified by:
getDocMonthStats in interface XWikiStatsService
Parameters:
docname -
action -
month -
context -
Returns:

getDocDayStats

public DocumentStats getDocDayStats(java.lang.String docname,
                                    java.lang.String action,
                                    java.util.Date day,
                                    XWikiContext context)
Gets daily statistics on a document for a specific action

Specified by:
getDocDayStats in interface XWikiStatsService
Parameters:
docname -
action -
day -
context -
Returns:

getRefMonthStats

public java.util.List getRefMonthStats(java.lang.String docname,
                                       java.util.Date month,
                                       XWikiContext context)
                                throws XWikiException
Specified by:
getRefMonthStats in interface XWikiStatsService
Throws:
XWikiException

getRecentActions

public java.util.Collection getRecentActions(java.lang.String action,
                                             int size,
                                             XWikiContext context)
Specified by:
getRecentActions in interface XWikiStatsService

notify

public void notify(XWikiNotificationRule rule,
                   XWikiDocument doc,
                   java.lang.String action,
                   XWikiContext context)
Notification rule to store usage statistics

Specified by:
notify in interface XWikiActionNotificationInterface
Parameters:
rule -
doc -
action -
context -

addPageView

private void addPageView(java.lang.String docname,
                         java.lang.String action,
                         int periodtype,
                         XWikiHibernateStore store,
                         XWikiContext context,
                         VisitStats vobject)

getReferer

private java.lang.String getReferer(XWikiContext context)

findVisit

private VisitStats findVisit(XWikiContext context)

findVisitByCookie

protected VisitStats findVisitByCookie(java.lang.String cookie,
                                       XWikiContext context)
                                throws XWikiException
Throws:
XWikiException

findVisitByIPUA

protected VisitStats findVisitByIPUA(java.lang.String ipua,
                                     XWikiContext context)
                              throws XWikiException
Throws:
XWikiException

addCookie

protected javax.servlet.http.Cookie addCookie(XWikiContext context)


Copyright 2003 Ludovic Dubost