示例#1
0
        public IMessageProcessor GetProcessor(Message.Types.MessageType messageType, bool scan = false)
        {
            if (!scan)
            {
                return(!_messageProcessorsDictionary.ContainsKey(messageType)
                    ? new DefaultProcessor()
                    : _messageProcessorsDictionary[messageType]);
            }
            var activatorWrapper  = new ActivatorWrapper();
            var reflectionWrapper = new ReflectionWrapper();
            var assemblyLoader    = new AssemblyLoader(new AssemblyWrapper(),
                                                       new AssemblyLocater(new DirectoryWrapper(), new FileWrapper()).GetAllAssemblies(),
                                                       reflectionWrapper);

            _stepRegistry = assemblyLoader.GetStepRegistry();
            var tableFormatter       = new TableFormatter(assemblyLoader, activatorWrapper);
            var classInstanceManager = assemblyLoader.GetClassInstanceManager(activatorWrapper);

            InitializeExecutionMessageHandlers(reflectionWrapper, assemblyLoader, activatorWrapper, tableFormatter,
                                               classInstanceManager);

            return(!_messageProcessorsDictionary.ContainsKey(messageType)
                ? new DefaultProcessor()
                : _messageProcessorsDictionary[messageType]);
        }
示例#2
0
 public IMessageProcessor GetProcessor(Message.Types.MessageType messageType)
 {
     return(_messageProcessorsDictionary.ContainsKey(messageType) ? _messageProcessorsDictionary[messageType] : new DefaultProcessor());
 }