wt.audit.configaudit
Class DefaultAuditEventRecorder

java.lang.Object
  extended bywt.audit.configaudit.AbstractAuditEventRecorder
      extended bywt.audit.configaudit.DefaultAuditEventRecorder
All Implemented Interfaces:
AuditEventRecorder, Externalizable, Serializable
Direct Known Subclasses:
AccessRuleAuditEventRecorder, ActionItemAuditEventRecorder, AdHocAclAuditEventRecorder, CADNameChangeAuditEventRecorder, CustomAuditEventRecorder, ExecObjectAuditEventRecorder, GroupAuditEventRecorder, LocationChangeAuditEventRecorder, NotAuthorizedEventRecorder, ProjectAuditEventRecorder, RenameEventRecorder, TeamAuditEventRecorder, ViewContentEventRecorder, WfVariableAuditEventRecorder

public class DefaultAuditEventRecorder
extends AbstractAuditEventRecorder
implements Externalizable



Supported API: false

Extendable: false

See Also:
Serialized Form

Field Summary
private static String CLASSNAME
           
static long EXTERNALIZATION_VERSION_UID
           
protected static long OLD_FORMAT_VERSION_UID
           
private static String ORG_NAME
           
private static String QUERY_PRINCIPALS_TASK
           
private static String RESOURCE
           
(package private) static long serialVersionUID
           
private static boolean VERBOSE
           
 
Constructor Summary
DefaultAuditEventRecorder()
           
 
Method Summary
protected  Timestamp computeEventTimestamp(Persistable target, String event_type)
          Getting a timestamp for the audit event is kind of 'ad hoc'.
protected  ProjectAuditEvent createAuditEvent(WTUser user, String event_key, String event_type, Persistable target)
          

Supported API: false
protected  Persistable getEventTarget(KeyedEvent event)
          Retrieves the event target of an event.
private  ObjectIdentifier getOid(Object object)
          Returns object's associated oid.
private  String getOidString(Object object)
          Returns String representation of the object's oid (debugging).
protected  String getTargetObjectName(Object target)
          This method provides a performant way of getting the name object.
protected  String getUserOrgName(WTUser user)
          Queries the directory for the user's org name.
protected  ProjectAuditEvent persistEvent(KeyedEvent event)
          This method creates the persistent event object and returns it.
protected  WTCollection persistMultiObjectEvent(KeyedEvent event)
          This method creates the persistent records for each object that is target of a multi-object event.
 void readExternal(ObjectInput input)
          Reads the non-transient fields of this class from an external source.
private  boolean readOldVersion(ObjectInput input, long readSerialVersionUID, boolean passThrough, boolean superDone)
          Reads the non-transient fields of this class from an external source, which is not the current version.
protected  boolean readVersion(DefaultAuditEventRecorder thisObject, ObjectInput input, long readSerialVersionUID, boolean passThrough, boolean superDone)
          Reads the non-transient fields of this class from an external source.
protected  void setContainerAttributes(ProjectAuditEvent pae, Persistable target)
           
private  String showCollection(Collection collection)
          Returns String representation of the list passed as argument (debugging).
 void writeExternal(ObjectOutput output)
          Writes the non-transient fields of this class to an external source.
 
Methods inherited from class wt.audit.configaudit.AbstractAuditEventRecorder
logEvent, logEvent, readVersion, recordEvent, recordMultiObjectEvent
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

RESOURCE

private static final String RESOURCE
See Also:
Constant Field Values

CLASSNAME

private static final String CLASSNAME

serialVersionUID

static final long serialVersionUID
See Also:
Constant Field Values

EXTERNALIZATION_VERSION_UID

public static final long EXTERNALIZATION_VERSION_UID
See Also:
Constant Field Values

OLD_FORMAT_VERSION_UID

protected static final long OLD_FORMAT_VERSION_UID
See Also:
Constant Field Values

ORG_NAME

private static final String ORG_NAME
See Also:
Constant Field Values

VERBOSE

private static final boolean VERBOSE

QUERY_PRINCIPALS_TASK

private static final String QUERY_PRINCIPALS_TASK
Constructor Detail

DefaultAuditEventRecorder

public DefaultAuditEventRecorder()
Method Detail

