This is an automated email from the ASF dual-hosted git repository.
josedee pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/incubator-kie.git
The following commit(s) were added to refs/heads/main by this push:
new ea3d9408c81 [incubator-kie-issues-2370] Duplicate Process Variable
available in swagger page if variable starts with Capital Letter (#6845)
ea3d9408c81 is described below
commit ea3d9408c81b3575db043475c1db3cebc7d761e8
Author: abhijithumbe <[email protected]>
AuthorDate: Fri Sep 4 07:59:59 2026 +0530
[incubator-kie-issues-2370] Duplicate Process Variable available in swagger
page if variable starts with Capital Letter (#6845)
Co-authored-by: abhijithumbe <[email protected]>
---
.../org/jbpm/compiler/canonical/ModelMetaData.java | 4 +-
.../canonical/ProcessToExecModelGeneratorTest.java | 51 ++++++++++++++++++++++
2 files changed, 54 insertions(+), 1 deletion(-)
diff --git
a/kogito-jbpm/jbpm-flow-builder/src/main/java/org/jbpm/compiler/canonical/ModelMetaData.java
b/kogito-jbpm/jbpm-flow-builder/src/main/java/org/jbpm/compiler/canonical/ModelMetaData.java
index bd3d64d21af..cdfad7af803 100644
---
a/kogito-jbpm/jbpm-flow-builder/src/main/java/org/jbpm/compiler/canonical/ModelMetaData.java
+++
b/kogito-jbpm/jbpm-flow-builder/src/main/java/org/jbpm/compiler/canonical/ModelMetaData.java
@@ -236,7 +236,9 @@ public class ModelMetaData {
applyValidation(fd, tags);
applyOpenApiSchemaAnnotation(fd);
- fd.createGetter();
+ MethodDeclaration getter = fd.createGetter();
+ getter.addAnnotation(new NormalAnnotationExpr(new
Name(JsonProperty.class.getCanonicalName()),
+ NodeList.nodeList(new MemberValuePair("value", new
StringLiteralExpr(varName)))));
MethodDeclaration setter = fd.createSetter();
if (isInputModel()) {
// Only Input setters run from request deserialization -
Model/Output setters
diff --git
a/kogito-jbpm/jbpm-flow-builder/src/test/java/org/jbpm/compiler/canonical/ProcessToExecModelGeneratorTest.java
b/kogito-jbpm/jbpm-flow-builder/src/test/java/org/jbpm/compiler/canonical/ProcessToExecModelGeneratorTest.java
index b4643e801cf..dab02975850 100644
---
a/kogito-jbpm/jbpm-flow-builder/src/test/java/org/jbpm/compiler/canonical/ProcessToExecModelGeneratorTest.java
+++
b/kogito-jbpm/jbpm-flow-builder/src/test/java/org/jbpm/compiler/canonical/ProcessToExecModelGeneratorTest.java
@@ -32,6 +32,11 @@ import org.kie.api.definition.process.WorkflowProcess;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
+import com.fasterxml.jackson.annotation.JsonProperty;
+import com.github.javaparser.ast.CompilationUnit;
+import com.github.javaparser.ast.body.MethodDeclaration;
+import com.github.javaparser.ast.expr.NormalAnnotationExpr;
+
import static org.assertj.core.api.Assertions.assertThat;
public class ProcessToExecModelGeneratorTest {
@@ -199,4 +204,50 @@ public class ProcessToExecModelGeneratorTest {
ProcessMetaData processMetadata =
ProcessToExecModelGenerator.INSTANCE.generate(process);
assertThat(processMetadata).as("Dumper should return non null class
for process").isNotNull();
}
+
+ @Test
+ public void testUppercaseVariableGetterHasJsonProperty() {
+ RuleFlowProcessFactory factory =
RuleFlowProcessFactory.createProcess("demo.uppercase");
+
+ factory
+ .variable("FirstName", new StringDataType())
+ .name("uppercase")
+ .packageName("com.myspace.demo")
+ .dynamic(false)
+ .version("1.0")
+ .startNode(one)
+ .name("start")
+ .done()
+ .endNode(two)
+ .name("end")
+ .terminate(false)
+ .done()
+ .connection(one, two);
+
+ WorkflowProcess process = factory.validate().getProcess();
+
+ ModelMetaData modelMetadata =
ProcessToExecModelGenerator.INSTANCE.generateModel(process);
+
+ CompilationUnit generatedModel = modelMetadata.generateUnit();
+
+ MethodDeclaration getter = generatedModel
+ .findFirst(MethodDeclaration.class,
+ method ->
method.getNameAsString().equals("getFirstName"))
+ .orElseThrow(() -> new AssertionError("Generated getter
getFirstName() was not found"));
+
+ NormalAnnotationExpr jsonProperty = getter
+ .getAnnotationByName(JsonProperty.class.getCanonicalName())
+ .orElseThrow(() -> new AssertionError(
+ "Generated getter getFirstName() does not have
@JsonProperty"))
+ .asNormalAnnotationExpr();
+
+ assertThat(jsonProperty.getPairs()).hasSize(1);
+ assertThat(jsonProperty.getPairs().get(0).getNameAsString())
+ .isEqualTo("value");
+ assertThat(jsonProperty.getPairs().get(0)
+ .getValue()
+ .asStringLiteralExpr()
+ .asString())
+ .isEqualTo("FirstName");
+ }
}
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]