コード例 #1
0
 public ExecuteStepProcessor(IStepRegistry registry, IExecutionOrchestrator executionOrchestrator,
                             ITableFormatter tableFormatter)
 {
     _stepRegistry          = registry;
     _tableFormatter        = tableFormatter;
     _executionOrchestrator = executionOrchestrator;
 }
コード例 #2
0
 public MessageProcessorFactory(IMethodScanner stepScanner, ISandbox sandbox, IAssemblyLoader assemblyLoader, IActivatorWrapper activatorWrapper, ITableFormatter tableFormatter, IReflectionWrapper reflectionWrapper)
 {
     _tableFormatter    = tableFormatter;
     _reflectionWrapper = reflectionWrapper;
     _assemblyLoader    = assemblyLoader;
     _activatorWrapper  = activatorWrapper;
     _stepScanner       = stepScanner;
     _sandbox           = sandbox;
     InitializeProcessors(stepScanner);
 }
コード例 #3
0
ファイル: DataUtil.cs プロジェクト: eatayants/SqlUtils
        internal static int FetchAndDisplayRows(IDataReader reader, SqlConsole.ProcessingOption option, out DataTable table, out object scalar)
        {
            DataTable dataTable = new DataTable();

            for (int i = 0; i < reader.FieldCount; i++)
            {
                dataTable.Columns.Add(reader.GetName(i), reader.GetFieldType(i));
            }
            dataTable.BeginLoadData();
            object[] values = new object[reader.FieldCount];
            while (reader.Read())
            {
                reader.GetValues(values);
                dataTable.LoadDataRow(values, true);
            }
            dataTable.EndLoadData();
            ITableFormatter formatter = TableFormatterBuilder.BuildTableFormatter(dataTable);

            Console.WriteLine(formatter.ReadHeader());
            Console.WriteLine("");
            Console.WriteLine(new string('-', formatter.TotalColumnWidth));
            int    num2 = 0;
            string str  = null;

            while ((str = formatter.ReadNextRow()) != null)
            {
                Console.WriteLine(str);
                Console.WriteLine("");
                num2++;
            }
            scalar = null;
            table  = null;
            if (option == SqlConsole.ProcessingOption.Scalar)
            {
                if ((dataTable.Rows.Count > 0) && (dataTable.Columns.Count > 0))
                {
                    scalar = dataTable.Rows[0][0];
                }
                return(num2);
            }
            if (option == SqlConsole.ProcessingOption.Table)
            {
                table = dataTable;
            }
            return(num2);
        }
コード例 #4
0
        internal void ExecuteDirect(EngineCommandContext ctx)
        {
            IDbConnection connection = ctx.ConnectionManager.BuildMasterConnection(true);
            string        str        = "SELECT owning_principal_name AS [User], instance_pipe_name AS [Pipe], OS_process_id AS [ProcessId], heart_beat AS [Status] FROM sys.dm_os_child_instances";
            IDbCommand    command    = DataUtil.CreateCommand(ctx.ConnectionManager, connection);

            command.CommandText = str;
            connection.Open();
            try
            {
                SqlDataReader dataReader = (SqlDataReader)command.ExecuteReader();
                if (dataReader != null)
                {
                    try
                    {
                        if (dataReader.HasRows)
                        {
                            ITableFormatter formatter = TableFormatterBuilder.BuildTableFormatter(dataReader);
                            Console.WriteLine("");
                            Console.WriteLine(formatter.ReadHeader());
                            Console.WriteLine(new string('-', formatter.TotalColumnWidth));
                            string str2 = null;
                            while ((str2 = formatter.ReadNextRow()) != null)
                            {
                                Console.WriteLine(str2);
                            }
                        }
                        else
                        {
                            Console.WriteLine("No child instance found.");
                        }
                    }
                    finally
                    {
                        dataReader.Close();
                    }
                }
            }
            finally
            {
                connection.Close();
            }
            Console.WriteLine("");
        }
