protected virtual ZetboxConfig ReadConfig(List <string> extraArguments) { string configFilePath = null; if (extraArguments == null || extraArguments.Count == 0) { configFilePath = String.Empty; } else if (extraArguments.Count == 1) { configFilePath = extraArguments[0]; } else { Logging.MailNotification.FatalFormat("Unerkannte Argumente: [{0}]", String.Join("], [", extraArguments.ToArray())); PrintHelpAndExit(); } try { return(ZetboxConfig.FromFile(configFilePath, "")); } catch (Exception ex) { Logging.MailNotification.Fatal(String.Format("Fehler beim Lesen der Config von [{0}]", configFilePath), ex); PrintHelpAndExit(); } // never reached return(null); }
public void LoadFile() { var config = ZetboxConfig.FromFile("TestConfig.xml", "DoesNotExist.xml"); Assert.That(config, Is.Not.Null, "Configuration"); Assert.That(config.ConfigFilePath, Is.EqualTo("TestConfig.xml"), "ConfigFilePath"); Assert.That(config.ConfigName, Is.Not.Empty, "ConfigName"); }
public void DefaultLoading() { var config = ZetboxConfig.FromFile(String.Empty, "DefaultConfig.xml"); Assert.That(config, Is.Not.Null, "Configuration"); Assert.That(config.ConfigFilePath, Is.Not.Empty, "ConfigFilePath"); Assert.That(config.ConfigName, Is.Not.Empty, "ConfigName"); }
public void ToFile() { string filename = @"testconfig_to_see_if_saving_works.xml"; if (File.Exists(filename)) { File.Delete(filename); } var config = ZetboxConfig.FromFile(String.Empty, "DefaultConfig.xml"); config.ToFile(filename); Assert.That(File.Exists(filename), Is.True); Assert.That(new FileInfo(filename).Length, Is.GreaterThan(0)); File.Delete(filename); }
private static ZetboxConfig ExtractConfig(ref string[] args) { string configFilePath; if (args.Length > 0 && File.Exists(args[0])) { configFilePath = args[0]; // remove consumed config file argument args = args.Skip(1).ToArray(); } else { configFilePath = String.Empty; } return(ZetboxConfig.FromFile(configFilePath, "Zetbox.Server.Service.xml")); }
protected override void OnStartup(StartupEventArgs e) { base.OnStartup(e); try { if (System.Configuration.ConfigurationManager.AppSettings["ShowDebugConsole"] == "true") { DebugConsole.Show(); } Logging.Configure(); using (Logging.Log.InfoTraceMethodCall("Starting Client")) { string configFilePath; var args = HandleCommandline(e.Args, out configFilePath); var config = ZetboxConfig.FromFile(configFilePath, "Zetbox.WPF.xml"); AssemblyLoader.Bootstrap(AppDomain.CurrentDomain, config); InitCulture(config); InitializeClient(args, config); } } catch (Exception ex) { ShowExceptionReporter(ex); // unable to start, exit System.Environment.Exit(1); } // The WPFToolkit library is not translated and does not support changeing the DateTimePickerTextbox.Watermark. // Therefore, we have to replace the underlying ResourceManager. try { var srType = typeof(Microsoft.Windows.Controls.DatePicker).Assembly.GetTypes().Single(t => t.Name == "SR"); var resourceManagerField = srType.GetField("_resourceManager", BindingFlags.Static | BindingFlags.NonPublic); resourceManagerField.SetValue(null, WpfToolkitResources.ResourceManager); } catch (Exception /* ex */) { // ignore this //ShowExceptionReporter(ex); } }
void context_BeginRequest(object sender, EventArgs e) { if (container == null) { Logging.Configure(); var config = ZetboxConfig.FromFile(HttpContext.Current.Server.MapPath(ConfigurationManager.AppSettings["configFile"]), "AspNet.xml"); AssemblyLoader.Bootstrap(AppDomain.CurrentDomain, config); var builder = Zetbox.API.Utils.AutoFacBuilder.CreateContainerBuilder(config, config.Client.Modules); container = builder.Build(); ViewModelFactory = container.Resolve <IViewModelFactory>(); IftFactory = container.Resolve <InterfaceType.Factory>(); } ZetboxContext = container.Resolve <IZetboxContext>(); }
public void SetUpTestFixture() { using (Log.InfoTraceMethodCall("EarlySetup")) { EarlySetup(); } using (Log.InfoTraceMethodCall("Starting up")) { var config = ZetboxConfig.FromFile(null, GetConfigFile()); AssemblyLoader.Bootstrap(AppDomain.CurrentDomain, config); ContainerBuilder builder; switch (GetHostType()) { case HostType.Server: Log.Info("Adding Server Modules"); builder = Zetbox.API.Utils.AutoFacBuilder.CreateContainerBuilder(config, config.Server.Modules); break; case HostType.Client: Log.Info("Adding Client Modules"); builder = Zetbox.API.Utils.AutoFacBuilder.CreateContainerBuilder(config, config.Client.Modules); break; case HostType.None: Log.Info("Adding no Modules"); builder = Zetbox.API.Utils.AutoFacBuilder.CreateContainerBuilder(config); break; default: throw new InvalidOperationException("GetHostType() returned an unknown type"); } // TODO: totally replace this with test mocks? Log.Info("Adding Interface Module"); builder.RegisterModule <Zetbox.Objects.InterfaceModule>(); builder.RegisterInstance <TypeMapAssembly>(new TypeMapAssembly(this.GetType().Assembly)); SetupBuilder(builder); container = builder.Build(); SetUp(container); } }
static void Main() { var config = ZetboxConfig.FromFile(null, "DefaultFormsConfig.xml"); AssemblyLoader.Bootstrap(AppDomain.CurrentDomain, config); var builder = Zetbox.API.Utils.AutoFacBuilder.CreateContainerBuilder(config, config.Client.Modules); container = builder.Build(); Application.EnableVisualStyles(); Application.SetCompatibleTextRenderingDefault(false); var mdlFactory = container.Resolve <IViewModelFactory>(); var initialWorkspace = mdlFactory.CreateViewModel <WorkspaceViewModel.Factory>().Invoke(container.Resolve <IZetboxContext>(), null); mdlFactory.ShowModel(initialWorkspace, true); Application.Run(); }
protected void Application_Start(object sender, EventArgs e) { Logging.Configure(); Log.Info("Starting HttpService Application"); var cfgFile = System.Configuration.ConfigurationManager.AppSettings["ConfigFile"]; var appBasePath = Server.MapPath("~/"); var zbBasePath = Path.Combine(appBasePath, ".."); var configsPath = Path.Combine(zbBasePath, "Configs"); var config = ZetboxConfig.FromFile( string.IsNullOrEmpty(cfgFile) ? string.Empty : Server.MapPath(cfgFile), ZetboxConfig.GetDefaultConfigName("Zetbox.Server.HttpService.xml", configsPath)); // Make DocumentStore relative to HttpService config.Server.DocumentStore = Path.Combine(appBasePath, config.Server.DocumentStore); AssemblyLoader.Bootstrap(AppDomain.CurrentDomain, config); CreateMasterContainer(config); }