Exemple #1
0
        protected internal virtual UpdateExternalTaskRetriesBuilder updateRetries(SetRetriesForExternalTasksDto retriesDto)
        {
            ExternalTaskService externalTaskService = ProcessEngine.ExternalTaskService;

            IList <string> externalTaskIds    = retriesDto.ExternalTaskIds;
            IList <string> processInstanceIds = retriesDto.ProcessInstanceIds;

            ExternalTaskQuery            externalTaskQuery            = null;
            ProcessInstanceQuery         processInstanceQuery         = null;
            HistoricProcessInstanceQuery historicProcessInstanceQuery = null;

            ExternalTaskQueryDto externalTaskQueryDto = retriesDto.ExternalTaskQuery;

            if (externalTaskQueryDto != null)
            {
                externalTaskQuery = externalTaskQueryDto.toQuery(ProcessEngine);
            }

            ProcessInstanceQueryDto processInstanceQueryDto = retriesDto.ProcessInstanceQuery;

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

            HistoricProcessInstanceQueryDto historicProcessInstanceQueryDto = retriesDto.HistoricProcessInstanceQuery;

            if (historicProcessInstanceQueryDto != null)
            {
                historicProcessInstanceQuery = historicProcessInstanceQueryDto.toQuery(ProcessEngine);
            }

            return(externalTaskService.updateRetries().externalTaskIds(externalTaskIds).processInstanceIds(processInstanceIds).externalTaskQuery(externalTaskQuery).processInstanceQuery(processInstanceQuery).historicProcessInstanceQuery(historicProcessInstanceQuery));
        }
Exemple #2
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);
            }
        }
Exemple #3
0
        public virtual BatchDto deleteAsyncHistoricQueryBased(DeleteProcessInstancesDto deleteProcessInstancesDto)
        {
            IList <string> processInstanceIds = new List <string>();

            HistoricProcessInstanceQueryDto queryDto = deleteProcessInstancesDto.HistoricProcessInstanceQuery;

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

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

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

            try
            {
                RuntimeService runtimeService = ProcessEngine.RuntimeService;
                Batch          batch          = runtimeService.deleteProcessInstancesAsync(processInstanceIds, null, deleteProcessInstancesDto.DeleteReason, deleteProcessInstancesDto.SkipCustomListeners, deleteProcessInstancesDto.SkipSubprocesses);

                return(BatchDto.fromBatch(batch));
            }
            catch (BadUserRequestException e)
            {
                throw new InvalidRequestException(Status.BAD_REQUEST, e.Message);
            }
        }
Exemple #4
0
        public virtual IList <HistoricProcessInstanceDto> queryHistoricProcessInstances(HistoricProcessInstanceQueryDto queryDto, int?firstResult, int?maxResults)
        {
            queryDto.ObjectMapper = objectMapper;
            HistoricProcessInstanceQuery query = queryDto.toQuery(processEngine);

            IList <HistoricProcessInstance> matchingHistoricProcessInstances;

            if (firstResult != null || maxResults != null)
            {
                matchingHistoricProcessInstances = executePaginatedQuery(query, firstResult, maxResults);
            }
            else
            {
                matchingHistoricProcessInstances = query.list();
            }

            IList <HistoricProcessInstanceDto> historicProcessInstanceDtoResults = new List <HistoricProcessInstanceDto>();

            foreach (HistoricProcessInstance historicProcessInstance in matchingHistoricProcessInstances)
            {
                HistoricProcessInstanceDto resultHistoricProcessInstanceDto = HistoricProcessInstanceDto.fromHistoricProcessInstance(historicProcessInstance);
                historicProcessInstanceDtoResults.Add(resultHistoricProcessInstanceDto);
            }
            return(historicProcessInstanceDtoResults);
        }
Exemple #5
0
        public virtual CountResultDto queryHistoricProcessInstancesCount(HistoricProcessInstanceQueryDto queryDto)
        {
            queryDto.ObjectMapper = objectMapper;
            HistoricProcessInstanceQuery query = queryDto.toQuery(processEngine);

            long           count  = query.count();
            CountResultDto result = new CountResultDto();

            result.Count = count;

            return(result);
        }