コード例 #5
0
 private static void PrintSizeReport(List <DataUtil.DatabaseFileInfo> databaseFiles, string[] initialSizes, string[] finalSizes)
 {
     if ((((databaseFiles != null) && (initialSizes != null)) && ((finalSizes != null) && (databaseFiles.Count == initialSizes.Length))) && (initialSizes.Length == finalSizes.Length))
     {
         DataTable dataTable = new DataTable();
         dataTable.Columns.Add("File");
         dataTable.Columns.Add("Initial size");
         dataTable.Columns.Add("Final size");
         for (int i = 0; i < databaseFiles.Count; i++)
         {
             string fileName = null;
             try
             {
                 fileName = Path.GetFileName(databaseFiles[i].FilePath);
             }
             catch
             {
             }
             if (string.IsNullOrEmpty(fileName))
             {
                 fileName = databaseFiles[i].Name;
             }
             dataTable.Rows.Add(new object[] { fileName, initialSizes[i], finalSizes[i] });
         }
         ITableFormatter formatter = TableFormatterBuilder.BuildTableFormatter(dataTable);
         Console.WriteLine(formatter.ReadHeader());
         Console.WriteLine("");
         Console.WriteLine(new string('-', formatter.TotalColumnWidth));
         int    num2 = 0;
         string str2 = null;
         while ((str2 = formatter.ReadNextRow()) != null)
         {
             Console.WriteLine(str2);
             Console.WriteLine("");
             num2++;
         }
     }
 }
コード例 #6
0
        public void InitializeExecutionMessageHandlers(IReflectionWrapper reflectionWrapper,
                                                       IAssemblyLoader assemblyLoader, IActivatorWrapper activatorWrapper, ITableFormatter tableFormatter,
                                                       object classInstanceManager)
        {
            var executionOrchestrator = new ExecutionOrchestrator(reflectionWrapper, assemblyLoader, activatorWrapper,
                                                                  classInstanceManager,
                                                                  new HookExecutor(assemblyLoader, reflectionWrapper, classInstanceManager),
                                                                  new StepExecutor(assemblyLoader, reflectionWrapper, classInstanceManager));
            var handlers = new Dictionary <Message.Types.MessageType, IMessageProcessor>
            {
                {
                    Message.Types.MessageType.ExecutionStarting,
                    new ExecutionStartingProcessor(executionOrchestrator, assemblyLoader, reflectionWrapper)
                },
                {
                    Message.Types.MessageType.ExecutionEnding,
                    new ExecutionEndingProcessor(executionOrchestrator, assemblyLoader, reflectionWrapper)
                },
                {
                    Message.Types.MessageType.SpecExecutionStarting,
                    new SpecExecutionStartingProcessor(executionOrchestrator, assemblyLoader, reflectionWrapper)
                },
                {
                    Message.Types.MessageType.SpecExecutionEnding,
                    new SpecExecutionEndingProcessor(executionOrchestrator, assemblyLoader, reflectionWrapper)
                },
                {
                    Message.Types.MessageType.ScenarioExecutionStarting,
                    new ScenarioExecutionStartingProcessor(executionOrchestrator, assemblyLoader, reflectionWrapper)
                },
                {
                    Message.Types.MessageType.ScenarioExecutionEnding,
                    new ScenarioExecutionEndingProcessor(executionOrchestrator, assemblyLoader, reflectionWrapper)
                },
                {
                    Message.Types.MessageType.StepExecutionStarting,
                    new StepExecutionStartingProcessor(executionOrchestrator, assemblyLoader, reflectionWrapper)
                },
                {
                    Message.Types.MessageType.StepExecutionEnding,
                    new StepExecutionEndingProcessor(executionOrchestrator, assemblyLoader, reflectionWrapper)
                },
                {
                    Message.Types.MessageType.ExecuteStep,
                    new ExecuteStepProcessor(_stepRegistry, executionOrchestrator, tableFormatter)
                },
                { Message.Types.MessageType.KillProcessRequest, new KillProcessProcessor() },
                { Message.Types.MessageType.ScenarioDataStoreInit, new ScenarioDataStoreInitProcessor(assemblyLoader) },
                { Message.Types.MessageType.SpecDataStoreInit, new SpecDataStoreInitProcessor(assemblyLoader) },
                { Message.Types.MessageType.SuiteDataStoreInit, new SuiteDataStoreInitProcessor(assemblyLoader) }
            };

            foreach (var handler in handlers)
            {
                _messageProcessorsDictionary.Add(handler.Key, handler.Value);
            }
        }
コード例 #7
0
 public TablePrinter(TextWriter textWriter, ITableFormatter tableFormatter)
 {
     TextWriter      = textWriter;
     _tableFormatter = tableFormatter;
 }
コード例 #8
0
 public ExecuteStepProcessor(IStepRegistry stepRegistry, IMethodExecutor methodExecutor, ITableFormatter tableFormatter)
 {
     _tableFormatter = tableFormatter;
     _stepRegistry   = stepRegistry;
     _methodExecutor = methodExecutor;
 }