Interface ActionRuntimeService

    • Method Detail

      • createActionInstanceBuilder

        ActionInstanceBuilder createActionInstanceBuilder()
        Starts creating a new action instance
      • findScopedObjectActionData

        ScopedObjectActionData findScopedObjectActionData​(ScopedObjectActionQuery scopedObjectActionQuery)
        Finds all ActionDefinition and ActionInstance instances that match the scope information passed in the ScopedObjectActionQuery parameters and returns these as a ScopedObjectActionData instance. A 'scope' is a combination of a type (e.g. conversation) and identifiers (e.g the conversationId). Typically an action is created for a certain scope (e.g. a certain conversation), so the return result will contain all ActionInstance results for that particular query. Some action definitions are applicable for the scope (e.g. the action to join a conversation), but don't have an action instance, as they can be repeated many times and there is no such thing as 'one action' to execute. This is why the result also contains these ActionDefinitions that match the given scope. All definitions and instances found this way are put through the list of filters that are registered on the action engine configuration. Other engines (engage, cmmn, process, etc.) should inject scope-specific filters into the engine.
      • getActionInstanceIdentityLinks

        List<IdentityLink> getActionInstanceIdentityLinks​(String actionInstanceId)
      • addUserIdentityLink

        void addUserIdentityLink​(String actionInstanceId,
                                 String userId,
                                 String identityLinkType)
        Involves a user with an action instance. The type of identity link is defined by the given identityLinkType.
        Parameters:
        actionInstanceId - id of the action instance, cannot be null
        userId - id of the involved user, cannot be null
        identityLinkType - type of identityLink, cannot be null
        Throws:
        FlowableObjectNotFoundException - when the action instance doesn't exist.
      • addGroupIdentityLink

        void addGroupIdentityLink​(String actionInstanceId,
                                  String groupId,
                                  String identityLinkType)
        Involves a group with an action instance. The type of identity link is defined by the given identityLinkType.
        Parameters:
        actionInstanceId - id of the action instance, cannot be null
        groupId - id of the involved group, cannot be null
        identityLinkType - type of identityLink, cannot be null
        Throws:
        FlowableObjectNotFoundException - when the action instance doesn't exist.
      • deleteUserIdentityLink

        void deleteUserIdentityLink​(String actionInstanceId,
                                    String userId,
                                    String identityLinkType)
        Removes the association between a user and an action instance for the given identityLinkType.
        Parameters:
        actionInstanceId - id of the action instance, cannot be null
        userId - id of the involved user, cannot be null
        identityLinkType - type of the identityLink, cannot be null
        Throws:
        FlowableObjectNotFoundException - when the action instance doesn't exist
      • deleteGroupIdentityLink

        void deleteGroupIdentityLink​(String actionInstanceId,
                                     String groupId,
                                     String identityLinkType)
        Removes the association between a group and an action instance for the given identityLinkType.
        Parameters:
        actionInstanceId - id of the action instance, cannot be null
        groupId - id of the involved group, cannot be null
        identityLinkType - type of the identityLink, cannot be null
        Throws:
        FlowableObjectNotFoundException - when the action instance doesn't exist
      • findActionInstancesForScopeIdAndSubScopeId

        List<ActionInstance> findActionInstancesForScopeIdAndSubScopeId​(String scopeType,
                                                                        String scopeId,
                                                                        String subScopeId,
                                                                        boolean includeDeletedFromCache)
        Parameters:
        includeDeletedFromCache - Only set this to true for very specific use cases where the action instance could be deleted prior and it's still needed.
      • createActionInstanceQuery

        ActionInstanceQuery createActionInstanceQuery()
        Query action instances
      • createActionLinkQuery

        ActionLinkQuery createActionLinkQuery()
        Query action links
      • deleteActionInstanceTypeLink

        void deleteActionInstanceTypeLink​(String actionInstanceTypeLinkId)
        Deletes an ActionTypeLink for the given action instance link id.
      • deleteActionInstance

        void deleteActionInstance​(String actionInstanceId)
        delete an action instance by id
      • migrateActionTypeLinks

        void migrateActionTypeLinks()
        migrate action type links