[jboss-jira] [JBoss JIRA] (DROOLS-244) Sliding windows working incorrectly
Vytautas Gimbutas (JIRA)
jira-events at lists.jboss.org
Fri Aug 30 09:51:03 EDT 2013
[ https://issues.jboss.org/browse/DROOLS-244?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12800591#comment-12800591 ]
Vytautas Gimbutas commented on DROOLS-244:
------------------------------------------
I think @timestamp attribute isn't working as expected (or i'm misunderstanding the whole concept).
It seems when timestamp attribute is set in the past then it will be in range of any time of window.
> Sliding windows working incorrectly
> -----------------------------------
>
> Key: DROOLS-244
> URL: https://issues.jboss.org/browse/DROOLS-244
> Project: Drools
> Issue Type: Bug
> Security Level: Public(Everyone can see)
> Reporter: Vytautas Gimbutas
> Assignee: Mark Proctor
> Attachments: Event.java, file.drl, Transaction.java, TransactionCompletedEvent.java, TransactionCreatedEvent.java, TransactionEvent.java
>
>
> I'm having an issue with sliding windows. For some reason even though event is in the past it still gets into the window.
> I'm attaching drl file, the event/fact classes.
> I expect it to print 1 0, but instead it prints: 1 1
> The code that reproduces the issue:
> KnowledgeBuilder kbuilder = KnowledgeBuilderFactory.newKnowledgeBuilder();
> kbuilder.add(ResourceFactory.newClassPathResource("file.drl") , ResourceType.DRL);
> if (kbuilder.hasErrors() ) {
> System.out.println( kbuilder.getErrors() );
> }
> KnowledgeBase kbase = KnowledgeBaseFactory.newKnowledgeBase();
> kbase.addKnowledgePackages(kbuilder.getKnowledgePackages());
> StatefulKnowledgeSession ksession = kbase.newStatefulKnowledgeSession();
> Transaction transaction = new Transaction();
> TransactionCompletedEvent event = new TransactionCompletedEvent();
> event.setTransaction(transaction);
> ksession.insert(transaction);
> Date today = new Date();
> Calendar cal = new GregorianCalendar();
> cal.setTime(today);
> cal.add(Calendar.DAY_OF_MONTH, -30);
> event.setCreated(cal.getTime());
> WorkingMemoryEntryPoint wmep = ksession.getWorkingMemoryEntryPoint("TransactionCompletedEventStream");
> wmep.insert(event);
> ksession.fireAllRules();
> TransactionCreatedEvent event2 = new TransactionCreatedEvent();
> event2.setTransaction(transaction);
> ksession.insert(transaction);
> ksession.getWorkingMemoryEntryPoint("TransactionCreatedEventStream").insert(event2);
> ksession.fireAllRules();
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira
More information about the jboss-jira
mailing list