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]

Reply via email to