Closed ujhelyiz closed 11 years ago
For the record: this first attempt deals with the current state of matcher callbacks. An updated version will be available later which uses the callback branch.
@abelhegedus Please review the changes and if you find it ok, I will start trying out the callback branch.
@abelhegedus You will see that I have created an interface for the RuleFactory, but in my opinion it can not be assigned to the RuleEngine itself as it needs the corresponding IncQueryEngine of the Agenda to instantiate rules.
Okay, I think your implementation with the RuleFactory is OK.
Next step, please look at the violations in Sonar and correct them (e.g. using proper loggers):
I also think that the API classes should be put in an .api package.
@abelhegedus Please take a look at the new code and on the TriggeredQueryResultMultiMap class, because there were major modifications in the code of the Rule Engine. Please also check whether the JavaDoc is fine now.
Thanks, the new code looks fine. Some comments:
Please place the TRQM class wherever you want. The afterUpdateCallback was commented out because there is no such method anymore. The Agenda is automatically refreshed by the rules and the agenda has a register method which can send the notifications for the first time to the observer. See the interaction between the Rules and Agenda for an example.
Further considerations: the trigger engine uses the managed engine at the moment. Which means that a wipe or dispose will stop the triggerengine from functioning. Thus, the following should be decided:
Since the constructors of Agenda are protected, we will only need to ensure the proper engine handling in the RuleEngine.
Related:
Meeting log: we should use a managed engine. Further related todos are described in #365.
Some more questions:
As discussed on the meeting, the current state of the trigger engine code will be moved, and other issues will be created for further changes required before making the API public.
Trigger engine needs review. Issues: