diff --git a/easy-rules-mvel/src/main/java/org/jeasy/rules/mvel/MVELRuleDefinitionReader.java b/easy-rules-mvel/src/main/java/org/jeasy/rules/mvel/MVELRuleDefinitionReader.java index b942046..4f2544c 100644 --- a/easy-rules-mvel/src/main/java/org/jeasy/rules/mvel/MVELRuleDefinitionReader.java +++ b/easy-rules-mvel/src/main/java/org/jeasy/rules/mvel/MVELRuleDefinitionReader.java @@ -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 map = (Map) 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 map = (Map) object; return createRuleDefinitionFrom(map); } diff --git a/easy-rules-mvel/src/test/java/org/jeasy/rules/mvel/MVELRuleDefinitionReaderTest.java b/easy-rules-mvel/src/test/java/org/jeasy/rules/mvel/MVELRuleDefinitionReaderTest.java index 65ce347..e7b509b 100644 --- a/easy-rules-mvel/src/test/java/org/jeasy/rules/mvel/MVELRuleDefinitionReaderTest.java +++ b/easy-rules-mvel/src/test/java/org/jeasy/rules/mvel/MVELRuleDefinitionReaderTest.java @@ -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");