issue #39: add method to get registered listeners

pull/55/head
Mahmoud Ben Hassine 9 years ago
parent 94d5284a47
commit 1400431fc3

@ -24,6 +24,7 @@
package org.easyrules.api;
import java.util.List;
import java.util.Set;
import org.easyrules.core.RulesEngineParameters;
@ -62,6 +63,13 @@ public interface RulesEngine {
*/
Set<Rule> getRules();
/**
* Return the list of registered rule listeners.
*
* @return the list of registered rule listeners
*/
List<RuleListener> getRuleListeners();
/**
* Fire all registered rules.
*/

@ -94,6 +94,11 @@ class DefaultRulesEngine implements RulesEngine {
return rules;
}
@Override
public List<RuleListener> getRuleListeners() {
return ruleListeners;
}
@Override
public void clearRules() {
rules.clear();

@ -4,6 +4,7 @@ import org.easyrules.annotation.Action;
import org.easyrules.annotation.Condition;
import org.easyrules.annotation.Priority;
import org.easyrules.annotation.Rule;
import org.easyrules.api.RuleListener;
import org.easyrules.api.RulesEngine;
import org.junit.After;
import org.junit.Before;
@ -29,6 +30,9 @@ public class DefaultRulesEngineTest {
@Mock
private BasicRule rule, anotherRule;
@Mock
private RuleListener ruleListener;
private AnnotatedRule annotatedRule;
private RulesEngine rulesEngine;
@ -124,6 +128,16 @@ public class DefaultRulesEngineTest {
.containsExactly(rule, anotherRule);
}
@Test
public void testGetRuleListeners() throws Exception {
rulesEngine = aNewRulesEngine()
.withRuleListener(ruleListener)
.build();
assertThat(rulesEngine.getRuleListeners())
.containsExactly(ruleListener);
}
@After
public void clearRules() {
rulesEngine.clearRules();

Loading…
Cancel
Save