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]