/** * Migrates a Engine from AS5 to AS7 * * @param engine object representing Engine * @return created virtual-server */ private static VirtualServerBean migrateEngine(EngineBean engine) { VirtualServerBean virtualServer = new VirtualServerBean(); virtualServer.setVirtualServerName(engine.getEngineName()); virtualServer.setEnableWelcomeRoot("true"); virtualServer.setAliasName(engine.getHostNames()); if (engine.getAliases() != null) { virtualServer.getAliasName().addAll(engine.getAliases()); } return virtualServer; }
/** * Creates a CLI script for adding virtual-server to AS7 * * @param virtualServer object representing migrated virtual-server * @return string containing created CLI script * @deprecated Generate this from the ModelNode. */ private static String createVirtualServerScript(VirtualServerBean virtualServer) throws CliScriptException { String errMsg = "in virtual-server (engine in AS5) must be set"; Utils.throwIfBlank(virtualServer.getVirtualServerName(), errMsg, "Server name"); CliAddScriptBuilder builder = new CliAddScriptBuilder(); StringBuilder resultScript = new StringBuilder("/subsystem=web/virtual-server="); resultScript.append(virtualServer.getVirtualServerName()).append(":add("); builder.addProperty("enable-welcome-root", virtualServer.getEnableWelcomeRoot()); builder.addProperty("default-web-module", virtualServer.getDefaultWebModule()); String aliases = ""; if (virtualServer.getAliasName() != null) { StringBuilder aliasBuilder = new StringBuilder(); for (String alias : virtualServer.getAliasName()) { aliasBuilder.append(", \"").append(alias).append("\""); } aliases = aliasBuilder.toString(); aliases = aliases.replaceFirst(", ", ""); if (!aliases.isEmpty()) { aliases = ", alias=[" + aliases + "]"; } } resultScript.append(builder.asString()).append(aliases).append(")"); return resultScript.toString(); }
/** * Creates CliCommandAction for adding a Virtual-Server * * @param server Virtual-Server * @return created CliCommandAction for adding the Virtual-Server * @throws CliScriptException if required attributes for a creation of the CLI command of the * Virtual-Server are missing or are empty (server-name) */ public static CliCommandAction createVirtualServerCliAction(VirtualServerBean server) throws CliScriptException { String errMsg = "in virtual-server (engine in AS5) must be set"; Utils.throwIfBlank(server.getVirtualServerName(), errMsg, "Server name"); ModelNode serverCmd = new ModelNode(); serverCmd.get(ClientConstants.OP).set(ClientConstants.ADD); serverCmd.get(ClientConstants.OP_ADDR).add("subsystem", "web"); serverCmd.get(ClientConstants.OP_ADDR).add("virtual-server", server.getVirtualServerName()); if (server.getAliasName() != null) { ModelNode aliasesNode = new ModelNode(); for (String alias : server.getAliasName()) { ModelNode aliasNode = new ModelNode(); aliasNode.set(alias); aliasesNode.add(aliasNode); } serverCmd.get("alias").set(aliasesNode); } CliApiCommandBuilder builder = new CliApiCommandBuilder(serverCmd); builder.addProperty("enable-welcome-root", server.getEnableWelcomeRoot()); builder.addProperty("default-web-module", server.getDefaultWebModule()); return new CliCommandAction( ServerMigrator.class, createVirtualServerScript(server), builder.getCommand()); }