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

tkobayas 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 8eee2290b2 [incubator-kie-drools-5938] [new-parser] Tests using wrong 
duration a… (#5969)
8eee2290b2 is described below

commit 8eee2290b2b1542fdbbd93b9bc4b30378a5f5f5f
Author: Toshiya Kobayashi <[email protected]>
AuthorDate: Mon May 27 10:29:29 2024 +0900

    [incubator-kie-drools-5938] [new-parser] Tests using wrong duration a… 
(#5969)
    
    * [incubator-kie-drools-5938] [new-parser] Tests using wrong duration 
attribute format
    
    * - Use explicit test value
---
 .../org/drools/drl/parser/antlr4/MiscDRLParserTest.java  | 16 ++++++++++++++++
 .../antlr4/org/drools/drl/parser/antlr4/DRLParser.g4     |  2 +-
 .../org/drools/drl/parser/antlr4/DRLVisitorImpl.java     | 15 ---------------
 3 files changed, 17 insertions(+), 16 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 e81bfb21f0..ab2f707060 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
@@ -5216,4 +5216,20 @@ class MiscDRLParserTest {
         assertThat(accumulateFunction.getFunction()).isEqualTo("average");
         assertThat(accumulateFunction.getParams()).containsExactly("$a + $b");
     }
+
+    @Test
+    void durationChunk() {
+        final String text =
+                "rule R\n" +
+                        "  duration (wrong input) \n" +
+                        "when\n" +
+                        "then\n" +
+                        "end";
+        RuleDescr rule = parseAndGetFirstRuleDescr(text);
+        assertThat(rule.getAttributes()).containsKey("duration");
+        
assertThat(rule.getAttributes().get("duration").getType()).isEqualTo(AttributeDescr.Type.EXPRESSION);
+
+        // At the moment, the parser accepts any input and let the compile 
phase validate it.
+        
assertThat(rule.getAttributes().get("duration").getValue()).isEqualTo("wrong 
input");
+    }
 }
diff --git 
a/drools-drl/drools-drl-parser/src/main/antlr4/org/drools/drl/parser/antlr4/DRLParser.g4
 
b/drools-drl/drools-drl-parser/src/main/antlr4/org/drools/drl/parser/antlr4/DRLParser.g4
index 251f73f250..cf1afb9786 100644
--- 
a/drools-drl/drools-drl-parser/src/main/antlr4/org/drools/drl/parser/antlr4/DRLParser.g4
+++ 
b/drools-drl/drools-drl-parser/src/main/antlr4/org/drools/drl/parser/antlr4/DRLParser.g4
@@ -445,7 +445,7 @@ attribute : name=( 'salience' | 'enabled' ) 
conditionalAttributeValue #expressio
           | name=( 'agenda-group' | 'activation-group' | 'ruleflow-group' | 
'date-effective' | 'date-expires' | 'dialect' ) DRL_STRING_LITERAL 
#stringAttribute
           | name='calendars' DRL_STRING_LITERAL ( COMMA DRL_STRING_LITERAL )* 
#stringListAttribute
           | name='timer' ( DECIMAL_LITERAL | LPAREN chunk RPAREN ) 
#intOrChunkAttribute
-          | name='duration' ( DECIMAL_LITERAL | TIME_INTERVAL | LPAREN 
TIME_INTERVAL RPAREN ) #durationAttribute
+          | name='duration' ( DECIMAL_LITERAL | LPAREN chunk RPAREN ) 
#intOrChunkAttribute
           ;
 
 conditionalAttributeValue : ( LPAREN conditionalExpression RPAREN | 
conditionalExpression ) ;
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 4e6192ecad..39aa5e930e 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
@@ -514,21 +514,6 @@ public class DRLVisitorImpl extends 
DRLParserBaseVisitor<Object> {
         return attributeDescr;
     }
 
-    @Override
-    public AttributeDescr 
visitDurationAttribute(DRLParser.DurationAttributeContext ctx) {
-        AttributeDescr attributeDescr = BaseDescrFactory.builder(new 
AttributeDescr(ctx.name.getText()))
-                .withParserRuleContext(ctx)
-                .build();
-        if (ctx.DECIMAL_LITERAL() != null) {
-            attributeDescr.setValue(ctx.DECIMAL_LITERAL().getText());
-            attributeDescr.setType(AttributeDescr.Type.NUMBER);
-        } else {
-            
attributeDescr.setValue(unescapeJava(safeStripStringDelimiters(ctx.TIME_INTERVAL().getText())));
-            attributeDescr.setType(AttributeDescr.Type.EXPRESSION);
-        }
-        return attributeDescr;
-    }
-
     /**
      * entry point for LHS
      */


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

Reply via email to