return LOGIN_CONFIG_NAMESPACE;
}
public ReferencePatterns getReferences(XmlObject xmlObject, DeploymentContext context, AbstractName parentName, ClassLoader classLoader) throws DeploymentException {
List<GBeanData> uses = new ArrayList<GBeanData>();
GerLoginConfigType loginConfig = (GerLoginConfigType) xmlObject.copy().changeType(GerLoginConfigType.type);
XmlCursor xmlCursor = loginConfig.newCursor();
xmlCursor.push();
try {
//munge xml
if (xmlCursor.toChild(LOGIN_MODULE_QNAME)) {
do {
xmlCursor.removeAttribute(SERVER_SIDE_QNAME);
} while (xmlCursor.toNextSibling(LOGIN_MODULE_QNAME));
}
xmlCursor.pop();
//validate
XmlOptions xmlOptions = new XmlOptions();
xmlOptions.setLoadLineNumbers();
Collection errors = new ArrayList();
xmlOptions.setErrorListener(errors);
if (!loginConfig.validate(xmlOptions)) {
throw new DeploymentException("Invalid login configuration:\n" + errors + "\nDescriptor: " + loginConfig.toString());
}
//find the login modules
Set<String> loginModuleNames = new HashSet<String>();
boolean atStart = true;
while ((atStart && xmlCursor.toFirstChild()) || (!atStart && xmlCursor.toNextSibling())) {