org.alfresco.repo.action
Class ActionTrackingServiceImpl

java.lang.Object
  extended by org.alfresco.repo.action.ActionTrackingServiceImpl
All Implemented Interfaces:
ActionTrackingService

public class ActionTrackingServiceImpl
extends java.lang.Object
implements ActionTrackingService

Action execution tracking service implementation


Constructor Summary
ActionTrackingServiceImpl()
           
 
Method Summary
protected static ExecutionDetails buildExecutionDetails(Action action)
          Builds up the details to be stored in a cache for a specific action
protected static ExecutionSummary buildExecutionSummary(Action action)
           
protected static ExecutionSummary buildExecutionSummary(java.lang.String key)
          Turns a cache key back into its constituent parts, for easier access.
protected static java.lang.String generateCacheKey(Action action)
          Generates the cache key for the specified action.
protected static java.lang.String generateCacheKey(ExecutionSummary summary)
           
 java.util.List getAllExecutingActions()
          Retrieve summary details of all the actions currently executing.
 java.util.List getExecutingActions(Action action)
          Retrieve summary details of all instances of the specified action that are currently executing.
 java.util.List getExecutingActions(java.lang.String type)
          Retrieve summary details of all the actions of the given type that are currently executing.
 ExecutionDetails getExecutionDetails(ExecutionSummary executionSummary)
          Retrieves the execution details on the given executing action, such as when it started, and what machine it is executing on.
 boolean isCancellationRequested(CancellableAction action)
          Has cancellation been requested for the given action? This method is most commonly called by the action in question, to check to see if someone has called ActionTrackingService.requestActionCancellation(CancellableAction) for them.
 void recordActionComplete(Action action)
          Record that an action has completed execution without error.
 void recordActionExecuting(Action action)
          Record that an action has begun execution.
 void recordActionFailure(Action action, java.lang.Throwable exception)
          Schedule the recording of the action failure to occur in another transaction
 void recordActionPending(Action action)
          Record that an action has been scheduled for asynchronous execution, and is pending being executed.
 void recordActionPending(ActionImpl action)
           
 void requestActionCancellation(CancellableAction action)
          Requests that the specified Action cancel itself and aborts execution, as soon as possible.
 void requestActionCancellation(ExecutionSummary executionSummary)
          Requests that the specified Action cancel itself and aborts execution, as soon as possible.
protected  void resetNextExecutionId()
          Used by unit tests only
 void setExecutingActionsCache(org.alfresco.repo.cache.SimpleCache executingActionsCache)
          Sets the cache used to store details of currently executing actions, cluster wide.
 void setNodeService(org.alfresco.service.cmr.repository.NodeService nodeService)
          Set the node service
 void setRuntimeActionService(RuntimeActionService runtimeActionService)
          Set the runtime action service
 void setTransactionService(TransactionService transactionService)
          Set the transaction service
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

ActionTrackingServiceImpl

public ActionTrackingServiceImpl()
Method Detail

setTransactionService

public void setTransactionService(TransactionService transactionService)
Set the transaction service

Parameters:
transactionService - the transaction service

setNodeService

public void setNodeService(org.alfresco.service.cmr.repository.NodeService nodeService)
Set the node service

Parameters:
nodeService - the node service

setRuntimeActionService

public void setRuntimeActionService(RuntimeActionService runtimeActionService)
Set the runtime action service

Parameters:
runtimeActionService - the runtime action service

setExecutingActionsCache

public void setExecutingActionsCache(org.alfresco.repo.cache.SimpleCache executingActionsCache)
Sets the cache used to store details of currently executing actions, cluster wide.


resetNextExecutionId

protected void resetNextExecutionId()
Used by unit tests only


recordActionPending

public void recordActionPending(Action action)
Description copied from interface: ActionTrackingService
Record that an action has been scheduled for asynchronous execution, and is pending being executed.

Specified by:
recordActionPending in interface ActionTrackingService
Parameters:
action - the action that has been scheduled

recordActionPending

public void recordActionPending(ActionImpl action)

recordActionComplete

public void recordActionComplete(Action action)
Description copied from interface: ActionTrackingService
Record that an action has completed execution without error.

Specified by:
recordActionComplete in interface ActionTrackingService
Parameters:
action - the action that has been finished

recordActionExecuting

public void recordActionExecuting(Action action)
Description copied from interface: ActionTrackingService
Record that an action has begun execution.

Specified by:
recordActionExecuting in interface ActionTrackingService
Parameters:
action - the action that has begun execution

recordActionFailure

public void recordActionFailure(Action action,
                                java.lang.Throwable exception)
Schedule the recording of the action failure to occur in another transaction

Specified by:
recordActionFailure in interface ActionTrackingService
Parameters:
action - the action that has failed

isCancellationRequested

public boolean isCancellationRequested(CancellableAction action)
Description copied from interface: ActionTrackingService
Has cancellation been requested for the given action? This method is most commonly called by the action in question, to check to see if someone has called ActionTrackingService.requestActionCancellation(CancellableAction) for them.

Specified by:
isCancellationRequested in interface ActionTrackingService
Parameters:
action - The action to check about
Returns:
if cancellation has been requested or not

requestActionCancellation

public void requestActionCancellation(CancellableAction action)
Description copied from interface: ActionTrackingService
Requests that the specified Action cancel itself and aborts execution, as soon as possible. Cancellable actions periodically check to see if a cancel has been requested, and will take note of the cancel request once seen.

Specified by:
requestActionCancellation in interface ActionTrackingService
Parameters:
action - The action to request the cancel of

requestActionCancellation

public void requestActionCancellation(ExecutionSummary executionSummary)
Description copied from interface: ActionTrackingService
Requests that the specified Action cancel itself and aborts execution, as soon as possible. Cancellable actions periodically check to see if a cancel has been requested, and will take note of the cancel request once seen. If the specified action is not a cancellable action, nothing will happen.

Specified by:
requestActionCancellation in interface ActionTrackingService

getAllExecutingActions

public java.util.List getAllExecutingActions()
Description copied from interface: ActionTrackingService
Retrieve summary details of all the actions currently executing.

Specified by:
getAllExecutingActions in interface ActionTrackingService

getExecutingActions

public java.util.List getExecutingActions(Action action)
Description copied from interface: ActionTrackingService
Retrieve summary details of all instances of the specified action that are currently executing.

Specified by:
getExecutingActions in interface ActionTrackingService

getExecutingActions

public java.util.List getExecutingActions(java.lang.String type)
Description copied from interface: ActionTrackingService
Retrieve summary details of all the actions of the given type that are currently executing.

Specified by:
getExecutingActions in interface ActionTrackingService

getExecutionDetails

public ExecutionDetails getExecutionDetails(ExecutionSummary executionSummary)
Description copied from interface: ActionTrackingService
Retrieves the execution details on the given executing action, such as when it started, and what machine it is executing on.

Specified by:
getExecutionDetails in interface ActionTrackingService

generateCacheKey

protected static java.lang.String generateCacheKey(Action action)
Generates the cache key for the specified action.


generateCacheKey

protected static java.lang.String generateCacheKey(ExecutionSummary summary)

buildExecutionDetails

protected static ExecutionDetails buildExecutionDetails(Action action)
Builds up the details to be stored in a cache for a specific action


buildExecutionSummary

protected static ExecutionSummary buildExecutionSummary(java.lang.String key)
Turns a cache key back into its constituent parts, for easier access.


buildExecutionSummary

protected static ExecutionSummary buildExecutionSummary(Action action)


Copyright © 2005 - 2010 Alfresco Software, Inc. All Rights Reserved.