Remove unnecessary method and interface (#111)

* remove unnecessary Comparable interface

* remove sort from Rules API

* fix creating Rules with a Set
pull/112/merge
wg1j 7 years ago committed by Mahmoud Ben Hassine
parent db6438350c
commit a342bc26ad

@ -43,7 +43,7 @@ public class Rules implements Iterable<Rule> {
* @param rules to register
*/
public Rules(Set<Rule> rules) {
this.rules = rules;
this.rules = new TreeSet<>(rules);
}
/**
@ -120,13 +120,6 @@ public class Rules implements Iterable<Rule> {
return rules.iterator();
}
/**
* Sort rules.
*/
public void sort() {
rules = new TreeSet<>(rules);
}
private Rule findRuleByName(String ruleName){
for(Rule rule : rules){
if(rule.getName().equalsIgnoreCase(ruleName))

@ -34,7 +34,7 @@ import org.jeasy.rules.api.Rule;
*
* @author Mahmoud Ben Hassine (mahmoud.benhassine@icloud.com)
*/
public class BasicRule implements Rule, Comparable<Rule> {
public class BasicRule implements Rule {
/**
* Rule name.

@ -102,7 +102,6 @@ public final class DefaultRulesEngine implements RulesEngine {
LOGGER.warning("No rules registered! Nothing to apply");
return;
}
sort(rules);
logEngineParameters();
log(rules);
log(facts);
@ -112,7 +111,6 @@ public final class DefaultRulesEngine implements RulesEngine {
@Override
public Map<Rule, Boolean> check(Rules rules, Facts facts) {
LOGGER.info("Checking rules");
sort(rules);
Map<Rule, Boolean> result = new HashMap<>();
for (Rule rule : rules) {
if (shouldBeEvaluated(rule, facts)) {
@ -122,10 +120,6 @@ public final class DefaultRulesEngine implements RulesEngine {
return result;
}
private void sort(Rules rules) {
rules.sort();
}
private void apply(Rules rules, Facts facts) {
LOGGER.info("Rules evaluation started");
for (Rule rule : rules) {

@ -93,6 +93,19 @@ public class RulesTest {
assertThat(rules).isEmpty();
}
@Test
public void sort() throws Exception {
Rule r1 = new BasicRule("rule", "", 1);
Rule r2 = new BasicRule("rule", "", Integer.MAX_VALUE);
DummyRule r3 = new DummyRule();
rules.register(r3);
rules.register(r1);
rules.register(r2);
assertThat(rules).startsWith(r1).endsWith(r2);
}
@Test(expected = NullPointerException.class)
public void whenRegisterNullRule_thenShouldThrowNullPointerException() throws Exception {
rules.register(null);

Loading…
Cancel
Save