Exemple #6
0
        protected internal virtual UpdateProcessInstancesSuspensionStateBuilder createUpdateSuspensionStateGroupBuilder(ProcessEngine engine)
        {
            UpdateProcessInstanceSuspensionStateSelectBuilder selectBuilder = engine.RuntimeService.updateProcessInstanceSuspensionState();
            UpdateProcessInstancesSuspensionStateBuilder      groupBuilder  = null;

            if (processInstanceIds != null)
            {
                groupBuilder = selectBuilder.byProcessInstanceIds(processInstanceIds);
            }

            if (processInstanceQuery != null)
            {
                if (groupBuilder == null)
                {
                    groupBuilder = selectBuilder.byProcessInstanceQuery(processInstanceQuery.toQuery(engine));
                }
                else
                {
                    groupBuilder.byProcessInstanceQuery(processInstanceQuery.toQuery(engine));
                }
            }

            if (historicProcessInstanceQuery != null)
            {
                if (groupBuilder == null)
                {
                    groupBuilder = selectBuilder.byHistoricProcessInstanceQuery(historicProcessInstanceQuery.toQuery(engine));
                }
                else
                {
                    groupBuilder.byHistoricProcessInstanceQuery(historicProcessInstanceQuery.toQuery(engine));
                }
            }

            return(groupBuilder);
        }
Exemple #7
0
//JAVA TO C# CONVERTER TODO TASK: Most Java annotations will not have direct .NET equivalent attributes:
//ORIGINAL LINE: @Test public void testRestartProcessInstanceWithoutProcessInstanceIdsAsync()
        public virtual void testRestartProcessInstanceWithoutProcessInstanceIdsAsync()
        {
            when(historyServiceMock.createHistoricProcessInstanceQuery()).thenReturn(new HistoricProcessInstanceQueryImpl());
            IDictionary <string, object>          json         = new Dictionary <string, object>();
            IList <IDictionary <string, object> > instructions = new List <IDictionary <string, object> >();
            HistoricProcessInstanceQueryDto       query        = new HistoricProcessInstanceQueryDto();

            query.Finished = true;
            json["historicProcessInstanceQuery"] = query;
            instructions.Add(ModificationInstructionBuilder.startBefore().activityId("activityId").Json);
            json["instructions"] = instructions;

            given().pathParam("id", MockProvider.EXAMPLE_PROCESS_DEFINITION_ID).contentType(ContentType.JSON).body(json).then().expect().statusCode(Status.OK.StatusCode).when().post(RESTART_PROCESS_INSTANCE_ASYNC_URL);

            verify(builderMock).startBeforeActivity("activityId");
            verify(builderMock).historicProcessInstanceQuery(query.toQuery(processEngine));
            verify(builderMock).executeAsync();
            verifyNoMoreInteractions(builderMock);
        }
Exemple #8
0
//JAVA TO C# CONVERTER TODO TASK: Most Java annotations will not have direct .NET equivalent attributes:
//ORIGINAL LINE: @Test public void testRestartProcessInstanceWithHistoricProcessInstanceQuerySync()
        public virtual void testRestartProcessInstanceWithHistoricProcessInstanceQuerySync()
        {
            when(historyServiceMock.createHistoricProcessInstanceQuery()).thenReturn(new HistoricProcessInstanceQueryImpl());
            Dictionary <string, object>           json         = new Dictionary <string, object>();
            IList <IDictionary <string, object> > instructions = new List <IDictionary <string, object> >();

            instructions.Add(ModificationInstructionBuilder.startBefore().activityId("activityId").Json);
            json["instructions"] = instructions;

            HistoricProcessInstanceQueryDto query = new HistoricProcessInstanceQueryDto();

            query.ProcessInstanceBusinessKey = "businessKey";

            json["historicProcessInstanceQuery"] = query;

            given().pathParam("id", MockProvider.EXAMPLE_PROCESS_DEFINITION_ID).contentType(ContentType.JSON).body(json).then().expect().statusCode(Status.NO_CONTENT.StatusCode).when().post(RESTART_PROCESS_INSTANCE_URL);

            verify(runtimeServiceMock).restartProcessInstances(MockProvider.EXAMPLE_PROCESS_DEFINITION_ID);
            verify(builderMock).startBeforeActivity("activityId");
            verify(builderMock).historicProcessInstanceQuery(query.toQuery(processEngine));
            verify(builderMock).execute();
        }