diff --git a/api/src/test/java/io/serverlessworkflow/api/FeaturesTest.java b/api/src/test/java/io/serverlessworkflow/api/FeaturesTest.java index 39d7045bf..9011e3a8c 100644 --- a/api/src/test/java/io/serverlessworkflow/api/FeaturesTest.java +++ b/api/src/test/java/io/serverlessworkflow/api/FeaturesTest.java @@ -15,7 +15,6 @@ */ package io.serverlessworkflow.api; -import static io.serverlessworkflow.api.WorkflowReader.readWorkflow; import static io.serverlessworkflow.api.WorkflowReader.readWorkflowFromClasspath; import static io.serverlessworkflow.api.WorkflowReader.validation; import static io.serverlessworkflow.api.WorkflowWriter.workflowAsBytes; @@ -30,9 +29,13 @@ import java.io.IOException; import org.junit.jupiter.params.ParameterizedTest; import org.junit.jupiter.params.provider.ValueSource; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; public class FeaturesTest { + private static final Logger logger = LoggerFactory.getLogger(FeaturesTest.class); + @ParameterizedTest @ValueSource( strings = { @@ -71,8 +74,11 @@ private static Workflow writeAndReadInMemory(Workflow workflow) throws IOExcepti writeWorkflow(out, workflow, WorkflowFormat.JSON); bytes = out.toByteArray(); } + if (logger.isDebugEnabled()) { + logger.debug("Workflow string representation is {}", new String(bytes)); + } try (ByteArrayInputStream in = new ByteArrayInputStream(bytes)) { - return readWorkflow(in, WorkflowFormat.JSON); + return validation().read(in, WorkflowFormat.JSON); } } diff --git a/generators/types/src/main/java/io/serverlessworkflow/generator/CustomAnnotator.java b/generators/types/src/main/java/io/serverlessworkflow/generator/CustomAnnotator.java index 657ba3cee..e195e2d0d 100644 --- a/generators/types/src/main/java/io/serverlessworkflow/generator/CustomAnnotator.java +++ b/generators/types/src/main/java/io/serverlessworkflow/generator/CustomAnnotator.java @@ -17,6 +17,7 @@ import com.fasterxml.jackson.databind.JsonNode; import com.sun.codemodel.JDefinedClass; +import com.sun.codemodel.JExpr; import com.sun.codemodel.JFieldVar; import io.serverlessworkflow.annotations.AdditionalProperties; import jakarta.validation.constraints.Pattern; @@ -40,7 +41,9 @@ public void additionalPropertiesField(JFieldVar field, JDefinedClass clazz, Stri public void propertyField( JFieldVar field, JDefinedClass clazz, String propertyName, JsonNode propertyNode) { if (propertyNode.has(CONST)) { - field.annotate(Pattern.class).param("regexp", propertyNode.get(CONST).asText()); + String callValue = propertyNode.get(CONST).asText(); + field.annotate(Pattern.class).param("regexp", callValue); + field.init(JExpr.lit(callValue)); } } }