/** * Creates a CLI script for adding a Login-Module of the specific Security-Domain * * @param domain Security-Domain containing Login-Module * @param module Login-Module * @return created string containing the CLI script for adding the Login-Module */ private static String createLoginModuleScript( SecurityDomainBean domain, LoginModuleAS7Bean module) { StringBuilder resultScript = new StringBuilder("/subsystem=security/security-domain=" + domain.getSecurityDomainName()); resultScript.append("/authentication=classic:add(login-modules=[{"); if ((module.getLoginModuleCode() != null) && !(module.getLoginModuleCode().isEmpty())) { resultScript.append("\"code\"=>\"").append(module.getLoginModuleCode()).append("\""); } if ((module.getLoginModuleFlag() != null) && !(module.getLoginModuleFlag().isEmpty())) { resultScript.append(", \"flag\"=>\"").append(module.getLoginModuleFlag()).append("\""); } if ((module.getModuleOptions() != null) && !(module.getModuleOptions().isEmpty())) { StringBuilder modulesBuilder = new StringBuilder(); for (ModuleOptionAS7Bean moduleOptionAS7 : module.getModuleOptions()) { modulesBuilder.append(", (\"").append(moduleOptionAS7.getModuleOptionName()).append("\"=>"); modulesBuilder.append("\"").append(moduleOptionAS7.getModuleOptionValue()).append("\")"); } String modules = modulesBuilder.toString().replaceFirst(",", ""); modules = modules.replaceFirst(" ", ""); if (!modules.isEmpty()) { resultScript.append(", \"module-option\"=>[").append(modules).append("]"); } } return resultScript.toString(); }
/** * Creates a CLI script for adding Security-Domain to AS7 * * @param securityDomain object representing migrated security-domain * @return created string containing the CLI script for adding the Security-Domain * @throws CliScriptException if required attributes are missing */ private static String createSecurityDomainScript(SecurityDomainBean securityDomain) throws CliScriptException { String errMsg = " in security-domain must be set."; Utils.throwIfBlank(securityDomain.getSecurityDomainName(), errMsg, "Security name"); CliAddScriptBuilder builder = new CliAddScriptBuilder(); StringBuilder resultScript = new StringBuilder("/subsystem=security/security-domain="); resultScript.append(securityDomain.getSecurityDomainName()).append(":add("); builder.addProperty("cache-type", securityDomain.getCacheType()); resultScript.append(builder.asString()).append(")"); return resultScript.toString(); }