org.alfresco.repo.action
Class ActionServiceImpl

java.lang.Object
  extended by org.alfresco.repo.action.ActionServiceImpl
All Implemented Interfaces:
RuntimeActionService, ActionService, org.springframework.context.ApplicationContextAware

public class ActionServiceImpl
extends java.lang.Object
implements ActionService, RuntimeActionService, org.springframework.context.ApplicationContextAware

Action service implementation


Constructor Summary
ActionServiceImpl()
           
 
Method Summary
 Action createAction(NodeRef actionNodeRef)
          Create an action from the action node reference
 Action createAction(java.lang.String name)
          Create a new action
 Action createAction(java.lang.String name, java.util.Map params)
          Create a new action specifying the initial set of parameter values
 ActionCondition createActionCondition(java.lang.String name)
          Create an action condition
 ActionCondition createActionCondition(java.lang.String name, java.util.Map params)
          Create an action condition specifying the initial set of parameter values
 NodeRef createActionNodeRef(Action action, NodeRef parentNodeRef, QName assocTypeName, QName assocName)
           
 CompositeAction createCompositeAction()
          Create a composite action
 void directActionExecution(Action action, NodeRef actionedUponNodeRef)
          Execute an action directly
 boolean evaluateAction(Action action, NodeRef actionedUponNodeRef)
          Evaluted the conditions set on an action.
 boolean evaluateActionCondition(ActionCondition condition, NodeRef actionedUponNodeRef)
          Evaluate an action condition.
 void executeAction(Action action, NodeRef actionedUponNodeRef)
          The actions conditions are always checked.
 void executeAction(Action action, NodeRef actionedUponNodeRef, boolean checkConditions)
          The action is executed based on the asynchronous attribute of the action.
 void executeAction(Action action, NodeRef actionedUponNodeRef, boolean checkConditions, boolean executeAsychronously)
          Executes the specified action upon the node reference provided.
 void executeActionImpl(Action action, NodeRef actionedUponNodeRef, boolean checkConditions, boolean executedAsynchronously, java.util.Set actionChain)
           
 Action getAction(NodeRef nodeRef, java.lang.String actionId)
          Gets an action stored against a given node reference.
 ActionConditionDefinition getActionConditionDefinition(java.lang.String name)
          Get a named action condition definition
 java.util.List getActionConditionDefinitions()
          Get all the action condition definitions
 ActionDefinition getActionDefinition(java.lang.String name)
          Get a named action definition
 java.util.List getActionDefinitions()
          Get all the action definitions
 java.util.List getActionDefinitions(NodeRef nodeRef)
          Get all the action definitions that are applicable for the given node, based on its type and aspects.
 java.util.List getActions(NodeRef nodeRef)
          Gets all the actions currently saved on the given node reference.
 void populateCompositeAction(NodeRef compositeNodeRef, CompositeAction compositeAction)
          Populates a composite action from a composite action node reference
 void postCommit()
          called by transaction service.
 void registerActionConditionEvaluator(ActionConditionEvaluator actionConditionEvaluator)
          Register an action condition evaluator
 void registerActionExecuter(ActionExecuter actionExecuter)
          Register an action executer
 void removeAction(NodeRef nodeRef, Action action)
          Removes an action associated with a node reference.
 void removeAllActions(NodeRef nodeRef)
          Removes all actions associated with a node reference
 void saveAction(NodeRef nodeRef, Action action)
          Save an action against a node reference.
 void saveActionImpl(NodeRef actionNodeRef, Action action)
          Save action, used internally to store the details of an action on the aciton node.
 void setApplicationContext(org.springframework.context.ApplicationContext applicationContext)
          Set the application context
 void setAsynchronousActionExecutionQueues(java.util.Map asynchronousActionExecutionQueues)
          Set the asynchronous action execution queues
 void setAuthenticationComponent(AuthenticationComponent authenticationComponent)
          Set the authentication component
 void setDictionaryService(DictionaryService dictionaryService)
          Set the dictionary service
 void setNodeService(NodeService nodeService)
          Set the node service
 void setSearchService(SearchService searchService)
          Set the search service
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

ActionServiceImpl

public ActionServiceImpl()
Method Detail

