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
commit 218b3dd591dfb072aa45607143af1248c1db5bfd Author: Toshiya Kobayashi <[email protected]> AuthorDate: Thu Sep 21 16:12:04 2023 +0900 [DROOLS-7296] Implement from entry-point (#30) --- .../src/main/antlr4/org/drools/parser/DRLLexer.g4 | 1 + .../src/main/antlr4/org/drools/parser/DRLParser.g4 | 2 ++ .../src/main/java/org/drools/parser/DRLVisitorImpl.java | 6 ++++++ .../src/test/java/org/drools/parser/MiscDRLParserTest.java | 2 -- 4 files changed, 9 insertions(+), 2 deletions(-) diff --git a/drools-drl/drools-drl10-parser/src/main/antlr4/org/drools/parser/DRLLexer.g4 b/drools-drl/drools-drl10-parser/src/main/antlr4/org/drools/parser/DRLLexer.g4 index 0eb6d961bc..8264c7b87e 100644 --- a/drools-drl/drools-drl10-parser/src/main/antlr4/org/drools/parser/DRLLexer.g4 +++ b/drools-drl/drools-drl10-parser/src/main/antlr4/org/drools/parser/DRLLexer.g4 @@ -49,6 +49,7 @@ DRL_INIT : 'init'; DRL_ACTION : 'action'; DRL_REVERSE : 'reverse'; DRL_RESULT : 'result'; +DRL_ENTRY_POINT : 'entry-point'; DRL_SALIENCE : 'salience'; DRL_ENABLED : 'enabled'; diff --git a/drools-drl/drools-drl10-parser/src/main/antlr4/org/drools/parser/DRLParser.g4 b/drools-drl/drools-drl10-parser/src/main/antlr4/org/drools/parser/DRLParser.g4 index 1b96c788b3..791ad29258 100644 --- a/drools-drl/drools-drl10-parser/src/main/antlr4/org/drools/parser/DRLParser.g4 +++ b/drools-drl/drools-drl10-parser/src/main/antlr4/org/drools/parser/DRLParser.g4 @@ -265,6 +265,7 @@ mapEntry */ patternSource : fromExpression | fromAccumulate + | fromEntryPoint ; fromExpression : conditionalOrExpression ; @@ -291,6 +292,7 @@ accumulateFunction := label? ID parameters */ accumulateFunction : label? IDENTIFIER LPAREN drlExpression RPAREN; +fromEntryPoint : DRL_ENTRY_POINT stringId ; /* lhsExists := EXISTS diff --git a/drools-drl/drools-drl10-parser/src/main/java/org/drools/parser/DRLVisitorImpl.java b/drools-drl/drools-drl10-parser/src/main/java/org/drools/parser/DRLVisitorImpl.java index e3e5a499df..7f4c0528e6 100644 --- a/drools-drl/drools-drl10-parser/src/main/java/org/drools/parser/DRLVisitorImpl.java +++ b/drools-drl/drools-drl10-parser/src/main/java/org/drools/parser/DRLVisitorImpl.java @@ -14,6 +14,7 @@ import org.drools.drl.ast.descr.AndDescr; import org.drools.drl.ast.descr.AnnotationDescr; import org.drools.drl.ast.descr.AttributeDescr; import org.drools.drl.ast.descr.BaseDescr; +import org.drools.drl.ast.descr.EntryPointDescr; import org.drools.drl.ast.descr.ExistsDescr; import org.drools.drl.ast.descr.ExprConstraintDescr; import org.drools.drl.ast.descr.FromDescr; @@ -296,6 +297,11 @@ public class DRLVisitorImpl extends DRLParserBaseVisitor<Object> { return new AccumulateDescr.AccumulateFunctionCallDescr(function, bind, false, params); } + @Override + public EntryPointDescr visitFromEntryPoint(DRLParser.FromEntryPointContext ctx) { + return new EntryPointDescr(safeStripStringDelimiters(ctx.stringId().getText())); + } + @Override public List<ExprConstraintDescr> visitConstraints(DRLParser.ConstraintsContext ctx) { if (ctx == null) { diff --git a/drools-drl/drools-drl10-parser/src/test/java/org/drools/parser/MiscDRLParserTest.java b/drools-drl/drools-drl10-parser/src/test/java/org/drools/parser/MiscDRLParserTest.java index 96134e5ee2..2bd999face 100644 --- a/drools-drl/drools-drl10-parser/src/test/java/org/drools/parser/MiscDRLParserTest.java +++ b/drools-drl/drools-drl10-parser/src/test/java/org/drools/parser/MiscDRLParserTest.java @@ -2902,7 +2902,6 @@ class MiscDRLParserTest { assertThat(g.getObjectType()).isEqualTo("G"); } - @Disabled("Priority : High | Implement from entry-point") @Test public void parse_EntryPoint() throws Exception { final String text = "rule X when StockTick( symbol==\"ACME\") from entry-point StreamA then end"; @@ -2923,7 +2922,6 @@ class MiscDRLParserTest { assertThat(entry.getEntryId()).isEqualTo("StreamA"); } - @Disabled("Priority : High | Implement from entry-point") @Test public void parse_EntryPoint2() throws Exception { final String text = "rule X when StockTick( symbol==\"ACME\") from entry-point \"StreamA\" then end"; --------------------------------------------------------------------- To unsubscribe, e-mail: [email protected] For additional commands, e-mail: [email protected]
