org.jasig.portal.services.stats
Class ConditionalStatsRecorder

java.lang.Object
  extended by org.jasig.portal.services.stats.ConditionalStatsRecorder
All Implemented Interfaces:
IStatsRecorder

public final class ConditionalStatsRecorder
extends java.lang.Object
implements IStatsRecorder

Stats recorder implementation which conditionally propogates IStatsRecorder events to a target IStatsRecorder. This class just applies configured rules about which events to propogate. It requires that a target IStatsRecorder instance be injected via the setTargetStatsRecorder() setter method.

Since:
uPortal 2.5.1
Version:
$Revision: 1.1.2.3 $ $Date: 2005/10/31 17:50:39 $

Field Summary
private  IStatsRecorderFlags flags
          Bundle of boolean flags indicating whether we should propogate each IStatsRecorder method.
private  org.apache.commons.logging.Log log
           
private  IStatsRecorder targetStatsRecorder
          IStatsRecorder to which we will conditionally propogate IStatsRecorder method calls.
 
Constructor Summary
ConditionalStatsRecorder()
           
 
Method Summary
 IStatsRecorderFlags getFlags()
          Get the StatsRecorderFlags instance defining which IStatsRecorder method calls we should propogate and which we should not.
 IStatsRecorder getTargetStatsRecorder()
          Returns the IStatsRecorder to which we will or will not propogate IStatsRecorder method calls depending upon our configuration.
 void recordChannelAddedToLayout(IPerson person, UserProfile profile, IUserLayoutChannelDescription channelDesc)
          Called when a channel is being added to a user layout
 void recordChannelDefinitionModified(IPerson person, ChannelDefinition channelDef)
          Called when a user modifies an existing channel
 void recordChannelDefinitionPublished(IPerson person, ChannelDefinition channelDef)
          Called when a user publishes a channel
 void recordChannelDefinitionRemoved(IPerson person, ChannelDefinition channelDef)
          Called when a user removes an existing channel
 void recordChannelInstantiated(IPerson person, UserProfile profile, IUserLayoutChannelDescription channelDesc)
          Called when a channel is being instantiated
 void recordChannelMovedInLayout(IPerson person, UserProfile profile, IUserLayoutChannelDescription channelDesc)
          Called when a channel is being moved in a user layout
 void recordChannelRemovedFromLayout(IPerson person, UserProfile profile, IUserLayoutChannelDescription channelDesc)
          Called when a channel is being removed from a user layout
 void recordChannelRendered(IPerson person, UserProfile profile, IUserLayoutChannelDescription channelDesc)
          Called when a channel is being rendered
 void recordChannelTargeted(IPerson person, UserProfile profile, IUserLayoutChannelDescription channelDesc)
          Called when a channel is being targeted
 void recordChannelUpdatedInLayout(IPerson person, UserProfile profile, IUserLayoutChannelDescription channelDesc)
          Called when a channel is being updated in a user layout
 void recordFolderAddedToLayout(IPerson person, UserProfile profile, IUserLayoutFolderDescription folderDesc)
          Called when a folder is being added to a user layout
 void recordFolderMovedInLayout(IPerson person, UserProfile profile, IUserLayoutFolderDescription folderDesc)
          Called when a folder is being moved in a user layout
 void recordFolderRemovedFromLayout(IPerson person, UserProfile profile, IUserLayoutFolderDescription folderDesc)
          Called when a folder is being removed from a user layout
 void recordFolderUpdatedInLayout(IPerson person, UserProfile profile, IUserLayoutFolderDescription folderDesc)
          Called when a folder is being updated in a user layout
 void recordLogin(IPerson person)
          Called when user authenticates successfully.
 void recordLogout(IPerson person)
          Called when user logs out.
 void recordSessionCreated(IPerson person)
          Called when a new session is created for a user.
 void recordSessionDestroyed(IPerson person)
          Called when the user's session is destroyed.
 void setFlags(IStatsRecorderFlags flags)
          Set the boolean flags indicating which IStatsRecorder method calls we should propogate and which we should not.
 void setTargetStatsRecorder(IStatsRecorder targetStatsRecorder)
          Set the IStatsRecorder to which we will (or will not) propogate IStatsRecorder method calls depending upon our configuration.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

