public void WeekDataPoolTester() { BaseAggConfig config = CreateCommonConfig(AggType.Week); config.TimeRange = new AggTimeRange { DataBeginHour = 1, DataEndHour = 2, DateBegin = 1, DateEnd = 1 }; DataPoolFactory.Init(); IDataPool dataPool = DataPoolFactory.GetDataPool(config); Assert.IsNotNull(dataPool); DateTime time = new DateTime(2015, 2, 15); AggRawData data = dataPool.GetAggRawData(time); int count = 0; foreach (var tmp in data.Datas) { count += tmp.Values.Count; } Console.WriteLine(string.Format("共读取{0}条数据", count)); Assert.IsTrue(data.TimeTag == "2015W7"); Assert.IsTrue(data.FactorId == config.FactorId); Assert.IsTrue(data.Datas.Count > 0); //Assert.IsTrue(data.LastAggDatas != null); }
public static IDataPool GetDataPool(BaseAggConfig config) { IDataPool iDataPool = null; if (!dataPoolTypes.ContainsKey(config.Type.ToString())) { return(null); } Type type = dataPoolTypes[config.Type.ToString()]; try { iDataPool = Activator.CreateInstance(type) as IDataPool; if (iDataPool != null) { iDataPool.Config = config; } } catch (Exception e) { Log.ErrorFormat("create aggprocess failed, type:{0},error:{1},stacktrace{2}", config.Type.ToString(), e.Message, e.StackTrace); } return(iDataPool); }
public void MonthDataPoolTester() { BaseAggConfig config = CreateCommonConfig(AggType.Month); config.TimeRange = new AggTimeRange { DataBeginHour = 1, DataEndHour = 3, DateBegin = 1, DateEnd = 1 }; DataPoolFactory.Init(); IDataPool dataPool = DataPoolFactory.GetDataPool(config); Assert.IsNotNull(dataPool); DateTime time = new DateTime(2015, 2, 15); Stopwatch sw = new Stopwatch(); sw.Start(); AggRawData data = dataPool.GetAggRawData(time); sw.Stop(); Console.WriteLine(string.Format("MonthDataPoolTester 耗时:{0}ms", sw.ElapsedMilliseconds)); int count = 0; foreach (var tmp in data.Datas) { count += tmp.Values.Count; } Console.WriteLine(string.Format("共读取{0}条数据", count)); Assert.IsTrue(data.TimeTag == "201502"); Assert.IsTrue(data.FactorId == config.FactorId); Assert.IsTrue(data.Datas.Count > 0); //Assert.IsTrue(data.LastAggDatas != null); }
public CollectionsManager(IDataPool <TData> dataPool, IStateManagementEventsAggregator <TData> eventsAggregator) { DataPool = dataPool; EventsAggregator = eventsAggregator; CollectionsByDescriptor = new ConcurrentDictionary <INonTerminalDescriptor, ICollection <ICollection <TData> > >(); DescriptorByCollection = new ConcurrentDictionary <ICollection <TData>, INonTerminalDescriptor>(); BuilderByCollection = new ConcurrentDictionary <ICollection <TData>, IDataBuilder <TData> >(); EventsAggregator.CompositionChangedEvent += WhenCompositionChanged; }
public DataRepository(IDataRetriever <TData> dataRetriever, IDataPool <TData> dataPool, ICollectionsManager <TData> collectionsManager, IInstancesBuilder <TData> instancesBuilder, IStateManagementEventsAggregator <TData> eventsAggregator) { _semaphore = new DescriptorSemaphore(); DataRetriever = dataRetriever; DataPool = dataPool; CollectionsManager = collectionsManager; InstancesBuilder = instancesBuilder; EventsAggregator = eventsAggregator; EventsAggregator.TerminalDataAvailableEvent += OnTerminalDataAvailableEvent; EventsAggregator.NonTerminalDataAvailableEvent += OnNonTerminalDataAvailableEvent; }
public void CreateDataPoolTester() { BaseAggConfig config = CreateCommonConfig(AggType.Day); config.TimeRange = new AggTimeRange { DataBeginHour = 1, DataEndHour = 2, DateBegin = 0, DateEnd = 0 }; DataPoolFactory.Init(); IDataPool dataPool = DataPoolFactory.GetDataPool(config); Assert.IsNotNull(dataPool); config = CreateCommonConfig(AggType.Week); dataPool = DataPoolFactory.GetDataPool(config); Assert.IsNotNull(dataPool); config = CreateCommonConfig(AggType.Month); dataPool = DataPoolFactory.GetDataPool(config); Assert.IsNotNull(dataPool); }
public AggTask(IDataPool dataPool, IAggProcess aggProcess) { this.dataPool = dataPool; this.process = aggProcess; }
public DataRefresher(IDataRetriever <TData> dataRetriever, IDataPool <TData> dataPool, IStateManagementEventsAggregator <TData> eventsAggregator) { EventsAggregator = eventsAggregator; DataRetriever = dataRetriever; DataPool = dataPool; }