Reminder: Create & find trunk-related issues here. Legacy Trac tickets are still available. Problems? Workflow feedback? Need a module project? Open a support ticket.

Logic Module

Implement asOf() operator for LogicCriteria

Details

  • Type: Bug Bug
  • Status: Needs Assessment Needs Assessment
  • Priority: Should Should
  • Resolution: Unresolved
  • Affects Version/s: None
  • Fix Version/s: None
  • Component/s: None
  • Severity:
    3
  • Complexity:
    Undetermined
  • Keywords:
  • Description:
    Hide

    We need an asOf operator that can trigger the creation of a new LogicContext within a new index date. It would take a single date as a parameter. Add to operators, LogicCriteria, and add processing in each DAO.

    When evaluating a rule, one of the first steps before calling the rule's eval() method should be to check the logic criteria for an asOf() method – this will be facilitated by a convenience method like getAsOfDate(). If an asOf() date is set, then a new LogicContext should be constructed from the current LogicContext with the new asOf() date as its index date, and the rule's eval() called with this new context and the logic criteria without the asOf() operation.

    All evals and reads that occur within the new LogicContext will, by default, use that context with its new index date as "today." Once the eval() has completed, subsequent processing will proceed with the original context, effectively "popping the altered index date off the stack."

    Show
    We need an asOf operator that can trigger the creation of a new LogicContext within a new index date. It would take a single date as a parameter. Add to operators, LogicCriteria, and add processing in each DAO. When evaluating a rule, one of the first steps before calling the rule's eval() method should be to check the logic criteria for an asOf() method – this will be facilitated by a convenience method like getAsOfDate(). If an asOf() date is set, then a new LogicContext should be constructed from the current LogicContext with the new asOf() date as its index date, and the rule's eval() called with this new context and the logic criteria without the asOf() operation. All evals and reads that occur within the new LogicContext will, by default, use that context with its new index date as "today." Once the eval() has completed, subsequent processing will proceed with the original context, effectively "popping the altered index date off the stack."

Activity

People

Dates

  • Created:
    2008-07-18 16:38:28 EDT
    Updated:
    2010-07-23 09:23:05 EDT