for (File file : dir.listFiles()) {
if (file.isDirectory()) {
add(file);
} else {
if (file.getName().endsWith(".rules")) {
XMLRules rules;
try {
log.info("Parsing file " + file);
FileReader reader = new FileReader(file);
rules = (XMLRules) unmarshaller.unmarshal(reader);
} catch (Exception e) {
log.error("Error parsing file " + file, e);
break;
}
for (XMLRule rule : rules.getXMLRule()) {
if (_xmlRules.containsKey(rule.getName())) {
throw new RuntimeException("A rule with name "
+ rule.getName() + " already exists.");
}
_xmlRules.put(rule.getName(), rule);
log.info("Added rule " + rule.getName());
}
for (XMLFunction script : rules.getXMLFunction()) {
if (_xmlFunctions.containsKey(script.getName())) {
throw new RuntimeException("A script with name "
+ script.getName() + " already exists.");
}
_xmlFunctions.put(script.getName(), script);