ModelNode moduleStack = node.get(Element.LOGIN_MODULE_STACK.getLocalName());
modules = moduleStack.asList();
Iterator<ModelNode> iter = modules.iterator();
ModelNode nameNode = iter.next();
String name = nameNode.get(Attribute.NAME.getLocalName()).asString();
LoginModuleStackHolder holder = new LoginModuleStackHolder(name, null);
holders.put(name, holder);
authenticationInfo.add(holder);
while (iter.hasNext()) {
ModelNode module = iter.next();
String code = module.require(Attribute.CODE.getLocalName()).asString();
LoginModuleControlFlag controlFlag = getControlFlag(module.require(Attribute.FLAG.getLocalName()).asString());
Map<String, Object> options = new HashMap<String, Object>();
if (module.hasDefined(MODULE_OPTIONS)) {
for (Property prop : module.get(MODULE_OPTIONS).asPropertyList()) {
options.put(prop.getName(), prop.getValue().asString());
}
}
AppConfigurationEntry entry = new AppConfigurationEntry(code, controlFlag, options);
holder.addAppConfigurationEntry(entry);
}
ModelNode authModule = node.get(Element.AUTH_MODULE.getLocalName());
String code = authModule.require(Attribute.CODE.getLocalName()).asString();
String loginStackRef = null;
if (authModule.hasDefined(Attribute.LOGIN_MODULE_STACK_REF.getLocalName()))