writeExternal

public void writeExternal(ObjectOutput output)
                   throws IOException
Writes the non-transient fields of this class to an external source.

Supported API: false

Specified by:
writeExternal in interface Externalizable
Overrides:
writeExternal in class AbstractAuditEventRecorder
Parameters:
output -
Throws:
IOException

readExternal

public void readExternal(ObjectInput input)
                  throws IOException,
                         ClassNotFoundException
Reads the non-transient fields of this class from an external source.

Supported API: false

Specified by:
readExternal in interface Externalizable
Overrides:
readExternal in class AbstractAuditEventRecorder
Parameters:
input -
Throws:
IOException
ClassNotFoundException

readVersion

protected boolean readVersion(DefaultAuditEventRecorder thisObject,
                              ObjectInput input,
                              long readSerialVersionUID,
                              boolean passThrough,
                              boolean superDone)
                       throws IOException,
                              ClassNotFoundException
Reads the non-transient fields of this class from an external source.

Supported API: false

Parameters:
thisObject -
input -
readSerialVersionUID -
passThrough -
superDone -
Returns:
boolean
Throws:
IOException
ClassNotFoundException

readOldVersion

private boolean readOldVersion(ObjectInput input,
                               long readSerialVersionUID,
                               boolean passThrough,
                               boolean superDone)
                        throws IOException,
                               ClassNotFoundException
Reads the non-transient fields of this class from an external source, which is not the current version.

Parameters:
input -
readSerialVersionUID -
passThrough -
superDone -
Returns:
boolean
Throws:
IOException
ClassNotFoundException

persistEvent

protected ProjectAuditEvent persistEvent(KeyedEvent event)
                                  throws WTException
This method creates the persistent event object and returns it.

Supported API: false

Specified by:
persistEvent in class AbstractAuditEventRecorder
Parameters:
event -
Returns:
ProjectAuditEvent
Throws:
WTException

getEventTarget

protected Persistable getEventTarget(KeyedEvent event)
                              throws WTException
Retrieves the event target of an event. This method may be overridden by subclasses for which the actual target has to be extracted from the event (for example, through navigation or selection).

Supported API: false

Parameters:
event -
Returns:
Persistable
Throws:
WTException

persistMultiObjectEvent

protected WTCollection persistMultiObjectEvent(KeyedEvent event)
                                        throws WTException
This method creates the persistent records for each object that is target of a multi-object event. Returns a collection of ProjectAuditEvent objects.

Supported API: false

Specified by:
persistMultiObjectEvent in class AbstractAuditEventRecorder
Parameters:
event -
Returns:
WTCollection
Throws:
WTException

createAuditEvent

protected ProjectAuditEvent createAuditEvent(WTUser user,
                                             String event_key,
                                             String event_type,
                                             Persistable target)
                                      throws WTException


Supported API: false

Parameters:
user -
event_key -
event_type -
target -
Returns:
ProjectAuditEvent
Throws:
WTException

computeEventTimestamp

protected Timestamp computeEventTimestamp(Persistable target,
                                          String event_type)
                                   throws WTException
Getting a timestamp for the audit event is kind of 'ad hoc'. If it is a store operation then use the target's creation stamp. If it is an operation that doesn't change the object or hasn't yet occurred, used current time. For all others use the modification stamp of the target object.

Throws:
WTException

setContainerAttributes

protected void setContainerAttributes(ProjectAuditEvent pae,
                                      Persistable target)
                               throws WTException
Throws:
WTException

getTargetObjectName

protected String getTargetObjectName(Object target)
                              throws WTException
This method provides a performant way of getting the name object.

Throws:
WTException

getUserOrgName

protected String getUserOrgName(WTUser user)
                         throws WTException
Queries the directory for the user's org name.

Throws:
WTException

getOid

private ObjectIdentifier getOid(Object object)
Returns object's associated oid. Accepts not only Persistable as argument but also ObjectReference and ObjectIdentifier objects. Returns 'null' if object is null.


getOidString

private String getOidString(Object object)
Returns String representation of the object's oid (debugging).


showCollection

private String showCollection(Collection collection)
                       throws WTException
Returns String representation of the list passed as argument (debugging).

Throws:
WTException