protected static void addEcaDefinitions( ResourceHandler handler, Map<String, Map<String, List<EntityEcaRule>>> ecaCache) { Element rootElement = null; try { rootElement = handler.getDocument().getDocumentElement(); } catch (GenericConfigException e) { Debug.logError(e, module); return; } int numDefs = 0; for (Element e : UtilXml.childElementList(rootElement, "eca")) { String entityName = e.getAttribute("entity"); String eventName = e.getAttribute("event"); Map<String, List<EntityEcaRule>> eventMap = ecaCache.get(entityName); List<EntityEcaRule> rules = null; if (eventMap == null) { eventMap = FastMap.newInstance(); rules = FastList.newInstance(); ecaCache.put(entityName, eventMap); eventMap.put(eventName, rules); } else { rules = eventMap.get(eventName); if (rules == null) { rules = FastList.newInstance(); eventMap.put(eventName, rules); } } rules.add(new EntityEcaRule(e)); numDefs++; } try { Debug.logImportant( "Loaded [" + numDefs + "] Entity ECA definitions from " + handler.getFullLocation() + " in loader " + handler.getLoaderName(), module); } catch (GenericConfigException e) { Debug.logError(e, module); return; } }