options.put(SERVERINFO_LM_OPTION, serverInfo);
}
if (!options.containsKey(CLASSLOADER_LM_OPTION)) {
options.put(CLASSLOADER_LM_OPTION, bundle);
}
AppConfigurationEntry entry;
if (loginModule.isWrapPrincipals()) {
Class loginModuleClass = bundle.loadClass(loginModule.getLoginModuleClass());
options.put(WrappingLoginModule.CLASS_OPTION, loginModuleClass);
options.put(WrappingLoginModule.DOMAIN_OPTION, loginModule.getLoginDomainName());
options.put(WrappingLoginModule.REALM_OPTION, realmName);
options.put(ProxyLoginModule.PROPERTY_MODULE, WrappingLoginModule.class.getName());
} else {
options.put(ProxyLoginModule.PROPERTY_MODULE, loginModule.getLoginModuleClass());
}
options.put(ProxyLoginModule.PROPERTY_BUNDLE, Long.toString(bundle.getBundleId()));
entry = new AppConfigurationEntry(ProxyLoginModule.class.getName(), controlFlag.getFlag(), options);
if (loginModule.getLoginDomainName() != null) {
if (domainNames.contains(loginModule.getLoginDomainName())) {
throw new IllegalStateException("Error in realm: one security realm cannot contain multiple login modules for the same login domain");
} else {
domainNames.add(loginModule.getLoginDomainName());