]
Kris Verlaenen updated DROOLS-5486:
-----------------------------------
Sprint: 2020 Week 28-30 (from Jul 6), 2020 Week 31-33 (from Jul 27) (was: 2020 Week
28-30 (from Jul 6))
CEP doesn't evaluate correctly when a bind variable is used as
the first temporal parameter in executable model
---------------------------------------------------------------------------------------------------------------
Key: DROOLS-5486
URL:
https://issues.redhat.com/browse/DROOLS-5486
Project: Drools
Issue Type: Bug
Components: executable model
Affects Versions: 7.39.0.Final
Reporter: Toshiya Kobayashi
Assignee: Toshiya Kobayashi
Priority: Major
With the below test, standard-drl fires but executable-model doesn't.
{code:java}
@Test
public void testAfterOnLongFields2() throws Exception {
String str =
"import " + StockTick.class.getCanonicalName() +
";\n" +
"declare StockTick @timestamp(timeFieldAsLong) end\n" +
"rule R when\n" +
" $a : StockTick( company == \"DROO\" )\n" +
" $b : StockTick( company == \"ACME\",
$a.timeFieldAsLong after[5,8] timeFieldAsLong )\n" +
"then\n" +
" System.out.println(\"fired\");\n" +
"end\n";
KieSession ksession = getKieSession(getCepKieModuleModel(), str);
SessionPseudoClock clock = ksession.getSessionClock();
ReteDumper.dumpRete(ksession);
ksession.insert( new StockTick( "ACME" ).setTimeField( 0 ) );
ksession.insert( new StockTick( "DROO" ).setTimeField( 6 ) );
assertEquals( 1, ksession.fireAllRules() );
}
{code}