import { BasicModel } from "../../model/BasicModel"; import { INetworkXMLBuilder } from "../../../net/socketserver/parser/INetworkXMLBuilder"; import { NetworkXMLBuilder } from "../../../net/socketserver/parser/NetworkXMLBuilder"; import { NetworkXMLParser } from "../../../net/socketserver/parser/NetworkXMLParser"; import { InstanceVO } from "../../../net/socketserver/parser/vo/InstanceVO"; export class BasicInitServerListCommand extends BasicClientCommand { /** * This command can be executed from BasicCacheBreaker and BasicFrameOne, so we can't * access directly the variable env variable, because it will get a instance from * EnvGlobalsHandler, and BasicCacheBreaker is only initializing BasicEnvironmentGlobals. * * The parameter commandVars have to receive the information isTestOrDevEnvironment from who is calling the command. * @param commandVars */ /*override*/ public /*final*/ execute( commandVars:Object = null ):void { var isTest:boolean = (commandVars.isTest ); var forceToShowTestServers:boolean = (commandVars.forceToShowTestServers ); var networkData:XML = (commandVars.networkData ); var networkBuilder:INetworkXMLBuilder = new NetworkXMLBuilder(); var networkParser:NetworkXMLParser = new NetworkXMLParser( networkBuilder ); // Global network settings BasicModel.networkData.initialize( networkParser.parseNetworkSettings( networkData ) ); //// Live instances var instancesLive:InstanceVO[]; // Parse live instances instancesLive = networkParser.parseServerInstances( networkData[ "instances" ].children() ); // Save live InstanceVOs BasicModel.instanceProxy.addInstances( instancesLive ); // Add "test" and "dev" instances if (isTest || forceToShowTestServers) { ////////////////// // TEST instances ////////////////// var instancesTest:InstanceVO[]; // Parse test instances instancesTest = networkParser.parseServerInstances( networkData[ "test-instances" ].children() ); // Save test instances BasicModel.instanceProxy.addInstances( instancesTest ); ////////////////// // DEV instances ////////////////// this.initAdditionalServer(); } // Validate network settings BasicModel.networkData.validateNetworkConfigurationPlausibility(); BasicModel.instanceProxy.printInstances(); } /** * Override this method and add your dev servers here */ protected initAdditionalServer():void { //overwrite with custom parameters } }