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

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

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

Loading…
Cancel
Save