refactor MVELRuleDefinitionReader to remove duplicate code

pull/144/head
Mahmoud Ben Hassine 7 years ago
parent 45defca853
commit d5385af524

@ -27,7 +27,9 @@ import org.yaml.snakeyaml.Yaml;
import java.io.File;
import java.io.FileNotFoundException;
import java.io.Reader;
import java.io.FileReader;
import java.io.StringReader;
import java.util.List;
import java.util.Map;
@ -37,13 +39,15 @@ class MVELRuleDefinitionReader {
private Yaml yaml = new Yaml();
MVELRuleDefinition read(File descriptor) throws FileNotFoundException {
Object object = yaml.load(new FileReader(descriptor));
Map<String, Object> map = (Map<String, Object>) object;
return createRuleDefinitionFrom(map);
return read(new FileReader(descriptor));
}
MVELRuleDefinition read(String descriptor) {
return read(new StringReader(descriptor));
}
MVELRuleDefinition read(String descriptor) throws NullPointerException {
Object object = yaml.load(descriptor);
private MVELRuleDefinition read(Reader reader) {
Object object = yaml.load(reader);
Map<String, Object> map = (Map<String, Object>) object;
return createRuleDefinitionFrom(map);
}

@ -37,7 +37,7 @@ public class MVELRuleDefinitionReaderTest {
private MVELRuleDefinitionReader ruleDefinitionReader = new MVELRuleDefinitionReader();
@Test
public void testRuleDefinitionReading() throws Exception {
public void testRuleDefinitionReadingFromFile() throws Exception {
// given
File adultRuleDescriptor = new File("src/test/resources/adult-rule.yml");

Loading…
Cancel
Save