From 78e6ab8d377df4240f92731129a757e11ada8ebc Mon Sep 17 00:00:00 2001 From: fjtirado Date: Fri, 26 Sep 2025 13:42:58 +0200 Subject: [PATCH] [Fix #819] Allow passing scope supplier to JQExpression constructor Signed-off-by: fjtirado --- .../impl/expressions/jq/JQExpressionFactory.java | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/impl/jackson/src/main/java/io/serverlessworkflow/impl/expressions/jq/JQExpressionFactory.java b/impl/jackson/src/main/java/io/serverlessworkflow/impl/expressions/jq/JQExpressionFactory.java index de06c0e1..7ebeaf10 100644 --- a/impl/jackson/src/main/java/io/serverlessworkflow/impl/expressions/jq/JQExpressionFactory.java +++ b/impl/jackson/src/main/java/io/serverlessworkflow/impl/expressions/jq/JQExpressionFactory.java @@ -25,6 +25,7 @@ import java.time.OffsetDateTime; import java.util.Collection; import java.util.Map; +import java.util.Objects; import java.util.function.Supplier; import net.thisptr.jackson.jq.BuiltinFunctionLoader; import net.thisptr.jackson.jq.Scope; @@ -35,7 +36,15 @@ public class JQExpressionFactory extends ObjectExpressionFactory { private WorkflowModelFactory modelFactory = new JacksonModelFactory(); - private static Supplier scopeSupplier = new DefaultScopeSupplier(); + private final Supplier scopeSupplier; + + public JQExpressionFactory() { + this(new DefaultScopeSupplier()); + } + + public JQExpressionFactory(Supplier scopeSupplier) { + this.scopeSupplier = Objects.requireNonNull(scopeSupplier, "scopeSupplier must be not null"); + } private static class DefaultScopeSupplier implements Supplier { private static class DefaultScope {