package forms.server { import core.AbstractController; public class ServerController extends AbstractController { private const onlineResourceExpr:RegExp = new RegExp("https?://.*[\?&]"); public function get serverModel() : ServerModel { return _model as ServerModel; } public function checkOnlineResource(value:Object) : String { var emptyCheck:String = emptyStringCheck(value); if(emptyCheck) { return emptyCheck; } var result:Object = onlineResourceExpr.exec(value.toString()); if(!result || result && result.length > 0 && result[0] != result.input) { return resourceManager.getString("server", "Msg_InvalidOnlineResource"); } return null; } public function checkTitle(newTitle:Object) : String { var retval:String = emptyStringCheck(newTitle); if(retval) { return retval; } for each(var server:XML in serverModel.dataSource.servers.source. (@id != serverModel.id && @clientId != serverModel.clientId)) { if(server.Title == newTitle) { setModelMember("title", newTitle, false); return resourceManager.getString('server', 'Msg_TileNotUnique'); } } return null; } public function checkService(value:Object) : String { return inArrayCheck(value, serverModel.validServices); } public function checkVersion(value:Object) : String { return inArrayCheck(value, serverModel.validVersions); } public function checkSecurity(value:Object) : String { return inArrayCheck(value, serverModel.validSecurities); } public function afterServiceChange() : void { if(serverModel.validVersions.indexOf(serverModel.version) == -1) { setModelMember("version", serverModel.defaultVersion); } if(serverModel.validSecurities.indexOf(serverModel.security) == -1) { setModelMember("security", serverModel.defaultSecurity); } } } }