setApplicationContext

public void setApplicationContext(org.springframework.context.ApplicationContext applicationContext)
                           throws org.springframework.beans.BeansException
Set the application context

Specified by:
setApplicationContext in interface org.springframework.context.ApplicationContextAware
Parameters:
applicationContext - the application context
Throws:
org.springframework.beans.BeansException

setNodeService

public void setNodeService(NodeService nodeService)
Set the node service

Parameters:
nodeService - the node service

setSearchService

public void setSearchService(SearchService searchService)
Set the search service

Parameters:
searchService - the search service

setAuthenticationComponent

public void setAuthenticationComponent(AuthenticationComponent authenticationComponent)
Set the authentication component

Parameters:
authenticationComponent - the authentication component

setDictionaryService

public void setDictionaryService(DictionaryService dictionaryService)
Set the dictionary service

Parameters:
dictionaryService - the dictionary service

setAsynchronousActionExecutionQueues

public void setAsynchronousActionExecutionQueues(java.util.Map asynchronousActionExecutionQueues)
Set the asynchronous action execution queues

Parameters:
asynchronousActionExecutionQueue - the asynchronous action execution queues

getActionDefinition

public ActionDefinition getActionDefinition(java.lang.String name)
Description copied from interface: ActionService
Get a named action definition

Specified by:
getActionDefinition in interface ActionService
Parameters:
name - the name of the action definition
Returns:
the action definition
See Also:
ActionService.getActionDefinition(java.lang.String)

getActionDefinitions

public java.util.List getActionDefinitions()
Description copied from interface: ActionService
Get all the action definitions

Specified by:
getActionDefinitions in interface ActionService
Returns:
the list action definitions
See Also:
ActionService.getActionDefinitions()

getActionDefinitions

public java.util.List getActionDefinitions(NodeRef nodeRef)
Description copied from interface: ActionService
Get all the action definitions that are applicable for the given node, based on its type and aspects.

Specified by:
getActionDefinitions in interface ActionService
Parameters:
nodeRef - the node reference
Returns:
a list of applicable action definitions
See Also:
ActionService.getActionDefinitions(org.alfresco.service.cmr.repository.NodeRef)

getActionConditionDefinition

public ActionConditionDefinition getActionConditionDefinition(java.lang.String name)
Description copied from interface: ActionService
Get a named action condition definition

Specified by:
getActionConditionDefinition in interface ActionService
Parameters:
name - the name of the action condition definition
Returns:
the action condition definition
See Also:
ActionService.getActionConditionDefinition(java.lang.String)

getActionConditionDefinitions

public java.util.List getActionConditionDefinitions()
Description copied from interface: ActionService
Get all the action condition definitions

Specified by:
getActionConditionDefinitions in interface ActionService
Returns:
the list of aciton condition definitions
See Also:
ActionService.getActionConditionDefinitions()

createActionCondition

public ActionCondition createActionCondition(java.lang.String name)
Description copied from interface: ActionService
Create an action condition

Specified by:
createActionCondition in interface ActionService
Parameters:
name - the action condition definition name
Returns:
the action condition
See Also:
ActionService.createActionCondition(java.lang.String)

createActionCondition

public ActionCondition createActionCondition(java.lang.String name,
                                             java.util.Map params)
Description copied from interface: ActionService
Create an action condition specifying the initial set of parameter values

Specified by:
createActionCondition in interface ActionService
Parameters:
name - the action condition definition name
params - the parameter values
Returns:
the action condition
See Also:
ActionService.createActionCondition(java.lang.String, java.util.Map)

createAction

public Action createAction(java.lang.String name)
Description copied from interface: ActionService
Create a new action

Specified by:
createAction in interface ActionService
Parameters:
name - the action definition name
Returns:
the action
See Also:
org.alfresco.service.cmr.action.ActionService#createAction()

createAction

public Action createAction(java.lang.String name,
                           java.util.Map params)
Description copied from interface: ActionService
Create a new action specifying the initial set of parameter values

Specified by:
createAction in interface ActionService
Parameters:
name - the action definition name
params - the parameter values
Returns:
the action
See Also:
ActionService.createAction(java.lang.String, java.util.Map)