log

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

targetStatsRecorder

private IStatsRecorder targetStatsRecorder
IStatsRecorder to which we will conditionally propogate IStatsRecorder method calls.


flags

private IStatsRecorderFlags flags
Bundle of boolean flags indicating whether we should propogate each IStatsRecorder method.

Constructor Detail

ConditionalStatsRecorder

public ConditionalStatsRecorder()
Method Detail

getTargetStatsRecorder

public IStatsRecorder getTargetStatsRecorder()
Returns the IStatsRecorder to which we will or will not propogate IStatsRecorder method calls depending upon our configuration.

Returns:
Returns the targetStatsRecorder.

setTargetStatsRecorder

public void setTargetStatsRecorder(IStatsRecorder targetStatsRecorder)
Set the IStatsRecorder to which we will (or will not) propogate IStatsRecorder method calls depending upon our configuration.

Parameters:
targetStatsRecorder - The targetStatsRecorder to set.

getFlags

public IStatsRecorderFlags getFlags()
Get the StatsRecorderFlags instance defining which IStatsRecorder method calls we should propogate and which we should not.

Returns:
flags indicating which methods we should propogate and which we should not.

setFlags

public void setFlags(IStatsRecorderFlags flags)
Set the boolean flags indicating which IStatsRecorder method calls we should propogate and which we should not.

Parameters:
flags - The flags to set.

recordLogin

public void recordLogin(IPerson person)
Description copied from interface: IStatsRecorder
Called when user authenticates successfully.

Specified by:
recordLogin in interface IStatsRecorder
Parameters:
person - the IPerson object

recordLogout

public void recordLogout(IPerson person)
Description copied from interface: IStatsRecorder
Called when user logs out.

Specified by:
recordLogout in interface IStatsRecorder
Parameters:
person - the IPerson object

recordSessionCreated

public void recordSessionCreated(IPerson person)
Description copied from interface: IStatsRecorder
Called when a new session is created for a user.

Specified by:
recordSessionCreated in interface IStatsRecorder
Parameters:
person - the IPerson object

recordSessionDestroyed

public void recordSessionDestroyed(IPerson person)
Description copied from interface: IStatsRecorder
Called when the user's session is destroyed. This occurs when the user logs out or his/her session simply times out.

Specified by:
recordSessionDestroyed in interface IStatsRecorder
Parameters:
person - the IPerson object

recordChannelDefinitionPublished

public void recordChannelDefinitionPublished(IPerson person,
                                             ChannelDefinition channelDef)
Description copied from interface: IStatsRecorder
Called when a user publishes a channel

Specified by:
recordChannelDefinitionPublished in interface IStatsRecorder
Parameters:
person - the person pubishing the channel
channelDef - the channel being published

recordChannelDefinitionModified

public void recordChannelDefinitionModified(IPerson person,
                                            ChannelDefinition channelDef)
Description copied from interface: IStatsRecorder
Called when a user modifies an existing channel

Specified by:
recordChannelDefinitionModified in interface IStatsRecorder
Parameters:
person - the person modifying the channel
channelDef - the channel being modified

recordChannelDefinitionRemoved

public void recordChannelDefinitionRemoved(IPerson person,
                                           ChannelDefinition channelDef)
Description copied from interface: IStatsRecorder
Called when a user removes an existing channel

Specified by:
recordChannelDefinitionRemoved in interface IStatsRecorder
Parameters:
person - the person removing the channel
channelDef - the channel being removed

recordChannelAddedToLayout

public void recordChannelAddedToLayout(IPerson person,
                                       UserProfile profile,
                                       IUserLayoutChannelDescription channelDesc)
Description copied from interface: IStatsRecorder
Called when a channel is being added to a user layout

Specified by:
recordChannelAddedToLayout in interface IStatsRecorder
Parameters:
person - the person adding the channel
profile - the profile of the layout to which the channel is added
channelDesc - the channel being subscribed to

recordChannelUpdatedInLayout

public void recordChannelUpdatedInLayout(IPerson person,
                                         UserProfile profile,
                                         IUserLayoutChannelDescription channelDesc)
Description copied from interface: IStatsRecorder
Called when a channel is being updated in a user layout

