Как получить информацию о потоке последовательности между двумя действиями из Java-объекта Bpmn Instance из Camunda? - PullRequest
0 голосов
/ 22 апреля 2019

Я занимаюсь разработкой функции go back.

Эта функция go back пока работает только для пользовательской задачи.

Для ясности я смоделирую определение процесса.

StartEvent → → →squenceFlow_A→ → →A_UserTask→ → →squenceFlow_B → → →B_UserTask → → → endEvent.

Предположим, текущее действие в B_UserTask Эта функция должна сделать два шага:

1. Запустить выполнение в squenceFlow_A

2. Отмените экземпляр действия B_UserTask после выполнения вышеупомянутого шага.

Но вопрос в том, как получить информацию о squenceFlow_A из BpmnInstance в Java?

Я имею в виду, как получитьИнформация о потоке последовательности между двумя действиями из BpmnInstance в Java?

Может быть, это будет ясно, если поменять вопрос на «Как получить первую информацию о потоке последовательности, предшествующую данному действию, из BpmnInstance в Java?»

В этом случае этот вопрос«Как получить первую информацию о потоке последовательности перед B_UserTask из BpmnInstance в Java?»

Мой английский такой плохой.Надеюсь, я не заставлю вас чувствовать себя плохо от меня.

Кстати, спасибо всем.

1 Ответ

1 голос
/ 22 апреля 2019

Я нашел решение самостоятельно.

Вот код.

String givenActivityId = "activityId";
        BpmnModelInstance instance = repositoryService.getBpmnModelInstance("definitionId");
        Collection<SequenceFlow> sequenceFlows = instance.getModelElementsByType(SequenceFlow.class);
        for (SequenceFlow flow : sequenceFlows) {
            if (flow.getTarget().getId().equals(givenActivityId)) {
                LOG.info("Founded the sequenceFlow.");
                return flow;
            }
        }

        LOG.error("No such sequenceFlow");

ура !!!

...