createCompositeAction

public CompositeAction createCompositeAction()
Description copied from interface: ActionService
Create a composite action

Specified by:
createCompositeAction in interface ActionService
Returns:
the composite action
See Also:
ActionService.createCompositeAction()

evaluateAction

public boolean evaluateAction(Action action,
                              NodeRef actionedUponNodeRef)
Description copied from interface: ActionService
Evaluted the conditions set on an action.

Returns true if the action has no conditions.

If the action has more than one condition their results are combined using the 'AND' logical operator.

Specified by:
evaluateAction in interface ActionService
Parameters:
action - the action
actionedUponNodeRef - the actioned upon node reference
Returns:
true if the condition succeeds, false otherwise
See Also:
ActionService.evaluateAction(org.alfresco.service.cmr.action.Action, org.alfresco.service.cmr.repository.NodeRef)

evaluateActionCondition

public boolean evaluateActionCondition(ActionCondition condition,
                                       NodeRef actionedUponNodeRef)
Description copied from interface: ActionService
Evaluate an action condition.

Specified by:
evaluateActionCondition in interface ActionService
Parameters:
condition - the action condition
actionedUponNodeRef - the actioned upon node reference
Returns:
true if the condition succeeds, false otherwise
See Also:
ActionService.evaluateActionCondition(org.alfresco.service.cmr.action.ActionCondition, org.alfresco.service.cmr.repository.NodeRef)

executeAction

public void executeAction(Action action,
                          NodeRef actionedUponNodeRef,
                          boolean checkConditions)
Description copied from interface: ActionService
The action is executed based on the asynchronous attribute of the action.

Specified by:
executeAction in interface ActionService
Parameters:
action - the action
actionedUponNodeRef - the actioned upon node reference
checkConditions - indicates whether the conditions should be checked
See Also:
ActionService.executeAction(org.alfresco.service.cmr.action.Action, org.alfresco.service.cmr.repository.NodeRef, boolean)

executeAction

public void executeAction(Action action,
                          NodeRef actionedUponNodeRef,
                          boolean checkConditions,
                          boolean executeAsychronously)
Description copied from interface: ActionService
Executes the specified action upon the node reference provided.

If specified that the conditions should be checked then any conditions set on the action are evaluated.

If the conditions fail then the action is not executed.

If an action has no conditions then the action will always be executed.

If the conditions are not checked then the action will always be executed.

Specified by:
executeAction in interface ActionService
Parameters:
action - the action
actionedUponNodeRef - the actioned upon node reference
checkConditions - indicates whether the conditions should be checked before executing the action
executeAsychronously - indicates whether the action should be executed asychronously or not, this value overrides the value set on the action its self
See Also:
ActionService.executeAction(org.alfresco.service.cmr.action.Action, org.alfresco.service.cmr.repository.NodeRef, boolean)

postCommit

public void postCommit()
called by transaction service.

Specified by:
postCommit in interface RuntimeActionService

executeActionImpl

public void executeActionImpl(Action action,
                              NodeRef actionedUponNodeRef,
                              boolean checkConditions,
                              boolean executedAsynchronously,
                              java.util.Set actionChain)
Specified by:
executeActionImpl in interface RuntimeActionService
See Also:
org.alfresco.repo.action.RuntimeActionService#executeActionImpl(org.alfresco.service.cmr.action.Action, org.alfresco.service.cmr.repository.NodeRef, boolean, org.alfresco.service.cmr.repository.NodeRef)

directActionExecution

public void directActionExecution(Action action,
                                  NodeRef actionedUponNodeRef)
Description copied from interface: RuntimeActionService
Execute an action directly

Specified by:
directActionExecution in interface RuntimeActionService
Parameters:
action - the action
actionedUponNodeRef - the actioned upon node reference
See Also:
RuntimeActionService.directActionExecution(org.alfresco.service.cmr.action.Action, org.alfresco.service.cmr.repository.NodeRef)

executeAction

public void executeAction(Action action,
                          NodeRef actionedUponNodeRef)
Description copied from interface: ActionService
The actions conditions are always checked.