Specified by:
recordChannelUpdatedInLayout in interface IStatsRecorder
Parameters:
person - the person updating the channel
profile - the profile of the layout in which the channel is updated
channelDesc - the channel being updated

recordChannelMovedInLayout

public void recordChannelMovedInLayout(IPerson person,
                                       UserProfile profile,
                                       IUserLayoutChannelDescription channelDesc)
Description copied from interface: IStatsRecorder
Called when a channel is being moved in a user layout

Specified by:
recordChannelMovedInLayout in interface IStatsRecorder
Parameters:
person - the person moving the channel
profile - the profile of the layout in which the channel is moved
channelDesc - the channel being moved

recordChannelRemovedFromLayout

public void recordChannelRemovedFromLayout(IPerson person,
                                           UserProfile profile,
                                           IUserLayoutChannelDescription channelDesc)
Description copied from interface: IStatsRecorder
Called when a channel is being removed from a user layout

Specified by:
recordChannelRemovedFromLayout in interface IStatsRecorder
Parameters:
person - the person removing the channel
profile - the profile of the layout to which the channel is removed
channelDesc - the channel being removed from a user layout

recordFolderAddedToLayout

public void recordFolderAddedToLayout(IPerson person,
                                      UserProfile profile,
                                      IUserLayoutFolderDescription folderDesc)
Description copied from interface: IStatsRecorder
Called when a folder is being added to a user layout

Specified by:
recordFolderAddedToLayout in interface IStatsRecorder
Parameters:
person - the person adding the folder
profile - the profile of the layout to which the folder is added
folderDesc - the folder being subscribed to

recordFolderUpdatedInLayout

public void recordFolderUpdatedInLayout(IPerson person,
                                        UserProfile profile,
                                        IUserLayoutFolderDescription folderDesc)
Description copied from interface: IStatsRecorder
Called when a folder is being updated in a user layout

Specified by:
recordFolderUpdatedInLayout in interface IStatsRecorder
Parameters:
person - the person updating the folder
profile - the profile of the layout in which the folder is updated
folderDesc - the folder being updated

recordFolderMovedInLayout

public void recordFolderMovedInLayout(IPerson person,
                                      UserProfile profile,
                                      IUserLayoutFolderDescription folderDesc)
Description copied from interface: IStatsRecorder
Called when a folder is being moved in a user layout

Specified by:
recordFolderMovedInLayout in interface IStatsRecorder
Parameters:
person - the person moving the folder
profile - the profile of the layout in which the folder is moved
folderDesc - the folder being moved

recordFolderRemovedFromLayout

public void recordFolderRemovedFromLayout(IPerson person,
                                          UserProfile profile,
                                          IUserLayoutFolderDescription folderDesc)
Description copied from interface: IStatsRecorder
Called when a folder is being removed from a user layout

Specified by:
recordFolderRemovedFromLayout in interface IStatsRecorder
Parameters:
person - the person removing the folder
profile - the profile of the layout to which the folder is removed
folderDesc - the folder being removed from a user layout

recordChannelInstantiated

public void recordChannelInstantiated(IPerson person,
                                      UserProfile profile,
                                      IUserLayoutChannelDescription channelDesc)
Description copied from interface: IStatsRecorder
Called when a channel is being instantiated

Specified by:
recordChannelInstantiated in interface IStatsRecorder
Parameters:
person - the person instantiating the channel
profile - the profile of the layout in which this channel is instantiated
channelDesc - the channel being instantiated

recordChannelRendered

public void recordChannelRendered(IPerson person,
                                  UserProfile profile,
                                  IUserLayoutChannelDescription channelDesc)
Description copied from interface: IStatsRecorder
Called when a channel is being rendered

Specified by:
recordChannelRendered in interface IStatsRecorder
Parameters:
person - the person rendering the channel
profile - the profile of the layout in which this channel is rendered
channelDesc - the channel being rendered

recordChannelTargeted

public void recordChannelTargeted(IPerson person,
                                  UserProfile profile,
                                  IUserLayoutChannelDescription channelDesc)
Description copied from interface: IStatsRecorder
Called when a channel is being targeted

Specified by:
recordChannelTargeted in interface IStatsRecorder
Parameters:
person - the person interacting with the channel
profile - the profile of the layout in which this channel resides
channelDesc - the channel being targeted