Class ActionExecuterAbstractBase
- java.lang.Object
-
- org.alfresco.repo.action.CommonResourceAbstractBase
-
- org.alfresco.repo.action.ParameterizedItemAbstractBase
-
- org.alfresco.repo.action.executer.ActionExecuterAbstractBase
-
- All Implemented Interfaces:
ActionExecuter,LoggingAwareExecuter,org.springframework.beans.factory.Aware,org.springframework.beans.factory.BeanNameAware
- Direct Known Subclasses:
AbstractRenderingEngine,AddFailedThumbnailActionExecuter,AddFeaturesActionExecuter,CancelWorkflowActionExecuter,CheckInActionExecuter,CheckOutActionExecuter,CompositeActionExecuter,ContentMetadataEmbedder,ContentMetadataExtracter,CopyActionExecuter,CountChildrenActionExecuter,CounterIncrementActionExecuter,CreateDownloadArchiveAction,CreateThumbnailActionExecuter,CreateTransferTargetActionExecuter,CreateVersionActionExecuter,DeleteRenditionActionExecuter,ErrorProneActionExecutor,ExecuteAllRulesActionExecuter,ExporterActionExecuter,ImporterActionExecuter,LinkCategoryActionExecuter,LinkRules,MailActionExecuter,MoveActionExecuter,PerformRenditionActionExecuter,QuickShareLinkExpiryActionExecutor,RefreshTagScopeActionExecuter,RemoveFeaturesActionExecuter,ReorderRules,ReplicationActionExecutor,RepositoryExporterActionExecuter,ScriptActionExecuter,SetPropertyValueActionExecuter,SimpleWorkflowActionExecuter,SpecialiseTypeActionExecuter,StartWorkflowActionExecuter,TakeOwnershipActionExecuter,TikaPoweredContainerExtractor.ExtractorActionExecutor,TransferAsyncAction,TransferCommitActionExecuter,TransferOneNodeActionExecuter,TransferTreeActionExecuter,TransferTreeWithCancelActionExecuter,TransformActionExecuter,TransitionSimpleWorkflowActionExecuter,UnlinkRules,UpdateTagScopesActionExecuter,UpdateThumbnailActionExecuter
@AlfrescoPublicApi public abstract class ActionExecuterAbstractBase extends ParameterizedItemAbstractBase implements ActionExecuter, LoggingAwareExecuter
Rule action executor abstract base.- Author:
- Roy Wetherall
-
-
Field Summary
Fields Modifier and Type Field Description protected ActionDefinitionactionDefinitionprotected java.util.Set<org.alfresco.service.namespace.QName>applicableTypesList of types and aspects for which this action is applicableprotected booleanpublicActionIndicated whether the action is public or internal (default true)-
Fields inherited from class org.alfresco.repo.action.ParameterizedItemAbstractBase
adhocPropertiesAllowed, DISPLAY_LABEL, runtimeActionService
-
Fields inherited from class org.alfresco.repo.action.CommonResourceAbstractBase
name
-
Fields inherited from interface org.alfresco.repo.action.executer.ActionExecuter
PARAM_RESULT
-
-
Constructor Summary
Constructors Constructor Description ActionExecuterAbstractBase()
-
Method Summary
All Methods Instance Methods Abstract Methods Concrete Methods Modifier and Type Method Description protected ActionDefinitioncreateActionDefinition(java.lang.String name)This method returns an instance of an ActionDefinition implementation class.voidexecute(Action action, org.alfresco.service.cmr.repository.NodeRef actionedUponNodeRef)Execute the action executerprotected abstract voidexecuteImpl(Action action, org.alfresco.service.cmr.repository.NodeRef actionedUponNodeRef)Execute the action implementationActionDefinitiongetActionDefinition()Get rule action definitionbooleangetIgnoreLock()Indicates whether a lock on the actioned upon node reference should be ignored or not.java.lang.StringgetQueueName()Get the queueName that will execute this actionbooleangetTrackStatus()Get whether the basic action definition supports action tracking or not.voidinit()Init methodprotected booleanisApplicableType(org.alfresco.service.cmr.repository.NodeRef actionedUponNodeRef)Check if a node is a type or subtype of the of one of the applicable typesbooleanonLogException(org.apache.commons.logging.Log logger, java.lang.Throwable t, java.lang.String message)Optional logging of errors callback for the action executer for the cases when the error might be ignored or shown in a different manner for the actionvoidsetApplicableTypes(java.lang.String[] applicableTypes)Set the list of types for which this action is applicablevoidsetBaseNodeService(org.alfresco.service.cmr.repository.NodeService nodeService)voidsetDictionaryService(org.alfresco.service.cmr.dictionary.DictionaryService dictionaryService)Set the dictionary servicevoidsetIgnoreLock(boolean ignoreLock)Set the ignore lock value.voidsetLockService(LockService lockService)voidsetMlAwareNodeService(org.alfresco.service.cmr.repository.NodeService mlAwareNodeService)voidsetPublicAction(boolean publicAction)Set whether the action is public or not.voidsetQueueName(java.lang.String queueName)Set the queueName which will execute this action if blank or null then the action will be executed on the "default" queuevoidsetTrackStatus(boolean trackStatus)Set whether the basic action definition requires status tracking.-
Methods inherited from class org.alfresco.repo.action.ParameterizedItemAbstractBase
addParameterDefinitions, checkMandatoryProperties, getAdhocPropertiesAllowed, getDescriptionKey, getLocalizedParameterDefinitions, getParamDisplayLabel, getParamDisplayLabel, getParameterDefintions, getTitleKey, setAdhocPropertiesAllowed, setLocales, setRuntimeActionService, toString
-
Methods inherited from class org.alfresco.repo.action.CommonResourceAbstractBase
setBeanName
-
-
-
-
Field Detail
-
actionDefinition
protected ActionDefinition actionDefinition
-
publicAction
protected boolean publicAction
Indicated whether the action is public or internal (default true)
-
applicableTypes
protected java.util.Set<org.alfresco.service.namespace.QName> applicableTypes
List of types and aspects for which this action is applicable
-
-
Method Detail
-
init
public void init()
Init method
-
setMlAwareNodeService
public void setMlAwareNodeService(org.alfresco.service.cmr.repository.NodeService mlAwareNodeService)
-
setLockService
public void setLockService(LockService lockService)
-
setBaseNodeService
public void setBaseNodeService(org.alfresco.service.cmr.repository.NodeService nodeService)
-
setDictionaryService
public void setDictionaryService(org.alfresco.service.cmr.dictionary.DictionaryService dictionaryService)
Set the dictionary service- Parameters:
dictionaryService- the dictionary service
-
setPublicAction
public void setPublicAction(boolean publicAction)
Set whether the action is public or not.- Parameters:
publicAction- true if the action is public, false otherwise
-
getTrackStatus
public boolean getTrackStatus()
Get whether the basic action definition supports action tracking or not. This can be overridden for eachactionbut if not, this value is used. Defaults to false.- Specified by:
getTrackStatusin interfaceActionExecuter- Returns:
- true to track action execution status or false (default) to do no action tracking
-
setTrackStatus
public void setTrackStatus(boolean trackStatus)
Set whether the basic action definition requires status tracking. This can be overridden on each action instance but if not, it falls back to this definition. Setting this to true introduces performance problems for concurrently-executing rules on V3.4: ALF-7341. It should only be used for long, seldom-run actions.- Parameters:
trackStatus- true to track execution status otherwise false- Since:
- 3.4.1
-
setApplicableTypes
public void setApplicableTypes(java.lang.String[] applicableTypes)
Set the list of types for which this action is applicable- Parameters:
applicableTypes- array of applicable types
-
getIgnoreLock
public boolean getIgnoreLock()
Description copied from interface:ActionExecuterIndicates whether a lock on the actioned upon node reference should be ignored or not. If true any lock is ignored and execution continues reguardless, otherwise the lock is checked and the action is not executed (ignored) if the actioned upon node reference is locked in any way. By default locks will be ignored.- Specified by:
getIgnoreLockin interfaceActionExecuter- Returns:
- boolean true if ignore lock, false otherwise.
- See Also:
ActionExecuter.getIgnoreLock()
-
setIgnoreLock
public void setIgnoreLock(boolean ignoreLock)
Set the ignore lock value.- Parameters:
ignoreLock- true if lock should be ignored on actioned upon node, false otherwise
-
isApplicableType
protected boolean isApplicableType(org.alfresco.service.cmr.repository.NodeRef actionedUponNodeRef)
Check if a node is a type or subtype of the of one of the applicable types- Parameters:
actionedUponNodeRef- the node to check- Returns:
- Returns true if the node is in the list of
applicable typesor one of the subtypes
-
getActionDefinition
public ActionDefinition getActionDefinition()
Get rule action definition- Specified by:
getActionDefinitionin interfaceActionExecuter- Returns:
- the action definition object
-
createActionDefinition
protected ActionDefinition createActionDefinition(java.lang.String name)
This method returns an instance of an ActionDefinition implementation class. By default this will be anActionDefinitionImpl, but this could be overridden.
-
execute
public void execute(Action action, org.alfresco.service.cmr.repository.NodeRef actionedUponNodeRef)
Execute the action executer- Specified by:
executein interfaceActionExecuter- Parameters:
action- the actionactionedUponNodeRef- the actioned upon node reference
-
executeImpl
protected abstract void executeImpl(Action action, org.alfresco.service.cmr.repository.NodeRef actionedUponNodeRef)
Execute the action implementation- Parameters:
action- the actionactionedUponNodeRef- the actioned upon node
-
setQueueName
public void setQueueName(java.lang.String queueName)
Set the queueName which will execute this action if blank or null then the action will be executed on the "default" queue- Parameters:
queueName- name of the execution queue which should execute this action.
-
getQueueName
public java.lang.String getQueueName()
Description copied from interface:ActionExecuterGet the queueName that will execute this action- Specified by:
getQueueNamein interfaceActionExecuter
-
onLogException
public boolean onLogException(org.apache.commons.logging.Log logger, java.lang.Throwable t, java.lang.String message)Description copied from interface:LoggingAwareExecuterOptional logging of errors callback for the action executer for the cases when the error might be ignored or shown in a different manner for the action- Specified by:
onLogExceptionin interfaceLoggingAwareExecuter- Parameters:
logger- the loggert- the exception thrownmessage- the proposed message that will be logged- Returns:
- true if it was handled, false for default handling
-
-