This is an automated email from the ASF dual-hosted git repository.

egonzalez pushed a commit to branch main
in repository 
https://gitbox.apache.org/repos/asf/incubator-kie-kogito-runtimes.git


The following commit(s) were added to refs/heads/main by this push:
     new d4ec659fb7 [kie-issues#2004] Handle scripts with trailing comment line 
in script node (#3990)
d4ec659fb7 is described below

commit d4ec659fb74fa823874b151dababa4bac6e04274
Author: Martin Weiler <[email protected]>
AuthorDate: Tue Jul 22 01:59:13 2025 -0600

    [kie-issues#2004] Handle scripts with trailing comment line in script node 
(#3990)
    
    * [kie-issues#2004] Support scripts ending with a comment line in a script 
node
    
    * Add test
---
 .../process/JavaRuleFlowProcessValidator.java      |  2 +-
 .../process/JavaRuleFlowProcessValidatorTest.java  | 32 ++++++++++++++++++++++
 2 files changed, 33 insertions(+), 1 deletion(-)

diff --git 
a/kogito-codegen-modules/kogito-codegen-processes/src/main/java/org/kie/kogito/codegen/process/JavaRuleFlowProcessValidator.java
 
b/kogito-codegen-modules/kogito-codegen-processes/src/main/java/org/kie/kogito/codegen/process/JavaRuleFlowProcessValidator.java
index c21cbf1349..88798d0d11 100755
--- 
a/kogito-codegen-modules/kogito-codegen-processes/src/main/java/org/kie/kogito/codegen/process/JavaRuleFlowProcessValidator.java
+++ 
b/kogito-codegen-modules/kogito-codegen-processes/src/main/java/org/kie/kogito/codegen/process/JavaRuleFlowProcessValidator.java
@@ -93,7 +93,7 @@ class JavaRuleFlowProcessValidator extends 
RuleFlowProcessValidator {
                 .parse("import 
org.kie.kogito.internal.process.runtime.KogitoProcessContext;\n" +
                         "import org.jbpm.process.instance.impl.Action;\n" +
                         " class Test {\n" +
-                        "    Action action = kcontext -> {" + 
droolsAction.getConsequence() + "};\n" +
+                        "    Action action = kcontext -> {" + 
droolsAction.getConsequence() + "\n};\n" +
                         "}");
         if (parse.isSuccessful()) {
             CompilationUnit unit = parse.getResult().orElseThrow();
diff --git 
a/kogito-codegen-modules/kogito-codegen-processes/src/test/java/org/kie/kogito/codegen/process/JavaRuleFlowProcessValidatorTest.java
 
b/kogito-codegen-modules/kogito-codegen-processes/src/test/java/org/kie/kogito/codegen/process/JavaRuleFlowProcessValidatorTest.java
index d8321fa142..6d2602461a 100644
--- 
a/kogito-codegen-modules/kogito-codegen-processes/src/test/java/org/kie/kogito/codegen/process/JavaRuleFlowProcessValidatorTest.java
+++ 
b/kogito-codegen-modules/kogito-codegen-processes/src/test/java/org/kie/kogito/codegen/process/JavaRuleFlowProcessValidatorTest.java
@@ -27,6 +27,7 @@ import org.jbpm.ruleflow.core.RuleFlowProcess;
 import org.jbpm.ruleflow.core.RuleFlowProcessFactory;
 import org.jbpm.ruleflow.core.WorkflowElementIdentifierFactory;
 import org.junit.jupiter.api.BeforeAll;
+import org.junit.jupiter.api.Test;
 import org.junit.jupiter.params.ParameterizedTest;
 import org.junit.jupiter.params.provider.Arguments;
 import org.junit.jupiter.params.provider.MethodSource;
@@ -34,6 +35,7 @@ import 
org.kie.api.definition.process.WorkflowElementIdentifier;
 import org.kie.kogito.process.validation.ValidationException;
 
 import static org.assertj.core.api.Assertions.assertThatExceptionOfType;
+import static org.assertj.core.api.Assertions.assertThatNoException;
 
 public class JavaRuleFlowProcessValidatorTest {
 
@@ -100,4 +102,34 @@ public class JavaRuleFlowProcessValidatorTest {
                 .isThrownBy(() -> validator.validate(process))
                 .withMessageContaining(message);
     }
+
+    @Test
+    public void testScriptWithTrailingCommentLine() {
+        RuleFlowProcessFactory factory = 
RuleFlowProcessFactory.createProcess("demo.orders");
+        factory
+                .variable("order", new 
ObjectDataType("com.myspace.demo.Order"))
+                .variable("approver", new ObjectDataType("String"))
+                .name("orders")
+                .packageName("com.myspace.demo")
+                .dynamic(false)
+                .version("1.0")
+                .startNode(one)
+                .name("start")
+                .done()
+                .actionNode(two)
+                .name("Dump order 1")
+                .action("java", "System.out.println(\"test\");\n// this is a 
comment")
+                .done()
+                .endNode(three)
+                .name("end")
+                .terminate(false)
+                .done()
+                .connection(one, two)
+                .connection(two, three);
+        RuleFlowProcess process = factory.getProcess();
+        ProcessValidator validator = 
ProcessValidatorRegistry.getInstance().getValidator(process, null);
+        assertThatNoException()
+                .isThrownBy(() -> validator.validate(process));
+    }
+
 }


---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to