diff --git a/experimental/lambda/src/main/java/io/serverlessworkflow/impl/executors/func/JavaFunctionCallExecutor.java b/experimental/lambda/src/main/java/io/serverlessworkflow/impl/executors/func/JavaFunctionCallExecutor.java index 9b040772..4bb6110e 100644 --- a/experimental/lambda/src/main/java/io/serverlessworkflow/impl/executors/func/JavaFunctionCallExecutor.java +++ b/experimental/lambda/src/main/java/io/serverlessworkflow/impl/executors/func/JavaFunctionCallExecutor.java @@ -53,7 +53,7 @@ public CompletableFuture apply( WorkflowContext workflowContext, TaskContext taskContext, WorkflowModel input) { WorkflowModelFactory modelFactory = workflowContext.definition().application().modelFactory(); return CompletableFuture.completedFuture( - modelFactory.fromAny(function.apply(JavaFuncUtils.convertT(input, inputClass)))); + modelFactory.fromAny(input, function.apply(JavaFuncUtils.convertT(input, inputClass)))); } @Override diff --git a/experimental/lambda/src/main/java/io/serverlessworkflow/impl/executors/func/JavaLoopFunctionCallExecutor.java b/experimental/lambda/src/main/java/io/serverlessworkflow/impl/executors/func/JavaLoopFunctionCallExecutor.java index 31c2100f..71d6bb6a 100644 --- a/experimental/lambda/src/main/java/io/serverlessworkflow/impl/executors/func/JavaLoopFunctionCallExecutor.java +++ b/experimental/lambda/src/main/java/io/serverlessworkflow/impl/executors/func/JavaLoopFunctionCallExecutor.java @@ -50,6 +50,7 @@ public CompletableFuture apply( WorkflowModelFactory modelFactory = workflowContext.definition().application().modelFactory(); return CompletableFuture.completedFuture( modelFactory.fromAny( + input, function.apply( input.asJavaObject(), safeObject(taskContext.variables().get(varName))))); } diff --git a/experimental/lambda/src/main/java/io/serverlessworkflow/impl/executors/func/JavaLoopFunctionIndexCallExecutor.java b/experimental/lambda/src/main/java/io/serverlessworkflow/impl/executors/func/JavaLoopFunctionIndexCallExecutor.java index e566c0a0..fadc1245 100644 --- a/experimental/lambda/src/main/java/io/serverlessworkflow/impl/executors/func/JavaLoopFunctionIndexCallExecutor.java +++ b/experimental/lambda/src/main/java/io/serverlessworkflow/impl/executors/func/JavaLoopFunctionIndexCallExecutor.java @@ -54,6 +54,7 @@ public CompletableFuture apply( return CompletableFuture.completedFuture( modelFactory.fromAny( + input, function.apply( input.asJavaObject(), safeObject(taskContext.variables().get(varName)), diff --git a/experimental/lambda/src/main/java/io/serverlessworkflow/impl/expressions/func/JavaExpressionFactory.java b/experimental/lambda/src/main/java/io/serverlessworkflow/impl/expressions/func/JavaExpressionFactory.java index c2d4654d..af0468cf 100644 --- a/experimental/lambda/src/main/java/io/serverlessworkflow/impl/expressions/func/JavaExpressionFactory.java +++ b/experimental/lambda/src/main/java/io/serverlessworkflow/impl/expressions/func/JavaExpressionFactory.java @@ -45,7 +45,7 @@ public ObjectExpression buildExpression(ExpressionDescriptor descriptor) { } else if (value instanceof TypedFunction func) { return (w, t, n) -> func.function().apply(n.as(func.argClass()).orElseThrow()); } else { - return (w, t, n) -> modelFactory.fromAny(value); + return (w, t, n) -> value; } } diff --git a/impl/http/src/main/java/io/serverlessworkflow/impl/executors/http/HttpExecutor.java b/impl/http/src/main/java/io/serverlessworkflow/impl/executors/http/HttpExecutor.java index 7b7243e1..ee812055 100644 --- a/impl/http/src/main/java/io/serverlessworkflow/impl/executors/http/HttpExecutor.java +++ b/impl/http/src/main/java/io/serverlessworkflow/impl/executors/http/HttpExecutor.java @@ -110,6 +110,7 @@ public void init( (request, w, context, node) -> converter.toModel( application.modelFactory(), + node, request.post( converter.toEntity(bodyFilter.apply(w, context, node)), node.objectClass())); @@ -118,7 +119,7 @@ public void init( default: this.requestFunction = (request, w, t, n) -> - converter.toModel(application.modelFactory(), request.get(n.objectClass())); + converter.toModel(application.modelFactory(), n, request.get(n.objectClass())); } } diff --git a/impl/http/src/main/java/io/serverlessworkflow/impl/executors/http/HttpModelConverter.java b/impl/http/src/main/java/io/serverlessworkflow/impl/executors/http/HttpModelConverter.java index 6e5d92e3..1d7b7c9f 100644 --- a/impl/http/src/main/java/io/serverlessworkflow/impl/executors/http/HttpModelConverter.java +++ b/impl/http/src/main/java/io/serverlessworkflow/impl/executors/http/HttpModelConverter.java @@ -22,8 +22,8 @@ public interface HttpModelConverter { - default WorkflowModel toModel(WorkflowModelFactory factory, Object entity) { - return factory.fromAny(entity); + default WorkflowModel toModel(WorkflowModelFactory factory, WorkflowModel model, Object entity) { + return factory.fromAny(model, entity); } default Entity toEntity(Map model) {