private static void RunShell() { MongoFlatMapper.EnableFlatMapping(); ConfigurationServiceClient.AppDomainInitializer( (message, isError, exception) => { if (isError) { Console.Error.WriteLine(message + "\n" + exception); } else { Console.WriteLine(message); } }, "JARVIS_CONFIG_SERVICE", null, new FileInfo("defaultParameters.config"), missingParametersAction: ConfigurationManagerMissingParametersAction.Blank); var commands = new Dictionary <String, Func <Boolean> >(); commands.Add("Check oprhaned blob", () => { CheckOrphanedBlobs.PerformCheck(DateTime.UtcNow); return(false); }); commands.Add("Check tika scheduled job", () => { CheckQueuedTikaScheduledJobs.PerformCheck(); return(false); }); commands.Add("Start sync artifacts job", () => { FullArtifactSyncJob.StartSync(); return(false); }); Menu(commands.Keys.ToList()); CommandLoop(c => { int menuSelection = 0; if (Int32.TryParse(c, out menuSelection)) { var func = commands.ElementAtOrDefault(menuSelection); Console.WriteLine("Selected {0}", func.Key); func.Value(); } else { if (String.Equals(c, "q", StringComparison.InvariantCultureIgnoreCase)) { return(true); } Console.WriteLine("Comando non valido! Premere un tasto per continuare"); Console.ReadKey(); } Menu(commands.Keys.ToList()); return(false); }); }
private static void RunShell() { MongoFlatMapper.EnableFlatMapping(); if (ConsoleHelper.AskYesNoQuestion("Do you want to use Configuration Service? You should say N if doing tasks like migration that does not require configuration service")) { ConfigurationServiceClient.AppDomainInitializer( (message, isError, exception) => { if (isError) { Console.Error.WriteLine(message + "\n" + exception); } else { Console.WriteLine(message); } }, "JARVIS_CONFIG_SERVICE", null, new FileInfo("defaultParameters.config"), missingParametersAction: ConfigurationManagerMissingParametersAction.Blank); } IWindsorContainer _container = new WindsorContainer(); _container.AddFacility <LoggingFacility>(f => f .LogUsing(LoggerImplementation.ExtendedLog4net) .WithConfig("log4net.config")); _loggerFactory = _container.Resolve <ILoggerFactory>(); var commands = new Dictionary <String, Func <Boolean> >(); commands.Add("Check oprhaned blob", () => { CheckOrphanedBlobs.PerformCheck(DateTime.UtcNow); return(false); }); commands.Add("Check tika scheduled job", () => { CheckQueuedTikaScheduledJobs.PerformCheck(); return(false); }); commands.Add("Start sync artifacts job", () => { FullArtifactSyncJob.StartSync(); return(false); }); commands.Add("Copy blob from GridFs to FileSystemFs", () => { var startFromBeginning = ConsoleHelper.AskYesNoQuestion("Do you want to start from the beginning of the stream?"); BlobStoreSync command = new BlobStoreSync(_loggerFactory.Create(typeof(BlobStoreSync))); command.SyncAllTenants(BlobStoreType.GridFs, BlobStoreType.FileSystem, startFromBeginning); return(false); }); commands.Add("Copy blob from FileSystemFs to GridFs", () => { var startFromBeginning = ConsoleHelper.AskYesNoQuestion("Do you want to start from the beginning of the stream?"); BlobStoreSync command = new BlobStoreSync(_loggerFactory.Create(typeof(BlobStoreSync))); command.SyncAllTenants(BlobStoreType.FileSystem, BlobStoreType.GridFs, startFromBeginning); return(false); }); Menu(commands.Keys.ToList()); CommandLoop(c => { int menuSelection = 0; if (Int32.TryParse(c, out menuSelection)) { var func = commands.ElementAtOrDefault(menuSelection); Console.WriteLine("Selected {0}", func.Key); func.Value(); } else { if (String.Equals(c, "q", StringComparison.InvariantCultureIgnoreCase)) { return(true); } Console.WriteLine("Comando non valido! Premere un tasto per continuare"); Console.ReadKey(); } Menu(commands.Keys.ToList()); return(false); }); }