[jboss-jira] [JBoss JIRA] (DROOLS-244) Sliding windows working incorrectly

Vytautas Gimbutas (JIRA) jira-events at lists.jboss.org
Thu Aug 29 11:45:03 EDT 2013


Vytautas Gimbutas created DROOLS-244:
----------------------------------------

             Summary: 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


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