///////////////////////////////////////////////////////////////////////////////////////// private void WebServicesConfigurationChanged(Conf.Section section) { Logger.Log.Info("WebServicesConfigurationChanged EventHandler invoked"); if (!(section is Conf.WebServicesConfig)) { return; } Conf.WebServicesConfig wsc = (Conf.WebServicesConfig)section; if (web_global != wsc.AllowGlobalAccess) { // Update AllowGlobalAccess configuration: web_global = wsc.AllowGlobalAccess; Logger.Log.Info("WebServicesBackEnd: Global WebServicesAccess {0}", web_global ? "Enabled" : "Disabled"); } if (wsc.PublicFolders.Count == 0) { return; } Logger.Log.Warn("WebServicesBackEnd: Changes in PublicFolders configuration doesn't take effect until Beagle daemon is restarted!"); /* Note: ExternalAccessFilter Matchers can be updated, * but app mapping changes in BeagleXsp Server require it to be restarted ! * * ArrayList newList = new ArrayList(); * foreach (string pf in wsc.PublicFolders) { * if (pf == null || pf == "") * continue; * * newList.Add (new NetBeagleHandler (host, port, this)); * } * * if (usingPublicFoldersDotCfgFile) { * usingPublicFoldersDotCfgFile = false; * log.Warn("NetBeagleQueryable: Duplicate configuration of PublicFolders in '~/.beagle/publicfolders.cfg' and '~/.beagle/config/webservices.xml' !"); * log.Info("NetBeagleQueryable: Remove '~/.beagle/publicfolders.cfg' file. Use 'beagle-config' instead to setup public folders."); * log.Info("NetBeagleQueryable: Replacing PublicFoldersList with new list from \"webservices.xml\" having {0} node(s)", newList.Count); * } * * AccessFilter.ReplaceAccessFilter(newList); */ }
private void NetBeagleConfigurationChanged(Conf.Section section) { Logger.Log.Info("NetBeagleConfigurationChanged EventHandler invoked"); if (!(section is Conf.NetworkingConfig)) { return; } Conf.NetworkingConfig nc = (Conf.NetworkingConfig)section; //if (nc.NetBeagleNodes.Count == 0) // return; ArrayList newList = new ArrayList(); foreach (string nb in nc.NetBeagleNodes) { if (nb == null || nb == "") { continue; } string[] data = nb.Split(':'); if (data.Length < 2) { log.Warn("NetBeagleQueryable: Ignoring improper NetBeagle entry: {0}", nb); continue; } string host = data[0]; string port = data[1]; newList.Add(new NetBeagleHandler(host, port, this)); } lock (this) { NetBeagleList = newList; NetBeagleListActive = (newList.Count == 0) ? false:true; } }