From bc7302685681fd854cba3302c3b7f74e2015193e Mon Sep 17 00:00:00 2001 From: Vasiliy Date: Fri, 1 Oct 2021 01:08:14 +0300 Subject: [PATCH 1/2] fix: executionId for activities --- src/activity/Activity.js | 2 +- src/process/ProcessExecution.js | 9 +++++---- 2 files changed, 6 insertions(+), 5 deletions(-) diff --git a/src/activity/Activity.js b/src/activity/Activity.js index aeb8ed8a..11c07519 100644 --- a/src/activity/Activity.js +++ b/src/activity/Activity.js @@ -174,7 +174,7 @@ export default function Activity(Behaviour, activityDef, context) { type, ...(name ? {name} : undefined), ...(status ? {status} : undefined), - parent: cloneParent(parent), + parent: cloneParent({...override.parent, ...parent}), }; const flags = {isEnd, isStart, isSubProcess, isMultiInstance, isForCompensation, attachedTo, isTransaction}; diff --git a/src/process/ProcessExecution.js b/src/process/ProcessExecution.js index a4aca0af..7937bd52 100644 --- a/src/process/ProcessExecution.js +++ b/src/process/ProcessExecution.js @@ -69,6 +69,7 @@ export default function ProcessExecution(parentActivity, context) { const isRedelivered = executeMessage.fields.redelivered; executionId = executeMessage.content.executionId; + children.forEach(child => child.parent.executionId = executionId); prepare(); stateMessage = cloneMessage(executeMessage); @@ -85,7 +86,7 @@ export default function ProcessExecution(parentActivity, context) { logger.debug(`<${executionName}> execute`, isSubProcess ? 'sub process' : 'process'); activate(); - start(); + start(executionId); return true; } @@ -122,7 +123,7 @@ export default function ProcessExecution(parentActivity, context) { }); } - function start() { + function start(executionId) { if (children.length === 0) { return complete('completed'); } @@ -137,8 +138,8 @@ export default function ProcessExecution(parentActivity, context) { startActivities.forEach((a) => a.shake()); } - startActivities.forEach((activity) => activity.init()); - startActivities.forEach((activity) => activity.run()); + startActivities.forEach(activity => activity.init({parent: {executionId}})); + startActivities.forEach(activity => activity.run({parent: {executionId}})); postponed.splice(0); detachedActivities.splice(0); From d5019b2694003ebc34ce6b2def14879c35312708 Mon Sep 17 00:00:00 2001 From: Vasiliy Date: Fri, 1 Oct 2021 01:38:20 +0300 Subject: [PATCH 2/2] fix: for tests --- src/process/ProcessExecution.js | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/src/process/ProcessExecution.js b/src/process/ProcessExecution.js index 7937bd52..21e884eb 100644 --- a/src/process/ProcessExecution.js +++ b/src/process/ProcessExecution.js @@ -69,7 +69,9 @@ export default function ProcessExecution(parentActivity, context) { const isRedelivered = executeMessage.fields.redelivered; executionId = executeMessage.content.executionId; - children.forEach(child => child.parent.executionId = executionId); + children.forEach(child => { + child.parent.executionId = executionId; + }); prepare(); stateMessage = cloneMessage(executeMessage); @@ -86,7 +88,7 @@ export default function ProcessExecution(parentActivity, context) { logger.debug(`<${executionName}> execute`, isSubProcess ? 'sub process' : 'process'); activate(); - start(executionId); + start(); return true; } @@ -123,7 +125,7 @@ export default function ProcessExecution(parentActivity, context) { }); } - function start(executionId) { + function start() { if (children.length === 0) { return complete('completed'); }