Specified by:
executeAction in interface ActionService
Parameters:
action - the action
actionedUponNodeRef - the actioned upon node reference
See Also:
ActionService.executeAction(org.alfresco.service.cmr.action.Action, NodeRef)

registerActionConditionEvaluator

public void registerActionConditionEvaluator(ActionConditionEvaluator actionConditionEvaluator)
Description copied from interface: RuntimeActionService
Register an action condition evaluator

Specified by:
registerActionConditionEvaluator in interface RuntimeActionService
Parameters:
actionConditionEvaluator - action condition evaluator
See Also:
RuntimeActionService.registerActionConditionEvaluator(org.alfresco.repo.action.evaluator.ActionConditionEvaluator)

registerActionExecuter

public void registerActionExecuter(ActionExecuter actionExecuter)
Description copied from interface: RuntimeActionService
Register an action executer

Specified by:
registerActionExecuter in interface RuntimeActionService
Parameters:
actionExecuter - action executer
See Also:
RuntimeActionService.registerActionExecuter(org.alfresco.repo.action.executer.ActionExecuter)

saveAction

public void saveAction(NodeRef nodeRef,
                       Action action)
Description copied from interface: ActionService
Save an action against a node reference.

The node will be made configurable if it is not already.

If the action already exists then its details will be updated.

Specified by:
saveAction in interface ActionService
Parameters:
nodeRef - the node reference
action - the action
See Also:
ActionService.saveAction(org.alfresco.service.cmr.repository.NodeRef, org.alfresco.service.cmr.action.Action)

createActionNodeRef

public NodeRef createActionNodeRef(Action action,
                                   NodeRef parentNodeRef,
                                   QName assocTypeName,
                                   QName assocName)
Specified by:
createActionNodeRef in interface RuntimeActionService

saveActionImpl

public void saveActionImpl(NodeRef actionNodeRef,
                           Action action)
Description copied from interface: RuntimeActionService
Save action, used internally to store the details of an action on the aciton node.

Specified by:
saveActionImpl in interface RuntimeActionService
Parameters:
actionNodeRef - the action node reference
action - the action
See Also:
RuntimeActionService.saveActionImpl(org.alfresco.service.cmr.repository.NodeRef, org.alfresco.service.cmr.action.Action)

getActions

public java.util.List getActions(NodeRef nodeRef)
Description copied from interface: ActionService
Gets all the actions currently saved on the given node reference.

Specified by:
getActions in interface ActionService
Parameters:
nodeRef - the node reference
Returns:
the list of actions
See Also:
ActionService.getActions(org.alfresco.service.cmr.repository.NodeRef)

createAction

public Action createAction(NodeRef actionNodeRef)
Create an action from the action node reference

Specified by:
createAction in interface RuntimeActionService
Parameters:
actionNodeRef - the action node reference
Returns:
the action

populateCompositeAction

public void populateCompositeAction(NodeRef compositeNodeRef,
                                    CompositeAction compositeAction)
Populates a composite action from a composite action node reference

Parameters:
compositeNodeRef - the composite action node reference
compositeAction - the composite action

getAction

public Action getAction(NodeRef nodeRef,
                        java.lang.String actionId)
Description copied from interface: ActionService
Gets an action stored against a given node reference.

Returns null if the action can not be found.

Specified by:
getAction in interface ActionService
Parameters:
nodeRef - the node reference
actionId - the action id
Returns:
the action
See Also:
ActionService.getAction(org.alfresco.service.cmr.repository.NodeRef, java.lang.String)

removeAction

public void removeAction(NodeRef nodeRef,
                         Action action)
Description copied from interface: ActionService
Removes an action associated with a node reference.

Specified by:
removeAction in interface ActionService
Parameters:
nodeRef - the node reference
action - the action
See Also:
ActionService.removeAction(org.alfresco.service.cmr.repository.NodeRef, org.alfresco.service.cmr.action.Action)

removeAllActions

public void removeAllActions(NodeRef nodeRef)
Description copied from interface: ActionService
Removes all actions associated with a node reference

Specified by:
removeAllActions in interface ActionService
Parameters:
nodeRef - the node reference
See Also:
ActionService.removeAllActions(org.alfresco.service.cmr.repository.NodeRef)


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