Class CaseServiceImpl

  • All Implemented Interfaces:
    org.jbpm.casemgmt.api.CaseService

    public class CaseServiceImpl
    extends Object
    implements org.jbpm.casemgmt.api.CaseService
    • Constructor Detail

      • CaseServiceImpl

        public CaseServiceImpl()
    • Method Detail

      • setProcessService

        public void setProcessService​(org.jbpm.services.api.ProcessService processService)
      • setRuntimeDataService

        public void setRuntimeDataService​(org.jbpm.services.api.RuntimeDataService runtimeDataService)
      • setDeploymentService

        public void setDeploymentService​(org.jbpm.services.api.DeploymentService deploymentService)
      • setCaseRuntimeDataService

        public void setCaseRuntimeDataService​(org.jbpm.casemgmt.api.CaseRuntimeDataService caseRuntimeDataService)
      • setCaseIdGenerator

        public void setCaseIdGenerator​(org.jbpm.casemgmt.api.generator.CaseIdGenerator caseIdGenerator)
      • setCommandService

        public void setCommandService​(org.jbpm.shared.services.impl.TransactionalCommandService commandService)
      • setAuthorizationManager

        public void setAuthorizationManager​(org.jbpm.casemgmt.api.auth.AuthorizationManager authorizationManager)
      • setIdentityProvider

        public void setIdentityProvider​(org.kie.internal.identity.IdentityProvider identityProvider)
      • startCase

        public String startCase​(String deploymentId,
                                String caseDefinitionId)
        Specified by:
        startCase in interface org.jbpm.casemgmt.api.CaseService
      • startCase

        public String startCase​(String deploymentId,
                                String caseDefinitionId,
                                org.jbpm.casemgmt.api.model.instance.CaseFileInstance caseFile)
        Specified by:
        startCase in interface org.jbpm.casemgmt.api.CaseService
      • getCaseFileInstance

        public org.jbpm.casemgmt.api.model.instance.CaseFileInstance getCaseFileInstance​(String caseId)
                                                                                  throws org.jbpm.casemgmt.api.CaseNotFoundException
        Specified by:
        getCaseFileInstance in interface org.jbpm.casemgmt.api.CaseService
        Throws:
        org.jbpm.casemgmt.api.CaseNotFoundException
      • getCaseInstance

        public org.jbpm.casemgmt.api.model.instance.CaseInstance getCaseInstance​(String caseId)
                                                                          throws org.jbpm.casemgmt.api.CaseNotFoundException
        Specified by:
        getCaseInstance in interface org.jbpm.casemgmt.api.CaseService
        Throws:
        org.jbpm.casemgmt.api.CaseNotFoundException
      • getCaseInstance

        public org.jbpm.casemgmt.api.model.instance.CaseInstance getCaseInstance​(String caseId,
                                                                                 boolean withData,
                                                                                 boolean withRoles,
                                                                                 boolean withMilestones,
                                                                                 boolean withStages)
                                                                          throws org.jbpm.casemgmt.api.CaseNotFoundException
        Specified by:
        getCaseInstance in interface org.jbpm.casemgmt.api.CaseService
        Throws:
        org.jbpm.casemgmt.api.CaseNotFoundException
      • closeCase

        public void closeCase​(String caseId,
                              String comment)
                       throws org.jbpm.casemgmt.api.CaseNotFoundException
        Specified by:
        closeCase in interface org.jbpm.casemgmt.api.CaseService
        Throws:
        org.jbpm.casemgmt.api.CaseNotFoundException
      • cancelCase

        public void cancelCase​(String caseId)
                        throws org.jbpm.casemgmt.api.CaseNotFoundException
        Specified by:
        cancelCase in interface org.jbpm.casemgmt.api.CaseService
        Throws:
        org.jbpm.casemgmt.api.CaseNotFoundException
      • destroyCase

        public void destroyCase​(String caseId)
                         throws org.jbpm.casemgmt.api.CaseNotFoundException
        Specified by:
        destroyCase in interface org.jbpm.casemgmt.api.CaseService
        Throws:
        org.jbpm.casemgmt.api.CaseNotFoundException
      • reopenCase

        public void reopenCase​(String caseId,
                               String deploymentId,
                               String caseDefinitionId)
                        throws org.jbpm.casemgmt.api.CaseNotFoundException
        Specified by:
        reopenCase in interface org.jbpm.casemgmt.api.CaseService
        Throws:
        org.jbpm.casemgmt.api.CaseNotFoundException
      • reopenCase

        public void reopenCase​(String caseId,
                               String deploymentId,
                               String caseDefinitionId,
                               Map<String,​Object> data)
                        throws org.jbpm.casemgmt.api.CaseNotFoundException
        Specified by:
        reopenCase in interface org.jbpm.casemgmt.api.CaseService
        Throws:
        org.jbpm.casemgmt.api.CaseNotFoundException
      • addDynamicTask

        public void addDynamicTask​(String caseId,
                                   org.jbpm.casemgmt.api.dynamic.TaskSpecification taskSpecification)
                            throws org.jbpm.casemgmt.api.CaseNotFoundException
        Specified by:
        addDynamicTask in interface org.jbpm.casemgmt.api.CaseService
        Throws:
        org.jbpm.casemgmt.api.CaseNotFoundException
      • addDynamicTask

        public void addDynamicTask​(Long processInstanceId,
                                   org.jbpm.casemgmt.api.dynamic.TaskSpecification taskSpecification)
                            throws org.jbpm.services.api.ProcessInstanceNotFoundException
        Specified by:
        addDynamicTask in interface org.jbpm.casemgmt.api.CaseService
        Throws:
        org.jbpm.services.api.ProcessInstanceNotFoundException
      • addDynamicTaskToStage

        public void addDynamicTaskToStage​(String caseId,
                                          String stage,
                                          org.jbpm.casemgmt.api.dynamic.TaskSpecification taskSpecification)
                                   throws org.jbpm.casemgmt.api.CaseNotFoundException,
                                          org.jbpm.casemgmt.api.StageNotFoundException
        Specified by:
        addDynamicTaskToStage in interface org.jbpm.casemgmt.api.CaseService
        Throws:
        org.jbpm.casemgmt.api.CaseNotFoundException
        org.jbpm.casemgmt.api.StageNotFoundException
      • addDynamicTaskToStage

        public void addDynamicTaskToStage​(Long processInstanceId,
                                          String stage,
                                          org.jbpm.casemgmt.api.dynamic.TaskSpecification taskSpecification)
                                   throws org.jbpm.casemgmt.api.CaseNotFoundException,
                                          org.jbpm.casemgmt.api.StageNotFoundException
        Specified by:
        addDynamicTaskToStage in interface org.jbpm.casemgmt.api.CaseService
        Throws:
        org.jbpm.casemgmt.api.CaseNotFoundException
        org.jbpm.casemgmt.api.StageNotFoundException
      • addDynamicSubprocess

        public Long addDynamicSubprocess​(String caseId,
                                         String processId,
                                         Map<String,​Object> parameters)
                                  throws org.jbpm.casemgmt.api.CaseNotFoundException
        Specified by:
        addDynamicSubprocess in interface org.jbpm.casemgmt.api.CaseService
        Throws:
        org.jbpm.casemgmt.api.CaseNotFoundException
      • addDynamicSubprocess

        public Long addDynamicSubprocess​(Long processInstanceId,
                                         String processId,
                                         Map<String,​Object> parameters)
                                  throws org.jbpm.casemgmt.api.CaseNotFoundException
        Specified by:
        addDynamicSubprocess in interface org.jbpm.casemgmt.api.CaseService
        Throws:
        org.jbpm.casemgmt.api.CaseNotFoundException
      • addDynamicSubprocessToStage

        public Long addDynamicSubprocessToStage​(String caseId,
                                                String stage,
                                                String processId,
                                                Map<String,​Object> parameters)
                                         throws org.jbpm.casemgmt.api.CaseNotFoundException
        Specified by:
        addDynamicSubprocessToStage in interface org.jbpm.casemgmt.api.CaseService
        Throws:
        org.jbpm.casemgmt.api.CaseNotFoundException
      • addDynamicSubprocessToStage

        public Long addDynamicSubprocessToStage​(Long processInstanceId,
                                                String stage,
                                                String processId,
                                                Map<String,​Object> parameters)
                                         throws org.jbpm.casemgmt.api.CaseNotFoundException
        Specified by:
        addDynamicSubprocessToStage in interface org.jbpm.casemgmt.api.CaseService
        Throws:
        org.jbpm.casemgmt.api.CaseNotFoundException
      • triggerAdHocFragment

        public void triggerAdHocFragment​(String caseId,
                                         String fragmentName,
                                         Object data)
                                  throws org.jbpm.casemgmt.api.CaseNotFoundException
        Specified by:
        triggerAdHocFragment in interface org.jbpm.casemgmt.api.CaseService
        Throws:
        org.jbpm.casemgmt.api.CaseNotFoundException
      • triggerAdHocFragment

        public void triggerAdHocFragment​(Long processInstanceId,
                                         String fragmentName,
                                         Object data)
                                  throws org.jbpm.casemgmt.api.CaseNotFoundException
        Specified by:
        triggerAdHocFragment in interface org.jbpm.casemgmt.api.CaseService
        Throws:
        org.jbpm.casemgmt.api.CaseNotFoundException
      • triggerAdHocFragment

        public void triggerAdHocFragment​(String caseId,
                                         String stage,
                                         String fragmentName,
                                         Object data)
                                  throws org.jbpm.casemgmt.api.CaseNotFoundException
        Specified by:
        triggerAdHocFragment in interface org.jbpm.casemgmt.api.CaseService
        Throws:
        org.jbpm.casemgmt.api.CaseNotFoundException
      • triggerAdHocFragment

        public void triggerAdHocFragment​(Long processInstanceId,
                                         String stage,
                                         String fragmentName,
                                         Object data)
                                  throws org.jbpm.casemgmt.api.CaseNotFoundException
        Specified by:
        triggerAdHocFragment in interface org.jbpm.casemgmt.api.CaseService
        Throws:
        org.jbpm.casemgmt.api.CaseNotFoundException
      • addDataToCaseFile

        public void addDataToCaseFile​(String caseId,
                                      String name,
                                      Object value,
                                      String... restrictedTo)
                               throws org.jbpm.casemgmt.api.CaseNotFoundException
        Specified by:
        addDataToCaseFile in interface org.jbpm.casemgmt.api.CaseService
        Throws:
        org.jbpm.casemgmt.api.CaseNotFoundException
      • addDataToCaseFile

        public void addDataToCaseFile​(String caseId,
                                      Map<String,​Object> data,
                                      String... restrictedTo)
                               throws org.jbpm.casemgmt.api.CaseNotFoundException
        Specified by:
        addDataToCaseFile in interface org.jbpm.casemgmt.api.CaseService
        Throws:
        org.jbpm.casemgmt.api.CaseNotFoundException
      • removeDataFromCaseFile

        public void removeDataFromCaseFile​(String caseId,
                                           String name)
                                    throws org.jbpm.casemgmt.api.CaseNotFoundException
        Specified by:
        removeDataFromCaseFile in interface org.jbpm.casemgmt.api.CaseService
        Throws:
        org.jbpm.casemgmt.api.CaseNotFoundException
      • removeDataFromCaseFile

        public void removeDataFromCaseFile​(String caseId,
                                           List<String> variableNames)
                                    throws org.jbpm.casemgmt.api.CaseNotFoundException
        Specified by:
        removeDataFromCaseFile in interface org.jbpm.casemgmt.api.CaseService
        Throws:
        org.jbpm.casemgmt.api.CaseNotFoundException
      • assignToCaseRole

        public void assignToCaseRole​(String caseId,
                                     String role,
                                     org.kie.api.task.model.OrganizationalEntity entity)
                              throws org.jbpm.casemgmt.api.CaseNotFoundException
        Specified by:
        assignToCaseRole in interface org.jbpm.casemgmt.api.CaseService
        Throws:
        org.jbpm.casemgmt.api.CaseNotFoundException
      • removeFromCaseRole

        public void removeFromCaseRole​(String caseId,
                                       String role,
                                       org.kie.api.task.model.OrganizationalEntity entity)
                                throws org.jbpm.casemgmt.api.CaseNotFoundException
        Specified by:
        removeFromCaseRole in interface org.jbpm.casemgmt.api.CaseService
        Throws:
        org.jbpm.casemgmt.api.CaseNotFoundException
      • getCaseRoleAssignments

        public Collection<org.jbpm.casemgmt.api.model.instance.CaseRoleInstance> getCaseRoleAssignments​(String caseId)
                                                                                                 throws org.jbpm.casemgmt.api.CaseNotFoundException
        Specified by:
        getCaseRoleAssignments in interface org.jbpm.casemgmt.api.CaseService
        Throws:
        org.jbpm.casemgmt.api.CaseNotFoundException
      • getCaseComments

        public Collection<org.jbpm.casemgmt.api.model.instance.CommentInstance> getCaseComments​(String caseId,
                                                                                                org.kie.api.runtime.query.QueryContext queryContext)
                                                                                         throws org.jbpm.casemgmt.api.CaseNotFoundException
        Specified by:
        getCaseComments in interface org.jbpm.casemgmt.api.CaseService
        Throws:
        org.jbpm.casemgmt.api.CaseNotFoundException
      • getCaseComments

        public Collection<org.jbpm.casemgmt.api.model.instance.CommentInstance> getCaseComments​(String caseId,
                                                                                                org.jbpm.casemgmt.api.model.instance.CommentSortBy sortBy,
                                                                                                org.kie.api.runtime.query.QueryContext queryContext)
                                                                                         throws org.jbpm.casemgmt.api.CaseNotFoundException
        Specified by:
        getCaseComments in interface org.jbpm.casemgmt.api.CaseService
        Throws:
        org.jbpm.casemgmt.api.CaseNotFoundException
      • addCaseComment

        public String addCaseComment​(String caseId,
                                     String author,
                                     String comment,
                                     String... restrictedTo)
                              throws org.jbpm.casemgmt.api.CaseNotFoundException
        Specified by:
        addCaseComment in interface org.jbpm.casemgmt.api.CaseService
        Throws:
        org.jbpm.casemgmt.api.CaseNotFoundException
      • updateCaseComment

        public void updateCaseComment​(String caseId,
                                      String commentId,
                                      String author,
                                      String text,
                                      String... restrictedTo)
                               throws org.jbpm.casemgmt.api.CaseNotFoundException
        Specified by:
        updateCaseComment in interface org.jbpm.casemgmt.api.CaseService
        Throws:
        org.jbpm.casemgmt.api.CaseNotFoundException
      • removeCaseComment

        public void removeCaseComment​(String caseId,
                                      String commentId)
                               throws org.jbpm.casemgmt.api.CaseNotFoundException
        Specified by:
        removeCaseComment in interface org.jbpm.casemgmt.api.CaseService
        Throws:
        org.jbpm.casemgmt.api.CaseNotFoundException
      • newCaseFileInstance

        public org.jbpm.casemgmt.api.model.instance.CaseFileInstance newCaseFileInstance​(String deploymentId,
                                                                                         String caseDefinition,
                                                                                         Map<String,​Object> data)
        Specified by:
        newCaseFileInstance in interface org.jbpm.casemgmt.api.CaseService
      • newCaseFileInstanceWithRestrictions

        public org.jbpm.casemgmt.api.model.instance.CaseFileInstance newCaseFileInstanceWithRestrictions​(String deploymentId,
                                                                                                         String caseDefinition,
                                                                                                         Map<String,​Object> data,
                                                                                                         Map<String,​List<String>> accessRestrictions)
        Specified by:
        newCaseFileInstanceWithRestrictions in interface org.jbpm.casemgmt.api.CaseService
      • newCaseFileInstance

        public org.jbpm.casemgmt.api.model.instance.CaseFileInstance newCaseFileInstance​(String deploymentId,
                                                                                         String caseDefinition,
                                                                                         Map<String,​Object> data,
                                                                                         Map<String,​org.kie.api.task.model.OrganizationalEntity> rolesAssignment)
        Specified by:
        newCaseFileInstance in interface org.jbpm.casemgmt.api.CaseService
      • newCaseFileInstanceWithRestrictions

        public org.jbpm.casemgmt.api.model.instance.CaseFileInstance newCaseFileInstanceWithRestrictions​(String deploymentId,
                                                                                                         String caseDefinition,
                                                                                                         Map<String,​Object> data,
                                                                                                         Map<String,​org.kie.api.task.model.OrganizationalEntity> rolesAssignment,
                                                                                                         Map<String,​List<String>> accessRestrictions)
        Specified by:
        newCaseFileInstanceWithRestrictions in interface org.jbpm.casemgmt.api.CaseService
      • newHumanTaskSpec

        public org.jbpm.casemgmt.api.dynamic.TaskSpecification newHumanTaskSpec​(String taskName,
                                                                                String description,
                                                                                String actorIds,
                                                                                String groupIds,
                                                                                Map<String,​Object> parameters)
        Specified by:
        newHumanTaskSpec in interface org.jbpm.casemgmt.api.CaseService
      • newTaskSpec

        public org.jbpm.casemgmt.api.dynamic.TaskSpecification newTaskSpec​(String nodeType,
                                                                           String nodeName,
                                                                           Map<String,​Object> parameters)
        Specified by:
        newTaskSpec in interface org.jbpm.casemgmt.api.CaseService
      • newUser

        public org.kie.api.task.model.User newUser​(String userId)
        Specified by:
        newUser in interface org.jbpm.casemgmt.api.CaseService
      • newGroup

        public org.kie.api.task.model.Group newGroup​(String groupId)
        Specified by:
        newGroup in interface org.jbpm.casemgmt.api.CaseService
      • internalGetCaseFileInstance

        protected org.jbpm.casemgmt.api.model.instance.CaseFileInstance internalGetCaseFileInstance​(String caseId,
                                                                                                    String deploymentId)
      • internalTriggerAdHocFragment

        protected void internalTriggerAdHocFragment​(org.jbpm.services.api.model.ProcessInstanceDesc pi,
                                                    String fragmentName,
                                                    Object data)
                                             throws org.jbpm.casemgmt.api.CaseNotFoundException
        Throws:
        org.jbpm.casemgmt.api.CaseNotFoundException
      • verifyCaseIdExists

        protected org.jbpm.services.api.model.ProcessInstanceDesc verifyCaseIdExists​(String caseId)
                                                                              throws org.jbpm.casemgmt.api.CaseNotFoundException
        Throws:
        org.jbpm.casemgmt.api.CaseNotFoundException
      • verifyCaseIdExisted

        protected org.jbpm.services.api.model.ProcessInstanceDesc verifyCaseIdExisted​(String caseId)
                                                                               throws org.jbpm.casemgmt.api.CaseNotFoundException
        Throws:
        org.jbpm.casemgmt.api.CaseNotFoundException
      • isEmpty

        protected boolean isEmpty​(Collection<?> data)