Example #1
0
        internal void AddComponent(ETLCoreComponent component)
        {
#if DEBUG
            component.OnCompleted.Subscribe(c => { Debug.WriteLine($"The Component {c.Item1.Id} in Job:{this.Id} is completed"); });
#endif
            _components.Add(component);
        }
Example #2
0
        public T GetService <T>()
        {
            Contract.Ensures(Contract.Result <T>() != null, $"The service {nameof(T)} has not been registered.Check your configuration");

            Contract.EndContractBlock();
            T service = Provider.GetService <T>();

            if (service.IsTypeof <ETLCoreComponent>())
            {
                ETLCoreComponent cmp = service as ETLCoreComponent;
                if (!_serviceCounter.ContainsKey(typeof(T)))
                {
                    _serviceCounter[typeof(T)] = 1;
                }
                else
                {
                    _serviceCounter[typeof(T)]++;
                }
                var name = Regex.Replace(typeof(T).Name, "`[0-9]*", "");
                cmp.Name = $"{name}-{ _serviceCounter[typeof(T)]}";
            }
            return(service);
        }
Example #3
0
 internal static void RegisterComponentForEvents(this ETLCoreComponent c, IScheduler scheduler)
 {
     c.OnStart.SubscribeOn(scheduler).Subscribe(OnComponentStart);
     c.OnError.SubscribeOn(scheduler).Subscribe(OnError);
     c.OnCompleted.SubscribeOn(scheduler).Subscribe(OnComponentCompleted);
 }
Example #4
0
 private void RegisterComponentForEvents(ETLCoreComponent c)
 {
     c.OnStart.SubscribeOn(scheduler).Subscribe(OnComponentStart);
     c.OnError.SubscribeOn(scheduler).Subscribe(OnError);
     c.OnCompleted.SubscribeOn(scheduler).Subscribe(OnComponentCompleted);
 }