This is an automated email from the ASF dual-hosted git repository.
mariofusco pushed a commit to branch dev-new-parser
in repository https://gitbox.apache.org/repos/asf/incubator-kie-drools.git
The following commit(s) were added to refs/heads/dev-new-parser by this push:
new 14bcf8dca4 Strip double quotes from declared entry-point ID (#5905)
14bcf8dca4 is described below
commit 14bcf8dca434ef249368bf0e1e9f11ea72f19b0f
Author: Jiří Locker <[email protected]>
AuthorDate: Wed May 8 08:46:05 2024 +0200
Strip double quotes from declared entry-point ID (#5905)
---
.../drools/drl/parser/antlr4/MiscDRLParserTest.java | 19 +++++++++++++++----
.../org/drools/drl/parser/antlr4/DRLVisitorImpl.java | 2 +-
2 files changed, 16 insertions(+), 5 deletions(-)
diff --git
a/drools-drl/drools-drl-parser-tests/src/test/java/org/drools/drl/parser/antlr4/MiscDRLParserTest.java
b/drools-drl/drools-drl-parser-tests/src/test/java/org/drools/drl/parser/antlr4/MiscDRLParserTest.java
index 8aa6b0fa86..376af150e5 100644
---
a/drools-drl/drools-drl-parser-tests/src/test/java/org/drools/drl/parser/antlr4/MiscDRLParserTest.java
+++
b/drools-drl/drools-drl-parser-tests/src/test/java/org/drools/drl/parser/antlr4/MiscDRLParserTest.java
@@ -32,6 +32,7 @@ import java.util.List;
import java.util.Map;
import java.util.Optional;
import java.util.regex.Pattern;
+import java.util.stream.Stream;
import org.drools.drl.ast.descr.AccumulateDescr;
import org.drools.drl.ast.descr.AccumulateImportDescr;
@@ -74,6 +75,8 @@ import org.junit.jupiter.api.BeforeEach;
import org.junit.jupiter.api.Disabled;
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;
import org.junit.jupiter.params.provider.ValueSource;
import static org.assertj.core.api.Assertions.assertThat;
@@ -3465,10 +3468,18 @@ class MiscDRLParserTest {
}
- @Test
- public void parse_EntryPointDeclaration() throws Exception {
+ public static Stream<Arguments> entryPointIds() {
+ return Stream.of(
+ Arguments.of("eventStream", "eventStream"),
+ Arguments.of("\"My entry-point 'ID'\"", "My entry-point 'ID'")
+ );
+ }
+
+ @ParameterizedTest
+ @MethodSource("entryPointIds")
+ public void parse_EntryPointDeclaration(String sourceId, String
expectedId) throws Exception {
final String text = "package org.drools\n" +
- "declare entry-point eventStream\n" +
+ "declare entry-point " + sourceId + "\n" +
" @source(\"jndi://queues/events\")\n" +
" @foo( true )\n" +
"end";
@@ -3480,7 +3491,7 @@ class MiscDRLParserTest {
EntryPointDeclarationDescr epd =
pkg.getEntryPointDeclarations().iterator().next();
- assertThat(epd.getEntryPointId()).isEqualTo("eventStream");
+ assertThat(epd.getEntryPointId()).isEqualTo(expectedId);
assertThat(epd.getAnnotations().size()).isEqualTo(2);
assertThat(epd.getAnnotation("source").getValue()).isEqualTo("\"jndi://queues/events\"");
assertThat(epd.getAnnotation("foo").getValue()).isEqualTo("true");
diff --git
a/drools-drl/drools-drl-parser/src/main/java/org/drools/drl/parser/antlr4/DRLVisitorImpl.java
b/drools-drl/drools-drl-parser/src/main/java/org/drools/drl/parser/antlr4/DRLVisitorImpl.java
index 52b93f0af7..1faa36574e 100644
---
a/drools-drl/drools-drl-parser/src/main/java/org/drools/drl/parser/antlr4/DRLVisitorImpl.java
+++
b/drools-drl/drools-drl-parser/src/main/java/org/drools/drl/parser/antlr4/DRLVisitorImpl.java
@@ -292,7 +292,7 @@ public class DRLVisitorImpl extends
DRLParserBaseVisitor<Object> {
EntryPointDeclarationDescr entryPointDeclarationDescr =
BaseDescrFactory.builder(new EntryPointDeclarationDescr())
.withParserRuleContext(ctx)
.build();
- entryPointDeclarationDescr.setEntryPointId(ctx.name.getText());
+
entryPointDeclarationDescr.setEntryPointId(safeStripStringDelimiters(ctx.name.getText()));
ctx.drlAnnotation().stream()
.map(this::visitDrlAnnotation)
.forEach(entryPointDeclarationDescr::addAnnotation);
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]