TheOpenCloudEngine / uEngine5-base

uEngine5 BPMS that totally re-written in Microservices architecture. uEngine5 can act as not only a conventional Workflow or BPMS but also as a REST api orchestrator or a BPaaS (Business process as a service) of members of OCE's MSA components.
MIT License
10 stars 13 forks source link

back to here / flow ctrl #34

Open jinyoung opened 6 years ago

jinyoung commented 6 years ago

FlowActivity.java

    protected void gatherPropagatedActivitiesOf(final ProcessInstance instance, Activity child, List list) throws Exception {
        final ArrayList propagatedActivities = new ArrayList();
        (new TreeVisitor() {
            public List<Activity> getChild(Activity parent) {
                List outgoings = parent.getOutgoingSequenceFlows();
                ArrayList outgoingActivities = new ArrayList();
                Iterator var4 = outgoings.iterator();

                while(var4.hasNext()) {
                    SequenceFlow sequenceFlow = (SequenceFlow)var4.next();
                    outgoingActivities.add(sequenceFlow.getTargetActivity());
                }

                return outgoingActivities;
            }

            public void logic(Activity elem) {
                try {
                    if(!"Ready".equals(elem.getStatus(instance))) {
                        propagatedActivities.add(elem);
                    }
                } catch (Exception var3) {
                    var3.printStackTrace();
                }

            }
        }).run(child);
        list.addAll(propagatedActivities);
    }

SVGGraph.vue --> ProcessDesigner.vue : 이름 변경 필요

액티비티 우 클릭 -> back to here 버튼 클릭 --> /instance/30/activity/5/backToHere : POST

--> InstanceService.backToHere 메서드 호출

ProcessDefinition extends FlowActivity 상속하고 있기 때문에, List list = new ArrayList(); definition.gatherPropagatedActivitiesOf(instance, definition.getWholeChildActivity(tracingTag), list);

list 를 역순으로 하여 발견된 각 activity 들에 대해 compensate() 호출

Kim-youngtak commented 6 years ago

현재 문제점

jinyoung commented 6 years ago

https://github.com/TheOpenCloudEngine/uEngine5-base/commit/9bb0f35a86098c495c3899dc59b35a50019d811f