Class ActionExecuterAbstractBase

    • Field Detail

      • 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
    • Constructor Detail

      • ActionExecuterAbstractBase

        public ActionExecuterAbstractBase()
    • 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 each action but if not, this value is used. Defaults to false.
        Specified by:
        getTrackStatus in interface ActionExecuter
        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: ActionExecuter
        Indicates 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:
        getIgnoreLock in interface ActionExecuter
        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 types or one of the subtypes
      • createActionDefinition

        protected ActionDefinition createActionDefinition​(java.lang.String name)
        This method returns an instance of an ActionDefinition implementation class. By default this will be an ActionDefinitionImpl, but this could be overridden.
      • execute

        public void execute​(Action action,
                            org.alfresco.service.cmr.repository.NodeRef actionedUponNodeRef)
        Execute the action executer
        Specified by:
        execute in interface ActionExecuter
        Parameters:
        action - the action
        actionedUponNodeRef - 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 action
        actionedUponNodeRef - 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: ActionExecuter
        Get the queueName that will execute this action
        Specified by:
        getQueueName in interface ActionExecuter
      • onLogException

        public boolean onLogException​(org.apache.commons.logging.Log logger,
                                      java.lang.Throwable t,
                                      java.lang.String message)
        Description copied from interface: LoggingAwareExecuter
        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 action
        Specified by:
        onLogException in interface LoggingAwareExecuter
        Parameters:
        logger - the logger
        t - the exception thrown
        message - the proposed message that will be logged
        Returns:
        true if it was handled, false for default handling