コード例 #1
0
        public virtual BatchDto setRetriesByProcessHistoricQueryBased(SetJobRetriesByProcessDto setJobRetriesDto)
        {
            IList <string> processInstanceIds = new List <string>();

            HistoricProcessInstanceQueryDto queryDto = setJobRetriesDto.HistoricProcessInstanceQuery;

            if (queryDto != null)
            {
                HistoricProcessInstanceQuery    query = queryDto.toQuery(ProcessEngine);
                IList <HistoricProcessInstance> historicProcessInstances = query.list();

                foreach (HistoricProcessInstance historicProcessInstance in historicProcessInstances)
                {
                    processInstanceIds.Add(historicProcessInstance.Id);
                }
            }

            if (setJobRetriesDto.ProcessInstances != null)
            {
                ((IList <string>)processInstanceIds).AddRange(setJobRetriesDto.ProcessInstances);
            }

            try
            {
                ManagementService managementService = ProcessEngine.ManagementService;
                Batch             batch             = managementService.setJobRetriesAsync(processInstanceIds, (ProcessInstanceQuery)null, setJobRetriesDto.Retries.Value);

                return(BatchDto.fromBatch(batch));
            }
            catch (BadUserRequestException e)
            {
                throw new InvalidRequestException(Status.BAD_REQUEST, e.Message);
            }
        }
コード例 #2
0
        public virtual BatchDto setRetriesByProcess(SetJobRetriesByProcessDto setJobRetriesDto)
        {
            try
            {
                EnsureUtil.ensureNotNull("setJobRetriesDto", setJobRetriesDto);
                EnsureUtil.ensureNotNull("retries", setJobRetriesDto.Retries);
            }
            catch (NullValueException e)
            {
                throw new InvalidRequestException(Status.BAD_REQUEST, e.Message);
            }
            ProcessInstanceQuery processInstanceQuery = null;

            if (setJobRetriesDto.ProcessInstanceQuery != null)
            {
                processInstanceQuery = setJobRetriesDto.ProcessInstanceQuery.toQuery(ProcessEngine);
            }

            try
            {
                Batch batch = ProcessEngine.ManagementService.setJobRetriesAsync(setJobRetriesDto.ProcessInstances, processInstanceQuery, setJobRetriesDto.Retries.Value);
                return(BatchDto.fromBatch(batch));
            }
            catch (BadUserRequestException e)
            {
                throw new InvalidRequestException(Status.BAD_REQUEST, e.Message);
            }
        }