Exemplo n.º 1
0
        public virtual void modifyProcessInstance(ProcessInstanceModificationDto dto)
        {
            if (dto.Instructions != null && dto.Instructions.Count > 0)
            {
                ProcessInstanceModificationBuilder modificationBuilder = engine.RuntimeService.createProcessInstanceModification(processInstanceId);

                dto.applyTo(modificationBuilder, engine, objectMapper);

                modificationBuilder.execute(dto.SkipCustomListeners, dto.SkipIoMappings);
            }
        }
Exemplo n.º 2
0
        public override void applyTo(ProcessInstanceModificationBuilder builder, ProcessEngine engine, ObjectMapper mapper)
        {
            checkValidity();

            ProcessInstanceModificationInstantiationBuilder activityBuilder = null;

            if (!string.ReferenceEquals(ancestorActivityInstanceId, null))
            {
                activityBuilder = builder.startAfterActivity(activityId, ancestorActivityInstanceId);
            }
            else
            {
                activityBuilder = builder.startAfterActivity(activityId);
            }

            applyVariables(activityBuilder, engine, mapper);
        }
Exemplo n.º 3
0
        public override void applyTo(ProcessInstanceModificationBuilder builder, ProcessEngine engine, ObjectMapper mapper)
        {
            validateParameters();

            if (!string.ReferenceEquals(activityId, null))
            {
                builder.cancelAllForActivity(activityId);
            }
            else if (!string.ReferenceEquals(activityInstanceId, null))
            {
                builder.cancelActivityInstance(activityInstanceId);
            }
            else if (!string.ReferenceEquals(transitionInstanceId, null))
            {
                builder.cancelTransitionInstance(transitionInstanceId);
            }
        }
Exemplo n.º 4
0
        public virtual BatchDto modifyProcessInstanceAsync(ProcessInstanceModificationDto dto)
        {
            Batch batch = null;

            if (dto.Instructions != null && dto.Instructions.Count > 0)
            {
                ProcessInstanceModificationBuilder modificationBuilder = engine.RuntimeService.createProcessInstanceModification(processInstanceId);

                dto.applyTo(modificationBuilder, engine, objectMapper);

                try
                {
                    batch = modificationBuilder.executeAsync(dto.SkipCustomListeners, dto.SkipIoMappings);
                }
                catch (BadUserRequestException e)
                {
                    throw new InvalidRequestException(Status.BAD_REQUEST, e.Message);
                }
                return(BatchDto.fromBatch(batch));
            }

            throw new InvalidRequestException(Status.BAD_REQUEST, "The provided instuctions are invalid.");
        }