From 2f1fb531ca15592d733e9748d883a4adad82606b Mon Sep 17 00:00:00 2001 From: Yordan Pavlov Date: Fri, 31 Jan 2025 12:05:25 +0200 Subject: [PATCH] [API] BPM - Adds Execution Variables (#4603) --- .../dirigible/modules/src/bpm/process.ts | 8 +++++++ .../delegate/DirigibleCallDelegate.java | 22 +++++++++---------- .../bpm/flowable/dto/ExecutionData.java | 22 +++++++++++++++++++ 3 files changed, 40 insertions(+), 12 deletions(-) diff --git a/components/api/api-modules-javascript/src/main/resources/META-INF/dirigible/modules/src/bpm/process.ts b/components/api/api-modules-javascript/src/main/resources/META-INF/dirigible/modules/src/bpm/process.ts index 93d3a570c76..d8bfb6585f1 100644 --- a/components/api/api-modules-javascript/src/main/resources/META-INF/dirigible/modules/src/bpm/process.ts +++ b/components/api/api-modules-javascript/src/main/resources/META-INF/dirigible/modules/src/bpm/process.ts @@ -242,6 +242,14 @@ class ExecutionContext { return this.data.callbackType ?? undefined; } + public getVariable(variableName: string): any | undefined { + return this.getVariables()[variableName]; + } + + public getVariables(): Record { + return this.data.variables ?? {}; + } + } // @ts-ignore diff --git a/components/engine/engine-bpm-flowable/src/main/java/org/eclipse/dirigible/components/engine/bpm/flowable/delegate/DirigibleCallDelegate.java b/components/engine/engine-bpm-flowable/src/main/java/org/eclipse/dirigible/components/engine/bpm/flowable/delegate/DirigibleCallDelegate.java index bb2e3d42434..f1c2003fb87 100644 --- a/components/engine/engine-bpm-flowable/src/main/java/org/eclipse/dirigible/components/engine/bpm/flowable/delegate/DirigibleCallDelegate.java +++ b/components/engine/engine-bpm-flowable/src/main/java/org/eclipse/dirigible/components/engine/bpm/flowable/delegate/DirigibleCallDelegate.java @@ -9,10 +9,12 @@ */ package org.eclipse.dirigible.components.engine.bpm.flowable.delegate; -import io.opentelemetry.api.trace.Span; -import io.opentelemetry.api.trace.Tracer; -import io.opentelemetry.context.Scope; -import jakarta.annotation.Nullable; +import static org.eclipse.dirigible.components.engine.bpm.flowable.dto.ActionData.Action.SKIP; +import static org.eclipse.dirigible.components.engine.bpm.flowable.service.BpmService.DIRIGIBLE_BPM_INTERNAL_SKIP_STEP; +import java.nio.file.Path; +import java.util.HashMap; +import java.util.Map; +import java.util.regex.Pattern; import org.eclipse.dirigible.commons.api.helpers.GsonHelper; import org.eclipse.dirigible.components.engine.bpm.flowable.dto.ExecutionData; import org.eclipse.dirigible.components.open.telemetry.OpenTelemetryProvider; @@ -26,14 +28,10 @@ import org.graalvm.polyglot.Value; import org.springframework.beans.BeanUtils; import org.springframework.stereotype.Component; - -import java.nio.file.Path; -import java.util.HashMap; -import java.util.Map; -import java.util.regex.Pattern; - -import static org.eclipse.dirigible.components.engine.bpm.flowable.dto.ActionData.Action.SKIP; -import static org.eclipse.dirigible.components.engine.bpm.flowable.service.BpmService.DIRIGIBLE_BPM_INTERNAL_SKIP_STEP; +import io.opentelemetry.api.trace.Span; +import io.opentelemetry.api.trace.Tracer; +import io.opentelemetry.context.Scope; +import jakarta.annotation.Nullable; /** * The Class DirigibleCallDelegate. diff --git a/components/engine/engine-bpm-flowable/src/main/java/org/eclipse/dirigible/components/engine/bpm/flowable/dto/ExecutionData.java b/components/engine/engine-bpm-flowable/src/main/java/org/eclipse/dirigible/components/engine/bpm/flowable/dto/ExecutionData.java index 017235d26b4..8e234e18c3f 100644 --- a/components/engine/engine-bpm-flowable/src/main/java/org/eclipse/dirigible/components/engine/bpm/flowable/dto/ExecutionData.java +++ b/components/engine/engine-bpm-flowable/src/main/java/org/eclipse/dirigible/components/engine/bpm/flowable/dto/ExecutionData.java @@ -10,6 +10,7 @@ package org.eclipse.dirigible.components.engine.bpm.flowable.dto; import java.util.Date; +import java.util.Map; /** * The Class ExecutionData. @@ -157,6 +158,9 @@ public class ExecutionData { /** The callback type. */ protected String callbackType; + /** The variables. */ + protected Map variables; + /** * Gets the id. * @@ -1003,4 +1007,22 @@ public void setCallbackType(String callbackType) { this.callbackType = callbackType; } + /** + * Gets the variables. + * + * @return the variables + */ + public Map getVariables() { + return variables; + } + + /** + * Sets the variables. + * + * @param variables the new callback type + */ + public void setVariables(Map variables) { + this.variables = variables; + } + }