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 {