Esempio n. 1
0
 private void Application_Startup(object sender, StartupEventArgs e)
 {
     XmlConfigurator.Configure();
     PrintHeader();
     Current.DispatcherUnhandledException += (s, ex) => {
         LOGGER.Error("DispatcherUnhandledException", ex.Exception as Exception);
     };
     if (IsAdministrator())
     {
         if (!InstanceChecker.AlreadyRunning("27ec7e49-6567-4ee2-9ad6-073705189109"))
         {
             // initialization sequence
             Kernel.Get <IEnvironmentManager>();
             Kernel.Get <Splashscreen>().Show();
             Kernel.Get <PluginManager>().Start();
             (Kernel.Get <IProfileManager>() as ProfileManager).Start();
             (Kernel.Get <IWindowManager>() as WindowManager).Start();
         }
         else
         {
             Application.Current.Shutdown();
         }
     }
     else
     {
         MessageBox.Show("Administrator Privileges are required to run DMO AdvancedLauncher. Please run application as Administrator.", "Please run application as Administrator", MessageBoxButton.OK, MessageBoxImage.Warning);
     }
 }
Esempio n. 2
0
        private static void CheckInstance(Instance instance)
        {
            var instanceChecker = new InstanceChecker();
            var instanceStatus  = instanceChecker.Check(instance);

            if (instanceStatus != InstanceChecker.InstanceStatus.Ok)
            {
                throw new Exception($"Incorrect instance: {instanceStatus}");
            }
        }
Esempio n. 3
0
        private static int Run(CmdOptions opts)
        {
            var prescriptionPath = DatasetGeneratorPrescriptionPath(opts);

            if (!File.Exists(prescriptionPath))
            {
                Console.WriteLine($"Dataset generator prescription file {prescriptionPath} does not exist.");
                return(1);
            }

            var prescription = JsonConvert.DeserializeObject <Prescription>(
                File.ReadAllText(prescriptionPath),
                new JsonSerializerSettings()
            {
                DefaultValueHandling = DefaultValueHandling.Populate
            });

            var datasetsPath = Program.DatasetsPath(opts);

            if (!Directory.Exists(datasetsPath))
            {
                Directory.CreateDirectory(datasetsPath);
            }

            var  allDatasetGeneratorTypes = GetDatasetGeneratorTypes();
            Type datasetGeneratorType;

            if (allDatasetGeneratorTypes.TryGetValue(prescription.DatasetGeneratorName, out datasetGeneratorType) == false)
            {
                Console.WriteLine($"Dataset generator {prescription.DatasetGeneratorName} does not exist.");
                return(1);
            }

            var datasetGenerator = (IDatasetGenerator)Activator.CreateInstance(datasetGeneratorType);

            var datasetName = Path.GetFileNameWithoutExtension(opts.PrescriptionFile);
            var datasetPath = Program.DatasetPath(opts, datasetName);

            if (Directory.Exists(datasetPath))
            {
                Directory.Delete(datasetPath, true);
            }

            Directory.CreateDirectory(datasetPath);

            var instanceWriter = new JsonInputWriter();
            var instanceIndex  = 0;

            foreach (var instance in datasetGenerator.GenerateInstances(prescription, prescriptionPath))
            {
                var instanceChecker = new InstanceChecker();
                var instanceStatus  = instanceChecker.Check(instance);
                if (instanceStatus != InstanceChecker.InstanceStatus.Ok)
                {
                    Console.WriteLine($"Instance check: {instanceStatus}");
                    return(1);
                }

                instance.TimeForExtendedInstance = TimeForExtendedInstance(instance);

                instanceWriter.WriteToPath(
                    instance,
                    Path.Combine(datasetPath, $"{instanceIndex}.json"));
                instanceIndex++;
            }

            Console.WriteLine($"Dataset {opts.PrescriptionFile} generated.");

            return(0);
        }