protected void loadConfig(Element rootElem) {
for (Element element : rootElem.elements("include")) {
String fileName = element.attributeValue("file");
if (!StringUtils.isBlank(fileName)) {
String incXml = resources.getResourceAsString(fileName);
if (incXml == null) {
log.warn("File {} not found, ignore it", fileName);
continue;
}
loadConfig(Dom4j.readDocument(incXml).getRootElement());
}
}
for (Element element : rootElem.elements("screen")) {
String id = element.attributeValue("id");
if (StringUtils.isBlank(id)) {
log.warn("Invalid window config: 'id' attribute not defined");
continue;
}
RouteDefinition routeDef = loadRouteDefinition(element);
WindowInfo windowInfo = new WindowInfo(id, windowAttributesProvider, element, routeDef);
registerScreen(id, windowInfo);
}
}