From 4076762b5d8f02a9472e4b4e7bf6229f417301f7 Mon Sep 17 00:00:00 2001 From: Stefan Renczes Date: Thu, 5 Dec 2024 13:27:02 +0100 Subject: [PATCH 1/4] [NAE-1984] Auto trigger tasks overwrites action context --- .../application/engine/workflow/domain/TaskPair.java | 2 ++ .../application/engine/workflow/service/DataService.java | 7 ++++--- 2 files changed, 6 insertions(+), 3 deletions(-) diff --git a/src/main/java/com/netgrif/application/engine/workflow/domain/TaskPair.java b/src/main/java/com/netgrif/application/engine/workflow/domain/TaskPair.java index 07fbb863f20..1715f67f795 100644 --- a/src/main/java/com/netgrif/application/engine/workflow/domain/TaskPair.java +++ b/src/main/java/com/netgrif/application/engine/workflow/domain/TaskPair.java @@ -1,10 +1,12 @@ package com.netgrif.application.engine.workflow.domain; +import lombok.Builder; import lombok.Data; import java.io.Serializable; @Data +@Builder public class TaskPair implements Serializable { private static final long serialVersionUID = -3865322078419904394L; diff --git a/src/main/java/com/netgrif/application/engine/workflow/service/DataService.java b/src/main/java/com/netgrif/application/engine/workflow/service/DataService.java index 70a6903f40a..c852cb1afef 100644 --- a/src/main/java/com/netgrif/application/engine/workflow/service/DataService.java +++ b/src/main/java/com/netgrif/application/engine/workflow/service/DataService.java @@ -298,7 +298,7 @@ public SetDataEventOutcome setData(Task task, ObjectNode values, Map getChangedFieldByFileFieldContainer(String fieldId, T EventPhase.PRE, useCase, referencingTask, params)); outcomes.addAll(resolveDataEvents(useCase.getPetriNet().getField(fieldId).get(), DataEventType.SET, EventPhase.POST, useCase, referencingTask, params)); - updateDataset(useCase); + update(useCase); workflowService.save(useCase); return outcomes; } @@ -752,13 +752,14 @@ public UserFieldValue makeUserFieldValue(String id) { return new UserFieldValue(user); } - private void updateDataset(Case useCase) { + private void update(Case useCase) { Case actual = workflowService.findOne(useCase.getStringId()); actual.getDataSet().forEach((id, dataField) -> { if (dataField.isNewerThen(useCase.getDataField(id))) { useCase.getDataSet().put(id, dataField); } }); + useCase.setTasks(actual.getTasks()); } @Override From d624198a6b12086fe9974003718e28a3dbf31160 Mon Sep 17 00:00:00 2001 From: Stefan Renczes Date: Mon, 9 Dec 2024 14:01:04 +0100 Subject: [PATCH 2/4] [NAE-1984] Auto trigger tasks overwrites action context - renamed actual to current --- .../application/engine/workflow/service/DataService.java | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/main/java/com/netgrif/application/engine/workflow/service/DataService.java b/src/main/java/com/netgrif/application/engine/workflow/service/DataService.java index c852cb1afef..627416e09bd 100644 --- a/src/main/java/com/netgrif/application/engine/workflow/service/DataService.java +++ b/src/main/java/com/netgrif/application/engine/workflow/service/DataService.java @@ -753,13 +753,13 @@ public UserFieldValue makeUserFieldValue(String id) { } private void update(Case useCase) { - Case actual = workflowService.findOne(useCase.getStringId()); - actual.getDataSet().forEach((id, dataField) -> { + Case current = workflowService.findOne(useCase.getStringId()); + current.getDataSet().forEach((id, dataField) -> { if (dataField.isNewerThen(useCase.getDataField(id))) { useCase.getDataSet().put(id, dataField); } }); - useCase.setTasks(actual.getTasks()); + useCase.setTasks(current.getTasks()); } @Override From ba6af5836a3710bbc88857a7986f97961a13aaea Mon Sep 17 00:00:00 2001 From: Stefan Renczes Date: Mon, 9 Dec 2024 14:05:35 +0100 Subject: [PATCH 3/4] [NAE-1984] Auto trigger tasks overwrites action context - removed unused --- .../netgrif/application/engine/workflow/domain/TaskPair.java | 2 -- 1 file changed, 2 deletions(-) diff --git a/src/main/java/com/netgrif/application/engine/workflow/domain/TaskPair.java b/src/main/java/com/netgrif/application/engine/workflow/domain/TaskPair.java index 1715f67f795..07fbb863f20 100644 --- a/src/main/java/com/netgrif/application/engine/workflow/domain/TaskPair.java +++ b/src/main/java/com/netgrif/application/engine/workflow/domain/TaskPair.java @@ -1,12 +1,10 @@ package com.netgrif.application.engine.workflow.domain; -import lombok.Builder; import lombok.Data; import java.io.Serializable; @Data -@Builder public class TaskPair implements Serializable { private static final long serialVersionUID = -3865322078419904394L; From 42b8447df6de410066eca2d9107b4a79b21a4a9b Mon Sep 17 00:00:00 2001 From: Stefan Renczes Date: Mon, 9 Dec 2024 14:06:05 +0100 Subject: [PATCH 4/4] [NAE-1984] Auto trigger tasks overwrites action context - renamed function --- .../application/engine/workflow/service/DataService.java | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/main/java/com/netgrif/application/engine/workflow/service/DataService.java b/src/main/java/com/netgrif/application/engine/workflow/service/DataService.java index 627416e09bd..2f42f83a473 100644 --- a/src/main/java/com/netgrif/application/engine/workflow/service/DataService.java +++ b/src/main/java/com/netgrif/application/engine/workflow/service/DataService.java @@ -298,7 +298,7 @@ public SetDataEventOutcome setData(Task task, ObjectNode values, Map getChangedFieldByFileFieldContainer(String fieldId, T EventPhase.PRE, useCase, referencingTask, params)); outcomes.addAll(resolveDataEvents(useCase.getPetriNet().getField(fieldId).get(), DataEventType.SET, EventPhase.POST, useCase, referencingTask, params)); - update(useCase); + updateDataset(useCase); workflowService.save(useCase); return outcomes; } @@ -752,7 +752,7 @@ public UserFieldValue makeUserFieldValue(String id) { return new UserFieldValue(user); } - private void update(Case useCase) { + private void updateDataset(Case useCase) { Case current = workflowService.findOne(useCase.getStringId()); current.getDataSet().forEach((id, dataField) -> { if (dataField.isNewerThen(useCase.getDataField(id))) {